@snagsolutions/sdk 0.1.0-alpha.26 → 0.1.0-alpha.260
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 +140 -153
- package/LICENSE +1 -1
- package/README.md +15 -23
- package/core.d.ts +9 -6
- package/core.d.ts.map +1 -1
- package/core.js +36 -33
- package/core.js.map +1 -1
- package/core.mjs +36 -33
- package/core.mjs.map +1 -1
- package/index.d.mts +15 -9
- package/index.d.ts +15 -9
- package/index.d.ts.map +1 -1
- package/index.js +13 -6
- package/index.js.map +1 -1
- package/index.mjs +14 -7
- package/index.mjs.map +1 -1
- package/internal/utils/query.d.ts +2 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +33 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +6 -0
- package/internal/utils/query.mjs.map +1 -0
- 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 +341 -0
- package/resources/auctions/auctions.d.ts.map +1 -0
- package/resources/auctions/auctions.js +72 -0
- package/resources/auctions/auctions.js.map +1 -0
- package/resources/auctions/auctions.mjs +45 -0
- package/resources/auctions/auctions.mjs.map +1 -0
- package/resources/auctions/index.d.ts +3 -0
- package/resources/auctions/index.d.ts.map +1 -0
- package/resources/auctions/index.js +9 -0
- package/resources/auctions/index.js.map +1 -0
- package/resources/auctions/index.mjs +4 -0
- package/resources/auctions/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/index.d.ts +3 -0
- package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/index.js +9 -0
- package/resources/auctions/website-user-attributes/index.js.map +1 -0
- package/resources/auctions/website-user-attributes/index.mjs +4 -0
- package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/values.d.ts +126 -0
- package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/values.js +49 -0
- package/resources/auctions/website-user-attributes/values.js.map +1 -0
- package/resources/auctions/website-user-attributes/values.mjs +45 -0
- package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
- package/resources/auctions/website-user-attributes.d.ts +2 -0
- package/resources/auctions/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes.js +19 -0
- package/resources/auctions/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes.mjs +3 -0
- package/resources/auctions/website-user-attributes.mjs.map +1 -0
- package/resources/auctions.d.ts +1 -133
- package/resources/auctions.d.ts.map +1 -1
- package/resources/auctions.js +15 -22
- package/resources/auctions.js.map +1 -1
- package/resources/auctions.mjs +1 -20
- package/resources/auctions.mjs.map +1 -1
- package/resources/auth.d.ts +66 -6
- package/resources/auth.d.ts.map +1 -1
- package/resources/auth.js +6 -0
- package/resources/auth.js.map +1 -1
- package/resources/auth.mjs +6 -0
- package/resources/auth.mjs.map +1 -1
- package/resources/index.d.ts +5 -4
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +5 -3
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +4 -3
- package/resources/index.mjs.map +1 -1
- package/resources/loyalty/account-streaks.d.ts +96 -0
- package/resources/loyalty/account-streaks.d.ts.map +1 -0
- package/resources/loyalty/account-streaks.js +24 -0
- package/resources/loyalty/account-streaks.js.map +1 -0
- package/resources/loyalty/account-streaks.mjs +20 -0
- package/resources/loyalty/account-streaks.mjs.map +1 -0
- package/resources/loyalty/accounts.d.ts +60 -16
- package/resources/loyalty/accounts.d.ts.map +1 -1
- package/resources/loyalty/accounts.js +14 -0
- package/resources/loyalty/accounts.js.map +1 -1
- package/resources/loyalty/accounts.mjs +14 -0
- package/resources/loyalty/accounts.mjs.map +1 -1
- package/resources/loyalty/badges.d.ts +885 -136
- package/resources/loyalty/badges.d.ts.map +1 -1
- package/resources/loyalty/badges.js +19 -1
- package/resources/loyalty/badges.js.map +1 -1
- package/resources/loyalty/badges.mjs +19 -1
- package/resources/loyalty/badges.mjs.map +1 -1
- package/resources/loyalty/currencies.d.ts +19 -0
- package/resources/loyalty/currencies.d.ts.map +1 -1
- package/resources/loyalty/currencies.js +19 -0
- package/resources/loyalty/currencies.js.map +1 -1
- package/resources/loyalty/currencies.mjs +19 -0
- package/resources/loyalty/currencies.mjs.map +1 -1
- package/resources/loyalty/index.d.ts +3 -3
- package/resources/loyalty/index.d.ts.map +1 -1
- package/resources/loyalty/index.js +5 -5
- package/resources/loyalty/index.js.map +1 -1
- package/resources/loyalty/index.mjs +2 -2
- package/resources/loyalty/index.mjs.map +1 -1
- package/resources/loyalty/loyalty.d.ts +9 -9
- package/resources/loyalty/loyalty.d.ts.map +1 -1
- package/resources/loyalty/loyalty.js +6 -6
- package/resources/loyalty/loyalty.js.map +1 -1
- package/resources/loyalty/loyalty.mjs +6 -6
- package/resources/loyalty/loyalty.mjs.map +1 -1
- package/resources/loyalty/multipliers.d.ts +39 -2
- package/resources/loyalty/multipliers.d.ts.map +1 -1
- package/resources/loyalty/multipliers.js +23 -0
- package/resources/loyalty/multipliers.js.map +1 -1
- package/resources/loyalty/multipliers.mjs +23 -0
- package/resources/loyalty/multipliers.mjs.map +1 -1
- package/resources/loyalty/questions-responses.d.ts +55 -4
- package/resources/loyalty/questions-responses.d.ts.map +1 -1
- package/resources/loyalty/questions-responses.js +9 -0
- package/resources/loyalty/questions-responses.js.map +1 -1
- package/resources/loyalty/questions-responses.mjs +9 -0
- package/resources/loyalty/questions-responses.mjs.map +1 -1
- package/resources/loyalty/questions.d.ts +60 -6
- package/resources/loyalty/questions.d.ts.map +1 -1
- package/resources/loyalty/questions.js +39 -0
- package/resources/loyalty/questions.js.map +1 -1
- package/resources/loyalty/questions.mjs +39 -0
- package/resources/loyalty/questions.mjs.map +1 -1
- package/resources/loyalty/rule-edits.d.ts +2898 -8
- package/resources/loyalty/rule-edits.d.ts.map +1 -1
- package/resources/loyalty/rule-edits.js +14 -0
- package/resources/loyalty/rule-edits.js.map +1 -1
- package/resources/loyalty/rule-edits.mjs +14 -0
- package/resources/loyalty/rule-edits.mjs.map +1 -1
- package/resources/loyalty/rule-groups.d.ts +284 -56
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.js +18 -0
- package/resources/loyalty/rule-groups.js.map +1 -1
- package/resources/loyalty/rule-groups.mjs +18 -0
- package/resources/loyalty/rule-groups.mjs.map +1 -1
- package/resources/loyalty/rules.d.ts +2368 -346
- package/resources/loyalty/rules.d.ts.map +1 -1
- package/resources/loyalty/rules.js +40 -9
- package/resources/loyalty/rules.js.map +1 -1
- package/resources/loyalty/rules.mjs +40 -9
- package/resources/loyalty/rules.mjs.map +1 -1
- package/resources/loyalty/transactions/index.d.ts +4 -0
- package/resources/loyalty/transactions/index.d.ts.map +1 -0
- package/resources/loyalty/transactions/index.js +11 -0
- package/resources/loyalty/transactions/index.js.map +1 -0
- package/resources/loyalty/transactions/index.mjs +5 -0
- package/resources/loyalty/transactions/index.mjs.map +1 -0
- package/resources/loyalty/transactions/posts.d.ts +145 -0
- package/resources/loyalty/transactions/posts.d.ts.map +1 -0
- package/resources/loyalty/transactions/posts.js +32 -0
- package/resources/loyalty/transactions/posts.js.map +1 -0
- package/resources/loyalty/transactions/posts.mjs +28 -0
- package/resources/loyalty/transactions/posts.mjs.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts +121 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.js +30 -0
- package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
- package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
- package/resources/loyalty/transactions/transactions.d.ts +566 -0
- package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
- package/resources/loyalty/transactions/transactions.js +110 -0
- package/resources/loyalty/transactions/transactions.js.map +1 -0
- package/resources/loyalty/transactions/transactions.mjs +83 -0
- package/resources/loyalty/transactions/transactions.mjs.map +1 -0
- package/resources/loyalty/transactions.d.ts +1 -253
- package/resources/loyalty/transactions.d.ts.map +1 -1
- package/resources/loyalty/transactions.js +15 -18
- package/resources/loyalty/transactions.js.map +1 -1
- package/resources/loyalty/transactions.mjs +1 -16
- package/resources/loyalty/transactions.mjs.map +1 -1
- package/resources/minting/allowlist.d.ts +84 -0
- package/resources/minting/allowlist.d.ts.map +1 -0
- package/resources/minting/allowlist.js +42 -0
- package/resources/minting/allowlist.js.map +1 -0
- package/resources/minting/allowlist.mjs +38 -0
- package/resources/minting/allowlist.mjs.map +1 -0
- package/resources/minting/contracts.d.ts +165 -0
- package/resources/minting/contracts.d.ts.map +1 -0
- package/resources/minting/contracts.js +30 -0
- package/resources/minting/contracts.js.map +1 -0
- package/resources/minting/contracts.mjs +26 -0
- package/resources/minting/contracts.mjs.map +1 -0
- package/resources/minting/index.d.ts +5 -0
- package/resources/minting/index.d.ts.map +1 -0
- package/resources/minting/index.js +13 -0
- package/resources/minting/index.js.map +1 -0
- package/resources/minting/index.mjs +6 -0
- package/resources/minting/index.mjs.map +1 -0
- package/resources/minting/minting.d.ts +146 -0
- package/resources/minting/minting.d.ts.map +1 -0
- package/resources/minting/minting.js +79 -0
- package/resources/minting/minting.js.map +1 -0
- package/resources/minting/minting.mjs +52 -0
- package/resources/minting/minting.mjs.map +1 -0
- package/resources/minting/status.d.ts +44 -0
- package/resources/minting/status.d.ts.map +1 -0
- package/resources/minting/status.js +33 -0
- package/resources/minting/status.js.map +1 -0
- package/resources/minting/status.mjs +29 -0
- package/resources/minting/status.mjs.map +1 -0
- package/resources/minting.d.ts +1 -94
- package/resources/minting.d.ts.map +1 -1
- package/resources/minting.js +15 -11
- package/resources/minting.js.map +1 -1
- package/resources/minting.mjs +1 -9
- package/resources/minting.mjs.map +1 -1
- package/resources/referral/referral.d.ts +12 -3
- package/resources/referral/referral.d.ts.map +1 -1
- package/resources/referral/referral.js +11 -5
- package/resources/referral/referral.js.map +1 -1
- package/resources/referral/referral.mjs +11 -5
- package/resources/referral/referral.mjs.map +1 -1
- package/resources/referral/users.d.ts +30 -3
- package/resources/referral/users.d.ts.map +1 -1
- package/resources/referral/users.js +12 -4
- package/resources/referral/users.js.map +1 -1
- package/resources/referral/users.mjs +12 -4
- package/resources/referral/users.mjs.map +1 -1
- package/resources/token-claims.d.ts +162 -0
- package/resources/token-claims.d.ts.map +1 -0
- package/resources/token-claims.js +46 -0
- package/resources/token-claims.js.map +1 -0
- package/resources/token-claims.mjs +42 -0
- package/resources/token-claims.mjs.map +1 -0
- package/resources/users/index.d.ts +1 -1
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/index.js.map +1 -1
- package/resources/users/index.mjs.map +1 -1
- package/resources/users/metadatas.d.ts +40 -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 +203 -36
- package/resources/users/users.d.ts.map +1 -1
- package/resources/users/users.js +58 -1
- package/resources/users/users.js.map +1 -1
- package/resources/users/users.mjs +58 -1
- package/resources/users/users.mjs.map +1 -1
- package/resources/websites/index.d.ts +1 -1
- package/resources/websites/index.d.ts.map +1 -1
- package/resources/websites/index.js.map +1 -1
- package/resources/websites/index.mjs +1 -1
- package/resources/websites/index.mjs.map +1 -1
- package/resources/websites/website-collections.d.ts +0 -69
- package/resources/websites/website-collections.d.ts.map +1 -1
- package/resources/websites/website-collections.js +0 -16
- package/resources/websites/website-collections.js.map +1 -1
- package/resources/websites/website-collections.mjs +0 -16
- package/resources/websites/website-collections.mjs.map +1 -1
- package/resources/websites/website-user-roles.d.ts +24 -1
- package/resources/websites/website-user-roles.d.ts.map +1 -1
- package/resources/websites/website-user-roles.js +23 -0
- package/resources/websites/website-user-roles.js.map +1 -1
- package/resources/websites/website-user-roles.mjs +23 -0
- package/resources/websites/website-user-roles.mjs.map +1 -1
- package/resources/websites/websites.d.ts +21 -99
- package/resources/websites/websites.d.ts.map +1 -1
- package/resources/websites/websites.js +9 -1
- package/resources/websites/websites.js.map +1 -1
- package/resources/websites/websites.mjs +10 -2
- package/resources/websites/websites.mjs.map +1 -1
- package/src/core.ts +40 -36
- package/src/index.ts +84 -6
- package/src/internal/utils/query.ts +7 -0
- package/src/resource.ts +1 -1
- package/src/resources/assets.ts +18 -3
- package/src/resources/auctions/auctions.ts +523 -0
- package/src/resources/auctions/index.ts +19 -0
- package/src/resources/auctions/website-user-attributes/index.ts +18 -0
- package/src/resources/auctions/website-user-attributes/values.ts +170 -0
- package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
- package/src/resources/auctions/website-user-attributes.ts +3 -0
- package/src/resources/auctions.ts +1 -207
- package/src/resources/auth.ts +124 -6
- package/src/resources/index.ts +41 -3
- package/src/resources/loyalty/account-streaks.ts +128 -0
- package/src/resources/loyalty/accounts.ts +65 -18
- package/src/resources/loyalty/badges.ts +1058 -146
- package/src/resources/loyalty/currencies.ts +19 -0
- package/src/resources/loyalty/index.ts +13 -2
- package/src/resources/loyalty/loyalty.ts +30 -12
- package/src/resources/loyalty/multipliers.ts +43 -4
- package/src/resources/loyalty/questions-responses.ts +64 -4
- package/src/resources/loyalty/questions.ts +64 -6
- package/src/resources/loyalty/rule-edits.ts +4208 -94
- package/src/resources/loyalty/rule-groups.ts +473 -64
- package/src/resources/loyalty/rules.ts +3706 -403
- package/src/resources/loyalty/transactions/index.ts +29 -0
- package/src/resources/loyalty/transactions/posts.ts +221 -0
- package/src/resources/loyalty/transactions/rule-statuses.ts +179 -0
- package/src/resources/loyalty/transactions/transactions.ts +930 -0
- package/src/resources/loyalty/transactions.ts +1 -446
- package/src/resources/minting/allowlist.ts +116 -0
- package/src/resources/minting/contracts.ts +415 -0
- package/src/resources/minting/index.ts +29 -0
- package/src/resources/minting/minting.ts +285 -0
- package/src/resources/minting/status.ts +70 -0
- package/src/resources/minting.ts +1 -157
- package/src/resources/referral/referral.ts +15 -11
- package/src/resources/referral/users.ts +45 -5
- package/src/resources/token-claims.ts +311 -0
- package/src/resources/users/index.ts +4 -0
- package/src/resources/users/metadatas.ts +66 -3
- package/src/resources/users/users.ts +277 -39
- package/src/resources/websites/index.ts +1 -6
- package/src/resources/websites/website-collections.ts +1 -146
- package/src/resources/websites/website-user-roles.ts +26 -1
- package/src/resources/websites/websites.ts +22 -127
- 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
|
@@ -3,10 +3,24 @@ import * as Core from "../../core.js";
|
|
|
3
3
|
export declare class RuleEdits extends APIResource {
|
|
4
4
|
/**
|
|
5
5
|
* Retrieve configured loyalty rule edits with optional pagination and filters
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const ruleEdits = await client.loyalty.ruleEdits.list({
|
|
10
|
+
* loyaltyRuleId: true,
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
6
13
|
*/
|
|
7
14
|
list(query: RuleEditListParams, options?: Core.RequestOptions): Core.APIPromise<RuleEditListResponse>;
|
|
8
15
|
/**
|
|
9
16
|
* Restore a loyalty rule from a rule edit
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const response = await client.loyalty.ruleEdits.restore(
|
|
21
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
22
|
+
* );
|
|
23
|
+
* ```
|
|
10
24
|
*/
|
|
11
25
|
restore(id: string, body?: RuleEditRestoreParams | null | undefined, options?: Core.RequestOptions): Core.APIPromise<RuleEditRestoreResponse>;
|
|
12
26
|
}
|
|
@@ -69,7 +83,7 @@ export declare namespace RuleEditListResponse {
|
|
|
69
83
|
/**
|
|
70
84
|
* Amount associated with the loyalty rule
|
|
71
85
|
*/
|
|
72
|
-
amount: number;
|
|
86
|
+
amount: number | null;
|
|
73
87
|
/**
|
|
74
88
|
* Timestamp when the loyalty rule was created
|
|
75
89
|
*/
|
|
@@ -78,14 +92,34 @@ export declare namespace RuleEditListResponse {
|
|
|
78
92
|
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
79
93
|
*/
|
|
80
94
|
deletedAt: string | null;
|
|
95
|
+
/**
|
|
96
|
+
* Description of the loyalty rule
|
|
97
|
+
*/
|
|
98
|
+
description: string;
|
|
99
|
+
/**
|
|
100
|
+
* End time of the loyalty rule
|
|
101
|
+
*/
|
|
102
|
+
endTime: string | null;
|
|
81
103
|
/**
|
|
82
104
|
* Frequency of the loyalty rule
|
|
83
105
|
*/
|
|
84
106
|
frequency: string;
|
|
107
|
+
/**
|
|
108
|
+
* Name of the loyalty rule
|
|
109
|
+
*/
|
|
110
|
+
name: string;
|
|
85
111
|
/**
|
|
86
112
|
* Unique identifier for the organization
|
|
87
113
|
*/
|
|
88
114
|
organizationId: string;
|
|
115
|
+
/**
|
|
116
|
+
* Type of the reward
|
|
117
|
+
*/
|
|
118
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
119
|
+
/**
|
|
120
|
+
* Start time of the loyalty rule
|
|
121
|
+
*/
|
|
122
|
+
startTime: string | null;
|
|
89
123
|
/**
|
|
90
124
|
* Type of the loyalty rule
|
|
91
125
|
*/
|
|
@@ -102,10 +136,709 @@ export declare namespace RuleEditListResponse {
|
|
|
102
136
|
* Optional address of the collection
|
|
103
137
|
*/
|
|
104
138
|
collectionAddress?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Reward based on data usage within the last day, week, or month. Leave it empty
|
|
141
|
+
* for all time usage.
|
|
142
|
+
*/
|
|
143
|
+
dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
|
|
144
|
+
/**
|
|
145
|
+
* Filter dApps by deployment age before ranking.
|
|
146
|
+
*/
|
|
147
|
+
dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
|
|
148
|
+
/**
|
|
149
|
+
* URL of the media associated with the loyalty rule
|
|
150
|
+
*/
|
|
151
|
+
mediaUrl?: string | null;
|
|
105
152
|
/**
|
|
106
153
|
* Optional metadata for the loyalty rule
|
|
107
154
|
*/
|
|
108
|
-
metadata?:
|
|
155
|
+
metadata?: {
|
|
156
|
+
[key: string]: Data.Metadata;
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
namespace Data {
|
|
160
|
+
interface Metadata {
|
|
161
|
+
/**
|
|
162
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
163
|
+
* only.
|
|
164
|
+
*/
|
|
165
|
+
allowMultipleRedemptions?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
168
|
+
* any rule completions count as check-in.
|
|
169
|
+
*/
|
|
170
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
171
|
+
/**
|
|
172
|
+
* Number of tokens per batch.
|
|
173
|
+
*/
|
|
174
|
+
batchSize?: number | null;
|
|
175
|
+
/**
|
|
176
|
+
* Text displayed on the action button.
|
|
177
|
+
*/
|
|
178
|
+
buttonText?: string | null;
|
|
179
|
+
/**
|
|
180
|
+
* Flag indicating if commenting is required.
|
|
181
|
+
*/
|
|
182
|
+
checkComment?: boolean | null;
|
|
183
|
+
/**
|
|
184
|
+
* Flag indicating if liking the post is required.
|
|
185
|
+
*/
|
|
186
|
+
checkLike?: boolean | null;
|
|
187
|
+
/**
|
|
188
|
+
* Flag indicating if reposting is required.
|
|
189
|
+
*/
|
|
190
|
+
checkRepost?: boolean | null;
|
|
191
|
+
/**
|
|
192
|
+
* Text to check in the Twitter post, username, or bio.
|
|
193
|
+
*/
|
|
194
|
+
checkText?: string | Array<string> | null;
|
|
195
|
+
/**
|
|
196
|
+
* Array of collections associated with the rule.
|
|
197
|
+
*/
|
|
198
|
+
collection?: Array<Metadata.Collection>;
|
|
199
|
+
/**
|
|
200
|
+
* Conditions for completing the profile.
|
|
201
|
+
*/
|
|
202
|
+
completeProfileConditions?: {
|
|
203
|
+
[key: string]: boolean;
|
|
204
|
+
} | null;
|
|
205
|
+
/**
|
|
206
|
+
* Description of the external rule condition (only for external rules)
|
|
207
|
+
*/
|
|
208
|
+
conditionDescription?: string;
|
|
209
|
+
/**
|
|
210
|
+
* Object containing details for the call-to-action.
|
|
211
|
+
*/
|
|
212
|
+
cta?: Metadata.Cta | null;
|
|
213
|
+
/**
|
|
214
|
+
* API key for custom rewards integration.
|
|
215
|
+
*/
|
|
216
|
+
customRewardsApiKey?: string;
|
|
217
|
+
/**
|
|
218
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
219
|
+
*/
|
|
220
|
+
directRpc?: boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Array of Discord servers, channels, and roles to join.
|
|
223
|
+
*/
|
|
224
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
225
|
+
/**
|
|
226
|
+
* Array of drip quests required to complete the rule.
|
|
227
|
+
*/
|
|
228
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
229
|
+
/**
|
|
230
|
+
* Flag indicating whether joining Discord servers is required.
|
|
231
|
+
*/
|
|
232
|
+
enableJoinDiscordServers?: boolean | null;
|
|
233
|
+
/**
|
|
234
|
+
* Flag indicating whether streaks are enabled.
|
|
235
|
+
*/
|
|
236
|
+
enableStreaks?: boolean | null;
|
|
237
|
+
/**
|
|
238
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
239
|
+
*/
|
|
240
|
+
enableVerifiedMultiplier?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Type of ERC20 token for the loyalty rule.
|
|
243
|
+
*/
|
|
244
|
+
erc20Type?: 'erc20' | 'native';
|
|
245
|
+
/**
|
|
246
|
+
* Fill source of the order for the token sale
|
|
247
|
+
*/
|
|
248
|
+
fillSource?: string;
|
|
249
|
+
/**
|
|
250
|
+
* Percentage reward given to a user for their first referral.
|
|
251
|
+
*/
|
|
252
|
+
firstReferralReward?: number | null;
|
|
253
|
+
/**
|
|
254
|
+
* Name of the GitHub branch to check for PR merge.
|
|
255
|
+
*/
|
|
256
|
+
githubBranchName?: string | null;
|
|
257
|
+
/**
|
|
258
|
+
* URL of the GitHub repository to check for star.
|
|
259
|
+
*/
|
|
260
|
+
githubRepoUrl?: string | null;
|
|
261
|
+
/**
|
|
262
|
+
* Flag indicating whether the fill source is included.
|
|
263
|
+
*/
|
|
264
|
+
hasFillSource?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Indicates if the item has never been sold.
|
|
267
|
+
*/
|
|
268
|
+
hasNeverSold?: boolean;
|
|
269
|
+
/**
|
|
270
|
+
* Indicates if the full royalty has been paid for items.
|
|
271
|
+
*/
|
|
272
|
+
hasPaidFullRoyalty?: boolean;
|
|
273
|
+
/**
|
|
274
|
+
* Flag indicating if the sale currency is included.
|
|
275
|
+
*/
|
|
276
|
+
hasSaleCurrency?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Indicates if the user has a verified Twitter account.
|
|
279
|
+
*/
|
|
280
|
+
hasVerifiedTwitter?: boolean;
|
|
281
|
+
/**
|
|
282
|
+
* URL of the image associated with the rule.
|
|
283
|
+
*/
|
|
284
|
+
imageUrl?: string | null;
|
|
285
|
+
/**
|
|
286
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
287
|
+
*/
|
|
288
|
+
isCheckInOnEveryTxn?: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
291
|
+
*/
|
|
292
|
+
isMultiplierApplied?: boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Flag indicating if the rule is restricted to new users.
|
|
295
|
+
*/
|
|
296
|
+
isRestrictedToNewUsers?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Flag indicating if rewards are applied retroactively.
|
|
299
|
+
*/
|
|
300
|
+
isRetroactive?: boolean | null;
|
|
301
|
+
/**
|
|
302
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
303
|
+
*/
|
|
304
|
+
isTokenHoldMultiplier?: boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Optional link associated with the metadata.
|
|
307
|
+
*/
|
|
308
|
+
link?: string | null;
|
|
309
|
+
/**
|
|
310
|
+
* Liquidity pool details.
|
|
311
|
+
*/
|
|
312
|
+
liquidity?: Metadata.Liquidity;
|
|
313
|
+
/**
|
|
314
|
+
* Maximum quantity constraint for token holding.
|
|
315
|
+
*/
|
|
316
|
+
maxQty?: number | null;
|
|
317
|
+
/**
|
|
318
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
319
|
+
*/
|
|
320
|
+
minimumFollowerCount?: number | null;
|
|
321
|
+
/**
|
|
322
|
+
* Minimum quantity constraint for token holding.
|
|
323
|
+
*/
|
|
324
|
+
minQty?: number | null;
|
|
325
|
+
/**
|
|
326
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
327
|
+
*/
|
|
328
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
329
|
+
/**
|
|
330
|
+
* Flag indicating whether to include only known users.
|
|
331
|
+
*/
|
|
332
|
+
onlyKnownUsers?: boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Flag indicating whether to include only native tokens.
|
|
335
|
+
*/
|
|
336
|
+
onlyNative?: boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Flag indicating whether to include only non-listed items.
|
|
339
|
+
*/
|
|
340
|
+
onlyNonListed?: boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Indicates if only existing users are rewarded.
|
|
343
|
+
*/
|
|
344
|
+
onlyRewardExistingUser?: boolean;
|
|
345
|
+
/**
|
|
346
|
+
* give points for only one token ownership per contract
|
|
347
|
+
*/
|
|
348
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
349
|
+
/**
|
|
350
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
351
|
+
*/
|
|
352
|
+
preGeneratedPostText?: string | null;
|
|
353
|
+
/**
|
|
354
|
+
* Promotional code associated with the rule.
|
|
355
|
+
*/
|
|
356
|
+
promoCode?: string;
|
|
357
|
+
/**
|
|
358
|
+
* URL of the CSV file containing promo codes.
|
|
359
|
+
*/
|
|
360
|
+
promoCodeCsvUrl?: string;
|
|
361
|
+
/**
|
|
362
|
+
* Numbers of the promotional code to be generated.
|
|
363
|
+
*/
|
|
364
|
+
promoCodeLength?: number | null;
|
|
365
|
+
/**
|
|
366
|
+
* Type of the promotional code.
|
|
367
|
+
*/
|
|
368
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
369
|
+
/**
|
|
370
|
+
* Array defining ranges and corresponding rewards.
|
|
371
|
+
*/
|
|
372
|
+
range?: Array<Metadata.Range>;
|
|
373
|
+
/**
|
|
374
|
+
* ID of the Reddit post.
|
|
375
|
+
*/
|
|
376
|
+
redditPostId?: string | null;
|
|
377
|
+
/**
|
|
378
|
+
* Object defining referral requirements.
|
|
379
|
+
*/
|
|
380
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
381
|
+
/**
|
|
382
|
+
* Lump sum reward given to a referrer.
|
|
383
|
+
*/
|
|
384
|
+
referrerReward?: number | null;
|
|
385
|
+
/**
|
|
386
|
+
* Loyalty currency ID of the referrer reward.
|
|
387
|
+
*/
|
|
388
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
389
|
+
/**
|
|
390
|
+
* Flag indicating if the post link is required.
|
|
391
|
+
*/
|
|
392
|
+
requirePostLink?: boolean | null;
|
|
393
|
+
/**
|
|
394
|
+
* Flag indicating if media metadata is required.
|
|
395
|
+
*/
|
|
396
|
+
requirePostMediaLink?: boolean | null;
|
|
397
|
+
/**
|
|
398
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
399
|
+
* allowing the user to re-earn the rule.
|
|
400
|
+
*/
|
|
401
|
+
resetProgressOnClaim?: boolean | null;
|
|
402
|
+
/**
|
|
403
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
404
|
+
*/
|
|
405
|
+
rewardBadgePerRange?: boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
408
|
+
*/
|
|
409
|
+
rewardByBatch?: boolean | null;
|
|
410
|
+
/**
|
|
411
|
+
* Criteria to evaluate the reward.
|
|
412
|
+
*/
|
|
413
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
414
|
+
/**
|
|
415
|
+
* Flag indicating if the reward is rewarded per action.
|
|
416
|
+
*/
|
|
417
|
+
rewardPerAction?: boolean | null;
|
|
418
|
+
/**
|
|
419
|
+
* Flag indicating if rewards are given per impression.
|
|
420
|
+
*/
|
|
421
|
+
rewardPerImpression?: boolean | null;
|
|
422
|
+
/**
|
|
423
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
424
|
+
* instead of count.
|
|
425
|
+
*/
|
|
426
|
+
rewardPerValue?: boolean;
|
|
427
|
+
/**
|
|
428
|
+
* Flag indicating if the rule should reward quality posts.
|
|
429
|
+
*/
|
|
430
|
+
rewardQualityPosts?: boolean;
|
|
431
|
+
robinhoodSymbols?: Array<string> | null;
|
|
432
|
+
/**
|
|
433
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
434
|
+
*/
|
|
435
|
+
royaltyAddress?: string;
|
|
436
|
+
/**
|
|
437
|
+
* Royalty percentage of the item.
|
|
438
|
+
*/
|
|
439
|
+
royaltyPercentage?: number;
|
|
440
|
+
/**
|
|
441
|
+
* Currency associated with sales.
|
|
442
|
+
*/
|
|
443
|
+
saleCurrency?: string;
|
|
444
|
+
/**
|
|
445
|
+
* Percentage reward given for a second-level referral.
|
|
446
|
+
*/
|
|
447
|
+
secondReferralReward?: number | null;
|
|
448
|
+
/**
|
|
449
|
+
* Flag indicating if the multiplier is skipped.
|
|
450
|
+
*/
|
|
451
|
+
skipMultiplier?: boolean | null;
|
|
452
|
+
/**
|
|
453
|
+
* Object containing details of the associated smart contract.
|
|
454
|
+
*/
|
|
455
|
+
smartContract?: Metadata.SmartContract;
|
|
456
|
+
/**
|
|
457
|
+
* Array of snapshot proposals for the rule.
|
|
458
|
+
*/
|
|
459
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
460
|
+
/**
|
|
461
|
+
* Social media platform associated with the rule.
|
|
462
|
+
*/
|
|
463
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
|
|
464
|
+
/**
|
|
465
|
+
* URL of the social platform's logo.
|
|
466
|
+
*/
|
|
467
|
+
socialPlatformLogo?: string | null;
|
|
468
|
+
/**
|
|
469
|
+
* Name of the social platform.
|
|
470
|
+
*/
|
|
471
|
+
socialPlatformName?: string | null;
|
|
472
|
+
/**
|
|
473
|
+
* ID of the Steam app.
|
|
474
|
+
*/
|
|
475
|
+
steamAppId?: string | null;
|
|
476
|
+
/**
|
|
477
|
+
* Array of streak milestones and corresponding rewards.
|
|
478
|
+
*/
|
|
479
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
480
|
+
/**
|
|
481
|
+
* Metadata for swap loyalty rules
|
|
482
|
+
*/
|
|
483
|
+
swap?: Metadata.Swap;
|
|
484
|
+
/**
|
|
485
|
+
* ID of the Telegram channel.
|
|
486
|
+
*/
|
|
487
|
+
telegramChannelId?: string | null;
|
|
488
|
+
/**
|
|
489
|
+
* Time delay in seconds to verify actions.
|
|
490
|
+
*/
|
|
491
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
492
|
+
/**
|
|
493
|
+
* Flag indicating if all contracts are tracked.
|
|
494
|
+
*/
|
|
495
|
+
trackAllContracts?: boolean | null;
|
|
496
|
+
/**
|
|
497
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
498
|
+
* completed once the progress is 100%.
|
|
499
|
+
*/
|
|
500
|
+
trackProgress?: boolean | null;
|
|
501
|
+
/**
|
|
502
|
+
* URL of the associated Twitter account.
|
|
503
|
+
*/
|
|
504
|
+
twitterAccountUrl?: string;
|
|
505
|
+
/**
|
|
506
|
+
* Hashtag associated with the Twitter post.
|
|
507
|
+
*/
|
|
508
|
+
twitterHashtag?: string;
|
|
509
|
+
/**
|
|
510
|
+
* URL of the associated Twitter post.
|
|
511
|
+
*/
|
|
512
|
+
twitterPostUrl?: string;
|
|
513
|
+
/**
|
|
514
|
+
* Unique identifier of the Twitter user.
|
|
515
|
+
*/
|
|
516
|
+
twitterUserId?: string;
|
|
517
|
+
/**
|
|
518
|
+
* Twitter username of the user.
|
|
519
|
+
*/
|
|
520
|
+
twitterUsername?: string;
|
|
521
|
+
/**
|
|
522
|
+
* Minimum length of the verification text.
|
|
523
|
+
*/
|
|
524
|
+
verificationTextMinimumLength?: number | null;
|
|
525
|
+
/**
|
|
526
|
+
* Multiplier applied to rewards for verified users.
|
|
527
|
+
*/
|
|
528
|
+
verifiedMultiplier?: number | null;
|
|
529
|
+
/**
|
|
530
|
+
* Placeholder text for verification input fields.
|
|
531
|
+
*/
|
|
532
|
+
verifyPlaceHolderText?: string | null;
|
|
533
|
+
/**
|
|
534
|
+
* Type of wallet associated with the rule.
|
|
535
|
+
*/
|
|
536
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
|
|
537
|
+
/**
|
|
538
|
+
* ID of the Youtube channel.
|
|
539
|
+
*/
|
|
540
|
+
youtubeChannelId?: string | null;
|
|
541
|
+
/**
|
|
542
|
+
* ID of the Youtube video.
|
|
543
|
+
*/
|
|
544
|
+
youtubeVideoId?: string | null;
|
|
545
|
+
}
|
|
546
|
+
namespace Metadata {
|
|
547
|
+
interface Collection {
|
|
548
|
+
/**
|
|
549
|
+
* Blockchain address of the collection.
|
|
550
|
+
*/
|
|
551
|
+
address?: string;
|
|
552
|
+
/**
|
|
553
|
+
* Multiplier applied to the rewards for this collection.
|
|
554
|
+
*/
|
|
555
|
+
multiplier?: number;
|
|
556
|
+
/**
|
|
557
|
+
* Blockchain network of the collection.
|
|
558
|
+
*/
|
|
559
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Object containing details for the call-to-action.
|
|
563
|
+
*/
|
|
564
|
+
interface Cta {
|
|
565
|
+
/**
|
|
566
|
+
* Link for the call-to-action.
|
|
567
|
+
*/
|
|
568
|
+
href?: string | null;
|
|
569
|
+
/**
|
|
570
|
+
* Label for the call-to-action.
|
|
571
|
+
*/
|
|
572
|
+
label?: string | null;
|
|
573
|
+
}
|
|
574
|
+
interface DiscordServersToJoin {
|
|
575
|
+
/**
|
|
576
|
+
* ID of the Discord server to join.
|
|
577
|
+
*/
|
|
578
|
+
id?: string;
|
|
579
|
+
/**
|
|
580
|
+
* Array of Discord channels to join.
|
|
581
|
+
*/
|
|
582
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
583
|
+
/**
|
|
584
|
+
* Array of roles to assign in the Discord server.
|
|
585
|
+
*/
|
|
586
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
587
|
+
}
|
|
588
|
+
namespace DiscordServersToJoin {
|
|
589
|
+
interface Channel {
|
|
590
|
+
/**
|
|
591
|
+
* ID of the Discord channel.
|
|
592
|
+
*/
|
|
593
|
+
id?: string;
|
|
594
|
+
/**
|
|
595
|
+
* Array of emojis used in the channel.
|
|
596
|
+
*/
|
|
597
|
+
emojis?: Array<Channel.Emoji>;
|
|
598
|
+
/**
|
|
599
|
+
* Phrase of text to be present in the discord message
|
|
600
|
+
*/
|
|
601
|
+
text?: string;
|
|
602
|
+
}
|
|
603
|
+
namespace Channel {
|
|
604
|
+
interface Emoji {
|
|
605
|
+
/**
|
|
606
|
+
* ID of the emoji used in the channel.
|
|
607
|
+
*/
|
|
608
|
+
id?: string;
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
interface Role {
|
|
612
|
+
/**
|
|
613
|
+
* ID of the role in the Discord server.
|
|
614
|
+
*/
|
|
615
|
+
id: string;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
interface DripQuestsToComplete {
|
|
619
|
+
/**
|
|
620
|
+
* ID of the drip quest to complete.
|
|
621
|
+
*/
|
|
622
|
+
id: string;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Liquidity pool details.
|
|
626
|
+
*/
|
|
627
|
+
interface Liquidity {
|
|
628
|
+
/**
|
|
629
|
+
* Calculation type of the liquidity pool.
|
|
630
|
+
*/
|
|
631
|
+
calculationType?: 'fixed' | 'custom';
|
|
632
|
+
/**
|
|
633
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
634
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
635
|
+
* USD.
|
|
636
|
+
*/
|
|
637
|
+
customFunction?: string;
|
|
638
|
+
/**
|
|
639
|
+
* Liquidity provided per day in USD
|
|
640
|
+
*/
|
|
641
|
+
liquidityPerDay?: number;
|
|
642
|
+
/**
|
|
643
|
+
* Blockchain network of the liquidity pool.
|
|
644
|
+
*/
|
|
645
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
646
|
+
/**
|
|
647
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
648
|
+
*/
|
|
649
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
650
|
+
/**
|
|
651
|
+
* Array of liquidity pools associated with the rule.
|
|
652
|
+
*/
|
|
653
|
+
pools?: Array<Liquidity.Pool>;
|
|
654
|
+
/**
|
|
655
|
+
* Protocol of the liquidity pool.
|
|
656
|
+
*/
|
|
657
|
+
protocol?: string;
|
|
658
|
+
}
|
|
659
|
+
namespace Liquidity {
|
|
660
|
+
interface Pool {
|
|
661
|
+
/**
|
|
662
|
+
* Unique identifier of the liquidity pool.
|
|
663
|
+
*/
|
|
664
|
+
id: string;
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
interface Range {
|
|
668
|
+
/**
|
|
669
|
+
* Reward amount for this range.
|
|
670
|
+
*/
|
|
671
|
+
amount: number;
|
|
672
|
+
/**
|
|
673
|
+
* End value of the range.
|
|
674
|
+
*/
|
|
675
|
+
endRange: number;
|
|
676
|
+
/**
|
|
677
|
+
* Start value of the range.
|
|
678
|
+
*/
|
|
679
|
+
startRange: number;
|
|
680
|
+
/**
|
|
681
|
+
* ID of the loyalty badge for this range.
|
|
682
|
+
*/
|
|
683
|
+
loyaltyBadgeId?: string;
|
|
684
|
+
/**
|
|
685
|
+
* Amount of the loyalty multiplier for this range.
|
|
686
|
+
*/
|
|
687
|
+
loyaltyMultiplierAmount?: number;
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* Object defining referral requirements.
|
|
691
|
+
*/
|
|
692
|
+
interface ReferralRequirements {
|
|
693
|
+
/**
|
|
694
|
+
* Flag indicating if achieving points is required.
|
|
695
|
+
*/
|
|
696
|
+
achievePoints?: boolean | null;
|
|
697
|
+
/**
|
|
698
|
+
* Flag indicating if completing the profile is required.
|
|
699
|
+
*/
|
|
700
|
+
completeProfile?: boolean | null;
|
|
701
|
+
/**
|
|
702
|
+
* Flag indicating if connecting Discord is required.
|
|
703
|
+
*/
|
|
704
|
+
connectDiscord?: boolean | null;
|
|
705
|
+
/**
|
|
706
|
+
* Flag indicating if connecting email is required.
|
|
707
|
+
*/
|
|
708
|
+
connectEmail?: boolean | null;
|
|
709
|
+
/**
|
|
710
|
+
* Flag indicating if connecting Twitter is required.
|
|
711
|
+
*/
|
|
712
|
+
connectTwitter?: boolean | null;
|
|
713
|
+
points?: ReferralRequirements.Points | null;
|
|
714
|
+
}
|
|
715
|
+
namespace ReferralRequirements {
|
|
716
|
+
interface Points {
|
|
717
|
+
/**
|
|
718
|
+
* Points required for referral.
|
|
719
|
+
*/
|
|
720
|
+
amount?: number | null;
|
|
721
|
+
/**
|
|
722
|
+
* ID of the loyalty currency for referral.
|
|
723
|
+
*/
|
|
724
|
+
loyaltyCurrecyId?: string | null;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Object containing details of the associated smart contract.
|
|
729
|
+
*/
|
|
730
|
+
interface SmartContract {
|
|
731
|
+
/**
|
|
732
|
+
* Mapping of addresses for the smart contract.
|
|
733
|
+
*/
|
|
734
|
+
addressMapping?: string | null;
|
|
735
|
+
/**
|
|
736
|
+
* Object containing details of the amount multiplier from the event.
|
|
737
|
+
*/
|
|
738
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
739
|
+
/**
|
|
740
|
+
* ID of the smart contract.
|
|
741
|
+
*/
|
|
742
|
+
contractId?: string | null;
|
|
743
|
+
/**
|
|
744
|
+
* Criteria to evaluate the smart contract event.
|
|
745
|
+
*/
|
|
746
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
747
|
+
/**
|
|
748
|
+
* Event emitted by the smart contract.
|
|
749
|
+
*/
|
|
750
|
+
event?: string | null;
|
|
751
|
+
/**
|
|
752
|
+
* Array of parameters for the smart contract.
|
|
753
|
+
*/
|
|
754
|
+
params?: Array<SmartContract.Param> | null;
|
|
755
|
+
/**
|
|
756
|
+
* Type of the smart contract interaction.
|
|
757
|
+
*/
|
|
758
|
+
type?: 'function' | 'event' | null;
|
|
759
|
+
}
|
|
760
|
+
namespace SmartContract {
|
|
761
|
+
/**
|
|
762
|
+
* Object containing details of the amount multiplier from the event.
|
|
763
|
+
*/
|
|
764
|
+
interface AmountMultiplier {
|
|
765
|
+
/**
|
|
766
|
+
* Mapping of the value for the smart contract.
|
|
767
|
+
*/
|
|
768
|
+
valueMapping?: string | null;
|
|
769
|
+
}
|
|
770
|
+
interface Param {
|
|
771
|
+
/**
|
|
772
|
+
* Condition to check for the parameter.
|
|
773
|
+
*/
|
|
774
|
+
condition?: string | null;
|
|
775
|
+
/**
|
|
776
|
+
* Name of the smart contract parameter.
|
|
777
|
+
*/
|
|
778
|
+
name?: string | null;
|
|
779
|
+
/**
|
|
780
|
+
* Value of the parameter.
|
|
781
|
+
*/
|
|
782
|
+
value?: string | null;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
interface SnapshotProposal {
|
|
786
|
+
/**
|
|
787
|
+
* ID of the snapshot proposal.
|
|
788
|
+
*/
|
|
789
|
+
id: string;
|
|
790
|
+
/**
|
|
791
|
+
* Space associated with the snapshot proposal.
|
|
792
|
+
*/
|
|
793
|
+
space: string;
|
|
794
|
+
}
|
|
795
|
+
interface StreakArray {
|
|
796
|
+
/**
|
|
797
|
+
* Reward amount for achieving the streak milestone.
|
|
798
|
+
*/
|
|
799
|
+
streakAmount: number;
|
|
800
|
+
/**
|
|
801
|
+
* Milestone required to achieve the streak.
|
|
802
|
+
*/
|
|
803
|
+
streakMilestone: number;
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* Metadata for swap loyalty rules
|
|
807
|
+
*/
|
|
808
|
+
interface Swap {
|
|
809
|
+
from?: Swap.From;
|
|
810
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
811
|
+
relayReferrerId?: string;
|
|
812
|
+
requireCrossChainSwap?: boolean;
|
|
813
|
+
to?: Swap.To;
|
|
814
|
+
}
|
|
815
|
+
namespace Swap {
|
|
816
|
+
interface From {
|
|
817
|
+
chain?: 'any' | number | string;
|
|
818
|
+
mode?: 'any' | 'specific';
|
|
819
|
+
tokens?: Array<From.Token>;
|
|
820
|
+
trackAmount?: boolean;
|
|
821
|
+
}
|
|
822
|
+
namespace From {
|
|
823
|
+
interface Token {
|
|
824
|
+
address: string;
|
|
825
|
+
chainId: string;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
interface To {
|
|
829
|
+
chain?: 'any' | number | string;
|
|
830
|
+
mode?: 'any' | 'specific';
|
|
831
|
+
tokens?: Array<To.Token>;
|
|
832
|
+
trackAmount?: boolean;
|
|
833
|
+
}
|
|
834
|
+
namespace To {
|
|
835
|
+
interface Token {
|
|
836
|
+
address: string;
|
|
837
|
+
chainId: string;
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
}
|
|
109
842
|
}
|
|
110
843
|
/**
|
|
111
844
|
* Previous data of the rule before the edit
|
|
@@ -118,7 +851,7 @@ export declare namespace RuleEditListResponse {
|
|
|
118
851
|
/**
|
|
119
852
|
* Amount associated with the loyalty rule
|
|
120
853
|
*/
|
|
121
|
-
amount: number;
|
|
854
|
+
amount: number | null;
|
|
122
855
|
/**
|
|
123
856
|
* Timestamp when the loyalty rule was created
|
|
124
857
|
*/
|
|
@@ -127,14 +860,34 @@ export declare namespace RuleEditListResponse {
|
|
|
127
860
|
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
128
861
|
*/
|
|
129
862
|
deletedAt: string | null;
|
|
863
|
+
/**
|
|
864
|
+
* Description of the loyalty rule
|
|
865
|
+
*/
|
|
866
|
+
description: string;
|
|
867
|
+
/**
|
|
868
|
+
* End time of the loyalty rule
|
|
869
|
+
*/
|
|
870
|
+
endTime: string | null;
|
|
130
871
|
/**
|
|
131
872
|
* Frequency of the loyalty rule
|
|
132
873
|
*/
|
|
133
874
|
frequency: string;
|
|
875
|
+
/**
|
|
876
|
+
* Name of the loyalty rule
|
|
877
|
+
*/
|
|
878
|
+
name: string;
|
|
134
879
|
/**
|
|
135
880
|
* Unique identifier for the organization
|
|
136
881
|
*/
|
|
137
882
|
organizationId: string;
|
|
883
|
+
/**
|
|
884
|
+
* Type of the reward
|
|
885
|
+
*/
|
|
886
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
887
|
+
/**
|
|
888
|
+
* Start time of the loyalty rule
|
|
889
|
+
*/
|
|
890
|
+
startTime: string | null;
|
|
138
891
|
/**
|
|
139
892
|
* Type of the loyalty rule
|
|
140
893
|
*/
|
|
@@ -151,10 +904,709 @@ export declare namespace RuleEditListResponse {
|
|
|
151
904
|
* Optional address of the collection
|
|
152
905
|
*/
|
|
153
906
|
collectionAddress?: string;
|
|
907
|
+
/**
|
|
908
|
+
* Reward based on data usage within the last day, week, or month. Leave it empty
|
|
909
|
+
* for all time usage.
|
|
910
|
+
*/
|
|
911
|
+
dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
|
|
912
|
+
/**
|
|
913
|
+
* Filter dApps by deployment age before ranking.
|
|
914
|
+
*/
|
|
915
|
+
dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
|
|
916
|
+
/**
|
|
917
|
+
* URL of the media associated with the loyalty rule
|
|
918
|
+
*/
|
|
919
|
+
mediaUrl?: string | null;
|
|
154
920
|
/**
|
|
155
921
|
* Optional metadata for the loyalty rule
|
|
156
922
|
*/
|
|
157
|
-
metadata?:
|
|
923
|
+
metadata?: {
|
|
924
|
+
[key: string]: PreviousData.Metadata;
|
|
925
|
+
};
|
|
926
|
+
}
|
|
927
|
+
namespace PreviousData {
|
|
928
|
+
interface Metadata {
|
|
929
|
+
/**
|
|
930
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
931
|
+
* only.
|
|
932
|
+
*/
|
|
933
|
+
allowMultipleRedemptions?: boolean;
|
|
934
|
+
/**
|
|
935
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
936
|
+
* any rule completions count as check-in.
|
|
937
|
+
*/
|
|
938
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
939
|
+
/**
|
|
940
|
+
* Number of tokens per batch.
|
|
941
|
+
*/
|
|
942
|
+
batchSize?: number | null;
|
|
943
|
+
/**
|
|
944
|
+
* Text displayed on the action button.
|
|
945
|
+
*/
|
|
946
|
+
buttonText?: string | null;
|
|
947
|
+
/**
|
|
948
|
+
* Flag indicating if commenting is required.
|
|
949
|
+
*/
|
|
950
|
+
checkComment?: boolean | null;
|
|
951
|
+
/**
|
|
952
|
+
* Flag indicating if liking the post is required.
|
|
953
|
+
*/
|
|
954
|
+
checkLike?: boolean | null;
|
|
955
|
+
/**
|
|
956
|
+
* Flag indicating if reposting is required.
|
|
957
|
+
*/
|
|
958
|
+
checkRepost?: boolean | null;
|
|
959
|
+
/**
|
|
960
|
+
* Text to check in the Twitter post, username, or bio.
|
|
961
|
+
*/
|
|
962
|
+
checkText?: string | Array<string> | null;
|
|
963
|
+
/**
|
|
964
|
+
* Array of collections associated with the rule.
|
|
965
|
+
*/
|
|
966
|
+
collection?: Array<Metadata.Collection>;
|
|
967
|
+
/**
|
|
968
|
+
* Conditions for completing the profile.
|
|
969
|
+
*/
|
|
970
|
+
completeProfileConditions?: {
|
|
971
|
+
[key: string]: boolean;
|
|
972
|
+
} | null;
|
|
973
|
+
/**
|
|
974
|
+
* Description of the external rule condition (only for external rules)
|
|
975
|
+
*/
|
|
976
|
+
conditionDescription?: string;
|
|
977
|
+
/**
|
|
978
|
+
* Object containing details for the call-to-action.
|
|
979
|
+
*/
|
|
980
|
+
cta?: Metadata.Cta | null;
|
|
981
|
+
/**
|
|
982
|
+
* API key for custom rewards integration.
|
|
983
|
+
*/
|
|
984
|
+
customRewardsApiKey?: string;
|
|
985
|
+
/**
|
|
986
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
987
|
+
*/
|
|
988
|
+
directRpc?: boolean;
|
|
989
|
+
/**
|
|
990
|
+
* Array of Discord servers, channels, and roles to join.
|
|
991
|
+
*/
|
|
992
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
993
|
+
/**
|
|
994
|
+
* Array of drip quests required to complete the rule.
|
|
995
|
+
*/
|
|
996
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
997
|
+
/**
|
|
998
|
+
* Flag indicating whether joining Discord servers is required.
|
|
999
|
+
*/
|
|
1000
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* Flag indicating whether streaks are enabled.
|
|
1003
|
+
*/
|
|
1004
|
+
enableStreaks?: boolean | null;
|
|
1005
|
+
/**
|
|
1006
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1007
|
+
*/
|
|
1008
|
+
enableVerifiedMultiplier?: boolean;
|
|
1009
|
+
/**
|
|
1010
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1011
|
+
*/
|
|
1012
|
+
erc20Type?: 'erc20' | 'native';
|
|
1013
|
+
/**
|
|
1014
|
+
* Fill source of the order for the token sale
|
|
1015
|
+
*/
|
|
1016
|
+
fillSource?: string;
|
|
1017
|
+
/**
|
|
1018
|
+
* Percentage reward given to a user for their first referral.
|
|
1019
|
+
*/
|
|
1020
|
+
firstReferralReward?: number | null;
|
|
1021
|
+
/**
|
|
1022
|
+
* Name of the GitHub branch to check for PR merge.
|
|
1023
|
+
*/
|
|
1024
|
+
githubBranchName?: string | null;
|
|
1025
|
+
/**
|
|
1026
|
+
* URL of the GitHub repository to check for star.
|
|
1027
|
+
*/
|
|
1028
|
+
githubRepoUrl?: string | null;
|
|
1029
|
+
/**
|
|
1030
|
+
* Flag indicating whether the fill source is included.
|
|
1031
|
+
*/
|
|
1032
|
+
hasFillSource?: boolean;
|
|
1033
|
+
/**
|
|
1034
|
+
* Indicates if the item has never been sold.
|
|
1035
|
+
*/
|
|
1036
|
+
hasNeverSold?: boolean;
|
|
1037
|
+
/**
|
|
1038
|
+
* Indicates if the full royalty has been paid for items.
|
|
1039
|
+
*/
|
|
1040
|
+
hasPaidFullRoyalty?: boolean;
|
|
1041
|
+
/**
|
|
1042
|
+
* Flag indicating if the sale currency is included.
|
|
1043
|
+
*/
|
|
1044
|
+
hasSaleCurrency?: boolean;
|
|
1045
|
+
/**
|
|
1046
|
+
* Indicates if the user has a verified Twitter account.
|
|
1047
|
+
*/
|
|
1048
|
+
hasVerifiedTwitter?: boolean;
|
|
1049
|
+
/**
|
|
1050
|
+
* URL of the image associated with the rule.
|
|
1051
|
+
*/
|
|
1052
|
+
imageUrl?: string | null;
|
|
1053
|
+
/**
|
|
1054
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1055
|
+
*/
|
|
1056
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1057
|
+
/**
|
|
1058
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1059
|
+
*/
|
|
1060
|
+
isMultiplierApplied?: boolean;
|
|
1061
|
+
/**
|
|
1062
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1063
|
+
*/
|
|
1064
|
+
isRestrictedToNewUsers?: boolean;
|
|
1065
|
+
/**
|
|
1066
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1067
|
+
*/
|
|
1068
|
+
isRetroactive?: boolean | null;
|
|
1069
|
+
/**
|
|
1070
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1071
|
+
*/
|
|
1072
|
+
isTokenHoldMultiplier?: boolean;
|
|
1073
|
+
/**
|
|
1074
|
+
* Optional link associated with the metadata.
|
|
1075
|
+
*/
|
|
1076
|
+
link?: string | null;
|
|
1077
|
+
/**
|
|
1078
|
+
* Liquidity pool details.
|
|
1079
|
+
*/
|
|
1080
|
+
liquidity?: Metadata.Liquidity;
|
|
1081
|
+
/**
|
|
1082
|
+
* Maximum quantity constraint for token holding.
|
|
1083
|
+
*/
|
|
1084
|
+
maxQty?: number | null;
|
|
1085
|
+
/**
|
|
1086
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
1087
|
+
*/
|
|
1088
|
+
minimumFollowerCount?: number | null;
|
|
1089
|
+
/**
|
|
1090
|
+
* Minimum quantity constraint for token holding.
|
|
1091
|
+
*/
|
|
1092
|
+
minQty?: number | null;
|
|
1093
|
+
/**
|
|
1094
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1095
|
+
*/
|
|
1096
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1097
|
+
/**
|
|
1098
|
+
* Flag indicating whether to include only known users.
|
|
1099
|
+
*/
|
|
1100
|
+
onlyKnownUsers?: boolean;
|
|
1101
|
+
/**
|
|
1102
|
+
* Flag indicating whether to include only native tokens.
|
|
1103
|
+
*/
|
|
1104
|
+
onlyNative?: boolean;
|
|
1105
|
+
/**
|
|
1106
|
+
* Flag indicating whether to include only non-listed items.
|
|
1107
|
+
*/
|
|
1108
|
+
onlyNonListed?: boolean;
|
|
1109
|
+
/**
|
|
1110
|
+
* Indicates if only existing users are rewarded.
|
|
1111
|
+
*/
|
|
1112
|
+
onlyRewardExistingUser?: boolean;
|
|
1113
|
+
/**
|
|
1114
|
+
* give points for only one token ownership per contract
|
|
1115
|
+
*/
|
|
1116
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1117
|
+
/**
|
|
1118
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
1119
|
+
*/
|
|
1120
|
+
preGeneratedPostText?: string | null;
|
|
1121
|
+
/**
|
|
1122
|
+
* Promotional code associated with the rule.
|
|
1123
|
+
*/
|
|
1124
|
+
promoCode?: string;
|
|
1125
|
+
/**
|
|
1126
|
+
* URL of the CSV file containing promo codes.
|
|
1127
|
+
*/
|
|
1128
|
+
promoCodeCsvUrl?: string;
|
|
1129
|
+
/**
|
|
1130
|
+
* Numbers of the promotional code to be generated.
|
|
1131
|
+
*/
|
|
1132
|
+
promoCodeLength?: number | null;
|
|
1133
|
+
/**
|
|
1134
|
+
* Type of the promotional code.
|
|
1135
|
+
*/
|
|
1136
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1137
|
+
/**
|
|
1138
|
+
* Array defining ranges and corresponding rewards.
|
|
1139
|
+
*/
|
|
1140
|
+
range?: Array<Metadata.Range>;
|
|
1141
|
+
/**
|
|
1142
|
+
* ID of the Reddit post.
|
|
1143
|
+
*/
|
|
1144
|
+
redditPostId?: string | null;
|
|
1145
|
+
/**
|
|
1146
|
+
* Object defining referral requirements.
|
|
1147
|
+
*/
|
|
1148
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1149
|
+
/**
|
|
1150
|
+
* Lump sum reward given to a referrer.
|
|
1151
|
+
*/
|
|
1152
|
+
referrerReward?: number | null;
|
|
1153
|
+
/**
|
|
1154
|
+
* Loyalty currency ID of the referrer reward.
|
|
1155
|
+
*/
|
|
1156
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1157
|
+
/**
|
|
1158
|
+
* Flag indicating if the post link is required.
|
|
1159
|
+
*/
|
|
1160
|
+
requirePostLink?: boolean | null;
|
|
1161
|
+
/**
|
|
1162
|
+
* Flag indicating if media metadata is required.
|
|
1163
|
+
*/
|
|
1164
|
+
requirePostMediaLink?: boolean | null;
|
|
1165
|
+
/**
|
|
1166
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
1167
|
+
* allowing the user to re-earn the rule.
|
|
1168
|
+
*/
|
|
1169
|
+
resetProgressOnClaim?: boolean | null;
|
|
1170
|
+
/**
|
|
1171
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1172
|
+
*/
|
|
1173
|
+
rewardBadgePerRange?: boolean;
|
|
1174
|
+
/**
|
|
1175
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1176
|
+
*/
|
|
1177
|
+
rewardByBatch?: boolean | null;
|
|
1178
|
+
/**
|
|
1179
|
+
* Criteria to evaluate the reward.
|
|
1180
|
+
*/
|
|
1181
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1182
|
+
/**
|
|
1183
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1184
|
+
*/
|
|
1185
|
+
rewardPerAction?: boolean | null;
|
|
1186
|
+
/**
|
|
1187
|
+
* Flag indicating if rewards are given per impression.
|
|
1188
|
+
*/
|
|
1189
|
+
rewardPerImpression?: boolean | null;
|
|
1190
|
+
/**
|
|
1191
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
1192
|
+
* instead of count.
|
|
1193
|
+
*/
|
|
1194
|
+
rewardPerValue?: boolean;
|
|
1195
|
+
/**
|
|
1196
|
+
* Flag indicating if the rule should reward quality posts.
|
|
1197
|
+
*/
|
|
1198
|
+
rewardQualityPosts?: boolean;
|
|
1199
|
+
robinhoodSymbols?: Array<string> | null;
|
|
1200
|
+
/**
|
|
1201
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
1202
|
+
*/
|
|
1203
|
+
royaltyAddress?: string;
|
|
1204
|
+
/**
|
|
1205
|
+
* Royalty percentage of the item.
|
|
1206
|
+
*/
|
|
1207
|
+
royaltyPercentage?: number;
|
|
1208
|
+
/**
|
|
1209
|
+
* Currency associated with sales.
|
|
1210
|
+
*/
|
|
1211
|
+
saleCurrency?: string;
|
|
1212
|
+
/**
|
|
1213
|
+
* Percentage reward given for a second-level referral.
|
|
1214
|
+
*/
|
|
1215
|
+
secondReferralReward?: number | null;
|
|
1216
|
+
/**
|
|
1217
|
+
* Flag indicating if the multiplier is skipped.
|
|
1218
|
+
*/
|
|
1219
|
+
skipMultiplier?: boolean | null;
|
|
1220
|
+
/**
|
|
1221
|
+
* Object containing details of the associated smart contract.
|
|
1222
|
+
*/
|
|
1223
|
+
smartContract?: Metadata.SmartContract;
|
|
1224
|
+
/**
|
|
1225
|
+
* Array of snapshot proposals for the rule.
|
|
1226
|
+
*/
|
|
1227
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
1228
|
+
/**
|
|
1229
|
+
* Social media platform associated with the rule.
|
|
1230
|
+
*/
|
|
1231
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
|
|
1232
|
+
/**
|
|
1233
|
+
* URL of the social platform's logo.
|
|
1234
|
+
*/
|
|
1235
|
+
socialPlatformLogo?: string | null;
|
|
1236
|
+
/**
|
|
1237
|
+
* Name of the social platform.
|
|
1238
|
+
*/
|
|
1239
|
+
socialPlatformName?: string | null;
|
|
1240
|
+
/**
|
|
1241
|
+
* ID of the Steam app.
|
|
1242
|
+
*/
|
|
1243
|
+
steamAppId?: string | null;
|
|
1244
|
+
/**
|
|
1245
|
+
* Array of streak milestones and corresponding rewards.
|
|
1246
|
+
*/
|
|
1247
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1248
|
+
/**
|
|
1249
|
+
* Metadata for swap loyalty rules
|
|
1250
|
+
*/
|
|
1251
|
+
swap?: Metadata.Swap;
|
|
1252
|
+
/**
|
|
1253
|
+
* ID of the Telegram channel.
|
|
1254
|
+
*/
|
|
1255
|
+
telegramChannelId?: string | null;
|
|
1256
|
+
/**
|
|
1257
|
+
* Time delay in seconds to verify actions.
|
|
1258
|
+
*/
|
|
1259
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
1260
|
+
/**
|
|
1261
|
+
* Flag indicating if all contracts are tracked.
|
|
1262
|
+
*/
|
|
1263
|
+
trackAllContracts?: boolean | null;
|
|
1264
|
+
/**
|
|
1265
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
1266
|
+
* completed once the progress is 100%.
|
|
1267
|
+
*/
|
|
1268
|
+
trackProgress?: boolean | null;
|
|
1269
|
+
/**
|
|
1270
|
+
* URL of the associated Twitter account.
|
|
1271
|
+
*/
|
|
1272
|
+
twitterAccountUrl?: string;
|
|
1273
|
+
/**
|
|
1274
|
+
* Hashtag associated with the Twitter post.
|
|
1275
|
+
*/
|
|
1276
|
+
twitterHashtag?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* URL of the associated Twitter post.
|
|
1279
|
+
*/
|
|
1280
|
+
twitterPostUrl?: string;
|
|
1281
|
+
/**
|
|
1282
|
+
* Unique identifier of the Twitter user.
|
|
1283
|
+
*/
|
|
1284
|
+
twitterUserId?: string;
|
|
1285
|
+
/**
|
|
1286
|
+
* Twitter username of the user.
|
|
1287
|
+
*/
|
|
1288
|
+
twitterUsername?: string;
|
|
1289
|
+
/**
|
|
1290
|
+
* Minimum length of the verification text.
|
|
1291
|
+
*/
|
|
1292
|
+
verificationTextMinimumLength?: number | null;
|
|
1293
|
+
/**
|
|
1294
|
+
* Multiplier applied to rewards for verified users.
|
|
1295
|
+
*/
|
|
1296
|
+
verifiedMultiplier?: number | null;
|
|
1297
|
+
/**
|
|
1298
|
+
* Placeholder text for verification input fields.
|
|
1299
|
+
*/
|
|
1300
|
+
verifyPlaceHolderText?: string | null;
|
|
1301
|
+
/**
|
|
1302
|
+
* Type of wallet associated with the rule.
|
|
1303
|
+
*/
|
|
1304
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
|
|
1305
|
+
/**
|
|
1306
|
+
* ID of the Youtube channel.
|
|
1307
|
+
*/
|
|
1308
|
+
youtubeChannelId?: string | null;
|
|
1309
|
+
/**
|
|
1310
|
+
* ID of the Youtube video.
|
|
1311
|
+
*/
|
|
1312
|
+
youtubeVideoId?: string | null;
|
|
1313
|
+
}
|
|
1314
|
+
namespace Metadata {
|
|
1315
|
+
interface Collection {
|
|
1316
|
+
/**
|
|
1317
|
+
* Blockchain address of the collection.
|
|
1318
|
+
*/
|
|
1319
|
+
address?: string;
|
|
1320
|
+
/**
|
|
1321
|
+
* Multiplier applied to the rewards for this collection.
|
|
1322
|
+
*/
|
|
1323
|
+
multiplier?: number;
|
|
1324
|
+
/**
|
|
1325
|
+
* Blockchain network of the collection.
|
|
1326
|
+
*/
|
|
1327
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
1328
|
+
}
|
|
1329
|
+
/**
|
|
1330
|
+
* Object containing details for the call-to-action.
|
|
1331
|
+
*/
|
|
1332
|
+
interface Cta {
|
|
1333
|
+
/**
|
|
1334
|
+
* Link for the call-to-action.
|
|
1335
|
+
*/
|
|
1336
|
+
href?: string | null;
|
|
1337
|
+
/**
|
|
1338
|
+
* Label for the call-to-action.
|
|
1339
|
+
*/
|
|
1340
|
+
label?: string | null;
|
|
1341
|
+
}
|
|
1342
|
+
interface DiscordServersToJoin {
|
|
1343
|
+
/**
|
|
1344
|
+
* ID of the Discord server to join.
|
|
1345
|
+
*/
|
|
1346
|
+
id?: string;
|
|
1347
|
+
/**
|
|
1348
|
+
* Array of Discord channels to join.
|
|
1349
|
+
*/
|
|
1350
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
1351
|
+
/**
|
|
1352
|
+
* Array of roles to assign in the Discord server.
|
|
1353
|
+
*/
|
|
1354
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
1355
|
+
}
|
|
1356
|
+
namespace DiscordServersToJoin {
|
|
1357
|
+
interface Channel {
|
|
1358
|
+
/**
|
|
1359
|
+
* ID of the Discord channel.
|
|
1360
|
+
*/
|
|
1361
|
+
id?: string;
|
|
1362
|
+
/**
|
|
1363
|
+
* Array of emojis used in the channel.
|
|
1364
|
+
*/
|
|
1365
|
+
emojis?: Array<Channel.Emoji>;
|
|
1366
|
+
/**
|
|
1367
|
+
* Phrase of text to be present in the discord message
|
|
1368
|
+
*/
|
|
1369
|
+
text?: string;
|
|
1370
|
+
}
|
|
1371
|
+
namespace Channel {
|
|
1372
|
+
interface Emoji {
|
|
1373
|
+
/**
|
|
1374
|
+
* ID of the emoji used in the channel.
|
|
1375
|
+
*/
|
|
1376
|
+
id?: string;
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
interface Role {
|
|
1380
|
+
/**
|
|
1381
|
+
* ID of the role in the Discord server.
|
|
1382
|
+
*/
|
|
1383
|
+
id: string;
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
interface DripQuestsToComplete {
|
|
1387
|
+
/**
|
|
1388
|
+
* ID of the drip quest to complete.
|
|
1389
|
+
*/
|
|
1390
|
+
id: string;
|
|
1391
|
+
}
|
|
1392
|
+
/**
|
|
1393
|
+
* Liquidity pool details.
|
|
1394
|
+
*/
|
|
1395
|
+
interface Liquidity {
|
|
1396
|
+
/**
|
|
1397
|
+
* Calculation type of the liquidity pool.
|
|
1398
|
+
*/
|
|
1399
|
+
calculationType?: 'fixed' | 'custom';
|
|
1400
|
+
/**
|
|
1401
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
1402
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
1403
|
+
* USD.
|
|
1404
|
+
*/
|
|
1405
|
+
customFunction?: string;
|
|
1406
|
+
/**
|
|
1407
|
+
* Liquidity provided per day in USD
|
|
1408
|
+
*/
|
|
1409
|
+
liquidityPerDay?: number;
|
|
1410
|
+
/**
|
|
1411
|
+
* Blockchain network of the liquidity pool.
|
|
1412
|
+
*/
|
|
1413
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
1414
|
+
/**
|
|
1415
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
1416
|
+
*/
|
|
1417
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
1418
|
+
/**
|
|
1419
|
+
* Array of liquidity pools associated with the rule.
|
|
1420
|
+
*/
|
|
1421
|
+
pools?: Array<Liquidity.Pool>;
|
|
1422
|
+
/**
|
|
1423
|
+
* Protocol of the liquidity pool.
|
|
1424
|
+
*/
|
|
1425
|
+
protocol?: string;
|
|
1426
|
+
}
|
|
1427
|
+
namespace Liquidity {
|
|
1428
|
+
interface Pool {
|
|
1429
|
+
/**
|
|
1430
|
+
* Unique identifier of the liquidity pool.
|
|
1431
|
+
*/
|
|
1432
|
+
id: string;
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1435
|
+
interface Range {
|
|
1436
|
+
/**
|
|
1437
|
+
* Reward amount for this range.
|
|
1438
|
+
*/
|
|
1439
|
+
amount: number;
|
|
1440
|
+
/**
|
|
1441
|
+
* End value of the range.
|
|
1442
|
+
*/
|
|
1443
|
+
endRange: number;
|
|
1444
|
+
/**
|
|
1445
|
+
* Start value of the range.
|
|
1446
|
+
*/
|
|
1447
|
+
startRange: number;
|
|
1448
|
+
/**
|
|
1449
|
+
* ID of the loyalty badge for this range.
|
|
1450
|
+
*/
|
|
1451
|
+
loyaltyBadgeId?: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* Amount of the loyalty multiplier for this range.
|
|
1454
|
+
*/
|
|
1455
|
+
loyaltyMultiplierAmount?: number;
|
|
1456
|
+
}
|
|
1457
|
+
/**
|
|
1458
|
+
* Object defining referral requirements.
|
|
1459
|
+
*/
|
|
1460
|
+
interface ReferralRequirements {
|
|
1461
|
+
/**
|
|
1462
|
+
* Flag indicating if achieving points is required.
|
|
1463
|
+
*/
|
|
1464
|
+
achievePoints?: boolean | null;
|
|
1465
|
+
/**
|
|
1466
|
+
* Flag indicating if completing the profile is required.
|
|
1467
|
+
*/
|
|
1468
|
+
completeProfile?: boolean | null;
|
|
1469
|
+
/**
|
|
1470
|
+
* Flag indicating if connecting Discord is required.
|
|
1471
|
+
*/
|
|
1472
|
+
connectDiscord?: boolean | null;
|
|
1473
|
+
/**
|
|
1474
|
+
* Flag indicating if connecting email is required.
|
|
1475
|
+
*/
|
|
1476
|
+
connectEmail?: boolean | null;
|
|
1477
|
+
/**
|
|
1478
|
+
* Flag indicating if connecting Twitter is required.
|
|
1479
|
+
*/
|
|
1480
|
+
connectTwitter?: boolean | null;
|
|
1481
|
+
points?: ReferralRequirements.Points | null;
|
|
1482
|
+
}
|
|
1483
|
+
namespace ReferralRequirements {
|
|
1484
|
+
interface Points {
|
|
1485
|
+
/**
|
|
1486
|
+
* Points required for referral.
|
|
1487
|
+
*/
|
|
1488
|
+
amount?: number | null;
|
|
1489
|
+
/**
|
|
1490
|
+
* ID of the loyalty currency for referral.
|
|
1491
|
+
*/
|
|
1492
|
+
loyaltyCurrecyId?: string | null;
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
/**
|
|
1496
|
+
* Object containing details of the associated smart contract.
|
|
1497
|
+
*/
|
|
1498
|
+
interface SmartContract {
|
|
1499
|
+
/**
|
|
1500
|
+
* Mapping of addresses for the smart contract.
|
|
1501
|
+
*/
|
|
1502
|
+
addressMapping?: string | null;
|
|
1503
|
+
/**
|
|
1504
|
+
* Object containing details of the amount multiplier from the event.
|
|
1505
|
+
*/
|
|
1506
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1507
|
+
/**
|
|
1508
|
+
* ID of the smart contract.
|
|
1509
|
+
*/
|
|
1510
|
+
contractId?: string | null;
|
|
1511
|
+
/**
|
|
1512
|
+
* Criteria to evaluate the smart contract event.
|
|
1513
|
+
*/
|
|
1514
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1515
|
+
/**
|
|
1516
|
+
* Event emitted by the smart contract.
|
|
1517
|
+
*/
|
|
1518
|
+
event?: string | null;
|
|
1519
|
+
/**
|
|
1520
|
+
* Array of parameters for the smart contract.
|
|
1521
|
+
*/
|
|
1522
|
+
params?: Array<SmartContract.Param> | null;
|
|
1523
|
+
/**
|
|
1524
|
+
* Type of the smart contract interaction.
|
|
1525
|
+
*/
|
|
1526
|
+
type?: 'function' | 'event' | null;
|
|
1527
|
+
}
|
|
1528
|
+
namespace SmartContract {
|
|
1529
|
+
/**
|
|
1530
|
+
* Object containing details of the amount multiplier from the event.
|
|
1531
|
+
*/
|
|
1532
|
+
interface AmountMultiplier {
|
|
1533
|
+
/**
|
|
1534
|
+
* Mapping of the value for the smart contract.
|
|
1535
|
+
*/
|
|
1536
|
+
valueMapping?: string | null;
|
|
1537
|
+
}
|
|
1538
|
+
interface Param {
|
|
1539
|
+
/**
|
|
1540
|
+
* Condition to check for the parameter.
|
|
1541
|
+
*/
|
|
1542
|
+
condition?: string | null;
|
|
1543
|
+
/**
|
|
1544
|
+
* Name of the smart contract parameter.
|
|
1545
|
+
*/
|
|
1546
|
+
name?: string | null;
|
|
1547
|
+
/**
|
|
1548
|
+
* Value of the parameter.
|
|
1549
|
+
*/
|
|
1550
|
+
value?: string | null;
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
interface SnapshotProposal {
|
|
1554
|
+
/**
|
|
1555
|
+
* ID of the snapshot proposal.
|
|
1556
|
+
*/
|
|
1557
|
+
id: string;
|
|
1558
|
+
/**
|
|
1559
|
+
* Space associated with the snapshot proposal.
|
|
1560
|
+
*/
|
|
1561
|
+
space: string;
|
|
1562
|
+
}
|
|
1563
|
+
interface StreakArray {
|
|
1564
|
+
/**
|
|
1565
|
+
* Reward amount for achieving the streak milestone.
|
|
1566
|
+
*/
|
|
1567
|
+
streakAmount: number;
|
|
1568
|
+
/**
|
|
1569
|
+
* Milestone required to achieve the streak.
|
|
1570
|
+
*/
|
|
1571
|
+
streakMilestone: number;
|
|
1572
|
+
}
|
|
1573
|
+
/**
|
|
1574
|
+
* Metadata for swap loyalty rules
|
|
1575
|
+
*/
|
|
1576
|
+
interface Swap {
|
|
1577
|
+
from?: Swap.From;
|
|
1578
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1579
|
+
relayReferrerId?: string;
|
|
1580
|
+
requireCrossChainSwap?: boolean;
|
|
1581
|
+
to?: Swap.To;
|
|
1582
|
+
}
|
|
1583
|
+
namespace Swap {
|
|
1584
|
+
interface From {
|
|
1585
|
+
chain?: 'any' | number | string;
|
|
1586
|
+
mode?: 'any' | 'specific';
|
|
1587
|
+
tokens?: Array<From.Token>;
|
|
1588
|
+
trackAmount?: boolean;
|
|
1589
|
+
}
|
|
1590
|
+
namespace From {
|
|
1591
|
+
interface Token {
|
|
1592
|
+
address: string;
|
|
1593
|
+
chainId: string;
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
interface To {
|
|
1597
|
+
chain?: 'any' | number | string;
|
|
1598
|
+
mode?: 'any' | 'specific';
|
|
1599
|
+
tokens?: Array<To.Token>;
|
|
1600
|
+
trackAmount?: boolean;
|
|
1601
|
+
}
|
|
1602
|
+
namespace To {
|
|
1603
|
+
interface Token {
|
|
1604
|
+
address: string;
|
|
1605
|
+
chainId: string;
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
}
|
|
158
1610
|
}
|
|
159
1611
|
}
|
|
160
1612
|
}
|
|
@@ -212,7 +1664,7 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
212
1664
|
/**
|
|
213
1665
|
* Amount associated with the loyalty rule
|
|
214
1666
|
*/
|
|
215
|
-
amount: number;
|
|
1667
|
+
amount: number | null;
|
|
216
1668
|
/**
|
|
217
1669
|
* Timestamp when the loyalty rule was created
|
|
218
1670
|
*/
|
|
@@ -221,14 +1673,34 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
221
1673
|
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
222
1674
|
*/
|
|
223
1675
|
deletedAt: string | null;
|
|
1676
|
+
/**
|
|
1677
|
+
* Description of the loyalty rule
|
|
1678
|
+
*/
|
|
1679
|
+
description: string;
|
|
1680
|
+
/**
|
|
1681
|
+
* End time of the loyalty rule
|
|
1682
|
+
*/
|
|
1683
|
+
endTime: string | null;
|
|
224
1684
|
/**
|
|
225
1685
|
* Frequency of the loyalty rule
|
|
226
1686
|
*/
|
|
227
1687
|
frequency: string;
|
|
1688
|
+
/**
|
|
1689
|
+
* Name of the loyalty rule
|
|
1690
|
+
*/
|
|
1691
|
+
name: string;
|
|
228
1692
|
/**
|
|
229
1693
|
* Unique identifier for the organization
|
|
230
1694
|
*/
|
|
231
1695
|
organizationId: string;
|
|
1696
|
+
/**
|
|
1697
|
+
* Type of the reward
|
|
1698
|
+
*/
|
|
1699
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
1700
|
+
/**
|
|
1701
|
+
* Start time of the loyalty rule
|
|
1702
|
+
*/
|
|
1703
|
+
startTime: string | null;
|
|
232
1704
|
/**
|
|
233
1705
|
* Type of the loyalty rule
|
|
234
1706
|
*/
|
|
@@ -245,10 +1717,709 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
245
1717
|
* Optional address of the collection
|
|
246
1718
|
*/
|
|
247
1719
|
collectionAddress?: string;
|
|
1720
|
+
/**
|
|
1721
|
+
* Reward based on data usage within the last day, week, or month. Leave it empty
|
|
1722
|
+
* for all time usage.
|
|
1723
|
+
*/
|
|
1724
|
+
dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
|
|
1725
|
+
/**
|
|
1726
|
+
* Filter dApps by deployment age before ranking.
|
|
1727
|
+
*/
|
|
1728
|
+
dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
|
|
1729
|
+
/**
|
|
1730
|
+
* URL of the media associated with the loyalty rule
|
|
1731
|
+
*/
|
|
1732
|
+
mediaUrl?: string | null;
|
|
248
1733
|
/**
|
|
249
1734
|
* Optional metadata for the loyalty rule
|
|
250
1735
|
*/
|
|
251
|
-
metadata?:
|
|
1736
|
+
metadata?: {
|
|
1737
|
+
[key: string]: Data.Metadata;
|
|
1738
|
+
};
|
|
1739
|
+
}
|
|
1740
|
+
namespace Data {
|
|
1741
|
+
interface Metadata {
|
|
1742
|
+
/**
|
|
1743
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
1744
|
+
* only.
|
|
1745
|
+
*/
|
|
1746
|
+
allowMultipleRedemptions?: boolean;
|
|
1747
|
+
/**
|
|
1748
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
1749
|
+
* any rule completions count as check-in.
|
|
1750
|
+
*/
|
|
1751
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
1752
|
+
/**
|
|
1753
|
+
* Number of tokens per batch.
|
|
1754
|
+
*/
|
|
1755
|
+
batchSize?: number | null;
|
|
1756
|
+
/**
|
|
1757
|
+
* Text displayed on the action button.
|
|
1758
|
+
*/
|
|
1759
|
+
buttonText?: string | null;
|
|
1760
|
+
/**
|
|
1761
|
+
* Flag indicating if commenting is required.
|
|
1762
|
+
*/
|
|
1763
|
+
checkComment?: boolean | null;
|
|
1764
|
+
/**
|
|
1765
|
+
* Flag indicating if liking the post is required.
|
|
1766
|
+
*/
|
|
1767
|
+
checkLike?: boolean | null;
|
|
1768
|
+
/**
|
|
1769
|
+
* Flag indicating if reposting is required.
|
|
1770
|
+
*/
|
|
1771
|
+
checkRepost?: boolean | null;
|
|
1772
|
+
/**
|
|
1773
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1774
|
+
*/
|
|
1775
|
+
checkText?: string | Array<string> | null;
|
|
1776
|
+
/**
|
|
1777
|
+
* Array of collections associated with the rule.
|
|
1778
|
+
*/
|
|
1779
|
+
collection?: Array<Metadata.Collection>;
|
|
1780
|
+
/**
|
|
1781
|
+
* Conditions for completing the profile.
|
|
1782
|
+
*/
|
|
1783
|
+
completeProfileConditions?: {
|
|
1784
|
+
[key: string]: boolean;
|
|
1785
|
+
} | null;
|
|
1786
|
+
/**
|
|
1787
|
+
* Description of the external rule condition (only for external rules)
|
|
1788
|
+
*/
|
|
1789
|
+
conditionDescription?: string;
|
|
1790
|
+
/**
|
|
1791
|
+
* Object containing details for the call-to-action.
|
|
1792
|
+
*/
|
|
1793
|
+
cta?: Metadata.Cta | null;
|
|
1794
|
+
/**
|
|
1795
|
+
* API key for custom rewards integration.
|
|
1796
|
+
*/
|
|
1797
|
+
customRewardsApiKey?: string;
|
|
1798
|
+
/**
|
|
1799
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1800
|
+
*/
|
|
1801
|
+
directRpc?: boolean;
|
|
1802
|
+
/**
|
|
1803
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1804
|
+
*/
|
|
1805
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
1806
|
+
/**
|
|
1807
|
+
* Array of drip quests required to complete the rule.
|
|
1808
|
+
*/
|
|
1809
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
1810
|
+
/**
|
|
1811
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1812
|
+
*/
|
|
1813
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1814
|
+
/**
|
|
1815
|
+
* Flag indicating whether streaks are enabled.
|
|
1816
|
+
*/
|
|
1817
|
+
enableStreaks?: boolean | null;
|
|
1818
|
+
/**
|
|
1819
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1820
|
+
*/
|
|
1821
|
+
enableVerifiedMultiplier?: boolean;
|
|
1822
|
+
/**
|
|
1823
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1824
|
+
*/
|
|
1825
|
+
erc20Type?: 'erc20' | 'native';
|
|
1826
|
+
/**
|
|
1827
|
+
* Fill source of the order for the token sale
|
|
1828
|
+
*/
|
|
1829
|
+
fillSource?: string;
|
|
1830
|
+
/**
|
|
1831
|
+
* Percentage reward given to a user for their first referral.
|
|
1832
|
+
*/
|
|
1833
|
+
firstReferralReward?: number | null;
|
|
1834
|
+
/**
|
|
1835
|
+
* Name of the GitHub branch to check for PR merge.
|
|
1836
|
+
*/
|
|
1837
|
+
githubBranchName?: string | null;
|
|
1838
|
+
/**
|
|
1839
|
+
* URL of the GitHub repository to check for star.
|
|
1840
|
+
*/
|
|
1841
|
+
githubRepoUrl?: string | null;
|
|
1842
|
+
/**
|
|
1843
|
+
* Flag indicating whether the fill source is included.
|
|
1844
|
+
*/
|
|
1845
|
+
hasFillSource?: boolean;
|
|
1846
|
+
/**
|
|
1847
|
+
* Indicates if the item has never been sold.
|
|
1848
|
+
*/
|
|
1849
|
+
hasNeverSold?: boolean;
|
|
1850
|
+
/**
|
|
1851
|
+
* Indicates if the full royalty has been paid for items.
|
|
1852
|
+
*/
|
|
1853
|
+
hasPaidFullRoyalty?: boolean;
|
|
1854
|
+
/**
|
|
1855
|
+
* Flag indicating if the sale currency is included.
|
|
1856
|
+
*/
|
|
1857
|
+
hasSaleCurrency?: boolean;
|
|
1858
|
+
/**
|
|
1859
|
+
* Indicates if the user has a verified Twitter account.
|
|
1860
|
+
*/
|
|
1861
|
+
hasVerifiedTwitter?: boolean;
|
|
1862
|
+
/**
|
|
1863
|
+
* URL of the image associated with the rule.
|
|
1864
|
+
*/
|
|
1865
|
+
imageUrl?: string | null;
|
|
1866
|
+
/**
|
|
1867
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1868
|
+
*/
|
|
1869
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1870
|
+
/**
|
|
1871
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1872
|
+
*/
|
|
1873
|
+
isMultiplierApplied?: boolean;
|
|
1874
|
+
/**
|
|
1875
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1876
|
+
*/
|
|
1877
|
+
isRestrictedToNewUsers?: boolean;
|
|
1878
|
+
/**
|
|
1879
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1880
|
+
*/
|
|
1881
|
+
isRetroactive?: boolean | null;
|
|
1882
|
+
/**
|
|
1883
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1884
|
+
*/
|
|
1885
|
+
isTokenHoldMultiplier?: boolean;
|
|
1886
|
+
/**
|
|
1887
|
+
* Optional link associated with the metadata.
|
|
1888
|
+
*/
|
|
1889
|
+
link?: string | null;
|
|
1890
|
+
/**
|
|
1891
|
+
* Liquidity pool details.
|
|
1892
|
+
*/
|
|
1893
|
+
liquidity?: Metadata.Liquidity;
|
|
1894
|
+
/**
|
|
1895
|
+
* Maximum quantity constraint for token holding.
|
|
1896
|
+
*/
|
|
1897
|
+
maxQty?: number | null;
|
|
1898
|
+
/**
|
|
1899
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
1900
|
+
*/
|
|
1901
|
+
minimumFollowerCount?: number | null;
|
|
1902
|
+
/**
|
|
1903
|
+
* Minimum quantity constraint for token holding.
|
|
1904
|
+
*/
|
|
1905
|
+
minQty?: number | null;
|
|
1906
|
+
/**
|
|
1907
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1908
|
+
*/
|
|
1909
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1910
|
+
/**
|
|
1911
|
+
* Flag indicating whether to include only known users.
|
|
1912
|
+
*/
|
|
1913
|
+
onlyKnownUsers?: boolean;
|
|
1914
|
+
/**
|
|
1915
|
+
* Flag indicating whether to include only native tokens.
|
|
1916
|
+
*/
|
|
1917
|
+
onlyNative?: boolean;
|
|
1918
|
+
/**
|
|
1919
|
+
* Flag indicating whether to include only non-listed items.
|
|
1920
|
+
*/
|
|
1921
|
+
onlyNonListed?: boolean;
|
|
1922
|
+
/**
|
|
1923
|
+
* Indicates if only existing users are rewarded.
|
|
1924
|
+
*/
|
|
1925
|
+
onlyRewardExistingUser?: boolean;
|
|
1926
|
+
/**
|
|
1927
|
+
* give points for only one token ownership per contract
|
|
1928
|
+
*/
|
|
1929
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1930
|
+
/**
|
|
1931
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
1932
|
+
*/
|
|
1933
|
+
preGeneratedPostText?: string | null;
|
|
1934
|
+
/**
|
|
1935
|
+
* Promotional code associated with the rule.
|
|
1936
|
+
*/
|
|
1937
|
+
promoCode?: string;
|
|
1938
|
+
/**
|
|
1939
|
+
* URL of the CSV file containing promo codes.
|
|
1940
|
+
*/
|
|
1941
|
+
promoCodeCsvUrl?: string;
|
|
1942
|
+
/**
|
|
1943
|
+
* Numbers of the promotional code to be generated.
|
|
1944
|
+
*/
|
|
1945
|
+
promoCodeLength?: number | null;
|
|
1946
|
+
/**
|
|
1947
|
+
* Type of the promotional code.
|
|
1948
|
+
*/
|
|
1949
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1950
|
+
/**
|
|
1951
|
+
* Array defining ranges and corresponding rewards.
|
|
1952
|
+
*/
|
|
1953
|
+
range?: Array<Metadata.Range>;
|
|
1954
|
+
/**
|
|
1955
|
+
* ID of the Reddit post.
|
|
1956
|
+
*/
|
|
1957
|
+
redditPostId?: string | null;
|
|
1958
|
+
/**
|
|
1959
|
+
* Object defining referral requirements.
|
|
1960
|
+
*/
|
|
1961
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1962
|
+
/**
|
|
1963
|
+
* Lump sum reward given to a referrer.
|
|
1964
|
+
*/
|
|
1965
|
+
referrerReward?: number | null;
|
|
1966
|
+
/**
|
|
1967
|
+
* Loyalty currency ID of the referrer reward.
|
|
1968
|
+
*/
|
|
1969
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1970
|
+
/**
|
|
1971
|
+
* Flag indicating if the post link is required.
|
|
1972
|
+
*/
|
|
1973
|
+
requirePostLink?: boolean | null;
|
|
1974
|
+
/**
|
|
1975
|
+
* Flag indicating if media metadata is required.
|
|
1976
|
+
*/
|
|
1977
|
+
requirePostMediaLink?: boolean | null;
|
|
1978
|
+
/**
|
|
1979
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
1980
|
+
* allowing the user to re-earn the rule.
|
|
1981
|
+
*/
|
|
1982
|
+
resetProgressOnClaim?: boolean | null;
|
|
1983
|
+
/**
|
|
1984
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1985
|
+
*/
|
|
1986
|
+
rewardBadgePerRange?: boolean;
|
|
1987
|
+
/**
|
|
1988
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1989
|
+
*/
|
|
1990
|
+
rewardByBatch?: boolean | null;
|
|
1991
|
+
/**
|
|
1992
|
+
* Criteria to evaluate the reward.
|
|
1993
|
+
*/
|
|
1994
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1995
|
+
/**
|
|
1996
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1997
|
+
*/
|
|
1998
|
+
rewardPerAction?: boolean | null;
|
|
1999
|
+
/**
|
|
2000
|
+
* Flag indicating if rewards are given per impression.
|
|
2001
|
+
*/
|
|
2002
|
+
rewardPerImpression?: boolean | null;
|
|
2003
|
+
/**
|
|
2004
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
2005
|
+
* instead of count.
|
|
2006
|
+
*/
|
|
2007
|
+
rewardPerValue?: boolean;
|
|
2008
|
+
/**
|
|
2009
|
+
* Flag indicating if the rule should reward quality posts.
|
|
2010
|
+
*/
|
|
2011
|
+
rewardQualityPosts?: boolean;
|
|
2012
|
+
robinhoodSymbols?: Array<string> | null;
|
|
2013
|
+
/**
|
|
2014
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2015
|
+
*/
|
|
2016
|
+
royaltyAddress?: string;
|
|
2017
|
+
/**
|
|
2018
|
+
* Royalty percentage of the item.
|
|
2019
|
+
*/
|
|
2020
|
+
royaltyPercentage?: number;
|
|
2021
|
+
/**
|
|
2022
|
+
* Currency associated with sales.
|
|
2023
|
+
*/
|
|
2024
|
+
saleCurrency?: string;
|
|
2025
|
+
/**
|
|
2026
|
+
* Percentage reward given for a second-level referral.
|
|
2027
|
+
*/
|
|
2028
|
+
secondReferralReward?: number | null;
|
|
2029
|
+
/**
|
|
2030
|
+
* Flag indicating if the multiplier is skipped.
|
|
2031
|
+
*/
|
|
2032
|
+
skipMultiplier?: boolean | null;
|
|
2033
|
+
/**
|
|
2034
|
+
* Object containing details of the associated smart contract.
|
|
2035
|
+
*/
|
|
2036
|
+
smartContract?: Metadata.SmartContract;
|
|
2037
|
+
/**
|
|
2038
|
+
* Array of snapshot proposals for the rule.
|
|
2039
|
+
*/
|
|
2040
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2041
|
+
/**
|
|
2042
|
+
* Social media platform associated with the rule.
|
|
2043
|
+
*/
|
|
2044
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
|
|
2045
|
+
/**
|
|
2046
|
+
* URL of the social platform's logo.
|
|
2047
|
+
*/
|
|
2048
|
+
socialPlatformLogo?: string | null;
|
|
2049
|
+
/**
|
|
2050
|
+
* Name of the social platform.
|
|
2051
|
+
*/
|
|
2052
|
+
socialPlatformName?: string | null;
|
|
2053
|
+
/**
|
|
2054
|
+
* ID of the Steam app.
|
|
2055
|
+
*/
|
|
2056
|
+
steamAppId?: string | null;
|
|
2057
|
+
/**
|
|
2058
|
+
* Array of streak milestones and corresponding rewards.
|
|
2059
|
+
*/
|
|
2060
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2061
|
+
/**
|
|
2062
|
+
* Metadata for swap loyalty rules
|
|
2063
|
+
*/
|
|
2064
|
+
swap?: Metadata.Swap;
|
|
2065
|
+
/**
|
|
2066
|
+
* ID of the Telegram channel.
|
|
2067
|
+
*/
|
|
2068
|
+
telegramChannelId?: string | null;
|
|
2069
|
+
/**
|
|
2070
|
+
* Time delay in seconds to verify actions.
|
|
2071
|
+
*/
|
|
2072
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2073
|
+
/**
|
|
2074
|
+
* Flag indicating if all contracts are tracked.
|
|
2075
|
+
*/
|
|
2076
|
+
trackAllContracts?: boolean | null;
|
|
2077
|
+
/**
|
|
2078
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2079
|
+
* completed once the progress is 100%.
|
|
2080
|
+
*/
|
|
2081
|
+
trackProgress?: boolean | null;
|
|
2082
|
+
/**
|
|
2083
|
+
* URL of the associated Twitter account.
|
|
2084
|
+
*/
|
|
2085
|
+
twitterAccountUrl?: string;
|
|
2086
|
+
/**
|
|
2087
|
+
* Hashtag associated with the Twitter post.
|
|
2088
|
+
*/
|
|
2089
|
+
twitterHashtag?: string;
|
|
2090
|
+
/**
|
|
2091
|
+
* URL of the associated Twitter post.
|
|
2092
|
+
*/
|
|
2093
|
+
twitterPostUrl?: string;
|
|
2094
|
+
/**
|
|
2095
|
+
* Unique identifier of the Twitter user.
|
|
2096
|
+
*/
|
|
2097
|
+
twitterUserId?: string;
|
|
2098
|
+
/**
|
|
2099
|
+
* Twitter username of the user.
|
|
2100
|
+
*/
|
|
2101
|
+
twitterUsername?: string;
|
|
2102
|
+
/**
|
|
2103
|
+
* Minimum length of the verification text.
|
|
2104
|
+
*/
|
|
2105
|
+
verificationTextMinimumLength?: number | null;
|
|
2106
|
+
/**
|
|
2107
|
+
* Multiplier applied to rewards for verified users.
|
|
2108
|
+
*/
|
|
2109
|
+
verifiedMultiplier?: number | null;
|
|
2110
|
+
/**
|
|
2111
|
+
* Placeholder text for verification input fields.
|
|
2112
|
+
*/
|
|
2113
|
+
verifyPlaceHolderText?: string | null;
|
|
2114
|
+
/**
|
|
2115
|
+
* Type of wallet associated with the rule.
|
|
2116
|
+
*/
|
|
2117
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
|
|
2118
|
+
/**
|
|
2119
|
+
* ID of the Youtube channel.
|
|
2120
|
+
*/
|
|
2121
|
+
youtubeChannelId?: string | null;
|
|
2122
|
+
/**
|
|
2123
|
+
* ID of the Youtube video.
|
|
2124
|
+
*/
|
|
2125
|
+
youtubeVideoId?: string | null;
|
|
2126
|
+
}
|
|
2127
|
+
namespace Metadata {
|
|
2128
|
+
interface Collection {
|
|
2129
|
+
/**
|
|
2130
|
+
* Blockchain address of the collection.
|
|
2131
|
+
*/
|
|
2132
|
+
address?: string;
|
|
2133
|
+
/**
|
|
2134
|
+
* Multiplier applied to the rewards for this collection.
|
|
2135
|
+
*/
|
|
2136
|
+
multiplier?: number;
|
|
2137
|
+
/**
|
|
2138
|
+
* Blockchain network of the collection.
|
|
2139
|
+
*/
|
|
2140
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
2141
|
+
}
|
|
2142
|
+
/**
|
|
2143
|
+
* Object containing details for the call-to-action.
|
|
2144
|
+
*/
|
|
2145
|
+
interface Cta {
|
|
2146
|
+
/**
|
|
2147
|
+
* Link for the call-to-action.
|
|
2148
|
+
*/
|
|
2149
|
+
href?: string | null;
|
|
2150
|
+
/**
|
|
2151
|
+
* Label for the call-to-action.
|
|
2152
|
+
*/
|
|
2153
|
+
label?: string | null;
|
|
2154
|
+
}
|
|
2155
|
+
interface DiscordServersToJoin {
|
|
2156
|
+
/**
|
|
2157
|
+
* ID of the Discord server to join.
|
|
2158
|
+
*/
|
|
2159
|
+
id?: string;
|
|
2160
|
+
/**
|
|
2161
|
+
* Array of Discord channels to join.
|
|
2162
|
+
*/
|
|
2163
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2164
|
+
/**
|
|
2165
|
+
* Array of roles to assign in the Discord server.
|
|
2166
|
+
*/
|
|
2167
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2168
|
+
}
|
|
2169
|
+
namespace DiscordServersToJoin {
|
|
2170
|
+
interface Channel {
|
|
2171
|
+
/**
|
|
2172
|
+
* ID of the Discord channel.
|
|
2173
|
+
*/
|
|
2174
|
+
id?: string;
|
|
2175
|
+
/**
|
|
2176
|
+
* Array of emojis used in the channel.
|
|
2177
|
+
*/
|
|
2178
|
+
emojis?: Array<Channel.Emoji>;
|
|
2179
|
+
/**
|
|
2180
|
+
* Phrase of text to be present in the discord message
|
|
2181
|
+
*/
|
|
2182
|
+
text?: string;
|
|
2183
|
+
}
|
|
2184
|
+
namespace Channel {
|
|
2185
|
+
interface Emoji {
|
|
2186
|
+
/**
|
|
2187
|
+
* ID of the emoji used in the channel.
|
|
2188
|
+
*/
|
|
2189
|
+
id?: string;
|
|
2190
|
+
}
|
|
2191
|
+
}
|
|
2192
|
+
interface Role {
|
|
2193
|
+
/**
|
|
2194
|
+
* ID of the role in the Discord server.
|
|
2195
|
+
*/
|
|
2196
|
+
id: string;
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
interface DripQuestsToComplete {
|
|
2200
|
+
/**
|
|
2201
|
+
* ID of the drip quest to complete.
|
|
2202
|
+
*/
|
|
2203
|
+
id: string;
|
|
2204
|
+
}
|
|
2205
|
+
/**
|
|
2206
|
+
* Liquidity pool details.
|
|
2207
|
+
*/
|
|
2208
|
+
interface Liquidity {
|
|
2209
|
+
/**
|
|
2210
|
+
* Calculation type of the liquidity pool.
|
|
2211
|
+
*/
|
|
2212
|
+
calculationType?: 'fixed' | 'custom';
|
|
2213
|
+
/**
|
|
2214
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
2215
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
2216
|
+
* USD.
|
|
2217
|
+
*/
|
|
2218
|
+
customFunction?: string;
|
|
2219
|
+
/**
|
|
2220
|
+
* Liquidity provided per day in USD
|
|
2221
|
+
*/
|
|
2222
|
+
liquidityPerDay?: number;
|
|
2223
|
+
/**
|
|
2224
|
+
* Blockchain network of the liquidity pool.
|
|
2225
|
+
*/
|
|
2226
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
2227
|
+
/**
|
|
2228
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
2229
|
+
*/
|
|
2230
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2231
|
+
/**
|
|
2232
|
+
* Array of liquidity pools associated with the rule.
|
|
2233
|
+
*/
|
|
2234
|
+
pools?: Array<Liquidity.Pool>;
|
|
2235
|
+
/**
|
|
2236
|
+
* Protocol of the liquidity pool.
|
|
2237
|
+
*/
|
|
2238
|
+
protocol?: string;
|
|
2239
|
+
}
|
|
2240
|
+
namespace Liquidity {
|
|
2241
|
+
interface Pool {
|
|
2242
|
+
/**
|
|
2243
|
+
* Unique identifier of the liquidity pool.
|
|
2244
|
+
*/
|
|
2245
|
+
id: string;
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
interface Range {
|
|
2249
|
+
/**
|
|
2250
|
+
* Reward amount for this range.
|
|
2251
|
+
*/
|
|
2252
|
+
amount: number;
|
|
2253
|
+
/**
|
|
2254
|
+
* End value of the range.
|
|
2255
|
+
*/
|
|
2256
|
+
endRange: number;
|
|
2257
|
+
/**
|
|
2258
|
+
* Start value of the range.
|
|
2259
|
+
*/
|
|
2260
|
+
startRange: number;
|
|
2261
|
+
/**
|
|
2262
|
+
* ID of the loyalty badge for this range.
|
|
2263
|
+
*/
|
|
2264
|
+
loyaltyBadgeId?: string;
|
|
2265
|
+
/**
|
|
2266
|
+
* Amount of the loyalty multiplier for this range.
|
|
2267
|
+
*/
|
|
2268
|
+
loyaltyMultiplierAmount?: number;
|
|
2269
|
+
}
|
|
2270
|
+
/**
|
|
2271
|
+
* Object defining referral requirements.
|
|
2272
|
+
*/
|
|
2273
|
+
interface ReferralRequirements {
|
|
2274
|
+
/**
|
|
2275
|
+
* Flag indicating if achieving points is required.
|
|
2276
|
+
*/
|
|
2277
|
+
achievePoints?: boolean | null;
|
|
2278
|
+
/**
|
|
2279
|
+
* Flag indicating if completing the profile is required.
|
|
2280
|
+
*/
|
|
2281
|
+
completeProfile?: boolean | null;
|
|
2282
|
+
/**
|
|
2283
|
+
* Flag indicating if connecting Discord is required.
|
|
2284
|
+
*/
|
|
2285
|
+
connectDiscord?: boolean | null;
|
|
2286
|
+
/**
|
|
2287
|
+
* Flag indicating if connecting email is required.
|
|
2288
|
+
*/
|
|
2289
|
+
connectEmail?: boolean | null;
|
|
2290
|
+
/**
|
|
2291
|
+
* Flag indicating if connecting Twitter is required.
|
|
2292
|
+
*/
|
|
2293
|
+
connectTwitter?: boolean | null;
|
|
2294
|
+
points?: ReferralRequirements.Points | null;
|
|
2295
|
+
}
|
|
2296
|
+
namespace ReferralRequirements {
|
|
2297
|
+
interface Points {
|
|
2298
|
+
/**
|
|
2299
|
+
* Points required for referral.
|
|
2300
|
+
*/
|
|
2301
|
+
amount?: number | null;
|
|
2302
|
+
/**
|
|
2303
|
+
* ID of the loyalty currency for referral.
|
|
2304
|
+
*/
|
|
2305
|
+
loyaltyCurrecyId?: string | null;
|
|
2306
|
+
}
|
|
2307
|
+
}
|
|
2308
|
+
/**
|
|
2309
|
+
* Object containing details of the associated smart contract.
|
|
2310
|
+
*/
|
|
2311
|
+
interface SmartContract {
|
|
2312
|
+
/**
|
|
2313
|
+
* Mapping of addresses for the smart contract.
|
|
2314
|
+
*/
|
|
2315
|
+
addressMapping?: string | null;
|
|
2316
|
+
/**
|
|
2317
|
+
* Object containing details of the amount multiplier from the event.
|
|
2318
|
+
*/
|
|
2319
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2320
|
+
/**
|
|
2321
|
+
* ID of the smart contract.
|
|
2322
|
+
*/
|
|
2323
|
+
contractId?: string | null;
|
|
2324
|
+
/**
|
|
2325
|
+
* Criteria to evaluate the smart contract event.
|
|
2326
|
+
*/
|
|
2327
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2328
|
+
/**
|
|
2329
|
+
* Event emitted by the smart contract.
|
|
2330
|
+
*/
|
|
2331
|
+
event?: string | null;
|
|
2332
|
+
/**
|
|
2333
|
+
* Array of parameters for the smart contract.
|
|
2334
|
+
*/
|
|
2335
|
+
params?: Array<SmartContract.Param> | null;
|
|
2336
|
+
/**
|
|
2337
|
+
* Type of the smart contract interaction.
|
|
2338
|
+
*/
|
|
2339
|
+
type?: 'function' | 'event' | null;
|
|
2340
|
+
}
|
|
2341
|
+
namespace SmartContract {
|
|
2342
|
+
/**
|
|
2343
|
+
* Object containing details of the amount multiplier from the event.
|
|
2344
|
+
*/
|
|
2345
|
+
interface AmountMultiplier {
|
|
2346
|
+
/**
|
|
2347
|
+
* Mapping of the value for the smart contract.
|
|
2348
|
+
*/
|
|
2349
|
+
valueMapping?: string | null;
|
|
2350
|
+
}
|
|
2351
|
+
interface Param {
|
|
2352
|
+
/**
|
|
2353
|
+
* Condition to check for the parameter.
|
|
2354
|
+
*/
|
|
2355
|
+
condition?: string | null;
|
|
2356
|
+
/**
|
|
2357
|
+
* Name of the smart contract parameter.
|
|
2358
|
+
*/
|
|
2359
|
+
name?: string | null;
|
|
2360
|
+
/**
|
|
2361
|
+
* Value of the parameter.
|
|
2362
|
+
*/
|
|
2363
|
+
value?: string | null;
|
|
2364
|
+
}
|
|
2365
|
+
}
|
|
2366
|
+
interface SnapshotProposal {
|
|
2367
|
+
/**
|
|
2368
|
+
* ID of the snapshot proposal.
|
|
2369
|
+
*/
|
|
2370
|
+
id: string;
|
|
2371
|
+
/**
|
|
2372
|
+
* Space associated with the snapshot proposal.
|
|
2373
|
+
*/
|
|
2374
|
+
space: string;
|
|
2375
|
+
}
|
|
2376
|
+
interface StreakArray {
|
|
2377
|
+
/**
|
|
2378
|
+
* Reward amount for achieving the streak milestone.
|
|
2379
|
+
*/
|
|
2380
|
+
streakAmount: number;
|
|
2381
|
+
/**
|
|
2382
|
+
* Milestone required to achieve the streak.
|
|
2383
|
+
*/
|
|
2384
|
+
streakMilestone: number;
|
|
2385
|
+
}
|
|
2386
|
+
/**
|
|
2387
|
+
* Metadata for swap loyalty rules
|
|
2388
|
+
*/
|
|
2389
|
+
interface Swap {
|
|
2390
|
+
from?: Swap.From;
|
|
2391
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
2392
|
+
relayReferrerId?: string;
|
|
2393
|
+
requireCrossChainSwap?: boolean;
|
|
2394
|
+
to?: Swap.To;
|
|
2395
|
+
}
|
|
2396
|
+
namespace Swap {
|
|
2397
|
+
interface From {
|
|
2398
|
+
chain?: 'any' | number | string;
|
|
2399
|
+
mode?: 'any' | 'specific';
|
|
2400
|
+
tokens?: Array<From.Token>;
|
|
2401
|
+
trackAmount?: boolean;
|
|
2402
|
+
}
|
|
2403
|
+
namespace From {
|
|
2404
|
+
interface Token {
|
|
2405
|
+
address: string;
|
|
2406
|
+
chainId: string;
|
|
2407
|
+
}
|
|
2408
|
+
}
|
|
2409
|
+
interface To {
|
|
2410
|
+
chain?: 'any' | number | string;
|
|
2411
|
+
mode?: 'any' | 'specific';
|
|
2412
|
+
tokens?: Array<To.Token>;
|
|
2413
|
+
trackAmount?: boolean;
|
|
2414
|
+
}
|
|
2415
|
+
namespace To {
|
|
2416
|
+
interface Token {
|
|
2417
|
+
address: string;
|
|
2418
|
+
chainId: string;
|
|
2419
|
+
}
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
252
2423
|
}
|
|
253
2424
|
/**
|
|
254
2425
|
* Previous data of the rule before the edit
|
|
@@ -261,7 +2432,7 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
261
2432
|
/**
|
|
262
2433
|
* Amount associated with the loyalty rule
|
|
263
2434
|
*/
|
|
264
|
-
amount: number;
|
|
2435
|
+
amount: number | null;
|
|
265
2436
|
/**
|
|
266
2437
|
* Timestamp when the loyalty rule was created
|
|
267
2438
|
*/
|
|
@@ -270,14 +2441,34 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
270
2441
|
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
271
2442
|
*/
|
|
272
2443
|
deletedAt: string | null;
|
|
2444
|
+
/**
|
|
2445
|
+
* Description of the loyalty rule
|
|
2446
|
+
*/
|
|
2447
|
+
description: string;
|
|
2448
|
+
/**
|
|
2449
|
+
* End time of the loyalty rule
|
|
2450
|
+
*/
|
|
2451
|
+
endTime: string | null;
|
|
273
2452
|
/**
|
|
274
2453
|
* Frequency of the loyalty rule
|
|
275
2454
|
*/
|
|
276
2455
|
frequency: string;
|
|
2456
|
+
/**
|
|
2457
|
+
* Name of the loyalty rule
|
|
2458
|
+
*/
|
|
2459
|
+
name: string;
|
|
277
2460
|
/**
|
|
278
2461
|
* Unique identifier for the organization
|
|
279
2462
|
*/
|
|
280
2463
|
organizationId: string;
|
|
2464
|
+
/**
|
|
2465
|
+
* Type of the reward
|
|
2466
|
+
*/
|
|
2467
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
2468
|
+
/**
|
|
2469
|
+
* Start time of the loyalty rule
|
|
2470
|
+
*/
|
|
2471
|
+
startTime: string | null;
|
|
281
2472
|
/**
|
|
282
2473
|
* Type of the loyalty rule
|
|
283
2474
|
*/
|
|
@@ -294,10 +2485,709 @@ export declare namespace RuleEditRestoreResponse {
|
|
|
294
2485
|
* Optional address of the collection
|
|
295
2486
|
*/
|
|
296
2487
|
collectionAddress?: string;
|
|
2488
|
+
/**
|
|
2489
|
+
* Reward based on data usage within the last day, week, or month. Leave it empty
|
|
2490
|
+
* for all time usage.
|
|
2491
|
+
*/
|
|
2492
|
+
dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
|
|
2493
|
+
/**
|
|
2494
|
+
* Filter dApps by deployment age before ranking.
|
|
2495
|
+
*/
|
|
2496
|
+
dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
|
|
2497
|
+
/**
|
|
2498
|
+
* URL of the media associated with the loyalty rule
|
|
2499
|
+
*/
|
|
2500
|
+
mediaUrl?: string | null;
|
|
297
2501
|
/**
|
|
298
2502
|
* Optional metadata for the loyalty rule
|
|
299
2503
|
*/
|
|
300
|
-
metadata?:
|
|
2504
|
+
metadata?: {
|
|
2505
|
+
[key: string]: PreviousData.Metadata;
|
|
2506
|
+
};
|
|
2507
|
+
}
|
|
2508
|
+
namespace PreviousData {
|
|
2509
|
+
interface Metadata {
|
|
2510
|
+
/**
|
|
2511
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
2512
|
+
* only.
|
|
2513
|
+
*/
|
|
2514
|
+
allowMultipleRedemptions?: boolean;
|
|
2515
|
+
/**
|
|
2516
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
2517
|
+
* any rule completions count as check-in.
|
|
2518
|
+
*/
|
|
2519
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
2520
|
+
/**
|
|
2521
|
+
* Number of tokens per batch.
|
|
2522
|
+
*/
|
|
2523
|
+
batchSize?: number | null;
|
|
2524
|
+
/**
|
|
2525
|
+
* Text displayed on the action button.
|
|
2526
|
+
*/
|
|
2527
|
+
buttonText?: string | null;
|
|
2528
|
+
/**
|
|
2529
|
+
* Flag indicating if commenting is required.
|
|
2530
|
+
*/
|
|
2531
|
+
checkComment?: boolean | null;
|
|
2532
|
+
/**
|
|
2533
|
+
* Flag indicating if liking the post is required.
|
|
2534
|
+
*/
|
|
2535
|
+
checkLike?: boolean | null;
|
|
2536
|
+
/**
|
|
2537
|
+
* Flag indicating if reposting is required.
|
|
2538
|
+
*/
|
|
2539
|
+
checkRepost?: boolean | null;
|
|
2540
|
+
/**
|
|
2541
|
+
* Text to check in the Twitter post, username, or bio.
|
|
2542
|
+
*/
|
|
2543
|
+
checkText?: string | Array<string> | null;
|
|
2544
|
+
/**
|
|
2545
|
+
* Array of collections associated with the rule.
|
|
2546
|
+
*/
|
|
2547
|
+
collection?: Array<Metadata.Collection>;
|
|
2548
|
+
/**
|
|
2549
|
+
* Conditions for completing the profile.
|
|
2550
|
+
*/
|
|
2551
|
+
completeProfileConditions?: {
|
|
2552
|
+
[key: string]: boolean;
|
|
2553
|
+
} | null;
|
|
2554
|
+
/**
|
|
2555
|
+
* Description of the external rule condition (only for external rules)
|
|
2556
|
+
*/
|
|
2557
|
+
conditionDescription?: string;
|
|
2558
|
+
/**
|
|
2559
|
+
* Object containing details for the call-to-action.
|
|
2560
|
+
*/
|
|
2561
|
+
cta?: Metadata.Cta | null;
|
|
2562
|
+
/**
|
|
2563
|
+
* API key for custom rewards integration.
|
|
2564
|
+
*/
|
|
2565
|
+
customRewardsApiKey?: string;
|
|
2566
|
+
/**
|
|
2567
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
2568
|
+
*/
|
|
2569
|
+
directRpc?: boolean;
|
|
2570
|
+
/**
|
|
2571
|
+
* Array of Discord servers, channels, and roles to join.
|
|
2572
|
+
*/
|
|
2573
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
2574
|
+
/**
|
|
2575
|
+
* Array of drip quests required to complete the rule.
|
|
2576
|
+
*/
|
|
2577
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
2578
|
+
/**
|
|
2579
|
+
* Flag indicating whether joining Discord servers is required.
|
|
2580
|
+
*/
|
|
2581
|
+
enableJoinDiscordServers?: boolean | null;
|
|
2582
|
+
/**
|
|
2583
|
+
* Flag indicating whether streaks are enabled.
|
|
2584
|
+
*/
|
|
2585
|
+
enableStreaks?: boolean | null;
|
|
2586
|
+
/**
|
|
2587
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
2588
|
+
*/
|
|
2589
|
+
enableVerifiedMultiplier?: boolean;
|
|
2590
|
+
/**
|
|
2591
|
+
* Type of ERC20 token for the loyalty rule.
|
|
2592
|
+
*/
|
|
2593
|
+
erc20Type?: 'erc20' | 'native';
|
|
2594
|
+
/**
|
|
2595
|
+
* Fill source of the order for the token sale
|
|
2596
|
+
*/
|
|
2597
|
+
fillSource?: string;
|
|
2598
|
+
/**
|
|
2599
|
+
* Percentage reward given to a user for their first referral.
|
|
2600
|
+
*/
|
|
2601
|
+
firstReferralReward?: number | null;
|
|
2602
|
+
/**
|
|
2603
|
+
* Name of the GitHub branch to check for PR merge.
|
|
2604
|
+
*/
|
|
2605
|
+
githubBranchName?: string | null;
|
|
2606
|
+
/**
|
|
2607
|
+
* URL of the GitHub repository to check for star.
|
|
2608
|
+
*/
|
|
2609
|
+
githubRepoUrl?: string | null;
|
|
2610
|
+
/**
|
|
2611
|
+
* Flag indicating whether the fill source is included.
|
|
2612
|
+
*/
|
|
2613
|
+
hasFillSource?: boolean;
|
|
2614
|
+
/**
|
|
2615
|
+
* Indicates if the item has never been sold.
|
|
2616
|
+
*/
|
|
2617
|
+
hasNeverSold?: boolean;
|
|
2618
|
+
/**
|
|
2619
|
+
* Indicates if the full royalty has been paid for items.
|
|
2620
|
+
*/
|
|
2621
|
+
hasPaidFullRoyalty?: boolean;
|
|
2622
|
+
/**
|
|
2623
|
+
* Flag indicating if the sale currency is included.
|
|
2624
|
+
*/
|
|
2625
|
+
hasSaleCurrency?: boolean;
|
|
2626
|
+
/**
|
|
2627
|
+
* Indicates if the user has a verified Twitter account.
|
|
2628
|
+
*/
|
|
2629
|
+
hasVerifiedTwitter?: boolean;
|
|
2630
|
+
/**
|
|
2631
|
+
* URL of the image associated with the rule.
|
|
2632
|
+
*/
|
|
2633
|
+
imageUrl?: string | null;
|
|
2634
|
+
/**
|
|
2635
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
2636
|
+
*/
|
|
2637
|
+
isCheckInOnEveryTxn?: boolean;
|
|
2638
|
+
/**
|
|
2639
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
2640
|
+
*/
|
|
2641
|
+
isMultiplierApplied?: boolean;
|
|
2642
|
+
/**
|
|
2643
|
+
* Flag indicating if the rule is restricted to new users.
|
|
2644
|
+
*/
|
|
2645
|
+
isRestrictedToNewUsers?: boolean;
|
|
2646
|
+
/**
|
|
2647
|
+
* Flag indicating if rewards are applied retroactively.
|
|
2648
|
+
*/
|
|
2649
|
+
isRetroactive?: boolean | null;
|
|
2650
|
+
/**
|
|
2651
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2652
|
+
*/
|
|
2653
|
+
isTokenHoldMultiplier?: boolean;
|
|
2654
|
+
/**
|
|
2655
|
+
* Optional link associated with the metadata.
|
|
2656
|
+
*/
|
|
2657
|
+
link?: string | null;
|
|
2658
|
+
/**
|
|
2659
|
+
* Liquidity pool details.
|
|
2660
|
+
*/
|
|
2661
|
+
liquidity?: Metadata.Liquidity;
|
|
2662
|
+
/**
|
|
2663
|
+
* Maximum quantity constraint for token holding.
|
|
2664
|
+
*/
|
|
2665
|
+
maxQty?: number | null;
|
|
2666
|
+
/**
|
|
2667
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
2668
|
+
*/
|
|
2669
|
+
minimumFollowerCount?: number | null;
|
|
2670
|
+
/**
|
|
2671
|
+
* Minimum quantity constraint for token holding.
|
|
2672
|
+
*/
|
|
2673
|
+
minQty?: number | null;
|
|
2674
|
+
/**
|
|
2675
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2676
|
+
*/
|
|
2677
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2678
|
+
/**
|
|
2679
|
+
* Flag indicating whether to include only known users.
|
|
2680
|
+
*/
|
|
2681
|
+
onlyKnownUsers?: boolean;
|
|
2682
|
+
/**
|
|
2683
|
+
* Flag indicating whether to include only native tokens.
|
|
2684
|
+
*/
|
|
2685
|
+
onlyNative?: boolean;
|
|
2686
|
+
/**
|
|
2687
|
+
* Flag indicating whether to include only non-listed items.
|
|
2688
|
+
*/
|
|
2689
|
+
onlyNonListed?: boolean;
|
|
2690
|
+
/**
|
|
2691
|
+
* Indicates if only existing users are rewarded.
|
|
2692
|
+
*/
|
|
2693
|
+
onlyRewardExistingUser?: boolean;
|
|
2694
|
+
/**
|
|
2695
|
+
* give points for only one token ownership per contract
|
|
2696
|
+
*/
|
|
2697
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2698
|
+
/**
|
|
2699
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
2700
|
+
*/
|
|
2701
|
+
preGeneratedPostText?: string | null;
|
|
2702
|
+
/**
|
|
2703
|
+
* Promotional code associated with the rule.
|
|
2704
|
+
*/
|
|
2705
|
+
promoCode?: string;
|
|
2706
|
+
/**
|
|
2707
|
+
* URL of the CSV file containing promo codes.
|
|
2708
|
+
*/
|
|
2709
|
+
promoCodeCsvUrl?: string;
|
|
2710
|
+
/**
|
|
2711
|
+
* Numbers of the promotional code to be generated.
|
|
2712
|
+
*/
|
|
2713
|
+
promoCodeLength?: number | null;
|
|
2714
|
+
/**
|
|
2715
|
+
* Type of the promotional code.
|
|
2716
|
+
*/
|
|
2717
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2718
|
+
/**
|
|
2719
|
+
* Array defining ranges and corresponding rewards.
|
|
2720
|
+
*/
|
|
2721
|
+
range?: Array<Metadata.Range>;
|
|
2722
|
+
/**
|
|
2723
|
+
* ID of the Reddit post.
|
|
2724
|
+
*/
|
|
2725
|
+
redditPostId?: string | null;
|
|
2726
|
+
/**
|
|
2727
|
+
* Object defining referral requirements.
|
|
2728
|
+
*/
|
|
2729
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2730
|
+
/**
|
|
2731
|
+
* Lump sum reward given to a referrer.
|
|
2732
|
+
*/
|
|
2733
|
+
referrerReward?: number | null;
|
|
2734
|
+
/**
|
|
2735
|
+
* Loyalty currency ID of the referrer reward.
|
|
2736
|
+
*/
|
|
2737
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
2738
|
+
/**
|
|
2739
|
+
* Flag indicating if the post link is required.
|
|
2740
|
+
*/
|
|
2741
|
+
requirePostLink?: boolean | null;
|
|
2742
|
+
/**
|
|
2743
|
+
* Flag indicating if media metadata is required.
|
|
2744
|
+
*/
|
|
2745
|
+
requirePostMediaLink?: boolean | null;
|
|
2746
|
+
/**
|
|
2747
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
2748
|
+
* allowing the user to re-earn the rule.
|
|
2749
|
+
*/
|
|
2750
|
+
resetProgressOnClaim?: boolean | null;
|
|
2751
|
+
/**
|
|
2752
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
2753
|
+
*/
|
|
2754
|
+
rewardBadgePerRange?: boolean;
|
|
2755
|
+
/**
|
|
2756
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
2757
|
+
*/
|
|
2758
|
+
rewardByBatch?: boolean | null;
|
|
2759
|
+
/**
|
|
2760
|
+
* Criteria to evaluate the reward.
|
|
2761
|
+
*/
|
|
2762
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
2763
|
+
/**
|
|
2764
|
+
* Flag indicating if the reward is rewarded per action.
|
|
2765
|
+
*/
|
|
2766
|
+
rewardPerAction?: boolean | null;
|
|
2767
|
+
/**
|
|
2768
|
+
* Flag indicating if rewards are given per impression.
|
|
2769
|
+
*/
|
|
2770
|
+
rewardPerImpression?: boolean | null;
|
|
2771
|
+
/**
|
|
2772
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
2773
|
+
* instead of count.
|
|
2774
|
+
*/
|
|
2775
|
+
rewardPerValue?: boolean;
|
|
2776
|
+
/**
|
|
2777
|
+
* Flag indicating if the rule should reward quality posts.
|
|
2778
|
+
*/
|
|
2779
|
+
rewardQualityPosts?: boolean;
|
|
2780
|
+
robinhoodSymbols?: Array<string> | null;
|
|
2781
|
+
/**
|
|
2782
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2783
|
+
*/
|
|
2784
|
+
royaltyAddress?: string;
|
|
2785
|
+
/**
|
|
2786
|
+
* Royalty percentage of the item.
|
|
2787
|
+
*/
|
|
2788
|
+
royaltyPercentage?: number;
|
|
2789
|
+
/**
|
|
2790
|
+
* Currency associated with sales.
|
|
2791
|
+
*/
|
|
2792
|
+
saleCurrency?: string;
|
|
2793
|
+
/**
|
|
2794
|
+
* Percentage reward given for a second-level referral.
|
|
2795
|
+
*/
|
|
2796
|
+
secondReferralReward?: number | null;
|
|
2797
|
+
/**
|
|
2798
|
+
* Flag indicating if the multiplier is skipped.
|
|
2799
|
+
*/
|
|
2800
|
+
skipMultiplier?: boolean | null;
|
|
2801
|
+
/**
|
|
2802
|
+
* Object containing details of the associated smart contract.
|
|
2803
|
+
*/
|
|
2804
|
+
smartContract?: Metadata.SmartContract;
|
|
2805
|
+
/**
|
|
2806
|
+
* Array of snapshot proposals for the rule.
|
|
2807
|
+
*/
|
|
2808
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2809
|
+
/**
|
|
2810
|
+
* Social media platform associated with the rule.
|
|
2811
|
+
*/
|
|
2812
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
|
|
2813
|
+
/**
|
|
2814
|
+
* URL of the social platform's logo.
|
|
2815
|
+
*/
|
|
2816
|
+
socialPlatformLogo?: string | null;
|
|
2817
|
+
/**
|
|
2818
|
+
* Name of the social platform.
|
|
2819
|
+
*/
|
|
2820
|
+
socialPlatformName?: string | null;
|
|
2821
|
+
/**
|
|
2822
|
+
* ID of the Steam app.
|
|
2823
|
+
*/
|
|
2824
|
+
steamAppId?: string | null;
|
|
2825
|
+
/**
|
|
2826
|
+
* Array of streak milestones and corresponding rewards.
|
|
2827
|
+
*/
|
|
2828
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2829
|
+
/**
|
|
2830
|
+
* Metadata for swap loyalty rules
|
|
2831
|
+
*/
|
|
2832
|
+
swap?: Metadata.Swap;
|
|
2833
|
+
/**
|
|
2834
|
+
* ID of the Telegram channel.
|
|
2835
|
+
*/
|
|
2836
|
+
telegramChannelId?: string | null;
|
|
2837
|
+
/**
|
|
2838
|
+
* Time delay in seconds to verify actions.
|
|
2839
|
+
*/
|
|
2840
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2841
|
+
/**
|
|
2842
|
+
* Flag indicating if all contracts are tracked.
|
|
2843
|
+
*/
|
|
2844
|
+
trackAllContracts?: boolean | null;
|
|
2845
|
+
/**
|
|
2846
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2847
|
+
* completed once the progress is 100%.
|
|
2848
|
+
*/
|
|
2849
|
+
trackProgress?: boolean | null;
|
|
2850
|
+
/**
|
|
2851
|
+
* URL of the associated Twitter account.
|
|
2852
|
+
*/
|
|
2853
|
+
twitterAccountUrl?: string;
|
|
2854
|
+
/**
|
|
2855
|
+
* Hashtag associated with the Twitter post.
|
|
2856
|
+
*/
|
|
2857
|
+
twitterHashtag?: string;
|
|
2858
|
+
/**
|
|
2859
|
+
* URL of the associated Twitter post.
|
|
2860
|
+
*/
|
|
2861
|
+
twitterPostUrl?: string;
|
|
2862
|
+
/**
|
|
2863
|
+
* Unique identifier of the Twitter user.
|
|
2864
|
+
*/
|
|
2865
|
+
twitterUserId?: string;
|
|
2866
|
+
/**
|
|
2867
|
+
* Twitter username of the user.
|
|
2868
|
+
*/
|
|
2869
|
+
twitterUsername?: string;
|
|
2870
|
+
/**
|
|
2871
|
+
* Minimum length of the verification text.
|
|
2872
|
+
*/
|
|
2873
|
+
verificationTextMinimumLength?: number | null;
|
|
2874
|
+
/**
|
|
2875
|
+
* Multiplier applied to rewards for verified users.
|
|
2876
|
+
*/
|
|
2877
|
+
verifiedMultiplier?: number | null;
|
|
2878
|
+
/**
|
|
2879
|
+
* Placeholder text for verification input fields.
|
|
2880
|
+
*/
|
|
2881
|
+
verifyPlaceHolderText?: string | null;
|
|
2882
|
+
/**
|
|
2883
|
+
* Type of wallet associated with the rule.
|
|
2884
|
+
*/
|
|
2885
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
|
|
2886
|
+
/**
|
|
2887
|
+
* ID of the Youtube channel.
|
|
2888
|
+
*/
|
|
2889
|
+
youtubeChannelId?: string | null;
|
|
2890
|
+
/**
|
|
2891
|
+
* ID of the Youtube video.
|
|
2892
|
+
*/
|
|
2893
|
+
youtubeVideoId?: string | null;
|
|
2894
|
+
}
|
|
2895
|
+
namespace Metadata {
|
|
2896
|
+
interface Collection {
|
|
2897
|
+
/**
|
|
2898
|
+
* Blockchain address of the collection.
|
|
2899
|
+
*/
|
|
2900
|
+
address?: string;
|
|
2901
|
+
/**
|
|
2902
|
+
* Multiplier applied to the rewards for this collection.
|
|
2903
|
+
*/
|
|
2904
|
+
multiplier?: number;
|
|
2905
|
+
/**
|
|
2906
|
+
* Blockchain network of the collection.
|
|
2907
|
+
*/
|
|
2908
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
2909
|
+
}
|
|
2910
|
+
/**
|
|
2911
|
+
* Object containing details for the call-to-action.
|
|
2912
|
+
*/
|
|
2913
|
+
interface Cta {
|
|
2914
|
+
/**
|
|
2915
|
+
* Link for the call-to-action.
|
|
2916
|
+
*/
|
|
2917
|
+
href?: string | null;
|
|
2918
|
+
/**
|
|
2919
|
+
* Label for the call-to-action.
|
|
2920
|
+
*/
|
|
2921
|
+
label?: string | null;
|
|
2922
|
+
}
|
|
2923
|
+
interface DiscordServersToJoin {
|
|
2924
|
+
/**
|
|
2925
|
+
* ID of the Discord server to join.
|
|
2926
|
+
*/
|
|
2927
|
+
id?: string;
|
|
2928
|
+
/**
|
|
2929
|
+
* Array of Discord channels to join.
|
|
2930
|
+
*/
|
|
2931
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2932
|
+
/**
|
|
2933
|
+
* Array of roles to assign in the Discord server.
|
|
2934
|
+
*/
|
|
2935
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2936
|
+
}
|
|
2937
|
+
namespace DiscordServersToJoin {
|
|
2938
|
+
interface Channel {
|
|
2939
|
+
/**
|
|
2940
|
+
* ID of the Discord channel.
|
|
2941
|
+
*/
|
|
2942
|
+
id?: string;
|
|
2943
|
+
/**
|
|
2944
|
+
* Array of emojis used in the channel.
|
|
2945
|
+
*/
|
|
2946
|
+
emojis?: Array<Channel.Emoji>;
|
|
2947
|
+
/**
|
|
2948
|
+
* Phrase of text to be present in the discord message
|
|
2949
|
+
*/
|
|
2950
|
+
text?: string;
|
|
2951
|
+
}
|
|
2952
|
+
namespace Channel {
|
|
2953
|
+
interface Emoji {
|
|
2954
|
+
/**
|
|
2955
|
+
* ID of the emoji used in the channel.
|
|
2956
|
+
*/
|
|
2957
|
+
id?: string;
|
|
2958
|
+
}
|
|
2959
|
+
}
|
|
2960
|
+
interface Role {
|
|
2961
|
+
/**
|
|
2962
|
+
* ID of the role in the Discord server.
|
|
2963
|
+
*/
|
|
2964
|
+
id: string;
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
interface DripQuestsToComplete {
|
|
2968
|
+
/**
|
|
2969
|
+
* ID of the drip quest to complete.
|
|
2970
|
+
*/
|
|
2971
|
+
id: string;
|
|
2972
|
+
}
|
|
2973
|
+
/**
|
|
2974
|
+
* Liquidity pool details.
|
|
2975
|
+
*/
|
|
2976
|
+
interface Liquidity {
|
|
2977
|
+
/**
|
|
2978
|
+
* Calculation type of the liquidity pool.
|
|
2979
|
+
*/
|
|
2980
|
+
calculationType?: 'fixed' | 'custom';
|
|
2981
|
+
/**
|
|
2982
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
2983
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
2984
|
+
* USD.
|
|
2985
|
+
*/
|
|
2986
|
+
customFunction?: string;
|
|
2987
|
+
/**
|
|
2988
|
+
* Liquidity provided per day in USD
|
|
2989
|
+
*/
|
|
2990
|
+
liquidityPerDay?: number;
|
|
2991
|
+
/**
|
|
2992
|
+
* Blockchain network of the liquidity pool.
|
|
2993
|
+
*/
|
|
2994
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
|
|
2995
|
+
/**
|
|
2996
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
2997
|
+
*/
|
|
2998
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2999
|
+
/**
|
|
3000
|
+
* Array of liquidity pools associated with the rule.
|
|
3001
|
+
*/
|
|
3002
|
+
pools?: Array<Liquidity.Pool>;
|
|
3003
|
+
/**
|
|
3004
|
+
* Protocol of the liquidity pool.
|
|
3005
|
+
*/
|
|
3006
|
+
protocol?: string;
|
|
3007
|
+
}
|
|
3008
|
+
namespace Liquidity {
|
|
3009
|
+
interface Pool {
|
|
3010
|
+
/**
|
|
3011
|
+
* Unique identifier of the liquidity pool.
|
|
3012
|
+
*/
|
|
3013
|
+
id: string;
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
interface Range {
|
|
3017
|
+
/**
|
|
3018
|
+
* Reward amount for this range.
|
|
3019
|
+
*/
|
|
3020
|
+
amount: number;
|
|
3021
|
+
/**
|
|
3022
|
+
* End value of the range.
|
|
3023
|
+
*/
|
|
3024
|
+
endRange: number;
|
|
3025
|
+
/**
|
|
3026
|
+
* Start value of the range.
|
|
3027
|
+
*/
|
|
3028
|
+
startRange: number;
|
|
3029
|
+
/**
|
|
3030
|
+
* ID of the loyalty badge for this range.
|
|
3031
|
+
*/
|
|
3032
|
+
loyaltyBadgeId?: string;
|
|
3033
|
+
/**
|
|
3034
|
+
* Amount of the loyalty multiplier for this range.
|
|
3035
|
+
*/
|
|
3036
|
+
loyaltyMultiplierAmount?: number;
|
|
3037
|
+
}
|
|
3038
|
+
/**
|
|
3039
|
+
* Object defining referral requirements.
|
|
3040
|
+
*/
|
|
3041
|
+
interface ReferralRequirements {
|
|
3042
|
+
/**
|
|
3043
|
+
* Flag indicating if achieving points is required.
|
|
3044
|
+
*/
|
|
3045
|
+
achievePoints?: boolean | null;
|
|
3046
|
+
/**
|
|
3047
|
+
* Flag indicating if completing the profile is required.
|
|
3048
|
+
*/
|
|
3049
|
+
completeProfile?: boolean | null;
|
|
3050
|
+
/**
|
|
3051
|
+
* Flag indicating if connecting Discord is required.
|
|
3052
|
+
*/
|
|
3053
|
+
connectDiscord?: boolean | null;
|
|
3054
|
+
/**
|
|
3055
|
+
* Flag indicating if connecting email is required.
|
|
3056
|
+
*/
|
|
3057
|
+
connectEmail?: boolean | null;
|
|
3058
|
+
/**
|
|
3059
|
+
* Flag indicating if connecting Twitter is required.
|
|
3060
|
+
*/
|
|
3061
|
+
connectTwitter?: boolean | null;
|
|
3062
|
+
points?: ReferralRequirements.Points | null;
|
|
3063
|
+
}
|
|
3064
|
+
namespace ReferralRequirements {
|
|
3065
|
+
interface Points {
|
|
3066
|
+
/**
|
|
3067
|
+
* Points required for referral.
|
|
3068
|
+
*/
|
|
3069
|
+
amount?: number | null;
|
|
3070
|
+
/**
|
|
3071
|
+
* ID of the loyalty currency for referral.
|
|
3072
|
+
*/
|
|
3073
|
+
loyaltyCurrecyId?: string | null;
|
|
3074
|
+
}
|
|
3075
|
+
}
|
|
3076
|
+
/**
|
|
3077
|
+
* Object containing details of the associated smart contract.
|
|
3078
|
+
*/
|
|
3079
|
+
interface SmartContract {
|
|
3080
|
+
/**
|
|
3081
|
+
* Mapping of addresses for the smart contract.
|
|
3082
|
+
*/
|
|
3083
|
+
addressMapping?: string | null;
|
|
3084
|
+
/**
|
|
3085
|
+
* Object containing details of the amount multiplier from the event.
|
|
3086
|
+
*/
|
|
3087
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3088
|
+
/**
|
|
3089
|
+
* ID of the smart contract.
|
|
3090
|
+
*/
|
|
3091
|
+
contractId?: string | null;
|
|
3092
|
+
/**
|
|
3093
|
+
* Criteria to evaluate the smart contract event.
|
|
3094
|
+
*/
|
|
3095
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3096
|
+
/**
|
|
3097
|
+
* Event emitted by the smart contract.
|
|
3098
|
+
*/
|
|
3099
|
+
event?: string | null;
|
|
3100
|
+
/**
|
|
3101
|
+
* Array of parameters for the smart contract.
|
|
3102
|
+
*/
|
|
3103
|
+
params?: Array<SmartContract.Param> | null;
|
|
3104
|
+
/**
|
|
3105
|
+
* Type of the smart contract interaction.
|
|
3106
|
+
*/
|
|
3107
|
+
type?: 'function' | 'event' | null;
|
|
3108
|
+
}
|
|
3109
|
+
namespace SmartContract {
|
|
3110
|
+
/**
|
|
3111
|
+
* Object containing details of the amount multiplier from the event.
|
|
3112
|
+
*/
|
|
3113
|
+
interface AmountMultiplier {
|
|
3114
|
+
/**
|
|
3115
|
+
* Mapping of the value for the smart contract.
|
|
3116
|
+
*/
|
|
3117
|
+
valueMapping?: string | null;
|
|
3118
|
+
}
|
|
3119
|
+
interface Param {
|
|
3120
|
+
/**
|
|
3121
|
+
* Condition to check for the parameter.
|
|
3122
|
+
*/
|
|
3123
|
+
condition?: string | null;
|
|
3124
|
+
/**
|
|
3125
|
+
* Name of the smart contract parameter.
|
|
3126
|
+
*/
|
|
3127
|
+
name?: string | null;
|
|
3128
|
+
/**
|
|
3129
|
+
* Value of the parameter.
|
|
3130
|
+
*/
|
|
3131
|
+
value?: string | null;
|
|
3132
|
+
}
|
|
3133
|
+
}
|
|
3134
|
+
interface SnapshotProposal {
|
|
3135
|
+
/**
|
|
3136
|
+
* ID of the snapshot proposal.
|
|
3137
|
+
*/
|
|
3138
|
+
id: string;
|
|
3139
|
+
/**
|
|
3140
|
+
* Space associated with the snapshot proposal.
|
|
3141
|
+
*/
|
|
3142
|
+
space: string;
|
|
3143
|
+
}
|
|
3144
|
+
interface StreakArray {
|
|
3145
|
+
/**
|
|
3146
|
+
* Reward amount for achieving the streak milestone.
|
|
3147
|
+
*/
|
|
3148
|
+
streakAmount: number;
|
|
3149
|
+
/**
|
|
3150
|
+
* Milestone required to achieve the streak.
|
|
3151
|
+
*/
|
|
3152
|
+
streakMilestone: number;
|
|
3153
|
+
}
|
|
3154
|
+
/**
|
|
3155
|
+
* Metadata for swap loyalty rules
|
|
3156
|
+
*/
|
|
3157
|
+
interface Swap {
|
|
3158
|
+
from?: Swap.From;
|
|
3159
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
3160
|
+
relayReferrerId?: string;
|
|
3161
|
+
requireCrossChainSwap?: boolean;
|
|
3162
|
+
to?: Swap.To;
|
|
3163
|
+
}
|
|
3164
|
+
namespace Swap {
|
|
3165
|
+
interface From {
|
|
3166
|
+
chain?: 'any' | number | string;
|
|
3167
|
+
mode?: 'any' | 'specific';
|
|
3168
|
+
tokens?: Array<From.Token>;
|
|
3169
|
+
trackAmount?: boolean;
|
|
3170
|
+
}
|
|
3171
|
+
namespace From {
|
|
3172
|
+
interface Token {
|
|
3173
|
+
address: string;
|
|
3174
|
+
chainId: string;
|
|
3175
|
+
}
|
|
3176
|
+
}
|
|
3177
|
+
interface To {
|
|
3178
|
+
chain?: 'any' | number | string;
|
|
3179
|
+
mode?: 'any' | 'specific';
|
|
3180
|
+
tokens?: Array<To.Token>;
|
|
3181
|
+
trackAmount?: boolean;
|
|
3182
|
+
}
|
|
3183
|
+
namespace To {
|
|
3184
|
+
interface Token {
|
|
3185
|
+
address: string;
|
|
3186
|
+
chainId: string;
|
|
3187
|
+
}
|
|
3188
|
+
}
|
|
3189
|
+
}
|
|
3190
|
+
}
|
|
301
3191
|
}
|
|
302
3192
|
}
|
|
303
3193
|
export interface RuleEditListParams {
|