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