@snagsolutions/sdk 0.1.0-alpha.18 → 0.1.0-alpha.180
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 +1472 -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 +7 -4
- package/index.d.ts +7 -4
- package/index.d.ts.map +1 -1
- package/index.js +8 -4
- package/index.js.map +1 -1
- package/index.mjs +8 -4
- 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 +122 -0
- package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/values.js +49 -0
- package/resources/auctions/website-user-attributes/values.js.map +1 -0
- package/resources/auctions/website-user-attributes/values.mjs +45 -0
- package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +132 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
- package/resources/auctions/website-user-attributes.d.ts +2 -0
- package/resources/auctions/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes.js +19 -0
- package/resources/auctions/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes.mjs +3 -0
- package/resources/auctions/website-user-attributes.mjs.map +1 -0
- package/resources/auctions.d.ts +1 -133
- package/resources/auctions.d.ts.map +1 -1
- package/resources/auctions.js +15 -22
- package/resources/auctions.js.map +1 -1
- package/resources/auctions.mjs +1 -20
- package/resources/auctions.mjs.map +1 -1
- package/resources/auth.d.ts +17 -4
- 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 +2 -2
- 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 +1 -1
- 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 +60 -16
- package/resources/loyalty/accounts.d.ts.map +1 -1
- package/resources/loyalty/accounts.js +14 -0
- package/resources/loyalty/accounts.js.map +1 -1
- package/resources/loyalty/accounts.mjs +14 -0
- package/resources/loyalty/accounts.mjs.map +1 -1
- package/resources/loyalty/badges.d.ts +504 -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 -4
- package/resources/loyalty/index.d.ts.map +1 -1
- package/resources/loyalty/index.js +5 -5
- package/resources/loyalty/index.js.map +1 -1
- package/resources/loyalty/index.mjs +3 -3
- package/resources/loyalty/index.mjs.map +1 -1
- package/resources/loyalty/loyalty.d.ts +11 -11
- package/resources/loyalty/loyalty.d.ts.map +1 -1
- package/resources/loyalty/loyalty.js +6 -6
- package/resources/loyalty/loyalty.js.map +1 -1
- package/resources/loyalty/loyalty.mjs +7 -7
- 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 +2630 -8
- package/resources/loyalty/rule-edits.d.ts.map +1 -1
- package/resources/loyalty/rule-edits.js +14 -0
- package/resources/loyalty/rule-edits.js.map +1 -1
- package/resources/loyalty/rule-edits.mjs +14 -0
- package/resources/loyalty/rule-edits.mjs.map +1 -1
- package/resources/loyalty/rule-groups.d.ts +279 -64
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.js +38 -2
- package/resources/loyalty/rule-groups.js.map +1 -1
- package/resources/loyalty/rule-groups.mjs +38 -2
- package/resources/loyalty/rule-groups.mjs.map +1 -1
- package/resources/loyalty/rules.d.ts +1902 -269
- 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 +120 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.js +30 -0
- package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
- package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
- package/resources/loyalty/transactions/transactions.d.ts +410 -0
- package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
- package/resources/loyalty/transactions/transactions.js +76 -0
- package/resources/loyalty/transactions/transactions.js.map +1 -0
- package/resources/loyalty/transactions/transactions.mjs +49 -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 +34 -3
- package/resources/users/metadatas.d.ts.map +1 -1
- package/resources/users/metadatas.js.map +1 -1
- package/resources/users/metadatas.mjs.map +1 -1
- package/resources/users/users.d.ts +159 -35
- 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/website-collections.d.ts +22 -1
- package/resources/websites/website-collections.d.ts.map +1 -1
- package/resources/websites/website-collections.js +21 -0
- package/resources/websites/website-collections.js.map +1 -1
- package/resources/websites/website-collections.mjs +21 -0
- package/resources/websites/website-collections.mjs.map +1 -1
- package/resources/websites/website-user-roles.d.ts +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 +12 -0
- package/resources/websites/websites.d.ts.map +1 -1
- package/resources/websites/websites.js +7 -0
- package/resources/websites/websites.js.map +1 -1
- package/resources/websites/websites.mjs +7 -0
- package/resources/websites/websites.mjs.map +1 -1
- package/src/core.ts +39 -16
- package/src/index.ts +29 -2
- package/src/resource.ts +1 -1
- package/src/resources/assets.ts +18 -3
- package/src/resources/auctions/auctions.ts +436 -0
- package/src/resources/auctions/index.ts +18 -0
- package/src/resources/auctions/website-user-attributes/index.ts +18 -0
- package/src/resources/auctions/website-user-attributes/values.ts +165 -0
- package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
- package/src/resources/auctions/website-user-attributes.ts +3 -0
- package/src/resources/auctions.ts +1 -207
- package/src/resources/auth.ts +21 -5
- package/src/resources/index.ts +11 -1
- package/src/resources/loyalty/account-streaks.ts +110 -0
- package/src/resources/loyalty/accounts.ts +65 -18
- package/src/resources/loyalty/badges.ts +607 -24
- package/src/resources/loyalty/currencies.ts +19 -0
- package/src/resources/loyalty/index.ts +19 -3
- package/src/resources/loyalty/loyalty.ts +39 -15
- 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 +3802 -100
- package/src/resources/loyalty/rule-groups.ts +483 -76
- package/src/resources/loyalty/rules.ts +2925 -310
- package/src/resources/loyalty/transactions/index.ts +18 -0
- package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
- package/src/resources/loyalty/transactions/transactions.ts +681 -0
- package/src/resources/loyalty/transactions.ts +1 -330
- package/src/resources/minting.ts +22 -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 +57 -3
- package/src/resources/users/users.ts +209 -38
- package/src/resources/websites/website-collections.ts +39 -1
- package/src/resources/websites/website-user-roles.ts +23 -0
- package/src/resources/websites/websites.ts +12 -0
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/resources/loyalty/rule-chains.d.ts +0 -34
- package/resources/loyalty/rule-chains.d.ts.map +0 -1
- package/resources/loyalty/rule-chains.js +0 -15
- package/resources/loyalty/rule-chains.js.map +0 -1
- package/resources/loyalty/rule-chains.mjs +0 -11
- package/resources/loyalty/rule-chains.mjs.map +0 -1
- package/src/resources/loyalty/rule-chains.ts +0 -45
|
@@ -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,
|
|
@@ -70,12 +134,26 @@ export class Rules extends APIResource {
|
|
|
70
134
|
}
|
|
71
135
|
|
|
72
136
|
/**
|
|
73
|
-
* This will return the processing status of quests for a specific user
|
|
137
|
+
* This will return the processing status of quests for a specific user and also
|
|
138
|
+
* the progress of the loyalty rule
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```ts
|
|
142
|
+
* const response = await client.loyalty.rules.getStatus();
|
|
143
|
+
* ```
|
|
74
144
|
*/
|
|
75
145
|
getStatus(
|
|
76
|
-
query
|
|
146
|
+
query?: RuleGetStatusParams,
|
|
147
|
+
options?: Core.RequestOptions,
|
|
148
|
+
): Core.APIPromise<RuleGetStatusResponse>;
|
|
149
|
+
getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
|
|
150
|
+
getStatus(
|
|
151
|
+
query: RuleGetStatusParams | Core.RequestOptions = {},
|
|
77
152
|
options?: Core.RequestOptions,
|
|
78
153
|
): Core.APIPromise<RuleGetStatusResponse> {
|
|
154
|
+
if (isRequestOptions(query)) {
|
|
155
|
+
return this.getStatus({}, query);
|
|
156
|
+
}
|
|
79
157
|
return this._client.get('/api/loyalty/rules/status', { query, ...options });
|
|
80
158
|
}
|
|
81
159
|
}
|
|
@@ -189,7 +267,21 @@ export interface RuleCreateResponse {
|
|
|
189
267
|
| 'twitter_like'
|
|
190
268
|
| 'twitter_post_hashtag'
|
|
191
269
|
| 'quiz'
|
|
192
|
-
| 'poll'
|
|
270
|
+
| 'poll'
|
|
271
|
+
| 'steam_wishlist'
|
|
272
|
+
| 'liquidity_uniswap_v2'
|
|
273
|
+
| 'liquidity_uniswap_v3'
|
|
274
|
+
| 'points_airdrop'
|
|
275
|
+
| 'youtube_subscribers'
|
|
276
|
+
| 'youtube_comment'
|
|
277
|
+
| 'shopify_spend'
|
|
278
|
+
| 'swap'
|
|
279
|
+
| 'tiktok_post'
|
|
280
|
+
| 'post_impressions'
|
|
281
|
+
| 'discord_join'
|
|
282
|
+
| 'connected_youtube'
|
|
283
|
+
| 'stratus_function'
|
|
284
|
+
| 'connected_tiktok';
|
|
193
285
|
|
|
194
286
|
/**
|
|
195
287
|
* Unique identifier for the associated website
|
|
@@ -201,6 +293,11 @@ export interface RuleCreateResponse {
|
|
|
201
293
|
*/
|
|
202
294
|
backgroundAssetUrl?: string;
|
|
203
295
|
|
|
296
|
+
/**
|
|
297
|
+
* The type of claim for the reward
|
|
298
|
+
*/
|
|
299
|
+
claimType?: 'manual' | 'auto' | null;
|
|
300
|
+
|
|
204
301
|
/**
|
|
205
302
|
* Blockchain address of the associated collection
|
|
206
303
|
*/
|
|
@@ -226,6 +323,18 @@ export interface RuleCreateResponse {
|
|
|
226
323
|
*/
|
|
227
324
|
description?: string;
|
|
228
325
|
|
|
326
|
+
duplicatedFromId?: string | null;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* ID of the external integration
|
|
330
|
+
*/
|
|
331
|
+
externalIntegrationId?: string | null;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Optional stratus function id for the rule
|
|
335
|
+
*/
|
|
336
|
+
functionId?: string | null;
|
|
337
|
+
|
|
229
338
|
/**
|
|
230
339
|
* Whether to hide this rule in the user interface
|
|
231
340
|
*/
|
|
@@ -234,18 +343,40 @@ export interface RuleCreateResponse {
|
|
|
234
343
|
/**
|
|
235
344
|
* Interval between rule executions
|
|
236
345
|
*/
|
|
237
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
346
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
238
347
|
|
|
239
348
|
/**
|
|
240
349
|
* Whether this rule is mandatory
|
|
241
350
|
*/
|
|
242
351
|
isRequired?: boolean;
|
|
243
352
|
|
|
353
|
+
/**
|
|
354
|
+
* Unique identifier for the loyalty badge
|
|
355
|
+
*/
|
|
356
|
+
loyaltyBadgeId?: string | null;
|
|
357
|
+
|
|
244
358
|
/**
|
|
245
359
|
* Unique identifier for the loyalty rule group
|
|
246
360
|
*/
|
|
247
361
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
248
362
|
|
|
363
|
+
/**
|
|
364
|
+
* URL for uploading loyalty user allotment via CSV
|
|
365
|
+
*/
|
|
366
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
370
|
+
* rules.
|
|
371
|
+
*/
|
|
372
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
376
|
+
* smart contract and external rules.
|
|
377
|
+
*/
|
|
378
|
+
maxAmountPerInterval?: number | null;
|
|
379
|
+
|
|
249
380
|
/**
|
|
250
381
|
* URL of the media to be displayed
|
|
251
382
|
*/
|
|
@@ -255,13 +386,17 @@ export interface RuleCreateResponse {
|
|
|
255
386
|
* Blockchain network where the rule will apply
|
|
256
387
|
*/
|
|
257
388
|
network?:
|
|
389
|
+
| 'abstract'
|
|
390
|
+
| 'abstractTestnet'
|
|
258
391
|
| 'apechain'
|
|
259
392
|
| 'arbitrum'
|
|
260
393
|
| 'avalanche'
|
|
261
394
|
| 'avalancheFuji'
|
|
262
395
|
| 'base'
|
|
263
396
|
| 'baseSepolia'
|
|
397
|
+
| 'berachain'
|
|
264
398
|
| 'berachainArtio'
|
|
399
|
+
| 'berachainBepolia'
|
|
265
400
|
| 'binance'
|
|
266
401
|
| 'bscTestnet'
|
|
267
402
|
| 'campTestnet'
|
|
@@ -269,18 +404,30 @@ export interface RuleCreateResponse {
|
|
|
269
404
|
| 'fantomTestnet'
|
|
270
405
|
| 'flowMainnet'
|
|
271
406
|
| 'mainnet'
|
|
407
|
+
| 'nexusTestnet'
|
|
272
408
|
| 'optimism'
|
|
273
409
|
| 'polygon'
|
|
274
410
|
| 'polygon_mumbai'
|
|
275
411
|
| 'skaleNebula'
|
|
412
|
+
| 'skaleEuropa'
|
|
413
|
+
| 'skaleCalypso'
|
|
276
414
|
| 'solana'
|
|
277
415
|
| 'sophon'
|
|
416
|
+
| 'sophonTestnet'
|
|
278
417
|
| 'sui'
|
|
279
418
|
| 'superseed'
|
|
280
419
|
| 'superseedSepolia'
|
|
281
420
|
| 'vanar'
|
|
282
421
|
| 'xai'
|
|
283
422
|
| 'zksync'
|
|
423
|
+
| 'coti'
|
|
424
|
+
| 'cotiTestnet'
|
|
425
|
+
| 'morph'
|
|
426
|
+
| 'morphTestnet'
|
|
427
|
+
| 'morphHolesky'
|
|
428
|
+
| 'ultra'
|
|
429
|
+
| 'ultraTestnet'
|
|
430
|
+
| 'nitrograph'
|
|
284
431
|
| 'sepolia'
|
|
285
432
|
| 'optimism_sepolia'
|
|
286
433
|
| 'arbitrumSepolia'
|
|
@@ -288,22 +435,38 @@ export interface RuleCreateResponse {
|
|
|
288
435
|
| 'optimism_goerli'
|
|
289
436
|
| 'arbitrumGoerli'
|
|
290
437
|
| 'basecamp'
|
|
291
|
-
| '
|
|
438
|
+
| 'somnia'
|
|
439
|
+
| 'flow_cadence';
|
|
292
440
|
|
|
293
441
|
/**
|
|
294
442
|
* OAuth credentials associated with the rule
|
|
295
443
|
*/
|
|
296
444
|
oauthCredentialsId?: string | null;
|
|
297
445
|
|
|
446
|
+
/**
|
|
447
|
+
* The lifetime of the reward
|
|
448
|
+
*/
|
|
449
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
450
|
+
|
|
298
451
|
/**
|
|
299
452
|
* Type of reward issued by the rule
|
|
300
453
|
*/
|
|
301
|
-
rewardType?: 'points' | 'multiplier';
|
|
454
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* URL of the Shopify store
|
|
458
|
+
*/
|
|
459
|
+
shopifyStoreUrl?: string | null;
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* Whether to show this rule before the start time
|
|
463
|
+
*/
|
|
464
|
+
showBeforeStart?: boolean;
|
|
302
465
|
|
|
303
466
|
/**
|
|
304
|
-
*
|
|
467
|
+
* Optional stratus subscription id for the rule
|
|
305
468
|
*/
|
|
306
|
-
|
|
469
|
+
subscriptionId?: string | null;
|
|
307
470
|
}
|
|
308
471
|
|
|
309
472
|
export namespace RuleCreateResponse {
|
|
@@ -311,6 +474,11 @@ export namespace RuleCreateResponse {
|
|
|
311
474
|
* Additional metadata for the loyalty rule
|
|
312
475
|
*/
|
|
313
476
|
export interface Metadata {
|
|
477
|
+
/**
|
|
478
|
+
* Number of tokens per batch.
|
|
479
|
+
*/
|
|
480
|
+
batchSize?: number | null;
|
|
481
|
+
|
|
314
482
|
/**
|
|
315
483
|
* Text displayed on the action button.
|
|
316
484
|
*/
|
|
@@ -334,7 +502,7 @@ export namespace RuleCreateResponse {
|
|
|
334
502
|
/**
|
|
335
503
|
* Text to check in the Twitter post, username, or bio.
|
|
336
504
|
*/
|
|
337
|
-
checkText?: string | null;
|
|
505
|
+
checkText?: string | Array<string> | null;
|
|
338
506
|
|
|
339
507
|
/**
|
|
340
508
|
* Array of collections associated with the rule.
|
|
@@ -344,7 +512,12 @@ export namespace RuleCreateResponse {
|
|
|
344
512
|
/**
|
|
345
513
|
* Conditions for completing the profile.
|
|
346
514
|
*/
|
|
347
|
-
completeProfileConditions?:
|
|
515
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Description of the external rule condition (only for external rules)
|
|
519
|
+
*/
|
|
520
|
+
conditionDescription?: string;
|
|
348
521
|
|
|
349
522
|
/**
|
|
350
523
|
* Object containing details for the call-to-action.
|
|
@@ -356,6 +529,11 @@ export namespace RuleCreateResponse {
|
|
|
356
529
|
*/
|
|
357
530
|
customRewardsApiKey?: string;
|
|
358
531
|
|
|
532
|
+
/**
|
|
533
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
534
|
+
*/
|
|
535
|
+
directRpc?: boolean;
|
|
536
|
+
|
|
359
537
|
/**
|
|
360
538
|
* Array of Discord servers, channels, and roles to join.
|
|
361
539
|
*/
|
|
@@ -381,6 +559,11 @@ export namespace RuleCreateResponse {
|
|
|
381
559
|
*/
|
|
382
560
|
enableVerifiedMultiplier?: boolean;
|
|
383
561
|
|
|
562
|
+
/**
|
|
563
|
+
* Type of ERC20 token for the loyalty rule.
|
|
564
|
+
*/
|
|
565
|
+
erc20Type?: 'erc20' | 'native';
|
|
566
|
+
|
|
384
567
|
/**
|
|
385
568
|
* Fill source of the order for the token sale
|
|
386
569
|
*/
|
|
@@ -401,11 +584,6 @@ export namespace RuleCreateResponse {
|
|
|
401
584
|
*/
|
|
402
585
|
hasNeverSold?: boolean;
|
|
403
586
|
|
|
404
|
-
/**
|
|
405
|
-
* Flag indicating whether the order source is included.
|
|
406
|
-
*/
|
|
407
|
-
hasOrderSource?: boolean;
|
|
408
|
-
|
|
409
587
|
/**
|
|
410
588
|
* Indicates if the full royalty has been paid for items.
|
|
411
589
|
*/
|
|
@@ -426,11 +604,21 @@ export namespace RuleCreateResponse {
|
|
|
426
604
|
*/
|
|
427
605
|
imageUrl?: string | null;
|
|
428
606
|
|
|
607
|
+
/**
|
|
608
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
609
|
+
*/
|
|
610
|
+
isCheckInOnEveryTxn?: boolean;
|
|
611
|
+
|
|
429
612
|
/**
|
|
430
613
|
* Indicates if the multiplier has been applied to rewards.
|
|
431
614
|
*/
|
|
432
615
|
isMultiplierApplied?: boolean;
|
|
433
616
|
|
|
617
|
+
/**
|
|
618
|
+
* Flag indicating if the rule is restricted to new users.
|
|
619
|
+
*/
|
|
620
|
+
isRestrictedToNewUsers?: boolean;
|
|
621
|
+
|
|
434
622
|
/**
|
|
435
623
|
* Flag indicating if rewards are applied retroactively.
|
|
436
624
|
*/
|
|
@@ -446,6 +634,11 @@ export namespace RuleCreateResponse {
|
|
|
446
634
|
*/
|
|
447
635
|
link?: string | null;
|
|
448
636
|
|
|
637
|
+
/**
|
|
638
|
+
* Liquidity pool details.
|
|
639
|
+
*/
|
|
640
|
+
liquidity?: Metadata.Liquidity;
|
|
641
|
+
|
|
449
642
|
/**
|
|
450
643
|
* Maximum quantity constraint for token holding.
|
|
451
644
|
*/
|
|
@@ -487,14 +680,24 @@ export namespace RuleCreateResponse {
|
|
|
487
680
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
488
681
|
|
|
489
682
|
/**
|
|
490
|
-
*
|
|
683
|
+
* Promotional code associated with the rule.
|
|
491
684
|
*/
|
|
492
|
-
|
|
685
|
+
promoCode?: string;
|
|
493
686
|
|
|
494
687
|
/**
|
|
495
|
-
*
|
|
688
|
+
* URL of the CSV file containing promo codes.
|
|
496
689
|
*/
|
|
497
|
-
|
|
690
|
+
promoCodeCsvUrl?: string;
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* Numbers of the promotional code to be generated.
|
|
694
|
+
*/
|
|
695
|
+
promoCodeLength?: number | null;
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Type of the promotional code.
|
|
699
|
+
*/
|
|
700
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
498
701
|
|
|
499
702
|
/**
|
|
500
703
|
* Array defining ranges and corresponding rewards.
|
|
@@ -511,11 +714,62 @@ export namespace RuleCreateResponse {
|
|
|
511
714
|
*/
|
|
512
715
|
referrerReward?: number | null;
|
|
513
716
|
|
|
717
|
+
/**
|
|
718
|
+
* Loyalty currency ID of the referrer reward.
|
|
719
|
+
*/
|
|
720
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* Flag indicating if the post link is required.
|
|
724
|
+
*/
|
|
725
|
+
requirePostLink?: boolean | null;
|
|
726
|
+
|
|
727
|
+
/**
|
|
728
|
+
* Flag indicating if media metadata is required.
|
|
729
|
+
*/
|
|
730
|
+
requirePostMediaLink?: boolean | null;
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
734
|
+
*/
|
|
735
|
+
rewardBadgePerRange?: boolean;
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
739
|
+
*/
|
|
740
|
+
rewardByBatch?: boolean | null;
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* Criteria to evaluate the reward.
|
|
744
|
+
*/
|
|
745
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
746
|
+
|
|
747
|
+
/**
|
|
748
|
+
* Flag indicating if the reward is rewarded per action.
|
|
749
|
+
*/
|
|
750
|
+
rewardPerAction?: boolean | null;
|
|
751
|
+
|
|
514
752
|
/**
|
|
515
753
|
* Flag indicating if rewards are given per impression.
|
|
516
754
|
*/
|
|
517
755
|
rewardPerImpression?: boolean | null;
|
|
518
756
|
|
|
757
|
+
/**
|
|
758
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
759
|
+
* instead of count.
|
|
760
|
+
*/
|
|
761
|
+
rewardPerValue?: boolean;
|
|
762
|
+
|
|
763
|
+
/**
|
|
764
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
765
|
+
*/
|
|
766
|
+
royaltyAddress?: string;
|
|
767
|
+
|
|
768
|
+
/**
|
|
769
|
+
* Royalty percentage of the item.
|
|
770
|
+
*/
|
|
771
|
+
royaltyPercentage?: number;
|
|
772
|
+
|
|
519
773
|
/**
|
|
520
774
|
* Currency associated with sales.
|
|
521
775
|
*/
|
|
@@ -555,6 +809,7 @@ export namespace RuleCreateResponse {
|
|
|
555
809
|
| 'Twitch'
|
|
556
810
|
| 'X(Twitter)'
|
|
557
811
|
| 'YouTube'
|
|
812
|
+
| 'Google'
|
|
558
813
|
| null;
|
|
559
814
|
|
|
560
815
|
/**
|
|
@@ -567,11 +822,21 @@ export namespace RuleCreateResponse {
|
|
|
567
822
|
*/
|
|
568
823
|
socialPlatformName?: string | null;
|
|
569
824
|
|
|
825
|
+
/**
|
|
826
|
+
* ID of the Steam app.
|
|
827
|
+
*/
|
|
828
|
+
steamAppId?: string | null;
|
|
829
|
+
|
|
570
830
|
/**
|
|
571
831
|
* Array of streak milestones and corresponding rewards.
|
|
572
832
|
*/
|
|
573
833
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
574
834
|
|
|
835
|
+
/**
|
|
836
|
+
* Metadata for swap loyalty rules
|
|
837
|
+
*/
|
|
838
|
+
swap?: Metadata.Swap;
|
|
839
|
+
|
|
575
840
|
/**
|
|
576
841
|
* ID of the Telegram channel.
|
|
577
842
|
*/
|
|
@@ -587,6 +852,12 @@ export namespace RuleCreateResponse {
|
|
|
587
852
|
*/
|
|
588
853
|
trackAllContracts?: boolean | null;
|
|
589
854
|
|
|
855
|
+
/**
|
|
856
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
857
|
+
* completed once the progress is 100%.
|
|
858
|
+
*/
|
|
859
|
+
trackProgress?: boolean | null;
|
|
860
|
+
|
|
590
861
|
/**
|
|
591
862
|
* URL of the associated Twitter account.
|
|
592
863
|
*/
|
|
@@ -630,7 +901,27 @@ export namespace RuleCreateResponse {
|
|
|
630
901
|
/**
|
|
631
902
|
* Type of wallet associated with the rule.
|
|
632
903
|
*/
|
|
633
|
-
walletType?:
|
|
904
|
+
walletType?:
|
|
905
|
+
| 'evm'
|
|
906
|
+
| 'solana'
|
|
907
|
+
| 'imx'
|
|
908
|
+
| 'sui'
|
|
909
|
+
| 'ton'
|
|
910
|
+
| 'cosmos'
|
|
911
|
+
| 'ultra'
|
|
912
|
+
| 'agw'
|
|
913
|
+
| 'flow_cadence'
|
|
914
|
+
| null;
|
|
915
|
+
|
|
916
|
+
/**
|
|
917
|
+
* ID of the Youtube channel.
|
|
918
|
+
*/
|
|
919
|
+
youtubeChannelId?: string | null;
|
|
920
|
+
|
|
921
|
+
/**
|
|
922
|
+
* ID of the Youtube video.
|
|
923
|
+
*/
|
|
924
|
+
youtubeVideoId?: string | null;
|
|
634
925
|
}
|
|
635
926
|
|
|
636
927
|
export namespace Metadata {
|
|
@@ -649,13 +940,17 @@ export namespace RuleCreateResponse {
|
|
|
649
940
|
* Blockchain network of the collection.
|
|
650
941
|
*/
|
|
651
942
|
network?:
|
|
943
|
+
| 'abstract'
|
|
944
|
+
| 'abstractTestnet'
|
|
652
945
|
| 'apechain'
|
|
653
946
|
| 'arbitrum'
|
|
654
947
|
| 'avalanche'
|
|
655
948
|
| 'avalancheFuji'
|
|
656
949
|
| 'base'
|
|
657
950
|
| 'baseSepolia'
|
|
951
|
+
| 'berachain'
|
|
658
952
|
| 'berachainArtio'
|
|
953
|
+
| 'berachainBepolia'
|
|
659
954
|
| 'binance'
|
|
660
955
|
| 'bscTestnet'
|
|
661
956
|
| 'campTestnet'
|
|
@@ -663,18 +958,30 @@ export namespace RuleCreateResponse {
|
|
|
663
958
|
| 'fantomTestnet'
|
|
664
959
|
| 'flowMainnet'
|
|
665
960
|
| 'mainnet'
|
|
961
|
+
| 'nexusTestnet'
|
|
666
962
|
| 'optimism'
|
|
667
963
|
| 'polygon'
|
|
668
964
|
| 'polygon_mumbai'
|
|
669
965
|
| 'skaleNebula'
|
|
966
|
+
| 'skaleEuropa'
|
|
967
|
+
| 'skaleCalypso'
|
|
670
968
|
| 'solana'
|
|
671
969
|
| 'sophon'
|
|
970
|
+
| 'sophonTestnet'
|
|
672
971
|
| 'sui'
|
|
673
972
|
| 'superseed'
|
|
674
973
|
| 'superseedSepolia'
|
|
675
974
|
| 'vanar'
|
|
676
975
|
| 'xai'
|
|
677
976
|
| 'zksync'
|
|
977
|
+
| 'coti'
|
|
978
|
+
| 'cotiTestnet'
|
|
979
|
+
| 'morph'
|
|
980
|
+
| 'morphTestnet'
|
|
981
|
+
| 'morphHolesky'
|
|
982
|
+
| 'ultra'
|
|
983
|
+
| 'ultraTestnet'
|
|
984
|
+
| 'nitrograph'
|
|
678
985
|
| 'sepolia'
|
|
679
986
|
| 'optimism_sepolia'
|
|
680
987
|
| 'arbitrumSepolia'
|
|
@@ -682,7 +989,8 @@ export namespace RuleCreateResponse {
|
|
|
682
989
|
| 'optimism_goerli'
|
|
683
990
|
| 'arbitrumGoerli'
|
|
684
991
|
| 'basecamp'
|
|
685
|
-
| '
|
|
992
|
+
| 'somnia'
|
|
993
|
+
| 'flow_cadence';
|
|
686
994
|
}
|
|
687
995
|
|
|
688
996
|
/**
|
|
@@ -759,6 +1067,108 @@ export namespace RuleCreateResponse {
|
|
|
759
1067
|
id: string;
|
|
760
1068
|
}
|
|
761
1069
|
|
|
1070
|
+
/**
|
|
1071
|
+
* Liquidity pool details.
|
|
1072
|
+
*/
|
|
1073
|
+
export interface Liquidity {
|
|
1074
|
+
/**
|
|
1075
|
+
* Calculation type of the liquidity pool.
|
|
1076
|
+
*/
|
|
1077
|
+
calculationType?: 'fixed' | 'custom';
|
|
1078
|
+
|
|
1079
|
+
/**
|
|
1080
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
1081
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
1082
|
+
* USD.
|
|
1083
|
+
*/
|
|
1084
|
+
customFunction?: string;
|
|
1085
|
+
|
|
1086
|
+
/**
|
|
1087
|
+
* Liquidity provided per day in USD
|
|
1088
|
+
*/
|
|
1089
|
+
liquidityPerDay?: number;
|
|
1090
|
+
|
|
1091
|
+
/**
|
|
1092
|
+
* Blockchain network of the liquidity pool.
|
|
1093
|
+
*/
|
|
1094
|
+
network?:
|
|
1095
|
+
| 'abstract'
|
|
1096
|
+
| 'abstractTestnet'
|
|
1097
|
+
| 'apechain'
|
|
1098
|
+
| 'arbitrum'
|
|
1099
|
+
| 'avalanche'
|
|
1100
|
+
| 'avalancheFuji'
|
|
1101
|
+
| 'base'
|
|
1102
|
+
| 'baseSepolia'
|
|
1103
|
+
| 'berachain'
|
|
1104
|
+
| 'berachainArtio'
|
|
1105
|
+
| 'berachainBepolia'
|
|
1106
|
+
| 'binance'
|
|
1107
|
+
| 'bscTestnet'
|
|
1108
|
+
| 'campTestnet'
|
|
1109
|
+
| 'fantom'
|
|
1110
|
+
| 'fantomTestnet'
|
|
1111
|
+
| 'flowMainnet'
|
|
1112
|
+
| 'mainnet'
|
|
1113
|
+
| 'nexusTestnet'
|
|
1114
|
+
| 'optimism'
|
|
1115
|
+
| 'polygon'
|
|
1116
|
+
| 'polygon_mumbai'
|
|
1117
|
+
| 'skaleNebula'
|
|
1118
|
+
| 'skaleEuropa'
|
|
1119
|
+
| 'skaleCalypso'
|
|
1120
|
+
| 'solana'
|
|
1121
|
+
| 'sophon'
|
|
1122
|
+
| 'sophonTestnet'
|
|
1123
|
+
| 'sui'
|
|
1124
|
+
| 'superseed'
|
|
1125
|
+
| 'superseedSepolia'
|
|
1126
|
+
| 'vanar'
|
|
1127
|
+
| 'xai'
|
|
1128
|
+
| 'zksync'
|
|
1129
|
+
| 'coti'
|
|
1130
|
+
| 'cotiTestnet'
|
|
1131
|
+
| 'morph'
|
|
1132
|
+
| 'morphTestnet'
|
|
1133
|
+
| 'morphHolesky'
|
|
1134
|
+
| 'ultra'
|
|
1135
|
+
| 'ultraTestnet'
|
|
1136
|
+
| 'nitrograph'
|
|
1137
|
+
| 'sepolia'
|
|
1138
|
+
| 'optimism_sepolia'
|
|
1139
|
+
| 'arbitrumSepolia'
|
|
1140
|
+
| 'goerli'
|
|
1141
|
+
| 'optimism_goerli'
|
|
1142
|
+
| 'arbitrumGoerli'
|
|
1143
|
+
| 'basecamp'
|
|
1144
|
+
| 'somnia'
|
|
1145
|
+
| 'flow_cadence';
|
|
1146
|
+
|
|
1147
|
+
/**
|
|
1148
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
1149
|
+
*/
|
|
1150
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
1151
|
+
|
|
1152
|
+
/**
|
|
1153
|
+
* Array of liquidity pools associated with the rule.
|
|
1154
|
+
*/
|
|
1155
|
+
pools?: Array<Liquidity.Pool>;
|
|
1156
|
+
|
|
1157
|
+
/**
|
|
1158
|
+
* Protocol of the liquidity pool.
|
|
1159
|
+
*/
|
|
1160
|
+
protocol?: string;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
export namespace Liquidity {
|
|
1164
|
+
export interface Pool {
|
|
1165
|
+
/**
|
|
1166
|
+
* Unique identifier of the liquidity pool.
|
|
1167
|
+
*/
|
|
1168
|
+
id: string;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
|
|
762
1172
|
export interface Range {
|
|
763
1173
|
/**
|
|
764
1174
|
* Reward amount for this range.
|
|
@@ -774,6 +1184,16 @@ export namespace RuleCreateResponse {
|
|
|
774
1184
|
* Start value of the range.
|
|
775
1185
|
*/
|
|
776
1186
|
startRange: number;
|
|
1187
|
+
|
|
1188
|
+
/**
|
|
1189
|
+
* ID of the loyalty badge for this range.
|
|
1190
|
+
*/
|
|
1191
|
+
loyaltyBadgeId?: string;
|
|
1192
|
+
|
|
1193
|
+
/**
|
|
1194
|
+
* Amount of the loyalty multiplier for this range.
|
|
1195
|
+
*/
|
|
1196
|
+
loyaltyMultiplierAmount?: number;
|
|
777
1197
|
}
|
|
778
1198
|
|
|
779
1199
|
/**
|
|
@@ -826,20 +1246,15 @@ export namespace RuleCreateResponse {
|
|
|
826
1246
|
* Object containing details of the associated smart contract.
|
|
827
1247
|
*/
|
|
828
1248
|
export interface SmartContract {
|
|
829
|
-
/**
|
|
830
|
-
* ABI of the smart contract.
|
|
831
|
-
*/
|
|
832
|
-
abi?: string | null;
|
|
833
|
-
|
|
834
1249
|
/**
|
|
835
1250
|
* Mapping of addresses for the smart contract.
|
|
836
1251
|
*/
|
|
837
1252
|
addressMapping?: string | null;
|
|
838
1253
|
|
|
839
1254
|
/**
|
|
840
|
-
*
|
|
1255
|
+
* Object containing details of the amount multiplier from the event.
|
|
841
1256
|
*/
|
|
842
|
-
|
|
1257
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
843
1258
|
|
|
844
1259
|
/**
|
|
845
1260
|
* ID of the smart contract.
|
|
@@ -851,68 +1266,31 @@ export namespace RuleCreateResponse {
|
|
|
851
1266
|
*/
|
|
852
1267
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
853
1268
|
|
|
854
|
-
/**
|
|
855
|
-
* Time range applied to the rule.
|
|
856
|
-
*/
|
|
857
|
-
customRange?: SmartContract.CustomRange | null;
|
|
858
|
-
|
|
859
1269
|
/**
|
|
860
1270
|
* Event emitted by the smart contract.
|
|
861
1271
|
*/
|
|
862
1272
|
event?: string | null;
|
|
863
1273
|
|
|
864
|
-
/**
|
|
865
|
-
* Maximum value allowed for the parameter.
|
|
866
|
-
*/
|
|
867
|
-
max?: number | null;
|
|
868
|
-
|
|
869
1274
|
/**
|
|
870
1275
|
* Array of parameters for the smart contract.
|
|
871
1276
|
*/
|
|
872
1277
|
params?: Array<SmartContract.Param> | null;
|
|
873
1278
|
|
|
874
1279
|
/**
|
|
875
|
-
*
|
|
876
|
-
*/
|
|
877
|
-
withBonus?: boolean | null;
|
|
878
|
-
|
|
879
|
-
/**
|
|
880
|
-
* Flag indicating if a custom range is applied.
|
|
1280
|
+
* Type of the smart contract interaction.
|
|
881
1281
|
*/
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
/**
|
|
885
|
-
* Flag indicating if a maximum limit is applied.
|
|
886
|
-
*/
|
|
887
|
-
withMax?: boolean | null;
|
|
1282
|
+
type?: 'function' | 'event' | null;
|
|
888
1283
|
}
|
|
889
1284
|
|
|
890
1285
|
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
1286
|
/**
|
|
904
|
-
*
|
|
1287
|
+
* Object containing details of the amount multiplier from the event.
|
|
905
1288
|
*/
|
|
906
|
-
export interface
|
|
907
|
-
/**
|
|
908
|
-
* End time of the custom range.
|
|
909
|
-
*/
|
|
910
|
-
endsAt?: string | null;
|
|
911
|
-
|
|
1289
|
+
export interface AmountMultiplier {
|
|
912
1290
|
/**
|
|
913
|
-
*
|
|
1291
|
+
* Mapping of the value for the smart contract.
|
|
914
1292
|
*/
|
|
915
|
-
|
|
1293
|
+
valueMapping?: string | null;
|
|
916
1294
|
}
|
|
917
1295
|
|
|
918
1296
|
export interface Param {
|
|
@@ -956,6 +1334,33 @@ export namespace RuleCreateResponse {
|
|
|
956
1334
|
*/
|
|
957
1335
|
streakMilestone: number;
|
|
958
1336
|
}
|
|
1337
|
+
|
|
1338
|
+
/**
|
|
1339
|
+
* Metadata for swap loyalty rules
|
|
1340
|
+
*/
|
|
1341
|
+
export interface Swap {
|
|
1342
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1343
|
+
|
|
1344
|
+
relayReferrerId?: string;
|
|
1345
|
+
|
|
1346
|
+
requireCrossChainSwap?: boolean;
|
|
1347
|
+
|
|
1348
|
+
swappedToChain?: 'any' | number | string;
|
|
1349
|
+
|
|
1350
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
1351
|
+
|
|
1352
|
+
tokenMode?: 'any' | 'specific';
|
|
1353
|
+
|
|
1354
|
+
trackTokenAmount?: boolean;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
export namespace Swap {
|
|
1358
|
+
export interface SwappedToToken {
|
|
1359
|
+
address: string;
|
|
1360
|
+
|
|
1361
|
+
chainId: string;
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
959
1364
|
}
|
|
960
1365
|
|
|
961
1366
|
export interface Collection {
|
|
@@ -968,13 +1373,17 @@ export namespace RuleCreateResponse {
|
|
|
968
1373
|
* Blockchain network for the collection
|
|
969
1374
|
*/
|
|
970
1375
|
network:
|
|
1376
|
+
| 'abstract'
|
|
1377
|
+
| 'abstractTestnet'
|
|
971
1378
|
| 'apechain'
|
|
972
1379
|
| 'arbitrum'
|
|
973
1380
|
| 'avalanche'
|
|
974
1381
|
| 'avalancheFuji'
|
|
975
1382
|
| 'base'
|
|
976
1383
|
| 'baseSepolia'
|
|
1384
|
+
| 'berachain'
|
|
977
1385
|
| 'berachainArtio'
|
|
1386
|
+
| 'berachainBepolia'
|
|
978
1387
|
| 'binance'
|
|
979
1388
|
| 'bscTestnet'
|
|
980
1389
|
| 'campTestnet'
|
|
@@ -982,18 +1391,30 @@ export namespace RuleCreateResponse {
|
|
|
982
1391
|
| 'fantomTestnet'
|
|
983
1392
|
| 'flowMainnet'
|
|
984
1393
|
| 'mainnet'
|
|
1394
|
+
| 'nexusTestnet'
|
|
985
1395
|
| 'optimism'
|
|
986
1396
|
| 'polygon'
|
|
987
1397
|
| 'polygon_mumbai'
|
|
988
1398
|
| 'skaleNebula'
|
|
1399
|
+
| 'skaleEuropa'
|
|
1400
|
+
| 'skaleCalypso'
|
|
989
1401
|
| 'solana'
|
|
990
1402
|
| 'sophon'
|
|
1403
|
+
| 'sophonTestnet'
|
|
991
1404
|
| 'sui'
|
|
992
1405
|
| 'superseed'
|
|
993
1406
|
| 'superseedSepolia'
|
|
994
1407
|
| 'vanar'
|
|
995
1408
|
| 'xai'
|
|
996
1409
|
| 'zksync'
|
|
1410
|
+
| 'coti'
|
|
1411
|
+
| 'cotiTestnet'
|
|
1412
|
+
| 'morph'
|
|
1413
|
+
| 'morphTestnet'
|
|
1414
|
+
| 'morphHolesky'
|
|
1415
|
+
| 'ultra'
|
|
1416
|
+
| 'ultraTestnet'
|
|
1417
|
+
| 'nitrograph'
|
|
997
1418
|
| 'sepolia'
|
|
998
1419
|
| 'optimism_sepolia'
|
|
999
1420
|
| 'arbitrumSepolia'
|
|
@@ -1001,7 +1422,13 @@ export namespace RuleCreateResponse {
|
|
|
1001
1422
|
| 'optimism_goerli'
|
|
1002
1423
|
| 'arbitrumGoerli'
|
|
1003
1424
|
| 'basecamp'
|
|
1004
|
-
| '
|
|
1425
|
+
| 'somnia'
|
|
1426
|
+
| 'flow_cadence';
|
|
1427
|
+
|
|
1428
|
+
/**
|
|
1429
|
+
* Symbol of the collection.
|
|
1430
|
+
*/
|
|
1431
|
+
symbol?: string;
|
|
1005
1432
|
}
|
|
1006
1433
|
}
|
|
1007
1434
|
|
|
@@ -1023,10 +1450,15 @@ export interface RuleUpdateResponse {
|
|
|
1023
1450
|
*/
|
|
1024
1451
|
name: string;
|
|
1025
1452
|
|
|
1453
|
+
/**
|
|
1454
|
+
* The type of claim for the reward
|
|
1455
|
+
*/
|
|
1456
|
+
claimType?: 'manual' | 'auto' | null;
|
|
1457
|
+
|
|
1026
1458
|
/**
|
|
1027
1459
|
* Blockchain address of the associated collection
|
|
1028
1460
|
*/
|
|
1029
|
-
collectionAddress?: string;
|
|
1461
|
+
collectionAddress?: string | null;
|
|
1030
1462
|
|
|
1031
1463
|
/**
|
|
1032
1464
|
* List of associated collections
|
|
@@ -1058,11 +1490,21 @@ export interface RuleUpdateResponse {
|
|
|
1058
1490
|
*/
|
|
1059
1491
|
effectiveStartTime?: string | null;
|
|
1060
1492
|
|
|
1493
|
+
/**
|
|
1494
|
+
* ID of the external integration
|
|
1495
|
+
*/
|
|
1496
|
+
externalIntegrationId?: string | null;
|
|
1497
|
+
|
|
1061
1498
|
/**
|
|
1062
1499
|
* Frequency of the rule execution
|
|
1063
1500
|
*/
|
|
1064
1501
|
frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
1065
1502
|
|
|
1503
|
+
/**
|
|
1504
|
+
* Optional stratus function id for the rule
|
|
1505
|
+
*/
|
|
1506
|
+
functionId?: string | null;
|
|
1507
|
+
|
|
1066
1508
|
/**
|
|
1067
1509
|
* Whether to hide this rule in the user interface
|
|
1068
1510
|
*/
|
|
@@ -1071,7 +1513,7 @@ export interface RuleUpdateResponse {
|
|
|
1071
1513
|
/**
|
|
1072
1514
|
* Time interval for recurring rule execution
|
|
1073
1515
|
*/
|
|
1074
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
1516
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
1075
1517
|
|
|
1076
1518
|
/**
|
|
1077
1519
|
* Whether this rule is required for participation
|
|
@@ -1083,6 +1525,18 @@ export interface RuleUpdateResponse {
|
|
|
1083
1525
|
*/
|
|
1084
1526
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
1085
1527
|
|
|
1528
|
+
/**
|
|
1529
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
1530
|
+
* rules.
|
|
1531
|
+
*/
|
|
1532
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
1533
|
+
|
|
1534
|
+
/**
|
|
1535
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
1536
|
+
* smart contract and external rules.
|
|
1537
|
+
*/
|
|
1538
|
+
maxAmountPerInterval?: number | null;
|
|
1539
|
+
|
|
1086
1540
|
/**
|
|
1087
1541
|
* URL of the media to be displayed
|
|
1088
1542
|
*/
|
|
@@ -1097,13 +1551,17 @@ export interface RuleUpdateResponse {
|
|
|
1097
1551
|
* Blockchain network where the rule will apply
|
|
1098
1552
|
*/
|
|
1099
1553
|
network?:
|
|
1554
|
+
| 'abstract'
|
|
1555
|
+
| 'abstractTestnet'
|
|
1100
1556
|
| 'apechain'
|
|
1101
1557
|
| 'arbitrum'
|
|
1102
1558
|
| 'avalanche'
|
|
1103
1559
|
| 'avalancheFuji'
|
|
1104
1560
|
| 'base'
|
|
1105
1561
|
| 'baseSepolia'
|
|
1562
|
+
| 'berachain'
|
|
1106
1563
|
| 'berachainArtio'
|
|
1564
|
+
| 'berachainBepolia'
|
|
1107
1565
|
| 'binance'
|
|
1108
1566
|
| 'bscTestnet'
|
|
1109
1567
|
| 'campTestnet'
|
|
@@ -1111,18 +1569,30 @@ export interface RuleUpdateResponse {
|
|
|
1111
1569
|
| 'fantomTestnet'
|
|
1112
1570
|
| 'flowMainnet'
|
|
1113
1571
|
| 'mainnet'
|
|
1572
|
+
| 'nexusTestnet'
|
|
1114
1573
|
| 'optimism'
|
|
1115
1574
|
| 'polygon'
|
|
1116
1575
|
| 'polygon_mumbai'
|
|
1117
1576
|
| 'skaleNebula'
|
|
1577
|
+
| 'skaleEuropa'
|
|
1578
|
+
| 'skaleCalypso'
|
|
1118
1579
|
| 'solana'
|
|
1119
1580
|
| 'sophon'
|
|
1581
|
+
| 'sophonTestnet'
|
|
1120
1582
|
| 'sui'
|
|
1121
1583
|
| 'superseed'
|
|
1122
1584
|
| 'superseedSepolia'
|
|
1123
1585
|
| 'vanar'
|
|
1124
1586
|
| 'xai'
|
|
1125
1587
|
| 'zksync'
|
|
1588
|
+
| 'coti'
|
|
1589
|
+
| 'cotiTestnet'
|
|
1590
|
+
| 'morph'
|
|
1591
|
+
| 'morphTestnet'
|
|
1592
|
+
| 'morphHolesky'
|
|
1593
|
+
| 'ultra'
|
|
1594
|
+
| 'ultraTestnet'
|
|
1595
|
+
| 'nitrograph'
|
|
1126
1596
|
| 'sepolia'
|
|
1127
1597
|
| 'optimism_sepolia'
|
|
1128
1598
|
| 'arbitrumSepolia'
|
|
@@ -1130,7 +1600,8 @@ export interface RuleUpdateResponse {
|
|
|
1130
1600
|
| 'optimism_goerli'
|
|
1131
1601
|
| 'arbitrumGoerli'
|
|
1132
1602
|
| 'basecamp'
|
|
1133
|
-
| '
|
|
1603
|
+
| 'somnia'
|
|
1604
|
+
| 'flow_cadence';
|
|
1134
1605
|
|
|
1135
1606
|
/**
|
|
1136
1607
|
* ID for associated OAuth credentials
|
|
@@ -1138,20 +1609,35 @@ export interface RuleUpdateResponse {
|
|
|
1138
1609
|
oauthCredentialsId?: string | null;
|
|
1139
1610
|
|
|
1140
1611
|
/**
|
|
1141
|
-
*
|
|
1612
|
+
* The lifetime of the reward
|
|
1142
1613
|
*/
|
|
1143
|
-
|
|
1614
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
1144
1615
|
|
|
1145
1616
|
/**
|
|
1146
|
-
*
|
|
1617
|
+
* Type of reward issued by this rule
|
|
1147
1618
|
*/
|
|
1148
|
-
|
|
1619
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
1149
1620
|
|
|
1150
1621
|
/**
|
|
1151
|
-
*
|
|
1622
|
+
* URL of the Shopify store
|
|
1152
1623
|
*/
|
|
1153
|
-
|
|
1154
|
-
|
|
1624
|
+
shopifyStoreUrl?: string | null;
|
|
1625
|
+
|
|
1626
|
+
/**
|
|
1627
|
+
* Whether to show this rule before the start time
|
|
1628
|
+
*/
|
|
1629
|
+
showBeforeStart?: boolean;
|
|
1630
|
+
|
|
1631
|
+
/**
|
|
1632
|
+
* Start time for the loyalty rule
|
|
1633
|
+
*/
|
|
1634
|
+
startTime?: string | null;
|
|
1635
|
+
|
|
1636
|
+
/**
|
|
1637
|
+
* Optional stratus subscription id for the rule
|
|
1638
|
+
*/
|
|
1639
|
+
subscriptionId?: string | null;
|
|
1640
|
+
}
|
|
1155
1641
|
|
|
1156
1642
|
export namespace RuleUpdateResponse {
|
|
1157
1643
|
export interface Collection {
|
|
@@ -1164,13 +1650,17 @@ export namespace RuleUpdateResponse {
|
|
|
1164
1650
|
* Blockchain network for the collection
|
|
1165
1651
|
*/
|
|
1166
1652
|
network:
|
|
1653
|
+
| 'abstract'
|
|
1654
|
+
| 'abstractTestnet'
|
|
1167
1655
|
| 'apechain'
|
|
1168
1656
|
| 'arbitrum'
|
|
1169
1657
|
| 'avalanche'
|
|
1170
1658
|
| 'avalancheFuji'
|
|
1171
1659
|
| 'base'
|
|
1172
1660
|
| 'baseSepolia'
|
|
1661
|
+
| 'berachain'
|
|
1173
1662
|
| 'berachainArtio'
|
|
1663
|
+
| 'berachainBepolia'
|
|
1174
1664
|
| 'binance'
|
|
1175
1665
|
| 'bscTestnet'
|
|
1176
1666
|
| 'campTestnet'
|
|
@@ -1178,18 +1668,30 @@ export namespace RuleUpdateResponse {
|
|
|
1178
1668
|
| 'fantomTestnet'
|
|
1179
1669
|
| 'flowMainnet'
|
|
1180
1670
|
| 'mainnet'
|
|
1671
|
+
| 'nexusTestnet'
|
|
1181
1672
|
| 'optimism'
|
|
1182
1673
|
| 'polygon'
|
|
1183
1674
|
| 'polygon_mumbai'
|
|
1184
1675
|
| 'skaleNebula'
|
|
1676
|
+
| 'skaleEuropa'
|
|
1677
|
+
| 'skaleCalypso'
|
|
1185
1678
|
| 'solana'
|
|
1186
1679
|
| 'sophon'
|
|
1680
|
+
| 'sophonTestnet'
|
|
1187
1681
|
| 'sui'
|
|
1188
1682
|
| 'superseed'
|
|
1189
1683
|
| 'superseedSepolia'
|
|
1190
1684
|
| 'vanar'
|
|
1191
1685
|
| 'xai'
|
|
1192
1686
|
| 'zksync'
|
|
1687
|
+
| 'coti'
|
|
1688
|
+
| 'cotiTestnet'
|
|
1689
|
+
| 'morph'
|
|
1690
|
+
| 'morphTestnet'
|
|
1691
|
+
| 'morphHolesky'
|
|
1692
|
+
| 'ultra'
|
|
1693
|
+
| 'ultraTestnet'
|
|
1694
|
+
| 'nitrograph'
|
|
1193
1695
|
| 'sepolia'
|
|
1194
1696
|
| 'optimism_sepolia'
|
|
1195
1697
|
| 'arbitrumSepolia'
|
|
@@ -1197,13 +1699,24 @@ export namespace RuleUpdateResponse {
|
|
|
1197
1699
|
| 'optimism_goerli'
|
|
1198
1700
|
| 'arbitrumGoerli'
|
|
1199
1701
|
| 'basecamp'
|
|
1200
|
-
| '
|
|
1702
|
+
| 'somnia'
|
|
1703
|
+
| 'flow_cadence';
|
|
1704
|
+
|
|
1705
|
+
/**
|
|
1706
|
+
* Symbol of the collection.
|
|
1707
|
+
*/
|
|
1708
|
+
symbol?: string;
|
|
1201
1709
|
}
|
|
1202
1710
|
|
|
1203
1711
|
/**
|
|
1204
1712
|
* Additional metadata for the loyalty rule
|
|
1205
1713
|
*/
|
|
1206
1714
|
export interface Metadata {
|
|
1715
|
+
/**
|
|
1716
|
+
* Number of tokens per batch.
|
|
1717
|
+
*/
|
|
1718
|
+
batchSize?: number | null;
|
|
1719
|
+
|
|
1207
1720
|
/**
|
|
1208
1721
|
* Text displayed on the action button.
|
|
1209
1722
|
*/
|
|
@@ -1227,7 +1740,7 @@ export namespace RuleUpdateResponse {
|
|
|
1227
1740
|
/**
|
|
1228
1741
|
* Text to check in the Twitter post, username, or bio.
|
|
1229
1742
|
*/
|
|
1230
|
-
checkText?: string | null;
|
|
1743
|
+
checkText?: string | Array<string> | null;
|
|
1231
1744
|
|
|
1232
1745
|
/**
|
|
1233
1746
|
* Array of collections associated with the rule.
|
|
@@ -1237,7 +1750,12 @@ export namespace RuleUpdateResponse {
|
|
|
1237
1750
|
/**
|
|
1238
1751
|
* Conditions for completing the profile.
|
|
1239
1752
|
*/
|
|
1240
|
-
completeProfileConditions?:
|
|
1753
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
1754
|
+
|
|
1755
|
+
/**
|
|
1756
|
+
* Description of the external rule condition (only for external rules)
|
|
1757
|
+
*/
|
|
1758
|
+
conditionDescription?: string;
|
|
1241
1759
|
|
|
1242
1760
|
/**
|
|
1243
1761
|
* Object containing details for the call-to-action.
|
|
@@ -1249,6 +1767,11 @@ export namespace RuleUpdateResponse {
|
|
|
1249
1767
|
*/
|
|
1250
1768
|
customRewardsApiKey?: string;
|
|
1251
1769
|
|
|
1770
|
+
/**
|
|
1771
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1772
|
+
*/
|
|
1773
|
+
directRpc?: boolean;
|
|
1774
|
+
|
|
1252
1775
|
/**
|
|
1253
1776
|
* Array of Discord servers, channels, and roles to join.
|
|
1254
1777
|
*/
|
|
@@ -1274,6 +1797,11 @@ export namespace RuleUpdateResponse {
|
|
|
1274
1797
|
*/
|
|
1275
1798
|
enableVerifiedMultiplier?: boolean;
|
|
1276
1799
|
|
|
1800
|
+
/**
|
|
1801
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1802
|
+
*/
|
|
1803
|
+
erc20Type?: 'erc20' | 'native';
|
|
1804
|
+
|
|
1277
1805
|
/**
|
|
1278
1806
|
* Fill source of the order for the token sale
|
|
1279
1807
|
*/
|
|
@@ -1294,11 +1822,6 @@ export namespace RuleUpdateResponse {
|
|
|
1294
1822
|
*/
|
|
1295
1823
|
hasNeverSold?: boolean;
|
|
1296
1824
|
|
|
1297
|
-
/**
|
|
1298
|
-
* Flag indicating whether the order source is included.
|
|
1299
|
-
*/
|
|
1300
|
-
hasOrderSource?: boolean;
|
|
1301
|
-
|
|
1302
1825
|
/**
|
|
1303
1826
|
* Indicates if the full royalty has been paid for items.
|
|
1304
1827
|
*/
|
|
@@ -1319,11 +1842,21 @@ export namespace RuleUpdateResponse {
|
|
|
1319
1842
|
*/
|
|
1320
1843
|
imageUrl?: string | null;
|
|
1321
1844
|
|
|
1845
|
+
/**
|
|
1846
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1847
|
+
*/
|
|
1848
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1849
|
+
|
|
1322
1850
|
/**
|
|
1323
1851
|
* Indicates if the multiplier has been applied to rewards.
|
|
1324
1852
|
*/
|
|
1325
1853
|
isMultiplierApplied?: boolean;
|
|
1326
1854
|
|
|
1855
|
+
/**
|
|
1856
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1857
|
+
*/
|
|
1858
|
+
isRestrictedToNewUsers?: boolean;
|
|
1859
|
+
|
|
1327
1860
|
/**
|
|
1328
1861
|
* Flag indicating if rewards are applied retroactively.
|
|
1329
1862
|
*/
|
|
@@ -1339,6 +1872,11 @@ export namespace RuleUpdateResponse {
|
|
|
1339
1872
|
*/
|
|
1340
1873
|
link?: string | null;
|
|
1341
1874
|
|
|
1875
|
+
/**
|
|
1876
|
+
* Liquidity pool details.
|
|
1877
|
+
*/
|
|
1878
|
+
liquidity?: Metadata.Liquidity;
|
|
1879
|
+
|
|
1342
1880
|
/**
|
|
1343
1881
|
* Maximum quantity constraint for token holding.
|
|
1344
1882
|
*/
|
|
@@ -1380,14 +1918,24 @@ export namespace RuleUpdateResponse {
|
|
|
1380
1918
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1381
1919
|
|
|
1382
1920
|
/**
|
|
1383
|
-
*
|
|
1921
|
+
* Promotional code associated with the rule.
|
|
1922
|
+
*/
|
|
1923
|
+
promoCode?: string;
|
|
1924
|
+
|
|
1925
|
+
/**
|
|
1926
|
+
* URL of the CSV file containing promo codes.
|
|
1384
1927
|
*/
|
|
1385
|
-
|
|
1928
|
+
promoCodeCsvUrl?: string;
|
|
1386
1929
|
|
|
1387
1930
|
/**
|
|
1388
|
-
*
|
|
1931
|
+
* Numbers of the promotional code to be generated.
|
|
1389
1932
|
*/
|
|
1390
|
-
|
|
1933
|
+
promoCodeLength?: number | null;
|
|
1934
|
+
|
|
1935
|
+
/**
|
|
1936
|
+
* Type of the promotional code.
|
|
1937
|
+
*/
|
|
1938
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1391
1939
|
|
|
1392
1940
|
/**
|
|
1393
1941
|
* Array defining ranges and corresponding rewards.
|
|
@@ -1404,11 +1952,62 @@ export namespace RuleUpdateResponse {
|
|
|
1404
1952
|
*/
|
|
1405
1953
|
referrerReward?: number | null;
|
|
1406
1954
|
|
|
1955
|
+
/**
|
|
1956
|
+
* Loyalty currency ID of the referrer reward.
|
|
1957
|
+
*/
|
|
1958
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1959
|
+
|
|
1960
|
+
/**
|
|
1961
|
+
* Flag indicating if the post link is required.
|
|
1962
|
+
*/
|
|
1963
|
+
requirePostLink?: boolean | null;
|
|
1964
|
+
|
|
1965
|
+
/**
|
|
1966
|
+
* Flag indicating if media metadata is required.
|
|
1967
|
+
*/
|
|
1968
|
+
requirePostMediaLink?: boolean | null;
|
|
1969
|
+
|
|
1970
|
+
/**
|
|
1971
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1972
|
+
*/
|
|
1973
|
+
rewardBadgePerRange?: boolean;
|
|
1974
|
+
|
|
1975
|
+
/**
|
|
1976
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1977
|
+
*/
|
|
1978
|
+
rewardByBatch?: boolean | null;
|
|
1979
|
+
|
|
1980
|
+
/**
|
|
1981
|
+
* Criteria to evaluate the reward.
|
|
1982
|
+
*/
|
|
1983
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1984
|
+
|
|
1985
|
+
/**
|
|
1986
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1987
|
+
*/
|
|
1988
|
+
rewardPerAction?: boolean | null;
|
|
1989
|
+
|
|
1407
1990
|
/**
|
|
1408
1991
|
* Flag indicating if rewards are given per impression.
|
|
1409
1992
|
*/
|
|
1410
1993
|
rewardPerImpression?: boolean | null;
|
|
1411
1994
|
|
|
1995
|
+
/**
|
|
1996
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
1997
|
+
* instead of count.
|
|
1998
|
+
*/
|
|
1999
|
+
rewardPerValue?: boolean;
|
|
2000
|
+
|
|
2001
|
+
/**
|
|
2002
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2003
|
+
*/
|
|
2004
|
+
royaltyAddress?: string;
|
|
2005
|
+
|
|
2006
|
+
/**
|
|
2007
|
+
* Royalty percentage of the item.
|
|
2008
|
+
*/
|
|
2009
|
+
royaltyPercentage?: number;
|
|
2010
|
+
|
|
1412
2011
|
/**
|
|
1413
2012
|
* Currency associated with sales.
|
|
1414
2013
|
*/
|
|
@@ -1448,6 +2047,7 @@ export namespace RuleUpdateResponse {
|
|
|
1448
2047
|
| 'Twitch'
|
|
1449
2048
|
| 'X(Twitter)'
|
|
1450
2049
|
| 'YouTube'
|
|
2050
|
+
| 'Google'
|
|
1451
2051
|
| null;
|
|
1452
2052
|
|
|
1453
2053
|
/**
|
|
@@ -1460,11 +2060,21 @@ export namespace RuleUpdateResponse {
|
|
|
1460
2060
|
*/
|
|
1461
2061
|
socialPlatformName?: string | null;
|
|
1462
2062
|
|
|
2063
|
+
/**
|
|
2064
|
+
* ID of the Steam app.
|
|
2065
|
+
*/
|
|
2066
|
+
steamAppId?: string | null;
|
|
2067
|
+
|
|
1463
2068
|
/**
|
|
1464
2069
|
* Array of streak milestones and corresponding rewards.
|
|
1465
2070
|
*/
|
|
1466
2071
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1467
2072
|
|
|
2073
|
+
/**
|
|
2074
|
+
* Metadata for swap loyalty rules
|
|
2075
|
+
*/
|
|
2076
|
+
swap?: Metadata.Swap;
|
|
2077
|
+
|
|
1468
2078
|
/**
|
|
1469
2079
|
* ID of the Telegram channel.
|
|
1470
2080
|
*/
|
|
@@ -1480,6 +2090,12 @@ export namespace RuleUpdateResponse {
|
|
|
1480
2090
|
*/
|
|
1481
2091
|
trackAllContracts?: boolean | null;
|
|
1482
2092
|
|
|
2093
|
+
/**
|
|
2094
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2095
|
+
* completed once the progress is 100%.
|
|
2096
|
+
*/
|
|
2097
|
+
trackProgress?: boolean | null;
|
|
2098
|
+
|
|
1483
2099
|
/**
|
|
1484
2100
|
* URL of the associated Twitter account.
|
|
1485
2101
|
*/
|
|
@@ -1523,7 +2139,27 @@ export namespace RuleUpdateResponse {
|
|
|
1523
2139
|
/**
|
|
1524
2140
|
* Type of wallet associated with the rule.
|
|
1525
2141
|
*/
|
|
1526
|
-
walletType?:
|
|
2142
|
+
walletType?:
|
|
2143
|
+
| 'evm'
|
|
2144
|
+
| 'solana'
|
|
2145
|
+
| 'imx'
|
|
2146
|
+
| 'sui'
|
|
2147
|
+
| 'ton'
|
|
2148
|
+
| 'cosmos'
|
|
2149
|
+
| 'ultra'
|
|
2150
|
+
| 'agw'
|
|
2151
|
+
| 'flow_cadence'
|
|
2152
|
+
| null;
|
|
2153
|
+
|
|
2154
|
+
/**
|
|
2155
|
+
* ID of the Youtube channel.
|
|
2156
|
+
*/
|
|
2157
|
+
youtubeChannelId?: string | null;
|
|
2158
|
+
|
|
2159
|
+
/**
|
|
2160
|
+
* ID of the Youtube video.
|
|
2161
|
+
*/
|
|
2162
|
+
youtubeVideoId?: string | null;
|
|
1527
2163
|
}
|
|
1528
2164
|
|
|
1529
2165
|
export namespace Metadata {
|
|
@@ -1542,13 +2178,17 @@ export namespace RuleUpdateResponse {
|
|
|
1542
2178
|
* Blockchain network of the collection.
|
|
1543
2179
|
*/
|
|
1544
2180
|
network?:
|
|
2181
|
+
| 'abstract'
|
|
2182
|
+
| 'abstractTestnet'
|
|
1545
2183
|
| 'apechain'
|
|
1546
2184
|
| 'arbitrum'
|
|
1547
2185
|
| 'avalanche'
|
|
1548
2186
|
| 'avalancheFuji'
|
|
1549
2187
|
| 'base'
|
|
1550
2188
|
| 'baseSepolia'
|
|
2189
|
+
| 'berachain'
|
|
1551
2190
|
| 'berachainArtio'
|
|
2191
|
+
| 'berachainBepolia'
|
|
1552
2192
|
| 'binance'
|
|
1553
2193
|
| 'bscTestnet'
|
|
1554
2194
|
| 'campTestnet'
|
|
@@ -1556,18 +2196,30 @@ export namespace RuleUpdateResponse {
|
|
|
1556
2196
|
| 'fantomTestnet'
|
|
1557
2197
|
| 'flowMainnet'
|
|
1558
2198
|
| 'mainnet'
|
|
2199
|
+
| 'nexusTestnet'
|
|
1559
2200
|
| 'optimism'
|
|
1560
2201
|
| 'polygon'
|
|
1561
2202
|
| 'polygon_mumbai'
|
|
1562
2203
|
| 'skaleNebula'
|
|
2204
|
+
| 'skaleEuropa'
|
|
2205
|
+
| 'skaleCalypso'
|
|
1563
2206
|
| 'solana'
|
|
1564
2207
|
| 'sophon'
|
|
2208
|
+
| 'sophonTestnet'
|
|
1565
2209
|
| 'sui'
|
|
1566
2210
|
| 'superseed'
|
|
1567
2211
|
| 'superseedSepolia'
|
|
1568
2212
|
| 'vanar'
|
|
1569
2213
|
| 'xai'
|
|
1570
2214
|
| 'zksync'
|
|
2215
|
+
| 'coti'
|
|
2216
|
+
| 'cotiTestnet'
|
|
2217
|
+
| 'morph'
|
|
2218
|
+
| 'morphTestnet'
|
|
2219
|
+
| 'morphHolesky'
|
|
2220
|
+
| 'ultra'
|
|
2221
|
+
| 'ultraTestnet'
|
|
2222
|
+
| 'nitrograph'
|
|
1571
2223
|
| 'sepolia'
|
|
1572
2224
|
| 'optimism_sepolia'
|
|
1573
2225
|
| 'arbitrumSepolia'
|
|
@@ -1575,7 +2227,8 @@ export namespace RuleUpdateResponse {
|
|
|
1575
2227
|
| 'optimism_goerli'
|
|
1576
2228
|
| 'arbitrumGoerli'
|
|
1577
2229
|
| 'basecamp'
|
|
1578
|
-
| '
|
|
2230
|
+
| 'somnia'
|
|
2231
|
+
| 'flow_cadence';
|
|
1579
2232
|
}
|
|
1580
2233
|
|
|
1581
2234
|
/**
|
|
@@ -1652,6 +2305,108 @@ export namespace RuleUpdateResponse {
|
|
|
1652
2305
|
id: string;
|
|
1653
2306
|
}
|
|
1654
2307
|
|
|
2308
|
+
/**
|
|
2309
|
+
* Liquidity pool details.
|
|
2310
|
+
*/
|
|
2311
|
+
export interface Liquidity {
|
|
2312
|
+
/**
|
|
2313
|
+
* Calculation type of the liquidity pool.
|
|
2314
|
+
*/
|
|
2315
|
+
calculationType?: 'fixed' | 'custom';
|
|
2316
|
+
|
|
2317
|
+
/**
|
|
2318
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
2319
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
2320
|
+
* USD.
|
|
2321
|
+
*/
|
|
2322
|
+
customFunction?: string;
|
|
2323
|
+
|
|
2324
|
+
/**
|
|
2325
|
+
* Liquidity provided per day in USD
|
|
2326
|
+
*/
|
|
2327
|
+
liquidityPerDay?: number;
|
|
2328
|
+
|
|
2329
|
+
/**
|
|
2330
|
+
* Blockchain network of the liquidity pool.
|
|
2331
|
+
*/
|
|
2332
|
+
network?:
|
|
2333
|
+
| 'abstract'
|
|
2334
|
+
| 'abstractTestnet'
|
|
2335
|
+
| 'apechain'
|
|
2336
|
+
| 'arbitrum'
|
|
2337
|
+
| 'avalanche'
|
|
2338
|
+
| 'avalancheFuji'
|
|
2339
|
+
| 'base'
|
|
2340
|
+
| 'baseSepolia'
|
|
2341
|
+
| 'berachain'
|
|
2342
|
+
| 'berachainArtio'
|
|
2343
|
+
| 'berachainBepolia'
|
|
2344
|
+
| 'binance'
|
|
2345
|
+
| 'bscTestnet'
|
|
2346
|
+
| 'campTestnet'
|
|
2347
|
+
| 'fantom'
|
|
2348
|
+
| 'fantomTestnet'
|
|
2349
|
+
| 'flowMainnet'
|
|
2350
|
+
| 'mainnet'
|
|
2351
|
+
| 'nexusTestnet'
|
|
2352
|
+
| 'optimism'
|
|
2353
|
+
| 'polygon'
|
|
2354
|
+
| 'polygon_mumbai'
|
|
2355
|
+
| 'skaleNebula'
|
|
2356
|
+
| 'skaleEuropa'
|
|
2357
|
+
| 'skaleCalypso'
|
|
2358
|
+
| 'solana'
|
|
2359
|
+
| 'sophon'
|
|
2360
|
+
| 'sophonTestnet'
|
|
2361
|
+
| 'sui'
|
|
2362
|
+
| 'superseed'
|
|
2363
|
+
| 'superseedSepolia'
|
|
2364
|
+
| 'vanar'
|
|
2365
|
+
| 'xai'
|
|
2366
|
+
| 'zksync'
|
|
2367
|
+
| 'coti'
|
|
2368
|
+
| 'cotiTestnet'
|
|
2369
|
+
| 'morph'
|
|
2370
|
+
| 'morphTestnet'
|
|
2371
|
+
| 'morphHolesky'
|
|
2372
|
+
| 'ultra'
|
|
2373
|
+
| 'ultraTestnet'
|
|
2374
|
+
| 'nitrograph'
|
|
2375
|
+
| 'sepolia'
|
|
2376
|
+
| 'optimism_sepolia'
|
|
2377
|
+
| 'arbitrumSepolia'
|
|
2378
|
+
| 'goerli'
|
|
2379
|
+
| 'optimism_goerli'
|
|
2380
|
+
| 'arbitrumGoerli'
|
|
2381
|
+
| 'basecamp'
|
|
2382
|
+
| 'somnia'
|
|
2383
|
+
| 'flow_cadence';
|
|
2384
|
+
|
|
2385
|
+
/**
|
|
2386
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
2387
|
+
*/
|
|
2388
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2389
|
+
|
|
2390
|
+
/**
|
|
2391
|
+
* Array of liquidity pools associated with the rule.
|
|
2392
|
+
*/
|
|
2393
|
+
pools?: Array<Liquidity.Pool>;
|
|
2394
|
+
|
|
2395
|
+
/**
|
|
2396
|
+
* Protocol of the liquidity pool.
|
|
2397
|
+
*/
|
|
2398
|
+
protocol?: string;
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
export namespace Liquidity {
|
|
2402
|
+
export interface Pool {
|
|
2403
|
+
/**
|
|
2404
|
+
* Unique identifier of the liquidity pool.
|
|
2405
|
+
*/
|
|
2406
|
+
id: string;
|
|
2407
|
+
}
|
|
2408
|
+
}
|
|
2409
|
+
|
|
1655
2410
|
export interface Range {
|
|
1656
2411
|
/**
|
|
1657
2412
|
* Reward amount for this range.
|
|
@@ -1667,6 +2422,16 @@ export namespace RuleUpdateResponse {
|
|
|
1667
2422
|
* Start value of the range.
|
|
1668
2423
|
*/
|
|
1669
2424
|
startRange: number;
|
|
2425
|
+
|
|
2426
|
+
/**
|
|
2427
|
+
* ID of the loyalty badge for this range.
|
|
2428
|
+
*/
|
|
2429
|
+
loyaltyBadgeId?: string;
|
|
2430
|
+
|
|
2431
|
+
/**
|
|
2432
|
+
* Amount of the loyalty multiplier for this range.
|
|
2433
|
+
*/
|
|
2434
|
+
loyaltyMultiplierAmount?: number;
|
|
1670
2435
|
}
|
|
1671
2436
|
|
|
1672
2437
|
/**
|
|
@@ -1719,20 +2484,15 @@ export namespace RuleUpdateResponse {
|
|
|
1719
2484
|
* Object containing details of the associated smart contract.
|
|
1720
2485
|
*/
|
|
1721
2486
|
export interface SmartContract {
|
|
1722
|
-
/**
|
|
1723
|
-
* ABI of the smart contract.
|
|
1724
|
-
*/
|
|
1725
|
-
abi?: string | null;
|
|
1726
|
-
|
|
1727
2487
|
/**
|
|
1728
2488
|
* Mapping of addresses for the smart contract.
|
|
1729
2489
|
*/
|
|
1730
2490
|
addressMapping?: string | null;
|
|
1731
2491
|
|
|
1732
2492
|
/**
|
|
1733
|
-
*
|
|
2493
|
+
* Object containing details of the amount multiplier from the event.
|
|
1734
2494
|
*/
|
|
1735
|
-
|
|
2495
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1736
2496
|
|
|
1737
2497
|
/**
|
|
1738
2498
|
* ID of the smart contract.
|
|
@@ -1744,68 +2504,31 @@ export namespace RuleUpdateResponse {
|
|
|
1744
2504
|
*/
|
|
1745
2505
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1746
2506
|
|
|
1747
|
-
/**
|
|
1748
|
-
* Time range applied to the rule.
|
|
1749
|
-
*/
|
|
1750
|
-
customRange?: SmartContract.CustomRange | null;
|
|
1751
|
-
|
|
1752
2507
|
/**
|
|
1753
2508
|
* Event emitted by the smart contract.
|
|
1754
2509
|
*/
|
|
1755
2510
|
event?: string | null;
|
|
1756
2511
|
|
|
1757
|
-
/**
|
|
1758
|
-
* Maximum value allowed for the parameter.
|
|
1759
|
-
*/
|
|
1760
|
-
max?: number | null;
|
|
1761
|
-
|
|
1762
2512
|
/**
|
|
1763
2513
|
* Array of parameters for the smart contract.
|
|
1764
2514
|
*/
|
|
1765
2515
|
params?: Array<SmartContract.Param> | null;
|
|
1766
2516
|
|
|
1767
2517
|
/**
|
|
1768
|
-
*
|
|
2518
|
+
* Type of the smart contract interaction.
|
|
1769
2519
|
*/
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
/**
|
|
1773
|
-
* Flag indicating if a custom range is applied.
|
|
1774
|
-
*/
|
|
1775
|
-
withCustomRange?: boolean | null;
|
|
1776
|
-
|
|
1777
|
-
/**
|
|
1778
|
-
* Flag indicating if a maximum limit is applied.
|
|
1779
|
-
*/
|
|
1780
|
-
withMax?: boolean | null;
|
|
2520
|
+
type?: 'function' | 'event' | null;
|
|
1781
2521
|
}
|
|
1782
2522
|
|
|
1783
2523
|
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
2524
|
/**
|
|
1797
|
-
*
|
|
2525
|
+
* Object containing details of the amount multiplier from the event.
|
|
1798
2526
|
*/
|
|
1799
|
-
export interface
|
|
1800
|
-
/**
|
|
1801
|
-
* End time of the custom range.
|
|
1802
|
-
*/
|
|
1803
|
-
endsAt?: string | null;
|
|
1804
|
-
|
|
2527
|
+
export interface AmountMultiplier {
|
|
1805
2528
|
/**
|
|
1806
|
-
*
|
|
2529
|
+
* Mapping of the value for the smart contract.
|
|
1807
2530
|
*/
|
|
1808
|
-
|
|
2531
|
+
valueMapping?: string | null;
|
|
1809
2532
|
}
|
|
1810
2533
|
|
|
1811
2534
|
export interface Param {
|
|
@@ -1849,6 +2572,33 @@ export namespace RuleUpdateResponse {
|
|
|
1849
2572
|
*/
|
|
1850
2573
|
streakMilestone: number;
|
|
1851
2574
|
}
|
|
2575
|
+
|
|
2576
|
+
/**
|
|
2577
|
+
* Metadata for swap loyalty rules
|
|
2578
|
+
*/
|
|
2579
|
+
export interface Swap {
|
|
2580
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
2581
|
+
|
|
2582
|
+
relayReferrerId?: string;
|
|
2583
|
+
|
|
2584
|
+
requireCrossChainSwap?: boolean;
|
|
2585
|
+
|
|
2586
|
+
swappedToChain?: 'any' | number | string;
|
|
2587
|
+
|
|
2588
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
2589
|
+
|
|
2590
|
+
tokenMode?: 'any' | 'specific';
|
|
2591
|
+
|
|
2592
|
+
trackTokenAmount?: boolean;
|
|
2593
|
+
}
|
|
2594
|
+
|
|
2595
|
+
export namespace Swap {
|
|
2596
|
+
export interface SwappedToToken {
|
|
2597
|
+
address: string;
|
|
2598
|
+
|
|
2599
|
+
chainId: string;
|
|
2600
|
+
}
|
|
2601
|
+
}
|
|
1852
2602
|
}
|
|
1853
2603
|
}
|
|
1854
2604
|
|
|
@@ -1859,9 +2609,6 @@ export interface RuleListResponse {
|
|
|
1859
2609
|
}
|
|
1860
2610
|
|
|
1861
2611
|
export namespace RuleListResponse {
|
|
1862
|
-
/**
|
|
1863
|
-
* Schema for a loyalty rule
|
|
1864
|
-
*/
|
|
1865
2612
|
export interface Data {
|
|
1866
2613
|
/**
|
|
1867
2614
|
* Unique identifier for the loyalty rule
|
|
@@ -1871,7 +2618,7 @@ export namespace RuleListResponse {
|
|
|
1871
2618
|
/**
|
|
1872
2619
|
* Amount associated with the loyalty rule
|
|
1873
2620
|
*/
|
|
1874
|
-
amount: number;
|
|
2621
|
+
amount: number | null;
|
|
1875
2622
|
|
|
1876
2623
|
/**
|
|
1877
2624
|
* Timestamp when the loyalty rule was created
|
|
@@ -1883,16 +2630,46 @@ export namespace RuleListResponse {
|
|
|
1883
2630
|
*/
|
|
1884
2631
|
deletedAt: string | null;
|
|
1885
2632
|
|
|
2633
|
+
/**
|
|
2634
|
+
* Description of the loyalty rule
|
|
2635
|
+
*/
|
|
2636
|
+
description: string;
|
|
2637
|
+
|
|
2638
|
+
/**
|
|
2639
|
+
* End time of the loyalty rule
|
|
2640
|
+
*/
|
|
2641
|
+
endTime: string | null;
|
|
2642
|
+
|
|
1886
2643
|
/**
|
|
1887
2644
|
* Frequency of the loyalty rule
|
|
1888
2645
|
*/
|
|
1889
2646
|
frequency: string;
|
|
1890
2647
|
|
|
2648
|
+
/**
|
|
2649
|
+
* Chains attached to the loyalty rule
|
|
2650
|
+
*/
|
|
2651
|
+
loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
|
|
2652
|
+
|
|
2653
|
+
/**
|
|
2654
|
+
* Name of the loyalty rule
|
|
2655
|
+
*/
|
|
2656
|
+
name: string;
|
|
2657
|
+
|
|
1891
2658
|
/**
|
|
1892
2659
|
* Unique identifier for the organization
|
|
1893
2660
|
*/
|
|
1894
2661
|
organizationId: string;
|
|
1895
2662
|
|
|
2663
|
+
/**
|
|
2664
|
+
* Type of the reward
|
|
2665
|
+
*/
|
|
2666
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
2667
|
+
|
|
2668
|
+
/**
|
|
2669
|
+
* Start time of the loyalty rule
|
|
2670
|
+
*/
|
|
2671
|
+
startTime: string | null;
|
|
2672
|
+
|
|
1896
2673
|
/**
|
|
1897
2674
|
* Type of the loyalty rule
|
|
1898
2675
|
*/
|
|
@@ -1908,15 +2685,1012 @@ export namespace RuleListResponse {
|
|
|
1908
2685
|
*/
|
|
1909
2686
|
websiteId: string;
|
|
1910
2687
|
|
|
1911
|
-
/**
|
|
1912
|
-
* Optional address of the collection
|
|
1913
|
-
*/
|
|
1914
|
-
collectionAddress?: string;
|
|
2688
|
+
/**
|
|
2689
|
+
* Optional address of the collection
|
|
2690
|
+
*/
|
|
2691
|
+
collectionAddress?: string;
|
|
2692
|
+
|
|
2693
|
+
/**
|
|
2694
|
+
* URL of the media associated with the loyalty rule
|
|
2695
|
+
*/
|
|
2696
|
+
mediaUrl?: string | null;
|
|
2697
|
+
|
|
2698
|
+
/**
|
|
2699
|
+
* Optional metadata for the loyalty rule
|
|
2700
|
+
*/
|
|
2701
|
+
metadata?: { [key: string]: Data.Metadata };
|
|
2702
|
+
}
|
|
2703
|
+
|
|
2704
|
+
export namespace Data {
|
|
2705
|
+
export interface LoyaltyRuleChain {
|
|
2706
|
+
/**
|
|
2707
|
+
* Unique identifier for the rule chain
|
|
2708
|
+
*/
|
|
2709
|
+
id: string;
|
|
2710
|
+
|
|
2711
|
+
loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
|
|
2712
|
+
|
|
2713
|
+
/**
|
|
2714
|
+
* Unique identifier for the loyalty rule
|
|
2715
|
+
*/
|
|
2716
|
+
loyaltyRuleId: string;
|
|
2717
|
+
|
|
2718
|
+
/**
|
|
2719
|
+
* Name of the rule chain
|
|
2720
|
+
*/
|
|
2721
|
+
name: string;
|
|
2722
|
+
}
|
|
2723
|
+
|
|
2724
|
+
export namespace LoyaltyRuleChain {
|
|
2725
|
+
export interface LoyaltyCondition {
|
|
2726
|
+
/**
|
|
2727
|
+
* Unique identifier for the condition
|
|
2728
|
+
*/
|
|
2729
|
+
id: string;
|
|
2730
|
+
|
|
2731
|
+
/**
|
|
2732
|
+
* Amount of the condition
|
|
2733
|
+
*/
|
|
2734
|
+
amount: number | null;
|
|
2735
|
+
|
|
2736
|
+
association: Array<LoyaltyCondition.Association>;
|
|
2737
|
+
|
|
2738
|
+
/**
|
|
2739
|
+
* URL of the CSV file
|
|
2740
|
+
*/
|
|
2741
|
+
csvUrl: string | null;
|
|
2742
|
+
|
|
2743
|
+
/**
|
|
2744
|
+
* Description of the condition
|
|
2745
|
+
*/
|
|
2746
|
+
description: string | null;
|
|
2747
|
+
|
|
2748
|
+
/**
|
|
2749
|
+
* Number of times the condition must be met
|
|
2750
|
+
*/
|
|
2751
|
+
repeatCount: number | null;
|
|
2752
|
+
|
|
2753
|
+
/**
|
|
2754
|
+
* Number of times the condition must be met
|
|
2755
|
+
*/
|
|
2756
|
+
requiredCount: number | null;
|
|
2757
|
+
|
|
2758
|
+
/**
|
|
2759
|
+
* Type of the condition
|
|
2760
|
+
*/
|
|
2761
|
+
type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
|
|
2762
|
+
}
|
|
2763
|
+
|
|
2764
|
+
export namespace LoyaltyCondition {
|
|
2765
|
+
export interface Association {
|
|
2766
|
+
/**
|
|
2767
|
+
* Unique identifier for the association
|
|
2768
|
+
*/
|
|
2769
|
+
id: string;
|
|
2770
|
+
|
|
2771
|
+
/**
|
|
2772
|
+
* Unique identifier for the loyalty badge
|
|
2773
|
+
*/
|
|
2774
|
+
loyaltyBadgeId: string | null;
|
|
2775
|
+
|
|
2776
|
+
/**
|
|
2777
|
+
* Unique identifier for the loyalty currency
|
|
2778
|
+
*/
|
|
2779
|
+
loyaltyCurrencyId: string | null;
|
|
2780
|
+
|
|
2781
|
+
loyaltyRule: Association.LoyaltyRule | null;
|
|
2782
|
+
|
|
2783
|
+
/**
|
|
2784
|
+
* Unique identifier for the loyalty rule group
|
|
2785
|
+
*/
|
|
2786
|
+
loyaltyRuleGroupId: string | null;
|
|
2787
|
+
|
|
2788
|
+
/**
|
|
2789
|
+
* Unique identifier for the loyalty rule
|
|
2790
|
+
*/
|
|
2791
|
+
loyaltyRuleId: string | null;
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2794
|
+
export namespace Association {
|
|
2795
|
+
export interface LoyaltyRule {
|
|
2796
|
+
/**
|
|
2797
|
+
* Name of the loyalty rule
|
|
2798
|
+
*/
|
|
2799
|
+
name: string;
|
|
2800
|
+
}
|
|
2801
|
+
}
|
|
2802
|
+
}
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2805
|
+
export interface Metadata {
|
|
2806
|
+
/**
|
|
2807
|
+
* Number of tokens per batch.
|
|
2808
|
+
*/
|
|
2809
|
+
batchSize?: number | null;
|
|
2810
|
+
|
|
2811
|
+
/**
|
|
2812
|
+
* Text displayed on the action button.
|
|
2813
|
+
*/
|
|
2814
|
+
buttonText?: string | null;
|
|
2815
|
+
|
|
2816
|
+
/**
|
|
2817
|
+
* Flag indicating if commenting is required.
|
|
2818
|
+
*/
|
|
2819
|
+
checkComment?: boolean | null;
|
|
2820
|
+
|
|
2821
|
+
/**
|
|
2822
|
+
* Flag indicating if liking the post is required.
|
|
2823
|
+
*/
|
|
2824
|
+
checkLike?: boolean | null;
|
|
2825
|
+
|
|
2826
|
+
/**
|
|
2827
|
+
* Flag indicating if reposting is required.
|
|
2828
|
+
*/
|
|
2829
|
+
checkRepost?: boolean | null;
|
|
2830
|
+
|
|
2831
|
+
/**
|
|
2832
|
+
* Text to check in the Twitter post, username, or bio.
|
|
2833
|
+
*/
|
|
2834
|
+
checkText?: string | Array<string> | null;
|
|
2835
|
+
|
|
2836
|
+
/**
|
|
2837
|
+
* Array of collections associated with the rule.
|
|
2838
|
+
*/
|
|
2839
|
+
collection?: Array<Metadata.Collection>;
|
|
2840
|
+
|
|
2841
|
+
/**
|
|
2842
|
+
* Conditions for completing the profile.
|
|
2843
|
+
*/
|
|
2844
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
2845
|
+
|
|
2846
|
+
/**
|
|
2847
|
+
* Description of the external rule condition (only for external rules)
|
|
2848
|
+
*/
|
|
2849
|
+
conditionDescription?: string;
|
|
2850
|
+
|
|
2851
|
+
/**
|
|
2852
|
+
* Object containing details for the call-to-action.
|
|
2853
|
+
*/
|
|
2854
|
+
cta?: Metadata.Cta | null;
|
|
2855
|
+
|
|
2856
|
+
/**
|
|
2857
|
+
* API key for custom rewards integration.
|
|
2858
|
+
*/
|
|
2859
|
+
customRewardsApiKey?: string;
|
|
2860
|
+
|
|
2861
|
+
/**
|
|
2862
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
2863
|
+
*/
|
|
2864
|
+
directRpc?: boolean;
|
|
2865
|
+
|
|
2866
|
+
/**
|
|
2867
|
+
* Array of Discord servers, channels, and roles to join.
|
|
2868
|
+
*/
|
|
2869
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
2870
|
+
|
|
2871
|
+
/**
|
|
2872
|
+
* Array of drip quests required to complete the rule.
|
|
2873
|
+
*/
|
|
2874
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
2875
|
+
|
|
2876
|
+
/**
|
|
2877
|
+
* Flag indicating whether joining Discord servers is required.
|
|
2878
|
+
*/
|
|
2879
|
+
enableJoinDiscordServers?: boolean | null;
|
|
2880
|
+
|
|
2881
|
+
/**
|
|
2882
|
+
* Flag indicating whether streaks are enabled.
|
|
2883
|
+
*/
|
|
2884
|
+
enableStreaks?: boolean | null;
|
|
2885
|
+
|
|
2886
|
+
/**
|
|
2887
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
2888
|
+
*/
|
|
2889
|
+
enableVerifiedMultiplier?: boolean;
|
|
2890
|
+
|
|
2891
|
+
/**
|
|
2892
|
+
* Type of ERC20 token for the loyalty rule.
|
|
2893
|
+
*/
|
|
2894
|
+
erc20Type?: 'erc20' | 'native';
|
|
2895
|
+
|
|
2896
|
+
/**
|
|
2897
|
+
* Fill source of the order for the token sale
|
|
2898
|
+
*/
|
|
2899
|
+
fillSource?: string;
|
|
2900
|
+
|
|
2901
|
+
/**
|
|
2902
|
+
* Percentage reward given to a user for their first referral.
|
|
2903
|
+
*/
|
|
2904
|
+
firstReferralReward?: number | null;
|
|
2905
|
+
|
|
2906
|
+
/**
|
|
2907
|
+
* Flag indicating whether the fill source is included.
|
|
2908
|
+
*/
|
|
2909
|
+
hasFillSource?: boolean;
|
|
2910
|
+
|
|
2911
|
+
/**
|
|
2912
|
+
* Indicates if the item has never been sold.
|
|
2913
|
+
*/
|
|
2914
|
+
hasNeverSold?: boolean;
|
|
2915
|
+
|
|
2916
|
+
/**
|
|
2917
|
+
* Indicates if the full royalty has been paid for items.
|
|
2918
|
+
*/
|
|
2919
|
+
hasPaidFullRoyalty?: boolean;
|
|
2920
|
+
|
|
2921
|
+
/**
|
|
2922
|
+
* Flag indicating if the sale currency is included.
|
|
2923
|
+
*/
|
|
2924
|
+
hasSaleCurrency?: boolean;
|
|
2925
|
+
|
|
2926
|
+
/**
|
|
2927
|
+
* Indicates if the user has a verified Twitter account.
|
|
2928
|
+
*/
|
|
2929
|
+
hasVerifiedTwitter?: boolean;
|
|
2930
|
+
|
|
2931
|
+
/**
|
|
2932
|
+
* URL of the image associated with the rule.
|
|
2933
|
+
*/
|
|
2934
|
+
imageUrl?: string | null;
|
|
2935
|
+
|
|
2936
|
+
/**
|
|
2937
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
2938
|
+
*/
|
|
2939
|
+
isCheckInOnEveryTxn?: boolean;
|
|
2940
|
+
|
|
2941
|
+
/**
|
|
2942
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
2943
|
+
*/
|
|
2944
|
+
isMultiplierApplied?: boolean;
|
|
2945
|
+
|
|
2946
|
+
/**
|
|
2947
|
+
* Flag indicating if the rule is restricted to new users.
|
|
2948
|
+
*/
|
|
2949
|
+
isRestrictedToNewUsers?: boolean;
|
|
2950
|
+
|
|
2951
|
+
/**
|
|
2952
|
+
* Flag indicating if rewards are applied retroactively.
|
|
2953
|
+
*/
|
|
2954
|
+
isRetroactive?: boolean | null;
|
|
2955
|
+
|
|
2956
|
+
/**
|
|
2957
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2958
|
+
*/
|
|
2959
|
+
isTokenHoldMultiplier?: boolean;
|
|
2960
|
+
|
|
2961
|
+
/**
|
|
2962
|
+
* Optional link associated with the metadata.
|
|
2963
|
+
*/
|
|
2964
|
+
link?: string | null;
|
|
2965
|
+
|
|
2966
|
+
/**
|
|
2967
|
+
* Liquidity pool details.
|
|
2968
|
+
*/
|
|
2969
|
+
liquidity?: Metadata.Liquidity;
|
|
2970
|
+
|
|
2971
|
+
/**
|
|
2972
|
+
* Maximum quantity constraint for token holding.
|
|
2973
|
+
*/
|
|
2974
|
+
maxQty?: number | null;
|
|
2975
|
+
|
|
2976
|
+
/**
|
|
2977
|
+
* Minimum quantity constraint for token holding.
|
|
2978
|
+
*/
|
|
2979
|
+
minQty?: number | null;
|
|
2980
|
+
|
|
2981
|
+
/**
|
|
2982
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2983
|
+
*/
|
|
2984
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2985
|
+
|
|
2986
|
+
/**
|
|
2987
|
+
* Flag indicating whether to include only known users.
|
|
2988
|
+
*/
|
|
2989
|
+
onlyKnownUsers?: boolean;
|
|
2990
|
+
|
|
2991
|
+
/**
|
|
2992
|
+
* Flag indicating whether to include only native tokens.
|
|
2993
|
+
*/
|
|
2994
|
+
onlyNative?: boolean;
|
|
2995
|
+
|
|
2996
|
+
/**
|
|
2997
|
+
* Flag indicating whether to include only non-listed items.
|
|
2998
|
+
*/
|
|
2999
|
+
onlyNonListed?: boolean;
|
|
3000
|
+
|
|
3001
|
+
/**
|
|
3002
|
+
* Indicates if only existing users are rewarded.
|
|
3003
|
+
*/
|
|
3004
|
+
onlyRewardExistingUser?: boolean;
|
|
3005
|
+
|
|
3006
|
+
/**
|
|
3007
|
+
* give points for only one token ownership per contract
|
|
3008
|
+
*/
|
|
3009
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
3010
|
+
|
|
3011
|
+
/**
|
|
3012
|
+
* Promotional code associated with the rule.
|
|
3013
|
+
*/
|
|
3014
|
+
promoCode?: string;
|
|
3015
|
+
|
|
3016
|
+
/**
|
|
3017
|
+
* URL of the CSV file containing promo codes.
|
|
3018
|
+
*/
|
|
3019
|
+
promoCodeCsvUrl?: string;
|
|
3020
|
+
|
|
3021
|
+
/**
|
|
3022
|
+
* Numbers of the promotional code to be generated.
|
|
3023
|
+
*/
|
|
3024
|
+
promoCodeLength?: number | null;
|
|
3025
|
+
|
|
3026
|
+
/**
|
|
3027
|
+
* Type of the promotional code.
|
|
3028
|
+
*/
|
|
3029
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
3030
|
+
|
|
3031
|
+
/**
|
|
3032
|
+
* Array defining ranges and corresponding rewards.
|
|
3033
|
+
*/
|
|
3034
|
+
range?: Array<Metadata.Range>;
|
|
3035
|
+
|
|
3036
|
+
/**
|
|
3037
|
+
* Object defining referral requirements.
|
|
3038
|
+
*/
|
|
3039
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* Lump sum reward given to a referrer.
|
|
3043
|
+
*/
|
|
3044
|
+
referrerReward?: number | null;
|
|
3045
|
+
|
|
3046
|
+
/**
|
|
3047
|
+
* Loyalty currency ID of the referrer reward.
|
|
3048
|
+
*/
|
|
3049
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
3050
|
+
|
|
3051
|
+
/**
|
|
3052
|
+
* Flag indicating if the post link is required.
|
|
3053
|
+
*/
|
|
3054
|
+
requirePostLink?: boolean | null;
|
|
3055
|
+
|
|
3056
|
+
/**
|
|
3057
|
+
* Flag indicating if media metadata is required.
|
|
3058
|
+
*/
|
|
3059
|
+
requirePostMediaLink?: boolean | null;
|
|
3060
|
+
|
|
3061
|
+
/**
|
|
3062
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
3063
|
+
*/
|
|
3064
|
+
rewardBadgePerRange?: boolean;
|
|
3065
|
+
|
|
3066
|
+
/**
|
|
3067
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
3068
|
+
*/
|
|
3069
|
+
rewardByBatch?: boolean | null;
|
|
3070
|
+
|
|
3071
|
+
/**
|
|
3072
|
+
* Criteria to evaluate the reward.
|
|
3073
|
+
*/
|
|
3074
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
3075
|
+
|
|
3076
|
+
/**
|
|
3077
|
+
* Flag indicating if the reward is rewarded per action.
|
|
3078
|
+
*/
|
|
3079
|
+
rewardPerAction?: boolean | null;
|
|
3080
|
+
|
|
3081
|
+
/**
|
|
3082
|
+
* Flag indicating if rewards are given per impression.
|
|
3083
|
+
*/
|
|
3084
|
+
rewardPerImpression?: boolean | null;
|
|
3085
|
+
|
|
3086
|
+
/**
|
|
3087
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
3088
|
+
* instead of count.
|
|
3089
|
+
*/
|
|
3090
|
+
rewardPerValue?: boolean;
|
|
3091
|
+
|
|
3092
|
+
/**
|
|
3093
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
3094
|
+
*/
|
|
3095
|
+
royaltyAddress?: string;
|
|
3096
|
+
|
|
3097
|
+
/**
|
|
3098
|
+
* Royalty percentage of the item.
|
|
3099
|
+
*/
|
|
3100
|
+
royaltyPercentage?: number;
|
|
3101
|
+
|
|
3102
|
+
/**
|
|
3103
|
+
* Currency associated with sales.
|
|
3104
|
+
*/
|
|
3105
|
+
saleCurrency?: string;
|
|
3106
|
+
|
|
3107
|
+
/**
|
|
3108
|
+
* Percentage reward given for a second-level referral.
|
|
3109
|
+
*/
|
|
3110
|
+
secondReferralReward?: number | null;
|
|
3111
|
+
|
|
3112
|
+
/**
|
|
3113
|
+
* Flag indicating if the multiplier is skipped.
|
|
3114
|
+
*/
|
|
3115
|
+
skipMultiplier?: boolean | null;
|
|
3116
|
+
|
|
3117
|
+
/**
|
|
3118
|
+
* Object containing details of the associated smart contract.
|
|
3119
|
+
*/
|
|
3120
|
+
smartContract?: Metadata.SmartContract;
|
|
3121
|
+
|
|
3122
|
+
/**
|
|
3123
|
+
* Array of snapshot proposals for the rule.
|
|
3124
|
+
*/
|
|
3125
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
3126
|
+
|
|
3127
|
+
/**
|
|
3128
|
+
* Social media platform associated with the rule.
|
|
3129
|
+
*/
|
|
3130
|
+
socialPlatform?:
|
|
3131
|
+
| 'Custom'
|
|
3132
|
+
| 'Discord'
|
|
3133
|
+
| 'EpicGames'
|
|
3134
|
+
| 'Instagram'
|
|
3135
|
+
| 'Steam'
|
|
3136
|
+
| 'Telegram'
|
|
3137
|
+
| 'TikTok'
|
|
3138
|
+
| 'Twitch'
|
|
3139
|
+
| 'X(Twitter)'
|
|
3140
|
+
| 'YouTube'
|
|
3141
|
+
| 'Google'
|
|
3142
|
+
| null;
|
|
3143
|
+
|
|
3144
|
+
/**
|
|
3145
|
+
* URL of the social platform's logo.
|
|
3146
|
+
*/
|
|
3147
|
+
socialPlatformLogo?: string | null;
|
|
3148
|
+
|
|
3149
|
+
/**
|
|
3150
|
+
* Name of the social platform.
|
|
3151
|
+
*/
|
|
3152
|
+
socialPlatformName?: string | null;
|
|
3153
|
+
|
|
3154
|
+
/**
|
|
3155
|
+
* ID of the Steam app.
|
|
3156
|
+
*/
|
|
3157
|
+
steamAppId?: string | null;
|
|
3158
|
+
|
|
3159
|
+
/**
|
|
3160
|
+
* Array of streak milestones and corresponding rewards.
|
|
3161
|
+
*/
|
|
3162
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3163
|
+
|
|
3164
|
+
/**
|
|
3165
|
+
* Metadata for swap loyalty rules
|
|
3166
|
+
*/
|
|
3167
|
+
swap?: Metadata.Swap;
|
|
3168
|
+
|
|
3169
|
+
/**
|
|
3170
|
+
* ID of the Telegram channel.
|
|
3171
|
+
*/
|
|
3172
|
+
telegramChannelId?: string | null;
|
|
3173
|
+
|
|
3174
|
+
/**
|
|
3175
|
+
* Time delay in seconds to verify actions.
|
|
3176
|
+
*/
|
|
3177
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
3178
|
+
|
|
3179
|
+
/**
|
|
3180
|
+
* Flag indicating if all contracts are tracked.
|
|
3181
|
+
*/
|
|
3182
|
+
trackAllContracts?: boolean | null;
|
|
3183
|
+
|
|
3184
|
+
/**
|
|
3185
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
3186
|
+
* completed once the progress is 100%.
|
|
3187
|
+
*/
|
|
3188
|
+
trackProgress?: boolean | null;
|
|
3189
|
+
|
|
3190
|
+
/**
|
|
3191
|
+
* URL of the associated Twitter account.
|
|
3192
|
+
*/
|
|
3193
|
+
twitterAccountUrl?: string;
|
|
3194
|
+
|
|
3195
|
+
/**
|
|
3196
|
+
* Hashtag associated with the Twitter post.
|
|
3197
|
+
*/
|
|
3198
|
+
twitterHashtag?: string;
|
|
3199
|
+
|
|
3200
|
+
/**
|
|
3201
|
+
* URL of the associated Twitter post.
|
|
3202
|
+
*/
|
|
3203
|
+
twitterPostUrl?: string;
|
|
3204
|
+
|
|
3205
|
+
/**
|
|
3206
|
+
* Unique identifier of the Twitter user.
|
|
3207
|
+
*/
|
|
3208
|
+
twitterUserId?: string;
|
|
3209
|
+
|
|
3210
|
+
/**
|
|
3211
|
+
* Twitter username of the user.
|
|
3212
|
+
*/
|
|
3213
|
+
twitterUsername?: string;
|
|
3214
|
+
|
|
3215
|
+
/**
|
|
3216
|
+
* Minimum length of the verification text.
|
|
3217
|
+
*/
|
|
3218
|
+
verificationTextMinimumLength?: number | null;
|
|
3219
|
+
|
|
3220
|
+
/**
|
|
3221
|
+
* Multiplier applied to rewards for verified users.
|
|
3222
|
+
*/
|
|
3223
|
+
verifiedMultiplier?: number | null;
|
|
3224
|
+
|
|
3225
|
+
/**
|
|
3226
|
+
* Placeholder text for verification input fields.
|
|
3227
|
+
*/
|
|
3228
|
+
verifyPlaceHolderText?: string | null;
|
|
3229
|
+
|
|
3230
|
+
/**
|
|
3231
|
+
* Type of wallet associated with the rule.
|
|
3232
|
+
*/
|
|
3233
|
+
walletType?:
|
|
3234
|
+
| 'evm'
|
|
3235
|
+
| 'solana'
|
|
3236
|
+
| 'imx'
|
|
3237
|
+
| 'sui'
|
|
3238
|
+
| 'ton'
|
|
3239
|
+
| 'cosmos'
|
|
3240
|
+
| 'ultra'
|
|
3241
|
+
| 'agw'
|
|
3242
|
+
| 'flow_cadence'
|
|
3243
|
+
| null;
|
|
3244
|
+
|
|
3245
|
+
/**
|
|
3246
|
+
* ID of the Youtube channel.
|
|
3247
|
+
*/
|
|
3248
|
+
youtubeChannelId?: string | null;
|
|
3249
|
+
|
|
3250
|
+
/**
|
|
3251
|
+
* ID of the Youtube video.
|
|
3252
|
+
*/
|
|
3253
|
+
youtubeVideoId?: string | null;
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3256
|
+
export namespace Metadata {
|
|
3257
|
+
export interface Collection {
|
|
3258
|
+
/**
|
|
3259
|
+
* Blockchain address of the collection.
|
|
3260
|
+
*/
|
|
3261
|
+
address?: string;
|
|
3262
|
+
|
|
3263
|
+
/**
|
|
3264
|
+
* Multiplier applied to the rewards for this collection.
|
|
3265
|
+
*/
|
|
3266
|
+
multiplier?: number;
|
|
3267
|
+
|
|
3268
|
+
/**
|
|
3269
|
+
* Blockchain network of the collection.
|
|
3270
|
+
*/
|
|
3271
|
+
network?:
|
|
3272
|
+
| 'abstract'
|
|
3273
|
+
| 'abstractTestnet'
|
|
3274
|
+
| 'apechain'
|
|
3275
|
+
| 'arbitrum'
|
|
3276
|
+
| 'avalanche'
|
|
3277
|
+
| 'avalancheFuji'
|
|
3278
|
+
| 'base'
|
|
3279
|
+
| 'baseSepolia'
|
|
3280
|
+
| 'berachain'
|
|
3281
|
+
| 'berachainArtio'
|
|
3282
|
+
| 'berachainBepolia'
|
|
3283
|
+
| 'binance'
|
|
3284
|
+
| 'bscTestnet'
|
|
3285
|
+
| 'campTestnet'
|
|
3286
|
+
| 'fantom'
|
|
3287
|
+
| 'fantomTestnet'
|
|
3288
|
+
| 'flowMainnet'
|
|
3289
|
+
| 'mainnet'
|
|
3290
|
+
| 'nexusTestnet'
|
|
3291
|
+
| 'optimism'
|
|
3292
|
+
| 'polygon'
|
|
3293
|
+
| 'polygon_mumbai'
|
|
3294
|
+
| 'skaleNebula'
|
|
3295
|
+
| 'skaleEuropa'
|
|
3296
|
+
| 'skaleCalypso'
|
|
3297
|
+
| 'solana'
|
|
3298
|
+
| 'sophon'
|
|
3299
|
+
| 'sophonTestnet'
|
|
3300
|
+
| 'sui'
|
|
3301
|
+
| 'superseed'
|
|
3302
|
+
| 'superseedSepolia'
|
|
3303
|
+
| 'vanar'
|
|
3304
|
+
| 'xai'
|
|
3305
|
+
| 'zksync'
|
|
3306
|
+
| 'coti'
|
|
3307
|
+
| 'cotiTestnet'
|
|
3308
|
+
| 'morph'
|
|
3309
|
+
| 'morphTestnet'
|
|
3310
|
+
| 'morphHolesky'
|
|
3311
|
+
| 'ultra'
|
|
3312
|
+
| 'ultraTestnet'
|
|
3313
|
+
| 'nitrograph'
|
|
3314
|
+
| 'sepolia'
|
|
3315
|
+
| 'optimism_sepolia'
|
|
3316
|
+
| 'arbitrumSepolia'
|
|
3317
|
+
| 'goerli'
|
|
3318
|
+
| 'optimism_goerli'
|
|
3319
|
+
| 'arbitrumGoerli'
|
|
3320
|
+
| 'basecamp'
|
|
3321
|
+
| 'somnia'
|
|
3322
|
+
| 'flow_cadence';
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3325
|
+
/**
|
|
3326
|
+
* Object containing details for the call-to-action.
|
|
3327
|
+
*/
|
|
3328
|
+
export interface Cta {
|
|
3329
|
+
/**
|
|
3330
|
+
* Link for the call-to-action.
|
|
3331
|
+
*/
|
|
3332
|
+
href?: string | null;
|
|
3333
|
+
|
|
3334
|
+
/**
|
|
3335
|
+
* Label for the call-to-action.
|
|
3336
|
+
*/
|
|
3337
|
+
label?: string | null;
|
|
3338
|
+
}
|
|
3339
|
+
|
|
3340
|
+
export interface DiscordServersToJoin {
|
|
3341
|
+
/**
|
|
3342
|
+
* ID of the Discord server to join.
|
|
3343
|
+
*/
|
|
3344
|
+
id?: string;
|
|
3345
|
+
|
|
3346
|
+
/**
|
|
3347
|
+
* Array of Discord channels to join.
|
|
3348
|
+
*/
|
|
3349
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
3350
|
+
|
|
3351
|
+
/**
|
|
3352
|
+
* Array of roles to assign in the Discord server.
|
|
3353
|
+
*/
|
|
3354
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
export namespace DiscordServersToJoin {
|
|
3358
|
+
export interface Channel {
|
|
3359
|
+
/**
|
|
3360
|
+
* ID of the Discord channel.
|
|
3361
|
+
*/
|
|
3362
|
+
id?: string;
|
|
3363
|
+
|
|
3364
|
+
/**
|
|
3365
|
+
* Array of emojis used in the channel.
|
|
3366
|
+
*/
|
|
3367
|
+
emojis?: Array<Channel.Emoji>;
|
|
3368
|
+
|
|
3369
|
+
/**
|
|
3370
|
+
* Phrase of text to be present in the discord message
|
|
3371
|
+
*/
|
|
3372
|
+
text?: string;
|
|
3373
|
+
}
|
|
3374
|
+
|
|
3375
|
+
export namespace Channel {
|
|
3376
|
+
export interface Emoji {
|
|
3377
|
+
/**
|
|
3378
|
+
* ID of the emoji used in the channel.
|
|
3379
|
+
*/
|
|
3380
|
+
id?: string;
|
|
3381
|
+
}
|
|
3382
|
+
}
|
|
3383
|
+
|
|
3384
|
+
export interface Role {
|
|
3385
|
+
/**
|
|
3386
|
+
* ID of the role in the Discord server.
|
|
3387
|
+
*/
|
|
3388
|
+
id: string;
|
|
3389
|
+
}
|
|
3390
|
+
}
|
|
3391
|
+
|
|
3392
|
+
export interface DripQuestsToComplete {
|
|
3393
|
+
/**
|
|
3394
|
+
* ID of the drip quest to complete.
|
|
3395
|
+
*/
|
|
3396
|
+
id: string;
|
|
3397
|
+
}
|
|
3398
|
+
|
|
3399
|
+
/**
|
|
3400
|
+
* Liquidity pool details.
|
|
3401
|
+
*/
|
|
3402
|
+
export interface Liquidity {
|
|
3403
|
+
/**
|
|
3404
|
+
* Calculation type of the liquidity pool.
|
|
3405
|
+
*/
|
|
3406
|
+
calculationType?: 'fixed' | 'custom';
|
|
3407
|
+
|
|
3408
|
+
/**
|
|
3409
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
3410
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
3411
|
+
* USD.
|
|
3412
|
+
*/
|
|
3413
|
+
customFunction?: string;
|
|
3414
|
+
|
|
3415
|
+
/**
|
|
3416
|
+
* Liquidity provided per day in USD
|
|
3417
|
+
*/
|
|
3418
|
+
liquidityPerDay?: number;
|
|
3419
|
+
|
|
3420
|
+
/**
|
|
3421
|
+
* Blockchain network of the liquidity pool.
|
|
3422
|
+
*/
|
|
3423
|
+
network?:
|
|
3424
|
+
| 'abstract'
|
|
3425
|
+
| 'abstractTestnet'
|
|
3426
|
+
| 'apechain'
|
|
3427
|
+
| 'arbitrum'
|
|
3428
|
+
| 'avalanche'
|
|
3429
|
+
| 'avalancheFuji'
|
|
3430
|
+
| 'base'
|
|
3431
|
+
| 'baseSepolia'
|
|
3432
|
+
| 'berachain'
|
|
3433
|
+
| 'berachainArtio'
|
|
3434
|
+
| 'berachainBepolia'
|
|
3435
|
+
| 'binance'
|
|
3436
|
+
| 'bscTestnet'
|
|
3437
|
+
| 'campTestnet'
|
|
3438
|
+
| 'fantom'
|
|
3439
|
+
| 'fantomTestnet'
|
|
3440
|
+
| 'flowMainnet'
|
|
3441
|
+
| 'mainnet'
|
|
3442
|
+
| 'nexusTestnet'
|
|
3443
|
+
| 'optimism'
|
|
3444
|
+
| 'polygon'
|
|
3445
|
+
| 'polygon_mumbai'
|
|
3446
|
+
| 'skaleNebula'
|
|
3447
|
+
| 'skaleEuropa'
|
|
3448
|
+
| 'skaleCalypso'
|
|
3449
|
+
| 'solana'
|
|
3450
|
+
| 'sophon'
|
|
3451
|
+
| 'sophonTestnet'
|
|
3452
|
+
| 'sui'
|
|
3453
|
+
| 'superseed'
|
|
3454
|
+
| 'superseedSepolia'
|
|
3455
|
+
| 'vanar'
|
|
3456
|
+
| 'xai'
|
|
3457
|
+
| 'zksync'
|
|
3458
|
+
| 'coti'
|
|
3459
|
+
| 'cotiTestnet'
|
|
3460
|
+
| 'morph'
|
|
3461
|
+
| 'morphTestnet'
|
|
3462
|
+
| 'morphHolesky'
|
|
3463
|
+
| 'ultra'
|
|
3464
|
+
| 'ultraTestnet'
|
|
3465
|
+
| 'nitrograph'
|
|
3466
|
+
| 'sepolia'
|
|
3467
|
+
| 'optimism_sepolia'
|
|
3468
|
+
| 'arbitrumSepolia'
|
|
3469
|
+
| 'goerli'
|
|
3470
|
+
| 'optimism_goerli'
|
|
3471
|
+
| 'arbitrumGoerli'
|
|
3472
|
+
| 'basecamp'
|
|
3473
|
+
| 'somnia'
|
|
3474
|
+
| 'flow_cadence';
|
|
3475
|
+
|
|
3476
|
+
/**
|
|
3477
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
3478
|
+
*/
|
|
3479
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
3480
|
+
|
|
3481
|
+
/**
|
|
3482
|
+
* Array of liquidity pools associated with the rule.
|
|
3483
|
+
*/
|
|
3484
|
+
pools?: Array<Liquidity.Pool>;
|
|
3485
|
+
|
|
3486
|
+
/**
|
|
3487
|
+
* Protocol of the liquidity pool.
|
|
3488
|
+
*/
|
|
3489
|
+
protocol?: string;
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
export namespace Liquidity {
|
|
3493
|
+
export interface Pool {
|
|
3494
|
+
/**
|
|
3495
|
+
* Unique identifier of the liquidity pool.
|
|
3496
|
+
*/
|
|
3497
|
+
id: string;
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
|
|
3501
|
+
export interface Range {
|
|
3502
|
+
/**
|
|
3503
|
+
* Reward amount for this range.
|
|
3504
|
+
*/
|
|
3505
|
+
amount: number;
|
|
3506
|
+
|
|
3507
|
+
/**
|
|
3508
|
+
* End value of the range.
|
|
3509
|
+
*/
|
|
3510
|
+
endRange: number;
|
|
3511
|
+
|
|
3512
|
+
/**
|
|
3513
|
+
* Start value of the range.
|
|
3514
|
+
*/
|
|
3515
|
+
startRange: number;
|
|
3516
|
+
|
|
3517
|
+
/**
|
|
3518
|
+
* ID of the loyalty badge for this range.
|
|
3519
|
+
*/
|
|
3520
|
+
loyaltyBadgeId?: string;
|
|
3521
|
+
|
|
3522
|
+
/**
|
|
3523
|
+
* Amount of the loyalty multiplier for this range.
|
|
3524
|
+
*/
|
|
3525
|
+
loyaltyMultiplierAmount?: number;
|
|
3526
|
+
}
|
|
3527
|
+
|
|
3528
|
+
/**
|
|
3529
|
+
* Object defining referral requirements.
|
|
3530
|
+
*/
|
|
3531
|
+
export interface ReferralRequirements {
|
|
3532
|
+
/**
|
|
3533
|
+
* Flag indicating if achieving points is required.
|
|
3534
|
+
*/
|
|
3535
|
+
achievePoints?: boolean | null;
|
|
3536
|
+
|
|
3537
|
+
/**
|
|
3538
|
+
* Flag indicating if completing the profile is required.
|
|
3539
|
+
*/
|
|
3540
|
+
completeProfile?: boolean | null;
|
|
3541
|
+
|
|
3542
|
+
/**
|
|
3543
|
+
* Flag indicating if connecting Discord is required.
|
|
3544
|
+
*/
|
|
3545
|
+
connectDiscord?: boolean | null;
|
|
3546
|
+
|
|
3547
|
+
/**
|
|
3548
|
+
* Flag indicating if connecting email is required.
|
|
3549
|
+
*/
|
|
3550
|
+
connectEmail?: boolean | null;
|
|
3551
|
+
|
|
3552
|
+
/**
|
|
3553
|
+
* Flag indicating if connecting Twitter is required.
|
|
3554
|
+
*/
|
|
3555
|
+
connectTwitter?: boolean | null;
|
|
3556
|
+
|
|
3557
|
+
points?: ReferralRequirements.Points | null;
|
|
3558
|
+
}
|
|
3559
|
+
|
|
3560
|
+
export namespace ReferralRequirements {
|
|
3561
|
+
export interface Points {
|
|
3562
|
+
/**
|
|
3563
|
+
* Points required for referral.
|
|
3564
|
+
*/
|
|
3565
|
+
amount?: number | null;
|
|
3566
|
+
|
|
3567
|
+
/**
|
|
3568
|
+
* ID of the loyalty currency for referral.
|
|
3569
|
+
*/
|
|
3570
|
+
loyaltyCurrecyId?: string | null;
|
|
3571
|
+
}
|
|
3572
|
+
}
|
|
3573
|
+
|
|
3574
|
+
/**
|
|
3575
|
+
* Object containing details of the associated smart contract.
|
|
3576
|
+
*/
|
|
3577
|
+
export interface SmartContract {
|
|
3578
|
+
/**
|
|
3579
|
+
* Mapping of addresses for the smart contract.
|
|
3580
|
+
*/
|
|
3581
|
+
addressMapping?: string | null;
|
|
3582
|
+
|
|
3583
|
+
/**
|
|
3584
|
+
* Object containing details of the amount multiplier from the event.
|
|
3585
|
+
*/
|
|
3586
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3587
|
+
|
|
3588
|
+
/**
|
|
3589
|
+
* ID of the smart contract.
|
|
3590
|
+
*/
|
|
3591
|
+
contractId?: string | null;
|
|
3592
|
+
|
|
3593
|
+
/**
|
|
3594
|
+
* Criteria to evaluate the smart contract event.
|
|
3595
|
+
*/
|
|
3596
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3597
|
+
|
|
3598
|
+
/**
|
|
3599
|
+
* Event emitted by the smart contract.
|
|
3600
|
+
*/
|
|
3601
|
+
event?: string | null;
|
|
3602
|
+
|
|
3603
|
+
/**
|
|
3604
|
+
* Array of parameters for the smart contract.
|
|
3605
|
+
*/
|
|
3606
|
+
params?: Array<SmartContract.Param> | null;
|
|
3607
|
+
|
|
3608
|
+
/**
|
|
3609
|
+
* Type of the smart contract interaction.
|
|
3610
|
+
*/
|
|
3611
|
+
type?: 'function' | 'event' | null;
|
|
3612
|
+
}
|
|
3613
|
+
|
|
3614
|
+
export namespace SmartContract {
|
|
3615
|
+
/**
|
|
3616
|
+
* Object containing details of the amount multiplier from the event.
|
|
3617
|
+
*/
|
|
3618
|
+
export interface AmountMultiplier {
|
|
3619
|
+
/**
|
|
3620
|
+
* Mapping of the value for the smart contract.
|
|
3621
|
+
*/
|
|
3622
|
+
valueMapping?: string | null;
|
|
3623
|
+
}
|
|
3624
|
+
|
|
3625
|
+
export interface Param {
|
|
3626
|
+
/**
|
|
3627
|
+
* Condition to check for the parameter.
|
|
3628
|
+
*/
|
|
3629
|
+
condition?: string | null;
|
|
3630
|
+
|
|
3631
|
+
/**
|
|
3632
|
+
* Name of the smart contract parameter.
|
|
3633
|
+
*/
|
|
3634
|
+
name?: string | null;
|
|
3635
|
+
|
|
3636
|
+
/**
|
|
3637
|
+
* Value of the parameter.
|
|
3638
|
+
*/
|
|
3639
|
+
value?: string | null;
|
|
3640
|
+
}
|
|
3641
|
+
}
|
|
3642
|
+
|
|
3643
|
+
export interface SnapshotProposal {
|
|
3644
|
+
/**
|
|
3645
|
+
* ID of the snapshot proposal.
|
|
3646
|
+
*/
|
|
3647
|
+
id: string;
|
|
3648
|
+
|
|
3649
|
+
/**
|
|
3650
|
+
* Space associated with the snapshot proposal.
|
|
3651
|
+
*/
|
|
3652
|
+
space: string;
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
export interface StreakArray {
|
|
3656
|
+
/**
|
|
3657
|
+
* Reward amount for achieving the streak milestone.
|
|
3658
|
+
*/
|
|
3659
|
+
streakAmount: number;
|
|
3660
|
+
|
|
3661
|
+
/**
|
|
3662
|
+
* Milestone required to achieve the streak.
|
|
3663
|
+
*/
|
|
3664
|
+
streakMilestone: number;
|
|
3665
|
+
}
|
|
3666
|
+
|
|
3667
|
+
/**
|
|
3668
|
+
* Metadata for swap loyalty rules
|
|
3669
|
+
*/
|
|
3670
|
+
export interface Swap {
|
|
3671
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
3672
|
+
|
|
3673
|
+
relayReferrerId?: string;
|
|
3674
|
+
|
|
3675
|
+
requireCrossChainSwap?: boolean;
|
|
3676
|
+
|
|
3677
|
+
swappedToChain?: 'any' | number | string;
|
|
3678
|
+
|
|
3679
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
1915
3680
|
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
3681
|
+
tokenMode?: 'any' | 'specific';
|
|
3682
|
+
|
|
3683
|
+
trackTokenAmount?: boolean;
|
|
3684
|
+
}
|
|
3685
|
+
|
|
3686
|
+
export namespace Swap {
|
|
3687
|
+
export interface SwappedToToken {
|
|
3688
|
+
address: string;
|
|
3689
|
+
|
|
3690
|
+
chainId: string;
|
|
3691
|
+
}
|
|
3692
|
+
}
|
|
3693
|
+
}
|
|
1920
3694
|
}
|
|
1921
3695
|
}
|
|
1922
3696
|
|
|
@@ -1927,7 +3701,9 @@ export interface RuleDeleteResponse {
|
|
|
1927
3701
|
}
|
|
1928
3702
|
|
|
1929
3703
|
export interface RuleCompleteResponse {
|
|
1930
|
-
message:
|
|
3704
|
+
message:
|
|
3705
|
+
| 'Completion request added to queue'
|
|
3706
|
+
| 'Link click being verified, come back later to check the status';
|
|
1931
3707
|
}
|
|
1932
3708
|
|
|
1933
3709
|
export interface RuleGetStatusResponse {
|
|
@@ -1938,11 +3714,119 @@ export namespace RuleGetStatusResponse {
|
|
|
1938
3714
|
export interface Data {
|
|
1939
3715
|
loyaltyRuleId: string;
|
|
1940
3716
|
|
|
1941
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1942
|
-
|
|
1943
3717
|
userId: string;
|
|
1944
3718
|
|
|
3719
|
+
/**
|
|
3720
|
+
* The ID of the loyalty rule status for the Progress object
|
|
3721
|
+
*/
|
|
3722
|
+
id?: string;
|
|
3723
|
+
|
|
3724
|
+
createdAt?: string;
|
|
3725
|
+
|
|
3726
|
+
fulfilledAt?: string | null;
|
|
3727
|
+
|
|
3728
|
+
/**
|
|
3729
|
+
* Categorized examples of messages that may be returned for a loyalty rule's
|
|
3730
|
+
* processing result.
|
|
3731
|
+
*
|
|
3732
|
+
* User Onboarding
|
|
3733
|
+
*
|
|
3734
|
+
* - Check In: "Streak successful"
|
|
3735
|
+
* - Complete Profile Details: "Profile not complete"
|
|
3736
|
+
*
|
|
3737
|
+
* Connect Accounts
|
|
3738
|
+
*
|
|
3739
|
+
* - Connect TikTok: "TikTok not connected"
|
|
3740
|
+
* - Connect Discord: "Discord not connected", "Discord request timeout"
|
|
3741
|
+
* - Connect X: "Twitter not connected", "Twitter not connected or content url is
|
|
3742
|
+
* required"
|
|
3743
|
+
* - Connect Email: "Email address not connected"
|
|
3744
|
+
* - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
|
|
3745
|
+
* telegramUsername), please setup username in telegram and reconnect.",
|
|
3746
|
+
* "Telegram request rate-limited"
|
|
3747
|
+
* - Connect Steam: "Steam not connected"
|
|
3748
|
+
* - Connect Youtube: "Youtube not connected"
|
|
3749
|
+
*
|
|
3750
|
+
* Social Quests
|
|
3751
|
+
*
|
|
3752
|
+
* - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
|
|
3753
|
+
* successfully"
|
|
3754
|
+
* - Post on TikTok: "TikTok post not verified"
|
|
3755
|
+
* - Comment on an X Post: "Quest Completed: You have commented on the tweet",
|
|
3756
|
+
* "Quest Not Completed: Comment not found for the specified tweet"
|
|
3757
|
+
* - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
|
|
3758
|
+
* Completed: Retweet not found for the specified tweet", "Quest Completed: You
|
|
3759
|
+
* have retweeted and commented on the tweet", "Quest Not Completed: You have not
|
|
3760
|
+
* retweeted or commented on the tweet"
|
|
3761
|
+
* - Follow an X Account: "Missing required parameters: twitterUserId,
|
|
3762
|
+
* targetUsername", "Quest Completed: You are a follower of
|
|
3763
|
+
* @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
|
|
3764
|
+
* and try again in few minutes"
|
|
3765
|
+
* - React to an X Post: "Missing required parameters: texts, twitterUserId,
|
|
3766
|
+
* userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
|
|
3767
|
+
* a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
|
|
3768
|
+
* posts are already claimed. Please post a new tweet and try again in a few
|
|
3769
|
+
* minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
|
|
3770
|
+
* "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
|
|
3771
|
+
* not have media", "Text found in tweet"
|
|
3772
|
+
* - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
|
|
3773
|
+
* not found", "Text found in bio", "Text not found in bio"
|
|
3774
|
+
* - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
|
|
3775
|
+
* "User not found", "Text found in username", "Text not found in username"
|
|
3776
|
+
* - Comment on an X Post with Text: "Missing required parameters: texts,
|
|
3777
|
+
* twitterUserId", "Comment is already claimed", "Text found in comment", "Text
|
|
3778
|
+
* not found in comment", "Tweet not found or could not be retrieved"
|
|
3779
|
+
* - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
|
|
3780
|
+
* added"
|
|
3781
|
+
* - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
|
|
3782
|
+
* please make sure you have made your subscriptions public in youtube"
|
|
3783
|
+
* - Get X post impressions: "You've already claimed the reward for this impression
|
|
3784
|
+
* range."
|
|
3785
|
+
* - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
|
|
3786
|
+
* item not added"
|
|
3787
|
+
*
|
|
3788
|
+
* Complex Onchain Logic
|
|
3789
|
+
*
|
|
3790
|
+
* - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
|
|
3791
|
+
*
|
|
3792
|
+
* Other
|
|
3793
|
+
*
|
|
3794
|
+
* - Answer a Quiz: "Quiz question not configured", "No question response found",
|
|
3795
|
+
* "Incorrect answer", "Correct answer"
|
|
3796
|
+
* - Answer a Poll: "Poll question not configured", "Poll response recorded"
|
|
3797
|
+
* - Spend in Shopify Store: "Shopify not connected"
|
|
3798
|
+
* - Points Airdrop: "Seems like you're not eligible for this points airdrop."
|
|
3799
|
+
*
|
|
3800
|
+
* General
|
|
3801
|
+
*
|
|
3802
|
+
* - "Quest already completed"
|
|
3803
|
+
* - "Quest already completed using the same social account (${socialAccountName}),
|
|
3804
|
+
* with the different user."
|
|
3805
|
+
* - "You've already claimed the reward for this quest."
|
|
3806
|
+
* - "Quest not achieved, please try again."
|
|
3807
|
+
* - "Rule is not setup"
|
|
3808
|
+
* - "Request aborted due to timeout"
|
|
3809
|
+
* - "Google account not connected"
|
|
3810
|
+
* - "Claim failed: Multiplier is already active"
|
|
3811
|
+
*/
|
|
1945
3812
|
message?: string;
|
|
3813
|
+
|
|
3814
|
+
organizationId?: string;
|
|
3815
|
+
|
|
3816
|
+
/**
|
|
3817
|
+
* The progress of the loyalty rule from 0 to 100
|
|
3818
|
+
*/
|
|
3819
|
+
progress?: number;
|
|
3820
|
+
|
|
3821
|
+
/**
|
|
3822
|
+
* Status of the queued job, this is only returned if the job is queued and being
|
|
3823
|
+
* processed, this wil be retained for 10 minutes after the job is completed
|
|
3824
|
+
*/
|
|
3825
|
+
status?: 'pending' | 'processing' | 'completed' | 'failed';
|
|
3826
|
+
|
|
3827
|
+
updatedAt?: string;
|
|
3828
|
+
|
|
3829
|
+
websiteId?: string;
|
|
1946
3830
|
}
|
|
1947
3831
|
}
|
|
1948
3832
|
|
|
@@ -2053,7 +3937,21 @@ export interface RuleCreateParams {
|
|
|
2053
3937
|
| 'twitter_like'
|
|
2054
3938
|
| 'twitter_post_hashtag'
|
|
2055
3939
|
| 'quiz'
|
|
2056
|
-
| 'poll'
|
|
3940
|
+
| 'poll'
|
|
3941
|
+
| 'steam_wishlist'
|
|
3942
|
+
| 'liquidity_uniswap_v2'
|
|
3943
|
+
| 'liquidity_uniswap_v3'
|
|
3944
|
+
| 'points_airdrop'
|
|
3945
|
+
| 'youtube_subscribers'
|
|
3946
|
+
| 'youtube_comment'
|
|
3947
|
+
| 'shopify_spend'
|
|
3948
|
+
| 'swap'
|
|
3949
|
+
| 'tiktok_post'
|
|
3950
|
+
| 'post_impressions'
|
|
3951
|
+
| 'discord_join'
|
|
3952
|
+
| 'connected_youtube'
|
|
3953
|
+
| 'stratus_function'
|
|
3954
|
+
| 'connected_tiktok';
|
|
2057
3955
|
|
|
2058
3956
|
/**
|
|
2059
3957
|
* Unique identifier for the associated website
|
|
@@ -2065,6 +3963,11 @@ export interface RuleCreateParams {
|
|
|
2065
3963
|
*/
|
|
2066
3964
|
backgroundAssetUrl?: string;
|
|
2067
3965
|
|
|
3966
|
+
/**
|
|
3967
|
+
* The type of claim for the reward
|
|
3968
|
+
*/
|
|
3969
|
+
claimType?: 'manual' | 'auto' | null;
|
|
3970
|
+
|
|
2068
3971
|
/**
|
|
2069
3972
|
* Blockchain address of the associated collection
|
|
2070
3973
|
*/
|
|
@@ -2090,6 +3993,18 @@ export interface RuleCreateParams {
|
|
|
2090
3993
|
*/
|
|
2091
3994
|
description?: string;
|
|
2092
3995
|
|
|
3996
|
+
duplicatedFromId?: string | null;
|
|
3997
|
+
|
|
3998
|
+
/**
|
|
3999
|
+
* ID of the external integration
|
|
4000
|
+
*/
|
|
4001
|
+
externalIntegrationId?: string | null;
|
|
4002
|
+
|
|
4003
|
+
/**
|
|
4004
|
+
* Optional stratus function id for the rule
|
|
4005
|
+
*/
|
|
4006
|
+
functionId?: string | null;
|
|
4007
|
+
|
|
2093
4008
|
/**
|
|
2094
4009
|
* Whether to hide this rule in the user interface
|
|
2095
4010
|
*/
|
|
@@ -2098,18 +4013,40 @@ export interface RuleCreateParams {
|
|
|
2098
4013
|
/**
|
|
2099
4014
|
* Interval between rule executions
|
|
2100
4015
|
*/
|
|
2101
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
4016
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
2102
4017
|
|
|
2103
4018
|
/**
|
|
2104
4019
|
* Whether this rule is mandatory
|
|
2105
4020
|
*/
|
|
2106
4021
|
isRequired?: boolean;
|
|
2107
4022
|
|
|
4023
|
+
/**
|
|
4024
|
+
* Unique identifier for the loyalty badge
|
|
4025
|
+
*/
|
|
4026
|
+
loyaltyBadgeId?: string | null;
|
|
4027
|
+
|
|
2108
4028
|
/**
|
|
2109
4029
|
* Unique identifier for the loyalty rule group
|
|
2110
4030
|
*/
|
|
2111
4031
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
2112
4032
|
|
|
4033
|
+
/**
|
|
4034
|
+
* URL for uploading loyalty user allotment via CSV
|
|
4035
|
+
*/
|
|
4036
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
4037
|
+
|
|
4038
|
+
/**
|
|
4039
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
4040
|
+
* rules.
|
|
4041
|
+
*/
|
|
4042
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
4043
|
+
|
|
4044
|
+
/**
|
|
4045
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
4046
|
+
* smart contract and external rules.
|
|
4047
|
+
*/
|
|
4048
|
+
maxAmountPerInterval?: number | null;
|
|
4049
|
+
|
|
2113
4050
|
/**
|
|
2114
4051
|
* URL of the media to be displayed
|
|
2115
4052
|
*/
|
|
@@ -2119,13 +4056,17 @@ export interface RuleCreateParams {
|
|
|
2119
4056
|
* Blockchain network where the rule will apply
|
|
2120
4057
|
*/
|
|
2121
4058
|
network?:
|
|
4059
|
+
| 'abstract'
|
|
4060
|
+
| 'abstractTestnet'
|
|
2122
4061
|
| 'apechain'
|
|
2123
4062
|
| 'arbitrum'
|
|
2124
4063
|
| 'avalanche'
|
|
2125
4064
|
| 'avalancheFuji'
|
|
2126
4065
|
| 'base'
|
|
2127
4066
|
| 'baseSepolia'
|
|
4067
|
+
| 'berachain'
|
|
2128
4068
|
| 'berachainArtio'
|
|
4069
|
+
| 'berachainBepolia'
|
|
2129
4070
|
| 'binance'
|
|
2130
4071
|
| 'bscTestnet'
|
|
2131
4072
|
| 'campTestnet'
|
|
@@ -2133,18 +4074,30 @@ export interface RuleCreateParams {
|
|
|
2133
4074
|
| 'fantomTestnet'
|
|
2134
4075
|
| 'flowMainnet'
|
|
2135
4076
|
| 'mainnet'
|
|
4077
|
+
| 'nexusTestnet'
|
|
2136
4078
|
| 'optimism'
|
|
2137
4079
|
| 'polygon'
|
|
2138
4080
|
| 'polygon_mumbai'
|
|
2139
4081
|
| 'skaleNebula'
|
|
4082
|
+
| 'skaleEuropa'
|
|
4083
|
+
| 'skaleCalypso'
|
|
2140
4084
|
| 'solana'
|
|
2141
4085
|
| 'sophon'
|
|
4086
|
+
| 'sophonTestnet'
|
|
2142
4087
|
| 'sui'
|
|
2143
4088
|
| 'superseed'
|
|
2144
4089
|
| 'superseedSepolia'
|
|
2145
4090
|
| 'vanar'
|
|
2146
4091
|
| 'xai'
|
|
2147
4092
|
| 'zksync'
|
|
4093
|
+
| 'coti'
|
|
4094
|
+
| 'cotiTestnet'
|
|
4095
|
+
| 'morph'
|
|
4096
|
+
| 'morphTestnet'
|
|
4097
|
+
| 'morphHolesky'
|
|
4098
|
+
| 'ultra'
|
|
4099
|
+
| 'ultraTestnet'
|
|
4100
|
+
| 'nitrograph'
|
|
2148
4101
|
| 'sepolia'
|
|
2149
4102
|
| 'optimism_sepolia'
|
|
2150
4103
|
| 'arbitrumSepolia'
|
|
@@ -2152,22 +4105,38 @@ export interface RuleCreateParams {
|
|
|
2152
4105
|
| 'optimism_goerli'
|
|
2153
4106
|
| 'arbitrumGoerli'
|
|
2154
4107
|
| 'basecamp'
|
|
2155
|
-
| '
|
|
4108
|
+
| 'somnia'
|
|
4109
|
+
| 'flow_cadence';
|
|
2156
4110
|
|
|
2157
4111
|
/**
|
|
2158
4112
|
* OAuth credentials associated with the rule
|
|
2159
4113
|
*/
|
|
2160
4114
|
oauthCredentialsId?: string | null;
|
|
2161
4115
|
|
|
4116
|
+
/**
|
|
4117
|
+
* The lifetime of the reward
|
|
4118
|
+
*/
|
|
4119
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
4120
|
+
|
|
2162
4121
|
/**
|
|
2163
4122
|
* Type of reward issued by the rule
|
|
2164
4123
|
*/
|
|
2165
|
-
rewardType?: 'points' | 'multiplier';
|
|
4124
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
4125
|
+
|
|
4126
|
+
/**
|
|
4127
|
+
* URL of the Shopify store
|
|
4128
|
+
*/
|
|
4129
|
+
shopifyStoreUrl?: string | null;
|
|
4130
|
+
|
|
4131
|
+
/**
|
|
4132
|
+
* Whether to show this rule before the start time
|
|
4133
|
+
*/
|
|
4134
|
+
showBeforeStart?: boolean;
|
|
2166
4135
|
|
|
2167
4136
|
/**
|
|
2168
|
-
*
|
|
4137
|
+
* Optional stratus subscription id for the rule
|
|
2169
4138
|
*/
|
|
2170
|
-
|
|
4139
|
+
subscriptionId?: string | null;
|
|
2171
4140
|
}
|
|
2172
4141
|
|
|
2173
4142
|
export namespace RuleCreateParams {
|
|
@@ -2175,6 +4144,11 @@ export namespace RuleCreateParams {
|
|
|
2175
4144
|
* Additional metadata for the loyalty rule
|
|
2176
4145
|
*/
|
|
2177
4146
|
export interface Metadata {
|
|
4147
|
+
/**
|
|
4148
|
+
* Number of tokens per batch.
|
|
4149
|
+
*/
|
|
4150
|
+
batchSize?: number | null;
|
|
4151
|
+
|
|
2178
4152
|
/**
|
|
2179
4153
|
* Text displayed on the action button.
|
|
2180
4154
|
*/
|
|
@@ -2198,7 +4172,7 @@ export namespace RuleCreateParams {
|
|
|
2198
4172
|
/**
|
|
2199
4173
|
* Text to check in the Twitter post, username, or bio.
|
|
2200
4174
|
*/
|
|
2201
|
-
checkText?: string | null;
|
|
4175
|
+
checkText?: string | Array<string> | null;
|
|
2202
4176
|
|
|
2203
4177
|
/**
|
|
2204
4178
|
* Array of collections associated with the rule.
|
|
@@ -2208,7 +4182,12 @@ export namespace RuleCreateParams {
|
|
|
2208
4182
|
/**
|
|
2209
4183
|
* Conditions for completing the profile.
|
|
2210
4184
|
*/
|
|
2211
|
-
completeProfileConditions?:
|
|
4185
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
4186
|
+
|
|
4187
|
+
/**
|
|
4188
|
+
* Description of the external rule condition (only for external rules)
|
|
4189
|
+
*/
|
|
4190
|
+
conditionDescription?: string;
|
|
2212
4191
|
|
|
2213
4192
|
/**
|
|
2214
4193
|
* Object containing details for the call-to-action.
|
|
@@ -2220,6 +4199,11 @@ export namespace RuleCreateParams {
|
|
|
2220
4199
|
*/
|
|
2221
4200
|
customRewardsApiKey?: string;
|
|
2222
4201
|
|
|
4202
|
+
/**
|
|
4203
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
4204
|
+
*/
|
|
4205
|
+
directRpc?: boolean;
|
|
4206
|
+
|
|
2223
4207
|
/**
|
|
2224
4208
|
* Array of Discord servers, channels, and roles to join.
|
|
2225
4209
|
*/
|
|
@@ -2245,6 +4229,11 @@ export namespace RuleCreateParams {
|
|
|
2245
4229
|
*/
|
|
2246
4230
|
enableVerifiedMultiplier?: boolean;
|
|
2247
4231
|
|
|
4232
|
+
/**
|
|
4233
|
+
* Type of ERC20 token for the loyalty rule.
|
|
4234
|
+
*/
|
|
4235
|
+
erc20Type?: 'erc20' | 'native';
|
|
4236
|
+
|
|
2248
4237
|
/**
|
|
2249
4238
|
* Fill source of the order for the token sale
|
|
2250
4239
|
*/
|
|
@@ -2265,11 +4254,6 @@ export namespace RuleCreateParams {
|
|
|
2265
4254
|
*/
|
|
2266
4255
|
hasNeverSold?: boolean;
|
|
2267
4256
|
|
|
2268
|
-
/**
|
|
2269
|
-
* Flag indicating whether the order source is included.
|
|
2270
|
-
*/
|
|
2271
|
-
hasOrderSource?: boolean;
|
|
2272
|
-
|
|
2273
4257
|
/**
|
|
2274
4258
|
* Indicates if the full royalty has been paid for items.
|
|
2275
4259
|
*/
|
|
@@ -2290,11 +4274,21 @@ export namespace RuleCreateParams {
|
|
|
2290
4274
|
*/
|
|
2291
4275
|
imageUrl?: string | null;
|
|
2292
4276
|
|
|
4277
|
+
/**
|
|
4278
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
4279
|
+
*/
|
|
4280
|
+
isCheckInOnEveryTxn?: boolean;
|
|
4281
|
+
|
|
2293
4282
|
/**
|
|
2294
4283
|
* Indicates if the multiplier has been applied to rewards.
|
|
2295
4284
|
*/
|
|
2296
4285
|
isMultiplierApplied?: boolean;
|
|
2297
4286
|
|
|
4287
|
+
/**
|
|
4288
|
+
* Flag indicating if the rule is restricted to new users.
|
|
4289
|
+
*/
|
|
4290
|
+
isRestrictedToNewUsers?: boolean;
|
|
4291
|
+
|
|
2298
4292
|
/**
|
|
2299
4293
|
* Flag indicating if rewards are applied retroactively.
|
|
2300
4294
|
*/
|
|
@@ -2310,6 +4304,11 @@ export namespace RuleCreateParams {
|
|
|
2310
4304
|
*/
|
|
2311
4305
|
link?: string | null;
|
|
2312
4306
|
|
|
4307
|
+
/**
|
|
4308
|
+
* Liquidity pool details.
|
|
4309
|
+
*/
|
|
4310
|
+
liquidity?: Metadata.Liquidity;
|
|
4311
|
+
|
|
2313
4312
|
/**
|
|
2314
4313
|
* Maximum quantity constraint for token holding.
|
|
2315
4314
|
*/
|
|
@@ -2351,14 +4350,24 @@ export namespace RuleCreateParams {
|
|
|
2351
4350
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2352
4351
|
|
|
2353
4352
|
/**
|
|
2354
|
-
*
|
|
4353
|
+
* Promotional code associated with the rule.
|
|
2355
4354
|
*/
|
|
2356
|
-
|
|
4355
|
+
promoCode?: string;
|
|
2357
4356
|
|
|
2358
4357
|
/**
|
|
2359
|
-
*
|
|
4358
|
+
* URL of the CSV file containing promo codes.
|
|
2360
4359
|
*/
|
|
2361
|
-
|
|
4360
|
+
promoCodeCsvUrl?: string;
|
|
4361
|
+
|
|
4362
|
+
/**
|
|
4363
|
+
* Numbers of the promotional code to be generated.
|
|
4364
|
+
*/
|
|
4365
|
+
promoCodeLength?: number | null;
|
|
4366
|
+
|
|
4367
|
+
/**
|
|
4368
|
+
* Type of the promotional code.
|
|
4369
|
+
*/
|
|
4370
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2362
4371
|
|
|
2363
4372
|
/**
|
|
2364
4373
|
* Array defining ranges and corresponding rewards.
|
|
@@ -2375,11 +4384,62 @@ export namespace RuleCreateParams {
|
|
|
2375
4384
|
*/
|
|
2376
4385
|
referrerReward?: number | null;
|
|
2377
4386
|
|
|
4387
|
+
/**
|
|
4388
|
+
* Loyalty currency ID of the referrer reward.
|
|
4389
|
+
*/
|
|
4390
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
4391
|
+
|
|
4392
|
+
/**
|
|
4393
|
+
* Flag indicating if the post link is required.
|
|
4394
|
+
*/
|
|
4395
|
+
requirePostLink?: boolean | null;
|
|
4396
|
+
|
|
4397
|
+
/**
|
|
4398
|
+
* Flag indicating if media metadata is required.
|
|
4399
|
+
*/
|
|
4400
|
+
requirePostMediaLink?: boolean | null;
|
|
4401
|
+
|
|
4402
|
+
/**
|
|
4403
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
4404
|
+
*/
|
|
4405
|
+
rewardBadgePerRange?: boolean;
|
|
4406
|
+
|
|
4407
|
+
/**
|
|
4408
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
4409
|
+
*/
|
|
4410
|
+
rewardByBatch?: boolean | null;
|
|
4411
|
+
|
|
4412
|
+
/**
|
|
4413
|
+
* Criteria to evaluate the reward.
|
|
4414
|
+
*/
|
|
4415
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
4416
|
+
|
|
4417
|
+
/**
|
|
4418
|
+
* Flag indicating if the reward is rewarded per action.
|
|
4419
|
+
*/
|
|
4420
|
+
rewardPerAction?: boolean | null;
|
|
4421
|
+
|
|
2378
4422
|
/**
|
|
2379
4423
|
* Flag indicating if rewards are given per impression.
|
|
2380
4424
|
*/
|
|
2381
4425
|
rewardPerImpression?: boolean | null;
|
|
2382
4426
|
|
|
4427
|
+
/**
|
|
4428
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
4429
|
+
* instead of count.
|
|
4430
|
+
*/
|
|
4431
|
+
rewardPerValue?: boolean;
|
|
4432
|
+
|
|
4433
|
+
/**
|
|
4434
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
4435
|
+
*/
|
|
4436
|
+
royaltyAddress?: string;
|
|
4437
|
+
|
|
4438
|
+
/**
|
|
4439
|
+
* Royalty percentage of the item.
|
|
4440
|
+
*/
|
|
4441
|
+
royaltyPercentage?: number;
|
|
4442
|
+
|
|
2383
4443
|
/**
|
|
2384
4444
|
* Currency associated with sales.
|
|
2385
4445
|
*/
|
|
@@ -2419,6 +4479,7 @@ export namespace RuleCreateParams {
|
|
|
2419
4479
|
| 'Twitch'
|
|
2420
4480
|
| 'X(Twitter)'
|
|
2421
4481
|
| 'YouTube'
|
|
4482
|
+
| 'Google'
|
|
2422
4483
|
| null;
|
|
2423
4484
|
|
|
2424
4485
|
/**
|
|
@@ -2431,11 +4492,21 @@ export namespace RuleCreateParams {
|
|
|
2431
4492
|
*/
|
|
2432
4493
|
socialPlatformName?: string | null;
|
|
2433
4494
|
|
|
4495
|
+
/**
|
|
4496
|
+
* ID of the Steam app.
|
|
4497
|
+
*/
|
|
4498
|
+
steamAppId?: string | null;
|
|
4499
|
+
|
|
2434
4500
|
/**
|
|
2435
4501
|
* Array of streak milestones and corresponding rewards.
|
|
2436
4502
|
*/
|
|
2437
4503
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2438
4504
|
|
|
4505
|
+
/**
|
|
4506
|
+
* Metadata for swap loyalty rules
|
|
4507
|
+
*/
|
|
4508
|
+
swap?: Metadata.Swap;
|
|
4509
|
+
|
|
2439
4510
|
/**
|
|
2440
4511
|
* ID of the Telegram channel.
|
|
2441
4512
|
*/
|
|
@@ -2451,6 +4522,12 @@ export namespace RuleCreateParams {
|
|
|
2451
4522
|
*/
|
|
2452
4523
|
trackAllContracts?: boolean | null;
|
|
2453
4524
|
|
|
4525
|
+
/**
|
|
4526
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
4527
|
+
* completed once the progress is 100%.
|
|
4528
|
+
*/
|
|
4529
|
+
trackProgress?: boolean | null;
|
|
4530
|
+
|
|
2454
4531
|
/**
|
|
2455
4532
|
* URL of the associated Twitter account.
|
|
2456
4533
|
*/
|
|
@@ -2494,7 +4571,27 @@ export namespace RuleCreateParams {
|
|
|
2494
4571
|
/**
|
|
2495
4572
|
* Type of wallet associated with the rule.
|
|
2496
4573
|
*/
|
|
2497
|
-
walletType?:
|
|
4574
|
+
walletType?:
|
|
4575
|
+
| 'evm'
|
|
4576
|
+
| 'solana'
|
|
4577
|
+
| 'imx'
|
|
4578
|
+
| 'sui'
|
|
4579
|
+
| 'ton'
|
|
4580
|
+
| 'cosmos'
|
|
4581
|
+
| 'ultra'
|
|
4582
|
+
| 'agw'
|
|
4583
|
+
| 'flow_cadence'
|
|
4584
|
+
| null;
|
|
4585
|
+
|
|
4586
|
+
/**
|
|
4587
|
+
* ID of the Youtube channel.
|
|
4588
|
+
*/
|
|
4589
|
+
youtubeChannelId?: string | null;
|
|
4590
|
+
|
|
4591
|
+
/**
|
|
4592
|
+
* ID of the Youtube video.
|
|
4593
|
+
*/
|
|
4594
|
+
youtubeVideoId?: string | null;
|
|
2498
4595
|
}
|
|
2499
4596
|
|
|
2500
4597
|
export namespace Metadata {
|
|
@@ -2513,13 +4610,17 @@ export namespace RuleCreateParams {
|
|
|
2513
4610
|
* Blockchain network of the collection.
|
|
2514
4611
|
*/
|
|
2515
4612
|
network?:
|
|
4613
|
+
| 'abstract'
|
|
4614
|
+
| 'abstractTestnet'
|
|
2516
4615
|
| 'apechain'
|
|
2517
4616
|
| 'arbitrum'
|
|
2518
4617
|
| 'avalanche'
|
|
2519
4618
|
| 'avalancheFuji'
|
|
2520
4619
|
| 'base'
|
|
2521
4620
|
| 'baseSepolia'
|
|
4621
|
+
| 'berachain'
|
|
2522
4622
|
| 'berachainArtio'
|
|
4623
|
+
| 'berachainBepolia'
|
|
2523
4624
|
| 'binance'
|
|
2524
4625
|
| 'bscTestnet'
|
|
2525
4626
|
| 'campTestnet'
|
|
@@ -2527,18 +4628,30 @@ export namespace RuleCreateParams {
|
|
|
2527
4628
|
| 'fantomTestnet'
|
|
2528
4629
|
| 'flowMainnet'
|
|
2529
4630
|
| 'mainnet'
|
|
4631
|
+
| 'nexusTestnet'
|
|
2530
4632
|
| 'optimism'
|
|
2531
4633
|
| 'polygon'
|
|
2532
4634
|
| 'polygon_mumbai'
|
|
2533
4635
|
| 'skaleNebula'
|
|
4636
|
+
| 'skaleEuropa'
|
|
4637
|
+
| 'skaleCalypso'
|
|
2534
4638
|
| 'solana'
|
|
2535
4639
|
| 'sophon'
|
|
4640
|
+
| 'sophonTestnet'
|
|
2536
4641
|
| 'sui'
|
|
2537
4642
|
| 'superseed'
|
|
2538
4643
|
| 'superseedSepolia'
|
|
2539
4644
|
| 'vanar'
|
|
2540
4645
|
| 'xai'
|
|
2541
4646
|
| 'zksync'
|
|
4647
|
+
| 'coti'
|
|
4648
|
+
| 'cotiTestnet'
|
|
4649
|
+
| 'morph'
|
|
4650
|
+
| 'morphTestnet'
|
|
4651
|
+
| 'morphHolesky'
|
|
4652
|
+
| 'ultra'
|
|
4653
|
+
| 'ultraTestnet'
|
|
4654
|
+
| 'nitrograph'
|
|
2542
4655
|
| 'sepolia'
|
|
2543
4656
|
| 'optimism_sepolia'
|
|
2544
4657
|
| 'arbitrumSepolia'
|
|
@@ -2546,7 +4659,8 @@ export namespace RuleCreateParams {
|
|
|
2546
4659
|
| 'optimism_goerli'
|
|
2547
4660
|
| 'arbitrumGoerli'
|
|
2548
4661
|
| 'basecamp'
|
|
2549
|
-
| '
|
|
4662
|
+
| 'somnia'
|
|
4663
|
+
| 'flow_cadence';
|
|
2550
4664
|
}
|
|
2551
4665
|
|
|
2552
4666
|
/**
|
|
@@ -2623,6 +4737,108 @@ export namespace RuleCreateParams {
|
|
|
2623
4737
|
id: string;
|
|
2624
4738
|
}
|
|
2625
4739
|
|
|
4740
|
+
/**
|
|
4741
|
+
* Liquidity pool details.
|
|
4742
|
+
*/
|
|
4743
|
+
export interface Liquidity {
|
|
4744
|
+
/**
|
|
4745
|
+
* Calculation type of the liquidity pool.
|
|
4746
|
+
*/
|
|
4747
|
+
calculationType?: 'fixed' | 'custom';
|
|
4748
|
+
|
|
4749
|
+
/**
|
|
4750
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
4751
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
4752
|
+
* USD.
|
|
4753
|
+
*/
|
|
4754
|
+
customFunction?: string;
|
|
4755
|
+
|
|
4756
|
+
/**
|
|
4757
|
+
* Liquidity provided per day in USD
|
|
4758
|
+
*/
|
|
4759
|
+
liquidityPerDay?: number;
|
|
4760
|
+
|
|
4761
|
+
/**
|
|
4762
|
+
* Blockchain network of the liquidity pool.
|
|
4763
|
+
*/
|
|
4764
|
+
network?:
|
|
4765
|
+
| 'abstract'
|
|
4766
|
+
| 'abstractTestnet'
|
|
4767
|
+
| 'apechain'
|
|
4768
|
+
| 'arbitrum'
|
|
4769
|
+
| 'avalanche'
|
|
4770
|
+
| 'avalancheFuji'
|
|
4771
|
+
| 'base'
|
|
4772
|
+
| 'baseSepolia'
|
|
4773
|
+
| 'berachain'
|
|
4774
|
+
| 'berachainArtio'
|
|
4775
|
+
| 'berachainBepolia'
|
|
4776
|
+
| 'binance'
|
|
4777
|
+
| 'bscTestnet'
|
|
4778
|
+
| 'campTestnet'
|
|
4779
|
+
| 'fantom'
|
|
4780
|
+
| 'fantomTestnet'
|
|
4781
|
+
| 'flowMainnet'
|
|
4782
|
+
| 'mainnet'
|
|
4783
|
+
| 'nexusTestnet'
|
|
4784
|
+
| 'optimism'
|
|
4785
|
+
| 'polygon'
|
|
4786
|
+
| 'polygon_mumbai'
|
|
4787
|
+
| 'skaleNebula'
|
|
4788
|
+
| 'skaleEuropa'
|
|
4789
|
+
| 'skaleCalypso'
|
|
4790
|
+
| 'solana'
|
|
4791
|
+
| 'sophon'
|
|
4792
|
+
| 'sophonTestnet'
|
|
4793
|
+
| 'sui'
|
|
4794
|
+
| 'superseed'
|
|
4795
|
+
| 'superseedSepolia'
|
|
4796
|
+
| 'vanar'
|
|
4797
|
+
| 'xai'
|
|
4798
|
+
| 'zksync'
|
|
4799
|
+
| 'coti'
|
|
4800
|
+
| 'cotiTestnet'
|
|
4801
|
+
| 'morph'
|
|
4802
|
+
| 'morphTestnet'
|
|
4803
|
+
| 'morphHolesky'
|
|
4804
|
+
| 'ultra'
|
|
4805
|
+
| 'ultraTestnet'
|
|
4806
|
+
| 'nitrograph'
|
|
4807
|
+
| 'sepolia'
|
|
4808
|
+
| 'optimism_sepolia'
|
|
4809
|
+
| 'arbitrumSepolia'
|
|
4810
|
+
| 'goerli'
|
|
4811
|
+
| 'optimism_goerli'
|
|
4812
|
+
| 'arbitrumGoerli'
|
|
4813
|
+
| 'basecamp'
|
|
4814
|
+
| 'somnia'
|
|
4815
|
+
| 'flow_cadence';
|
|
4816
|
+
|
|
4817
|
+
/**
|
|
4818
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
4819
|
+
*/
|
|
4820
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
4821
|
+
|
|
4822
|
+
/**
|
|
4823
|
+
* Array of liquidity pools associated with the rule.
|
|
4824
|
+
*/
|
|
4825
|
+
pools?: Array<Liquidity.Pool>;
|
|
4826
|
+
|
|
4827
|
+
/**
|
|
4828
|
+
* Protocol of the liquidity pool.
|
|
4829
|
+
*/
|
|
4830
|
+
protocol?: string;
|
|
4831
|
+
}
|
|
4832
|
+
|
|
4833
|
+
export namespace Liquidity {
|
|
4834
|
+
export interface Pool {
|
|
4835
|
+
/**
|
|
4836
|
+
* Unique identifier of the liquidity pool.
|
|
4837
|
+
*/
|
|
4838
|
+
id: string;
|
|
4839
|
+
}
|
|
4840
|
+
}
|
|
4841
|
+
|
|
2626
4842
|
export interface Range {
|
|
2627
4843
|
/**
|
|
2628
4844
|
* Reward amount for this range.
|
|
@@ -2638,6 +4854,16 @@ export namespace RuleCreateParams {
|
|
|
2638
4854
|
* Start value of the range.
|
|
2639
4855
|
*/
|
|
2640
4856
|
startRange: number;
|
|
4857
|
+
|
|
4858
|
+
/**
|
|
4859
|
+
* ID of the loyalty badge for this range.
|
|
4860
|
+
*/
|
|
4861
|
+
loyaltyBadgeId?: string;
|
|
4862
|
+
|
|
4863
|
+
/**
|
|
4864
|
+
* Amount of the loyalty multiplier for this range.
|
|
4865
|
+
*/
|
|
4866
|
+
loyaltyMultiplierAmount?: number;
|
|
2641
4867
|
}
|
|
2642
4868
|
|
|
2643
4869
|
/**
|
|
@@ -2690,20 +4916,15 @@ export namespace RuleCreateParams {
|
|
|
2690
4916
|
* Object containing details of the associated smart contract.
|
|
2691
4917
|
*/
|
|
2692
4918
|
export interface SmartContract {
|
|
2693
|
-
/**
|
|
2694
|
-
* ABI of the smart contract.
|
|
2695
|
-
*/
|
|
2696
|
-
abi?: string | null;
|
|
2697
|
-
|
|
2698
4919
|
/**
|
|
2699
4920
|
* Mapping of addresses for the smart contract.
|
|
2700
4921
|
*/
|
|
2701
4922
|
addressMapping?: string | null;
|
|
2702
4923
|
|
|
2703
4924
|
/**
|
|
2704
|
-
*
|
|
4925
|
+
* Object containing details of the amount multiplier from the event.
|
|
2705
4926
|
*/
|
|
2706
|
-
|
|
4927
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2707
4928
|
|
|
2708
4929
|
/**
|
|
2709
4930
|
* ID of the smart contract.
|
|
@@ -2715,68 +4936,31 @@ export namespace RuleCreateParams {
|
|
|
2715
4936
|
*/
|
|
2716
4937
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2717
4938
|
|
|
2718
|
-
/**
|
|
2719
|
-
* Time range applied to the rule.
|
|
2720
|
-
*/
|
|
2721
|
-
customRange?: SmartContract.CustomRange | null;
|
|
2722
|
-
|
|
2723
4939
|
/**
|
|
2724
4940
|
* Event emitted by the smart contract.
|
|
2725
4941
|
*/
|
|
2726
4942
|
event?: string | null;
|
|
2727
4943
|
|
|
2728
|
-
/**
|
|
2729
|
-
* Maximum value allowed for the parameter.
|
|
2730
|
-
*/
|
|
2731
|
-
max?: number | null;
|
|
2732
|
-
|
|
2733
4944
|
/**
|
|
2734
4945
|
* Array of parameters for the smart contract.
|
|
2735
4946
|
*/
|
|
2736
4947
|
params?: Array<SmartContract.Param> | null;
|
|
2737
4948
|
|
|
2738
4949
|
/**
|
|
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.
|
|
4950
|
+
* Type of the smart contract interaction.
|
|
2750
4951
|
*/
|
|
2751
|
-
|
|
4952
|
+
type?: 'function' | 'event' | null;
|
|
2752
4953
|
}
|
|
2753
4954
|
|
|
2754
4955
|
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
4956
|
/**
|
|
2768
|
-
*
|
|
4957
|
+
* Object containing details of the amount multiplier from the event.
|
|
2769
4958
|
*/
|
|
2770
|
-
export interface
|
|
4959
|
+
export interface AmountMultiplier {
|
|
2771
4960
|
/**
|
|
2772
|
-
*
|
|
4961
|
+
* Mapping of the value for the smart contract.
|
|
2773
4962
|
*/
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
/**
|
|
2777
|
-
* Start time of the custom range.
|
|
2778
|
-
*/
|
|
2779
|
-
startsAt?: string | null;
|
|
4963
|
+
valueMapping?: string | null;
|
|
2780
4964
|
}
|
|
2781
4965
|
|
|
2782
4966
|
export interface Param {
|
|
@@ -2820,6 +5004,33 @@ export namespace RuleCreateParams {
|
|
|
2820
5004
|
*/
|
|
2821
5005
|
streakMilestone: number;
|
|
2822
5006
|
}
|
|
5007
|
+
|
|
5008
|
+
/**
|
|
5009
|
+
* Metadata for swap loyalty rules
|
|
5010
|
+
*/
|
|
5011
|
+
export interface Swap {
|
|
5012
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
5013
|
+
|
|
5014
|
+
relayReferrerId?: string;
|
|
5015
|
+
|
|
5016
|
+
requireCrossChainSwap?: boolean;
|
|
5017
|
+
|
|
5018
|
+
swappedToChain?: 'any' | number | string;
|
|
5019
|
+
|
|
5020
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
5021
|
+
|
|
5022
|
+
tokenMode?: 'any' | 'specific';
|
|
5023
|
+
|
|
5024
|
+
trackTokenAmount?: boolean;
|
|
5025
|
+
}
|
|
5026
|
+
|
|
5027
|
+
export namespace Swap {
|
|
5028
|
+
export interface SwappedToToken {
|
|
5029
|
+
address: string;
|
|
5030
|
+
|
|
5031
|
+
chainId: string;
|
|
5032
|
+
}
|
|
5033
|
+
}
|
|
2823
5034
|
}
|
|
2824
5035
|
|
|
2825
5036
|
export interface Collection {
|
|
@@ -2832,13 +5043,17 @@ export namespace RuleCreateParams {
|
|
|
2832
5043
|
* Blockchain network for the collection
|
|
2833
5044
|
*/
|
|
2834
5045
|
network:
|
|
5046
|
+
| 'abstract'
|
|
5047
|
+
| 'abstractTestnet'
|
|
2835
5048
|
| 'apechain'
|
|
2836
5049
|
| 'arbitrum'
|
|
2837
5050
|
| 'avalanche'
|
|
2838
5051
|
| 'avalancheFuji'
|
|
2839
5052
|
| 'base'
|
|
2840
5053
|
| 'baseSepolia'
|
|
5054
|
+
| 'berachain'
|
|
2841
5055
|
| 'berachainArtio'
|
|
5056
|
+
| 'berachainBepolia'
|
|
2842
5057
|
| 'binance'
|
|
2843
5058
|
| 'bscTestnet'
|
|
2844
5059
|
| 'campTestnet'
|
|
@@ -2846,18 +5061,30 @@ export namespace RuleCreateParams {
|
|
|
2846
5061
|
| 'fantomTestnet'
|
|
2847
5062
|
| 'flowMainnet'
|
|
2848
5063
|
| 'mainnet'
|
|
5064
|
+
| 'nexusTestnet'
|
|
2849
5065
|
| 'optimism'
|
|
2850
5066
|
| 'polygon'
|
|
2851
5067
|
| 'polygon_mumbai'
|
|
2852
5068
|
| 'skaleNebula'
|
|
5069
|
+
| 'skaleEuropa'
|
|
5070
|
+
| 'skaleCalypso'
|
|
2853
5071
|
| 'solana'
|
|
2854
5072
|
| 'sophon'
|
|
5073
|
+
| 'sophonTestnet'
|
|
2855
5074
|
| 'sui'
|
|
2856
5075
|
| 'superseed'
|
|
2857
5076
|
| 'superseedSepolia'
|
|
2858
5077
|
| 'vanar'
|
|
2859
5078
|
| 'xai'
|
|
2860
5079
|
| 'zksync'
|
|
5080
|
+
| 'coti'
|
|
5081
|
+
| 'cotiTestnet'
|
|
5082
|
+
| 'morph'
|
|
5083
|
+
| 'morphTestnet'
|
|
5084
|
+
| 'morphHolesky'
|
|
5085
|
+
| 'ultra'
|
|
5086
|
+
| 'ultraTestnet'
|
|
5087
|
+
| 'nitrograph'
|
|
2861
5088
|
| 'sepolia'
|
|
2862
5089
|
| 'optimism_sepolia'
|
|
2863
5090
|
| 'arbitrumSepolia'
|
|
@@ -2865,7 +5092,13 @@ export namespace RuleCreateParams {
|
|
|
2865
5092
|
| 'optimism_goerli'
|
|
2866
5093
|
| 'arbitrumGoerli'
|
|
2867
5094
|
| 'basecamp'
|
|
2868
|
-
| '
|
|
5095
|
+
| 'somnia'
|
|
5096
|
+
| 'flow_cadence';
|
|
5097
|
+
|
|
5098
|
+
/**
|
|
5099
|
+
* Symbol of the collection.
|
|
5100
|
+
*/
|
|
5101
|
+
symbol?: string;
|
|
2869
5102
|
}
|
|
2870
5103
|
}
|
|
2871
5104
|
|
|
@@ -2885,10 +5118,15 @@ export interface RuleUpdateParams {
|
|
|
2885
5118
|
*/
|
|
2886
5119
|
name: string;
|
|
2887
5120
|
|
|
5121
|
+
/**
|
|
5122
|
+
* The type of claim for the reward
|
|
5123
|
+
*/
|
|
5124
|
+
claimType?: 'manual' | 'auto' | null;
|
|
5125
|
+
|
|
2888
5126
|
/**
|
|
2889
5127
|
* Blockchain address of the associated collection
|
|
2890
5128
|
*/
|
|
2891
|
-
collectionAddress?: string;
|
|
5129
|
+
collectionAddress?: string | null;
|
|
2892
5130
|
|
|
2893
5131
|
/**
|
|
2894
5132
|
* List of associated collections
|
|
@@ -2920,11 +5158,21 @@ export interface RuleUpdateParams {
|
|
|
2920
5158
|
*/
|
|
2921
5159
|
effectiveStartTime?: string | null;
|
|
2922
5160
|
|
|
5161
|
+
/**
|
|
5162
|
+
* ID of the external integration
|
|
5163
|
+
*/
|
|
5164
|
+
externalIntegrationId?: string | null;
|
|
5165
|
+
|
|
2923
5166
|
/**
|
|
2924
5167
|
* Frequency of the rule execution
|
|
2925
5168
|
*/
|
|
2926
5169
|
frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
2927
5170
|
|
|
5171
|
+
/**
|
|
5172
|
+
* Optional stratus function id for the rule
|
|
5173
|
+
*/
|
|
5174
|
+
functionId?: string | null;
|
|
5175
|
+
|
|
2928
5176
|
/**
|
|
2929
5177
|
* Whether to hide this rule in the user interface
|
|
2930
5178
|
*/
|
|
@@ -2933,7 +5181,7 @@ export interface RuleUpdateParams {
|
|
|
2933
5181
|
/**
|
|
2934
5182
|
* Time interval for recurring rule execution
|
|
2935
5183
|
*/
|
|
2936
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
5184
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
2937
5185
|
|
|
2938
5186
|
/**
|
|
2939
5187
|
* Whether this rule is required for participation
|
|
@@ -2945,6 +5193,18 @@ export interface RuleUpdateParams {
|
|
|
2945
5193
|
*/
|
|
2946
5194
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
2947
5195
|
|
|
5196
|
+
/**
|
|
5197
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
5198
|
+
* rules.
|
|
5199
|
+
*/
|
|
5200
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
5201
|
+
|
|
5202
|
+
/**
|
|
5203
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
5204
|
+
* smart contract and external rules.
|
|
5205
|
+
*/
|
|
5206
|
+
maxAmountPerInterval?: number | null;
|
|
5207
|
+
|
|
2948
5208
|
/**
|
|
2949
5209
|
* URL of the media to be displayed
|
|
2950
5210
|
*/
|
|
@@ -2959,13 +5219,17 @@ export interface RuleUpdateParams {
|
|
|
2959
5219
|
* Blockchain network where the rule will apply
|
|
2960
5220
|
*/
|
|
2961
5221
|
network?:
|
|
5222
|
+
| 'abstract'
|
|
5223
|
+
| 'abstractTestnet'
|
|
2962
5224
|
| 'apechain'
|
|
2963
5225
|
| 'arbitrum'
|
|
2964
5226
|
| 'avalanche'
|
|
2965
5227
|
| 'avalancheFuji'
|
|
2966
5228
|
| 'base'
|
|
2967
5229
|
| 'baseSepolia'
|
|
5230
|
+
| 'berachain'
|
|
2968
5231
|
| 'berachainArtio'
|
|
5232
|
+
| 'berachainBepolia'
|
|
2969
5233
|
| 'binance'
|
|
2970
5234
|
| 'bscTestnet'
|
|
2971
5235
|
| 'campTestnet'
|
|
@@ -2973,18 +5237,30 @@ export interface RuleUpdateParams {
|
|
|
2973
5237
|
| 'fantomTestnet'
|
|
2974
5238
|
| 'flowMainnet'
|
|
2975
5239
|
| 'mainnet'
|
|
5240
|
+
| 'nexusTestnet'
|
|
2976
5241
|
| 'optimism'
|
|
2977
5242
|
| 'polygon'
|
|
2978
5243
|
| 'polygon_mumbai'
|
|
2979
5244
|
| 'skaleNebula'
|
|
5245
|
+
| 'skaleEuropa'
|
|
5246
|
+
| 'skaleCalypso'
|
|
2980
5247
|
| 'solana'
|
|
2981
5248
|
| 'sophon'
|
|
5249
|
+
| 'sophonTestnet'
|
|
2982
5250
|
| 'sui'
|
|
2983
5251
|
| 'superseed'
|
|
2984
5252
|
| 'superseedSepolia'
|
|
2985
5253
|
| 'vanar'
|
|
2986
5254
|
| 'xai'
|
|
2987
5255
|
| 'zksync'
|
|
5256
|
+
| 'coti'
|
|
5257
|
+
| 'cotiTestnet'
|
|
5258
|
+
| 'morph'
|
|
5259
|
+
| 'morphTestnet'
|
|
5260
|
+
| 'morphHolesky'
|
|
5261
|
+
| 'ultra'
|
|
5262
|
+
| 'ultraTestnet'
|
|
5263
|
+
| 'nitrograph'
|
|
2988
5264
|
| 'sepolia'
|
|
2989
5265
|
| 'optimism_sepolia'
|
|
2990
5266
|
| 'arbitrumSepolia'
|
|
@@ -2992,17 +5268,33 @@ export interface RuleUpdateParams {
|
|
|
2992
5268
|
| 'optimism_goerli'
|
|
2993
5269
|
| 'arbitrumGoerli'
|
|
2994
5270
|
| 'basecamp'
|
|
2995
|
-
| '
|
|
5271
|
+
| 'somnia'
|
|
5272
|
+
| 'flow_cadence';
|
|
2996
5273
|
|
|
2997
5274
|
/**
|
|
2998
5275
|
* ID for associated OAuth credentials
|
|
2999
5276
|
*/
|
|
3000
5277
|
oauthCredentialsId?: string | null;
|
|
3001
5278
|
|
|
5279
|
+
/**
|
|
5280
|
+
* The lifetime of the reward
|
|
5281
|
+
*/
|
|
5282
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
5283
|
+
|
|
3002
5284
|
/**
|
|
3003
5285
|
* Type of reward issued by this rule
|
|
3004
5286
|
*/
|
|
3005
|
-
rewardType?: 'points' | 'multiplier';
|
|
5287
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
5288
|
+
|
|
5289
|
+
/**
|
|
5290
|
+
* URL of the Shopify store
|
|
5291
|
+
*/
|
|
5292
|
+
shopifyStoreUrl?: string | null;
|
|
5293
|
+
|
|
5294
|
+
/**
|
|
5295
|
+
* Whether to show this rule before the start time
|
|
5296
|
+
*/
|
|
5297
|
+
showBeforeStart?: boolean;
|
|
3006
5298
|
|
|
3007
5299
|
/**
|
|
3008
5300
|
* Start time for the loyalty rule
|
|
@@ -3010,9 +5302,9 @@ export interface RuleUpdateParams {
|
|
|
3010
5302
|
startTime?: string | null;
|
|
3011
5303
|
|
|
3012
5304
|
/**
|
|
3013
|
-
* Optional subscription
|
|
5305
|
+
* Optional stratus subscription id for the rule
|
|
3014
5306
|
*/
|
|
3015
|
-
|
|
5307
|
+
subscriptionId?: string | null;
|
|
3016
5308
|
}
|
|
3017
5309
|
|
|
3018
5310
|
export namespace RuleUpdateParams {
|
|
@@ -3026,13 +5318,17 @@ export namespace RuleUpdateParams {
|
|
|
3026
5318
|
* Blockchain network for the collection
|
|
3027
5319
|
*/
|
|
3028
5320
|
network:
|
|
5321
|
+
| 'abstract'
|
|
5322
|
+
| 'abstractTestnet'
|
|
3029
5323
|
| 'apechain'
|
|
3030
5324
|
| 'arbitrum'
|
|
3031
5325
|
| 'avalanche'
|
|
3032
5326
|
| 'avalancheFuji'
|
|
3033
5327
|
| 'base'
|
|
3034
5328
|
| 'baseSepolia'
|
|
5329
|
+
| 'berachain'
|
|
3035
5330
|
| 'berachainArtio'
|
|
5331
|
+
| 'berachainBepolia'
|
|
3036
5332
|
| 'binance'
|
|
3037
5333
|
| 'bscTestnet'
|
|
3038
5334
|
| 'campTestnet'
|
|
@@ -3040,18 +5336,30 @@ export namespace RuleUpdateParams {
|
|
|
3040
5336
|
| 'fantomTestnet'
|
|
3041
5337
|
| 'flowMainnet'
|
|
3042
5338
|
| 'mainnet'
|
|
5339
|
+
| 'nexusTestnet'
|
|
3043
5340
|
| 'optimism'
|
|
3044
5341
|
| 'polygon'
|
|
3045
5342
|
| 'polygon_mumbai'
|
|
3046
5343
|
| 'skaleNebula'
|
|
5344
|
+
| 'skaleEuropa'
|
|
5345
|
+
| 'skaleCalypso'
|
|
3047
5346
|
| 'solana'
|
|
3048
5347
|
| 'sophon'
|
|
5348
|
+
| 'sophonTestnet'
|
|
3049
5349
|
| 'sui'
|
|
3050
5350
|
| 'superseed'
|
|
3051
5351
|
| 'superseedSepolia'
|
|
3052
5352
|
| 'vanar'
|
|
3053
5353
|
| 'xai'
|
|
3054
5354
|
| 'zksync'
|
|
5355
|
+
| 'coti'
|
|
5356
|
+
| 'cotiTestnet'
|
|
5357
|
+
| 'morph'
|
|
5358
|
+
| 'morphTestnet'
|
|
5359
|
+
| 'morphHolesky'
|
|
5360
|
+
| 'ultra'
|
|
5361
|
+
| 'ultraTestnet'
|
|
5362
|
+
| 'nitrograph'
|
|
3055
5363
|
| 'sepolia'
|
|
3056
5364
|
| 'optimism_sepolia'
|
|
3057
5365
|
| 'arbitrumSepolia'
|
|
@@ -3059,13 +5367,24 @@ export namespace RuleUpdateParams {
|
|
|
3059
5367
|
| 'optimism_goerli'
|
|
3060
5368
|
| 'arbitrumGoerli'
|
|
3061
5369
|
| 'basecamp'
|
|
3062
|
-
| '
|
|
5370
|
+
| 'somnia'
|
|
5371
|
+
| 'flow_cadence';
|
|
5372
|
+
|
|
5373
|
+
/**
|
|
5374
|
+
* Symbol of the collection.
|
|
5375
|
+
*/
|
|
5376
|
+
symbol?: string;
|
|
3063
5377
|
}
|
|
3064
5378
|
|
|
3065
5379
|
/**
|
|
3066
5380
|
* Additional metadata for the loyalty rule
|
|
3067
5381
|
*/
|
|
3068
5382
|
export interface Metadata {
|
|
5383
|
+
/**
|
|
5384
|
+
* Number of tokens per batch.
|
|
5385
|
+
*/
|
|
5386
|
+
batchSize?: number | null;
|
|
5387
|
+
|
|
3069
5388
|
/**
|
|
3070
5389
|
* Text displayed on the action button.
|
|
3071
5390
|
*/
|
|
@@ -3089,7 +5408,7 @@ export namespace RuleUpdateParams {
|
|
|
3089
5408
|
/**
|
|
3090
5409
|
* Text to check in the Twitter post, username, or bio.
|
|
3091
5410
|
*/
|
|
3092
|
-
checkText?: string | null;
|
|
5411
|
+
checkText?: string | Array<string> | null;
|
|
3093
5412
|
|
|
3094
5413
|
/**
|
|
3095
5414
|
* Array of collections associated with the rule.
|
|
@@ -3099,7 +5418,12 @@ export namespace RuleUpdateParams {
|
|
|
3099
5418
|
/**
|
|
3100
5419
|
* Conditions for completing the profile.
|
|
3101
5420
|
*/
|
|
3102
|
-
completeProfileConditions?:
|
|
5421
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
5422
|
+
|
|
5423
|
+
/**
|
|
5424
|
+
* Description of the external rule condition (only for external rules)
|
|
5425
|
+
*/
|
|
5426
|
+
conditionDescription?: string;
|
|
3103
5427
|
|
|
3104
5428
|
/**
|
|
3105
5429
|
* Object containing details for the call-to-action.
|
|
@@ -3111,6 +5435,11 @@ export namespace RuleUpdateParams {
|
|
|
3111
5435
|
*/
|
|
3112
5436
|
customRewardsApiKey?: string;
|
|
3113
5437
|
|
|
5438
|
+
/**
|
|
5439
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
5440
|
+
*/
|
|
5441
|
+
directRpc?: boolean;
|
|
5442
|
+
|
|
3114
5443
|
/**
|
|
3115
5444
|
* Array of Discord servers, channels, and roles to join.
|
|
3116
5445
|
*/
|
|
@@ -3136,6 +5465,11 @@ export namespace RuleUpdateParams {
|
|
|
3136
5465
|
*/
|
|
3137
5466
|
enableVerifiedMultiplier?: boolean;
|
|
3138
5467
|
|
|
5468
|
+
/**
|
|
5469
|
+
* Type of ERC20 token for the loyalty rule.
|
|
5470
|
+
*/
|
|
5471
|
+
erc20Type?: 'erc20' | 'native';
|
|
5472
|
+
|
|
3139
5473
|
/**
|
|
3140
5474
|
* Fill source of the order for the token sale
|
|
3141
5475
|
*/
|
|
@@ -3156,11 +5490,6 @@ export namespace RuleUpdateParams {
|
|
|
3156
5490
|
*/
|
|
3157
5491
|
hasNeverSold?: boolean;
|
|
3158
5492
|
|
|
3159
|
-
/**
|
|
3160
|
-
* Flag indicating whether the order source is included.
|
|
3161
|
-
*/
|
|
3162
|
-
hasOrderSource?: boolean;
|
|
3163
|
-
|
|
3164
5493
|
/**
|
|
3165
5494
|
* Indicates if the full royalty has been paid for items.
|
|
3166
5495
|
*/
|
|
@@ -3181,11 +5510,21 @@ export namespace RuleUpdateParams {
|
|
|
3181
5510
|
*/
|
|
3182
5511
|
imageUrl?: string | null;
|
|
3183
5512
|
|
|
5513
|
+
/**
|
|
5514
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
5515
|
+
*/
|
|
5516
|
+
isCheckInOnEveryTxn?: boolean;
|
|
5517
|
+
|
|
3184
5518
|
/**
|
|
3185
5519
|
* Indicates if the multiplier has been applied to rewards.
|
|
3186
5520
|
*/
|
|
3187
5521
|
isMultiplierApplied?: boolean;
|
|
3188
5522
|
|
|
5523
|
+
/**
|
|
5524
|
+
* Flag indicating if the rule is restricted to new users.
|
|
5525
|
+
*/
|
|
5526
|
+
isRestrictedToNewUsers?: boolean;
|
|
5527
|
+
|
|
3189
5528
|
/**
|
|
3190
5529
|
* Flag indicating if rewards are applied retroactively.
|
|
3191
5530
|
*/
|
|
@@ -3201,6 +5540,11 @@ export namespace RuleUpdateParams {
|
|
|
3201
5540
|
*/
|
|
3202
5541
|
link?: string | null;
|
|
3203
5542
|
|
|
5543
|
+
/**
|
|
5544
|
+
* Liquidity pool details.
|
|
5545
|
+
*/
|
|
5546
|
+
liquidity?: Metadata.Liquidity;
|
|
5547
|
+
|
|
3204
5548
|
/**
|
|
3205
5549
|
* Maximum quantity constraint for token holding.
|
|
3206
5550
|
*/
|
|
@@ -3242,14 +5586,24 @@ export namespace RuleUpdateParams {
|
|
|
3242
5586
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
3243
5587
|
|
|
3244
5588
|
/**
|
|
3245
|
-
*
|
|
5589
|
+
* Promotional code associated with the rule.
|
|
3246
5590
|
*/
|
|
3247
|
-
|
|
5591
|
+
promoCode?: string;
|
|
3248
5592
|
|
|
3249
5593
|
/**
|
|
3250
|
-
*
|
|
5594
|
+
* URL of the CSV file containing promo codes.
|
|
3251
5595
|
*/
|
|
3252
|
-
|
|
5596
|
+
promoCodeCsvUrl?: string;
|
|
5597
|
+
|
|
5598
|
+
/**
|
|
5599
|
+
* Numbers of the promotional code to be generated.
|
|
5600
|
+
*/
|
|
5601
|
+
promoCodeLength?: number | null;
|
|
5602
|
+
|
|
5603
|
+
/**
|
|
5604
|
+
* Type of the promotional code.
|
|
5605
|
+
*/
|
|
5606
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
3253
5607
|
|
|
3254
5608
|
/**
|
|
3255
5609
|
* Array defining ranges and corresponding rewards.
|
|
@@ -3266,11 +5620,62 @@ export namespace RuleUpdateParams {
|
|
|
3266
5620
|
*/
|
|
3267
5621
|
referrerReward?: number | null;
|
|
3268
5622
|
|
|
5623
|
+
/**
|
|
5624
|
+
* Loyalty currency ID of the referrer reward.
|
|
5625
|
+
*/
|
|
5626
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
5627
|
+
|
|
5628
|
+
/**
|
|
5629
|
+
* Flag indicating if the post link is required.
|
|
5630
|
+
*/
|
|
5631
|
+
requirePostLink?: boolean | null;
|
|
5632
|
+
|
|
5633
|
+
/**
|
|
5634
|
+
* Flag indicating if media metadata is required.
|
|
5635
|
+
*/
|
|
5636
|
+
requirePostMediaLink?: boolean | null;
|
|
5637
|
+
|
|
5638
|
+
/**
|
|
5639
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
5640
|
+
*/
|
|
5641
|
+
rewardBadgePerRange?: boolean;
|
|
5642
|
+
|
|
5643
|
+
/**
|
|
5644
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
5645
|
+
*/
|
|
5646
|
+
rewardByBatch?: boolean | null;
|
|
5647
|
+
|
|
5648
|
+
/**
|
|
5649
|
+
* Criteria to evaluate the reward.
|
|
5650
|
+
*/
|
|
5651
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
5652
|
+
|
|
5653
|
+
/**
|
|
5654
|
+
* Flag indicating if the reward is rewarded per action.
|
|
5655
|
+
*/
|
|
5656
|
+
rewardPerAction?: boolean | null;
|
|
5657
|
+
|
|
3269
5658
|
/**
|
|
3270
5659
|
* Flag indicating if rewards are given per impression.
|
|
3271
5660
|
*/
|
|
3272
5661
|
rewardPerImpression?: boolean | null;
|
|
3273
5662
|
|
|
5663
|
+
/**
|
|
5664
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
5665
|
+
* instead of count.
|
|
5666
|
+
*/
|
|
5667
|
+
rewardPerValue?: boolean;
|
|
5668
|
+
|
|
5669
|
+
/**
|
|
5670
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
5671
|
+
*/
|
|
5672
|
+
royaltyAddress?: string;
|
|
5673
|
+
|
|
5674
|
+
/**
|
|
5675
|
+
* Royalty percentage of the item.
|
|
5676
|
+
*/
|
|
5677
|
+
royaltyPercentage?: number;
|
|
5678
|
+
|
|
3274
5679
|
/**
|
|
3275
5680
|
* Currency associated with sales.
|
|
3276
5681
|
*/
|
|
@@ -3310,6 +5715,7 @@ export namespace RuleUpdateParams {
|
|
|
3310
5715
|
| 'Twitch'
|
|
3311
5716
|
| 'X(Twitter)'
|
|
3312
5717
|
| 'YouTube'
|
|
5718
|
+
| 'Google'
|
|
3313
5719
|
| null;
|
|
3314
5720
|
|
|
3315
5721
|
/**
|
|
@@ -3322,11 +5728,21 @@ export namespace RuleUpdateParams {
|
|
|
3322
5728
|
*/
|
|
3323
5729
|
socialPlatformName?: string | null;
|
|
3324
5730
|
|
|
5731
|
+
/**
|
|
5732
|
+
* ID of the Steam app.
|
|
5733
|
+
*/
|
|
5734
|
+
steamAppId?: string | null;
|
|
5735
|
+
|
|
3325
5736
|
/**
|
|
3326
5737
|
* Array of streak milestones and corresponding rewards.
|
|
3327
5738
|
*/
|
|
3328
5739
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3329
5740
|
|
|
5741
|
+
/**
|
|
5742
|
+
* Metadata for swap loyalty rules
|
|
5743
|
+
*/
|
|
5744
|
+
swap?: Metadata.Swap;
|
|
5745
|
+
|
|
3330
5746
|
/**
|
|
3331
5747
|
* ID of the Telegram channel.
|
|
3332
5748
|
*/
|
|
@@ -3342,6 +5758,12 @@ export namespace RuleUpdateParams {
|
|
|
3342
5758
|
*/
|
|
3343
5759
|
trackAllContracts?: boolean | null;
|
|
3344
5760
|
|
|
5761
|
+
/**
|
|
5762
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
5763
|
+
* completed once the progress is 100%.
|
|
5764
|
+
*/
|
|
5765
|
+
trackProgress?: boolean | null;
|
|
5766
|
+
|
|
3345
5767
|
/**
|
|
3346
5768
|
* URL of the associated Twitter account.
|
|
3347
5769
|
*/
|
|
@@ -3385,7 +5807,27 @@ export namespace RuleUpdateParams {
|
|
|
3385
5807
|
/**
|
|
3386
5808
|
* Type of wallet associated with the rule.
|
|
3387
5809
|
*/
|
|
3388
|
-
walletType?:
|
|
5810
|
+
walletType?:
|
|
5811
|
+
| 'evm'
|
|
5812
|
+
| 'solana'
|
|
5813
|
+
| 'imx'
|
|
5814
|
+
| 'sui'
|
|
5815
|
+
| 'ton'
|
|
5816
|
+
| 'cosmos'
|
|
5817
|
+
| 'ultra'
|
|
5818
|
+
| 'agw'
|
|
5819
|
+
| 'flow_cadence'
|
|
5820
|
+
| null;
|
|
5821
|
+
|
|
5822
|
+
/**
|
|
5823
|
+
* ID of the Youtube channel.
|
|
5824
|
+
*/
|
|
5825
|
+
youtubeChannelId?: string | null;
|
|
5826
|
+
|
|
5827
|
+
/**
|
|
5828
|
+
* ID of the Youtube video.
|
|
5829
|
+
*/
|
|
5830
|
+
youtubeVideoId?: string | null;
|
|
3389
5831
|
}
|
|
3390
5832
|
|
|
3391
5833
|
export namespace Metadata {
|
|
@@ -3404,13 +5846,17 @@ export namespace RuleUpdateParams {
|
|
|
3404
5846
|
* Blockchain network of the collection.
|
|
3405
5847
|
*/
|
|
3406
5848
|
network?:
|
|
5849
|
+
| 'abstract'
|
|
5850
|
+
| 'abstractTestnet'
|
|
3407
5851
|
| 'apechain'
|
|
3408
5852
|
| 'arbitrum'
|
|
3409
5853
|
| 'avalanche'
|
|
3410
5854
|
| 'avalancheFuji'
|
|
3411
5855
|
| 'base'
|
|
3412
5856
|
| 'baseSepolia'
|
|
5857
|
+
| 'berachain'
|
|
3413
5858
|
| 'berachainArtio'
|
|
5859
|
+
| 'berachainBepolia'
|
|
3414
5860
|
| 'binance'
|
|
3415
5861
|
| 'bscTestnet'
|
|
3416
5862
|
| 'campTestnet'
|
|
@@ -3418,18 +5864,30 @@ export namespace RuleUpdateParams {
|
|
|
3418
5864
|
| 'fantomTestnet'
|
|
3419
5865
|
| 'flowMainnet'
|
|
3420
5866
|
| 'mainnet'
|
|
5867
|
+
| 'nexusTestnet'
|
|
3421
5868
|
| 'optimism'
|
|
3422
5869
|
| 'polygon'
|
|
3423
5870
|
| 'polygon_mumbai'
|
|
3424
5871
|
| 'skaleNebula'
|
|
5872
|
+
| 'skaleEuropa'
|
|
5873
|
+
| 'skaleCalypso'
|
|
3425
5874
|
| 'solana'
|
|
3426
5875
|
| 'sophon'
|
|
5876
|
+
| 'sophonTestnet'
|
|
3427
5877
|
| 'sui'
|
|
3428
5878
|
| 'superseed'
|
|
3429
5879
|
| 'superseedSepolia'
|
|
3430
5880
|
| 'vanar'
|
|
3431
5881
|
| 'xai'
|
|
3432
5882
|
| 'zksync'
|
|
5883
|
+
| 'coti'
|
|
5884
|
+
| 'cotiTestnet'
|
|
5885
|
+
| 'morph'
|
|
5886
|
+
| 'morphTestnet'
|
|
5887
|
+
| 'morphHolesky'
|
|
5888
|
+
| 'ultra'
|
|
5889
|
+
| 'ultraTestnet'
|
|
5890
|
+
| 'nitrograph'
|
|
3433
5891
|
| 'sepolia'
|
|
3434
5892
|
| 'optimism_sepolia'
|
|
3435
5893
|
| 'arbitrumSepolia'
|
|
@@ -3437,7 +5895,8 @@ export namespace RuleUpdateParams {
|
|
|
3437
5895
|
| 'optimism_goerli'
|
|
3438
5896
|
| 'arbitrumGoerli'
|
|
3439
5897
|
| 'basecamp'
|
|
3440
|
-
| '
|
|
5898
|
+
| 'somnia'
|
|
5899
|
+
| 'flow_cadence';
|
|
3441
5900
|
}
|
|
3442
5901
|
|
|
3443
5902
|
/**
|
|
@@ -3514,6 +5973,108 @@ export namespace RuleUpdateParams {
|
|
|
3514
5973
|
id: string;
|
|
3515
5974
|
}
|
|
3516
5975
|
|
|
5976
|
+
/**
|
|
5977
|
+
* Liquidity pool details.
|
|
5978
|
+
*/
|
|
5979
|
+
export interface Liquidity {
|
|
5980
|
+
/**
|
|
5981
|
+
* Calculation type of the liquidity pool.
|
|
5982
|
+
*/
|
|
5983
|
+
calculationType?: 'fixed' | 'custom';
|
|
5984
|
+
|
|
5985
|
+
/**
|
|
5986
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
5987
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
5988
|
+
* USD.
|
|
5989
|
+
*/
|
|
5990
|
+
customFunction?: string;
|
|
5991
|
+
|
|
5992
|
+
/**
|
|
5993
|
+
* Liquidity provided per day in USD
|
|
5994
|
+
*/
|
|
5995
|
+
liquidityPerDay?: number;
|
|
5996
|
+
|
|
5997
|
+
/**
|
|
5998
|
+
* Blockchain network of the liquidity pool.
|
|
5999
|
+
*/
|
|
6000
|
+
network?:
|
|
6001
|
+
| 'abstract'
|
|
6002
|
+
| 'abstractTestnet'
|
|
6003
|
+
| 'apechain'
|
|
6004
|
+
| 'arbitrum'
|
|
6005
|
+
| 'avalanche'
|
|
6006
|
+
| 'avalancheFuji'
|
|
6007
|
+
| 'base'
|
|
6008
|
+
| 'baseSepolia'
|
|
6009
|
+
| 'berachain'
|
|
6010
|
+
| 'berachainArtio'
|
|
6011
|
+
| 'berachainBepolia'
|
|
6012
|
+
| 'binance'
|
|
6013
|
+
| 'bscTestnet'
|
|
6014
|
+
| 'campTestnet'
|
|
6015
|
+
| 'fantom'
|
|
6016
|
+
| 'fantomTestnet'
|
|
6017
|
+
| 'flowMainnet'
|
|
6018
|
+
| 'mainnet'
|
|
6019
|
+
| 'nexusTestnet'
|
|
6020
|
+
| 'optimism'
|
|
6021
|
+
| 'polygon'
|
|
6022
|
+
| 'polygon_mumbai'
|
|
6023
|
+
| 'skaleNebula'
|
|
6024
|
+
| 'skaleEuropa'
|
|
6025
|
+
| 'skaleCalypso'
|
|
6026
|
+
| 'solana'
|
|
6027
|
+
| 'sophon'
|
|
6028
|
+
| 'sophonTestnet'
|
|
6029
|
+
| 'sui'
|
|
6030
|
+
| 'superseed'
|
|
6031
|
+
| 'superseedSepolia'
|
|
6032
|
+
| 'vanar'
|
|
6033
|
+
| 'xai'
|
|
6034
|
+
| 'zksync'
|
|
6035
|
+
| 'coti'
|
|
6036
|
+
| 'cotiTestnet'
|
|
6037
|
+
| 'morph'
|
|
6038
|
+
| 'morphTestnet'
|
|
6039
|
+
| 'morphHolesky'
|
|
6040
|
+
| 'ultra'
|
|
6041
|
+
| 'ultraTestnet'
|
|
6042
|
+
| 'nitrograph'
|
|
6043
|
+
| 'sepolia'
|
|
6044
|
+
| 'optimism_sepolia'
|
|
6045
|
+
| 'arbitrumSepolia'
|
|
6046
|
+
| 'goerli'
|
|
6047
|
+
| 'optimism_goerli'
|
|
6048
|
+
| 'arbitrumGoerli'
|
|
6049
|
+
| 'basecamp'
|
|
6050
|
+
| 'somnia'
|
|
6051
|
+
| 'flow_cadence';
|
|
6052
|
+
|
|
6053
|
+
/**
|
|
6054
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
6055
|
+
*/
|
|
6056
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
6057
|
+
|
|
6058
|
+
/**
|
|
6059
|
+
* Array of liquidity pools associated with the rule.
|
|
6060
|
+
*/
|
|
6061
|
+
pools?: Array<Liquidity.Pool>;
|
|
6062
|
+
|
|
6063
|
+
/**
|
|
6064
|
+
* Protocol of the liquidity pool.
|
|
6065
|
+
*/
|
|
6066
|
+
protocol?: string;
|
|
6067
|
+
}
|
|
6068
|
+
|
|
6069
|
+
export namespace Liquidity {
|
|
6070
|
+
export interface Pool {
|
|
6071
|
+
/**
|
|
6072
|
+
* Unique identifier of the liquidity pool.
|
|
6073
|
+
*/
|
|
6074
|
+
id: string;
|
|
6075
|
+
}
|
|
6076
|
+
}
|
|
6077
|
+
|
|
3517
6078
|
export interface Range {
|
|
3518
6079
|
/**
|
|
3519
6080
|
* Reward amount for this range.
|
|
@@ -3529,6 +6090,16 @@ export namespace RuleUpdateParams {
|
|
|
3529
6090
|
* Start value of the range.
|
|
3530
6091
|
*/
|
|
3531
6092
|
startRange: number;
|
|
6093
|
+
|
|
6094
|
+
/**
|
|
6095
|
+
* ID of the loyalty badge for this range.
|
|
6096
|
+
*/
|
|
6097
|
+
loyaltyBadgeId?: string;
|
|
6098
|
+
|
|
6099
|
+
/**
|
|
6100
|
+
* Amount of the loyalty multiplier for this range.
|
|
6101
|
+
*/
|
|
6102
|
+
loyaltyMultiplierAmount?: number;
|
|
3532
6103
|
}
|
|
3533
6104
|
|
|
3534
6105
|
/**
|
|
@@ -3581,20 +6152,15 @@ export namespace RuleUpdateParams {
|
|
|
3581
6152
|
* Object containing details of the associated smart contract.
|
|
3582
6153
|
*/
|
|
3583
6154
|
export interface SmartContract {
|
|
3584
|
-
/**
|
|
3585
|
-
* ABI of the smart contract.
|
|
3586
|
-
*/
|
|
3587
|
-
abi?: string | null;
|
|
3588
|
-
|
|
3589
6155
|
/**
|
|
3590
6156
|
* Mapping of addresses for the smart contract.
|
|
3591
6157
|
*/
|
|
3592
6158
|
addressMapping?: string | null;
|
|
3593
6159
|
|
|
3594
6160
|
/**
|
|
3595
|
-
*
|
|
6161
|
+
* Object containing details of the amount multiplier from the event.
|
|
3596
6162
|
*/
|
|
3597
|
-
|
|
6163
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3598
6164
|
|
|
3599
6165
|
/**
|
|
3600
6166
|
* ID of the smart contract.
|
|
@@ -3606,68 +6172,31 @@ export namespace RuleUpdateParams {
|
|
|
3606
6172
|
*/
|
|
3607
6173
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3608
6174
|
|
|
3609
|
-
/**
|
|
3610
|
-
* Time range applied to the rule.
|
|
3611
|
-
*/
|
|
3612
|
-
customRange?: SmartContract.CustomRange | null;
|
|
3613
|
-
|
|
3614
6175
|
/**
|
|
3615
6176
|
* Event emitted by the smart contract.
|
|
3616
6177
|
*/
|
|
3617
6178
|
event?: string | null;
|
|
3618
6179
|
|
|
3619
|
-
/**
|
|
3620
|
-
* Maximum value allowed for the parameter.
|
|
3621
|
-
*/
|
|
3622
|
-
max?: number | null;
|
|
3623
|
-
|
|
3624
6180
|
/**
|
|
3625
6181
|
* Array of parameters for the smart contract.
|
|
3626
6182
|
*/
|
|
3627
6183
|
params?: Array<SmartContract.Param> | null;
|
|
3628
6184
|
|
|
3629
6185
|
/**
|
|
3630
|
-
*
|
|
3631
|
-
*/
|
|
3632
|
-
withBonus?: boolean | null;
|
|
3633
|
-
|
|
3634
|
-
/**
|
|
3635
|
-
* Flag indicating if a custom range is applied.
|
|
6186
|
+
* Type of the smart contract interaction.
|
|
3636
6187
|
*/
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
/**
|
|
3640
|
-
* Flag indicating if a maximum limit is applied.
|
|
3641
|
-
*/
|
|
3642
|
-
withMax?: boolean | null;
|
|
6188
|
+
type?: 'function' | 'event' | null;
|
|
3643
6189
|
}
|
|
3644
6190
|
|
|
3645
6191
|
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
6192
|
/**
|
|
3659
|
-
*
|
|
6193
|
+
* Object containing details of the amount multiplier from the event.
|
|
3660
6194
|
*/
|
|
3661
|
-
export interface
|
|
3662
|
-
/**
|
|
3663
|
-
* End time of the custom range.
|
|
3664
|
-
*/
|
|
3665
|
-
endsAt?: string | null;
|
|
3666
|
-
|
|
6195
|
+
export interface AmountMultiplier {
|
|
3667
6196
|
/**
|
|
3668
|
-
*
|
|
6197
|
+
* Mapping of the value for the smart contract.
|
|
3669
6198
|
*/
|
|
3670
|
-
|
|
6199
|
+
valueMapping?: string | null;
|
|
3671
6200
|
}
|
|
3672
6201
|
|
|
3673
6202
|
export interface Param {
|
|
@@ -3711,17 +6240,66 @@ export namespace RuleUpdateParams {
|
|
|
3711
6240
|
*/
|
|
3712
6241
|
streakMilestone: number;
|
|
3713
6242
|
}
|
|
6243
|
+
|
|
6244
|
+
/**
|
|
6245
|
+
* Metadata for swap loyalty rules
|
|
6246
|
+
*/
|
|
6247
|
+
export interface Swap {
|
|
6248
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
6249
|
+
|
|
6250
|
+
relayReferrerId?: string;
|
|
6251
|
+
|
|
6252
|
+
requireCrossChainSwap?: boolean;
|
|
6253
|
+
|
|
6254
|
+
swappedToChain?: 'any' | number | string;
|
|
6255
|
+
|
|
6256
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
6257
|
+
|
|
6258
|
+
tokenMode?: 'any' | 'specific';
|
|
6259
|
+
|
|
6260
|
+
trackTokenAmount?: boolean;
|
|
6261
|
+
}
|
|
6262
|
+
|
|
6263
|
+
export namespace Swap {
|
|
6264
|
+
export interface SwappedToToken {
|
|
6265
|
+
address: string;
|
|
6266
|
+
|
|
6267
|
+
chainId: string;
|
|
6268
|
+
}
|
|
6269
|
+
}
|
|
3714
6270
|
}
|
|
3715
6271
|
}
|
|
3716
6272
|
|
|
3717
6273
|
export interface RuleListParams {
|
|
6274
|
+
/**
|
|
6275
|
+
* IDs of the users to filter results by
|
|
6276
|
+
*/
|
|
6277
|
+
allotedToUserId?: string | Array<string>;
|
|
6278
|
+
|
|
6279
|
+
/**
|
|
6280
|
+
* ID of the user group to filter results by
|
|
6281
|
+
*/
|
|
6282
|
+
allotedUserGroupId?: string;
|
|
6283
|
+
|
|
3718
6284
|
/**
|
|
3719
6285
|
* Address of the collection to filter by
|
|
3720
6286
|
*/
|
|
3721
6287
|
collectionAddress?: string;
|
|
3722
6288
|
|
|
3723
6289
|
/**
|
|
3724
|
-
*
|
|
6290
|
+
* If true this will only return active rules, the rules for which the startTime is
|
|
6291
|
+
* in the past and the endTime is in the future
|
|
6292
|
+
*/
|
|
6293
|
+
isActive?: 'true' | 'false';
|
|
6294
|
+
|
|
6295
|
+
/**
|
|
6296
|
+
* If true this will only return special rules, special rules are the rules that
|
|
6297
|
+
* are used for anti sybil as honey pot
|
|
6298
|
+
*/
|
|
6299
|
+
isSpecial?: 'true' | 'false';
|
|
6300
|
+
|
|
6301
|
+
/**
|
|
6302
|
+
* Maximum number of records to return (max 100)
|
|
3725
6303
|
*/
|
|
3726
6304
|
limit?: number;
|
|
3727
6305
|
|
|
@@ -3751,6 +6329,13 @@ export interface RuleListParams {
|
|
|
3751
6329
|
websiteId?: string;
|
|
3752
6330
|
}
|
|
3753
6331
|
|
|
6332
|
+
export interface RuleDeleteParams {
|
|
6333
|
+
/**
|
|
6334
|
+
* Whether to debit loyalty points
|
|
6335
|
+
*/
|
|
6336
|
+
debitLoyaltyPoints?: string;
|
|
6337
|
+
}
|
|
6338
|
+
|
|
3754
6339
|
export interface RuleCompleteParams {
|
|
3755
6340
|
/**
|
|
3756
6341
|
* Override amount for the reward (rounded to nearest whole number). This will
|
|
@@ -3759,15 +6344,25 @@ export interface RuleCompleteParams {
|
|
|
3759
6344
|
amount?: number | null;
|
|
3760
6345
|
|
|
3761
6346
|
/**
|
|
3762
|
-
* Link to the comment made by user
|
|
6347
|
+
* Link to the post/comment made by user
|
|
3763
6348
|
*/
|
|
3764
|
-
|
|
6349
|
+
contentUrl?: string;
|
|
6350
|
+
|
|
6351
|
+
/**
|
|
6352
|
+
* Unique key to ensure idempotent requests.
|
|
6353
|
+
*/
|
|
6354
|
+
idempotencyKey?: string;
|
|
3765
6355
|
|
|
3766
6356
|
/**
|
|
3767
6357
|
* ID of the choice selected by the user
|
|
3768
6358
|
*/
|
|
3769
6359
|
loyaltyQuestionChoiceId?: string;
|
|
3770
6360
|
|
|
6361
|
+
/**
|
|
6362
|
+
* Value to compare with the range
|
|
6363
|
+
*/
|
|
6364
|
+
rangeValue?: number | null;
|
|
6365
|
+
|
|
3771
6366
|
/**
|
|
3772
6367
|
* Unique identifier for the user
|
|
3773
6368
|
*/
|
|
@@ -3780,7 +6375,7 @@ export interface RuleCompleteParams {
|
|
|
3780
6375
|
|
|
3781
6376
|
/**
|
|
3782
6377
|
* Flag indicating if only verification is required, this will not create a
|
|
3783
|
-
* transaction and reward the user
|
|
6378
|
+
* transaction and reward the user.
|
|
3784
6379
|
*/
|
|
3785
6380
|
verifyOnly?: string;
|
|
3786
6381
|
|
|
@@ -3791,11 +6386,30 @@ export interface RuleCompleteParams {
|
|
|
3791
6386
|
}
|
|
3792
6387
|
|
|
3793
6388
|
export interface RuleGetStatusParams {
|
|
3794
|
-
|
|
6389
|
+
/**
|
|
6390
|
+
* Number of items to return
|
|
6391
|
+
*/
|
|
6392
|
+
limit?: number | null;
|
|
3795
6393
|
|
|
3796
|
-
|
|
6394
|
+
/**
|
|
6395
|
+
* Unique identifier for the loyalty rule[s]
|
|
6396
|
+
*/
|
|
6397
|
+
loyaltyRuleId?: string | Array<string>;
|
|
6398
|
+
|
|
6399
|
+
organizationId?: string;
|
|
6400
|
+
|
|
6401
|
+
/**
|
|
6402
|
+
* Starting after item
|
|
6403
|
+
*/
|
|
6404
|
+
startingAfter?: string;
|
|
6405
|
+
|
|
6406
|
+
userGroupId?: string;
|
|
3797
6407
|
|
|
3798
6408
|
userId?: string;
|
|
6409
|
+
|
|
6410
|
+
walletAddress?: string;
|
|
6411
|
+
|
|
6412
|
+
websiteId?: string;
|
|
3799
6413
|
}
|
|
3800
6414
|
|
|
3801
6415
|
export declare namespace Rules {
|
|
@@ -3809,6 +6423,7 @@ export declare namespace Rules {
|
|
|
3809
6423
|
type RuleCreateParams as RuleCreateParams,
|
|
3810
6424
|
type RuleUpdateParams as RuleUpdateParams,
|
|
3811
6425
|
type RuleListParams as RuleListParams,
|
|
6426
|
+
type RuleDeleteParams as RuleDeleteParams,
|
|
3812
6427
|
type RuleCompleteParams as RuleCompleteParams,
|
|
3813
6428
|
type RuleGetStatusParams as RuleGetStatusParams,
|
|
3814
6429
|
};
|