@snagsolutions/sdk 0.1.0-alpha.16 → 0.1.0-alpha.160
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 +1328 -0
- package/README.md +13 -23
- package/core.d.ts +19 -5
- package/core.d.ts.map +1 -1
- package/core.js +24 -17
- package/core.js.map +1 -1
- package/core.mjs +24 -17
- package/core.mjs.map +1 -1
- package/index.d.mts +9 -6
- package/index.d.ts +9 -6
- package/index.d.ts.map +1 -1
- package/index.js +8 -4
- package/index.js.map +1 -1
- package/index.mjs +9 -5
- 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 +285 -0
- package/resources/auctions/auctions.d.ts.map +1 -0
- package/resources/auctions/auctions.js +76 -0
- package/resources/auctions/auctions.js.map +1 -0
- package/resources/auctions/auctions.mjs +49 -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 +76 -0
- package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/values.js +35 -0
- package/resources/auctions/website-user-attributes/values.js.map +1 -0
- package/resources/auctions/website-user-attributes/values.mjs +31 -0
- package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +92 -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 +69 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs +42 -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 +11 -3
- package/resources/auth.d.ts.map +1 -1
- package/resources/auth.js.map +1 -1
- package/resources/auth.mjs.map +1 -1
- package/resources/index.d.ts +3 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +2 -2
- package/resources/index.mjs.map +1 -1
- package/resources/loyalty/account-streaks.d.ts +81 -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 +58 -16
- package/resources/loyalty/accounts.d.ts.map +1 -1
- package/resources/loyalty/accounts.js +13 -0
- package/resources/loyalty/accounts.js.map +1 -1
- package/resources/loyalty/accounts.mjs +13 -0
- package/resources/loyalty/accounts.mjs.map +1 -1
- package/resources/loyalty/badges.d.ts +472 -22
- 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 +4 -3
- package/resources/loyalty/index.d.ts.map +1 -1
- package/resources/loyalty/index.js +5 -3
- package/resources/loyalty/index.js.map +1 -1
- package/resources/loyalty/index.mjs +2 -1
- package/resources/loyalty/index.mjs.map +1 -1
- package/resources/loyalty/loyalty.d.ts +10 -6
- package/resources/loyalty/loyalty.d.ts.map +1 -1
- package/resources/loyalty/loyalty.js +6 -2
- package/resources/loyalty/loyalty.js.map +1 -1
- package/resources/loyalty/loyalty.mjs +7 -3
- 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 +39 -0
- 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 +37 -2
- package/resources/loyalty/questions.d.ts.map +1 -1
- package/resources/loyalty/questions.js +31 -0
- package/resources/loyalty/questions.js.map +1 -1
- package/resources/loyalty/questions.mjs +31 -0
- package/resources/loyalty/questions.mjs.map +1 -1
- package/resources/loyalty/rule-edits.d.ts +2610 -4
- 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 +269 -58
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.js +36 -0
- package/resources/loyalty/rule-groups.js.map +1 -1
- package/resources/loyalty/rule-groups.mjs +36 -0
- package/resources/loyalty/rule-groups.mjs.map +1 -1
- package/resources/loyalty/rules.d.ts +1848 -265
- 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 +3 -0
- package/resources/loyalty/transactions/index.d.ts.map +1 -0
- package/resources/loyalty/transactions/index.js +9 -0
- package/resources/loyalty/transactions/index.js.map +1 -0
- package/resources/loyalty/transactions/index.mjs +4 -0
- package/resources/loyalty/transactions/index.mjs.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts +61 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.js +23 -0
- package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.mjs +19 -0
- package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
- package/resources/loyalty/transactions/transactions.d.ts +292 -0
- package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
- package/resources/loyalty/transactions/transactions.js +61 -0
- package/resources/loyalty/transactions/transactions.js.map +1 -0
- package/resources/loyalty/transactions/transactions.mjs +34 -0
- package/resources/loyalty/transactions/transactions.mjs.map +1 -0
- package/resources/loyalty/transactions.d.ts +1 -247
- 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.d.ts +5 -5
- package/resources/minting.d.ts.map +1 -1
- package/resources/referral/referral.d.ts +11 -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 +28 -1
- package/resources/referral/users.d.ts.map +1 -1
- package/resources/referral/users.js +14 -0
- package/resources/referral/users.js.map +1 -1
- package/resources/referral/users.mjs +14 -0
- package/resources/referral/users.mjs.map +1 -1
- 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 +27 -0
- 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 +144 -6
- package/resources/users/users.d.ts.map +1 -1
- package/resources/users/users.js +53 -1
- package/resources/users/users.js.map +1 -1
- package/resources/users/users.mjs +53 -1
- package/resources/users/users.mjs.map +1 -1
- package/resources/websites/index.d.ts +2 -2
- package/resources/websites/index.d.ts.map +1 -1
- package/resources/websites/index.js.map +1 -1
- package/resources/websites/index.mjs +2 -2
- package/resources/websites/index.mjs.map +1 -1
- package/resources/websites/website-collections.d.ts +0 -69
- package/resources/websites/website-collections.d.ts.map +1 -1
- package/resources/websites/website-collections.js +0 -16
- package/resources/websites/website-collections.js.map +1 -1
- package/resources/websites/website-collections.mjs +0 -16
- package/resources/websites/website-collections.mjs.map +1 -1
- package/resources/websites/website-user-roles.d.ts +23 -0
- 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 +8 -98
- package/resources/websites/websites.d.ts.map +1 -1
- package/resources/websites/websites.js +0 -6
- package/resources/websites/websites.js.map +1 -1
- package/resources/websites/websites.mjs +1 -7
- package/resources/websites/websites.mjs.map +1 -1
- package/src/core.ts +39 -16
- package/src/index.ts +30 -11
- package/src/resource.ts +1 -1
- package/src/resources/assets.ts +18 -2
- package/src/resources/auctions/auctions.ts +432 -0
- package/src/resources/auctions/index.ts +16 -0
- package/src/resources/auctions/website-user-attributes/index.ts +10 -0
- package/src/resources/auctions/website-user-attributes/values.ts +97 -0
- package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +137 -0
- package/src/resources/auctions/website-user-attributes.ts +3 -0
- package/src/resources/auctions.ts +1 -207
- package/src/resources/auth.ts +14 -4
- package/src/resources/index.ts +12 -8
- package/src/resources/loyalty/account-streaks.ts +110 -0
- package/src/resources/loyalty/accounts.ts +63 -18
- package/src/resources/loyalty/badges.ts +567 -24
- package/src/resources/loyalty/currencies.ts +19 -0
- package/src/resources/loyalty/index.ts +12 -1
- package/src/resources/loyalty/loyalty.ts +33 -3
- package/src/resources/loyalty/multipliers.ts +43 -4
- package/src/resources/loyalty/questions-responses.ts +45 -0
- package/src/resources/loyalty/questions.ts +38 -2
- package/src/resources/loyalty/rule-edits.ts +3669 -51
- package/src/resources/loyalty/rule-groups.ts +444 -65
- package/src/resources/loyalty/rules.ts +2769 -326
- package/src/resources/loyalty/transactions/index.ts +10 -0
- package/src/resources/loyalty/transactions/rule-statuses.ts +87 -0
- package/src/resources/loyalty/transactions/transactions.ts +520 -0
- package/src/resources/loyalty/transactions.ts +1 -330
- package/src/resources/minting.ts +19 -5
- package/src/resources/referral/referral.ts +13 -11
- package/src/resources/referral/users.ts +33 -2
- package/src/resources/users/index.ts +4 -0
- package/src/resources/users/metadatas.ts +52 -0
- package/src/resources/users/users.ts +192 -5
- package/src/resources/websites/index.ts +2 -13
- package/src/resources/websites/website-collections.ts +1 -145
- package/src/resources/websites/website-user-roles.ts +23 -0
- package/src/resources/websites/websites.ts +8 -134
- 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
|
@@ -7,6 +7,24 @@ import * as Core from '../../core';
|
|
|
7
7
|
export class Rules extends APIResource {
|
|
8
8
|
/**
|
|
9
9
|
* Create a new Loyalty Rule
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const rule = await client.loyalty.rules.create({
|
|
14
|
+
* amount: '10.5',
|
|
15
|
+
* effectiveEndTime: '2024-12-31T23:59:00Z',
|
|
16
|
+
* effectiveStartTime: '2024-01-01T00:00:00Z',
|
|
17
|
+
* endTime: '2024-12-31T23:59:00Z',
|
|
18
|
+
* frequency: 'daily',
|
|
19
|
+
* loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
|
|
20
|
+
* metadata: {},
|
|
21
|
+
* name: 'Referral Bonus Rule',
|
|
22
|
+
* organizationId: '123e4567-e89b-12d3-a456-426614174001',
|
|
23
|
+
* startTime: '2024-01-01T00:00:00Z',
|
|
24
|
+
* type: 'Bonus',
|
|
25
|
+
* websiteId: '123e4567-e89b-12d3-a456-426614174002',
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
10
28
|
*/
|
|
11
29
|
create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse> {
|
|
12
30
|
return this._client.post('/api/loyalty/rules', { body, ...options });
|
|
@@ -14,6 +32,18 @@ export class Rules extends APIResource {
|
|
|
14
32
|
|
|
15
33
|
/**
|
|
16
34
|
* Update an existing Loyalty Rule
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const rule = await client.loyalty.rules.update(
|
|
39
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
40
|
+
* {
|
|
41
|
+
* amount: '10.5',
|
|
42
|
+
* endTime: '2024-12-31T23:59:00Z',
|
|
43
|
+
* name: 'Daily Rewards Program',
|
|
44
|
+
* },
|
|
45
|
+
* );
|
|
46
|
+
* ```
|
|
17
47
|
*/
|
|
18
48
|
update(
|
|
19
49
|
id: string,
|
|
@@ -25,6 +55,11 @@ export class Rules extends APIResource {
|
|
|
25
55
|
|
|
26
56
|
/**
|
|
27
57
|
* Retrieve configured loyalty rules with optional pagination and filters
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* const rules = await client.loyalty.rules.list();
|
|
62
|
+
* ```
|
|
28
63
|
*/
|
|
29
64
|
list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
30
65
|
list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
@@ -40,9 +75,30 @@ export class Rules extends APIResource {
|
|
|
40
75
|
|
|
41
76
|
/**
|
|
42
77
|
* Delete an existing Loyalty Rule
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts
|
|
81
|
+
* const rule = await client.loyalty.rules.delete(
|
|
82
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
83
|
+
* );
|
|
84
|
+
* ```
|
|
43
85
|
*/
|
|
44
|
-
delete(
|
|
45
|
-
|
|
86
|
+
delete(
|
|
87
|
+
id: string,
|
|
88
|
+
params?: RuleDeleteParams,
|
|
89
|
+
options?: Core.RequestOptions,
|
|
90
|
+
): Core.APIPromise<RuleDeleteResponse>;
|
|
91
|
+
delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
|
|
92
|
+
delete(
|
|
93
|
+
id: string,
|
|
94
|
+
params: RuleDeleteParams | Core.RequestOptions = {},
|
|
95
|
+
options?: Core.RequestOptions,
|
|
96
|
+
): Core.APIPromise<RuleDeleteResponse> {
|
|
97
|
+
if (isRequestOptions(params)) {
|
|
98
|
+
return this.delete(id, {}, params);
|
|
99
|
+
}
|
|
100
|
+
const { debitLoyaltyPoints } = params;
|
|
101
|
+
return this._client.delete(`/api/loyalty/rules/${id}`, { query: { debitLoyaltyPoints }, ...options });
|
|
46
102
|
}
|
|
47
103
|
|
|
48
104
|
/**
|
|
@@ -50,7 +106,15 @@ export class Rules extends APIResource {
|
|
|
50
106
|
* endpoint currently only supports following rule types code_entry, text_input,
|
|
51
107
|
* link_click, discord_member, connect_wallet, check_in, external_rule,
|
|
52
108
|
* drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
|
|
53
|
-
* drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
|
|
109
|
+
* drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
|
|
110
|
+
* youtube_subscribers, youtube_comment, steam_wishlist
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* const response = await client.loyalty.rules.complete(
|
|
115
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
116
|
+
* );
|
|
117
|
+
* ```
|
|
54
118
|
*/
|
|
55
119
|
complete(
|
|
56
120
|
id: string,
|
|
@@ -71,11 +135,24 @@ export class Rules extends APIResource {
|
|
|
71
135
|
|
|
72
136
|
/**
|
|
73
137
|
* This will return the processing status of quests for a specific user
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const response = await client.loyalty.rules.getStatus();
|
|
142
|
+
* ```
|
|
74
143
|
*/
|
|
75
144
|
getStatus(
|
|
76
|
-
query
|
|
145
|
+
query?: RuleGetStatusParams,
|
|
146
|
+
options?: Core.RequestOptions,
|
|
147
|
+
): Core.APIPromise<RuleGetStatusResponse>;
|
|
148
|
+
getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
|
|
149
|
+
getStatus(
|
|
150
|
+
query: RuleGetStatusParams | Core.RequestOptions = {},
|
|
77
151
|
options?: Core.RequestOptions,
|
|
78
152
|
): Core.APIPromise<RuleGetStatusResponse> {
|
|
153
|
+
if (isRequestOptions(query)) {
|
|
154
|
+
return this.getStatus({}, query);
|
|
155
|
+
}
|
|
79
156
|
return this._client.get('/api/loyalty/rules/status', { query, ...options });
|
|
80
157
|
}
|
|
81
158
|
}
|
|
@@ -189,7 +266,20 @@ export interface RuleCreateResponse {
|
|
|
189
266
|
| 'twitter_like'
|
|
190
267
|
| 'twitter_post_hashtag'
|
|
191
268
|
| 'quiz'
|
|
192
|
-
| 'poll'
|
|
269
|
+
| 'poll'
|
|
270
|
+
| 'steam_wishlist'
|
|
271
|
+
| 'liquidity_uniswap_v2'
|
|
272
|
+
| 'liquidity_uniswap_v3'
|
|
273
|
+
| 'points_airdrop'
|
|
274
|
+
| 'youtube_subscribers'
|
|
275
|
+
| 'youtube_comment'
|
|
276
|
+
| 'shopify_spend'
|
|
277
|
+
| 'swap'
|
|
278
|
+
| 'tiktok_post'
|
|
279
|
+
| 'post_impressions'
|
|
280
|
+
| 'discord_join'
|
|
281
|
+
| 'connected_youtube'
|
|
282
|
+
| 'connected_tiktok';
|
|
193
283
|
|
|
194
284
|
/**
|
|
195
285
|
* Unique identifier for the associated website
|
|
@@ -201,6 +291,11 @@ export interface RuleCreateResponse {
|
|
|
201
291
|
*/
|
|
202
292
|
backgroundAssetUrl?: string;
|
|
203
293
|
|
|
294
|
+
/**
|
|
295
|
+
* The type of claim for the reward
|
|
296
|
+
*/
|
|
297
|
+
claimType?: 'manual' | 'auto' | null;
|
|
298
|
+
|
|
204
299
|
/**
|
|
205
300
|
* Blockchain address of the associated collection
|
|
206
301
|
*/
|
|
@@ -226,6 +321,13 @@ export interface RuleCreateResponse {
|
|
|
226
321
|
*/
|
|
227
322
|
description?: string;
|
|
228
323
|
|
|
324
|
+
duplicatedFromId?: string | null;
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* ID of the external integration
|
|
328
|
+
*/
|
|
329
|
+
externalIntegrationId?: string | null;
|
|
330
|
+
|
|
229
331
|
/**
|
|
230
332
|
* Whether to hide this rule in the user interface
|
|
231
333
|
*/
|
|
@@ -234,18 +336,40 @@ export interface RuleCreateResponse {
|
|
|
234
336
|
/**
|
|
235
337
|
* Interval between rule executions
|
|
236
338
|
*/
|
|
237
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
339
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
238
340
|
|
|
239
341
|
/**
|
|
240
342
|
* Whether this rule is mandatory
|
|
241
343
|
*/
|
|
242
344
|
isRequired?: boolean;
|
|
243
345
|
|
|
346
|
+
/**
|
|
347
|
+
* Unique identifier for the loyalty badge
|
|
348
|
+
*/
|
|
349
|
+
loyaltyBadgeId?: string | null;
|
|
350
|
+
|
|
244
351
|
/**
|
|
245
352
|
* Unique identifier for the loyalty rule group
|
|
246
353
|
*/
|
|
247
354
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
248
355
|
|
|
356
|
+
/**
|
|
357
|
+
* URL for uploading loyalty user allotment via CSV
|
|
358
|
+
*/
|
|
359
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
363
|
+
* rules.
|
|
364
|
+
*/
|
|
365
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
369
|
+
* smart contract and external rules.
|
|
370
|
+
*/
|
|
371
|
+
maxAmountPerInterval?: number | null;
|
|
372
|
+
|
|
249
373
|
/**
|
|
250
374
|
* URL of the media to be displayed
|
|
251
375
|
*/
|
|
@@ -255,13 +379,17 @@ export interface RuleCreateResponse {
|
|
|
255
379
|
* Blockchain network where the rule will apply
|
|
256
380
|
*/
|
|
257
381
|
network?:
|
|
382
|
+
| 'abstract'
|
|
383
|
+
| 'abstractTestnet'
|
|
258
384
|
| 'apechain'
|
|
259
385
|
| 'arbitrum'
|
|
260
386
|
| 'avalanche'
|
|
261
387
|
| 'avalancheFuji'
|
|
262
388
|
| 'base'
|
|
263
389
|
| 'baseSepolia'
|
|
390
|
+
| 'berachain'
|
|
264
391
|
| 'berachainArtio'
|
|
392
|
+
| 'berachainBepolia'
|
|
265
393
|
| 'binance'
|
|
266
394
|
| 'bscTestnet'
|
|
267
395
|
| 'campTestnet'
|
|
@@ -269,18 +397,28 @@ export interface RuleCreateResponse {
|
|
|
269
397
|
| 'fantomTestnet'
|
|
270
398
|
| 'flowMainnet'
|
|
271
399
|
| 'mainnet'
|
|
400
|
+
| 'nexusTestnet'
|
|
272
401
|
| 'optimism'
|
|
273
402
|
| 'polygon'
|
|
274
403
|
| 'polygon_mumbai'
|
|
275
404
|
| 'skaleNebula'
|
|
276
405
|
| 'solana'
|
|
277
406
|
| 'sophon'
|
|
407
|
+
| 'sophonTestnet'
|
|
278
408
|
| 'sui'
|
|
279
409
|
| 'superseed'
|
|
280
410
|
| 'superseedSepolia'
|
|
281
411
|
| 'vanar'
|
|
282
412
|
| 'xai'
|
|
283
413
|
| 'zksync'
|
|
414
|
+
| 'coti'
|
|
415
|
+
| 'cotiTestnet'
|
|
416
|
+
| 'morph'
|
|
417
|
+
| 'morphTestnet'
|
|
418
|
+
| 'morphHolesky'
|
|
419
|
+
| 'ultra'
|
|
420
|
+
| 'ultraTestnet'
|
|
421
|
+
| 'nitrograph'
|
|
284
422
|
| 'sepolia'
|
|
285
423
|
| 'optimism_sepolia'
|
|
286
424
|
| 'arbitrumSepolia'
|
|
@@ -288,22 +426,37 @@ export interface RuleCreateResponse {
|
|
|
288
426
|
| 'optimism_goerli'
|
|
289
427
|
| 'arbitrumGoerli'
|
|
290
428
|
| 'basecamp'
|
|
291
|
-
| '
|
|
429
|
+
| 'somnia';
|
|
292
430
|
|
|
293
431
|
/**
|
|
294
432
|
* OAuth credentials associated with the rule
|
|
295
433
|
*/
|
|
296
434
|
oauthCredentialsId?: string | null;
|
|
297
435
|
|
|
436
|
+
/**
|
|
437
|
+
* The lifetime of the reward
|
|
438
|
+
*/
|
|
439
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
440
|
+
|
|
298
441
|
/**
|
|
299
442
|
* Type of reward issued by the rule
|
|
300
443
|
*/
|
|
301
|
-
rewardType?: 'points' | 'multiplier';
|
|
444
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* URL of the Shopify store
|
|
448
|
+
*/
|
|
449
|
+
shopifyStoreUrl?: string | null;
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Whether to show this rule before the start time
|
|
453
|
+
*/
|
|
454
|
+
showBeforeStart?: boolean;
|
|
302
455
|
|
|
303
456
|
/**
|
|
304
|
-
*
|
|
457
|
+
* Optional subscription id for the rule
|
|
305
458
|
*/
|
|
306
|
-
|
|
459
|
+
subscriptionId?: string | null;
|
|
307
460
|
}
|
|
308
461
|
|
|
309
462
|
export namespace RuleCreateResponse {
|
|
@@ -311,6 +464,11 @@ export namespace RuleCreateResponse {
|
|
|
311
464
|
* Additional metadata for the loyalty rule
|
|
312
465
|
*/
|
|
313
466
|
export interface Metadata {
|
|
467
|
+
/**
|
|
468
|
+
* Number of tokens per batch.
|
|
469
|
+
*/
|
|
470
|
+
batchSize?: number | null;
|
|
471
|
+
|
|
314
472
|
/**
|
|
315
473
|
* Text displayed on the action button.
|
|
316
474
|
*/
|
|
@@ -334,7 +492,7 @@ export namespace RuleCreateResponse {
|
|
|
334
492
|
/**
|
|
335
493
|
* Text to check in the Twitter post, username, or bio.
|
|
336
494
|
*/
|
|
337
|
-
checkText?: string | null;
|
|
495
|
+
checkText?: string | Array<string> | null;
|
|
338
496
|
|
|
339
497
|
/**
|
|
340
498
|
* Array of collections associated with the rule.
|
|
@@ -344,7 +502,12 @@ export namespace RuleCreateResponse {
|
|
|
344
502
|
/**
|
|
345
503
|
* Conditions for completing the profile.
|
|
346
504
|
*/
|
|
347
|
-
completeProfileConditions?:
|
|
505
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* Description of the external rule condition (only for external rules)
|
|
509
|
+
*/
|
|
510
|
+
conditionDescription?: string;
|
|
348
511
|
|
|
349
512
|
/**
|
|
350
513
|
* Object containing details for the call-to-action.
|
|
@@ -356,6 +519,11 @@ export namespace RuleCreateResponse {
|
|
|
356
519
|
*/
|
|
357
520
|
customRewardsApiKey?: string;
|
|
358
521
|
|
|
522
|
+
/**
|
|
523
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
524
|
+
*/
|
|
525
|
+
directRpc?: boolean;
|
|
526
|
+
|
|
359
527
|
/**
|
|
360
528
|
* Array of Discord servers, channels, and roles to join.
|
|
361
529
|
*/
|
|
@@ -401,11 +569,6 @@ export namespace RuleCreateResponse {
|
|
|
401
569
|
*/
|
|
402
570
|
hasNeverSold?: boolean;
|
|
403
571
|
|
|
404
|
-
/**
|
|
405
|
-
* Flag indicating whether the order source is included.
|
|
406
|
-
*/
|
|
407
|
-
hasOrderSource?: boolean;
|
|
408
|
-
|
|
409
572
|
/**
|
|
410
573
|
* Indicates if the full royalty has been paid for items.
|
|
411
574
|
*/
|
|
@@ -426,11 +589,21 @@ export namespace RuleCreateResponse {
|
|
|
426
589
|
*/
|
|
427
590
|
imageUrl?: string | null;
|
|
428
591
|
|
|
592
|
+
/**
|
|
593
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
594
|
+
*/
|
|
595
|
+
isCheckInOnEveryTxn?: boolean;
|
|
596
|
+
|
|
429
597
|
/**
|
|
430
598
|
* Indicates if the multiplier has been applied to rewards.
|
|
431
599
|
*/
|
|
432
600
|
isMultiplierApplied?: boolean;
|
|
433
601
|
|
|
602
|
+
/**
|
|
603
|
+
* Flag indicating if the rule is restricted to new users.
|
|
604
|
+
*/
|
|
605
|
+
isRestrictedToNewUsers?: boolean;
|
|
606
|
+
|
|
434
607
|
/**
|
|
435
608
|
* Flag indicating if rewards are applied retroactively.
|
|
436
609
|
*/
|
|
@@ -446,6 +619,11 @@ export namespace RuleCreateResponse {
|
|
|
446
619
|
*/
|
|
447
620
|
link?: string | null;
|
|
448
621
|
|
|
622
|
+
/**
|
|
623
|
+
* Liquidity pool details.
|
|
624
|
+
*/
|
|
625
|
+
liquidity?: Metadata.Liquidity;
|
|
626
|
+
|
|
449
627
|
/**
|
|
450
628
|
* Maximum quantity constraint for token holding.
|
|
451
629
|
*/
|
|
@@ -487,14 +665,24 @@ export namespace RuleCreateResponse {
|
|
|
487
665
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
488
666
|
|
|
489
667
|
/**
|
|
490
|
-
*
|
|
668
|
+
* Promotional code associated with the rule.
|
|
491
669
|
*/
|
|
492
|
-
|
|
670
|
+
promoCode?: string;
|
|
493
671
|
|
|
494
672
|
/**
|
|
495
|
-
*
|
|
673
|
+
* URL of the CSV file containing promo codes.
|
|
496
674
|
*/
|
|
497
|
-
|
|
675
|
+
promoCodeCsvUrl?: string;
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* Numbers of the promotional code to be generated.
|
|
679
|
+
*/
|
|
680
|
+
promoCodeLength?: number | null;
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* Type of the promotional code.
|
|
684
|
+
*/
|
|
685
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
498
686
|
|
|
499
687
|
/**
|
|
500
688
|
* Array defining ranges and corresponding rewards.
|
|
@@ -511,11 +699,62 @@ export namespace RuleCreateResponse {
|
|
|
511
699
|
*/
|
|
512
700
|
referrerReward?: number | null;
|
|
513
701
|
|
|
702
|
+
/**
|
|
703
|
+
* Loyalty currency ID of the referrer reward.
|
|
704
|
+
*/
|
|
705
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* Flag indicating if the post link is required.
|
|
709
|
+
*/
|
|
710
|
+
requirePostLink?: boolean | null;
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* Flag indicating if media metadata is required.
|
|
714
|
+
*/
|
|
715
|
+
requirePostMediaLink?: boolean | null;
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
719
|
+
*/
|
|
720
|
+
rewardBadgePerRange?: boolean;
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
724
|
+
*/
|
|
725
|
+
rewardByBatch?: boolean | null;
|
|
726
|
+
|
|
727
|
+
/**
|
|
728
|
+
* Criteria to evaluate the reward.
|
|
729
|
+
*/
|
|
730
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* Flag indicating if the reward is rewarded per action.
|
|
734
|
+
*/
|
|
735
|
+
rewardPerAction?: boolean | null;
|
|
736
|
+
|
|
514
737
|
/**
|
|
515
738
|
* Flag indicating if rewards are given per impression.
|
|
516
739
|
*/
|
|
517
740
|
rewardPerImpression?: boolean | null;
|
|
518
741
|
|
|
742
|
+
/**
|
|
743
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
744
|
+
* instead of count.
|
|
745
|
+
*/
|
|
746
|
+
rewardPerValue?: boolean;
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
750
|
+
*/
|
|
751
|
+
royaltyAddress?: string;
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* Royalty percentage of the item.
|
|
755
|
+
*/
|
|
756
|
+
royaltyPercentage?: number;
|
|
757
|
+
|
|
519
758
|
/**
|
|
520
759
|
* Currency associated with sales.
|
|
521
760
|
*/
|
|
@@ -555,6 +794,7 @@ export namespace RuleCreateResponse {
|
|
|
555
794
|
| 'Twitch'
|
|
556
795
|
| 'X(Twitter)'
|
|
557
796
|
| 'YouTube'
|
|
797
|
+
| 'Google'
|
|
558
798
|
| null;
|
|
559
799
|
|
|
560
800
|
/**
|
|
@@ -567,11 +807,21 @@ export namespace RuleCreateResponse {
|
|
|
567
807
|
*/
|
|
568
808
|
socialPlatformName?: string | null;
|
|
569
809
|
|
|
810
|
+
/**
|
|
811
|
+
* ID of the Steam app.
|
|
812
|
+
*/
|
|
813
|
+
steamAppId?: string | null;
|
|
814
|
+
|
|
570
815
|
/**
|
|
571
816
|
* Array of streak milestones and corresponding rewards.
|
|
572
817
|
*/
|
|
573
818
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
574
819
|
|
|
820
|
+
/**
|
|
821
|
+
* Metadata for swap loyalty rules
|
|
822
|
+
*/
|
|
823
|
+
swap?: Metadata.Swap;
|
|
824
|
+
|
|
575
825
|
/**
|
|
576
826
|
* ID of the Telegram channel.
|
|
577
827
|
*/
|
|
@@ -587,6 +837,12 @@ export namespace RuleCreateResponse {
|
|
|
587
837
|
*/
|
|
588
838
|
trackAllContracts?: boolean | null;
|
|
589
839
|
|
|
840
|
+
/**
|
|
841
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
842
|
+
* completed once the progress is 100%.
|
|
843
|
+
*/
|
|
844
|
+
trackProgress?: boolean | null;
|
|
845
|
+
|
|
590
846
|
/**
|
|
591
847
|
* URL of the associated Twitter account.
|
|
592
848
|
*/
|
|
@@ -630,7 +886,17 @@ export namespace RuleCreateResponse {
|
|
|
630
886
|
/**
|
|
631
887
|
* Type of wallet associated with the rule.
|
|
632
888
|
*/
|
|
633
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
889
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* ID of the Youtube channel.
|
|
893
|
+
*/
|
|
894
|
+
youtubeChannelId?: string | null;
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
* ID of the Youtube video.
|
|
898
|
+
*/
|
|
899
|
+
youtubeVideoId?: string | null;
|
|
634
900
|
}
|
|
635
901
|
|
|
636
902
|
export namespace Metadata {
|
|
@@ -649,13 +915,17 @@ export namespace RuleCreateResponse {
|
|
|
649
915
|
* Blockchain network of the collection.
|
|
650
916
|
*/
|
|
651
917
|
network?:
|
|
918
|
+
| 'abstract'
|
|
919
|
+
| 'abstractTestnet'
|
|
652
920
|
| 'apechain'
|
|
653
921
|
| 'arbitrum'
|
|
654
922
|
| 'avalanche'
|
|
655
923
|
| 'avalancheFuji'
|
|
656
924
|
| 'base'
|
|
657
925
|
| 'baseSepolia'
|
|
926
|
+
| 'berachain'
|
|
658
927
|
| 'berachainArtio'
|
|
928
|
+
| 'berachainBepolia'
|
|
659
929
|
| 'binance'
|
|
660
930
|
| 'bscTestnet'
|
|
661
931
|
| 'campTestnet'
|
|
@@ -663,18 +933,28 @@ export namespace RuleCreateResponse {
|
|
|
663
933
|
| 'fantomTestnet'
|
|
664
934
|
| 'flowMainnet'
|
|
665
935
|
| 'mainnet'
|
|
936
|
+
| 'nexusTestnet'
|
|
666
937
|
| 'optimism'
|
|
667
938
|
| 'polygon'
|
|
668
939
|
| 'polygon_mumbai'
|
|
669
940
|
| 'skaleNebula'
|
|
670
941
|
| 'solana'
|
|
671
942
|
| 'sophon'
|
|
943
|
+
| 'sophonTestnet'
|
|
672
944
|
| 'sui'
|
|
673
945
|
| 'superseed'
|
|
674
946
|
| 'superseedSepolia'
|
|
675
947
|
| 'vanar'
|
|
676
948
|
| 'xai'
|
|
677
949
|
| 'zksync'
|
|
950
|
+
| 'coti'
|
|
951
|
+
| 'cotiTestnet'
|
|
952
|
+
| 'morph'
|
|
953
|
+
| 'morphTestnet'
|
|
954
|
+
| 'morphHolesky'
|
|
955
|
+
| 'ultra'
|
|
956
|
+
| 'ultraTestnet'
|
|
957
|
+
| 'nitrograph'
|
|
678
958
|
| 'sepolia'
|
|
679
959
|
| 'optimism_sepolia'
|
|
680
960
|
| 'arbitrumSepolia'
|
|
@@ -682,7 +962,7 @@ export namespace RuleCreateResponse {
|
|
|
682
962
|
| 'optimism_goerli'
|
|
683
963
|
| 'arbitrumGoerli'
|
|
684
964
|
| 'basecamp'
|
|
685
|
-
| '
|
|
965
|
+
| 'somnia';
|
|
686
966
|
}
|
|
687
967
|
|
|
688
968
|
/**
|
|
@@ -759,6 +1039,105 @@ export namespace RuleCreateResponse {
|
|
|
759
1039
|
id: string;
|
|
760
1040
|
}
|
|
761
1041
|
|
|
1042
|
+
/**
|
|
1043
|
+
* Liquidity pool details.
|
|
1044
|
+
*/
|
|
1045
|
+
export interface Liquidity {
|
|
1046
|
+
/**
|
|
1047
|
+
* Calculation type of the liquidity pool.
|
|
1048
|
+
*/
|
|
1049
|
+
calculationType?: 'fixed' | 'custom';
|
|
1050
|
+
|
|
1051
|
+
/**
|
|
1052
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
1053
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
1054
|
+
* USD.
|
|
1055
|
+
*/
|
|
1056
|
+
customFunction?: string;
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* Liquidity provided per day in USD
|
|
1060
|
+
*/
|
|
1061
|
+
liquidityPerDay?: number;
|
|
1062
|
+
|
|
1063
|
+
/**
|
|
1064
|
+
* Blockchain network of the liquidity pool.
|
|
1065
|
+
*/
|
|
1066
|
+
network?:
|
|
1067
|
+
| 'abstract'
|
|
1068
|
+
| 'abstractTestnet'
|
|
1069
|
+
| 'apechain'
|
|
1070
|
+
| 'arbitrum'
|
|
1071
|
+
| 'avalanche'
|
|
1072
|
+
| 'avalancheFuji'
|
|
1073
|
+
| 'base'
|
|
1074
|
+
| 'baseSepolia'
|
|
1075
|
+
| 'berachain'
|
|
1076
|
+
| 'berachainArtio'
|
|
1077
|
+
| 'berachainBepolia'
|
|
1078
|
+
| 'binance'
|
|
1079
|
+
| 'bscTestnet'
|
|
1080
|
+
| 'campTestnet'
|
|
1081
|
+
| 'fantom'
|
|
1082
|
+
| 'fantomTestnet'
|
|
1083
|
+
| 'flowMainnet'
|
|
1084
|
+
| 'mainnet'
|
|
1085
|
+
| 'nexusTestnet'
|
|
1086
|
+
| 'optimism'
|
|
1087
|
+
| 'polygon'
|
|
1088
|
+
| 'polygon_mumbai'
|
|
1089
|
+
| 'skaleNebula'
|
|
1090
|
+
| 'solana'
|
|
1091
|
+
| 'sophon'
|
|
1092
|
+
| 'sophonTestnet'
|
|
1093
|
+
| 'sui'
|
|
1094
|
+
| 'superseed'
|
|
1095
|
+
| 'superseedSepolia'
|
|
1096
|
+
| 'vanar'
|
|
1097
|
+
| 'xai'
|
|
1098
|
+
| 'zksync'
|
|
1099
|
+
| 'coti'
|
|
1100
|
+
| 'cotiTestnet'
|
|
1101
|
+
| 'morph'
|
|
1102
|
+
| 'morphTestnet'
|
|
1103
|
+
| 'morphHolesky'
|
|
1104
|
+
| 'ultra'
|
|
1105
|
+
| 'ultraTestnet'
|
|
1106
|
+
| 'nitrograph'
|
|
1107
|
+
| 'sepolia'
|
|
1108
|
+
| 'optimism_sepolia'
|
|
1109
|
+
| 'arbitrumSepolia'
|
|
1110
|
+
| 'goerli'
|
|
1111
|
+
| 'optimism_goerli'
|
|
1112
|
+
| 'arbitrumGoerli'
|
|
1113
|
+
| 'basecamp'
|
|
1114
|
+
| 'somnia';
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
1118
|
+
*/
|
|
1119
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
1120
|
+
|
|
1121
|
+
/**
|
|
1122
|
+
* Array of liquidity pools associated with the rule.
|
|
1123
|
+
*/
|
|
1124
|
+
pools?: Array<Liquidity.Pool>;
|
|
1125
|
+
|
|
1126
|
+
/**
|
|
1127
|
+
* Protocol of the liquidity pool.
|
|
1128
|
+
*/
|
|
1129
|
+
protocol?: string;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
export namespace Liquidity {
|
|
1133
|
+
export interface Pool {
|
|
1134
|
+
/**
|
|
1135
|
+
* Unique identifier of the liquidity pool.
|
|
1136
|
+
*/
|
|
1137
|
+
id: string;
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
|
|
762
1141
|
export interface Range {
|
|
763
1142
|
/**
|
|
764
1143
|
* Reward amount for this range.
|
|
@@ -774,6 +1153,16 @@ export namespace RuleCreateResponse {
|
|
|
774
1153
|
* Start value of the range.
|
|
775
1154
|
*/
|
|
776
1155
|
startRange: number;
|
|
1156
|
+
|
|
1157
|
+
/**
|
|
1158
|
+
* ID of the loyalty badge for this range.
|
|
1159
|
+
*/
|
|
1160
|
+
loyaltyBadgeId?: string;
|
|
1161
|
+
|
|
1162
|
+
/**
|
|
1163
|
+
* Amount of the loyalty multiplier for this range.
|
|
1164
|
+
*/
|
|
1165
|
+
loyaltyMultiplierAmount?: number;
|
|
777
1166
|
}
|
|
778
1167
|
|
|
779
1168
|
/**
|
|
@@ -826,20 +1215,15 @@ export namespace RuleCreateResponse {
|
|
|
826
1215
|
* Object containing details of the associated smart contract.
|
|
827
1216
|
*/
|
|
828
1217
|
export interface SmartContract {
|
|
829
|
-
/**
|
|
830
|
-
* ABI of the smart contract.
|
|
831
|
-
*/
|
|
832
|
-
abi?: string | null;
|
|
833
|
-
|
|
834
1218
|
/**
|
|
835
1219
|
* Mapping of addresses for the smart contract.
|
|
836
1220
|
*/
|
|
837
1221
|
addressMapping?: string | null;
|
|
838
1222
|
|
|
839
1223
|
/**
|
|
840
|
-
*
|
|
1224
|
+
* Object containing details of the amount multiplier from the event.
|
|
841
1225
|
*/
|
|
842
|
-
|
|
1226
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
843
1227
|
|
|
844
1228
|
/**
|
|
845
1229
|
* ID of the smart contract.
|
|
@@ -851,68 +1235,31 @@ export namespace RuleCreateResponse {
|
|
|
851
1235
|
*/
|
|
852
1236
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
853
1237
|
|
|
854
|
-
/**
|
|
855
|
-
* Time range applied to the rule.
|
|
856
|
-
*/
|
|
857
|
-
customRange?: SmartContract.CustomRange | null;
|
|
858
|
-
|
|
859
1238
|
/**
|
|
860
1239
|
* Event emitted by the smart contract.
|
|
861
1240
|
*/
|
|
862
1241
|
event?: string | null;
|
|
863
1242
|
|
|
864
|
-
/**
|
|
865
|
-
* Maximum value allowed for the parameter.
|
|
866
|
-
*/
|
|
867
|
-
max?: number | null;
|
|
868
|
-
|
|
869
1243
|
/**
|
|
870
1244
|
* Array of parameters for the smart contract.
|
|
871
1245
|
*/
|
|
872
1246
|
params?: Array<SmartContract.Param> | null;
|
|
873
1247
|
|
|
874
1248
|
/**
|
|
875
|
-
*
|
|
1249
|
+
* Type of the smart contract interaction.
|
|
876
1250
|
*/
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
/**
|
|
880
|
-
* Flag indicating if a custom range is applied.
|
|
881
|
-
*/
|
|
882
|
-
withCustomRange?: boolean | null;
|
|
883
|
-
|
|
884
|
-
/**
|
|
885
|
-
* Flag indicating if a maximum limit is applied.
|
|
886
|
-
*/
|
|
887
|
-
withMax?: boolean | null;
|
|
1251
|
+
type?: 'function' | 'event' | null;
|
|
888
1252
|
}
|
|
889
1253
|
|
|
890
1254
|
export namespace SmartContract {
|
|
891
|
-
export interface Bonus {
|
|
892
|
-
/**
|
|
893
|
-
* Amount of the bonus.
|
|
894
|
-
*/
|
|
895
|
-
amount?: number | null;
|
|
896
|
-
|
|
897
|
-
/**
|
|
898
|
-
* Number of times the bonus is applied.
|
|
899
|
-
*/
|
|
900
|
-
count?: number | null;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
1255
|
/**
|
|
904
|
-
*
|
|
1256
|
+
* Object containing details of the amount multiplier from the event.
|
|
905
1257
|
*/
|
|
906
|
-
export interface
|
|
907
|
-
/**
|
|
908
|
-
* End time of the custom range.
|
|
909
|
-
*/
|
|
910
|
-
endsAt?: string | null;
|
|
911
|
-
|
|
1258
|
+
export interface AmountMultiplier {
|
|
912
1259
|
/**
|
|
913
|
-
*
|
|
1260
|
+
* Mapping of the value for the smart contract.
|
|
914
1261
|
*/
|
|
915
|
-
|
|
1262
|
+
valueMapping?: string | null;
|
|
916
1263
|
}
|
|
917
1264
|
|
|
918
1265
|
export interface Param {
|
|
@@ -956,6 +1303,33 @@ export namespace RuleCreateResponse {
|
|
|
956
1303
|
*/
|
|
957
1304
|
streakMilestone: number;
|
|
958
1305
|
}
|
|
1306
|
+
|
|
1307
|
+
/**
|
|
1308
|
+
* Metadata for swap loyalty rules
|
|
1309
|
+
*/
|
|
1310
|
+
export interface Swap {
|
|
1311
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1312
|
+
|
|
1313
|
+
relayReferrerId?: string;
|
|
1314
|
+
|
|
1315
|
+
requireCrossChainSwap?: boolean;
|
|
1316
|
+
|
|
1317
|
+
swappedToChain?: 'any' | number | string;
|
|
1318
|
+
|
|
1319
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
1320
|
+
|
|
1321
|
+
tokenMode?: 'any' | 'specific';
|
|
1322
|
+
|
|
1323
|
+
trackTokenAmount?: boolean;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
export namespace Swap {
|
|
1327
|
+
export interface SwappedToToken {
|
|
1328
|
+
address: string;
|
|
1329
|
+
|
|
1330
|
+
chainId: string;
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
959
1333
|
}
|
|
960
1334
|
|
|
961
1335
|
export interface Collection {
|
|
@@ -968,13 +1342,17 @@ export namespace RuleCreateResponse {
|
|
|
968
1342
|
* Blockchain network for the collection
|
|
969
1343
|
*/
|
|
970
1344
|
network:
|
|
1345
|
+
| 'abstract'
|
|
1346
|
+
| 'abstractTestnet'
|
|
971
1347
|
| 'apechain'
|
|
972
1348
|
| 'arbitrum'
|
|
973
1349
|
| 'avalanche'
|
|
974
1350
|
| 'avalancheFuji'
|
|
975
1351
|
| 'base'
|
|
976
1352
|
| 'baseSepolia'
|
|
1353
|
+
| 'berachain'
|
|
977
1354
|
| 'berachainArtio'
|
|
1355
|
+
| 'berachainBepolia'
|
|
978
1356
|
| 'binance'
|
|
979
1357
|
| 'bscTestnet'
|
|
980
1358
|
| 'campTestnet'
|
|
@@ -982,18 +1360,28 @@ export namespace RuleCreateResponse {
|
|
|
982
1360
|
| 'fantomTestnet'
|
|
983
1361
|
| 'flowMainnet'
|
|
984
1362
|
| 'mainnet'
|
|
1363
|
+
| 'nexusTestnet'
|
|
985
1364
|
| 'optimism'
|
|
986
1365
|
| 'polygon'
|
|
987
1366
|
| 'polygon_mumbai'
|
|
988
1367
|
| 'skaleNebula'
|
|
989
1368
|
| 'solana'
|
|
990
1369
|
| 'sophon'
|
|
1370
|
+
| 'sophonTestnet'
|
|
991
1371
|
| 'sui'
|
|
992
1372
|
| 'superseed'
|
|
993
1373
|
| 'superseedSepolia'
|
|
994
1374
|
| 'vanar'
|
|
995
1375
|
| 'xai'
|
|
996
1376
|
| 'zksync'
|
|
1377
|
+
| 'coti'
|
|
1378
|
+
| 'cotiTestnet'
|
|
1379
|
+
| 'morph'
|
|
1380
|
+
| 'morphTestnet'
|
|
1381
|
+
| 'morphHolesky'
|
|
1382
|
+
| 'ultra'
|
|
1383
|
+
| 'ultraTestnet'
|
|
1384
|
+
| 'nitrograph'
|
|
997
1385
|
| 'sepolia'
|
|
998
1386
|
| 'optimism_sepolia'
|
|
999
1387
|
| 'arbitrumSepolia'
|
|
@@ -1001,7 +1389,12 @@ export namespace RuleCreateResponse {
|
|
|
1001
1389
|
| 'optimism_goerli'
|
|
1002
1390
|
| 'arbitrumGoerli'
|
|
1003
1391
|
| 'basecamp'
|
|
1004
|
-
| '
|
|
1392
|
+
| 'somnia';
|
|
1393
|
+
|
|
1394
|
+
/**
|
|
1395
|
+
* Symbol of the collection.
|
|
1396
|
+
*/
|
|
1397
|
+
symbol?: string;
|
|
1005
1398
|
}
|
|
1006
1399
|
}
|
|
1007
1400
|
|
|
@@ -1023,6 +1416,11 @@ export interface RuleUpdateResponse {
|
|
|
1023
1416
|
*/
|
|
1024
1417
|
name: string;
|
|
1025
1418
|
|
|
1419
|
+
/**
|
|
1420
|
+
* The type of claim for the reward
|
|
1421
|
+
*/
|
|
1422
|
+
claimType?: 'manual' | 'auto' | null;
|
|
1423
|
+
|
|
1026
1424
|
/**
|
|
1027
1425
|
* Blockchain address of the associated collection
|
|
1028
1426
|
*/
|
|
@@ -1058,6 +1456,11 @@ export interface RuleUpdateResponse {
|
|
|
1058
1456
|
*/
|
|
1059
1457
|
effectiveStartTime?: string | null;
|
|
1060
1458
|
|
|
1459
|
+
/**
|
|
1460
|
+
* ID of the external integration
|
|
1461
|
+
*/
|
|
1462
|
+
externalIntegrationId?: string | null;
|
|
1463
|
+
|
|
1061
1464
|
/**
|
|
1062
1465
|
* Frequency of the rule execution
|
|
1063
1466
|
*/
|
|
@@ -1071,7 +1474,7 @@ export interface RuleUpdateResponse {
|
|
|
1071
1474
|
/**
|
|
1072
1475
|
* Time interval for recurring rule execution
|
|
1073
1476
|
*/
|
|
1074
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
1477
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
1075
1478
|
|
|
1076
1479
|
/**
|
|
1077
1480
|
* Whether this rule is required for participation
|
|
@@ -1083,6 +1486,18 @@ export interface RuleUpdateResponse {
|
|
|
1083
1486
|
*/
|
|
1084
1487
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
1085
1488
|
|
|
1489
|
+
/**
|
|
1490
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
1491
|
+
* rules.
|
|
1492
|
+
*/
|
|
1493
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
1494
|
+
|
|
1495
|
+
/**
|
|
1496
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
1497
|
+
* smart contract and external rules.
|
|
1498
|
+
*/
|
|
1499
|
+
maxAmountPerInterval?: number | null;
|
|
1500
|
+
|
|
1086
1501
|
/**
|
|
1087
1502
|
* URL of the media to be displayed
|
|
1088
1503
|
*/
|
|
@@ -1097,13 +1512,17 @@ export interface RuleUpdateResponse {
|
|
|
1097
1512
|
* Blockchain network where the rule will apply
|
|
1098
1513
|
*/
|
|
1099
1514
|
network?:
|
|
1515
|
+
| 'abstract'
|
|
1516
|
+
| 'abstractTestnet'
|
|
1100
1517
|
| 'apechain'
|
|
1101
1518
|
| 'arbitrum'
|
|
1102
1519
|
| 'avalanche'
|
|
1103
1520
|
| 'avalancheFuji'
|
|
1104
1521
|
| 'base'
|
|
1105
1522
|
| 'baseSepolia'
|
|
1523
|
+
| 'berachain'
|
|
1106
1524
|
| 'berachainArtio'
|
|
1525
|
+
| 'berachainBepolia'
|
|
1107
1526
|
| 'binance'
|
|
1108
1527
|
| 'bscTestnet'
|
|
1109
1528
|
| 'campTestnet'
|
|
@@ -1111,18 +1530,28 @@ export interface RuleUpdateResponse {
|
|
|
1111
1530
|
| 'fantomTestnet'
|
|
1112
1531
|
| 'flowMainnet'
|
|
1113
1532
|
| 'mainnet'
|
|
1533
|
+
| 'nexusTestnet'
|
|
1114
1534
|
| 'optimism'
|
|
1115
1535
|
| 'polygon'
|
|
1116
1536
|
| 'polygon_mumbai'
|
|
1117
1537
|
| 'skaleNebula'
|
|
1118
1538
|
| 'solana'
|
|
1119
1539
|
| 'sophon'
|
|
1540
|
+
| 'sophonTestnet'
|
|
1120
1541
|
| 'sui'
|
|
1121
1542
|
| 'superseed'
|
|
1122
1543
|
| 'superseedSepolia'
|
|
1123
1544
|
| 'vanar'
|
|
1124
1545
|
| 'xai'
|
|
1125
1546
|
| 'zksync'
|
|
1547
|
+
| 'coti'
|
|
1548
|
+
| 'cotiTestnet'
|
|
1549
|
+
| 'morph'
|
|
1550
|
+
| 'morphTestnet'
|
|
1551
|
+
| 'morphHolesky'
|
|
1552
|
+
| 'ultra'
|
|
1553
|
+
| 'ultraTestnet'
|
|
1554
|
+
| 'nitrograph'
|
|
1126
1555
|
| 'sepolia'
|
|
1127
1556
|
| 'optimism_sepolia'
|
|
1128
1557
|
| 'arbitrumSepolia'
|
|
@@ -1130,17 +1559,32 @@ export interface RuleUpdateResponse {
|
|
|
1130
1559
|
| 'optimism_goerli'
|
|
1131
1560
|
| 'arbitrumGoerli'
|
|
1132
1561
|
| 'basecamp'
|
|
1133
|
-
| '
|
|
1562
|
+
| 'somnia';
|
|
1134
1563
|
|
|
1135
1564
|
/**
|
|
1136
1565
|
* ID for associated OAuth credentials
|
|
1137
1566
|
*/
|
|
1138
1567
|
oauthCredentialsId?: string | null;
|
|
1139
1568
|
|
|
1569
|
+
/**
|
|
1570
|
+
* The lifetime of the reward
|
|
1571
|
+
*/
|
|
1572
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
1573
|
+
|
|
1140
1574
|
/**
|
|
1141
1575
|
* Type of reward issued by this rule
|
|
1142
1576
|
*/
|
|
1143
|
-
rewardType?: 'points' | 'multiplier';
|
|
1577
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
1578
|
+
|
|
1579
|
+
/**
|
|
1580
|
+
* URL of the Shopify store
|
|
1581
|
+
*/
|
|
1582
|
+
shopifyStoreUrl?: string | null;
|
|
1583
|
+
|
|
1584
|
+
/**
|
|
1585
|
+
* Whether to show this rule before the start time
|
|
1586
|
+
*/
|
|
1587
|
+
showBeforeStart?: boolean;
|
|
1144
1588
|
|
|
1145
1589
|
/**
|
|
1146
1590
|
* Start time for the loyalty rule
|
|
@@ -1148,9 +1592,9 @@ export interface RuleUpdateResponse {
|
|
|
1148
1592
|
startTime?: string | null;
|
|
1149
1593
|
|
|
1150
1594
|
/**
|
|
1151
|
-
* Optional subscription
|
|
1595
|
+
* Optional subscription id for the rule
|
|
1152
1596
|
*/
|
|
1153
|
-
|
|
1597
|
+
subscriptionId?: string | null;
|
|
1154
1598
|
}
|
|
1155
1599
|
|
|
1156
1600
|
export namespace RuleUpdateResponse {
|
|
@@ -1164,13 +1608,17 @@ export namespace RuleUpdateResponse {
|
|
|
1164
1608
|
* Blockchain network for the collection
|
|
1165
1609
|
*/
|
|
1166
1610
|
network:
|
|
1611
|
+
| 'abstract'
|
|
1612
|
+
| 'abstractTestnet'
|
|
1167
1613
|
| 'apechain'
|
|
1168
1614
|
| 'arbitrum'
|
|
1169
1615
|
| 'avalanche'
|
|
1170
1616
|
| 'avalancheFuji'
|
|
1171
1617
|
| 'base'
|
|
1172
1618
|
| 'baseSepolia'
|
|
1619
|
+
| 'berachain'
|
|
1173
1620
|
| 'berachainArtio'
|
|
1621
|
+
| 'berachainBepolia'
|
|
1174
1622
|
| 'binance'
|
|
1175
1623
|
| 'bscTestnet'
|
|
1176
1624
|
| 'campTestnet'
|
|
@@ -1178,18 +1626,28 @@ export namespace RuleUpdateResponse {
|
|
|
1178
1626
|
| 'fantomTestnet'
|
|
1179
1627
|
| 'flowMainnet'
|
|
1180
1628
|
| 'mainnet'
|
|
1629
|
+
| 'nexusTestnet'
|
|
1181
1630
|
| 'optimism'
|
|
1182
1631
|
| 'polygon'
|
|
1183
1632
|
| 'polygon_mumbai'
|
|
1184
1633
|
| 'skaleNebula'
|
|
1185
1634
|
| 'solana'
|
|
1186
1635
|
| 'sophon'
|
|
1636
|
+
| 'sophonTestnet'
|
|
1187
1637
|
| 'sui'
|
|
1188
1638
|
| 'superseed'
|
|
1189
1639
|
| 'superseedSepolia'
|
|
1190
1640
|
| 'vanar'
|
|
1191
1641
|
| 'xai'
|
|
1192
1642
|
| 'zksync'
|
|
1643
|
+
| 'coti'
|
|
1644
|
+
| 'cotiTestnet'
|
|
1645
|
+
| 'morph'
|
|
1646
|
+
| 'morphTestnet'
|
|
1647
|
+
| 'morphHolesky'
|
|
1648
|
+
| 'ultra'
|
|
1649
|
+
| 'ultraTestnet'
|
|
1650
|
+
| 'nitrograph'
|
|
1193
1651
|
| 'sepolia'
|
|
1194
1652
|
| 'optimism_sepolia'
|
|
1195
1653
|
| 'arbitrumSepolia'
|
|
@@ -1197,13 +1655,23 @@ export namespace RuleUpdateResponse {
|
|
|
1197
1655
|
| 'optimism_goerli'
|
|
1198
1656
|
| 'arbitrumGoerli'
|
|
1199
1657
|
| 'basecamp'
|
|
1200
|
-
| '
|
|
1658
|
+
| 'somnia';
|
|
1659
|
+
|
|
1660
|
+
/**
|
|
1661
|
+
* Symbol of the collection.
|
|
1662
|
+
*/
|
|
1663
|
+
symbol?: string;
|
|
1201
1664
|
}
|
|
1202
1665
|
|
|
1203
1666
|
/**
|
|
1204
1667
|
* Additional metadata for the loyalty rule
|
|
1205
1668
|
*/
|
|
1206
1669
|
export interface Metadata {
|
|
1670
|
+
/**
|
|
1671
|
+
* Number of tokens per batch.
|
|
1672
|
+
*/
|
|
1673
|
+
batchSize?: number | null;
|
|
1674
|
+
|
|
1207
1675
|
/**
|
|
1208
1676
|
* Text displayed on the action button.
|
|
1209
1677
|
*/
|
|
@@ -1227,7 +1695,7 @@ export namespace RuleUpdateResponse {
|
|
|
1227
1695
|
/**
|
|
1228
1696
|
* Text to check in the Twitter post, username, or bio.
|
|
1229
1697
|
*/
|
|
1230
|
-
checkText?: string | null;
|
|
1698
|
+
checkText?: string | Array<string> | null;
|
|
1231
1699
|
|
|
1232
1700
|
/**
|
|
1233
1701
|
* Array of collections associated with the rule.
|
|
@@ -1237,7 +1705,12 @@ export namespace RuleUpdateResponse {
|
|
|
1237
1705
|
/**
|
|
1238
1706
|
* Conditions for completing the profile.
|
|
1239
1707
|
*/
|
|
1240
|
-
completeProfileConditions?:
|
|
1708
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
1709
|
+
|
|
1710
|
+
/**
|
|
1711
|
+
* Description of the external rule condition (only for external rules)
|
|
1712
|
+
*/
|
|
1713
|
+
conditionDescription?: string;
|
|
1241
1714
|
|
|
1242
1715
|
/**
|
|
1243
1716
|
* Object containing details for the call-to-action.
|
|
@@ -1249,6 +1722,11 @@ export namespace RuleUpdateResponse {
|
|
|
1249
1722
|
*/
|
|
1250
1723
|
customRewardsApiKey?: string;
|
|
1251
1724
|
|
|
1725
|
+
/**
|
|
1726
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1727
|
+
*/
|
|
1728
|
+
directRpc?: boolean;
|
|
1729
|
+
|
|
1252
1730
|
/**
|
|
1253
1731
|
* Array of Discord servers, channels, and roles to join.
|
|
1254
1732
|
*/
|
|
@@ -1294,11 +1772,6 @@ export namespace RuleUpdateResponse {
|
|
|
1294
1772
|
*/
|
|
1295
1773
|
hasNeverSold?: boolean;
|
|
1296
1774
|
|
|
1297
|
-
/**
|
|
1298
|
-
* Flag indicating whether the order source is included.
|
|
1299
|
-
*/
|
|
1300
|
-
hasOrderSource?: boolean;
|
|
1301
|
-
|
|
1302
1775
|
/**
|
|
1303
1776
|
* Indicates if the full royalty has been paid for items.
|
|
1304
1777
|
*/
|
|
@@ -1319,11 +1792,21 @@ export namespace RuleUpdateResponse {
|
|
|
1319
1792
|
*/
|
|
1320
1793
|
imageUrl?: string | null;
|
|
1321
1794
|
|
|
1795
|
+
/**
|
|
1796
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1797
|
+
*/
|
|
1798
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1799
|
+
|
|
1322
1800
|
/**
|
|
1323
1801
|
* Indicates if the multiplier has been applied to rewards.
|
|
1324
1802
|
*/
|
|
1325
1803
|
isMultiplierApplied?: boolean;
|
|
1326
1804
|
|
|
1805
|
+
/**
|
|
1806
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1807
|
+
*/
|
|
1808
|
+
isRestrictedToNewUsers?: boolean;
|
|
1809
|
+
|
|
1327
1810
|
/**
|
|
1328
1811
|
* Flag indicating if rewards are applied retroactively.
|
|
1329
1812
|
*/
|
|
@@ -1339,6 +1822,11 @@ export namespace RuleUpdateResponse {
|
|
|
1339
1822
|
*/
|
|
1340
1823
|
link?: string | null;
|
|
1341
1824
|
|
|
1825
|
+
/**
|
|
1826
|
+
* Liquidity pool details.
|
|
1827
|
+
*/
|
|
1828
|
+
liquidity?: Metadata.Liquidity;
|
|
1829
|
+
|
|
1342
1830
|
/**
|
|
1343
1831
|
* Maximum quantity constraint for token holding.
|
|
1344
1832
|
*/
|
|
@@ -1380,14 +1868,24 @@ export namespace RuleUpdateResponse {
|
|
|
1380
1868
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1381
1869
|
|
|
1382
1870
|
/**
|
|
1383
|
-
*
|
|
1871
|
+
* Promotional code associated with the rule.
|
|
1872
|
+
*/
|
|
1873
|
+
promoCode?: string;
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* URL of the CSV file containing promo codes.
|
|
1384
1877
|
*/
|
|
1385
|
-
|
|
1878
|
+
promoCodeCsvUrl?: string;
|
|
1386
1879
|
|
|
1387
1880
|
/**
|
|
1388
|
-
*
|
|
1881
|
+
* Numbers of the promotional code to be generated.
|
|
1389
1882
|
*/
|
|
1390
|
-
|
|
1883
|
+
promoCodeLength?: number | null;
|
|
1884
|
+
|
|
1885
|
+
/**
|
|
1886
|
+
* Type of the promotional code.
|
|
1887
|
+
*/
|
|
1888
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1391
1889
|
|
|
1392
1890
|
/**
|
|
1393
1891
|
* Array defining ranges and corresponding rewards.
|
|
@@ -1404,11 +1902,62 @@ export namespace RuleUpdateResponse {
|
|
|
1404
1902
|
*/
|
|
1405
1903
|
referrerReward?: number | null;
|
|
1406
1904
|
|
|
1905
|
+
/**
|
|
1906
|
+
* Loyalty currency ID of the referrer reward.
|
|
1907
|
+
*/
|
|
1908
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1909
|
+
|
|
1910
|
+
/**
|
|
1911
|
+
* Flag indicating if the post link is required.
|
|
1912
|
+
*/
|
|
1913
|
+
requirePostLink?: boolean | null;
|
|
1914
|
+
|
|
1915
|
+
/**
|
|
1916
|
+
* Flag indicating if media metadata is required.
|
|
1917
|
+
*/
|
|
1918
|
+
requirePostMediaLink?: boolean | null;
|
|
1919
|
+
|
|
1920
|
+
/**
|
|
1921
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1922
|
+
*/
|
|
1923
|
+
rewardBadgePerRange?: boolean;
|
|
1924
|
+
|
|
1925
|
+
/**
|
|
1926
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1927
|
+
*/
|
|
1928
|
+
rewardByBatch?: boolean | null;
|
|
1929
|
+
|
|
1930
|
+
/**
|
|
1931
|
+
* Criteria to evaluate the reward.
|
|
1932
|
+
*/
|
|
1933
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1934
|
+
|
|
1935
|
+
/**
|
|
1936
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1937
|
+
*/
|
|
1938
|
+
rewardPerAction?: boolean | null;
|
|
1939
|
+
|
|
1407
1940
|
/**
|
|
1408
1941
|
* Flag indicating if rewards are given per impression.
|
|
1409
1942
|
*/
|
|
1410
1943
|
rewardPerImpression?: boolean | null;
|
|
1411
1944
|
|
|
1945
|
+
/**
|
|
1946
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
1947
|
+
* instead of count.
|
|
1948
|
+
*/
|
|
1949
|
+
rewardPerValue?: boolean;
|
|
1950
|
+
|
|
1951
|
+
/**
|
|
1952
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
1953
|
+
*/
|
|
1954
|
+
royaltyAddress?: string;
|
|
1955
|
+
|
|
1956
|
+
/**
|
|
1957
|
+
* Royalty percentage of the item.
|
|
1958
|
+
*/
|
|
1959
|
+
royaltyPercentage?: number;
|
|
1960
|
+
|
|
1412
1961
|
/**
|
|
1413
1962
|
* Currency associated with sales.
|
|
1414
1963
|
*/
|
|
@@ -1448,6 +1997,7 @@ export namespace RuleUpdateResponse {
|
|
|
1448
1997
|
| 'Twitch'
|
|
1449
1998
|
| 'X(Twitter)'
|
|
1450
1999
|
| 'YouTube'
|
|
2000
|
+
| 'Google'
|
|
1451
2001
|
| null;
|
|
1452
2002
|
|
|
1453
2003
|
/**
|
|
@@ -1460,11 +2010,21 @@ export namespace RuleUpdateResponse {
|
|
|
1460
2010
|
*/
|
|
1461
2011
|
socialPlatformName?: string | null;
|
|
1462
2012
|
|
|
2013
|
+
/**
|
|
2014
|
+
* ID of the Steam app.
|
|
2015
|
+
*/
|
|
2016
|
+
steamAppId?: string | null;
|
|
2017
|
+
|
|
1463
2018
|
/**
|
|
1464
2019
|
* Array of streak milestones and corresponding rewards.
|
|
1465
2020
|
*/
|
|
1466
2021
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1467
2022
|
|
|
2023
|
+
/**
|
|
2024
|
+
* Metadata for swap loyalty rules
|
|
2025
|
+
*/
|
|
2026
|
+
swap?: Metadata.Swap;
|
|
2027
|
+
|
|
1468
2028
|
/**
|
|
1469
2029
|
* ID of the Telegram channel.
|
|
1470
2030
|
*/
|
|
@@ -1480,6 +2040,12 @@ export namespace RuleUpdateResponse {
|
|
|
1480
2040
|
*/
|
|
1481
2041
|
trackAllContracts?: boolean | null;
|
|
1482
2042
|
|
|
2043
|
+
/**
|
|
2044
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2045
|
+
* completed once the progress is 100%.
|
|
2046
|
+
*/
|
|
2047
|
+
trackProgress?: boolean | null;
|
|
2048
|
+
|
|
1483
2049
|
/**
|
|
1484
2050
|
* URL of the associated Twitter account.
|
|
1485
2051
|
*/
|
|
@@ -1523,7 +2089,17 @@ export namespace RuleUpdateResponse {
|
|
|
1523
2089
|
/**
|
|
1524
2090
|
* Type of wallet associated with the rule.
|
|
1525
2091
|
*/
|
|
1526
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
2092
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
|
|
2093
|
+
|
|
2094
|
+
/**
|
|
2095
|
+
* ID of the Youtube channel.
|
|
2096
|
+
*/
|
|
2097
|
+
youtubeChannelId?: string | null;
|
|
2098
|
+
|
|
2099
|
+
/**
|
|
2100
|
+
* ID of the Youtube video.
|
|
2101
|
+
*/
|
|
2102
|
+
youtubeVideoId?: string | null;
|
|
1527
2103
|
}
|
|
1528
2104
|
|
|
1529
2105
|
export namespace Metadata {
|
|
@@ -1542,13 +2118,17 @@ export namespace RuleUpdateResponse {
|
|
|
1542
2118
|
* Blockchain network of the collection.
|
|
1543
2119
|
*/
|
|
1544
2120
|
network?:
|
|
2121
|
+
| 'abstract'
|
|
2122
|
+
| 'abstractTestnet'
|
|
1545
2123
|
| 'apechain'
|
|
1546
2124
|
| 'arbitrum'
|
|
1547
2125
|
| 'avalanche'
|
|
1548
2126
|
| 'avalancheFuji'
|
|
1549
2127
|
| 'base'
|
|
1550
2128
|
| 'baseSepolia'
|
|
2129
|
+
| 'berachain'
|
|
1551
2130
|
| 'berachainArtio'
|
|
2131
|
+
| 'berachainBepolia'
|
|
1552
2132
|
| 'binance'
|
|
1553
2133
|
| 'bscTestnet'
|
|
1554
2134
|
| 'campTestnet'
|
|
@@ -1556,18 +2136,28 @@ export namespace RuleUpdateResponse {
|
|
|
1556
2136
|
| 'fantomTestnet'
|
|
1557
2137
|
| 'flowMainnet'
|
|
1558
2138
|
| 'mainnet'
|
|
2139
|
+
| 'nexusTestnet'
|
|
1559
2140
|
| 'optimism'
|
|
1560
2141
|
| 'polygon'
|
|
1561
2142
|
| 'polygon_mumbai'
|
|
1562
2143
|
| 'skaleNebula'
|
|
1563
2144
|
| 'solana'
|
|
1564
2145
|
| 'sophon'
|
|
2146
|
+
| 'sophonTestnet'
|
|
1565
2147
|
| 'sui'
|
|
1566
2148
|
| 'superseed'
|
|
1567
2149
|
| 'superseedSepolia'
|
|
1568
2150
|
| 'vanar'
|
|
1569
2151
|
| 'xai'
|
|
1570
2152
|
| 'zksync'
|
|
2153
|
+
| 'coti'
|
|
2154
|
+
| 'cotiTestnet'
|
|
2155
|
+
| 'morph'
|
|
2156
|
+
| 'morphTestnet'
|
|
2157
|
+
| 'morphHolesky'
|
|
2158
|
+
| 'ultra'
|
|
2159
|
+
| 'ultraTestnet'
|
|
2160
|
+
| 'nitrograph'
|
|
1571
2161
|
| 'sepolia'
|
|
1572
2162
|
| 'optimism_sepolia'
|
|
1573
2163
|
| 'arbitrumSepolia'
|
|
@@ -1575,7 +2165,7 @@ export namespace RuleUpdateResponse {
|
|
|
1575
2165
|
| 'optimism_goerli'
|
|
1576
2166
|
| 'arbitrumGoerli'
|
|
1577
2167
|
| 'basecamp'
|
|
1578
|
-
| '
|
|
2168
|
+
| 'somnia';
|
|
1579
2169
|
}
|
|
1580
2170
|
|
|
1581
2171
|
/**
|
|
@@ -1652,6 +2242,105 @@ export namespace RuleUpdateResponse {
|
|
|
1652
2242
|
id: string;
|
|
1653
2243
|
}
|
|
1654
2244
|
|
|
2245
|
+
/**
|
|
2246
|
+
* Liquidity pool details.
|
|
2247
|
+
*/
|
|
2248
|
+
export interface Liquidity {
|
|
2249
|
+
/**
|
|
2250
|
+
* Calculation type of the liquidity pool.
|
|
2251
|
+
*/
|
|
2252
|
+
calculationType?: 'fixed' | 'custom';
|
|
2253
|
+
|
|
2254
|
+
/**
|
|
2255
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
2256
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
2257
|
+
* USD.
|
|
2258
|
+
*/
|
|
2259
|
+
customFunction?: string;
|
|
2260
|
+
|
|
2261
|
+
/**
|
|
2262
|
+
* Liquidity provided per day in USD
|
|
2263
|
+
*/
|
|
2264
|
+
liquidityPerDay?: number;
|
|
2265
|
+
|
|
2266
|
+
/**
|
|
2267
|
+
* Blockchain network of the liquidity pool.
|
|
2268
|
+
*/
|
|
2269
|
+
network?:
|
|
2270
|
+
| 'abstract'
|
|
2271
|
+
| 'abstractTestnet'
|
|
2272
|
+
| 'apechain'
|
|
2273
|
+
| 'arbitrum'
|
|
2274
|
+
| 'avalanche'
|
|
2275
|
+
| 'avalancheFuji'
|
|
2276
|
+
| 'base'
|
|
2277
|
+
| 'baseSepolia'
|
|
2278
|
+
| 'berachain'
|
|
2279
|
+
| 'berachainArtio'
|
|
2280
|
+
| 'berachainBepolia'
|
|
2281
|
+
| 'binance'
|
|
2282
|
+
| 'bscTestnet'
|
|
2283
|
+
| 'campTestnet'
|
|
2284
|
+
| 'fantom'
|
|
2285
|
+
| 'fantomTestnet'
|
|
2286
|
+
| 'flowMainnet'
|
|
2287
|
+
| 'mainnet'
|
|
2288
|
+
| 'nexusTestnet'
|
|
2289
|
+
| 'optimism'
|
|
2290
|
+
| 'polygon'
|
|
2291
|
+
| 'polygon_mumbai'
|
|
2292
|
+
| 'skaleNebula'
|
|
2293
|
+
| 'solana'
|
|
2294
|
+
| 'sophon'
|
|
2295
|
+
| 'sophonTestnet'
|
|
2296
|
+
| 'sui'
|
|
2297
|
+
| 'superseed'
|
|
2298
|
+
| 'superseedSepolia'
|
|
2299
|
+
| 'vanar'
|
|
2300
|
+
| 'xai'
|
|
2301
|
+
| 'zksync'
|
|
2302
|
+
| 'coti'
|
|
2303
|
+
| 'cotiTestnet'
|
|
2304
|
+
| 'morph'
|
|
2305
|
+
| 'morphTestnet'
|
|
2306
|
+
| 'morphHolesky'
|
|
2307
|
+
| 'ultra'
|
|
2308
|
+
| 'ultraTestnet'
|
|
2309
|
+
| 'nitrograph'
|
|
2310
|
+
| 'sepolia'
|
|
2311
|
+
| 'optimism_sepolia'
|
|
2312
|
+
| 'arbitrumSepolia'
|
|
2313
|
+
| 'goerli'
|
|
2314
|
+
| 'optimism_goerli'
|
|
2315
|
+
| 'arbitrumGoerli'
|
|
2316
|
+
| 'basecamp'
|
|
2317
|
+
| 'somnia';
|
|
2318
|
+
|
|
2319
|
+
/**
|
|
2320
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
2321
|
+
*/
|
|
2322
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2323
|
+
|
|
2324
|
+
/**
|
|
2325
|
+
* Array of liquidity pools associated with the rule.
|
|
2326
|
+
*/
|
|
2327
|
+
pools?: Array<Liquidity.Pool>;
|
|
2328
|
+
|
|
2329
|
+
/**
|
|
2330
|
+
* Protocol of the liquidity pool.
|
|
2331
|
+
*/
|
|
2332
|
+
protocol?: string;
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
export namespace Liquidity {
|
|
2336
|
+
export interface Pool {
|
|
2337
|
+
/**
|
|
2338
|
+
* Unique identifier of the liquidity pool.
|
|
2339
|
+
*/
|
|
2340
|
+
id: string;
|
|
2341
|
+
}
|
|
2342
|
+
}
|
|
2343
|
+
|
|
1655
2344
|
export interface Range {
|
|
1656
2345
|
/**
|
|
1657
2346
|
* Reward amount for this range.
|
|
@@ -1667,6 +2356,16 @@ export namespace RuleUpdateResponse {
|
|
|
1667
2356
|
* Start value of the range.
|
|
1668
2357
|
*/
|
|
1669
2358
|
startRange: number;
|
|
2359
|
+
|
|
2360
|
+
/**
|
|
2361
|
+
* ID of the loyalty badge for this range.
|
|
2362
|
+
*/
|
|
2363
|
+
loyaltyBadgeId?: string;
|
|
2364
|
+
|
|
2365
|
+
/**
|
|
2366
|
+
* Amount of the loyalty multiplier for this range.
|
|
2367
|
+
*/
|
|
2368
|
+
loyaltyMultiplierAmount?: number;
|
|
1670
2369
|
}
|
|
1671
2370
|
|
|
1672
2371
|
/**
|
|
@@ -1719,20 +2418,15 @@ export namespace RuleUpdateResponse {
|
|
|
1719
2418
|
* Object containing details of the associated smart contract.
|
|
1720
2419
|
*/
|
|
1721
2420
|
export interface SmartContract {
|
|
1722
|
-
/**
|
|
1723
|
-
* ABI of the smart contract.
|
|
1724
|
-
*/
|
|
1725
|
-
abi?: string | null;
|
|
1726
|
-
|
|
1727
2421
|
/**
|
|
1728
2422
|
* Mapping of addresses for the smart contract.
|
|
1729
2423
|
*/
|
|
1730
2424
|
addressMapping?: string | null;
|
|
1731
2425
|
|
|
1732
2426
|
/**
|
|
1733
|
-
*
|
|
2427
|
+
* Object containing details of the amount multiplier from the event.
|
|
1734
2428
|
*/
|
|
1735
|
-
|
|
2429
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1736
2430
|
|
|
1737
2431
|
/**
|
|
1738
2432
|
* ID of the smart contract.
|
|
@@ -1744,68 +2438,31 @@ export namespace RuleUpdateResponse {
|
|
|
1744
2438
|
*/
|
|
1745
2439
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1746
2440
|
|
|
1747
|
-
/**
|
|
1748
|
-
* Time range applied to the rule.
|
|
1749
|
-
*/
|
|
1750
|
-
customRange?: SmartContract.CustomRange | null;
|
|
1751
|
-
|
|
1752
2441
|
/**
|
|
1753
2442
|
* Event emitted by the smart contract.
|
|
1754
2443
|
*/
|
|
1755
2444
|
event?: string | null;
|
|
1756
2445
|
|
|
1757
|
-
/**
|
|
1758
|
-
* Maximum value allowed for the parameter.
|
|
1759
|
-
*/
|
|
1760
|
-
max?: number | null;
|
|
1761
|
-
|
|
1762
2446
|
/**
|
|
1763
2447
|
* Array of parameters for the smart contract.
|
|
1764
2448
|
*/
|
|
1765
2449
|
params?: Array<SmartContract.Param> | null;
|
|
1766
2450
|
|
|
1767
2451
|
/**
|
|
1768
|
-
*
|
|
1769
|
-
*/
|
|
1770
|
-
withBonus?: boolean | null;
|
|
1771
|
-
|
|
1772
|
-
/**
|
|
1773
|
-
* Flag indicating if a custom range is applied.
|
|
2452
|
+
* Type of the smart contract interaction.
|
|
1774
2453
|
*/
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
/**
|
|
1778
|
-
* Flag indicating if a maximum limit is applied.
|
|
1779
|
-
*/
|
|
1780
|
-
withMax?: boolean | null;
|
|
2454
|
+
type?: 'function' | 'event' | null;
|
|
1781
2455
|
}
|
|
1782
2456
|
|
|
1783
2457
|
export namespace SmartContract {
|
|
1784
|
-
export interface Bonus {
|
|
1785
|
-
/**
|
|
1786
|
-
* Amount of the bonus.
|
|
1787
|
-
*/
|
|
1788
|
-
amount?: number | null;
|
|
1789
|
-
|
|
1790
|
-
/**
|
|
1791
|
-
* Number of times the bonus is applied.
|
|
1792
|
-
*/
|
|
1793
|
-
count?: number | null;
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
2458
|
/**
|
|
1797
|
-
*
|
|
2459
|
+
* Object containing details of the amount multiplier from the event.
|
|
1798
2460
|
*/
|
|
1799
|
-
export interface
|
|
1800
|
-
/**
|
|
1801
|
-
* End time of the custom range.
|
|
1802
|
-
*/
|
|
1803
|
-
endsAt?: string | null;
|
|
1804
|
-
|
|
2461
|
+
export interface AmountMultiplier {
|
|
1805
2462
|
/**
|
|
1806
|
-
*
|
|
2463
|
+
* Mapping of the value for the smart contract.
|
|
1807
2464
|
*/
|
|
1808
|
-
|
|
2465
|
+
valueMapping?: string | null;
|
|
1809
2466
|
}
|
|
1810
2467
|
|
|
1811
2468
|
export interface Param {
|
|
@@ -1849,6 +2506,33 @@ export namespace RuleUpdateResponse {
|
|
|
1849
2506
|
*/
|
|
1850
2507
|
streakMilestone: number;
|
|
1851
2508
|
}
|
|
2509
|
+
|
|
2510
|
+
/**
|
|
2511
|
+
* Metadata for swap loyalty rules
|
|
2512
|
+
*/
|
|
2513
|
+
export interface Swap {
|
|
2514
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
2515
|
+
|
|
2516
|
+
relayReferrerId?: string;
|
|
2517
|
+
|
|
2518
|
+
requireCrossChainSwap?: boolean;
|
|
2519
|
+
|
|
2520
|
+
swappedToChain?: 'any' | number | string;
|
|
2521
|
+
|
|
2522
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
2523
|
+
|
|
2524
|
+
tokenMode?: 'any' | 'specific';
|
|
2525
|
+
|
|
2526
|
+
trackTokenAmount?: boolean;
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2529
|
+
export namespace Swap {
|
|
2530
|
+
export interface SwappedToToken {
|
|
2531
|
+
address: string;
|
|
2532
|
+
|
|
2533
|
+
chainId: string;
|
|
2534
|
+
}
|
|
2535
|
+
}
|
|
1852
2536
|
}
|
|
1853
2537
|
}
|
|
1854
2538
|
|
|
@@ -1859,9 +2543,6 @@ export interface RuleListResponse {
|
|
|
1859
2543
|
}
|
|
1860
2544
|
|
|
1861
2545
|
export namespace RuleListResponse {
|
|
1862
|
-
/**
|
|
1863
|
-
* Schema for a loyalty rule
|
|
1864
|
-
*/
|
|
1865
2546
|
export interface Data {
|
|
1866
2547
|
/**
|
|
1867
2548
|
* Unique identifier for the loyalty rule
|
|
@@ -1878,45 +2559,1051 @@ export namespace RuleListResponse {
|
|
|
1878
2559
|
*/
|
|
1879
2560
|
createdAt: string;
|
|
1880
2561
|
|
|
1881
|
-
/**
|
|
1882
|
-
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
1883
|
-
*/
|
|
1884
|
-
deletedAt: string | null;
|
|
2562
|
+
/**
|
|
2563
|
+
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
2564
|
+
*/
|
|
2565
|
+
deletedAt: string | null;
|
|
2566
|
+
|
|
2567
|
+
/**
|
|
2568
|
+
* Description of the loyalty rule
|
|
2569
|
+
*/
|
|
2570
|
+
description: string;
|
|
2571
|
+
|
|
2572
|
+
/**
|
|
2573
|
+
* End time of the loyalty rule
|
|
2574
|
+
*/
|
|
2575
|
+
endTime: string;
|
|
2576
|
+
|
|
2577
|
+
/**
|
|
2578
|
+
* Frequency of the loyalty rule
|
|
2579
|
+
*/
|
|
2580
|
+
frequency: string;
|
|
2581
|
+
|
|
2582
|
+
/**
|
|
2583
|
+
* Chains attached to the loyalty rule
|
|
2584
|
+
*/
|
|
2585
|
+
loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
|
|
2586
|
+
|
|
2587
|
+
/**
|
|
2588
|
+
* Name of the loyalty rule
|
|
2589
|
+
*/
|
|
2590
|
+
name: string;
|
|
2591
|
+
|
|
2592
|
+
/**
|
|
2593
|
+
* Unique identifier for the organization
|
|
2594
|
+
*/
|
|
2595
|
+
organizationId: string;
|
|
2596
|
+
|
|
2597
|
+
/**
|
|
2598
|
+
* Type of the reward
|
|
2599
|
+
*/
|
|
2600
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
2601
|
+
|
|
2602
|
+
/**
|
|
2603
|
+
* Start time of the loyalty rule
|
|
2604
|
+
*/
|
|
2605
|
+
startTime: string;
|
|
2606
|
+
|
|
2607
|
+
/**
|
|
2608
|
+
* Type of the loyalty rule
|
|
2609
|
+
*/
|
|
2610
|
+
type: string;
|
|
2611
|
+
|
|
2612
|
+
/**
|
|
2613
|
+
* Timestamp when the loyalty rule was last updated
|
|
2614
|
+
*/
|
|
2615
|
+
updatedAt: string;
|
|
2616
|
+
|
|
2617
|
+
/**
|
|
2618
|
+
* Unique identifier for the website
|
|
2619
|
+
*/
|
|
2620
|
+
websiteId: string;
|
|
2621
|
+
|
|
2622
|
+
/**
|
|
2623
|
+
* Optional address of the collection
|
|
2624
|
+
*/
|
|
2625
|
+
collectionAddress?: string;
|
|
2626
|
+
|
|
2627
|
+
/**
|
|
2628
|
+
* URL of the media associated with the loyalty rule
|
|
2629
|
+
*/
|
|
2630
|
+
mediaUrl?: string | null;
|
|
2631
|
+
|
|
2632
|
+
/**
|
|
2633
|
+
* Optional metadata for the loyalty rule
|
|
2634
|
+
*/
|
|
2635
|
+
metadata?: { [key: string]: Data.Metadata };
|
|
2636
|
+
}
|
|
2637
|
+
|
|
2638
|
+
export namespace Data {
|
|
2639
|
+
export interface LoyaltyRuleChain {
|
|
2640
|
+
/**
|
|
2641
|
+
* Unique identifier for the rule chain
|
|
2642
|
+
*/
|
|
2643
|
+
id: string;
|
|
2644
|
+
|
|
2645
|
+
loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
|
|
2646
|
+
|
|
2647
|
+
/**
|
|
2648
|
+
* Unique identifier for the loyalty rule
|
|
2649
|
+
*/
|
|
2650
|
+
loyaltyRuleId: string;
|
|
2651
|
+
|
|
2652
|
+
/**
|
|
2653
|
+
* Name of the rule chain
|
|
2654
|
+
*/
|
|
2655
|
+
name: string;
|
|
2656
|
+
}
|
|
2657
|
+
|
|
2658
|
+
export namespace LoyaltyRuleChain {
|
|
2659
|
+
export interface LoyaltyCondition {
|
|
2660
|
+
/**
|
|
2661
|
+
* Unique identifier for the condition
|
|
2662
|
+
*/
|
|
2663
|
+
id: string;
|
|
2664
|
+
|
|
2665
|
+
/**
|
|
2666
|
+
* Amount of the condition
|
|
2667
|
+
*/
|
|
2668
|
+
amount: number | null;
|
|
2669
|
+
|
|
2670
|
+
association: Array<LoyaltyCondition.Association>;
|
|
2671
|
+
|
|
2672
|
+
/**
|
|
2673
|
+
* URL of the CSV file
|
|
2674
|
+
*/
|
|
2675
|
+
csvUrl: string | null;
|
|
2676
|
+
|
|
2677
|
+
/**
|
|
2678
|
+
* Description of the condition
|
|
2679
|
+
*/
|
|
2680
|
+
description: string | null;
|
|
2681
|
+
|
|
2682
|
+
/**
|
|
2683
|
+
* Number of times the condition must be met
|
|
2684
|
+
*/
|
|
2685
|
+
repeatCount: number | null;
|
|
2686
|
+
|
|
2687
|
+
/**
|
|
2688
|
+
* Number of times the condition must be met
|
|
2689
|
+
*/
|
|
2690
|
+
requiredCount: number | null;
|
|
2691
|
+
|
|
2692
|
+
/**
|
|
2693
|
+
* Type of the condition
|
|
2694
|
+
*/
|
|
2695
|
+
type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
|
|
2696
|
+
}
|
|
2697
|
+
|
|
2698
|
+
export namespace LoyaltyCondition {
|
|
2699
|
+
export interface Association {
|
|
2700
|
+
/**
|
|
2701
|
+
* Unique identifier for the association
|
|
2702
|
+
*/
|
|
2703
|
+
id: string;
|
|
2704
|
+
|
|
2705
|
+
/**
|
|
2706
|
+
* Unique identifier for the loyalty badge
|
|
2707
|
+
*/
|
|
2708
|
+
loyaltyBadgeId: string | null;
|
|
2709
|
+
|
|
2710
|
+
/**
|
|
2711
|
+
* Unique identifier for the loyalty currency
|
|
2712
|
+
*/
|
|
2713
|
+
loyaltyCurrencyId: string | null;
|
|
2714
|
+
|
|
2715
|
+
loyaltyRule: Association.LoyaltyRule | null;
|
|
2716
|
+
|
|
2717
|
+
/**
|
|
2718
|
+
* Unique identifier for the loyalty rule group
|
|
2719
|
+
*/
|
|
2720
|
+
loyaltyRuleGroupId: string | null;
|
|
2721
|
+
|
|
2722
|
+
/**
|
|
2723
|
+
* Unique identifier for the loyalty rule
|
|
2724
|
+
*/
|
|
2725
|
+
loyaltyRuleId: string | null;
|
|
2726
|
+
}
|
|
2727
|
+
|
|
2728
|
+
export namespace Association {
|
|
2729
|
+
export interface LoyaltyRule {
|
|
2730
|
+
/**
|
|
2731
|
+
* Name of the loyalty rule
|
|
2732
|
+
*/
|
|
2733
|
+
name: string;
|
|
2734
|
+
}
|
|
2735
|
+
}
|
|
2736
|
+
}
|
|
2737
|
+
}
|
|
2738
|
+
|
|
2739
|
+
export interface Metadata {
|
|
2740
|
+
/**
|
|
2741
|
+
* Number of tokens per batch.
|
|
2742
|
+
*/
|
|
2743
|
+
batchSize?: number | null;
|
|
2744
|
+
|
|
2745
|
+
/**
|
|
2746
|
+
* Text displayed on the action button.
|
|
2747
|
+
*/
|
|
2748
|
+
buttonText?: string | null;
|
|
2749
|
+
|
|
2750
|
+
/**
|
|
2751
|
+
* Flag indicating if commenting is required.
|
|
2752
|
+
*/
|
|
2753
|
+
checkComment?: boolean | null;
|
|
2754
|
+
|
|
2755
|
+
/**
|
|
2756
|
+
* Flag indicating if liking the post is required.
|
|
2757
|
+
*/
|
|
2758
|
+
checkLike?: boolean | null;
|
|
2759
|
+
|
|
2760
|
+
/**
|
|
2761
|
+
* Flag indicating if reposting is required.
|
|
2762
|
+
*/
|
|
2763
|
+
checkRepost?: boolean | null;
|
|
2764
|
+
|
|
2765
|
+
/**
|
|
2766
|
+
* Text to check in the Twitter post, username, or bio.
|
|
2767
|
+
*/
|
|
2768
|
+
checkText?: string | Array<string> | null;
|
|
2769
|
+
|
|
2770
|
+
/**
|
|
2771
|
+
* Array of collections associated with the rule.
|
|
2772
|
+
*/
|
|
2773
|
+
collection?: Array<Metadata.Collection>;
|
|
2774
|
+
|
|
2775
|
+
/**
|
|
2776
|
+
* Conditions for completing the profile.
|
|
2777
|
+
*/
|
|
2778
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
2779
|
+
|
|
2780
|
+
/**
|
|
2781
|
+
* Description of the external rule condition (only for external rules)
|
|
2782
|
+
*/
|
|
2783
|
+
conditionDescription?: string;
|
|
2784
|
+
|
|
2785
|
+
/**
|
|
2786
|
+
* Object containing details for the call-to-action.
|
|
2787
|
+
*/
|
|
2788
|
+
cta?: Metadata.Cta | null;
|
|
2789
|
+
|
|
2790
|
+
/**
|
|
2791
|
+
* API key for custom rewards integration.
|
|
2792
|
+
*/
|
|
2793
|
+
customRewardsApiKey?: string;
|
|
2794
|
+
|
|
2795
|
+
/**
|
|
2796
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
2797
|
+
*/
|
|
2798
|
+
directRpc?: boolean;
|
|
2799
|
+
|
|
2800
|
+
/**
|
|
2801
|
+
* Array of Discord servers, channels, and roles to join.
|
|
2802
|
+
*/
|
|
2803
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
2804
|
+
|
|
2805
|
+
/**
|
|
2806
|
+
* Array of drip quests required to complete the rule.
|
|
2807
|
+
*/
|
|
2808
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
2809
|
+
|
|
2810
|
+
/**
|
|
2811
|
+
* Flag indicating whether joining Discord servers is required.
|
|
2812
|
+
*/
|
|
2813
|
+
enableJoinDiscordServers?: boolean | null;
|
|
2814
|
+
|
|
2815
|
+
/**
|
|
2816
|
+
* Flag indicating whether streaks are enabled.
|
|
2817
|
+
*/
|
|
2818
|
+
enableStreaks?: boolean | null;
|
|
2819
|
+
|
|
2820
|
+
/**
|
|
2821
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
2822
|
+
*/
|
|
2823
|
+
enableVerifiedMultiplier?: boolean;
|
|
2824
|
+
|
|
2825
|
+
/**
|
|
2826
|
+
* Fill source of the order for the token sale
|
|
2827
|
+
*/
|
|
2828
|
+
fillSource?: string;
|
|
2829
|
+
|
|
2830
|
+
/**
|
|
2831
|
+
* Percentage reward given to a user for their first referral.
|
|
2832
|
+
*/
|
|
2833
|
+
firstReferralReward?: number | null;
|
|
2834
|
+
|
|
2835
|
+
/**
|
|
2836
|
+
* Flag indicating whether the fill source is included.
|
|
2837
|
+
*/
|
|
2838
|
+
hasFillSource?: boolean;
|
|
2839
|
+
|
|
2840
|
+
/**
|
|
2841
|
+
* Indicates if the item has never been sold.
|
|
2842
|
+
*/
|
|
2843
|
+
hasNeverSold?: boolean;
|
|
2844
|
+
|
|
2845
|
+
/**
|
|
2846
|
+
* Indicates if the full royalty has been paid for items.
|
|
2847
|
+
*/
|
|
2848
|
+
hasPaidFullRoyalty?: boolean;
|
|
2849
|
+
|
|
2850
|
+
/**
|
|
2851
|
+
* Flag indicating if the sale currency is included.
|
|
2852
|
+
*/
|
|
2853
|
+
hasSaleCurrency?: boolean;
|
|
2854
|
+
|
|
2855
|
+
/**
|
|
2856
|
+
* Indicates if the user has a verified Twitter account.
|
|
2857
|
+
*/
|
|
2858
|
+
hasVerifiedTwitter?: boolean;
|
|
2859
|
+
|
|
2860
|
+
/**
|
|
2861
|
+
* URL of the image associated with the rule.
|
|
2862
|
+
*/
|
|
2863
|
+
imageUrl?: string | null;
|
|
2864
|
+
|
|
2865
|
+
/**
|
|
2866
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
2867
|
+
*/
|
|
2868
|
+
isCheckInOnEveryTxn?: boolean;
|
|
2869
|
+
|
|
2870
|
+
/**
|
|
2871
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
2872
|
+
*/
|
|
2873
|
+
isMultiplierApplied?: boolean;
|
|
2874
|
+
|
|
2875
|
+
/**
|
|
2876
|
+
* Flag indicating if the rule is restricted to new users.
|
|
2877
|
+
*/
|
|
2878
|
+
isRestrictedToNewUsers?: boolean;
|
|
2879
|
+
|
|
2880
|
+
/**
|
|
2881
|
+
* Flag indicating if rewards are applied retroactively.
|
|
2882
|
+
*/
|
|
2883
|
+
isRetroactive?: boolean | null;
|
|
2884
|
+
|
|
2885
|
+
/**
|
|
2886
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2887
|
+
*/
|
|
2888
|
+
isTokenHoldMultiplier?: boolean;
|
|
2889
|
+
|
|
2890
|
+
/**
|
|
2891
|
+
* Optional link associated with the metadata.
|
|
2892
|
+
*/
|
|
2893
|
+
link?: string | null;
|
|
2894
|
+
|
|
2895
|
+
/**
|
|
2896
|
+
* Liquidity pool details.
|
|
2897
|
+
*/
|
|
2898
|
+
liquidity?: Metadata.Liquidity;
|
|
2899
|
+
|
|
2900
|
+
/**
|
|
2901
|
+
* Maximum quantity constraint for token holding.
|
|
2902
|
+
*/
|
|
2903
|
+
maxQty?: number | null;
|
|
2904
|
+
|
|
2905
|
+
/**
|
|
2906
|
+
* Minimum quantity constraint for token holding.
|
|
2907
|
+
*/
|
|
2908
|
+
minQty?: number | null;
|
|
2909
|
+
|
|
2910
|
+
/**
|
|
2911
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2912
|
+
*/
|
|
2913
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2914
|
+
|
|
2915
|
+
/**
|
|
2916
|
+
* Flag indicating whether to include only known users.
|
|
2917
|
+
*/
|
|
2918
|
+
onlyKnownUsers?: boolean;
|
|
2919
|
+
|
|
2920
|
+
/**
|
|
2921
|
+
* Flag indicating whether to include only native tokens.
|
|
2922
|
+
*/
|
|
2923
|
+
onlyNative?: boolean;
|
|
2924
|
+
|
|
2925
|
+
/**
|
|
2926
|
+
* Flag indicating whether to include only non-listed items.
|
|
2927
|
+
*/
|
|
2928
|
+
onlyNonListed?: boolean;
|
|
2929
|
+
|
|
2930
|
+
/**
|
|
2931
|
+
* Indicates if only existing users are rewarded.
|
|
2932
|
+
*/
|
|
2933
|
+
onlyRewardExistingUser?: boolean;
|
|
2934
|
+
|
|
2935
|
+
/**
|
|
2936
|
+
* give points for only one token ownership per contract
|
|
2937
|
+
*/
|
|
2938
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2939
|
+
|
|
2940
|
+
/**
|
|
2941
|
+
* Promotional code associated with the rule.
|
|
2942
|
+
*/
|
|
2943
|
+
promoCode?: string;
|
|
2944
|
+
|
|
2945
|
+
/**
|
|
2946
|
+
* URL of the CSV file containing promo codes.
|
|
2947
|
+
*/
|
|
2948
|
+
promoCodeCsvUrl?: string;
|
|
2949
|
+
|
|
2950
|
+
/**
|
|
2951
|
+
* Numbers of the promotional code to be generated.
|
|
2952
|
+
*/
|
|
2953
|
+
promoCodeLength?: number | null;
|
|
2954
|
+
|
|
2955
|
+
/**
|
|
2956
|
+
* Type of the promotional code.
|
|
2957
|
+
*/
|
|
2958
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2959
|
+
|
|
2960
|
+
/**
|
|
2961
|
+
* Array defining ranges and corresponding rewards.
|
|
2962
|
+
*/
|
|
2963
|
+
range?: Array<Metadata.Range>;
|
|
2964
|
+
|
|
2965
|
+
/**
|
|
2966
|
+
* Object defining referral requirements.
|
|
2967
|
+
*/
|
|
2968
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2969
|
+
|
|
2970
|
+
/**
|
|
2971
|
+
* Lump sum reward given to a referrer.
|
|
2972
|
+
*/
|
|
2973
|
+
referrerReward?: number | null;
|
|
2974
|
+
|
|
2975
|
+
/**
|
|
2976
|
+
* Loyalty currency ID of the referrer reward.
|
|
2977
|
+
*/
|
|
2978
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
2979
|
+
|
|
2980
|
+
/**
|
|
2981
|
+
* Flag indicating if the post link is required.
|
|
2982
|
+
*/
|
|
2983
|
+
requirePostLink?: boolean | null;
|
|
2984
|
+
|
|
2985
|
+
/**
|
|
2986
|
+
* Flag indicating if media metadata is required.
|
|
2987
|
+
*/
|
|
2988
|
+
requirePostMediaLink?: boolean | null;
|
|
2989
|
+
|
|
2990
|
+
/**
|
|
2991
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
2992
|
+
*/
|
|
2993
|
+
rewardBadgePerRange?: boolean;
|
|
2994
|
+
|
|
2995
|
+
/**
|
|
2996
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
2997
|
+
*/
|
|
2998
|
+
rewardByBatch?: boolean | null;
|
|
2999
|
+
|
|
3000
|
+
/**
|
|
3001
|
+
* Criteria to evaluate the reward.
|
|
3002
|
+
*/
|
|
3003
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
3004
|
+
|
|
3005
|
+
/**
|
|
3006
|
+
* Flag indicating if the reward is rewarded per action.
|
|
3007
|
+
*/
|
|
3008
|
+
rewardPerAction?: boolean | null;
|
|
3009
|
+
|
|
3010
|
+
/**
|
|
3011
|
+
* Flag indicating if rewards are given per impression.
|
|
3012
|
+
*/
|
|
3013
|
+
rewardPerImpression?: boolean | null;
|
|
3014
|
+
|
|
3015
|
+
/**
|
|
3016
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
3017
|
+
* instead of count.
|
|
3018
|
+
*/
|
|
3019
|
+
rewardPerValue?: boolean;
|
|
3020
|
+
|
|
3021
|
+
/**
|
|
3022
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
3023
|
+
*/
|
|
3024
|
+
royaltyAddress?: string;
|
|
3025
|
+
|
|
3026
|
+
/**
|
|
3027
|
+
* Royalty percentage of the item.
|
|
3028
|
+
*/
|
|
3029
|
+
royaltyPercentage?: number;
|
|
3030
|
+
|
|
3031
|
+
/**
|
|
3032
|
+
* Currency associated with sales.
|
|
3033
|
+
*/
|
|
3034
|
+
saleCurrency?: string;
|
|
3035
|
+
|
|
3036
|
+
/**
|
|
3037
|
+
* Percentage reward given for a second-level referral.
|
|
3038
|
+
*/
|
|
3039
|
+
secondReferralReward?: number | null;
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* Flag indicating if the multiplier is skipped.
|
|
3043
|
+
*/
|
|
3044
|
+
skipMultiplier?: boolean | null;
|
|
3045
|
+
|
|
3046
|
+
/**
|
|
3047
|
+
* Object containing details of the associated smart contract.
|
|
3048
|
+
*/
|
|
3049
|
+
smartContract?: Metadata.SmartContract;
|
|
3050
|
+
|
|
3051
|
+
/**
|
|
3052
|
+
* Array of snapshot proposals for the rule.
|
|
3053
|
+
*/
|
|
3054
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
3055
|
+
|
|
3056
|
+
/**
|
|
3057
|
+
* Social media platform associated with the rule.
|
|
3058
|
+
*/
|
|
3059
|
+
socialPlatform?:
|
|
3060
|
+
| 'Custom'
|
|
3061
|
+
| 'Discord'
|
|
3062
|
+
| 'EpicGames'
|
|
3063
|
+
| 'Instagram'
|
|
3064
|
+
| 'Steam'
|
|
3065
|
+
| 'Telegram'
|
|
3066
|
+
| 'TikTok'
|
|
3067
|
+
| 'Twitch'
|
|
3068
|
+
| 'X(Twitter)'
|
|
3069
|
+
| 'YouTube'
|
|
3070
|
+
| 'Google'
|
|
3071
|
+
| null;
|
|
3072
|
+
|
|
3073
|
+
/**
|
|
3074
|
+
* URL of the social platform's logo.
|
|
3075
|
+
*/
|
|
3076
|
+
socialPlatformLogo?: string | null;
|
|
3077
|
+
|
|
3078
|
+
/**
|
|
3079
|
+
* Name of the social platform.
|
|
3080
|
+
*/
|
|
3081
|
+
socialPlatformName?: string | null;
|
|
3082
|
+
|
|
3083
|
+
/**
|
|
3084
|
+
* ID of the Steam app.
|
|
3085
|
+
*/
|
|
3086
|
+
steamAppId?: string | null;
|
|
3087
|
+
|
|
3088
|
+
/**
|
|
3089
|
+
* Array of streak milestones and corresponding rewards.
|
|
3090
|
+
*/
|
|
3091
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3092
|
+
|
|
3093
|
+
/**
|
|
3094
|
+
* Metadata for swap loyalty rules
|
|
3095
|
+
*/
|
|
3096
|
+
swap?: Metadata.Swap;
|
|
3097
|
+
|
|
3098
|
+
/**
|
|
3099
|
+
* ID of the Telegram channel.
|
|
3100
|
+
*/
|
|
3101
|
+
telegramChannelId?: string | null;
|
|
3102
|
+
|
|
3103
|
+
/**
|
|
3104
|
+
* Time delay in seconds to verify actions.
|
|
3105
|
+
*/
|
|
3106
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
3107
|
+
|
|
3108
|
+
/**
|
|
3109
|
+
* Flag indicating if all contracts are tracked.
|
|
3110
|
+
*/
|
|
3111
|
+
trackAllContracts?: boolean | null;
|
|
3112
|
+
|
|
3113
|
+
/**
|
|
3114
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
3115
|
+
* completed once the progress is 100%.
|
|
3116
|
+
*/
|
|
3117
|
+
trackProgress?: boolean | null;
|
|
3118
|
+
|
|
3119
|
+
/**
|
|
3120
|
+
* URL of the associated Twitter account.
|
|
3121
|
+
*/
|
|
3122
|
+
twitterAccountUrl?: string;
|
|
3123
|
+
|
|
3124
|
+
/**
|
|
3125
|
+
* Hashtag associated with the Twitter post.
|
|
3126
|
+
*/
|
|
3127
|
+
twitterHashtag?: string;
|
|
3128
|
+
|
|
3129
|
+
/**
|
|
3130
|
+
* URL of the associated Twitter post.
|
|
3131
|
+
*/
|
|
3132
|
+
twitterPostUrl?: string;
|
|
3133
|
+
|
|
3134
|
+
/**
|
|
3135
|
+
* Unique identifier of the Twitter user.
|
|
3136
|
+
*/
|
|
3137
|
+
twitterUserId?: string;
|
|
3138
|
+
|
|
3139
|
+
/**
|
|
3140
|
+
* Twitter username of the user.
|
|
3141
|
+
*/
|
|
3142
|
+
twitterUsername?: string;
|
|
3143
|
+
|
|
3144
|
+
/**
|
|
3145
|
+
* Minimum length of the verification text.
|
|
3146
|
+
*/
|
|
3147
|
+
verificationTextMinimumLength?: number | null;
|
|
3148
|
+
|
|
3149
|
+
/**
|
|
3150
|
+
* Multiplier applied to rewards for verified users.
|
|
3151
|
+
*/
|
|
3152
|
+
verifiedMultiplier?: number | null;
|
|
3153
|
+
|
|
3154
|
+
/**
|
|
3155
|
+
* Placeholder text for verification input fields.
|
|
3156
|
+
*/
|
|
3157
|
+
verifyPlaceHolderText?: string | null;
|
|
3158
|
+
|
|
3159
|
+
/**
|
|
3160
|
+
* Type of wallet associated with the rule.
|
|
3161
|
+
*/
|
|
3162
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
|
|
3163
|
+
|
|
3164
|
+
/**
|
|
3165
|
+
* ID of the Youtube channel.
|
|
3166
|
+
*/
|
|
3167
|
+
youtubeChannelId?: string | null;
|
|
3168
|
+
|
|
3169
|
+
/**
|
|
3170
|
+
* ID of the Youtube video.
|
|
3171
|
+
*/
|
|
3172
|
+
youtubeVideoId?: string | null;
|
|
3173
|
+
}
|
|
3174
|
+
|
|
3175
|
+
export namespace Metadata {
|
|
3176
|
+
export interface Collection {
|
|
3177
|
+
/**
|
|
3178
|
+
* Blockchain address of the collection.
|
|
3179
|
+
*/
|
|
3180
|
+
address?: string;
|
|
3181
|
+
|
|
3182
|
+
/**
|
|
3183
|
+
* Multiplier applied to the rewards for this collection.
|
|
3184
|
+
*/
|
|
3185
|
+
multiplier?: number;
|
|
3186
|
+
|
|
3187
|
+
/**
|
|
3188
|
+
* Blockchain network of the collection.
|
|
3189
|
+
*/
|
|
3190
|
+
network?:
|
|
3191
|
+
| 'abstract'
|
|
3192
|
+
| 'abstractTestnet'
|
|
3193
|
+
| 'apechain'
|
|
3194
|
+
| 'arbitrum'
|
|
3195
|
+
| 'avalanche'
|
|
3196
|
+
| 'avalancheFuji'
|
|
3197
|
+
| 'base'
|
|
3198
|
+
| 'baseSepolia'
|
|
3199
|
+
| 'berachain'
|
|
3200
|
+
| 'berachainArtio'
|
|
3201
|
+
| 'berachainBepolia'
|
|
3202
|
+
| 'binance'
|
|
3203
|
+
| 'bscTestnet'
|
|
3204
|
+
| 'campTestnet'
|
|
3205
|
+
| 'fantom'
|
|
3206
|
+
| 'fantomTestnet'
|
|
3207
|
+
| 'flowMainnet'
|
|
3208
|
+
| 'mainnet'
|
|
3209
|
+
| 'nexusTestnet'
|
|
3210
|
+
| 'optimism'
|
|
3211
|
+
| 'polygon'
|
|
3212
|
+
| 'polygon_mumbai'
|
|
3213
|
+
| 'skaleNebula'
|
|
3214
|
+
| 'solana'
|
|
3215
|
+
| 'sophon'
|
|
3216
|
+
| 'sophonTestnet'
|
|
3217
|
+
| 'sui'
|
|
3218
|
+
| 'superseed'
|
|
3219
|
+
| 'superseedSepolia'
|
|
3220
|
+
| 'vanar'
|
|
3221
|
+
| 'xai'
|
|
3222
|
+
| 'zksync'
|
|
3223
|
+
| 'coti'
|
|
3224
|
+
| 'cotiTestnet'
|
|
3225
|
+
| 'morph'
|
|
3226
|
+
| 'morphTestnet'
|
|
3227
|
+
| 'morphHolesky'
|
|
3228
|
+
| 'ultra'
|
|
3229
|
+
| 'ultraTestnet'
|
|
3230
|
+
| 'nitrograph'
|
|
3231
|
+
| 'sepolia'
|
|
3232
|
+
| 'optimism_sepolia'
|
|
3233
|
+
| 'arbitrumSepolia'
|
|
3234
|
+
| 'goerli'
|
|
3235
|
+
| 'optimism_goerli'
|
|
3236
|
+
| 'arbitrumGoerli'
|
|
3237
|
+
| 'basecamp'
|
|
3238
|
+
| 'somnia';
|
|
3239
|
+
}
|
|
3240
|
+
|
|
3241
|
+
/**
|
|
3242
|
+
* Object containing details for the call-to-action.
|
|
3243
|
+
*/
|
|
3244
|
+
export interface Cta {
|
|
3245
|
+
/**
|
|
3246
|
+
* Link for the call-to-action.
|
|
3247
|
+
*/
|
|
3248
|
+
href?: string | null;
|
|
3249
|
+
|
|
3250
|
+
/**
|
|
3251
|
+
* Label for the call-to-action.
|
|
3252
|
+
*/
|
|
3253
|
+
label?: string | null;
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3256
|
+
export interface DiscordServersToJoin {
|
|
3257
|
+
/**
|
|
3258
|
+
* ID of the Discord server to join.
|
|
3259
|
+
*/
|
|
3260
|
+
id?: string;
|
|
3261
|
+
|
|
3262
|
+
/**
|
|
3263
|
+
* Array of Discord channels to join.
|
|
3264
|
+
*/
|
|
3265
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
3266
|
+
|
|
3267
|
+
/**
|
|
3268
|
+
* Array of roles to assign in the Discord server.
|
|
3269
|
+
*/
|
|
3270
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
3271
|
+
}
|
|
3272
|
+
|
|
3273
|
+
export namespace DiscordServersToJoin {
|
|
3274
|
+
export interface Channel {
|
|
3275
|
+
/**
|
|
3276
|
+
* ID of the Discord channel.
|
|
3277
|
+
*/
|
|
3278
|
+
id?: string;
|
|
3279
|
+
|
|
3280
|
+
/**
|
|
3281
|
+
* Array of emojis used in the channel.
|
|
3282
|
+
*/
|
|
3283
|
+
emojis?: Array<Channel.Emoji>;
|
|
3284
|
+
|
|
3285
|
+
/**
|
|
3286
|
+
* Phrase of text to be present in the discord message
|
|
3287
|
+
*/
|
|
3288
|
+
text?: string;
|
|
3289
|
+
}
|
|
3290
|
+
|
|
3291
|
+
export namespace Channel {
|
|
3292
|
+
export interface Emoji {
|
|
3293
|
+
/**
|
|
3294
|
+
* ID of the emoji used in the channel.
|
|
3295
|
+
*/
|
|
3296
|
+
id?: string;
|
|
3297
|
+
}
|
|
3298
|
+
}
|
|
3299
|
+
|
|
3300
|
+
export interface Role {
|
|
3301
|
+
/**
|
|
3302
|
+
* ID of the role in the Discord server.
|
|
3303
|
+
*/
|
|
3304
|
+
id: string;
|
|
3305
|
+
}
|
|
3306
|
+
}
|
|
3307
|
+
|
|
3308
|
+
export interface DripQuestsToComplete {
|
|
3309
|
+
/**
|
|
3310
|
+
* ID of the drip quest to complete.
|
|
3311
|
+
*/
|
|
3312
|
+
id: string;
|
|
3313
|
+
}
|
|
3314
|
+
|
|
3315
|
+
/**
|
|
3316
|
+
* Liquidity pool details.
|
|
3317
|
+
*/
|
|
3318
|
+
export interface Liquidity {
|
|
3319
|
+
/**
|
|
3320
|
+
* Calculation type of the liquidity pool.
|
|
3321
|
+
*/
|
|
3322
|
+
calculationType?: 'fixed' | 'custom';
|
|
3323
|
+
|
|
3324
|
+
/**
|
|
3325
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
3326
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
3327
|
+
* USD.
|
|
3328
|
+
*/
|
|
3329
|
+
customFunction?: string;
|
|
3330
|
+
|
|
3331
|
+
/**
|
|
3332
|
+
* Liquidity provided per day in USD
|
|
3333
|
+
*/
|
|
3334
|
+
liquidityPerDay?: number;
|
|
3335
|
+
|
|
3336
|
+
/**
|
|
3337
|
+
* Blockchain network of the liquidity pool.
|
|
3338
|
+
*/
|
|
3339
|
+
network?:
|
|
3340
|
+
| 'abstract'
|
|
3341
|
+
| 'abstractTestnet'
|
|
3342
|
+
| 'apechain'
|
|
3343
|
+
| 'arbitrum'
|
|
3344
|
+
| 'avalanche'
|
|
3345
|
+
| 'avalancheFuji'
|
|
3346
|
+
| 'base'
|
|
3347
|
+
| 'baseSepolia'
|
|
3348
|
+
| 'berachain'
|
|
3349
|
+
| 'berachainArtio'
|
|
3350
|
+
| 'berachainBepolia'
|
|
3351
|
+
| 'binance'
|
|
3352
|
+
| 'bscTestnet'
|
|
3353
|
+
| 'campTestnet'
|
|
3354
|
+
| 'fantom'
|
|
3355
|
+
| 'fantomTestnet'
|
|
3356
|
+
| 'flowMainnet'
|
|
3357
|
+
| 'mainnet'
|
|
3358
|
+
| 'nexusTestnet'
|
|
3359
|
+
| 'optimism'
|
|
3360
|
+
| 'polygon'
|
|
3361
|
+
| 'polygon_mumbai'
|
|
3362
|
+
| 'skaleNebula'
|
|
3363
|
+
| 'solana'
|
|
3364
|
+
| 'sophon'
|
|
3365
|
+
| 'sophonTestnet'
|
|
3366
|
+
| 'sui'
|
|
3367
|
+
| 'superseed'
|
|
3368
|
+
| 'superseedSepolia'
|
|
3369
|
+
| 'vanar'
|
|
3370
|
+
| 'xai'
|
|
3371
|
+
| 'zksync'
|
|
3372
|
+
| 'coti'
|
|
3373
|
+
| 'cotiTestnet'
|
|
3374
|
+
| 'morph'
|
|
3375
|
+
| 'morphTestnet'
|
|
3376
|
+
| 'morphHolesky'
|
|
3377
|
+
| 'ultra'
|
|
3378
|
+
| 'ultraTestnet'
|
|
3379
|
+
| 'nitrograph'
|
|
3380
|
+
| 'sepolia'
|
|
3381
|
+
| 'optimism_sepolia'
|
|
3382
|
+
| 'arbitrumSepolia'
|
|
3383
|
+
| 'goerli'
|
|
3384
|
+
| 'optimism_goerli'
|
|
3385
|
+
| 'arbitrumGoerli'
|
|
3386
|
+
| 'basecamp'
|
|
3387
|
+
| 'somnia';
|
|
3388
|
+
|
|
3389
|
+
/**
|
|
3390
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
3391
|
+
*/
|
|
3392
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
3393
|
+
|
|
3394
|
+
/**
|
|
3395
|
+
* Array of liquidity pools associated with the rule.
|
|
3396
|
+
*/
|
|
3397
|
+
pools?: Array<Liquidity.Pool>;
|
|
3398
|
+
|
|
3399
|
+
/**
|
|
3400
|
+
* Protocol of the liquidity pool.
|
|
3401
|
+
*/
|
|
3402
|
+
protocol?: string;
|
|
3403
|
+
}
|
|
3404
|
+
|
|
3405
|
+
export namespace Liquidity {
|
|
3406
|
+
export interface Pool {
|
|
3407
|
+
/**
|
|
3408
|
+
* Unique identifier of the liquidity pool.
|
|
3409
|
+
*/
|
|
3410
|
+
id: string;
|
|
3411
|
+
}
|
|
3412
|
+
}
|
|
3413
|
+
|
|
3414
|
+
export interface Range {
|
|
3415
|
+
/**
|
|
3416
|
+
* Reward amount for this range.
|
|
3417
|
+
*/
|
|
3418
|
+
amount: number;
|
|
3419
|
+
|
|
3420
|
+
/**
|
|
3421
|
+
* End value of the range.
|
|
3422
|
+
*/
|
|
3423
|
+
endRange: number;
|
|
3424
|
+
|
|
3425
|
+
/**
|
|
3426
|
+
* Start value of the range.
|
|
3427
|
+
*/
|
|
3428
|
+
startRange: number;
|
|
3429
|
+
|
|
3430
|
+
/**
|
|
3431
|
+
* ID of the loyalty badge for this range.
|
|
3432
|
+
*/
|
|
3433
|
+
loyaltyBadgeId?: string;
|
|
3434
|
+
|
|
3435
|
+
/**
|
|
3436
|
+
* Amount of the loyalty multiplier for this range.
|
|
3437
|
+
*/
|
|
3438
|
+
loyaltyMultiplierAmount?: number;
|
|
3439
|
+
}
|
|
3440
|
+
|
|
3441
|
+
/**
|
|
3442
|
+
* Object defining referral requirements.
|
|
3443
|
+
*/
|
|
3444
|
+
export interface ReferralRequirements {
|
|
3445
|
+
/**
|
|
3446
|
+
* Flag indicating if achieving points is required.
|
|
3447
|
+
*/
|
|
3448
|
+
achievePoints?: boolean | null;
|
|
3449
|
+
|
|
3450
|
+
/**
|
|
3451
|
+
* Flag indicating if completing the profile is required.
|
|
3452
|
+
*/
|
|
3453
|
+
completeProfile?: boolean | null;
|
|
3454
|
+
|
|
3455
|
+
/**
|
|
3456
|
+
* Flag indicating if connecting Discord is required.
|
|
3457
|
+
*/
|
|
3458
|
+
connectDiscord?: boolean | null;
|
|
3459
|
+
|
|
3460
|
+
/**
|
|
3461
|
+
* Flag indicating if connecting email is required.
|
|
3462
|
+
*/
|
|
3463
|
+
connectEmail?: boolean | null;
|
|
3464
|
+
|
|
3465
|
+
/**
|
|
3466
|
+
* Flag indicating if connecting Twitter is required.
|
|
3467
|
+
*/
|
|
3468
|
+
connectTwitter?: boolean | null;
|
|
3469
|
+
|
|
3470
|
+
points?: ReferralRequirements.Points | null;
|
|
3471
|
+
}
|
|
3472
|
+
|
|
3473
|
+
export namespace ReferralRequirements {
|
|
3474
|
+
export interface Points {
|
|
3475
|
+
/**
|
|
3476
|
+
* Points required for referral.
|
|
3477
|
+
*/
|
|
3478
|
+
amount?: number | null;
|
|
3479
|
+
|
|
3480
|
+
/**
|
|
3481
|
+
* ID of the loyalty currency for referral.
|
|
3482
|
+
*/
|
|
3483
|
+
loyaltyCurrecyId?: string | null;
|
|
3484
|
+
}
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3487
|
+
/**
|
|
3488
|
+
* Object containing details of the associated smart contract.
|
|
3489
|
+
*/
|
|
3490
|
+
export interface SmartContract {
|
|
3491
|
+
/**
|
|
3492
|
+
* Mapping of addresses for the smart contract.
|
|
3493
|
+
*/
|
|
3494
|
+
addressMapping?: string | null;
|
|
3495
|
+
|
|
3496
|
+
/**
|
|
3497
|
+
* Object containing details of the amount multiplier from the event.
|
|
3498
|
+
*/
|
|
3499
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3500
|
+
|
|
3501
|
+
/**
|
|
3502
|
+
* ID of the smart contract.
|
|
3503
|
+
*/
|
|
3504
|
+
contractId?: string | null;
|
|
3505
|
+
|
|
3506
|
+
/**
|
|
3507
|
+
* Criteria to evaluate the smart contract event.
|
|
3508
|
+
*/
|
|
3509
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3510
|
+
|
|
3511
|
+
/**
|
|
3512
|
+
* Event emitted by the smart contract.
|
|
3513
|
+
*/
|
|
3514
|
+
event?: string | null;
|
|
3515
|
+
|
|
3516
|
+
/**
|
|
3517
|
+
* Array of parameters for the smart contract.
|
|
3518
|
+
*/
|
|
3519
|
+
params?: Array<SmartContract.Param> | null;
|
|
3520
|
+
|
|
3521
|
+
/**
|
|
3522
|
+
* Type of the smart contract interaction.
|
|
3523
|
+
*/
|
|
3524
|
+
type?: 'function' | 'event' | null;
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
export namespace SmartContract {
|
|
3528
|
+
/**
|
|
3529
|
+
* Object containing details of the amount multiplier from the event.
|
|
3530
|
+
*/
|
|
3531
|
+
export interface AmountMultiplier {
|
|
3532
|
+
/**
|
|
3533
|
+
* Mapping of the value for the smart contract.
|
|
3534
|
+
*/
|
|
3535
|
+
valueMapping?: string | null;
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
export interface Param {
|
|
3539
|
+
/**
|
|
3540
|
+
* Condition to check for the parameter.
|
|
3541
|
+
*/
|
|
3542
|
+
condition?: string | null;
|
|
3543
|
+
|
|
3544
|
+
/**
|
|
3545
|
+
* Name of the smart contract parameter.
|
|
3546
|
+
*/
|
|
3547
|
+
name?: string | null;
|
|
3548
|
+
|
|
3549
|
+
/**
|
|
3550
|
+
* Value of the parameter.
|
|
3551
|
+
*/
|
|
3552
|
+
value?: string | null;
|
|
3553
|
+
}
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3556
|
+
export interface SnapshotProposal {
|
|
3557
|
+
/**
|
|
3558
|
+
* ID of the snapshot proposal.
|
|
3559
|
+
*/
|
|
3560
|
+
id: string;
|
|
3561
|
+
|
|
3562
|
+
/**
|
|
3563
|
+
* Space associated with the snapshot proposal.
|
|
3564
|
+
*/
|
|
3565
|
+
space: string;
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
export interface StreakArray {
|
|
3569
|
+
/**
|
|
3570
|
+
* Reward amount for achieving the streak milestone.
|
|
3571
|
+
*/
|
|
3572
|
+
streakAmount: number;
|
|
3573
|
+
|
|
3574
|
+
/**
|
|
3575
|
+
* Milestone required to achieve the streak.
|
|
3576
|
+
*/
|
|
3577
|
+
streakMilestone: number;
|
|
3578
|
+
}
|
|
3579
|
+
|
|
3580
|
+
/**
|
|
3581
|
+
* Metadata for swap loyalty rules
|
|
3582
|
+
*/
|
|
3583
|
+
export interface Swap {
|
|
3584
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1885
3585
|
|
|
1886
|
-
|
|
1887
|
-
* Frequency of the loyalty rule
|
|
1888
|
-
*/
|
|
1889
|
-
frequency: string;
|
|
3586
|
+
relayReferrerId?: string;
|
|
1890
3587
|
|
|
1891
|
-
|
|
1892
|
-
* Unique identifier for the organization
|
|
1893
|
-
*/
|
|
1894
|
-
organizationId: string;
|
|
3588
|
+
requireCrossChainSwap?: boolean;
|
|
1895
3589
|
|
|
1896
|
-
|
|
1897
|
-
* Type of the loyalty rule
|
|
1898
|
-
*/
|
|
1899
|
-
type: string;
|
|
3590
|
+
swappedToChain?: 'any' | number | string;
|
|
1900
3591
|
|
|
1901
|
-
|
|
1902
|
-
* Timestamp when the loyalty rule was last updated
|
|
1903
|
-
*/
|
|
1904
|
-
updatedAt: string;
|
|
3592
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
1905
3593
|
|
|
1906
|
-
|
|
1907
|
-
* Unique identifier for the website
|
|
1908
|
-
*/
|
|
1909
|
-
websiteId: string;
|
|
3594
|
+
tokenMode?: 'any' | 'specific';
|
|
1910
3595
|
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
*/
|
|
1914
|
-
collectionAddress?: string;
|
|
3596
|
+
trackTokenAmount?: boolean;
|
|
3597
|
+
}
|
|
1915
3598
|
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
3599
|
+
export namespace Swap {
|
|
3600
|
+
export interface SwappedToToken {
|
|
3601
|
+
address: string;
|
|
3602
|
+
|
|
3603
|
+
chainId: string;
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
}
|
|
1920
3607
|
}
|
|
1921
3608
|
}
|
|
1922
3609
|
|
|
@@ -1927,7 +3614,9 @@ export interface RuleDeleteResponse {
|
|
|
1927
3614
|
}
|
|
1928
3615
|
|
|
1929
3616
|
export interface RuleCompleteResponse {
|
|
1930
|
-
message:
|
|
3617
|
+
message:
|
|
3618
|
+
| 'Completion request added to queue'
|
|
3619
|
+
| 'Link click being verified, come back later to check the status';
|
|
1931
3620
|
}
|
|
1932
3621
|
|
|
1933
3622
|
export interface RuleGetStatusResponse {
|
|
@@ -1938,11 +3627,99 @@ export namespace RuleGetStatusResponse {
|
|
|
1938
3627
|
export interface Data {
|
|
1939
3628
|
loyaltyRuleId: string;
|
|
1940
3629
|
|
|
1941
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1942
|
-
|
|
1943
3630
|
userId: string;
|
|
1944
3631
|
|
|
3632
|
+
/**
|
|
3633
|
+
* Categorized examples of messages that may be returned for a loyalty rule's
|
|
3634
|
+
* processing result.
|
|
3635
|
+
*
|
|
3636
|
+
* User Onboarding
|
|
3637
|
+
*
|
|
3638
|
+
* - Check In: "Streak successful"
|
|
3639
|
+
* - Complete Profile Details: "Profile not complete"
|
|
3640
|
+
*
|
|
3641
|
+
* Connect Accounts
|
|
3642
|
+
*
|
|
3643
|
+
* - Connect TikTok: "TikTok not connected"
|
|
3644
|
+
* - Connect Discord: "Discord not connected", "Discord request timeout"
|
|
3645
|
+
* - Connect X: "Twitter not connected", "Twitter not connected or content url is
|
|
3646
|
+
* required"
|
|
3647
|
+
* - Connect Email: "Email address not connected"
|
|
3648
|
+
* - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
|
|
3649
|
+
* telegramUsername), please setup username in telegram and reconnect.",
|
|
3650
|
+
* "Telegram request rate-limited"
|
|
3651
|
+
* - Connect Steam: "Steam not connected"
|
|
3652
|
+
* - Connect Youtube: "Youtube not connected"
|
|
3653
|
+
*
|
|
3654
|
+
* Social Quests
|
|
3655
|
+
*
|
|
3656
|
+
* - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
|
|
3657
|
+
* successfully"
|
|
3658
|
+
* - Post on TikTok: "TikTok post not verified"
|
|
3659
|
+
* - Comment on an X Post: "Quest Completed: You have commented on the tweet",
|
|
3660
|
+
* "Quest Not Completed: Comment not found for the specified tweet"
|
|
3661
|
+
* - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
|
|
3662
|
+
* Completed: Retweet not found for the specified tweet", "Quest Completed: You
|
|
3663
|
+
* have retweeted and commented on the tweet", "Quest Not Completed: You have not
|
|
3664
|
+
* retweeted or commented on the tweet"
|
|
3665
|
+
* - Follow an X Account: "Missing required parameters: twitterUserId,
|
|
3666
|
+
* targetUsername", "Quest Completed: You are a follower of
|
|
3667
|
+
* @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
|
|
3668
|
+
* and try again in few minutes"
|
|
3669
|
+
* - React to an X Post: "Missing required parameters: texts, twitterUserId,
|
|
3670
|
+
* userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
|
|
3671
|
+
* a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
|
|
3672
|
+
* posts are already claimed. Please post a new tweet and try again in a few
|
|
3673
|
+
* minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
|
|
3674
|
+
* "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
|
|
3675
|
+
* not have media", "Text found in tweet"
|
|
3676
|
+
* - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
|
|
3677
|
+
* not found", "Text found in bio", "Text not found in bio"
|
|
3678
|
+
* - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
|
|
3679
|
+
* "User not found", "Text found in username", "Text not found in username"
|
|
3680
|
+
* - Comment on an X Post with Text: "Missing required parameters: texts,
|
|
3681
|
+
* twitterUserId", "Comment is already claimed", "Text found in comment", "Text
|
|
3682
|
+
* not found in comment", "Tweet not found or could not be retrieved"
|
|
3683
|
+
* - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
|
|
3684
|
+
* added"
|
|
3685
|
+
* - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
|
|
3686
|
+
* please make sure you have made your subscriptions public in youtube"
|
|
3687
|
+
* - Get X post impressions: "You've already claimed the reward for this impression
|
|
3688
|
+
* range."
|
|
3689
|
+
* - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
|
|
3690
|
+
* item not added"
|
|
3691
|
+
*
|
|
3692
|
+
* Complex Onchain Logic
|
|
3693
|
+
*
|
|
3694
|
+
* - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
|
|
3695
|
+
*
|
|
3696
|
+
* Other
|
|
3697
|
+
*
|
|
3698
|
+
* - Answer a Quiz: "Quiz question not configured", "No question response found",
|
|
3699
|
+
* "Incorrect answer", "Correct answer"
|
|
3700
|
+
* - Answer a Poll: "Poll question not configured", "Poll response recorded"
|
|
3701
|
+
* - Spend in Shopify Store: "Shopify not connected"
|
|
3702
|
+
* - Points Airdrop: "Seems like you're not eligible for this points airdrop."
|
|
3703
|
+
*
|
|
3704
|
+
* General / Unmatched
|
|
3705
|
+
*
|
|
3706
|
+
* - "Quest already completed"
|
|
3707
|
+
* - "Quest already completed using the same social account (${socialAccountName}),
|
|
3708
|
+
* with the different user."
|
|
3709
|
+
* - "You've already claimed the reward for this quest."
|
|
3710
|
+
* - "Quest not achieved, please try again."
|
|
3711
|
+
* - "Rule is not setup"
|
|
3712
|
+
* - "Request aborted due to timeout"
|
|
3713
|
+
* - "Google account not connected"
|
|
3714
|
+
* - "Claim failed: Multiplier is already active"
|
|
3715
|
+
*/
|
|
1945
3716
|
message?: string;
|
|
3717
|
+
|
|
3718
|
+
/**
|
|
3719
|
+
* Status of the queued job, this is only returned if the job is queued and being
|
|
3720
|
+
* processed, this wil be retained for 10 minutes after the job is completed
|
|
3721
|
+
*/
|
|
3722
|
+
status?: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1946
3723
|
}
|
|
1947
3724
|
}
|
|
1948
3725
|
|
|
@@ -2053,7 +3830,20 @@ export interface RuleCreateParams {
|
|
|
2053
3830
|
| 'twitter_like'
|
|
2054
3831
|
| 'twitter_post_hashtag'
|
|
2055
3832
|
| 'quiz'
|
|
2056
|
-
| 'poll'
|
|
3833
|
+
| 'poll'
|
|
3834
|
+
| 'steam_wishlist'
|
|
3835
|
+
| 'liquidity_uniswap_v2'
|
|
3836
|
+
| 'liquidity_uniswap_v3'
|
|
3837
|
+
| 'points_airdrop'
|
|
3838
|
+
| 'youtube_subscribers'
|
|
3839
|
+
| 'youtube_comment'
|
|
3840
|
+
| 'shopify_spend'
|
|
3841
|
+
| 'swap'
|
|
3842
|
+
| 'tiktok_post'
|
|
3843
|
+
| 'post_impressions'
|
|
3844
|
+
| 'discord_join'
|
|
3845
|
+
| 'connected_youtube'
|
|
3846
|
+
| 'connected_tiktok';
|
|
2057
3847
|
|
|
2058
3848
|
/**
|
|
2059
3849
|
* Unique identifier for the associated website
|
|
@@ -2065,6 +3855,11 @@ export interface RuleCreateParams {
|
|
|
2065
3855
|
*/
|
|
2066
3856
|
backgroundAssetUrl?: string;
|
|
2067
3857
|
|
|
3858
|
+
/**
|
|
3859
|
+
* The type of claim for the reward
|
|
3860
|
+
*/
|
|
3861
|
+
claimType?: 'manual' | 'auto' | null;
|
|
3862
|
+
|
|
2068
3863
|
/**
|
|
2069
3864
|
* Blockchain address of the associated collection
|
|
2070
3865
|
*/
|
|
@@ -2090,6 +3885,13 @@ export interface RuleCreateParams {
|
|
|
2090
3885
|
*/
|
|
2091
3886
|
description?: string;
|
|
2092
3887
|
|
|
3888
|
+
duplicatedFromId?: string | null;
|
|
3889
|
+
|
|
3890
|
+
/**
|
|
3891
|
+
* ID of the external integration
|
|
3892
|
+
*/
|
|
3893
|
+
externalIntegrationId?: string | null;
|
|
3894
|
+
|
|
2093
3895
|
/**
|
|
2094
3896
|
* Whether to hide this rule in the user interface
|
|
2095
3897
|
*/
|
|
@@ -2098,18 +3900,40 @@ export interface RuleCreateParams {
|
|
|
2098
3900
|
/**
|
|
2099
3901
|
* Interval between rule executions
|
|
2100
3902
|
*/
|
|
2101
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
3903
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
2102
3904
|
|
|
2103
3905
|
/**
|
|
2104
3906
|
* Whether this rule is mandatory
|
|
2105
3907
|
*/
|
|
2106
3908
|
isRequired?: boolean;
|
|
2107
3909
|
|
|
3910
|
+
/**
|
|
3911
|
+
* Unique identifier for the loyalty badge
|
|
3912
|
+
*/
|
|
3913
|
+
loyaltyBadgeId?: string | null;
|
|
3914
|
+
|
|
2108
3915
|
/**
|
|
2109
3916
|
* Unique identifier for the loyalty rule group
|
|
2110
3917
|
*/
|
|
2111
3918
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
2112
3919
|
|
|
3920
|
+
/**
|
|
3921
|
+
* URL for uploading loyalty user allotment via CSV
|
|
3922
|
+
*/
|
|
3923
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
3924
|
+
|
|
3925
|
+
/**
|
|
3926
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
3927
|
+
* rules.
|
|
3928
|
+
*/
|
|
3929
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
3930
|
+
|
|
3931
|
+
/**
|
|
3932
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
3933
|
+
* smart contract and external rules.
|
|
3934
|
+
*/
|
|
3935
|
+
maxAmountPerInterval?: number | null;
|
|
3936
|
+
|
|
2113
3937
|
/**
|
|
2114
3938
|
* URL of the media to be displayed
|
|
2115
3939
|
*/
|
|
@@ -2119,13 +3943,17 @@ export interface RuleCreateParams {
|
|
|
2119
3943
|
* Blockchain network where the rule will apply
|
|
2120
3944
|
*/
|
|
2121
3945
|
network?:
|
|
3946
|
+
| 'abstract'
|
|
3947
|
+
| 'abstractTestnet'
|
|
2122
3948
|
| 'apechain'
|
|
2123
3949
|
| 'arbitrum'
|
|
2124
3950
|
| 'avalanche'
|
|
2125
3951
|
| 'avalancheFuji'
|
|
2126
3952
|
| 'base'
|
|
2127
3953
|
| 'baseSepolia'
|
|
3954
|
+
| 'berachain'
|
|
2128
3955
|
| 'berachainArtio'
|
|
3956
|
+
| 'berachainBepolia'
|
|
2129
3957
|
| 'binance'
|
|
2130
3958
|
| 'bscTestnet'
|
|
2131
3959
|
| 'campTestnet'
|
|
@@ -2133,18 +3961,28 @@ export interface RuleCreateParams {
|
|
|
2133
3961
|
| 'fantomTestnet'
|
|
2134
3962
|
| 'flowMainnet'
|
|
2135
3963
|
| 'mainnet'
|
|
3964
|
+
| 'nexusTestnet'
|
|
2136
3965
|
| 'optimism'
|
|
2137
3966
|
| 'polygon'
|
|
2138
3967
|
| 'polygon_mumbai'
|
|
2139
3968
|
| 'skaleNebula'
|
|
2140
3969
|
| 'solana'
|
|
2141
3970
|
| 'sophon'
|
|
3971
|
+
| 'sophonTestnet'
|
|
2142
3972
|
| 'sui'
|
|
2143
3973
|
| 'superseed'
|
|
2144
3974
|
| 'superseedSepolia'
|
|
2145
3975
|
| 'vanar'
|
|
2146
3976
|
| 'xai'
|
|
2147
3977
|
| 'zksync'
|
|
3978
|
+
| 'coti'
|
|
3979
|
+
| 'cotiTestnet'
|
|
3980
|
+
| 'morph'
|
|
3981
|
+
| 'morphTestnet'
|
|
3982
|
+
| 'morphHolesky'
|
|
3983
|
+
| 'ultra'
|
|
3984
|
+
| 'ultraTestnet'
|
|
3985
|
+
| 'nitrograph'
|
|
2148
3986
|
| 'sepolia'
|
|
2149
3987
|
| 'optimism_sepolia'
|
|
2150
3988
|
| 'arbitrumSepolia'
|
|
@@ -2152,22 +3990,37 @@ export interface RuleCreateParams {
|
|
|
2152
3990
|
| 'optimism_goerli'
|
|
2153
3991
|
| 'arbitrumGoerli'
|
|
2154
3992
|
| 'basecamp'
|
|
2155
|
-
| '
|
|
3993
|
+
| 'somnia';
|
|
2156
3994
|
|
|
2157
3995
|
/**
|
|
2158
3996
|
* OAuth credentials associated with the rule
|
|
2159
3997
|
*/
|
|
2160
3998
|
oauthCredentialsId?: string | null;
|
|
2161
3999
|
|
|
4000
|
+
/**
|
|
4001
|
+
* The lifetime of the reward
|
|
4002
|
+
*/
|
|
4003
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
4004
|
+
|
|
2162
4005
|
/**
|
|
2163
4006
|
* Type of reward issued by the rule
|
|
2164
4007
|
*/
|
|
2165
|
-
rewardType?: 'points' | 'multiplier';
|
|
4008
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
4009
|
+
|
|
4010
|
+
/**
|
|
4011
|
+
* URL of the Shopify store
|
|
4012
|
+
*/
|
|
4013
|
+
shopifyStoreUrl?: string | null;
|
|
4014
|
+
|
|
4015
|
+
/**
|
|
4016
|
+
* Whether to show this rule before the start time
|
|
4017
|
+
*/
|
|
4018
|
+
showBeforeStart?: boolean;
|
|
2166
4019
|
|
|
2167
4020
|
/**
|
|
2168
|
-
*
|
|
4021
|
+
* Optional subscription id for the rule
|
|
2169
4022
|
*/
|
|
2170
|
-
|
|
4023
|
+
subscriptionId?: string | null;
|
|
2171
4024
|
}
|
|
2172
4025
|
|
|
2173
4026
|
export namespace RuleCreateParams {
|
|
@@ -2175,6 +4028,11 @@ export namespace RuleCreateParams {
|
|
|
2175
4028
|
* Additional metadata for the loyalty rule
|
|
2176
4029
|
*/
|
|
2177
4030
|
export interface Metadata {
|
|
4031
|
+
/**
|
|
4032
|
+
* Number of tokens per batch.
|
|
4033
|
+
*/
|
|
4034
|
+
batchSize?: number | null;
|
|
4035
|
+
|
|
2178
4036
|
/**
|
|
2179
4037
|
* Text displayed on the action button.
|
|
2180
4038
|
*/
|
|
@@ -2198,7 +4056,7 @@ export namespace RuleCreateParams {
|
|
|
2198
4056
|
/**
|
|
2199
4057
|
* Text to check in the Twitter post, username, or bio.
|
|
2200
4058
|
*/
|
|
2201
|
-
checkText?: string | null;
|
|
4059
|
+
checkText?: string | Array<string> | null;
|
|
2202
4060
|
|
|
2203
4061
|
/**
|
|
2204
4062
|
* Array of collections associated with the rule.
|
|
@@ -2208,7 +4066,12 @@ export namespace RuleCreateParams {
|
|
|
2208
4066
|
/**
|
|
2209
4067
|
* Conditions for completing the profile.
|
|
2210
4068
|
*/
|
|
2211
|
-
completeProfileConditions?:
|
|
4069
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
4070
|
+
|
|
4071
|
+
/**
|
|
4072
|
+
* Description of the external rule condition (only for external rules)
|
|
4073
|
+
*/
|
|
4074
|
+
conditionDescription?: string;
|
|
2212
4075
|
|
|
2213
4076
|
/**
|
|
2214
4077
|
* Object containing details for the call-to-action.
|
|
@@ -2220,6 +4083,11 @@ export namespace RuleCreateParams {
|
|
|
2220
4083
|
*/
|
|
2221
4084
|
customRewardsApiKey?: string;
|
|
2222
4085
|
|
|
4086
|
+
/**
|
|
4087
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
4088
|
+
*/
|
|
4089
|
+
directRpc?: boolean;
|
|
4090
|
+
|
|
2223
4091
|
/**
|
|
2224
4092
|
* Array of Discord servers, channels, and roles to join.
|
|
2225
4093
|
*/
|
|
@@ -2265,11 +4133,6 @@ export namespace RuleCreateParams {
|
|
|
2265
4133
|
*/
|
|
2266
4134
|
hasNeverSold?: boolean;
|
|
2267
4135
|
|
|
2268
|
-
/**
|
|
2269
|
-
* Flag indicating whether the order source is included.
|
|
2270
|
-
*/
|
|
2271
|
-
hasOrderSource?: boolean;
|
|
2272
|
-
|
|
2273
4136
|
/**
|
|
2274
4137
|
* Indicates if the full royalty has been paid for items.
|
|
2275
4138
|
*/
|
|
@@ -2290,11 +4153,21 @@ export namespace RuleCreateParams {
|
|
|
2290
4153
|
*/
|
|
2291
4154
|
imageUrl?: string | null;
|
|
2292
4155
|
|
|
4156
|
+
/**
|
|
4157
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
4158
|
+
*/
|
|
4159
|
+
isCheckInOnEveryTxn?: boolean;
|
|
4160
|
+
|
|
2293
4161
|
/**
|
|
2294
4162
|
* Indicates if the multiplier has been applied to rewards.
|
|
2295
4163
|
*/
|
|
2296
4164
|
isMultiplierApplied?: boolean;
|
|
2297
4165
|
|
|
4166
|
+
/**
|
|
4167
|
+
* Flag indicating if the rule is restricted to new users.
|
|
4168
|
+
*/
|
|
4169
|
+
isRestrictedToNewUsers?: boolean;
|
|
4170
|
+
|
|
2298
4171
|
/**
|
|
2299
4172
|
* Flag indicating if rewards are applied retroactively.
|
|
2300
4173
|
*/
|
|
@@ -2310,6 +4183,11 @@ export namespace RuleCreateParams {
|
|
|
2310
4183
|
*/
|
|
2311
4184
|
link?: string | null;
|
|
2312
4185
|
|
|
4186
|
+
/**
|
|
4187
|
+
* Liquidity pool details.
|
|
4188
|
+
*/
|
|
4189
|
+
liquidity?: Metadata.Liquidity;
|
|
4190
|
+
|
|
2313
4191
|
/**
|
|
2314
4192
|
* Maximum quantity constraint for token holding.
|
|
2315
4193
|
*/
|
|
@@ -2351,14 +4229,24 @@ export namespace RuleCreateParams {
|
|
|
2351
4229
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2352
4230
|
|
|
2353
4231
|
/**
|
|
2354
|
-
*
|
|
4232
|
+
* Promotional code associated with the rule.
|
|
4233
|
+
*/
|
|
4234
|
+
promoCode?: string;
|
|
4235
|
+
|
|
4236
|
+
/**
|
|
4237
|
+
* URL of the CSV file containing promo codes.
|
|
2355
4238
|
*/
|
|
2356
|
-
|
|
4239
|
+
promoCodeCsvUrl?: string;
|
|
2357
4240
|
|
|
2358
4241
|
/**
|
|
2359
|
-
*
|
|
4242
|
+
* Numbers of the promotional code to be generated.
|
|
2360
4243
|
*/
|
|
2361
|
-
|
|
4244
|
+
promoCodeLength?: number | null;
|
|
4245
|
+
|
|
4246
|
+
/**
|
|
4247
|
+
* Type of the promotional code.
|
|
4248
|
+
*/
|
|
4249
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2362
4250
|
|
|
2363
4251
|
/**
|
|
2364
4252
|
* Array defining ranges and corresponding rewards.
|
|
@@ -2375,11 +4263,62 @@ export namespace RuleCreateParams {
|
|
|
2375
4263
|
*/
|
|
2376
4264
|
referrerReward?: number | null;
|
|
2377
4265
|
|
|
4266
|
+
/**
|
|
4267
|
+
* Loyalty currency ID of the referrer reward.
|
|
4268
|
+
*/
|
|
4269
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
4270
|
+
|
|
4271
|
+
/**
|
|
4272
|
+
* Flag indicating if the post link is required.
|
|
4273
|
+
*/
|
|
4274
|
+
requirePostLink?: boolean | null;
|
|
4275
|
+
|
|
4276
|
+
/**
|
|
4277
|
+
* Flag indicating if media metadata is required.
|
|
4278
|
+
*/
|
|
4279
|
+
requirePostMediaLink?: boolean | null;
|
|
4280
|
+
|
|
4281
|
+
/**
|
|
4282
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
4283
|
+
*/
|
|
4284
|
+
rewardBadgePerRange?: boolean;
|
|
4285
|
+
|
|
4286
|
+
/**
|
|
4287
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
4288
|
+
*/
|
|
4289
|
+
rewardByBatch?: boolean | null;
|
|
4290
|
+
|
|
4291
|
+
/**
|
|
4292
|
+
* Criteria to evaluate the reward.
|
|
4293
|
+
*/
|
|
4294
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
4295
|
+
|
|
4296
|
+
/**
|
|
4297
|
+
* Flag indicating if the reward is rewarded per action.
|
|
4298
|
+
*/
|
|
4299
|
+
rewardPerAction?: boolean | null;
|
|
4300
|
+
|
|
2378
4301
|
/**
|
|
2379
4302
|
* Flag indicating if rewards are given per impression.
|
|
2380
4303
|
*/
|
|
2381
4304
|
rewardPerImpression?: boolean | null;
|
|
2382
4305
|
|
|
4306
|
+
/**
|
|
4307
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
4308
|
+
* instead of count.
|
|
4309
|
+
*/
|
|
4310
|
+
rewardPerValue?: boolean;
|
|
4311
|
+
|
|
4312
|
+
/**
|
|
4313
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
4314
|
+
*/
|
|
4315
|
+
royaltyAddress?: string;
|
|
4316
|
+
|
|
4317
|
+
/**
|
|
4318
|
+
* Royalty percentage of the item.
|
|
4319
|
+
*/
|
|
4320
|
+
royaltyPercentage?: number;
|
|
4321
|
+
|
|
2383
4322
|
/**
|
|
2384
4323
|
* Currency associated with sales.
|
|
2385
4324
|
*/
|
|
@@ -2419,6 +4358,7 @@ export namespace RuleCreateParams {
|
|
|
2419
4358
|
| 'Twitch'
|
|
2420
4359
|
| 'X(Twitter)'
|
|
2421
4360
|
| 'YouTube'
|
|
4361
|
+
| 'Google'
|
|
2422
4362
|
| null;
|
|
2423
4363
|
|
|
2424
4364
|
/**
|
|
@@ -2431,11 +4371,21 @@ export namespace RuleCreateParams {
|
|
|
2431
4371
|
*/
|
|
2432
4372
|
socialPlatformName?: string | null;
|
|
2433
4373
|
|
|
4374
|
+
/**
|
|
4375
|
+
* ID of the Steam app.
|
|
4376
|
+
*/
|
|
4377
|
+
steamAppId?: string | null;
|
|
4378
|
+
|
|
2434
4379
|
/**
|
|
2435
4380
|
* Array of streak milestones and corresponding rewards.
|
|
2436
4381
|
*/
|
|
2437
4382
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2438
4383
|
|
|
4384
|
+
/**
|
|
4385
|
+
* Metadata for swap loyalty rules
|
|
4386
|
+
*/
|
|
4387
|
+
swap?: Metadata.Swap;
|
|
4388
|
+
|
|
2439
4389
|
/**
|
|
2440
4390
|
* ID of the Telegram channel.
|
|
2441
4391
|
*/
|
|
@@ -2451,6 +4401,12 @@ export namespace RuleCreateParams {
|
|
|
2451
4401
|
*/
|
|
2452
4402
|
trackAllContracts?: boolean | null;
|
|
2453
4403
|
|
|
4404
|
+
/**
|
|
4405
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
4406
|
+
* completed once the progress is 100%.
|
|
4407
|
+
*/
|
|
4408
|
+
trackProgress?: boolean | null;
|
|
4409
|
+
|
|
2454
4410
|
/**
|
|
2455
4411
|
* URL of the associated Twitter account.
|
|
2456
4412
|
*/
|
|
@@ -2494,7 +4450,17 @@ export namespace RuleCreateParams {
|
|
|
2494
4450
|
/**
|
|
2495
4451
|
* Type of wallet associated with the rule.
|
|
2496
4452
|
*/
|
|
2497
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
4453
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
|
|
4454
|
+
|
|
4455
|
+
/**
|
|
4456
|
+
* ID of the Youtube channel.
|
|
4457
|
+
*/
|
|
4458
|
+
youtubeChannelId?: string | null;
|
|
4459
|
+
|
|
4460
|
+
/**
|
|
4461
|
+
* ID of the Youtube video.
|
|
4462
|
+
*/
|
|
4463
|
+
youtubeVideoId?: string | null;
|
|
2498
4464
|
}
|
|
2499
4465
|
|
|
2500
4466
|
export namespace Metadata {
|
|
@@ -2513,13 +4479,17 @@ export namespace RuleCreateParams {
|
|
|
2513
4479
|
* Blockchain network of the collection.
|
|
2514
4480
|
*/
|
|
2515
4481
|
network?:
|
|
4482
|
+
| 'abstract'
|
|
4483
|
+
| 'abstractTestnet'
|
|
2516
4484
|
| 'apechain'
|
|
2517
4485
|
| 'arbitrum'
|
|
2518
4486
|
| 'avalanche'
|
|
2519
4487
|
| 'avalancheFuji'
|
|
2520
4488
|
| 'base'
|
|
2521
4489
|
| 'baseSepolia'
|
|
4490
|
+
| 'berachain'
|
|
2522
4491
|
| 'berachainArtio'
|
|
4492
|
+
| 'berachainBepolia'
|
|
2523
4493
|
| 'binance'
|
|
2524
4494
|
| 'bscTestnet'
|
|
2525
4495
|
| 'campTestnet'
|
|
@@ -2527,18 +4497,28 @@ export namespace RuleCreateParams {
|
|
|
2527
4497
|
| 'fantomTestnet'
|
|
2528
4498
|
| 'flowMainnet'
|
|
2529
4499
|
| 'mainnet'
|
|
4500
|
+
| 'nexusTestnet'
|
|
2530
4501
|
| 'optimism'
|
|
2531
4502
|
| 'polygon'
|
|
2532
4503
|
| 'polygon_mumbai'
|
|
2533
4504
|
| 'skaleNebula'
|
|
2534
4505
|
| 'solana'
|
|
2535
4506
|
| 'sophon'
|
|
4507
|
+
| 'sophonTestnet'
|
|
2536
4508
|
| 'sui'
|
|
2537
4509
|
| 'superseed'
|
|
2538
4510
|
| 'superseedSepolia'
|
|
2539
4511
|
| 'vanar'
|
|
2540
4512
|
| 'xai'
|
|
2541
4513
|
| 'zksync'
|
|
4514
|
+
| 'coti'
|
|
4515
|
+
| 'cotiTestnet'
|
|
4516
|
+
| 'morph'
|
|
4517
|
+
| 'morphTestnet'
|
|
4518
|
+
| 'morphHolesky'
|
|
4519
|
+
| 'ultra'
|
|
4520
|
+
| 'ultraTestnet'
|
|
4521
|
+
| 'nitrograph'
|
|
2542
4522
|
| 'sepolia'
|
|
2543
4523
|
| 'optimism_sepolia'
|
|
2544
4524
|
| 'arbitrumSepolia'
|
|
@@ -2546,7 +4526,7 @@ export namespace RuleCreateParams {
|
|
|
2546
4526
|
| 'optimism_goerli'
|
|
2547
4527
|
| 'arbitrumGoerli'
|
|
2548
4528
|
| 'basecamp'
|
|
2549
|
-
| '
|
|
4529
|
+
| 'somnia';
|
|
2550
4530
|
}
|
|
2551
4531
|
|
|
2552
4532
|
/**
|
|
@@ -2623,6 +4603,105 @@ export namespace RuleCreateParams {
|
|
|
2623
4603
|
id: string;
|
|
2624
4604
|
}
|
|
2625
4605
|
|
|
4606
|
+
/**
|
|
4607
|
+
* Liquidity pool details.
|
|
4608
|
+
*/
|
|
4609
|
+
export interface Liquidity {
|
|
4610
|
+
/**
|
|
4611
|
+
* Calculation type of the liquidity pool.
|
|
4612
|
+
*/
|
|
4613
|
+
calculationType?: 'fixed' | 'custom';
|
|
4614
|
+
|
|
4615
|
+
/**
|
|
4616
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
4617
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
4618
|
+
* USD.
|
|
4619
|
+
*/
|
|
4620
|
+
customFunction?: string;
|
|
4621
|
+
|
|
4622
|
+
/**
|
|
4623
|
+
* Liquidity provided per day in USD
|
|
4624
|
+
*/
|
|
4625
|
+
liquidityPerDay?: number;
|
|
4626
|
+
|
|
4627
|
+
/**
|
|
4628
|
+
* Blockchain network of the liquidity pool.
|
|
4629
|
+
*/
|
|
4630
|
+
network?:
|
|
4631
|
+
| 'abstract'
|
|
4632
|
+
| 'abstractTestnet'
|
|
4633
|
+
| 'apechain'
|
|
4634
|
+
| 'arbitrum'
|
|
4635
|
+
| 'avalanche'
|
|
4636
|
+
| 'avalancheFuji'
|
|
4637
|
+
| 'base'
|
|
4638
|
+
| 'baseSepolia'
|
|
4639
|
+
| 'berachain'
|
|
4640
|
+
| 'berachainArtio'
|
|
4641
|
+
| 'berachainBepolia'
|
|
4642
|
+
| 'binance'
|
|
4643
|
+
| 'bscTestnet'
|
|
4644
|
+
| 'campTestnet'
|
|
4645
|
+
| 'fantom'
|
|
4646
|
+
| 'fantomTestnet'
|
|
4647
|
+
| 'flowMainnet'
|
|
4648
|
+
| 'mainnet'
|
|
4649
|
+
| 'nexusTestnet'
|
|
4650
|
+
| 'optimism'
|
|
4651
|
+
| 'polygon'
|
|
4652
|
+
| 'polygon_mumbai'
|
|
4653
|
+
| 'skaleNebula'
|
|
4654
|
+
| 'solana'
|
|
4655
|
+
| 'sophon'
|
|
4656
|
+
| 'sophonTestnet'
|
|
4657
|
+
| 'sui'
|
|
4658
|
+
| 'superseed'
|
|
4659
|
+
| 'superseedSepolia'
|
|
4660
|
+
| 'vanar'
|
|
4661
|
+
| 'xai'
|
|
4662
|
+
| 'zksync'
|
|
4663
|
+
| 'coti'
|
|
4664
|
+
| 'cotiTestnet'
|
|
4665
|
+
| 'morph'
|
|
4666
|
+
| 'morphTestnet'
|
|
4667
|
+
| 'morphHolesky'
|
|
4668
|
+
| 'ultra'
|
|
4669
|
+
| 'ultraTestnet'
|
|
4670
|
+
| 'nitrograph'
|
|
4671
|
+
| 'sepolia'
|
|
4672
|
+
| 'optimism_sepolia'
|
|
4673
|
+
| 'arbitrumSepolia'
|
|
4674
|
+
| 'goerli'
|
|
4675
|
+
| 'optimism_goerli'
|
|
4676
|
+
| 'arbitrumGoerli'
|
|
4677
|
+
| 'basecamp'
|
|
4678
|
+
| 'somnia';
|
|
4679
|
+
|
|
4680
|
+
/**
|
|
4681
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
4682
|
+
*/
|
|
4683
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
4684
|
+
|
|
4685
|
+
/**
|
|
4686
|
+
* Array of liquidity pools associated with the rule.
|
|
4687
|
+
*/
|
|
4688
|
+
pools?: Array<Liquidity.Pool>;
|
|
4689
|
+
|
|
4690
|
+
/**
|
|
4691
|
+
* Protocol of the liquidity pool.
|
|
4692
|
+
*/
|
|
4693
|
+
protocol?: string;
|
|
4694
|
+
}
|
|
4695
|
+
|
|
4696
|
+
export namespace Liquidity {
|
|
4697
|
+
export interface Pool {
|
|
4698
|
+
/**
|
|
4699
|
+
* Unique identifier of the liquidity pool.
|
|
4700
|
+
*/
|
|
4701
|
+
id: string;
|
|
4702
|
+
}
|
|
4703
|
+
}
|
|
4704
|
+
|
|
2626
4705
|
export interface Range {
|
|
2627
4706
|
/**
|
|
2628
4707
|
* Reward amount for this range.
|
|
@@ -2638,6 +4717,16 @@ export namespace RuleCreateParams {
|
|
|
2638
4717
|
* Start value of the range.
|
|
2639
4718
|
*/
|
|
2640
4719
|
startRange: number;
|
|
4720
|
+
|
|
4721
|
+
/**
|
|
4722
|
+
* ID of the loyalty badge for this range.
|
|
4723
|
+
*/
|
|
4724
|
+
loyaltyBadgeId?: string;
|
|
4725
|
+
|
|
4726
|
+
/**
|
|
4727
|
+
* Amount of the loyalty multiplier for this range.
|
|
4728
|
+
*/
|
|
4729
|
+
loyaltyMultiplierAmount?: number;
|
|
2641
4730
|
}
|
|
2642
4731
|
|
|
2643
4732
|
/**
|
|
@@ -2690,20 +4779,15 @@ export namespace RuleCreateParams {
|
|
|
2690
4779
|
* Object containing details of the associated smart contract.
|
|
2691
4780
|
*/
|
|
2692
4781
|
export interface SmartContract {
|
|
2693
|
-
/**
|
|
2694
|
-
* ABI of the smart contract.
|
|
2695
|
-
*/
|
|
2696
|
-
abi?: string | null;
|
|
2697
|
-
|
|
2698
4782
|
/**
|
|
2699
4783
|
* Mapping of addresses for the smart contract.
|
|
2700
4784
|
*/
|
|
2701
4785
|
addressMapping?: string | null;
|
|
2702
4786
|
|
|
2703
4787
|
/**
|
|
2704
|
-
*
|
|
4788
|
+
* Object containing details of the amount multiplier from the event.
|
|
2705
4789
|
*/
|
|
2706
|
-
|
|
4790
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2707
4791
|
|
|
2708
4792
|
/**
|
|
2709
4793
|
* ID of the smart contract.
|
|
@@ -2715,68 +4799,31 @@ export namespace RuleCreateParams {
|
|
|
2715
4799
|
*/
|
|
2716
4800
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2717
4801
|
|
|
2718
|
-
/**
|
|
2719
|
-
* Time range applied to the rule.
|
|
2720
|
-
*/
|
|
2721
|
-
customRange?: SmartContract.CustomRange | null;
|
|
2722
|
-
|
|
2723
4802
|
/**
|
|
2724
4803
|
* Event emitted by the smart contract.
|
|
2725
4804
|
*/
|
|
2726
4805
|
event?: string | null;
|
|
2727
4806
|
|
|
2728
|
-
/**
|
|
2729
|
-
* Maximum value allowed for the parameter.
|
|
2730
|
-
*/
|
|
2731
|
-
max?: number | null;
|
|
2732
|
-
|
|
2733
4807
|
/**
|
|
2734
4808
|
* Array of parameters for the smart contract.
|
|
2735
4809
|
*/
|
|
2736
4810
|
params?: Array<SmartContract.Param> | null;
|
|
2737
4811
|
|
|
2738
4812
|
/**
|
|
2739
|
-
*
|
|
2740
|
-
*/
|
|
2741
|
-
withBonus?: boolean | null;
|
|
2742
|
-
|
|
2743
|
-
/**
|
|
2744
|
-
* Flag indicating if a custom range is applied.
|
|
2745
|
-
*/
|
|
2746
|
-
withCustomRange?: boolean | null;
|
|
2747
|
-
|
|
2748
|
-
/**
|
|
2749
|
-
* Flag indicating if a maximum limit is applied.
|
|
4813
|
+
* Type of the smart contract interaction.
|
|
2750
4814
|
*/
|
|
2751
|
-
|
|
4815
|
+
type?: 'function' | 'event' | null;
|
|
2752
4816
|
}
|
|
2753
4817
|
|
|
2754
4818
|
export namespace SmartContract {
|
|
2755
|
-
export interface Bonus {
|
|
2756
|
-
/**
|
|
2757
|
-
* Amount of the bonus.
|
|
2758
|
-
*/
|
|
2759
|
-
amount?: number | null;
|
|
2760
|
-
|
|
2761
|
-
/**
|
|
2762
|
-
* Number of times the bonus is applied.
|
|
2763
|
-
*/
|
|
2764
|
-
count?: number | null;
|
|
2765
|
-
}
|
|
2766
|
-
|
|
2767
4819
|
/**
|
|
2768
|
-
*
|
|
4820
|
+
* Object containing details of the amount multiplier from the event.
|
|
2769
4821
|
*/
|
|
2770
|
-
export interface
|
|
2771
|
-
/**
|
|
2772
|
-
* End time of the custom range.
|
|
2773
|
-
*/
|
|
2774
|
-
endsAt?: string | null;
|
|
2775
|
-
|
|
4822
|
+
export interface AmountMultiplier {
|
|
2776
4823
|
/**
|
|
2777
|
-
*
|
|
4824
|
+
* Mapping of the value for the smart contract.
|
|
2778
4825
|
*/
|
|
2779
|
-
|
|
4826
|
+
valueMapping?: string | null;
|
|
2780
4827
|
}
|
|
2781
4828
|
|
|
2782
4829
|
export interface Param {
|
|
@@ -2820,6 +4867,33 @@ export namespace RuleCreateParams {
|
|
|
2820
4867
|
*/
|
|
2821
4868
|
streakMilestone: number;
|
|
2822
4869
|
}
|
|
4870
|
+
|
|
4871
|
+
/**
|
|
4872
|
+
* Metadata for swap loyalty rules
|
|
4873
|
+
*/
|
|
4874
|
+
export interface Swap {
|
|
4875
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
4876
|
+
|
|
4877
|
+
relayReferrerId?: string;
|
|
4878
|
+
|
|
4879
|
+
requireCrossChainSwap?: boolean;
|
|
4880
|
+
|
|
4881
|
+
swappedToChain?: 'any' | number | string;
|
|
4882
|
+
|
|
4883
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
4884
|
+
|
|
4885
|
+
tokenMode?: 'any' | 'specific';
|
|
4886
|
+
|
|
4887
|
+
trackTokenAmount?: boolean;
|
|
4888
|
+
}
|
|
4889
|
+
|
|
4890
|
+
export namespace Swap {
|
|
4891
|
+
export interface SwappedToToken {
|
|
4892
|
+
address: string;
|
|
4893
|
+
|
|
4894
|
+
chainId: string;
|
|
4895
|
+
}
|
|
4896
|
+
}
|
|
2823
4897
|
}
|
|
2824
4898
|
|
|
2825
4899
|
export interface Collection {
|
|
@@ -2832,13 +4906,17 @@ export namespace RuleCreateParams {
|
|
|
2832
4906
|
* Blockchain network for the collection
|
|
2833
4907
|
*/
|
|
2834
4908
|
network:
|
|
4909
|
+
| 'abstract'
|
|
4910
|
+
| 'abstractTestnet'
|
|
2835
4911
|
| 'apechain'
|
|
2836
4912
|
| 'arbitrum'
|
|
2837
4913
|
| 'avalanche'
|
|
2838
4914
|
| 'avalancheFuji'
|
|
2839
4915
|
| 'base'
|
|
2840
4916
|
| 'baseSepolia'
|
|
4917
|
+
| 'berachain'
|
|
2841
4918
|
| 'berachainArtio'
|
|
4919
|
+
| 'berachainBepolia'
|
|
2842
4920
|
| 'binance'
|
|
2843
4921
|
| 'bscTestnet'
|
|
2844
4922
|
| 'campTestnet'
|
|
@@ -2846,18 +4924,28 @@ export namespace RuleCreateParams {
|
|
|
2846
4924
|
| 'fantomTestnet'
|
|
2847
4925
|
| 'flowMainnet'
|
|
2848
4926
|
| 'mainnet'
|
|
4927
|
+
| 'nexusTestnet'
|
|
2849
4928
|
| 'optimism'
|
|
2850
4929
|
| 'polygon'
|
|
2851
4930
|
| 'polygon_mumbai'
|
|
2852
4931
|
| 'skaleNebula'
|
|
2853
4932
|
| 'solana'
|
|
2854
4933
|
| 'sophon'
|
|
4934
|
+
| 'sophonTestnet'
|
|
2855
4935
|
| 'sui'
|
|
2856
4936
|
| 'superseed'
|
|
2857
4937
|
| 'superseedSepolia'
|
|
2858
4938
|
| 'vanar'
|
|
2859
4939
|
| 'xai'
|
|
2860
4940
|
| 'zksync'
|
|
4941
|
+
| 'coti'
|
|
4942
|
+
| 'cotiTestnet'
|
|
4943
|
+
| 'morph'
|
|
4944
|
+
| 'morphTestnet'
|
|
4945
|
+
| 'morphHolesky'
|
|
4946
|
+
| 'ultra'
|
|
4947
|
+
| 'ultraTestnet'
|
|
4948
|
+
| 'nitrograph'
|
|
2861
4949
|
| 'sepolia'
|
|
2862
4950
|
| 'optimism_sepolia'
|
|
2863
4951
|
| 'arbitrumSepolia'
|
|
@@ -2865,7 +4953,12 @@ export namespace RuleCreateParams {
|
|
|
2865
4953
|
| 'optimism_goerli'
|
|
2866
4954
|
| 'arbitrumGoerli'
|
|
2867
4955
|
| 'basecamp'
|
|
2868
|
-
| '
|
|
4956
|
+
| 'somnia';
|
|
4957
|
+
|
|
4958
|
+
/**
|
|
4959
|
+
* Symbol of the collection.
|
|
4960
|
+
*/
|
|
4961
|
+
symbol?: string;
|
|
2869
4962
|
}
|
|
2870
4963
|
}
|
|
2871
4964
|
|
|
@@ -2885,6 +4978,11 @@ export interface RuleUpdateParams {
|
|
|
2885
4978
|
*/
|
|
2886
4979
|
name: string;
|
|
2887
4980
|
|
|
4981
|
+
/**
|
|
4982
|
+
* The type of claim for the reward
|
|
4983
|
+
*/
|
|
4984
|
+
claimType?: 'manual' | 'auto' | null;
|
|
4985
|
+
|
|
2888
4986
|
/**
|
|
2889
4987
|
* Blockchain address of the associated collection
|
|
2890
4988
|
*/
|
|
@@ -2920,6 +5018,11 @@ export interface RuleUpdateParams {
|
|
|
2920
5018
|
*/
|
|
2921
5019
|
effectiveStartTime?: string | null;
|
|
2922
5020
|
|
|
5021
|
+
/**
|
|
5022
|
+
* ID of the external integration
|
|
5023
|
+
*/
|
|
5024
|
+
externalIntegrationId?: string | null;
|
|
5025
|
+
|
|
2923
5026
|
/**
|
|
2924
5027
|
* Frequency of the rule execution
|
|
2925
5028
|
*/
|
|
@@ -2933,7 +5036,7 @@ export interface RuleUpdateParams {
|
|
|
2933
5036
|
/**
|
|
2934
5037
|
* Time interval for recurring rule execution
|
|
2935
5038
|
*/
|
|
2936
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
5039
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
2937
5040
|
|
|
2938
5041
|
/**
|
|
2939
5042
|
* Whether this rule is required for participation
|
|
@@ -2945,6 +5048,18 @@ export interface RuleUpdateParams {
|
|
|
2945
5048
|
*/
|
|
2946
5049
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
2947
5050
|
|
|
5051
|
+
/**
|
|
5052
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
5053
|
+
* rules.
|
|
5054
|
+
*/
|
|
5055
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
5056
|
+
|
|
5057
|
+
/**
|
|
5058
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
5059
|
+
* smart contract and external rules.
|
|
5060
|
+
*/
|
|
5061
|
+
maxAmountPerInterval?: number | null;
|
|
5062
|
+
|
|
2948
5063
|
/**
|
|
2949
5064
|
* URL of the media to be displayed
|
|
2950
5065
|
*/
|
|
@@ -2959,13 +5074,17 @@ export interface RuleUpdateParams {
|
|
|
2959
5074
|
* Blockchain network where the rule will apply
|
|
2960
5075
|
*/
|
|
2961
5076
|
network?:
|
|
5077
|
+
| 'abstract'
|
|
5078
|
+
| 'abstractTestnet'
|
|
2962
5079
|
| 'apechain'
|
|
2963
5080
|
| 'arbitrum'
|
|
2964
5081
|
| 'avalanche'
|
|
2965
5082
|
| 'avalancheFuji'
|
|
2966
5083
|
| 'base'
|
|
2967
5084
|
| 'baseSepolia'
|
|
5085
|
+
| 'berachain'
|
|
2968
5086
|
| 'berachainArtio'
|
|
5087
|
+
| 'berachainBepolia'
|
|
2969
5088
|
| 'binance'
|
|
2970
5089
|
| 'bscTestnet'
|
|
2971
5090
|
| 'campTestnet'
|
|
@@ -2973,18 +5092,28 @@ export interface RuleUpdateParams {
|
|
|
2973
5092
|
| 'fantomTestnet'
|
|
2974
5093
|
| 'flowMainnet'
|
|
2975
5094
|
| 'mainnet'
|
|
5095
|
+
| 'nexusTestnet'
|
|
2976
5096
|
| 'optimism'
|
|
2977
5097
|
| 'polygon'
|
|
2978
5098
|
| 'polygon_mumbai'
|
|
2979
5099
|
| 'skaleNebula'
|
|
2980
5100
|
| 'solana'
|
|
2981
5101
|
| 'sophon'
|
|
5102
|
+
| 'sophonTestnet'
|
|
2982
5103
|
| 'sui'
|
|
2983
5104
|
| 'superseed'
|
|
2984
5105
|
| 'superseedSepolia'
|
|
2985
5106
|
| 'vanar'
|
|
2986
5107
|
| 'xai'
|
|
2987
5108
|
| 'zksync'
|
|
5109
|
+
| 'coti'
|
|
5110
|
+
| 'cotiTestnet'
|
|
5111
|
+
| 'morph'
|
|
5112
|
+
| 'morphTestnet'
|
|
5113
|
+
| 'morphHolesky'
|
|
5114
|
+
| 'ultra'
|
|
5115
|
+
| 'ultraTestnet'
|
|
5116
|
+
| 'nitrograph'
|
|
2988
5117
|
| 'sepolia'
|
|
2989
5118
|
| 'optimism_sepolia'
|
|
2990
5119
|
| 'arbitrumSepolia'
|
|
@@ -2992,17 +5121,32 @@ export interface RuleUpdateParams {
|
|
|
2992
5121
|
| 'optimism_goerli'
|
|
2993
5122
|
| 'arbitrumGoerli'
|
|
2994
5123
|
| 'basecamp'
|
|
2995
|
-
| '
|
|
5124
|
+
| 'somnia';
|
|
2996
5125
|
|
|
2997
5126
|
/**
|
|
2998
5127
|
* ID for associated OAuth credentials
|
|
2999
5128
|
*/
|
|
3000
5129
|
oauthCredentialsId?: string | null;
|
|
3001
5130
|
|
|
5131
|
+
/**
|
|
5132
|
+
* The lifetime of the reward
|
|
5133
|
+
*/
|
|
5134
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
5135
|
+
|
|
3002
5136
|
/**
|
|
3003
5137
|
* Type of reward issued by this rule
|
|
3004
5138
|
*/
|
|
3005
|
-
rewardType?: 'points' | 'multiplier';
|
|
5139
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
5140
|
+
|
|
5141
|
+
/**
|
|
5142
|
+
* URL of the Shopify store
|
|
5143
|
+
*/
|
|
5144
|
+
shopifyStoreUrl?: string | null;
|
|
5145
|
+
|
|
5146
|
+
/**
|
|
5147
|
+
* Whether to show this rule before the start time
|
|
5148
|
+
*/
|
|
5149
|
+
showBeforeStart?: boolean;
|
|
3006
5150
|
|
|
3007
5151
|
/**
|
|
3008
5152
|
* Start time for the loyalty rule
|
|
@@ -3010,9 +5154,9 @@ export interface RuleUpdateParams {
|
|
|
3010
5154
|
startTime?: string | null;
|
|
3011
5155
|
|
|
3012
5156
|
/**
|
|
3013
|
-
* Optional subscription
|
|
5157
|
+
* Optional subscription id for the rule
|
|
3014
5158
|
*/
|
|
3015
|
-
|
|
5159
|
+
subscriptionId?: string | null;
|
|
3016
5160
|
}
|
|
3017
5161
|
|
|
3018
5162
|
export namespace RuleUpdateParams {
|
|
@@ -3026,13 +5170,17 @@ export namespace RuleUpdateParams {
|
|
|
3026
5170
|
* Blockchain network for the collection
|
|
3027
5171
|
*/
|
|
3028
5172
|
network:
|
|
5173
|
+
| 'abstract'
|
|
5174
|
+
| 'abstractTestnet'
|
|
3029
5175
|
| 'apechain'
|
|
3030
5176
|
| 'arbitrum'
|
|
3031
5177
|
| 'avalanche'
|
|
3032
5178
|
| 'avalancheFuji'
|
|
3033
5179
|
| 'base'
|
|
3034
5180
|
| 'baseSepolia'
|
|
5181
|
+
| 'berachain'
|
|
3035
5182
|
| 'berachainArtio'
|
|
5183
|
+
| 'berachainBepolia'
|
|
3036
5184
|
| 'binance'
|
|
3037
5185
|
| 'bscTestnet'
|
|
3038
5186
|
| 'campTestnet'
|
|
@@ -3040,18 +5188,28 @@ export namespace RuleUpdateParams {
|
|
|
3040
5188
|
| 'fantomTestnet'
|
|
3041
5189
|
| 'flowMainnet'
|
|
3042
5190
|
| 'mainnet'
|
|
5191
|
+
| 'nexusTestnet'
|
|
3043
5192
|
| 'optimism'
|
|
3044
5193
|
| 'polygon'
|
|
3045
5194
|
| 'polygon_mumbai'
|
|
3046
5195
|
| 'skaleNebula'
|
|
3047
5196
|
| 'solana'
|
|
3048
5197
|
| 'sophon'
|
|
5198
|
+
| 'sophonTestnet'
|
|
3049
5199
|
| 'sui'
|
|
3050
5200
|
| 'superseed'
|
|
3051
5201
|
| 'superseedSepolia'
|
|
3052
5202
|
| 'vanar'
|
|
3053
5203
|
| 'xai'
|
|
3054
5204
|
| 'zksync'
|
|
5205
|
+
| 'coti'
|
|
5206
|
+
| 'cotiTestnet'
|
|
5207
|
+
| 'morph'
|
|
5208
|
+
| 'morphTestnet'
|
|
5209
|
+
| 'morphHolesky'
|
|
5210
|
+
| 'ultra'
|
|
5211
|
+
| 'ultraTestnet'
|
|
5212
|
+
| 'nitrograph'
|
|
3055
5213
|
| 'sepolia'
|
|
3056
5214
|
| 'optimism_sepolia'
|
|
3057
5215
|
| 'arbitrumSepolia'
|
|
@@ -3059,13 +5217,23 @@ export namespace RuleUpdateParams {
|
|
|
3059
5217
|
| 'optimism_goerli'
|
|
3060
5218
|
| 'arbitrumGoerli'
|
|
3061
5219
|
| 'basecamp'
|
|
3062
|
-
| '
|
|
5220
|
+
| 'somnia';
|
|
5221
|
+
|
|
5222
|
+
/**
|
|
5223
|
+
* Symbol of the collection.
|
|
5224
|
+
*/
|
|
5225
|
+
symbol?: string;
|
|
3063
5226
|
}
|
|
3064
5227
|
|
|
3065
5228
|
/**
|
|
3066
5229
|
* Additional metadata for the loyalty rule
|
|
3067
5230
|
*/
|
|
3068
5231
|
export interface Metadata {
|
|
5232
|
+
/**
|
|
5233
|
+
* Number of tokens per batch.
|
|
5234
|
+
*/
|
|
5235
|
+
batchSize?: number | null;
|
|
5236
|
+
|
|
3069
5237
|
/**
|
|
3070
5238
|
* Text displayed on the action button.
|
|
3071
5239
|
*/
|
|
@@ -3089,7 +5257,7 @@ export namespace RuleUpdateParams {
|
|
|
3089
5257
|
/**
|
|
3090
5258
|
* Text to check in the Twitter post, username, or bio.
|
|
3091
5259
|
*/
|
|
3092
|
-
checkText?: string | null;
|
|
5260
|
+
checkText?: string | Array<string> | null;
|
|
3093
5261
|
|
|
3094
5262
|
/**
|
|
3095
5263
|
* Array of collections associated with the rule.
|
|
@@ -3099,7 +5267,12 @@ export namespace RuleUpdateParams {
|
|
|
3099
5267
|
/**
|
|
3100
5268
|
* Conditions for completing the profile.
|
|
3101
5269
|
*/
|
|
3102
|
-
completeProfileConditions?:
|
|
5270
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
5271
|
+
|
|
5272
|
+
/**
|
|
5273
|
+
* Description of the external rule condition (only for external rules)
|
|
5274
|
+
*/
|
|
5275
|
+
conditionDescription?: string;
|
|
3103
5276
|
|
|
3104
5277
|
/**
|
|
3105
5278
|
* Object containing details for the call-to-action.
|
|
@@ -3111,6 +5284,11 @@ export namespace RuleUpdateParams {
|
|
|
3111
5284
|
*/
|
|
3112
5285
|
customRewardsApiKey?: string;
|
|
3113
5286
|
|
|
5287
|
+
/**
|
|
5288
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
5289
|
+
*/
|
|
5290
|
+
directRpc?: boolean;
|
|
5291
|
+
|
|
3114
5292
|
/**
|
|
3115
5293
|
* Array of Discord servers, channels, and roles to join.
|
|
3116
5294
|
*/
|
|
@@ -3156,11 +5334,6 @@ export namespace RuleUpdateParams {
|
|
|
3156
5334
|
*/
|
|
3157
5335
|
hasNeverSold?: boolean;
|
|
3158
5336
|
|
|
3159
|
-
/**
|
|
3160
|
-
* Flag indicating whether the order source is included.
|
|
3161
|
-
*/
|
|
3162
|
-
hasOrderSource?: boolean;
|
|
3163
|
-
|
|
3164
5337
|
/**
|
|
3165
5338
|
* Indicates if the full royalty has been paid for items.
|
|
3166
5339
|
*/
|
|
@@ -3181,11 +5354,21 @@ export namespace RuleUpdateParams {
|
|
|
3181
5354
|
*/
|
|
3182
5355
|
imageUrl?: string | null;
|
|
3183
5356
|
|
|
5357
|
+
/**
|
|
5358
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
5359
|
+
*/
|
|
5360
|
+
isCheckInOnEveryTxn?: boolean;
|
|
5361
|
+
|
|
3184
5362
|
/**
|
|
3185
5363
|
* Indicates if the multiplier has been applied to rewards.
|
|
3186
5364
|
*/
|
|
3187
5365
|
isMultiplierApplied?: boolean;
|
|
3188
5366
|
|
|
5367
|
+
/**
|
|
5368
|
+
* Flag indicating if the rule is restricted to new users.
|
|
5369
|
+
*/
|
|
5370
|
+
isRestrictedToNewUsers?: boolean;
|
|
5371
|
+
|
|
3189
5372
|
/**
|
|
3190
5373
|
* Flag indicating if rewards are applied retroactively.
|
|
3191
5374
|
*/
|
|
@@ -3201,6 +5384,11 @@ export namespace RuleUpdateParams {
|
|
|
3201
5384
|
*/
|
|
3202
5385
|
link?: string | null;
|
|
3203
5386
|
|
|
5387
|
+
/**
|
|
5388
|
+
* Liquidity pool details.
|
|
5389
|
+
*/
|
|
5390
|
+
liquidity?: Metadata.Liquidity;
|
|
5391
|
+
|
|
3204
5392
|
/**
|
|
3205
5393
|
* Maximum quantity constraint for token holding.
|
|
3206
5394
|
*/
|
|
@@ -3242,14 +5430,24 @@ export namespace RuleUpdateParams {
|
|
|
3242
5430
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
3243
5431
|
|
|
3244
5432
|
/**
|
|
3245
|
-
*
|
|
5433
|
+
* Promotional code associated with the rule.
|
|
3246
5434
|
*/
|
|
3247
|
-
|
|
5435
|
+
promoCode?: string;
|
|
3248
5436
|
|
|
3249
5437
|
/**
|
|
3250
|
-
*
|
|
5438
|
+
* URL of the CSV file containing promo codes.
|
|
3251
5439
|
*/
|
|
3252
|
-
|
|
5440
|
+
promoCodeCsvUrl?: string;
|
|
5441
|
+
|
|
5442
|
+
/**
|
|
5443
|
+
* Numbers of the promotional code to be generated.
|
|
5444
|
+
*/
|
|
5445
|
+
promoCodeLength?: number | null;
|
|
5446
|
+
|
|
5447
|
+
/**
|
|
5448
|
+
* Type of the promotional code.
|
|
5449
|
+
*/
|
|
5450
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
3253
5451
|
|
|
3254
5452
|
/**
|
|
3255
5453
|
* Array defining ranges and corresponding rewards.
|
|
@@ -3266,11 +5464,62 @@ export namespace RuleUpdateParams {
|
|
|
3266
5464
|
*/
|
|
3267
5465
|
referrerReward?: number | null;
|
|
3268
5466
|
|
|
5467
|
+
/**
|
|
5468
|
+
* Loyalty currency ID of the referrer reward.
|
|
5469
|
+
*/
|
|
5470
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
5471
|
+
|
|
5472
|
+
/**
|
|
5473
|
+
* Flag indicating if the post link is required.
|
|
5474
|
+
*/
|
|
5475
|
+
requirePostLink?: boolean | null;
|
|
5476
|
+
|
|
5477
|
+
/**
|
|
5478
|
+
* Flag indicating if media metadata is required.
|
|
5479
|
+
*/
|
|
5480
|
+
requirePostMediaLink?: boolean | null;
|
|
5481
|
+
|
|
5482
|
+
/**
|
|
5483
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
5484
|
+
*/
|
|
5485
|
+
rewardBadgePerRange?: boolean;
|
|
5486
|
+
|
|
5487
|
+
/**
|
|
5488
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
5489
|
+
*/
|
|
5490
|
+
rewardByBatch?: boolean | null;
|
|
5491
|
+
|
|
5492
|
+
/**
|
|
5493
|
+
* Criteria to evaluate the reward.
|
|
5494
|
+
*/
|
|
5495
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
5496
|
+
|
|
5497
|
+
/**
|
|
5498
|
+
* Flag indicating if the reward is rewarded per action.
|
|
5499
|
+
*/
|
|
5500
|
+
rewardPerAction?: boolean | null;
|
|
5501
|
+
|
|
3269
5502
|
/**
|
|
3270
5503
|
* Flag indicating if rewards are given per impression.
|
|
3271
5504
|
*/
|
|
3272
5505
|
rewardPerImpression?: boolean | null;
|
|
3273
5506
|
|
|
5507
|
+
/**
|
|
5508
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
5509
|
+
* instead of count.
|
|
5510
|
+
*/
|
|
5511
|
+
rewardPerValue?: boolean;
|
|
5512
|
+
|
|
5513
|
+
/**
|
|
5514
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
5515
|
+
*/
|
|
5516
|
+
royaltyAddress?: string;
|
|
5517
|
+
|
|
5518
|
+
/**
|
|
5519
|
+
* Royalty percentage of the item.
|
|
5520
|
+
*/
|
|
5521
|
+
royaltyPercentage?: number;
|
|
5522
|
+
|
|
3274
5523
|
/**
|
|
3275
5524
|
* Currency associated with sales.
|
|
3276
5525
|
*/
|
|
@@ -3310,6 +5559,7 @@ export namespace RuleUpdateParams {
|
|
|
3310
5559
|
| 'Twitch'
|
|
3311
5560
|
| 'X(Twitter)'
|
|
3312
5561
|
| 'YouTube'
|
|
5562
|
+
| 'Google'
|
|
3313
5563
|
| null;
|
|
3314
5564
|
|
|
3315
5565
|
/**
|
|
@@ -3322,11 +5572,21 @@ export namespace RuleUpdateParams {
|
|
|
3322
5572
|
*/
|
|
3323
5573
|
socialPlatformName?: string | null;
|
|
3324
5574
|
|
|
5575
|
+
/**
|
|
5576
|
+
* ID of the Steam app.
|
|
5577
|
+
*/
|
|
5578
|
+
steamAppId?: string | null;
|
|
5579
|
+
|
|
3325
5580
|
/**
|
|
3326
5581
|
* Array of streak milestones and corresponding rewards.
|
|
3327
5582
|
*/
|
|
3328
5583
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3329
5584
|
|
|
5585
|
+
/**
|
|
5586
|
+
* Metadata for swap loyalty rules
|
|
5587
|
+
*/
|
|
5588
|
+
swap?: Metadata.Swap;
|
|
5589
|
+
|
|
3330
5590
|
/**
|
|
3331
5591
|
* ID of the Telegram channel.
|
|
3332
5592
|
*/
|
|
@@ -3342,6 +5602,12 @@ export namespace RuleUpdateParams {
|
|
|
3342
5602
|
*/
|
|
3343
5603
|
trackAllContracts?: boolean | null;
|
|
3344
5604
|
|
|
5605
|
+
/**
|
|
5606
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
5607
|
+
* completed once the progress is 100%.
|
|
5608
|
+
*/
|
|
5609
|
+
trackProgress?: boolean | null;
|
|
5610
|
+
|
|
3345
5611
|
/**
|
|
3346
5612
|
* URL of the associated Twitter account.
|
|
3347
5613
|
*/
|
|
@@ -3385,7 +5651,17 @@ export namespace RuleUpdateParams {
|
|
|
3385
5651
|
/**
|
|
3386
5652
|
* Type of wallet associated with the rule.
|
|
3387
5653
|
*/
|
|
3388
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
5654
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
|
|
5655
|
+
|
|
5656
|
+
/**
|
|
5657
|
+
* ID of the Youtube channel.
|
|
5658
|
+
*/
|
|
5659
|
+
youtubeChannelId?: string | null;
|
|
5660
|
+
|
|
5661
|
+
/**
|
|
5662
|
+
* ID of the Youtube video.
|
|
5663
|
+
*/
|
|
5664
|
+
youtubeVideoId?: string | null;
|
|
3389
5665
|
}
|
|
3390
5666
|
|
|
3391
5667
|
export namespace Metadata {
|
|
@@ -3404,13 +5680,17 @@ export namespace RuleUpdateParams {
|
|
|
3404
5680
|
* Blockchain network of the collection.
|
|
3405
5681
|
*/
|
|
3406
5682
|
network?:
|
|
5683
|
+
| 'abstract'
|
|
5684
|
+
| 'abstractTestnet'
|
|
3407
5685
|
| 'apechain'
|
|
3408
5686
|
| 'arbitrum'
|
|
3409
5687
|
| 'avalanche'
|
|
3410
5688
|
| 'avalancheFuji'
|
|
3411
5689
|
| 'base'
|
|
3412
5690
|
| 'baseSepolia'
|
|
5691
|
+
| 'berachain'
|
|
3413
5692
|
| 'berachainArtio'
|
|
5693
|
+
| 'berachainBepolia'
|
|
3414
5694
|
| 'binance'
|
|
3415
5695
|
| 'bscTestnet'
|
|
3416
5696
|
| 'campTestnet'
|
|
@@ -3418,18 +5698,28 @@ export namespace RuleUpdateParams {
|
|
|
3418
5698
|
| 'fantomTestnet'
|
|
3419
5699
|
| 'flowMainnet'
|
|
3420
5700
|
| 'mainnet'
|
|
5701
|
+
| 'nexusTestnet'
|
|
3421
5702
|
| 'optimism'
|
|
3422
5703
|
| 'polygon'
|
|
3423
5704
|
| 'polygon_mumbai'
|
|
3424
5705
|
| 'skaleNebula'
|
|
3425
5706
|
| 'solana'
|
|
3426
5707
|
| 'sophon'
|
|
5708
|
+
| 'sophonTestnet'
|
|
3427
5709
|
| 'sui'
|
|
3428
5710
|
| 'superseed'
|
|
3429
5711
|
| 'superseedSepolia'
|
|
3430
5712
|
| 'vanar'
|
|
3431
5713
|
| 'xai'
|
|
3432
5714
|
| 'zksync'
|
|
5715
|
+
| 'coti'
|
|
5716
|
+
| 'cotiTestnet'
|
|
5717
|
+
| 'morph'
|
|
5718
|
+
| 'morphTestnet'
|
|
5719
|
+
| 'morphHolesky'
|
|
5720
|
+
| 'ultra'
|
|
5721
|
+
| 'ultraTestnet'
|
|
5722
|
+
| 'nitrograph'
|
|
3433
5723
|
| 'sepolia'
|
|
3434
5724
|
| 'optimism_sepolia'
|
|
3435
5725
|
| 'arbitrumSepolia'
|
|
@@ -3437,7 +5727,7 @@ export namespace RuleUpdateParams {
|
|
|
3437
5727
|
| 'optimism_goerli'
|
|
3438
5728
|
| 'arbitrumGoerli'
|
|
3439
5729
|
| 'basecamp'
|
|
3440
|
-
| '
|
|
5730
|
+
| 'somnia';
|
|
3441
5731
|
}
|
|
3442
5732
|
|
|
3443
5733
|
/**
|
|
@@ -3514,6 +5804,105 @@ export namespace RuleUpdateParams {
|
|
|
3514
5804
|
id: string;
|
|
3515
5805
|
}
|
|
3516
5806
|
|
|
5807
|
+
/**
|
|
5808
|
+
* Liquidity pool details.
|
|
5809
|
+
*/
|
|
5810
|
+
export interface Liquidity {
|
|
5811
|
+
/**
|
|
5812
|
+
* Calculation type of the liquidity pool.
|
|
5813
|
+
*/
|
|
5814
|
+
calculationType?: 'fixed' | 'custom';
|
|
5815
|
+
|
|
5816
|
+
/**
|
|
5817
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
5818
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
5819
|
+
* USD.
|
|
5820
|
+
*/
|
|
5821
|
+
customFunction?: string;
|
|
5822
|
+
|
|
5823
|
+
/**
|
|
5824
|
+
* Liquidity provided per day in USD
|
|
5825
|
+
*/
|
|
5826
|
+
liquidityPerDay?: number;
|
|
5827
|
+
|
|
5828
|
+
/**
|
|
5829
|
+
* Blockchain network of the liquidity pool.
|
|
5830
|
+
*/
|
|
5831
|
+
network?:
|
|
5832
|
+
| 'abstract'
|
|
5833
|
+
| 'abstractTestnet'
|
|
5834
|
+
| 'apechain'
|
|
5835
|
+
| 'arbitrum'
|
|
5836
|
+
| 'avalanche'
|
|
5837
|
+
| 'avalancheFuji'
|
|
5838
|
+
| 'base'
|
|
5839
|
+
| 'baseSepolia'
|
|
5840
|
+
| 'berachain'
|
|
5841
|
+
| 'berachainArtio'
|
|
5842
|
+
| 'berachainBepolia'
|
|
5843
|
+
| 'binance'
|
|
5844
|
+
| 'bscTestnet'
|
|
5845
|
+
| 'campTestnet'
|
|
5846
|
+
| 'fantom'
|
|
5847
|
+
| 'fantomTestnet'
|
|
5848
|
+
| 'flowMainnet'
|
|
5849
|
+
| 'mainnet'
|
|
5850
|
+
| 'nexusTestnet'
|
|
5851
|
+
| 'optimism'
|
|
5852
|
+
| 'polygon'
|
|
5853
|
+
| 'polygon_mumbai'
|
|
5854
|
+
| 'skaleNebula'
|
|
5855
|
+
| 'solana'
|
|
5856
|
+
| 'sophon'
|
|
5857
|
+
| 'sophonTestnet'
|
|
5858
|
+
| 'sui'
|
|
5859
|
+
| 'superseed'
|
|
5860
|
+
| 'superseedSepolia'
|
|
5861
|
+
| 'vanar'
|
|
5862
|
+
| 'xai'
|
|
5863
|
+
| 'zksync'
|
|
5864
|
+
| 'coti'
|
|
5865
|
+
| 'cotiTestnet'
|
|
5866
|
+
| 'morph'
|
|
5867
|
+
| 'morphTestnet'
|
|
5868
|
+
| 'morphHolesky'
|
|
5869
|
+
| 'ultra'
|
|
5870
|
+
| 'ultraTestnet'
|
|
5871
|
+
| 'nitrograph'
|
|
5872
|
+
| 'sepolia'
|
|
5873
|
+
| 'optimism_sepolia'
|
|
5874
|
+
| 'arbitrumSepolia'
|
|
5875
|
+
| 'goerli'
|
|
5876
|
+
| 'optimism_goerli'
|
|
5877
|
+
| 'arbitrumGoerli'
|
|
5878
|
+
| 'basecamp'
|
|
5879
|
+
| 'somnia';
|
|
5880
|
+
|
|
5881
|
+
/**
|
|
5882
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
5883
|
+
*/
|
|
5884
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
5885
|
+
|
|
5886
|
+
/**
|
|
5887
|
+
* Array of liquidity pools associated with the rule.
|
|
5888
|
+
*/
|
|
5889
|
+
pools?: Array<Liquidity.Pool>;
|
|
5890
|
+
|
|
5891
|
+
/**
|
|
5892
|
+
* Protocol of the liquidity pool.
|
|
5893
|
+
*/
|
|
5894
|
+
protocol?: string;
|
|
5895
|
+
}
|
|
5896
|
+
|
|
5897
|
+
export namespace Liquidity {
|
|
5898
|
+
export interface Pool {
|
|
5899
|
+
/**
|
|
5900
|
+
* Unique identifier of the liquidity pool.
|
|
5901
|
+
*/
|
|
5902
|
+
id: string;
|
|
5903
|
+
}
|
|
5904
|
+
}
|
|
5905
|
+
|
|
3517
5906
|
export interface Range {
|
|
3518
5907
|
/**
|
|
3519
5908
|
* Reward amount for this range.
|
|
@@ -3529,6 +5918,16 @@ export namespace RuleUpdateParams {
|
|
|
3529
5918
|
* Start value of the range.
|
|
3530
5919
|
*/
|
|
3531
5920
|
startRange: number;
|
|
5921
|
+
|
|
5922
|
+
/**
|
|
5923
|
+
* ID of the loyalty badge for this range.
|
|
5924
|
+
*/
|
|
5925
|
+
loyaltyBadgeId?: string;
|
|
5926
|
+
|
|
5927
|
+
/**
|
|
5928
|
+
* Amount of the loyalty multiplier for this range.
|
|
5929
|
+
*/
|
|
5930
|
+
loyaltyMultiplierAmount?: number;
|
|
3532
5931
|
}
|
|
3533
5932
|
|
|
3534
5933
|
/**
|
|
@@ -3581,20 +5980,15 @@ export namespace RuleUpdateParams {
|
|
|
3581
5980
|
* Object containing details of the associated smart contract.
|
|
3582
5981
|
*/
|
|
3583
5982
|
export interface SmartContract {
|
|
3584
|
-
/**
|
|
3585
|
-
* ABI of the smart contract.
|
|
3586
|
-
*/
|
|
3587
|
-
abi?: string | null;
|
|
3588
|
-
|
|
3589
5983
|
/**
|
|
3590
5984
|
* Mapping of addresses for the smart contract.
|
|
3591
5985
|
*/
|
|
3592
5986
|
addressMapping?: string | null;
|
|
3593
5987
|
|
|
3594
5988
|
/**
|
|
3595
|
-
*
|
|
5989
|
+
* Object containing details of the amount multiplier from the event.
|
|
3596
5990
|
*/
|
|
3597
|
-
|
|
5991
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3598
5992
|
|
|
3599
5993
|
/**
|
|
3600
5994
|
* ID of the smart contract.
|
|
@@ -3606,68 +6000,31 @@ export namespace RuleUpdateParams {
|
|
|
3606
6000
|
*/
|
|
3607
6001
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3608
6002
|
|
|
3609
|
-
/**
|
|
3610
|
-
* Time range applied to the rule.
|
|
3611
|
-
*/
|
|
3612
|
-
customRange?: SmartContract.CustomRange | null;
|
|
3613
|
-
|
|
3614
6003
|
/**
|
|
3615
6004
|
* Event emitted by the smart contract.
|
|
3616
6005
|
*/
|
|
3617
6006
|
event?: string | null;
|
|
3618
6007
|
|
|
3619
|
-
/**
|
|
3620
|
-
* Maximum value allowed for the parameter.
|
|
3621
|
-
*/
|
|
3622
|
-
max?: number | null;
|
|
3623
|
-
|
|
3624
6008
|
/**
|
|
3625
6009
|
* Array of parameters for the smart contract.
|
|
3626
6010
|
*/
|
|
3627
6011
|
params?: Array<SmartContract.Param> | null;
|
|
3628
6012
|
|
|
3629
6013
|
/**
|
|
3630
|
-
*
|
|
3631
|
-
*/
|
|
3632
|
-
withBonus?: boolean | null;
|
|
3633
|
-
|
|
3634
|
-
/**
|
|
3635
|
-
* Flag indicating if a custom range is applied.
|
|
6014
|
+
* Type of the smart contract interaction.
|
|
3636
6015
|
*/
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
/**
|
|
3640
|
-
* Flag indicating if a maximum limit is applied.
|
|
3641
|
-
*/
|
|
3642
|
-
withMax?: boolean | null;
|
|
6016
|
+
type?: 'function' | 'event' | null;
|
|
3643
6017
|
}
|
|
3644
6018
|
|
|
3645
6019
|
export namespace SmartContract {
|
|
3646
|
-
export interface Bonus {
|
|
3647
|
-
/**
|
|
3648
|
-
* Amount of the bonus.
|
|
3649
|
-
*/
|
|
3650
|
-
amount?: number | null;
|
|
3651
|
-
|
|
3652
|
-
/**
|
|
3653
|
-
* Number of times the bonus is applied.
|
|
3654
|
-
*/
|
|
3655
|
-
count?: number | null;
|
|
3656
|
-
}
|
|
3657
|
-
|
|
3658
6020
|
/**
|
|
3659
|
-
*
|
|
6021
|
+
* Object containing details of the amount multiplier from the event.
|
|
3660
6022
|
*/
|
|
3661
|
-
export interface
|
|
3662
|
-
/**
|
|
3663
|
-
* End time of the custom range.
|
|
3664
|
-
*/
|
|
3665
|
-
endsAt?: string | null;
|
|
3666
|
-
|
|
6023
|
+
export interface AmountMultiplier {
|
|
3667
6024
|
/**
|
|
3668
|
-
*
|
|
6025
|
+
* Mapping of the value for the smart contract.
|
|
3669
6026
|
*/
|
|
3670
|
-
|
|
6027
|
+
valueMapping?: string | null;
|
|
3671
6028
|
}
|
|
3672
6029
|
|
|
3673
6030
|
export interface Param {
|
|
@@ -3711,17 +6068,66 @@ export namespace RuleUpdateParams {
|
|
|
3711
6068
|
*/
|
|
3712
6069
|
streakMilestone: number;
|
|
3713
6070
|
}
|
|
6071
|
+
|
|
6072
|
+
/**
|
|
6073
|
+
* Metadata for swap loyalty rules
|
|
6074
|
+
*/
|
|
6075
|
+
export interface Swap {
|
|
6076
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
6077
|
+
|
|
6078
|
+
relayReferrerId?: string;
|
|
6079
|
+
|
|
6080
|
+
requireCrossChainSwap?: boolean;
|
|
6081
|
+
|
|
6082
|
+
swappedToChain?: 'any' | number | string;
|
|
6083
|
+
|
|
6084
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
6085
|
+
|
|
6086
|
+
tokenMode?: 'any' | 'specific';
|
|
6087
|
+
|
|
6088
|
+
trackTokenAmount?: boolean;
|
|
6089
|
+
}
|
|
6090
|
+
|
|
6091
|
+
export namespace Swap {
|
|
6092
|
+
export interface SwappedToToken {
|
|
6093
|
+
address: string;
|
|
6094
|
+
|
|
6095
|
+
chainId: string;
|
|
6096
|
+
}
|
|
6097
|
+
}
|
|
3714
6098
|
}
|
|
3715
6099
|
}
|
|
3716
6100
|
|
|
3717
6101
|
export interface RuleListParams {
|
|
6102
|
+
/**
|
|
6103
|
+
* IDs of the users to filter results by
|
|
6104
|
+
*/
|
|
6105
|
+
allotedToUserId?: string | Array<string>;
|
|
6106
|
+
|
|
6107
|
+
/**
|
|
6108
|
+
* ID of the user group to filter results by
|
|
6109
|
+
*/
|
|
6110
|
+
allotedUserGroupId?: string;
|
|
6111
|
+
|
|
3718
6112
|
/**
|
|
3719
6113
|
* Address of the collection to filter by
|
|
3720
6114
|
*/
|
|
3721
6115
|
collectionAddress?: string;
|
|
3722
6116
|
|
|
3723
6117
|
/**
|
|
3724
|
-
*
|
|
6118
|
+
* If true this will only return active rules, the rules for which the startTime is
|
|
6119
|
+
* in the past and the endTime is in the future
|
|
6120
|
+
*/
|
|
6121
|
+
isActive?: 'true' | 'false';
|
|
6122
|
+
|
|
6123
|
+
/**
|
|
6124
|
+
* If true this will only return special rules, special rules are the rules that
|
|
6125
|
+
* are used for anti sybil as honey pot
|
|
6126
|
+
*/
|
|
6127
|
+
isSpecial?: 'true' | 'false';
|
|
6128
|
+
|
|
6129
|
+
/**
|
|
6130
|
+
* Maximum number of records to return (max 100)
|
|
3725
6131
|
*/
|
|
3726
6132
|
limit?: number;
|
|
3727
6133
|
|
|
@@ -3751,6 +6157,13 @@ export interface RuleListParams {
|
|
|
3751
6157
|
websiteId?: string;
|
|
3752
6158
|
}
|
|
3753
6159
|
|
|
6160
|
+
export interface RuleDeleteParams {
|
|
6161
|
+
/**
|
|
6162
|
+
* Whether to debit loyalty points
|
|
6163
|
+
*/
|
|
6164
|
+
debitLoyaltyPoints?: string;
|
|
6165
|
+
}
|
|
6166
|
+
|
|
3754
6167
|
export interface RuleCompleteParams {
|
|
3755
6168
|
/**
|
|
3756
6169
|
* Override amount for the reward (rounded to nearest whole number). This will
|
|
@@ -3759,15 +6172,25 @@ export interface RuleCompleteParams {
|
|
|
3759
6172
|
amount?: number | null;
|
|
3760
6173
|
|
|
3761
6174
|
/**
|
|
3762
|
-
* Link to the comment made by user
|
|
6175
|
+
* Link to the post/comment made by user
|
|
3763
6176
|
*/
|
|
3764
|
-
|
|
6177
|
+
contentUrl?: string;
|
|
6178
|
+
|
|
6179
|
+
/**
|
|
6180
|
+
* Unique key to ensure idempotent requests.
|
|
6181
|
+
*/
|
|
6182
|
+
idempotencyKey?: string;
|
|
3765
6183
|
|
|
3766
6184
|
/**
|
|
3767
6185
|
* ID of the choice selected by the user
|
|
3768
6186
|
*/
|
|
3769
6187
|
loyaltyQuestionChoiceId?: string;
|
|
3770
6188
|
|
|
6189
|
+
/**
|
|
6190
|
+
* Value to compare with the range
|
|
6191
|
+
*/
|
|
6192
|
+
rangeValue?: number | null;
|
|
6193
|
+
|
|
3771
6194
|
/**
|
|
3772
6195
|
* Unique identifier for the user
|
|
3773
6196
|
*/
|
|
@@ -3780,7 +6203,7 @@ export interface RuleCompleteParams {
|
|
|
3780
6203
|
|
|
3781
6204
|
/**
|
|
3782
6205
|
* Flag indicating if only verification is required, this will not create a
|
|
3783
|
-
* transaction and reward the user
|
|
6206
|
+
* transaction and reward the user.
|
|
3784
6207
|
*/
|
|
3785
6208
|
verifyOnly?: string;
|
|
3786
6209
|
|
|
@@ -3791,11 +6214,30 @@ export interface RuleCompleteParams {
|
|
|
3791
6214
|
}
|
|
3792
6215
|
|
|
3793
6216
|
export interface RuleGetStatusParams {
|
|
3794
|
-
|
|
6217
|
+
/**
|
|
6218
|
+
* Number of items to return
|
|
6219
|
+
*/
|
|
6220
|
+
limit?: number | null;
|
|
3795
6221
|
|
|
3796
|
-
|
|
6222
|
+
/**
|
|
6223
|
+
* Unique identifier for the loyalty rule[s]
|
|
6224
|
+
*/
|
|
6225
|
+
loyaltyRuleId?: string | Array<string>;
|
|
6226
|
+
|
|
6227
|
+
organizationId?: string;
|
|
6228
|
+
|
|
6229
|
+
/**
|
|
6230
|
+
* Starting after item
|
|
6231
|
+
*/
|
|
6232
|
+
startingAfter?: string;
|
|
6233
|
+
|
|
6234
|
+
userGroupId?: string;
|
|
3797
6235
|
|
|
3798
6236
|
userId?: string;
|
|
6237
|
+
|
|
6238
|
+
walletAddress?: string;
|
|
6239
|
+
|
|
6240
|
+
websiteId?: string;
|
|
3799
6241
|
}
|
|
3800
6242
|
|
|
3801
6243
|
export declare namespace Rules {
|
|
@@ -3809,6 +6251,7 @@ export declare namespace Rules {
|
|
|
3809
6251
|
type RuleCreateParams as RuleCreateParams,
|
|
3810
6252
|
type RuleUpdateParams as RuleUpdateParams,
|
|
3811
6253
|
type RuleListParams as RuleListParams,
|
|
6254
|
+
type RuleDeleteParams as RuleDeleteParams,
|
|
3812
6255
|
type RuleCompleteParams as RuleCompleteParams,
|
|
3813
6256
|
type RuleGetStatusParams as RuleGetStatusParams,
|
|
3814
6257
|
};
|