@snagsolutions/sdk 0.1.0-alpha.17 → 0.1.0-alpha.171
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 +1408 -0
- package/README.md +13 -23
- package/core.d.ts +19 -5
- package/core.d.ts.map +1 -1
- package/core.js +24 -17
- package/core.js.map +1 -1
- package/core.mjs +24 -17
- package/core.mjs.map +1 -1
- package/index.d.mts +9 -6
- package/index.d.ts +9 -6
- package/index.d.ts.map +1 -1
- package/index.js +8 -4
- package/index.js.map +1 -1
- package/index.mjs +9 -5
- package/index.mjs.map +1 -1
- package/package.json +4 -5
- package/resource.d.ts +1 -1
- package/resource.d.ts.map +1 -1
- package/resource.js.map +1 -1
- package/resource.mjs.map +1 -1
- package/resources/assets.d.ts +16 -2
- package/resources/assets.d.ts.map +1 -1
- package/resources/assets.js +8 -0
- package/resources/assets.js.map +1 -1
- package/resources/assets.mjs +8 -0
- package/resources/assets.mjs.map +1 -1
- package/resources/auctions/auctions.d.ts +285 -0
- package/resources/auctions/auctions.d.ts.map +1 -0
- package/resources/auctions/auctions.js +76 -0
- package/resources/auctions/auctions.js.map +1 -0
- package/resources/auctions/auctions.mjs +49 -0
- package/resources/auctions/auctions.mjs.map +1 -0
- package/resources/auctions/index.d.ts +3 -0
- package/resources/auctions/index.d.ts.map +1 -0
- package/resources/auctions/index.js +9 -0
- package/resources/auctions/index.js.map +1 -0
- package/resources/auctions/index.mjs +4 -0
- package/resources/auctions/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/index.d.ts +3 -0
- package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/index.js +9 -0
- package/resources/auctions/website-user-attributes/index.js.map +1 -0
- package/resources/auctions/website-user-attributes/index.mjs +4 -0
- package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/values.d.ts +76 -0
- package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/values.js +35 -0
- package/resources/auctions/website-user-attributes/values.js.map +1 -0
- package/resources/auctions/website-user-attributes/values.mjs +31 -0
- package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +92 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js +69 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs +42 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
- package/resources/auctions/website-user-attributes.d.ts +2 -0
- package/resources/auctions/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes.js +19 -0
- package/resources/auctions/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes.mjs +3 -0
- package/resources/auctions/website-user-attributes.mjs.map +1 -0
- package/resources/auctions.d.ts +1 -133
- package/resources/auctions.d.ts.map +1 -1
- package/resources/auctions.js +15 -22
- package/resources/auctions.js.map +1 -1
- package/resources/auctions.mjs +1 -20
- package/resources/auctions.mjs.map +1 -1
- package/resources/auth.d.ts +17 -4
- package/resources/auth.d.ts.map +1 -1
- package/resources/auth.js.map +1 -1
- package/resources/auth.mjs.map +1 -1
- package/resources/index.d.ts +3 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +2 -2
- package/resources/index.mjs.map +1 -1
- package/resources/loyalty/account-streaks.d.ts +81 -0
- package/resources/loyalty/account-streaks.d.ts.map +1 -0
- package/resources/loyalty/account-streaks.js +24 -0
- package/resources/loyalty/account-streaks.js.map +1 -0
- package/resources/loyalty/account-streaks.mjs +20 -0
- package/resources/loyalty/account-streaks.mjs.map +1 -0
- package/resources/loyalty/accounts.d.ts +58 -16
- package/resources/loyalty/accounts.d.ts.map +1 -1
- package/resources/loyalty/accounts.js +13 -0
- package/resources/loyalty/accounts.js.map +1 -1
- package/resources/loyalty/accounts.mjs +13 -0
- package/resources/loyalty/accounts.mjs.map +1 -1
- package/resources/loyalty/badges.d.ts +472 -22
- package/resources/loyalty/badges.d.ts.map +1 -1
- package/resources/loyalty/badges.js +19 -1
- package/resources/loyalty/badges.js.map +1 -1
- package/resources/loyalty/badges.mjs +19 -1
- package/resources/loyalty/badges.mjs.map +1 -1
- package/resources/loyalty/currencies.d.ts +19 -0
- package/resources/loyalty/currencies.d.ts.map +1 -1
- package/resources/loyalty/currencies.js +19 -0
- package/resources/loyalty/currencies.js.map +1 -1
- package/resources/loyalty/currencies.mjs +19 -0
- package/resources/loyalty/currencies.mjs.map +1 -1
- package/resources/loyalty/index.d.ts +4 -4
- package/resources/loyalty/index.d.ts.map +1 -1
- package/resources/loyalty/index.js +5 -5
- package/resources/loyalty/index.js.map +1 -1
- package/resources/loyalty/index.mjs +2 -2
- package/resources/loyalty/index.mjs.map +1 -1
- package/resources/loyalty/loyalty.d.ts +10 -10
- package/resources/loyalty/loyalty.d.ts.map +1 -1
- package/resources/loyalty/loyalty.js +6 -6
- package/resources/loyalty/loyalty.js.map +1 -1
- package/resources/loyalty/loyalty.mjs +7 -7
- package/resources/loyalty/loyalty.mjs.map +1 -1
- package/resources/loyalty/multipliers.d.ts +39 -2
- package/resources/loyalty/multipliers.d.ts.map +1 -1
- package/resources/loyalty/multipliers.js +23 -0
- package/resources/loyalty/multipliers.js.map +1 -1
- package/resources/loyalty/multipliers.mjs +23 -0
- package/resources/loyalty/multipliers.mjs.map +1 -1
- package/resources/loyalty/questions-responses.d.ts +39 -0
- package/resources/loyalty/questions-responses.d.ts.map +1 -1
- package/resources/loyalty/questions-responses.js +9 -0
- package/resources/loyalty/questions-responses.js.map +1 -1
- package/resources/loyalty/questions-responses.mjs +9 -0
- package/resources/loyalty/questions-responses.mjs.map +1 -1
- package/resources/loyalty/questions.d.ts +37 -2
- package/resources/loyalty/questions.d.ts.map +1 -1
- package/resources/loyalty/questions.js +31 -0
- package/resources/loyalty/questions.js.map +1 -1
- package/resources/loyalty/questions.mjs +31 -0
- package/resources/loyalty/questions.mjs.map +1 -1
- package/resources/loyalty/rule-edits.d.ts +2626 -4
- package/resources/loyalty/rule-edits.d.ts.map +1 -1
- package/resources/loyalty/rule-edits.js +14 -0
- package/resources/loyalty/rule-edits.js.map +1 -1
- package/resources/loyalty/rule-edits.mjs +14 -0
- package/resources/loyalty/rule-edits.mjs.map +1 -1
- package/resources/loyalty/rule-groups.d.ts +273 -58
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.js +36 -0
- package/resources/loyalty/rule-groups.js.map +1 -1
- package/resources/loyalty/rule-groups.mjs +36 -0
- package/resources/loyalty/rule-groups.mjs.map +1 -1
- package/resources/loyalty/rules.d.ts +1887 -270
- package/resources/loyalty/rules.d.ts.map +1 -1
- package/resources/loyalty/rules.js +40 -9
- package/resources/loyalty/rules.js.map +1 -1
- package/resources/loyalty/rules.mjs +40 -9
- package/resources/loyalty/rules.mjs.map +1 -1
- package/resources/loyalty/transactions/index.d.ts +3 -0
- package/resources/loyalty/transactions/index.d.ts.map +1 -0
- package/resources/loyalty/transactions/index.js +9 -0
- package/resources/loyalty/transactions/index.js.map +1 -0
- package/resources/loyalty/transactions/index.mjs +4 -0
- package/resources/loyalty/transactions/index.mjs.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts +61 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.js +23 -0
- package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.mjs +19 -0
- package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
- package/resources/loyalty/transactions/transactions.d.ts +292 -0
- package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
- package/resources/loyalty/transactions/transactions.js +61 -0
- package/resources/loyalty/transactions/transactions.js.map +1 -0
- package/resources/loyalty/transactions/transactions.mjs +34 -0
- package/resources/loyalty/transactions/transactions.mjs.map +1 -0
- package/resources/loyalty/transactions.d.ts +1 -247
- package/resources/loyalty/transactions.d.ts.map +1 -1
- package/resources/loyalty/transactions.js +15 -18
- package/resources/loyalty/transactions.js.map +1 -1
- package/resources/loyalty/transactions.mjs +1 -16
- package/resources/loyalty/transactions.mjs.map +1 -1
- package/resources/minting.d.ts +5 -5
- package/resources/minting.d.ts.map +1 -1
- package/resources/referral/referral.d.ts +11 -3
- package/resources/referral/referral.d.ts.map +1 -1
- package/resources/referral/referral.js +11 -5
- package/resources/referral/referral.js.map +1 -1
- package/resources/referral/referral.mjs +11 -5
- package/resources/referral/referral.mjs.map +1 -1
- package/resources/referral/users.d.ts +28 -1
- package/resources/referral/users.d.ts.map +1 -1
- package/resources/referral/users.js +14 -0
- package/resources/referral/users.js.map +1 -1
- package/resources/referral/users.mjs +14 -0
- package/resources/referral/users.mjs.map +1 -1
- package/resources/users/index.d.ts +1 -1
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/index.js.map +1 -1
- package/resources/users/index.mjs.map +1 -1
- package/resources/users/metadatas.d.ts +27 -0
- package/resources/users/metadatas.d.ts.map +1 -1
- package/resources/users/metadatas.js.map +1 -1
- package/resources/users/metadatas.mjs.map +1 -1
- package/resources/users/users.d.ts +159 -6
- package/resources/users/users.d.ts.map +1 -1
- package/resources/users/users.js +53 -1
- package/resources/users/users.js.map +1 -1
- package/resources/users/users.mjs +53 -1
- package/resources/users/users.mjs.map +1 -1
- package/resources/websites/index.d.ts +2 -2
- package/resources/websites/index.d.ts.map +1 -1
- package/resources/websites/index.js.map +1 -1
- package/resources/websites/index.mjs +2 -2
- package/resources/websites/index.mjs.map +1 -1
- package/resources/websites/website-collections.d.ts +0 -69
- package/resources/websites/website-collections.d.ts.map +1 -1
- package/resources/websites/website-collections.js +0 -16
- package/resources/websites/website-collections.js.map +1 -1
- package/resources/websites/website-collections.mjs +0 -16
- package/resources/websites/website-collections.mjs.map +1 -1
- package/resources/websites/website-user-roles.d.ts +23 -0
- package/resources/websites/website-user-roles.d.ts.map +1 -1
- package/resources/websites/website-user-roles.js +23 -0
- package/resources/websites/website-user-roles.js.map +1 -1
- package/resources/websites/website-user-roles.mjs +23 -0
- package/resources/websites/website-user-roles.mjs.map +1 -1
- package/resources/websites/websites.d.ts +8 -98
- package/resources/websites/websites.d.ts.map +1 -1
- package/resources/websites/websites.js +0 -6
- package/resources/websites/websites.js.map +1 -1
- package/resources/websites/websites.mjs +1 -7
- package/resources/websites/websites.mjs.map +1 -1
- package/src/core.ts +39 -16
- package/src/index.ts +30 -11
- package/src/resource.ts +1 -1
- package/src/resources/assets.ts +18 -2
- package/src/resources/auctions/auctions.ts +432 -0
- package/src/resources/auctions/index.ts +16 -0
- package/src/resources/auctions/website-user-attributes/index.ts +10 -0
- package/src/resources/auctions/website-user-attributes/values.ts +97 -0
- package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +137 -0
- package/src/resources/auctions/website-user-attributes.ts +3 -0
- package/src/resources/auctions.ts +1 -207
- package/src/resources/auth.ts +21 -5
- package/src/resources/index.ts +12 -8
- package/src/resources/loyalty/account-streaks.ts +110 -0
- package/src/resources/loyalty/accounts.ts +63 -18
- package/src/resources/loyalty/badges.ts +567 -24
- package/src/resources/loyalty/currencies.ts +19 -0
- package/src/resources/loyalty/index.ts +12 -2
- package/src/resources/loyalty/loyalty.ts +33 -9
- package/src/resources/loyalty/multipliers.ts +43 -4
- package/src/resources/loyalty/questions-responses.ts +45 -0
- package/src/resources/loyalty/questions.ts +38 -2
- package/src/resources/loyalty/rule-edits.ts +3799 -97
- package/src/resources/loyalty/rule-groups.ts +465 -65
- package/src/resources/loyalty/rules.ts +2906 -313
- package/src/resources/loyalty/transactions/index.ts +10 -0
- package/src/resources/loyalty/transactions/rule-statuses.ts +87 -0
- package/src/resources/loyalty/transactions/transactions.ts +520 -0
- package/src/resources/loyalty/transactions.ts +1 -330
- package/src/resources/minting.ts +22 -5
- package/src/resources/referral/referral.ts +13 -11
- package/src/resources/referral/users.ts +33 -2
- package/src/resources/users/index.ts +4 -0
- package/src/resources/users/metadatas.ts +52 -0
- package/src/resources/users/users.ts +213 -5
- package/src/resources/websites/index.ts +2 -13
- package/src/resources/websites/website-collections.ts +1 -145
- package/src/resources/websites/website-user-roles.ts +23 -0
- package/src/resources/websites/websites.ts +8 -134
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/resources/loyalty/rule-chains.d.ts +0 -4
- package/resources/loyalty/rule-chains.d.ts.map +0 -1
- package/resources/loyalty/rule-chains.js +0 -9
- package/resources/loyalty/rule-chains.js.map +0 -1
- package/resources/loyalty/rule-chains.mjs +0 -5
- package/resources/loyalty/rule-chains.mjs.map +0 -1
- package/src/resources/loyalty/rule-chains.ts +0 -5
|
@@ -3,34 +3,92 @@ import * as Core from "../../core.js";
|
|
|
3
3
|
export declare class Rules extends APIResource {
|
|
4
4
|
/**
|
|
5
5
|
* Create a new Loyalty Rule
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const rule = await client.loyalty.rules.create({
|
|
10
|
+
* amount: '10.5',
|
|
11
|
+
* effectiveEndTime: '2024-12-31T23:59:00Z',
|
|
12
|
+
* effectiveStartTime: '2024-01-01T00:00:00Z',
|
|
13
|
+
* endTime: '2024-12-31T23:59:00Z',
|
|
14
|
+
* frequency: 'daily',
|
|
15
|
+
* loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
|
|
16
|
+
* metadata: {},
|
|
17
|
+
* name: 'Referral Bonus Rule',
|
|
18
|
+
* organizationId: '123e4567-e89b-12d3-a456-426614174001',
|
|
19
|
+
* startTime: '2024-01-01T00:00:00Z',
|
|
20
|
+
* type: 'Bonus',
|
|
21
|
+
* websiteId: '123e4567-e89b-12d3-a456-426614174002',
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
6
24
|
*/
|
|
7
25
|
create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
|
|
8
26
|
/**
|
|
9
27
|
* Update an existing Loyalty Rule
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* const rule = await client.loyalty.rules.update(
|
|
32
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
33
|
+
* {
|
|
34
|
+
* amount: '10.5',
|
|
35
|
+
* endTime: '2024-12-31T23:59:00Z',
|
|
36
|
+
* name: 'Daily Rewards Program',
|
|
37
|
+
* },
|
|
38
|
+
* );
|
|
39
|
+
* ```
|
|
10
40
|
*/
|
|
11
41
|
update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
|
|
12
42
|
/**
|
|
13
43
|
* Retrieve configured loyalty rules with optional pagination and filters
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const rules = await client.loyalty.rules.list();
|
|
48
|
+
* ```
|
|
14
49
|
*/
|
|
15
50
|
list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
16
51
|
list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
17
52
|
/**
|
|
18
53
|
* Delete an existing Loyalty Rule
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const rule = await client.loyalty.rules.delete(
|
|
58
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
59
|
+
* );
|
|
60
|
+
* ```
|
|
19
61
|
*/
|
|
62
|
+
delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
|
|
20
63
|
delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
|
|
21
64
|
/**
|
|
22
65
|
* Verify a loyalty rule based on user action and reward them if applicable. This
|
|
23
66
|
* endpoint currently only supports following rule types code_entry, text_input,
|
|
24
67
|
* link_click, discord_member, connect_wallet, check_in, external_rule,
|
|
25
68
|
* drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
|
|
26
|
-
* drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
|
|
69
|
+
* drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
|
|
70
|
+
* youtube_subscribers, youtube_comment, steam_wishlist
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* const response = await client.loyalty.rules.complete(
|
|
75
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
76
|
+
* );
|
|
77
|
+
* ```
|
|
27
78
|
*/
|
|
28
79
|
complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
|
|
29
80
|
complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
|
|
30
81
|
/**
|
|
31
|
-
* This will return the processing status of quests for a specific user
|
|
82
|
+
* This will return the processing status of quests for a specific user and also
|
|
83
|
+
* the progress of the loyalty rule
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* const response = await client.loyalty.rules.getStatus();
|
|
88
|
+
* ```
|
|
32
89
|
*/
|
|
33
|
-
getStatus(query
|
|
90
|
+
getStatus(query?: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
|
|
91
|
+
getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
|
|
34
92
|
}
|
|
35
93
|
export interface RuleCreateResponse {
|
|
36
94
|
id: string;
|
|
@@ -77,7 +135,7 @@ export interface RuleCreateResponse {
|
|
|
77
135
|
/**
|
|
78
136
|
* Type of loyalty rule being created
|
|
79
137
|
*/
|
|
80
|
-
type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
|
|
138
|
+
type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'connected_tiktok';
|
|
81
139
|
/**
|
|
82
140
|
* Unique identifier for the associated website
|
|
83
141
|
*/
|
|
@@ -86,6 +144,10 @@ export interface RuleCreateResponse {
|
|
|
86
144
|
* URL of the background asset to be displayed
|
|
87
145
|
*/
|
|
88
146
|
backgroundAssetUrl?: string;
|
|
147
|
+
/**
|
|
148
|
+
* The type of claim for the reward
|
|
149
|
+
*/
|
|
150
|
+
claimType?: 'manual' | 'auto' | null;
|
|
89
151
|
/**
|
|
90
152
|
* Blockchain address of the associated collection
|
|
91
153
|
*/
|
|
@@ -106,6 +168,11 @@ export interface RuleCreateResponse {
|
|
|
106
168
|
* Optional detailed description of the rule
|
|
107
169
|
*/
|
|
108
170
|
description?: string;
|
|
171
|
+
duplicatedFromId?: string | null;
|
|
172
|
+
/**
|
|
173
|
+
* ID of the external integration
|
|
174
|
+
*/
|
|
175
|
+
externalIntegrationId?: string | null;
|
|
109
176
|
/**
|
|
110
177
|
* Whether to hide this rule in the user interface
|
|
111
178
|
*/
|
|
@@ -113,15 +180,33 @@ export interface RuleCreateResponse {
|
|
|
113
180
|
/**
|
|
114
181
|
* Interval between rule executions
|
|
115
182
|
*/
|
|
116
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
183
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
117
184
|
/**
|
|
118
185
|
* Whether this rule is mandatory
|
|
119
186
|
*/
|
|
120
187
|
isRequired?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Unique identifier for the loyalty badge
|
|
190
|
+
*/
|
|
191
|
+
loyaltyBadgeId?: string | null;
|
|
121
192
|
/**
|
|
122
193
|
* Unique identifier for the loyalty rule group
|
|
123
194
|
*/
|
|
124
195
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
196
|
+
/**
|
|
197
|
+
* URL for uploading loyalty user allotment via CSV
|
|
198
|
+
*/
|
|
199
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
200
|
+
/**
|
|
201
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
202
|
+
* rules.
|
|
203
|
+
*/
|
|
204
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
205
|
+
/**
|
|
206
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
207
|
+
* smart contract and external rules.
|
|
208
|
+
*/
|
|
209
|
+
maxAmountPerInterval?: number | null;
|
|
125
210
|
/**
|
|
126
211
|
* URL of the media to be displayed
|
|
127
212
|
*/
|
|
@@ -129,25 +214,41 @@ export interface RuleCreateResponse {
|
|
|
129
214
|
/**
|
|
130
215
|
* Blockchain network where the rule will apply
|
|
131
216
|
*/
|
|
132
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
217
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
133
218
|
/**
|
|
134
219
|
* OAuth credentials associated with the rule
|
|
135
220
|
*/
|
|
136
221
|
oauthCredentialsId?: string | null;
|
|
222
|
+
/**
|
|
223
|
+
* The lifetime of the reward
|
|
224
|
+
*/
|
|
225
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
137
226
|
/**
|
|
138
227
|
* Type of reward issued by the rule
|
|
139
228
|
*/
|
|
140
|
-
rewardType?: 'points' | 'multiplier';
|
|
229
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
230
|
+
/**
|
|
231
|
+
* URL of the Shopify store
|
|
232
|
+
*/
|
|
233
|
+
shopifyStoreUrl?: string | null;
|
|
141
234
|
/**
|
|
142
|
-
*
|
|
235
|
+
* Whether to show this rule before the start time
|
|
143
236
|
*/
|
|
144
|
-
|
|
237
|
+
showBeforeStart?: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Optional subscription id for the rule
|
|
240
|
+
*/
|
|
241
|
+
subscriptionId?: string | null;
|
|
145
242
|
}
|
|
146
243
|
export declare namespace RuleCreateResponse {
|
|
147
244
|
/**
|
|
148
245
|
* Additional metadata for the loyalty rule
|
|
149
246
|
*/
|
|
150
247
|
interface Metadata {
|
|
248
|
+
/**
|
|
249
|
+
* Number of tokens per batch.
|
|
250
|
+
*/
|
|
251
|
+
batchSize?: number | null;
|
|
151
252
|
/**
|
|
152
253
|
* Text displayed on the action button.
|
|
153
254
|
*/
|
|
@@ -167,7 +268,7 @@ export declare namespace RuleCreateResponse {
|
|
|
167
268
|
/**
|
|
168
269
|
* Text to check in the Twitter post, username, or bio.
|
|
169
270
|
*/
|
|
170
|
-
checkText?: string | null;
|
|
271
|
+
checkText?: string | Array<string> | null;
|
|
171
272
|
/**
|
|
172
273
|
* Array of collections associated with the rule.
|
|
173
274
|
*/
|
|
@@ -175,7 +276,13 @@ export declare namespace RuleCreateResponse {
|
|
|
175
276
|
/**
|
|
176
277
|
* Conditions for completing the profile.
|
|
177
278
|
*/
|
|
178
|
-
completeProfileConditions?:
|
|
279
|
+
completeProfileConditions?: {
|
|
280
|
+
[key: string]: boolean;
|
|
281
|
+
} | null;
|
|
282
|
+
/**
|
|
283
|
+
* Description of the external rule condition (only for external rules)
|
|
284
|
+
*/
|
|
285
|
+
conditionDescription?: string;
|
|
179
286
|
/**
|
|
180
287
|
* Object containing details for the call-to-action.
|
|
181
288
|
*/
|
|
@@ -184,6 +291,10 @@ export declare namespace RuleCreateResponse {
|
|
|
184
291
|
* API key for custom rewards integration.
|
|
185
292
|
*/
|
|
186
293
|
customRewardsApiKey?: string;
|
|
294
|
+
/**
|
|
295
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
296
|
+
*/
|
|
297
|
+
directRpc?: boolean;
|
|
187
298
|
/**
|
|
188
299
|
* Array of Discord servers, channels, and roles to join.
|
|
189
300
|
*/
|
|
@@ -204,6 +315,10 @@ export declare namespace RuleCreateResponse {
|
|
|
204
315
|
* Flag indicating whether the verified multiplier is enabled.
|
|
205
316
|
*/
|
|
206
317
|
enableVerifiedMultiplier?: boolean;
|
|
318
|
+
/**
|
|
319
|
+
* Type of ERC20 token for the loyalty rule.
|
|
320
|
+
*/
|
|
321
|
+
erc20Type?: 'erc20' | 'native';
|
|
207
322
|
/**
|
|
208
323
|
* Fill source of the order for the token sale
|
|
209
324
|
*/
|
|
@@ -220,10 +335,6 @@ export declare namespace RuleCreateResponse {
|
|
|
220
335
|
* Indicates if the item has never been sold.
|
|
221
336
|
*/
|
|
222
337
|
hasNeverSold?: boolean;
|
|
223
|
-
/**
|
|
224
|
-
* Flag indicating whether the order source is included.
|
|
225
|
-
*/
|
|
226
|
-
hasOrderSource?: boolean;
|
|
227
338
|
/**
|
|
228
339
|
* Indicates if the full royalty has been paid for items.
|
|
229
340
|
*/
|
|
@@ -240,10 +351,18 @@ export declare namespace RuleCreateResponse {
|
|
|
240
351
|
* URL of the image associated with the rule.
|
|
241
352
|
*/
|
|
242
353
|
imageUrl?: string | null;
|
|
354
|
+
/**
|
|
355
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
356
|
+
*/
|
|
357
|
+
isCheckInOnEveryTxn?: boolean;
|
|
243
358
|
/**
|
|
244
359
|
* Indicates if the multiplier has been applied to rewards.
|
|
245
360
|
*/
|
|
246
361
|
isMultiplierApplied?: boolean;
|
|
362
|
+
/**
|
|
363
|
+
* Flag indicating if the rule is restricted to new users.
|
|
364
|
+
*/
|
|
365
|
+
isRestrictedToNewUsers?: boolean;
|
|
247
366
|
/**
|
|
248
367
|
* Flag indicating if rewards are applied retroactively.
|
|
249
368
|
*/
|
|
@@ -256,6 +375,10 @@ export declare namespace RuleCreateResponse {
|
|
|
256
375
|
* Optional link associated with the metadata.
|
|
257
376
|
*/
|
|
258
377
|
link?: string | null;
|
|
378
|
+
/**
|
|
379
|
+
* Liquidity pool details.
|
|
380
|
+
*/
|
|
381
|
+
liquidity?: Metadata.Liquidity;
|
|
259
382
|
/**
|
|
260
383
|
* Maximum quantity constraint for token holding.
|
|
261
384
|
*/
|
|
@@ -288,14 +411,22 @@ export declare namespace RuleCreateResponse {
|
|
|
288
411
|
* give points for only one token ownership per contract
|
|
289
412
|
*/
|
|
290
413
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
291
|
-
/**
|
|
292
|
-
* Order source of the order for the token sale
|
|
293
|
-
*/
|
|
294
|
-
orderSource?: string;
|
|
295
414
|
/**
|
|
296
415
|
* Promotional code associated with the rule.
|
|
297
416
|
*/
|
|
298
417
|
promoCode?: string;
|
|
418
|
+
/**
|
|
419
|
+
* URL of the CSV file containing promo codes.
|
|
420
|
+
*/
|
|
421
|
+
promoCodeCsvUrl?: string;
|
|
422
|
+
/**
|
|
423
|
+
* Numbers of the promotional code to be generated.
|
|
424
|
+
*/
|
|
425
|
+
promoCodeLength?: number | null;
|
|
426
|
+
/**
|
|
427
|
+
* Type of the promotional code.
|
|
428
|
+
*/
|
|
429
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
299
430
|
/**
|
|
300
431
|
* Array defining ranges and corresponding rewards.
|
|
301
432
|
*/
|
|
@@ -308,10 +439,51 @@ export declare namespace RuleCreateResponse {
|
|
|
308
439
|
* Lump sum reward given to a referrer.
|
|
309
440
|
*/
|
|
310
441
|
referrerReward?: number | null;
|
|
442
|
+
/**
|
|
443
|
+
* Loyalty currency ID of the referrer reward.
|
|
444
|
+
*/
|
|
445
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
446
|
+
/**
|
|
447
|
+
* Flag indicating if the post link is required.
|
|
448
|
+
*/
|
|
449
|
+
requirePostLink?: boolean | null;
|
|
450
|
+
/**
|
|
451
|
+
* Flag indicating if media metadata is required.
|
|
452
|
+
*/
|
|
453
|
+
requirePostMediaLink?: boolean | null;
|
|
454
|
+
/**
|
|
455
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
456
|
+
*/
|
|
457
|
+
rewardBadgePerRange?: boolean;
|
|
458
|
+
/**
|
|
459
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
460
|
+
*/
|
|
461
|
+
rewardByBatch?: boolean | null;
|
|
462
|
+
/**
|
|
463
|
+
* Criteria to evaluate the reward.
|
|
464
|
+
*/
|
|
465
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
466
|
+
/**
|
|
467
|
+
* Flag indicating if the reward is rewarded per action.
|
|
468
|
+
*/
|
|
469
|
+
rewardPerAction?: boolean | null;
|
|
311
470
|
/**
|
|
312
471
|
* Flag indicating if rewards are given per impression.
|
|
313
472
|
*/
|
|
314
473
|
rewardPerImpression?: boolean | null;
|
|
474
|
+
/**
|
|
475
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
476
|
+
* instead of count.
|
|
477
|
+
*/
|
|
478
|
+
rewardPerValue?: boolean;
|
|
479
|
+
/**
|
|
480
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
481
|
+
*/
|
|
482
|
+
royaltyAddress?: string;
|
|
483
|
+
/**
|
|
484
|
+
* Royalty percentage of the item.
|
|
485
|
+
*/
|
|
486
|
+
royaltyPercentage?: number;
|
|
315
487
|
/**
|
|
316
488
|
* Currency associated with sales.
|
|
317
489
|
*/
|
|
@@ -335,7 +507,7 @@ export declare namespace RuleCreateResponse {
|
|
|
335
507
|
/**
|
|
336
508
|
* Social media platform associated with the rule.
|
|
337
509
|
*/
|
|
338
|
-
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
|
|
510
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
|
|
339
511
|
/**
|
|
340
512
|
* URL of the social platform's logo.
|
|
341
513
|
*/
|
|
@@ -344,10 +516,18 @@ export declare namespace RuleCreateResponse {
|
|
|
344
516
|
* Name of the social platform.
|
|
345
517
|
*/
|
|
346
518
|
socialPlatformName?: string | null;
|
|
519
|
+
/**
|
|
520
|
+
* ID of the Steam app.
|
|
521
|
+
*/
|
|
522
|
+
steamAppId?: string | null;
|
|
347
523
|
/**
|
|
348
524
|
* Array of streak milestones and corresponding rewards.
|
|
349
525
|
*/
|
|
350
526
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
527
|
+
/**
|
|
528
|
+
* Metadata for swap loyalty rules
|
|
529
|
+
*/
|
|
530
|
+
swap?: Metadata.Swap;
|
|
351
531
|
/**
|
|
352
532
|
* ID of the Telegram channel.
|
|
353
533
|
*/
|
|
@@ -360,6 +540,11 @@ export declare namespace RuleCreateResponse {
|
|
|
360
540
|
* Flag indicating if all contracts are tracked.
|
|
361
541
|
*/
|
|
362
542
|
trackAllContracts?: boolean | null;
|
|
543
|
+
/**
|
|
544
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
545
|
+
* completed once the progress is 100%.
|
|
546
|
+
*/
|
|
547
|
+
trackProgress?: boolean | null;
|
|
363
548
|
/**
|
|
364
549
|
* URL of the associated Twitter account.
|
|
365
550
|
*/
|
|
@@ -395,7 +580,15 @@ export declare namespace RuleCreateResponse {
|
|
|
395
580
|
/**
|
|
396
581
|
* Type of wallet associated with the rule.
|
|
397
582
|
*/
|
|
398
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
583
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | null;
|
|
584
|
+
/**
|
|
585
|
+
* ID of the Youtube channel.
|
|
586
|
+
*/
|
|
587
|
+
youtubeChannelId?: string | null;
|
|
588
|
+
/**
|
|
589
|
+
* ID of the Youtube video.
|
|
590
|
+
*/
|
|
591
|
+
youtubeVideoId?: string | null;
|
|
399
592
|
}
|
|
400
593
|
namespace Metadata {
|
|
401
594
|
interface Collection {
|
|
@@ -410,7 +603,7 @@ export declare namespace RuleCreateResponse {
|
|
|
410
603
|
/**
|
|
411
604
|
* Blockchain network of the collection.
|
|
412
605
|
*/
|
|
413
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
606
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
414
607
|
}
|
|
415
608
|
/**
|
|
416
609
|
* Object containing details for the call-to-action.
|
|
@@ -475,6 +668,49 @@ export declare namespace RuleCreateResponse {
|
|
|
475
668
|
*/
|
|
476
669
|
id: string;
|
|
477
670
|
}
|
|
671
|
+
/**
|
|
672
|
+
* Liquidity pool details.
|
|
673
|
+
*/
|
|
674
|
+
interface Liquidity {
|
|
675
|
+
/**
|
|
676
|
+
* Calculation type of the liquidity pool.
|
|
677
|
+
*/
|
|
678
|
+
calculationType?: 'fixed' | 'custom';
|
|
679
|
+
/**
|
|
680
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
681
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
682
|
+
* USD.
|
|
683
|
+
*/
|
|
684
|
+
customFunction?: string;
|
|
685
|
+
/**
|
|
686
|
+
* Liquidity provided per day in USD
|
|
687
|
+
*/
|
|
688
|
+
liquidityPerDay?: number;
|
|
689
|
+
/**
|
|
690
|
+
* Blockchain network of the liquidity pool.
|
|
691
|
+
*/
|
|
692
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
693
|
+
/**
|
|
694
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
695
|
+
*/
|
|
696
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
697
|
+
/**
|
|
698
|
+
* Array of liquidity pools associated with the rule.
|
|
699
|
+
*/
|
|
700
|
+
pools?: Array<Liquidity.Pool>;
|
|
701
|
+
/**
|
|
702
|
+
* Protocol of the liquidity pool.
|
|
703
|
+
*/
|
|
704
|
+
protocol?: string;
|
|
705
|
+
}
|
|
706
|
+
namespace Liquidity {
|
|
707
|
+
interface Pool {
|
|
708
|
+
/**
|
|
709
|
+
* Unique identifier of the liquidity pool.
|
|
710
|
+
*/
|
|
711
|
+
id: string;
|
|
712
|
+
}
|
|
713
|
+
}
|
|
478
714
|
interface Range {
|
|
479
715
|
/**
|
|
480
716
|
* Reward amount for this range.
|
|
@@ -488,6 +724,14 @@ export declare namespace RuleCreateResponse {
|
|
|
488
724
|
* Start value of the range.
|
|
489
725
|
*/
|
|
490
726
|
startRange: number;
|
|
727
|
+
/**
|
|
728
|
+
* ID of the loyalty badge for this range.
|
|
729
|
+
*/
|
|
730
|
+
loyaltyBadgeId?: string;
|
|
731
|
+
/**
|
|
732
|
+
* Amount of the loyalty multiplier for this range.
|
|
733
|
+
*/
|
|
734
|
+
loyaltyMultiplierAmount?: number;
|
|
491
735
|
}
|
|
492
736
|
/**
|
|
493
737
|
* Object defining referral requirements.
|
|
@@ -531,18 +775,14 @@ export declare namespace RuleCreateResponse {
|
|
|
531
775
|
* Object containing details of the associated smart contract.
|
|
532
776
|
*/
|
|
533
777
|
interface SmartContract {
|
|
534
|
-
/**
|
|
535
|
-
* ABI of the smart contract.
|
|
536
|
-
*/
|
|
537
|
-
abi?: string | null;
|
|
538
778
|
/**
|
|
539
779
|
* Mapping of addresses for the smart contract.
|
|
540
780
|
*/
|
|
541
781
|
addressMapping?: string | null;
|
|
542
782
|
/**
|
|
543
|
-
*
|
|
783
|
+
* Object containing details of the amount multiplier from the event.
|
|
544
784
|
*/
|
|
545
|
-
|
|
785
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
546
786
|
/**
|
|
547
787
|
* ID of the smart contract.
|
|
548
788
|
*/
|
|
@@ -551,58 +791,28 @@ export declare namespace RuleCreateResponse {
|
|
|
551
791
|
* Criteria to evaluate the smart contract event.
|
|
552
792
|
*/
|
|
553
793
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
554
|
-
/**
|
|
555
|
-
* Time range applied to the rule.
|
|
556
|
-
*/
|
|
557
|
-
customRange?: SmartContract.CustomRange | null;
|
|
558
794
|
/**
|
|
559
795
|
* Event emitted by the smart contract.
|
|
560
796
|
*/
|
|
561
797
|
event?: string | null;
|
|
562
|
-
/**
|
|
563
|
-
* Maximum value allowed for the parameter.
|
|
564
|
-
*/
|
|
565
|
-
max?: number | null;
|
|
566
798
|
/**
|
|
567
799
|
* Array of parameters for the smart contract.
|
|
568
800
|
*/
|
|
569
801
|
params?: Array<SmartContract.Param> | null;
|
|
570
802
|
/**
|
|
571
|
-
*
|
|
803
|
+
* Type of the smart contract interaction.
|
|
572
804
|
*/
|
|
573
|
-
|
|
574
|
-
/**
|
|
575
|
-
* Flag indicating if a custom range is applied.
|
|
576
|
-
*/
|
|
577
|
-
withCustomRange?: boolean | null;
|
|
578
|
-
/**
|
|
579
|
-
* Flag indicating if a maximum limit is applied.
|
|
580
|
-
*/
|
|
581
|
-
withMax?: boolean | null;
|
|
805
|
+
type?: 'function' | 'event' | null;
|
|
582
806
|
}
|
|
583
807
|
namespace SmartContract {
|
|
584
|
-
interface Bonus {
|
|
585
|
-
/**
|
|
586
|
-
* Amount of the bonus.
|
|
587
|
-
*/
|
|
588
|
-
amount?: number | null;
|
|
589
|
-
/**
|
|
590
|
-
* Number of times the bonus is applied.
|
|
591
|
-
*/
|
|
592
|
-
count?: number | null;
|
|
593
|
-
}
|
|
594
808
|
/**
|
|
595
|
-
*
|
|
809
|
+
* Object containing details of the amount multiplier from the event.
|
|
596
810
|
*/
|
|
597
|
-
interface
|
|
598
|
-
/**
|
|
599
|
-
* End time of the custom range.
|
|
600
|
-
*/
|
|
601
|
-
endsAt?: string | null;
|
|
811
|
+
interface AmountMultiplier {
|
|
602
812
|
/**
|
|
603
|
-
*
|
|
813
|
+
* Mapping of the value for the smart contract.
|
|
604
814
|
*/
|
|
605
|
-
|
|
815
|
+
valueMapping?: string | null;
|
|
606
816
|
}
|
|
607
817
|
interface Param {
|
|
608
818
|
/**
|
|
@@ -639,6 +849,24 @@ export declare namespace RuleCreateResponse {
|
|
|
639
849
|
*/
|
|
640
850
|
streakMilestone: number;
|
|
641
851
|
}
|
|
852
|
+
/**
|
|
853
|
+
* Metadata for swap loyalty rules
|
|
854
|
+
*/
|
|
855
|
+
interface Swap {
|
|
856
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
857
|
+
relayReferrerId?: string;
|
|
858
|
+
requireCrossChainSwap?: boolean;
|
|
859
|
+
swappedToChain?: 'any' | number | string;
|
|
860
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
861
|
+
tokenMode?: 'any' | 'specific';
|
|
862
|
+
trackTokenAmount?: boolean;
|
|
863
|
+
}
|
|
864
|
+
namespace Swap {
|
|
865
|
+
interface SwappedToToken {
|
|
866
|
+
address: string;
|
|
867
|
+
chainId: string;
|
|
868
|
+
}
|
|
869
|
+
}
|
|
642
870
|
}
|
|
643
871
|
interface Collection {
|
|
644
872
|
/**
|
|
@@ -648,7 +876,11 @@ export declare namespace RuleCreateResponse {
|
|
|
648
876
|
/**
|
|
649
877
|
* Blockchain network for the collection
|
|
650
878
|
*/
|
|
651
|
-
network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
879
|
+
network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
880
|
+
/**
|
|
881
|
+
* Symbol of the collection.
|
|
882
|
+
*/
|
|
883
|
+
symbol?: string;
|
|
652
884
|
}
|
|
653
885
|
}
|
|
654
886
|
export interface RuleUpdateResponse {
|
|
@@ -665,10 +897,14 @@ export interface RuleUpdateResponse {
|
|
|
665
897
|
* Name of the loyalty rule
|
|
666
898
|
*/
|
|
667
899
|
name: string;
|
|
900
|
+
/**
|
|
901
|
+
* The type of claim for the reward
|
|
902
|
+
*/
|
|
903
|
+
claimType?: 'manual' | 'auto' | null;
|
|
668
904
|
/**
|
|
669
905
|
* Blockchain address of the associated collection
|
|
670
906
|
*/
|
|
671
|
-
collectionAddress?: string;
|
|
907
|
+
collectionAddress?: string | null;
|
|
672
908
|
/**
|
|
673
909
|
* List of associated collections
|
|
674
910
|
*/
|
|
@@ -693,6 +929,10 @@ export interface RuleUpdateResponse {
|
|
|
693
929
|
* Effective start time of the rule
|
|
694
930
|
*/
|
|
695
931
|
effectiveStartTime?: string | null;
|
|
932
|
+
/**
|
|
933
|
+
* ID of the external integration
|
|
934
|
+
*/
|
|
935
|
+
externalIntegrationId?: string | null;
|
|
696
936
|
/**
|
|
697
937
|
* Frequency of the rule execution
|
|
698
938
|
*/
|
|
@@ -704,7 +944,7 @@ export interface RuleUpdateResponse {
|
|
|
704
944
|
/**
|
|
705
945
|
* Time interval for recurring rule execution
|
|
706
946
|
*/
|
|
707
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
947
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
708
948
|
/**
|
|
709
949
|
* Whether this rule is required for participation
|
|
710
950
|
*/
|
|
@@ -713,6 +953,16 @@ export interface RuleUpdateResponse {
|
|
|
713
953
|
* ID of the rule group section to associate with the rule
|
|
714
954
|
*/
|
|
715
955
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
956
|
+
/**
|
|
957
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
958
|
+
* rules.
|
|
959
|
+
*/
|
|
960
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
961
|
+
/**
|
|
962
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
963
|
+
* smart contract and external rules.
|
|
964
|
+
*/
|
|
965
|
+
maxAmountPerInterval?: number | null;
|
|
716
966
|
/**
|
|
717
967
|
* URL of the media to be displayed
|
|
718
968
|
*/
|
|
@@ -724,23 +974,35 @@ export interface RuleUpdateResponse {
|
|
|
724
974
|
/**
|
|
725
975
|
* Blockchain network where the rule will apply
|
|
726
976
|
*/
|
|
727
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
977
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
728
978
|
/**
|
|
729
979
|
* ID for associated OAuth credentials
|
|
730
980
|
*/
|
|
731
981
|
oauthCredentialsId?: string | null;
|
|
982
|
+
/**
|
|
983
|
+
* The lifetime of the reward
|
|
984
|
+
*/
|
|
985
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
732
986
|
/**
|
|
733
987
|
* Type of reward issued by this rule
|
|
734
988
|
*/
|
|
735
|
-
rewardType?: 'points' | 'multiplier';
|
|
989
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
990
|
+
/**
|
|
991
|
+
* URL of the Shopify store
|
|
992
|
+
*/
|
|
993
|
+
shopifyStoreUrl?: string | null;
|
|
994
|
+
/**
|
|
995
|
+
* Whether to show this rule before the start time
|
|
996
|
+
*/
|
|
997
|
+
showBeforeStart?: boolean;
|
|
736
998
|
/**
|
|
737
999
|
* Start time for the loyalty rule
|
|
738
1000
|
*/
|
|
739
1001
|
startTime?: string | null;
|
|
740
1002
|
/**
|
|
741
|
-
* Optional subscription
|
|
1003
|
+
* Optional subscription id for the rule
|
|
742
1004
|
*/
|
|
743
|
-
|
|
1005
|
+
subscriptionId?: string | null;
|
|
744
1006
|
}
|
|
745
1007
|
export declare namespace RuleUpdateResponse {
|
|
746
1008
|
interface Collection {
|
|
@@ -751,12 +1013,20 @@ export declare namespace RuleUpdateResponse {
|
|
|
751
1013
|
/**
|
|
752
1014
|
* Blockchain network for the collection
|
|
753
1015
|
*/
|
|
754
|
-
network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
1016
|
+
network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
1017
|
+
/**
|
|
1018
|
+
* Symbol of the collection.
|
|
1019
|
+
*/
|
|
1020
|
+
symbol?: string;
|
|
755
1021
|
}
|
|
756
1022
|
/**
|
|
757
1023
|
* Additional metadata for the loyalty rule
|
|
758
1024
|
*/
|
|
759
1025
|
interface Metadata {
|
|
1026
|
+
/**
|
|
1027
|
+
* Number of tokens per batch.
|
|
1028
|
+
*/
|
|
1029
|
+
batchSize?: number | null;
|
|
760
1030
|
/**
|
|
761
1031
|
* Text displayed on the action button.
|
|
762
1032
|
*/
|
|
@@ -776,7 +1046,7 @@ export declare namespace RuleUpdateResponse {
|
|
|
776
1046
|
/**
|
|
777
1047
|
* Text to check in the Twitter post, username, or bio.
|
|
778
1048
|
*/
|
|
779
|
-
checkText?: string | null;
|
|
1049
|
+
checkText?: string | Array<string> | null;
|
|
780
1050
|
/**
|
|
781
1051
|
* Array of collections associated with the rule.
|
|
782
1052
|
*/
|
|
@@ -784,7 +1054,13 @@ export declare namespace RuleUpdateResponse {
|
|
|
784
1054
|
/**
|
|
785
1055
|
* Conditions for completing the profile.
|
|
786
1056
|
*/
|
|
787
|
-
completeProfileConditions?:
|
|
1057
|
+
completeProfileConditions?: {
|
|
1058
|
+
[key: string]: boolean;
|
|
1059
|
+
} | null;
|
|
1060
|
+
/**
|
|
1061
|
+
* Description of the external rule condition (only for external rules)
|
|
1062
|
+
*/
|
|
1063
|
+
conditionDescription?: string;
|
|
788
1064
|
/**
|
|
789
1065
|
* Object containing details for the call-to-action.
|
|
790
1066
|
*/
|
|
@@ -793,6 +1069,10 @@ export declare namespace RuleUpdateResponse {
|
|
|
793
1069
|
* API key for custom rewards integration.
|
|
794
1070
|
*/
|
|
795
1071
|
customRewardsApiKey?: string;
|
|
1072
|
+
/**
|
|
1073
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1074
|
+
*/
|
|
1075
|
+
directRpc?: boolean;
|
|
796
1076
|
/**
|
|
797
1077
|
* Array of Discord servers, channels, and roles to join.
|
|
798
1078
|
*/
|
|
@@ -813,6 +1093,10 @@ export declare namespace RuleUpdateResponse {
|
|
|
813
1093
|
* Flag indicating whether the verified multiplier is enabled.
|
|
814
1094
|
*/
|
|
815
1095
|
enableVerifiedMultiplier?: boolean;
|
|
1096
|
+
/**
|
|
1097
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1098
|
+
*/
|
|
1099
|
+
erc20Type?: 'erc20' | 'native';
|
|
816
1100
|
/**
|
|
817
1101
|
* Fill source of the order for the token sale
|
|
818
1102
|
*/
|
|
@@ -829,10 +1113,6 @@ export declare namespace RuleUpdateResponse {
|
|
|
829
1113
|
* Indicates if the item has never been sold.
|
|
830
1114
|
*/
|
|
831
1115
|
hasNeverSold?: boolean;
|
|
832
|
-
/**
|
|
833
|
-
* Flag indicating whether the order source is included.
|
|
834
|
-
*/
|
|
835
|
-
hasOrderSource?: boolean;
|
|
836
1116
|
/**
|
|
837
1117
|
* Indicates if the full royalty has been paid for items.
|
|
838
1118
|
*/
|
|
@@ -849,10 +1129,18 @@ export declare namespace RuleUpdateResponse {
|
|
|
849
1129
|
* URL of the image associated with the rule.
|
|
850
1130
|
*/
|
|
851
1131
|
imageUrl?: string | null;
|
|
1132
|
+
/**
|
|
1133
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1134
|
+
*/
|
|
1135
|
+
isCheckInOnEveryTxn?: boolean;
|
|
852
1136
|
/**
|
|
853
1137
|
* Indicates if the multiplier has been applied to rewards.
|
|
854
1138
|
*/
|
|
855
1139
|
isMultiplierApplied?: boolean;
|
|
1140
|
+
/**
|
|
1141
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1142
|
+
*/
|
|
1143
|
+
isRestrictedToNewUsers?: boolean;
|
|
856
1144
|
/**
|
|
857
1145
|
* Flag indicating if rewards are applied retroactively.
|
|
858
1146
|
*/
|
|
@@ -865,6 +1153,10 @@ export declare namespace RuleUpdateResponse {
|
|
|
865
1153
|
* Optional link associated with the metadata.
|
|
866
1154
|
*/
|
|
867
1155
|
link?: string | null;
|
|
1156
|
+
/**
|
|
1157
|
+
* Liquidity pool details.
|
|
1158
|
+
*/
|
|
1159
|
+
liquidity?: Metadata.Liquidity;
|
|
868
1160
|
/**
|
|
869
1161
|
* Maximum quantity constraint for token holding.
|
|
870
1162
|
*/
|
|
@@ -897,14 +1189,22 @@ export declare namespace RuleUpdateResponse {
|
|
|
897
1189
|
* give points for only one token ownership per contract
|
|
898
1190
|
*/
|
|
899
1191
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
900
|
-
/**
|
|
901
|
-
* Order source of the order for the token sale
|
|
902
|
-
*/
|
|
903
|
-
orderSource?: string;
|
|
904
1192
|
/**
|
|
905
1193
|
* Promotional code associated with the rule.
|
|
906
1194
|
*/
|
|
907
1195
|
promoCode?: string;
|
|
1196
|
+
/**
|
|
1197
|
+
* URL of the CSV file containing promo codes.
|
|
1198
|
+
*/
|
|
1199
|
+
promoCodeCsvUrl?: string;
|
|
1200
|
+
/**
|
|
1201
|
+
* Numbers of the promotional code to be generated.
|
|
1202
|
+
*/
|
|
1203
|
+
promoCodeLength?: number | null;
|
|
1204
|
+
/**
|
|
1205
|
+
* Type of the promotional code.
|
|
1206
|
+
*/
|
|
1207
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
908
1208
|
/**
|
|
909
1209
|
* Array defining ranges and corresponding rewards.
|
|
910
1210
|
*/
|
|
@@ -917,10 +1217,51 @@ export declare namespace RuleUpdateResponse {
|
|
|
917
1217
|
* Lump sum reward given to a referrer.
|
|
918
1218
|
*/
|
|
919
1219
|
referrerReward?: number | null;
|
|
1220
|
+
/**
|
|
1221
|
+
* Loyalty currency ID of the referrer reward.
|
|
1222
|
+
*/
|
|
1223
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1224
|
+
/**
|
|
1225
|
+
* Flag indicating if the post link is required.
|
|
1226
|
+
*/
|
|
1227
|
+
requirePostLink?: boolean | null;
|
|
1228
|
+
/**
|
|
1229
|
+
* Flag indicating if media metadata is required.
|
|
1230
|
+
*/
|
|
1231
|
+
requirePostMediaLink?: boolean | null;
|
|
1232
|
+
/**
|
|
1233
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1234
|
+
*/
|
|
1235
|
+
rewardBadgePerRange?: boolean;
|
|
1236
|
+
/**
|
|
1237
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1238
|
+
*/
|
|
1239
|
+
rewardByBatch?: boolean | null;
|
|
1240
|
+
/**
|
|
1241
|
+
* Criteria to evaluate the reward.
|
|
1242
|
+
*/
|
|
1243
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1244
|
+
/**
|
|
1245
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1246
|
+
*/
|
|
1247
|
+
rewardPerAction?: boolean | null;
|
|
920
1248
|
/**
|
|
921
1249
|
* Flag indicating if rewards are given per impression.
|
|
922
1250
|
*/
|
|
923
1251
|
rewardPerImpression?: boolean | null;
|
|
1252
|
+
/**
|
|
1253
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
1254
|
+
* instead of count.
|
|
1255
|
+
*/
|
|
1256
|
+
rewardPerValue?: boolean;
|
|
1257
|
+
/**
|
|
1258
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
1259
|
+
*/
|
|
1260
|
+
royaltyAddress?: string;
|
|
1261
|
+
/**
|
|
1262
|
+
* Royalty percentage of the item.
|
|
1263
|
+
*/
|
|
1264
|
+
royaltyPercentage?: number;
|
|
924
1265
|
/**
|
|
925
1266
|
* Currency associated with sales.
|
|
926
1267
|
*/
|
|
@@ -944,7 +1285,7 @@ export declare namespace RuleUpdateResponse {
|
|
|
944
1285
|
/**
|
|
945
1286
|
* Social media platform associated with the rule.
|
|
946
1287
|
*/
|
|
947
|
-
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
|
|
1288
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
|
|
948
1289
|
/**
|
|
949
1290
|
* URL of the social platform's logo.
|
|
950
1291
|
*/
|
|
@@ -953,10 +1294,18 @@ export declare namespace RuleUpdateResponse {
|
|
|
953
1294
|
* Name of the social platform.
|
|
954
1295
|
*/
|
|
955
1296
|
socialPlatformName?: string | null;
|
|
1297
|
+
/**
|
|
1298
|
+
* ID of the Steam app.
|
|
1299
|
+
*/
|
|
1300
|
+
steamAppId?: string | null;
|
|
956
1301
|
/**
|
|
957
1302
|
* Array of streak milestones and corresponding rewards.
|
|
958
1303
|
*/
|
|
959
1304
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1305
|
+
/**
|
|
1306
|
+
* Metadata for swap loyalty rules
|
|
1307
|
+
*/
|
|
1308
|
+
swap?: Metadata.Swap;
|
|
960
1309
|
/**
|
|
961
1310
|
* ID of the Telegram channel.
|
|
962
1311
|
*/
|
|
@@ -969,6 +1318,11 @@ export declare namespace RuleUpdateResponse {
|
|
|
969
1318
|
* Flag indicating if all contracts are tracked.
|
|
970
1319
|
*/
|
|
971
1320
|
trackAllContracts?: boolean | null;
|
|
1321
|
+
/**
|
|
1322
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
1323
|
+
* completed once the progress is 100%.
|
|
1324
|
+
*/
|
|
1325
|
+
trackProgress?: boolean | null;
|
|
972
1326
|
/**
|
|
973
1327
|
* URL of the associated Twitter account.
|
|
974
1328
|
*/
|
|
@@ -1004,7 +1358,15 @@ export declare namespace RuleUpdateResponse {
|
|
|
1004
1358
|
/**
|
|
1005
1359
|
* Type of wallet associated with the rule.
|
|
1006
1360
|
*/
|
|
1007
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
1361
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | null;
|
|
1362
|
+
/**
|
|
1363
|
+
* ID of the Youtube channel.
|
|
1364
|
+
*/
|
|
1365
|
+
youtubeChannelId?: string | null;
|
|
1366
|
+
/**
|
|
1367
|
+
* ID of the Youtube video.
|
|
1368
|
+
*/
|
|
1369
|
+
youtubeVideoId?: string | null;
|
|
1008
1370
|
}
|
|
1009
1371
|
namespace Metadata {
|
|
1010
1372
|
interface Collection {
|
|
@@ -1019,7 +1381,7 @@ export declare namespace RuleUpdateResponse {
|
|
|
1019
1381
|
/**
|
|
1020
1382
|
* Blockchain network of the collection.
|
|
1021
1383
|
*/
|
|
1022
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
1384
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
1023
1385
|
}
|
|
1024
1386
|
/**
|
|
1025
1387
|
* Object containing details for the call-to-action.
|
|
@@ -1084,6 +1446,49 @@ export declare namespace RuleUpdateResponse {
|
|
|
1084
1446
|
*/
|
|
1085
1447
|
id: string;
|
|
1086
1448
|
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Liquidity pool details.
|
|
1451
|
+
*/
|
|
1452
|
+
interface Liquidity {
|
|
1453
|
+
/**
|
|
1454
|
+
* Calculation type of the liquidity pool.
|
|
1455
|
+
*/
|
|
1456
|
+
calculationType?: 'fixed' | 'custom';
|
|
1457
|
+
/**
|
|
1458
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
1459
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
1460
|
+
* USD.
|
|
1461
|
+
*/
|
|
1462
|
+
customFunction?: string;
|
|
1463
|
+
/**
|
|
1464
|
+
* Liquidity provided per day in USD
|
|
1465
|
+
*/
|
|
1466
|
+
liquidityPerDay?: number;
|
|
1467
|
+
/**
|
|
1468
|
+
* Blockchain network of the liquidity pool.
|
|
1469
|
+
*/
|
|
1470
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
1471
|
+
/**
|
|
1472
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
1473
|
+
*/
|
|
1474
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
1475
|
+
/**
|
|
1476
|
+
* Array of liquidity pools associated with the rule.
|
|
1477
|
+
*/
|
|
1478
|
+
pools?: Array<Liquidity.Pool>;
|
|
1479
|
+
/**
|
|
1480
|
+
* Protocol of the liquidity pool.
|
|
1481
|
+
*/
|
|
1482
|
+
protocol?: string;
|
|
1483
|
+
}
|
|
1484
|
+
namespace Liquidity {
|
|
1485
|
+
interface Pool {
|
|
1486
|
+
/**
|
|
1487
|
+
* Unique identifier of the liquidity pool.
|
|
1488
|
+
*/
|
|
1489
|
+
id: string;
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1087
1492
|
interface Range {
|
|
1088
1493
|
/**
|
|
1089
1494
|
* Reward amount for this range.
|
|
@@ -1097,6 +1502,14 @@ export declare namespace RuleUpdateResponse {
|
|
|
1097
1502
|
* Start value of the range.
|
|
1098
1503
|
*/
|
|
1099
1504
|
startRange: number;
|
|
1505
|
+
/**
|
|
1506
|
+
* ID of the loyalty badge for this range.
|
|
1507
|
+
*/
|
|
1508
|
+
loyaltyBadgeId?: string;
|
|
1509
|
+
/**
|
|
1510
|
+
* Amount of the loyalty multiplier for this range.
|
|
1511
|
+
*/
|
|
1512
|
+
loyaltyMultiplierAmount?: number;
|
|
1100
1513
|
}
|
|
1101
1514
|
/**
|
|
1102
1515
|
* Object defining referral requirements.
|
|
@@ -1140,18 +1553,14 @@ export declare namespace RuleUpdateResponse {
|
|
|
1140
1553
|
* Object containing details of the associated smart contract.
|
|
1141
1554
|
*/
|
|
1142
1555
|
interface SmartContract {
|
|
1143
|
-
/**
|
|
1144
|
-
* ABI of the smart contract.
|
|
1145
|
-
*/
|
|
1146
|
-
abi?: string | null;
|
|
1147
1556
|
/**
|
|
1148
1557
|
* Mapping of addresses for the smart contract.
|
|
1149
1558
|
*/
|
|
1150
1559
|
addressMapping?: string | null;
|
|
1151
1560
|
/**
|
|
1152
|
-
*
|
|
1561
|
+
* Object containing details of the amount multiplier from the event.
|
|
1153
1562
|
*/
|
|
1154
|
-
|
|
1563
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1155
1564
|
/**
|
|
1156
1565
|
* ID of the smart contract.
|
|
1157
1566
|
*/
|
|
@@ -1160,58 +1569,28 @@ export declare namespace RuleUpdateResponse {
|
|
|
1160
1569
|
* Criteria to evaluate the smart contract event.
|
|
1161
1570
|
*/
|
|
1162
1571
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1163
|
-
/**
|
|
1164
|
-
* Time range applied to the rule.
|
|
1165
|
-
*/
|
|
1166
|
-
customRange?: SmartContract.CustomRange | null;
|
|
1167
1572
|
/**
|
|
1168
1573
|
* Event emitted by the smart contract.
|
|
1169
1574
|
*/
|
|
1170
1575
|
event?: string | null;
|
|
1171
|
-
/**
|
|
1172
|
-
* Maximum value allowed for the parameter.
|
|
1173
|
-
*/
|
|
1174
|
-
max?: number | null;
|
|
1175
1576
|
/**
|
|
1176
1577
|
* Array of parameters for the smart contract.
|
|
1177
1578
|
*/
|
|
1178
1579
|
params?: Array<SmartContract.Param> | null;
|
|
1179
1580
|
/**
|
|
1180
|
-
*
|
|
1181
|
-
*/
|
|
1182
|
-
withBonus?: boolean | null;
|
|
1183
|
-
/**
|
|
1184
|
-
* Flag indicating if a custom range is applied.
|
|
1581
|
+
* Type of the smart contract interaction.
|
|
1185
1582
|
*/
|
|
1186
|
-
|
|
1187
|
-
/**
|
|
1188
|
-
* Flag indicating if a maximum limit is applied.
|
|
1189
|
-
*/
|
|
1190
|
-
withMax?: boolean | null;
|
|
1583
|
+
type?: 'function' | 'event' | null;
|
|
1191
1584
|
}
|
|
1192
1585
|
namespace SmartContract {
|
|
1193
|
-
interface Bonus {
|
|
1194
|
-
/**
|
|
1195
|
-
* Amount of the bonus.
|
|
1196
|
-
*/
|
|
1197
|
-
amount?: number | null;
|
|
1198
|
-
/**
|
|
1199
|
-
* Number of times the bonus is applied.
|
|
1200
|
-
*/
|
|
1201
|
-
count?: number | null;
|
|
1202
|
-
}
|
|
1203
1586
|
/**
|
|
1204
|
-
*
|
|
1587
|
+
* Object containing details of the amount multiplier from the event.
|
|
1205
1588
|
*/
|
|
1206
|
-
interface
|
|
1589
|
+
interface AmountMultiplier {
|
|
1207
1590
|
/**
|
|
1208
|
-
*
|
|
1591
|
+
* Mapping of the value for the smart contract.
|
|
1209
1592
|
*/
|
|
1210
|
-
|
|
1211
|
-
/**
|
|
1212
|
-
* Start time of the custom range.
|
|
1213
|
-
*/
|
|
1214
|
-
startsAt?: string | null;
|
|
1593
|
+
valueMapping?: string | null;
|
|
1215
1594
|
}
|
|
1216
1595
|
interface Param {
|
|
1217
1596
|
/**
|
|
@@ -1248,6 +1627,24 @@ export declare namespace RuleUpdateResponse {
|
|
|
1248
1627
|
*/
|
|
1249
1628
|
streakMilestone: number;
|
|
1250
1629
|
}
|
|
1630
|
+
/**
|
|
1631
|
+
* Metadata for swap loyalty rules
|
|
1632
|
+
*/
|
|
1633
|
+
interface Swap {
|
|
1634
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1635
|
+
relayReferrerId?: string;
|
|
1636
|
+
requireCrossChainSwap?: boolean;
|
|
1637
|
+
swappedToChain?: 'any' | number | string;
|
|
1638
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
1639
|
+
tokenMode?: 'any' | 'specific';
|
|
1640
|
+
trackTokenAmount?: boolean;
|
|
1641
|
+
}
|
|
1642
|
+
namespace Swap {
|
|
1643
|
+
interface SwappedToToken {
|
|
1644
|
+
address: string;
|
|
1645
|
+
chainId: string;
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1251
1648
|
}
|
|
1252
1649
|
}
|
|
1253
1650
|
export interface RuleListResponse {
|
|
@@ -1255,9 +1652,6 @@ export interface RuleListResponse {
|
|
|
1255
1652
|
hasNextPage: boolean;
|
|
1256
1653
|
}
|
|
1257
1654
|
export declare namespace RuleListResponse {
|
|
1258
|
-
/**
|
|
1259
|
-
* Schema for a loyalty rule
|
|
1260
|
-
*/
|
|
1261
1655
|
interface Data {
|
|
1262
1656
|
/**
|
|
1263
1657
|
* Unique identifier for the loyalty rule
|
|
@@ -1275,20 +1669,44 @@ export declare namespace RuleListResponse {
|
|
|
1275
1669
|
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
1276
1670
|
*/
|
|
1277
1671
|
deletedAt: string | null;
|
|
1672
|
+
/**
|
|
1673
|
+
* Description of the loyalty rule
|
|
1674
|
+
*/
|
|
1675
|
+
description: string;
|
|
1676
|
+
/**
|
|
1677
|
+
* End time of the loyalty rule
|
|
1678
|
+
*/
|
|
1679
|
+
endTime: string;
|
|
1278
1680
|
/**
|
|
1279
1681
|
* Frequency of the loyalty rule
|
|
1280
1682
|
*/
|
|
1281
1683
|
frequency: string;
|
|
1684
|
+
/**
|
|
1685
|
+
* Chains attached to the loyalty rule
|
|
1686
|
+
*/
|
|
1687
|
+
loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
|
|
1688
|
+
/**
|
|
1689
|
+
* Name of the loyalty rule
|
|
1690
|
+
*/
|
|
1691
|
+
name: string;
|
|
1282
1692
|
/**
|
|
1283
1693
|
* Unique identifier for the organization
|
|
1284
1694
|
*/
|
|
1285
1695
|
organizationId: string;
|
|
1286
1696
|
/**
|
|
1287
|
-
* Type of the
|
|
1697
|
+
* Type of the reward
|
|
1288
1698
|
*/
|
|
1289
|
-
|
|
1699
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
1290
1700
|
/**
|
|
1291
|
-
*
|
|
1701
|
+
* Start time of the loyalty rule
|
|
1702
|
+
*/
|
|
1703
|
+
startTime: string;
|
|
1704
|
+
/**
|
|
1705
|
+
* Type of the loyalty rule
|
|
1706
|
+
*/
|
|
1707
|
+
type: string;
|
|
1708
|
+
/**
|
|
1709
|
+
* Timestamp when the loyalty rule was last updated
|
|
1292
1710
|
*/
|
|
1293
1711
|
updatedAt: string;
|
|
1294
1712
|
/**
|
|
@@ -1299,10 +1717,723 @@ export declare namespace RuleListResponse {
|
|
|
1299
1717
|
* Optional address of the collection
|
|
1300
1718
|
*/
|
|
1301
1719
|
collectionAddress?: string;
|
|
1720
|
+
/**
|
|
1721
|
+
* URL of the media associated with the loyalty rule
|
|
1722
|
+
*/
|
|
1723
|
+
mediaUrl?: string | null;
|
|
1302
1724
|
/**
|
|
1303
1725
|
* Optional metadata for the loyalty rule
|
|
1304
1726
|
*/
|
|
1305
|
-
metadata?:
|
|
1727
|
+
metadata?: {
|
|
1728
|
+
[key: string]: Data.Metadata;
|
|
1729
|
+
};
|
|
1730
|
+
}
|
|
1731
|
+
namespace Data {
|
|
1732
|
+
interface LoyaltyRuleChain {
|
|
1733
|
+
/**
|
|
1734
|
+
* Unique identifier for the rule chain
|
|
1735
|
+
*/
|
|
1736
|
+
id: string;
|
|
1737
|
+
loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
|
|
1738
|
+
/**
|
|
1739
|
+
* Unique identifier for the loyalty rule
|
|
1740
|
+
*/
|
|
1741
|
+
loyaltyRuleId: string;
|
|
1742
|
+
/**
|
|
1743
|
+
* Name of the rule chain
|
|
1744
|
+
*/
|
|
1745
|
+
name: string;
|
|
1746
|
+
}
|
|
1747
|
+
namespace LoyaltyRuleChain {
|
|
1748
|
+
interface LoyaltyCondition {
|
|
1749
|
+
/**
|
|
1750
|
+
* Unique identifier for the condition
|
|
1751
|
+
*/
|
|
1752
|
+
id: string;
|
|
1753
|
+
/**
|
|
1754
|
+
* Amount of the condition
|
|
1755
|
+
*/
|
|
1756
|
+
amount: number | null;
|
|
1757
|
+
association: Array<LoyaltyCondition.Association>;
|
|
1758
|
+
/**
|
|
1759
|
+
* URL of the CSV file
|
|
1760
|
+
*/
|
|
1761
|
+
csvUrl: string | null;
|
|
1762
|
+
/**
|
|
1763
|
+
* Description of the condition
|
|
1764
|
+
*/
|
|
1765
|
+
description: string | null;
|
|
1766
|
+
/**
|
|
1767
|
+
* Number of times the condition must be met
|
|
1768
|
+
*/
|
|
1769
|
+
repeatCount: number | null;
|
|
1770
|
+
/**
|
|
1771
|
+
* Number of times the condition must be met
|
|
1772
|
+
*/
|
|
1773
|
+
requiredCount: number | null;
|
|
1774
|
+
/**
|
|
1775
|
+
* Type of the condition
|
|
1776
|
+
*/
|
|
1777
|
+
type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
|
|
1778
|
+
}
|
|
1779
|
+
namespace LoyaltyCondition {
|
|
1780
|
+
interface Association {
|
|
1781
|
+
/**
|
|
1782
|
+
* Unique identifier for the association
|
|
1783
|
+
*/
|
|
1784
|
+
id: string;
|
|
1785
|
+
/**
|
|
1786
|
+
* Unique identifier for the loyalty badge
|
|
1787
|
+
*/
|
|
1788
|
+
loyaltyBadgeId: string | null;
|
|
1789
|
+
/**
|
|
1790
|
+
* Unique identifier for the loyalty currency
|
|
1791
|
+
*/
|
|
1792
|
+
loyaltyCurrencyId: string | null;
|
|
1793
|
+
loyaltyRule: Association.LoyaltyRule | null;
|
|
1794
|
+
/**
|
|
1795
|
+
* Unique identifier for the loyalty rule group
|
|
1796
|
+
*/
|
|
1797
|
+
loyaltyRuleGroupId: string | null;
|
|
1798
|
+
/**
|
|
1799
|
+
* Unique identifier for the loyalty rule
|
|
1800
|
+
*/
|
|
1801
|
+
loyaltyRuleId: string | null;
|
|
1802
|
+
}
|
|
1803
|
+
namespace Association {
|
|
1804
|
+
interface LoyaltyRule {
|
|
1805
|
+
/**
|
|
1806
|
+
* Name of the loyalty rule
|
|
1807
|
+
*/
|
|
1808
|
+
name: string;
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
interface Metadata {
|
|
1814
|
+
/**
|
|
1815
|
+
* Number of tokens per batch.
|
|
1816
|
+
*/
|
|
1817
|
+
batchSize?: number | null;
|
|
1818
|
+
/**
|
|
1819
|
+
* Text displayed on the action button.
|
|
1820
|
+
*/
|
|
1821
|
+
buttonText?: string | null;
|
|
1822
|
+
/**
|
|
1823
|
+
* Flag indicating if commenting is required.
|
|
1824
|
+
*/
|
|
1825
|
+
checkComment?: boolean | null;
|
|
1826
|
+
/**
|
|
1827
|
+
* Flag indicating if liking the post is required.
|
|
1828
|
+
*/
|
|
1829
|
+
checkLike?: boolean | null;
|
|
1830
|
+
/**
|
|
1831
|
+
* Flag indicating if reposting is required.
|
|
1832
|
+
*/
|
|
1833
|
+
checkRepost?: boolean | null;
|
|
1834
|
+
/**
|
|
1835
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1836
|
+
*/
|
|
1837
|
+
checkText?: string | Array<string> | null;
|
|
1838
|
+
/**
|
|
1839
|
+
* Array of collections associated with the rule.
|
|
1840
|
+
*/
|
|
1841
|
+
collection?: Array<Metadata.Collection>;
|
|
1842
|
+
/**
|
|
1843
|
+
* Conditions for completing the profile.
|
|
1844
|
+
*/
|
|
1845
|
+
completeProfileConditions?: {
|
|
1846
|
+
[key: string]: boolean;
|
|
1847
|
+
} | null;
|
|
1848
|
+
/**
|
|
1849
|
+
* Description of the external rule condition (only for external rules)
|
|
1850
|
+
*/
|
|
1851
|
+
conditionDescription?: string;
|
|
1852
|
+
/**
|
|
1853
|
+
* Object containing details for the call-to-action.
|
|
1854
|
+
*/
|
|
1855
|
+
cta?: Metadata.Cta | null;
|
|
1856
|
+
/**
|
|
1857
|
+
* API key for custom rewards integration.
|
|
1858
|
+
*/
|
|
1859
|
+
customRewardsApiKey?: string;
|
|
1860
|
+
/**
|
|
1861
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1862
|
+
*/
|
|
1863
|
+
directRpc?: boolean;
|
|
1864
|
+
/**
|
|
1865
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1866
|
+
*/
|
|
1867
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
1868
|
+
/**
|
|
1869
|
+
* Array of drip quests required to complete the rule.
|
|
1870
|
+
*/
|
|
1871
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
1872
|
+
/**
|
|
1873
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1874
|
+
*/
|
|
1875
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1876
|
+
/**
|
|
1877
|
+
* Flag indicating whether streaks are enabled.
|
|
1878
|
+
*/
|
|
1879
|
+
enableStreaks?: boolean | null;
|
|
1880
|
+
/**
|
|
1881
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1882
|
+
*/
|
|
1883
|
+
enableVerifiedMultiplier?: boolean;
|
|
1884
|
+
/**
|
|
1885
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1886
|
+
*/
|
|
1887
|
+
erc20Type?: 'erc20' | 'native';
|
|
1888
|
+
/**
|
|
1889
|
+
* Fill source of the order for the token sale
|
|
1890
|
+
*/
|
|
1891
|
+
fillSource?: string;
|
|
1892
|
+
/**
|
|
1893
|
+
* Percentage reward given to a user for their first referral.
|
|
1894
|
+
*/
|
|
1895
|
+
firstReferralReward?: number | null;
|
|
1896
|
+
/**
|
|
1897
|
+
* Flag indicating whether the fill source is included.
|
|
1898
|
+
*/
|
|
1899
|
+
hasFillSource?: boolean;
|
|
1900
|
+
/**
|
|
1901
|
+
* Indicates if the item has never been sold.
|
|
1902
|
+
*/
|
|
1903
|
+
hasNeverSold?: boolean;
|
|
1904
|
+
/**
|
|
1905
|
+
* Indicates if the full royalty has been paid for items.
|
|
1906
|
+
*/
|
|
1907
|
+
hasPaidFullRoyalty?: boolean;
|
|
1908
|
+
/**
|
|
1909
|
+
* Flag indicating if the sale currency is included.
|
|
1910
|
+
*/
|
|
1911
|
+
hasSaleCurrency?: boolean;
|
|
1912
|
+
/**
|
|
1913
|
+
* Indicates if the user has a verified Twitter account.
|
|
1914
|
+
*/
|
|
1915
|
+
hasVerifiedTwitter?: boolean;
|
|
1916
|
+
/**
|
|
1917
|
+
* URL of the image associated with the rule.
|
|
1918
|
+
*/
|
|
1919
|
+
imageUrl?: string | null;
|
|
1920
|
+
/**
|
|
1921
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1922
|
+
*/
|
|
1923
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1924
|
+
/**
|
|
1925
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1926
|
+
*/
|
|
1927
|
+
isMultiplierApplied?: boolean;
|
|
1928
|
+
/**
|
|
1929
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1930
|
+
*/
|
|
1931
|
+
isRestrictedToNewUsers?: boolean;
|
|
1932
|
+
/**
|
|
1933
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1934
|
+
*/
|
|
1935
|
+
isRetroactive?: boolean | null;
|
|
1936
|
+
/**
|
|
1937
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1938
|
+
*/
|
|
1939
|
+
isTokenHoldMultiplier?: boolean;
|
|
1940
|
+
/**
|
|
1941
|
+
* Optional link associated with the metadata.
|
|
1942
|
+
*/
|
|
1943
|
+
link?: string | null;
|
|
1944
|
+
/**
|
|
1945
|
+
* Liquidity pool details.
|
|
1946
|
+
*/
|
|
1947
|
+
liquidity?: Metadata.Liquidity;
|
|
1948
|
+
/**
|
|
1949
|
+
* Maximum quantity constraint for token holding.
|
|
1950
|
+
*/
|
|
1951
|
+
maxQty?: number | null;
|
|
1952
|
+
/**
|
|
1953
|
+
* Minimum quantity constraint for token holding.
|
|
1954
|
+
*/
|
|
1955
|
+
minQty?: number | null;
|
|
1956
|
+
/**
|
|
1957
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1958
|
+
*/
|
|
1959
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1960
|
+
/**
|
|
1961
|
+
* Flag indicating whether to include only known users.
|
|
1962
|
+
*/
|
|
1963
|
+
onlyKnownUsers?: boolean;
|
|
1964
|
+
/**
|
|
1965
|
+
* Flag indicating whether to include only native tokens.
|
|
1966
|
+
*/
|
|
1967
|
+
onlyNative?: boolean;
|
|
1968
|
+
/**
|
|
1969
|
+
* Flag indicating whether to include only non-listed items.
|
|
1970
|
+
*/
|
|
1971
|
+
onlyNonListed?: boolean;
|
|
1972
|
+
/**
|
|
1973
|
+
* Indicates if only existing users are rewarded.
|
|
1974
|
+
*/
|
|
1975
|
+
onlyRewardExistingUser?: boolean;
|
|
1976
|
+
/**
|
|
1977
|
+
* give points for only one token ownership per contract
|
|
1978
|
+
*/
|
|
1979
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1980
|
+
/**
|
|
1981
|
+
* Promotional code associated with the rule.
|
|
1982
|
+
*/
|
|
1983
|
+
promoCode?: string;
|
|
1984
|
+
/**
|
|
1985
|
+
* URL of the CSV file containing promo codes.
|
|
1986
|
+
*/
|
|
1987
|
+
promoCodeCsvUrl?: string;
|
|
1988
|
+
/**
|
|
1989
|
+
* Numbers of the promotional code to be generated.
|
|
1990
|
+
*/
|
|
1991
|
+
promoCodeLength?: number | null;
|
|
1992
|
+
/**
|
|
1993
|
+
* Type of the promotional code.
|
|
1994
|
+
*/
|
|
1995
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1996
|
+
/**
|
|
1997
|
+
* Array defining ranges and corresponding rewards.
|
|
1998
|
+
*/
|
|
1999
|
+
range?: Array<Metadata.Range>;
|
|
2000
|
+
/**
|
|
2001
|
+
* Object defining referral requirements.
|
|
2002
|
+
*/
|
|
2003
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2004
|
+
/**
|
|
2005
|
+
* Lump sum reward given to a referrer.
|
|
2006
|
+
*/
|
|
2007
|
+
referrerReward?: number | null;
|
|
2008
|
+
/**
|
|
2009
|
+
* Loyalty currency ID of the referrer reward.
|
|
2010
|
+
*/
|
|
2011
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
2012
|
+
/**
|
|
2013
|
+
* Flag indicating if the post link is required.
|
|
2014
|
+
*/
|
|
2015
|
+
requirePostLink?: boolean | null;
|
|
2016
|
+
/**
|
|
2017
|
+
* Flag indicating if media metadata is required.
|
|
2018
|
+
*/
|
|
2019
|
+
requirePostMediaLink?: boolean | null;
|
|
2020
|
+
/**
|
|
2021
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
2022
|
+
*/
|
|
2023
|
+
rewardBadgePerRange?: boolean;
|
|
2024
|
+
/**
|
|
2025
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
2026
|
+
*/
|
|
2027
|
+
rewardByBatch?: boolean | null;
|
|
2028
|
+
/**
|
|
2029
|
+
* Criteria to evaluate the reward.
|
|
2030
|
+
*/
|
|
2031
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
2032
|
+
/**
|
|
2033
|
+
* Flag indicating if the reward is rewarded per action.
|
|
2034
|
+
*/
|
|
2035
|
+
rewardPerAction?: boolean | null;
|
|
2036
|
+
/**
|
|
2037
|
+
* Flag indicating if rewards are given per impression.
|
|
2038
|
+
*/
|
|
2039
|
+
rewardPerImpression?: boolean | null;
|
|
2040
|
+
/**
|
|
2041
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
2042
|
+
* instead of count.
|
|
2043
|
+
*/
|
|
2044
|
+
rewardPerValue?: boolean;
|
|
2045
|
+
/**
|
|
2046
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2047
|
+
*/
|
|
2048
|
+
royaltyAddress?: string;
|
|
2049
|
+
/**
|
|
2050
|
+
* Royalty percentage of the item.
|
|
2051
|
+
*/
|
|
2052
|
+
royaltyPercentage?: number;
|
|
2053
|
+
/**
|
|
2054
|
+
* Currency associated with sales.
|
|
2055
|
+
*/
|
|
2056
|
+
saleCurrency?: string;
|
|
2057
|
+
/**
|
|
2058
|
+
* Percentage reward given for a second-level referral.
|
|
2059
|
+
*/
|
|
2060
|
+
secondReferralReward?: number | null;
|
|
2061
|
+
/**
|
|
2062
|
+
* Flag indicating if the multiplier is skipped.
|
|
2063
|
+
*/
|
|
2064
|
+
skipMultiplier?: boolean | null;
|
|
2065
|
+
/**
|
|
2066
|
+
* Object containing details of the associated smart contract.
|
|
2067
|
+
*/
|
|
2068
|
+
smartContract?: Metadata.SmartContract;
|
|
2069
|
+
/**
|
|
2070
|
+
* Array of snapshot proposals for the rule.
|
|
2071
|
+
*/
|
|
2072
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2073
|
+
/**
|
|
2074
|
+
* Social media platform associated with the rule.
|
|
2075
|
+
*/
|
|
2076
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
|
|
2077
|
+
/**
|
|
2078
|
+
* URL of the social platform's logo.
|
|
2079
|
+
*/
|
|
2080
|
+
socialPlatformLogo?: string | null;
|
|
2081
|
+
/**
|
|
2082
|
+
* Name of the social platform.
|
|
2083
|
+
*/
|
|
2084
|
+
socialPlatformName?: string | null;
|
|
2085
|
+
/**
|
|
2086
|
+
* ID of the Steam app.
|
|
2087
|
+
*/
|
|
2088
|
+
steamAppId?: string | null;
|
|
2089
|
+
/**
|
|
2090
|
+
* Array of streak milestones and corresponding rewards.
|
|
2091
|
+
*/
|
|
2092
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2093
|
+
/**
|
|
2094
|
+
* Metadata for swap loyalty rules
|
|
2095
|
+
*/
|
|
2096
|
+
swap?: Metadata.Swap;
|
|
2097
|
+
/**
|
|
2098
|
+
* ID of the Telegram channel.
|
|
2099
|
+
*/
|
|
2100
|
+
telegramChannelId?: string | null;
|
|
2101
|
+
/**
|
|
2102
|
+
* Time delay in seconds to verify actions.
|
|
2103
|
+
*/
|
|
2104
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2105
|
+
/**
|
|
2106
|
+
* Flag indicating if all contracts are tracked.
|
|
2107
|
+
*/
|
|
2108
|
+
trackAllContracts?: boolean | null;
|
|
2109
|
+
/**
|
|
2110
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2111
|
+
* completed once the progress is 100%.
|
|
2112
|
+
*/
|
|
2113
|
+
trackProgress?: boolean | null;
|
|
2114
|
+
/**
|
|
2115
|
+
* URL of the associated Twitter account.
|
|
2116
|
+
*/
|
|
2117
|
+
twitterAccountUrl?: string;
|
|
2118
|
+
/**
|
|
2119
|
+
* Hashtag associated with the Twitter post.
|
|
2120
|
+
*/
|
|
2121
|
+
twitterHashtag?: string;
|
|
2122
|
+
/**
|
|
2123
|
+
* URL of the associated Twitter post.
|
|
2124
|
+
*/
|
|
2125
|
+
twitterPostUrl?: string;
|
|
2126
|
+
/**
|
|
2127
|
+
* Unique identifier of the Twitter user.
|
|
2128
|
+
*/
|
|
2129
|
+
twitterUserId?: string;
|
|
2130
|
+
/**
|
|
2131
|
+
* Twitter username of the user.
|
|
2132
|
+
*/
|
|
2133
|
+
twitterUsername?: string;
|
|
2134
|
+
/**
|
|
2135
|
+
* Minimum length of the verification text.
|
|
2136
|
+
*/
|
|
2137
|
+
verificationTextMinimumLength?: number | null;
|
|
2138
|
+
/**
|
|
2139
|
+
* Multiplier applied to rewards for verified users.
|
|
2140
|
+
*/
|
|
2141
|
+
verifiedMultiplier?: number | null;
|
|
2142
|
+
/**
|
|
2143
|
+
* Placeholder text for verification input fields.
|
|
2144
|
+
*/
|
|
2145
|
+
verifyPlaceHolderText?: string | null;
|
|
2146
|
+
/**
|
|
2147
|
+
* Type of wallet associated with the rule.
|
|
2148
|
+
*/
|
|
2149
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | null;
|
|
2150
|
+
/**
|
|
2151
|
+
* ID of the Youtube channel.
|
|
2152
|
+
*/
|
|
2153
|
+
youtubeChannelId?: string | null;
|
|
2154
|
+
/**
|
|
2155
|
+
* ID of the Youtube video.
|
|
2156
|
+
*/
|
|
2157
|
+
youtubeVideoId?: string | null;
|
|
2158
|
+
}
|
|
2159
|
+
namespace Metadata {
|
|
2160
|
+
interface Collection {
|
|
2161
|
+
/**
|
|
2162
|
+
* Blockchain address of the collection.
|
|
2163
|
+
*/
|
|
2164
|
+
address?: string;
|
|
2165
|
+
/**
|
|
2166
|
+
* Multiplier applied to the rewards for this collection.
|
|
2167
|
+
*/
|
|
2168
|
+
multiplier?: number;
|
|
2169
|
+
/**
|
|
2170
|
+
* Blockchain network of the collection.
|
|
2171
|
+
*/
|
|
2172
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
2173
|
+
}
|
|
2174
|
+
/**
|
|
2175
|
+
* Object containing details for the call-to-action.
|
|
2176
|
+
*/
|
|
2177
|
+
interface Cta {
|
|
2178
|
+
/**
|
|
2179
|
+
* Link for the call-to-action.
|
|
2180
|
+
*/
|
|
2181
|
+
href?: string | null;
|
|
2182
|
+
/**
|
|
2183
|
+
* Label for the call-to-action.
|
|
2184
|
+
*/
|
|
2185
|
+
label?: string | null;
|
|
2186
|
+
}
|
|
2187
|
+
interface DiscordServersToJoin {
|
|
2188
|
+
/**
|
|
2189
|
+
* ID of the Discord server to join.
|
|
2190
|
+
*/
|
|
2191
|
+
id?: string;
|
|
2192
|
+
/**
|
|
2193
|
+
* Array of Discord channels to join.
|
|
2194
|
+
*/
|
|
2195
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2196
|
+
/**
|
|
2197
|
+
* Array of roles to assign in the Discord server.
|
|
2198
|
+
*/
|
|
2199
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2200
|
+
}
|
|
2201
|
+
namespace DiscordServersToJoin {
|
|
2202
|
+
interface Channel {
|
|
2203
|
+
/**
|
|
2204
|
+
* ID of the Discord channel.
|
|
2205
|
+
*/
|
|
2206
|
+
id?: string;
|
|
2207
|
+
/**
|
|
2208
|
+
* Array of emojis used in the channel.
|
|
2209
|
+
*/
|
|
2210
|
+
emojis?: Array<Channel.Emoji>;
|
|
2211
|
+
/**
|
|
2212
|
+
* Phrase of text to be present in the discord message
|
|
2213
|
+
*/
|
|
2214
|
+
text?: string;
|
|
2215
|
+
}
|
|
2216
|
+
namespace Channel {
|
|
2217
|
+
interface Emoji {
|
|
2218
|
+
/**
|
|
2219
|
+
* ID of the emoji used in the channel.
|
|
2220
|
+
*/
|
|
2221
|
+
id?: string;
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
interface Role {
|
|
2225
|
+
/**
|
|
2226
|
+
* ID of the role in the Discord server.
|
|
2227
|
+
*/
|
|
2228
|
+
id: string;
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
interface DripQuestsToComplete {
|
|
2232
|
+
/**
|
|
2233
|
+
* ID of the drip quest to complete.
|
|
2234
|
+
*/
|
|
2235
|
+
id: string;
|
|
2236
|
+
}
|
|
2237
|
+
/**
|
|
2238
|
+
* Liquidity pool details.
|
|
2239
|
+
*/
|
|
2240
|
+
interface Liquidity {
|
|
2241
|
+
/**
|
|
2242
|
+
* Calculation type of the liquidity pool.
|
|
2243
|
+
*/
|
|
2244
|
+
calculationType?: 'fixed' | 'custom';
|
|
2245
|
+
/**
|
|
2246
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
2247
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
2248
|
+
* USD.
|
|
2249
|
+
*/
|
|
2250
|
+
customFunction?: string;
|
|
2251
|
+
/**
|
|
2252
|
+
* Liquidity provided per day in USD
|
|
2253
|
+
*/
|
|
2254
|
+
liquidityPerDay?: number;
|
|
2255
|
+
/**
|
|
2256
|
+
* Blockchain network of the liquidity pool.
|
|
2257
|
+
*/
|
|
2258
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
2259
|
+
/**
|
|
2260
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
2261
|
+
*/
|
|
2262
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2263
|
+
/**
|
|
2264
|
+
* Array of liquidity pools associated with the rule.
|
|
2265
|
+
*/
|
|
2266
|
+
pools?: Array<Liquidity.Pool>;
|
|
2267
|
+
/**
|
|
2268
|
+
* Protocol of the liquidity pool.
|
|
2269
|
+
*/
|
|
2270
|
+
protocol?: string;
|
|
2271
|
+
}
|
|
2272
|
+
namespace Liquidity {
|
|
2273
|
+
interface Pool {
|
|
2274
|
+
/**
|
|
2275
|
+
* Unique identifier of the liquidity pool.
|
|
2276
|
+
*/
|
|
2277
|
+
id: string;
|
|
2278
|
+
}
|
|
2279
|
+
}
|
|
2280
|
+
interface Range {
|
|
2281
|
+
/**
|
|
2282
|
+
* Reward amount for this range.
|
|
2283
|
+
*/
|
|
2284
|
+
amount: number;
|
|
2285
|
+
/**
|
|
2286
|
+
* End value of the range.
|
|
2287
|
+
*/
|
|
2288
|
+
endRange: number;
|
|
2289
|
+
/**
|
|
2290
|
+
* Start value of the range.
|
|
2291
|
+
*/
|
|
2292
|
+
startRange: number;
|
|
2293
|
+
/**
|
|
2294
|
+
* ID of the loyalty badge for this range.
|
|
2295
|
+
*/
|
|
2296
|
+
loyaltyBadgeId?: string;
|
|
2297
|
+
/**
|
|
2298
|
+
* Amount of the loyalty multiplier for this range.
|
|
2299
|
+
*/
|
|
2300
|
+
loyaltyMultiplierAmount?: number;
|
|
2301
|
+
}
|
|
2302
|
+
/**
|
|
2303
|
+
* Object defining referral requirements.
|
|
2304
|
+
*/
|
|
2305
|
+
interface ReferralRequirements {
|
|
2306
|
+
/**
|
|
2307
|
+
* Flag indicating if achieving points is required.
|
|
2308
|
+
*/
|
|
2309
|
+
achievePoints?: boolean | null;
|
|
2310
|
+
/**
|
|
2311
|
+
* Flag indicating if completing the profile is required.
|
|
2312
|
+
*/
|
|
2313
|
+
completeProfile?: boolean | null;
|
|
2314
|
+
/**
|
|
2315
|
+
* Flag indicating if connecting Discord is required.
|
|
2316
|
+
*/
|
|
2317
|
+
connectDiscord?: boolean | null;
|
|
2318
|
+
/**
|
|
2319
|
+
* Flag indicating if connecting email is required.
|
|
2320
|
+
*/
|
|
2321
|
+
connectEmail?: boolean | null;
|
|
2322
|
+
/**
|
|
2323
|
+
* Flag indicating if connecting Twitter is required.
|
|
2324
|
+
*/
|
|
2325
|
+
connectTwitter?: boolean | null;
|
|
2326
|
+
points?: ReferralRequirements.Points | null;
|
|
2327
|
+
}
|
|
2328
|
+
namespace ReferralRequirements {
|
|
2329
|
+
interface Points {
|
|
2330
|
+
/**
|
|
2331
|
+
* Points required for referral.
|
|
2332
|
+
*/
|
|
2333
|
+
amount?: number | null;
|
|
2334
|
+
/**
|
|
2335
|
+
* ID of the loyalty currency for referral.
|
|
2336
|
+
*/
|
|
2337
|
+
loyaltyCurrecyId?: string | null;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
/**
|
|
2341
|
+
* Object containing details of the associated smart contract.
|
|
2342
|
+
*/
|
|
2343
|
+
interface SmartContract {
|
|
2344
|
+
/**
|
|
2345
|
+
* Mapping of addresses for the smart contract.
|
|
2346
|
+
*/
|
|
2347
|
+
addressMapping?: string | null;
|
|
2348
|
+
/**
|
|
2349
|
+
* Object containing details of the amount multiplier from the event.
|
|
2350
|
+
*/
|
|
2351
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2352
|
+
/**
|
|
2353
|
+
* ID of the smart contract.
|
|
2354
|
+
*/
|
|
2355
|
+
contractId?: string | null;
|
|
2356
|
+
/**
|
|
2357
|
+
* Criteria to evaluate the smart contract event.
|
|
2358
|
+
*/
|
|
2359
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2360
|
+
/**
|
|
2361
|
+
* Event emitted by the smart contract.
|
|
2362
|
+
*/
|
|
2363
|
+
event?: string | null;
|
|
2364
|
+
/**
|
|
2365
|
+
* Array of parameters for the smart contract.
|
|
2366
|
+
*/
|
|
2367
|
+
params?: Array<SmartContract.Param> | null;
|
|
2368
|
+
/**
|
|
2369
|
+
* Type of the smart contract interaction.
|
|
2370
|
+
*/
|
|
2371
|
+
type?: 'function' | 'event' | null;
|
|
2372
|
+
}
|
|
2373
|
+
namespace SmartContract {
|
|
2374
|
+
/**
|
|
2375
|
+
* Object containing details of the amount multiplier from the event.
|
|
2376
|
+
*/
|
|
2377
|
+
interface AmountMultiplier {
|
|
2378
|
+
/**
|
|
2379
|
+
* Mapping of the value for the smart contract.
|
|
2380
|
+
*/
|
|
2381
|
+
valueMapping?: string | null;
|
|
2382
|
+
}
|
|
2383
|
+
interface Param {
|
|
2384
|
+
/**
|
|
2385
|
+
* Condition to check for the parameter.
|
|
2386
|
+
*/
|
|
2387
|
+
condition?: string | null;
|
|
2388
|
+
/**
|
|
2389
|
+
* Name of the smart contract parameter.
|
|
2390
|
+
*/
|
|
2391
|
+
name?: string | null;
|
|
2392
|
+
/**
|
|
2393
|
+
* Value of the parameter.
|
|
2394
|
+
*/
|
|
2395
|
+
value?: string | null;
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
interface SnapshotProposal {
|
|
2399
|
+
/**
|
|
2400
|
+
* ID of the snapshot proposal.
|
|
2401
|
+
*/
|
|
2402
|
+
id: string;
|
|
2403
|
+
/**
|
|
2404
|
+
* Space associated with the snapshot proposal.
|
|
2405
|
+
*/
|
|
2406
|
+
space: string;
|
|
2407
|
+
}
|
|
2408
|
+
interface StreakArray {
|
|
2409
|
+
/**
|
|
2410
|
+
* Reward amount for achieving the streak milestone.
|
|
2411
|
+
*/
|
|
2412
|
+
streakAmount: number;
|
|
2413
|
+
/**
|
|
2414
|
+
* Milestone required to achieve the streak.
|
|
2415
|
+
*/
|
|
2416
|
+
streakMilestone: number;
|
|
2417
|
+
}
|
|
2418
|
+
/**
|
|
2419
|
+
* Metadata for swap loyalty rules
|
|
2420
|
+
*/
|
|
2421
|
+
interface Swap {
|
|
2422
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
2423
|
+
relayReferrerId?: string;
|
|
2424
|
+
requireCrossChainSwap?: boolean;
|
|
2425
|
+
swappedToChain?: 'any' | number | string;
|
|
2426
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
2427
|
+
tokenMode?: 'any' | 'specific';
|
|
2428
|
+
trackTokenAmount?: boolean;
|
|
2429
|
+
}
|
|
2430
|
+
namespace Swap {
|
|
2431
|
+
interface SwappedToToken {
|
|
2432
|
+
address: string;
|
|
2433
|
+
chainId: string;
|
|
2434
|
+
}
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
1306
2437
|
}
|
|
1307
2438
|
}
|
|
1308
2439
|
export interface RuleDeleteResponse {
|
|
@@ -1310,7 +2441,7 @@ export interface RuleDeleteResponse {
|
|
|
1310
2441
|
deletedAt: string;
|
|
1311
2442
|
}
|
|
1312
2443
|
export interface RuleCompleteResponse {
|
|
1313
|
-
message:
|
|
2444
|
+
message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
|
|
1314
2445
|
}
|
|
1315
2446
|
export interface RuleGetStatusResponse {
|
|
1316
2447
|
data: Array<RuleGetStatusResponse.Data>;
|
|
@@ -1318,9 +2449,110 @@ export interface RuleGetStatusResponse {
|
|
|
1318
2449
|
export declare namespace RuleGetStatusResponse {
|
|
1319
2450
|
interface Data {
|
|
1320
2451
|
loyaltyRuleId: string;
|
|
1321
|
-
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1322
2452
|
userId: string;
|
|
2453
|
+
/**
|
|
2454
|
+
* The ID of the loyalty rule status for the Progress object
|
|
2455
|
+
*/
|
|
2456
|
+
id?: string;
|
|
2457
|
+
createdAt?: string;
|
|
2458
|
+
fulfilledAt?: string | null;
|
|
2459
|
+
/**
|
|
2460
|
+
* Categorized examples of messages that may be returned for a loyalty rule's
|
|
2461
|
+
* processing result.
|
|
2462
|
+
*
|
|
2463
|
+
* User Onboarding
|
|
2464
|
+
*
|
|
2465
|
+
* - Check In: "Streak successful"
|
|
2466
|
+
* - Complete Profile Details: "Profile not complete"
|
|
2467
|
+
*
|
|
2468
|
+
* Connect Accounts
|
|
2469
|
+
*
|
|
2470
|
+
* - Connect TikTok: "TikTok not connected"
|
|
2471
|
+
* - Connect Discord: "Discord not connected", "Discord request timeout"
|
|
2472
|
+
* - Connect X: "Twitter not connected", "Twitter not connected or content url is
|
|
2473
|
+
* required"
|
|
2474
|
+
* - Connect Email: "Email address not connected"
|
|
2475
|
+
* - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
|
|
2476
|
+
* telegramUsername), please setup username in telegram and reconnect.",
|
|
2477
|
+
* "Telegram request rate-limited"
|
|
2478
|
+
* - Connect Steam: "Steam not connected"
|
|
2479
|
+
* - Connect Youtube: "Youtube not connected"
|
|
2480
|
+
*
|
|
2481
|
+
* Social Quests
|
|
2482
|
+
*
|
|
2483
|
+
* - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
|
|
2484
|
+
* successfully"
|
|
2485
|
+
* - Post on TikTok: "TikTok post not verified"
|
|
2486
|
+
* - Comment on an X Post: "Quest Completed: You have commented on the tweet",
|
|
2487
|
+
* "Quest Not Completed: Comment not found for the specified tweet"
|
|
2488
|
+
* - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
|
|
2489
|
+
* Completed: Retweet not found for the specified tweet", "Quest Completed: You
|
|
2490
|
+
* have retweeted and commented on the tweet", "Quest Not Completed: You have not
|
|
2491
|
+
* retweeted or commented on the tweet"
|
|
2492
|
+
* - Follow an X Account: "Missing required parameters: twitterUserId,
|
|
2493
|
+
* targetUsername", "Quest Completed: You are a follower of
|
|
2494
|
+
* @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
|
|
2495
|
+
* and try again in few minutes"
|
|
2496
|
+
* - React to an X Post: "Missing required parameters: texts, twitterUserId,
|
|
2497
|
+
* userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
|
|
2498
|
+
* a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
|
|
2499
|
+
* posts are already claimed. Please post a new tweet and try again in a few
|
|
2500
|
+
* minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
|
|
2501
|
+
* "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
|
|
2502
|
+
* not have media", "Text found in tweet"
|
|
2503
|
+
* - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
|
|
2504
|
+
* not found", "Text found in bio", "Text not found in bio"
|
|
2505
|
+
* - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
|
|
2506
|
+
* "User not found", "Text found in username", "Text not found in username"
|
|
2507
|
+
* - Comment on an X Post with Text: "Missing required parameters: texts,
|
|
2508
|
+
* twitterUserId", "Comment is already claimed", "Text found in comment", "Text
|
|
2509
|
+
* not found in comment", "Tweet not found or could not be retrieved"
|
|
2510
|
+
* - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
|
|
2511
|
+
* added"
|
|
2512
|
+
* - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
|
|
2513
|
+
* please make sure you have made your subscriptions public in youtube"
|
|
2514
|
+
* - Get X post impressions: "You've already claimed the reward for this impression
|
|
2515
|
+
* range."
|
|
2516
|
+
* - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
|
|
2517
|
+
* item not added"
|
|
2518
|
+
*
|
|
2519
|
+
* Complex Onchain Logic
|
|
2520
|
+
*
|
|
2521
|
+
* - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
|
|
2522
|
+
*
|
|
2523
|
+
* Other
|
|
2524
|
+
*
|
|
2525
|
+
* - Answer a Quiz: "Quiz question not configured", "No question response found",
|
|
2526
|
+
* "Incorrect answer", "Correct answer"
|
|
2527
|
+
* - Answer a Poll: "Poll question not configured", "Poll response recorded"
|
|
2528
|
+
* - Spend in Shopify Store: "Shopify not connected"
|
|
2529
|
+
* - Points Airdrop: "Seems like you're not eligible for this points airdrop."
|
|
2530
|
+
*
|
|
2531
|
+
* General
|
|
2532
|
+
*
|
|
2533
|
+
* - "Quest already completed"
|
|
2534
|
+
* - "Quest already completed using the same social account (${socialAccountName}),
|
|
2535
|
+
* with the different user."
|
|
2536
|
+
* - "You've already claimed the reward for this quest."
|
|
2537
|
+
* - "Quest not achieved, please try again."
|
|
2538
|
+
* - "Rule is not setup"
|
|
2539
|
+
* - "Request aborted due to timeout"
|
|
2540
|
+
* - "Google account not connected"
|
|
2541
|
+
* - "Claim failed: Multiplier is already active"
|
|
2542
|
+
*/
|
|
1323
2543
|
message?: string;
|
|
2544
|
+
organizationId?: string;
|
|
2545
|
+
/**
|
|
2546
|
+
* The progress of the loyalty rule from 0 to 100
|
|
2547
|
+
*/
|
|
2548
|
+
progress?: number;
|
|
2549
|
+
/**
|
|
2550
|
+
* Status of the queued job, this is only returned if the job is queued and being
|
|
2551
|
+
* processed, this wil be retained for 10 minutes after the job is completed
|
|
2552
|
+
*/
|
|
2553
|
+
status?: 'pending' | 'processing' | 'completed' | 'failed';
|
|
2554
|
+
updatedAt?: string;
|
|
2555
|
+
websiteId?: string;
|
|
1324
2556
|
}
|
|
1325
2557
|
}
|
|
1326
2558
|
export interface RuleCreateParams {
|
|
@@ -1367,7 +2599,7 @@ export interface RuleCreateParams {
|
|
|
1367
2599
|
/**
|
|
1368
2600
|
* Type of loyalty rule being created
|
|
1369
2601
|
*/
|
|
1370
|
-
type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
|
|
2602
|
+
type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'connected_tiktok';
|
|
1371
2603
|
/**
|
|
1372
2604
|
* Unique identifier for the associated website
|
|
1373
2605
|
*/
|
|
@@ -1376,6 +2608,10 @@ export interface RuleCreateParams {
|
|
|
1376
2608
|
* URL of the background asset to be displayed
|
|
1377
2609
|
*/
|
|
1378
2610
|
backgroundAssetUrl?: string;
|
|
2611
|
+
/**
|
|
2612
|
+
* The type of claim for the reward
|
|
2613
|
+
*/
|
|
2614
|
+
claimType?: 'manual' | 'auto' | null;
|
|
1379
2615
|
/**
|
|
1380
2616
|
* Blockchain address of the associated collection
|
|
1381
2617
|
*/
|
|
@@ -1396,6 +2632,11 @@ export interface RuleCreateParams {
|
|
|
1396
2632
|
* Optional detailed description of the rule
|
|
1397
2633
|
*/
|
|
1398
2634
|
description?: string;
|
|
2635
|
+
duplicatedFromId?: string | null;
|
|
2636
|
+
/**
|
|
2637
|
+
* ID of the external integration
|
|
2638
|
+
*/
|
|
2639
|
+
externalIntegrationId?: string | null;
|
|
1399
2640
|
/**
|
|
1400
2641
|
* Whether to hide this rule in the user interface
|
|
1401
2642
|
*/
|
|
@@ -1403,15 +2644,33 @@ export interface RuleCreateParams {
|
|
|
1403
2644
|
/**
|
|
1404
2645
|
* Interval between rule executions
|
|
1405
2646
|
*/
|
|
1406
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
2647
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
1407
2648
|
/**
|
|
1408
2649
|
* Whether this rule is mandatory
|
|
1409
2650
|
*/
|
|
1410
2651
|
isRequired?: boolean;
|
|
2652
|
+
/**
|
|
2653
|
+
* Unique identifier for the loyalty badge
|
|
2654
|
+
*/
|
|
2655
|
+
loyaltyBadgeId?: string | null;
|
|
1411
2656
|
/**
|
|
1412
2657
|
* Unique identifier for the loyalty rule group
|
|
1413
2658
|
*/
|
|
1414
2659
|
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
2660
|
+
/**
|
|
2661
|
+
* URL for uploading loyalty user allotment via CSV
|
|
2662
|
+
*/
|
|
2663
|
+
loyaltyUserAllotmentCsvUrl?: string;
|
|
2664
|
+
/**
|
|
2665
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
2666
|
+
* rules.
|
|
2667
|
+
*/
|
|
2668
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
2669
|
+
/**
|
|
2670
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
2671
|
+
* smart contract and external rules.
|
|
2672
|
+
*/
|
|
2673
|
+
maxAmountPerInterval?: number | null;
|
|
1415
2674
|
/**
|
|
1416
2675
|
* URL of the media to be displayed
|
|
1417
2676
|
*/
|
|
@@ -1419,25 +2678,41 @@ export interface RuleCreateParams {
|
|
|
1419
2678
|
/**
|
|
1420
2679
|
* Blockchain network where the rule will apply
|
|
1421
2680
|
*/
|
|
1422
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
2681
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
2682
|
+
/**
|
|
2683
|
+
* OAuth credentials associated with the rule
|
|
2684
|
+
*/
|
|
2685
|
+
oauthCredentialsId?: string | null;
|
|
2686
|
+
/**
|
|
2687
|
+
* The lifetime of the reward
|
|
2688
|
+
*/
|
|
2689
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
2690
|
+
/**
|
|
2691
|
+
* Type of reward issued by the rule
|
|
2692
|
+
*/
|
|
2693
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
1423
2694
|
/**
|
|
1424
|
-
*
|
|
2695
|
+
* URL of the Shopify store
|
|
1425
2696
|
*/
|
|
1426
|
-
|
|
2697
|
+
shopifyStoreUrl?: string | null;
|
|
1427
2698
|
/**
|
|
1428
|
-
*
|
|
2699
|
+
* Whether to show this rule before the start time
|
|
1429
2700
|
*/
|
|
1430
|
-
|
|
2701
|
+
showBeforeStart?: boolean;
|
|
1431
2702
|
/**
|
|
1432
|
-
*
|
|
2703
|
+
* Optional subscription id for the rule
|
|
1433
2704
|
*/
|
|
1434
|
-
|
|
2705
|
+
subscriptionId?: string | null;
|
|
1435
2706
|
}
|
|
1436
2707
|
export declare namespace RuleCreateParams {
|
|
1437
2708
|
/**
|
|
1438
2709
|
* Additional metadata for the loyalty rule
|
|
1439
2710
|
*/
|
|
1440
2711
|
interface Metadata {
|
|
2712
|
+
/**
|
|
2713
|
+
* Number of tokens per batch.
|
|
2714
|
+
*/
|
|
2715
|
+
batchSize?: number | null;
|
|
1441
2716
|
/**
|
|
1442
2717
|
* Text displayed on the action button.
|
|
1443
2718
|
*/
|
|
@@ -1457,7 +2732,7 @@ export declare namespace RuleCreateParams {
|
|
|
1457
2732
|
/**
|
|
1458
2733
|
* Text to check in the Twitter post, username, or bio.
|
|
1459
2734
|
*/
|
|
1460
|
-
checkText?: string | null;
|
|
2735
|
+
checkText?: string | Array<string> | null;
|
|
1461
2736
|
/**
|
|
1462
2737
|
* Array of collections associated with the rule.
|
|
1463
2738
|
*/
|
|
@@ -1465,7 +2740,13 @@ export declare namespace RuleCreateParams {
|
|
|
1465
2740
|
/**
|
|
1466
2741
|
* Conditions for completing the profile.
|
|
1467
2742
|
*/
|
|
1468
|
-
completeProfileConditions?:
|
|
2743
|
+
completeProfileConditions?: {
|
|
2744
|
+
[key: string]: boolean;
|
|
2745
|
+
} | null;
|
|
2746
|
+
/**
|
|
2747
|
+
* Description of the external rule condition (only for external rules)
|
|
2748
|
+
*/
|
|
2749
|
+
conditionDescription?: string;
|
|
1469
2750
|
/**
|
|
1470
2751
|
* Object containing details for the call-to-action.
|
|
1471
2752
|
*/
|
|
@@ -1474,6 +2755,10 @@ export declare namespace RuleCreateParams {
|
|
|
1474
2755
|
* API key for custom rewards integration.
|
|
1475
2756
|
*/
|
|
1476
2757
|
customRewardsApiKey?: string;
|
|
2758
|
+
/**
|
|
2759
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
2760
|
+
*/
|
|
2761
|
+
directRpc?: boolean;
|
|
1477
2762
|
/**
|
|
1478
2763
|
* Array of Discord servers, channels, and roles to join.
|
|
1479
2764
|
*/
|
|
@@ -1494,6 +2779,10 @@ export declare namespace RuleCreateParams {
|
|
|
1494
2779
|
* Flag indicating whether the verified multiplier is enabled.
|
|
1495
2780
|
*/
|
|
1496
2781
|
enableVerifiedMultiplier?: boolean;
|
|
2782
|
+
/**
|
|
2783
|
+
* Type of ERC20 token for the loyalty rule.
|
|
2784
|
+
*/
|
|
2785
|
+
erc20Type?: 'erc20' | 'native';
|
|
1497
2786
|
/**
|
|
1498
2787
|
* Fill source of the order for the token sale
|
|
1499
2788
|
*/
|
|
@@ -1510,10 +2799,6 @@ export declare namespace RuleCreateParams {
|
|
|
1510
2799
|
* Indicates if the item has never been sold.
|
|
1511
2800
|
*/
|
|
1512
2801
|
hasNeverSold?: boolean;
|
|
1513
|
-
/**
|
|
1514
|
-
* Flag indicating whether the order source is included.
|
|
1515
|
-
*/
|
|
1516
|
-
hasOrderSource?: boolean;
|
|
1517
2802
|
/**
|
|
1518
2803
|
* Indicates if the full royalty has been paid for items.
|
|
1519
2804
|
*/
|
|
@@ -1530,10 +2815,18 @@ export declare namespace RuleCreateParams {
|
|
|
1530
2815
|
* URL of the image associated with the rule.
|
|
1531
2816
|
*/
|
|
1532
2817
|
imageUrl?: string | null;
|
|
2818
|
+
/**
|
|
2819
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
2820
|
+
*/
|
|
2821
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1533
2822
|
/**
|
|
1534
2823
|
* Indicates if the multiplier has been applied to rewards.
|
|
1535
2824
|
*/
|
|
1536
2825
|
isMultiplierApplied?: boolean;
|
|
2826
|
+
/**
|
|
2827
|
+
* Flag indicating if the rule is restricted to new users.
|
|
2828
|
+
*/
|
|
2829
|
+
isRestrictedToNewUsers?: boolean;
|
|
1537
2830
|
/**
|
|
1538
2831
|
* Flag indicating if rewards are applied retroactively.
|
|
1539
2832
|
*/
|
|
@@ -1546,6 +2839,10 @@ export declare namespace RuleCreateParams {
|
|
|
1546
2839
|
* Optional link associated with the metadata.
|
|
1547
2840
|
*/
|
|
1548
2841
|
link?: string | null;
|
|
2842
|
+
/**
|
|
2843
|
+
* Liquidity pool details.
|
|
2844
|
+
*/
|
|
2845
|
+
liquidity?: Metadata.Liquidity;
|
|
1549
2846
|
/**
|
|
1550
2847
|
* Maximum quantity constraint for token holding.
|
|
1551
2848
|
*/
|
|
@@ -1578,14 +2875,22 @@ export declare namespace RuleCreateParams {
|
|
|
1578
2875
|
* give points for only one token ownership per contract
|
|
1579
2876
|
*/
|
|
1580
2877
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1581
|
-
/**
|
|
1582
|
-
* Order source of the order for the token sale
|
|
1583
|
-
*/
|
|
1584
|
-
orderSource?: string;
|
|
1585
2878
|
/**
|
|
1586
2879
|
* Promotional code associated with the rule.
|
|
1587
2880
|
*/
|
|
1588
2881
|
promoCode?: string;
|
|
2882
|
+
/**
|
|
2883
|
+
* URL of the CSV file containing promo codes.
|
|
2884
|
+
*/
|
|
2885
|
+
promoCodeCsvUrl?: string;
|
|
2886
|
+
/**
|
|
2887
|
+
* Numbers of the promotional code to be generated.
|
|
2888
|
+
*/
|
|
2889
|
+
promoCodeLength?: number | null;
|
|
2890
|
+
/**
|
|
2891
|
+
* Type of the promotional code.
|
|
2892
|
+
*/
|
|
2893
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1589
2894
|
/**
|
|
1590
2895
|
* Array defining ranges and corresponding rewards.
|
|
1591
2896
|
*/
|
|
@@ -1598,10 +2903,51 @@ export declare namespace RuleCreateParams {
|
|
|
1598
2903
|
* Lump sum reward given to a referrer.
|
|
1599
2904
|
*/
|
|
1600
2905
|
referrerReward?: number | null;
|
|
2906
|
+
/**
|
|
2907
|
+
* Loyalty currency ID of the referrer reward.
|
|
2908
|
+
*/
|
|
2909
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
2910
|
+
/**
|
|
2911
|
+
* Flag indicating if the post link is required.
|
|
2912
|
+
*/
|
|
2913
|
+
requirePostLink?: boolean | null;
|
|
2914
|
+
/**
|
|
2915
|
+
* Flag indicating if media metadata is required.
|
|
2916
|
+
*/
|
|
2917
|
+
requirePostMediaLink?: boolean | null;
|
|
2918
|
+
/**
|
|
2919
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
2920
|
+
*/
|
|
2921
|
+
rewardBadgePerRange?: boolean;
|
|
2922
|
+
/**
|
|
2923
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
2924
|
+
*/
|
|
2925
|
+
rewardByBatch?: boolean | null;
|
|
2926
|
+
/**
|
|
2927
|
+
* Criteria to evaluate the reward.
|
|
2928
|
+
*/
|
|
2929
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
2930
|
+
/**
|
|
2931
|
+
* Flag indicating if the reward is rewarded per action.
|
|
2932
|
+
*/
|
|
2933
|
+
rewardPerAction?: boolean | null;
|
|
1601
2934
|
/**
|
|
1602
2935
|
* Flag indicating if rewards are given per impression.
|
|
1603
2936
|
*/
|
|
1604
2937
|
rewardPerImpression?: boolean | null;
|
|
2938
|
+
/**
|
|
2939
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
2940
|
+
* instead of count.
|
|
2941
|
+
*/
|
|
2942
|
+
rewardPerValue?: boolean;
|
|
2943
|
+
/**
|
|
2944
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2945
|
+
*/
|
|
2946
|
+
royaltyAddress?: string;
|
|
2947
|
+
/**
|
|
2948
|
+
* Royalty percentage of the item.
|
|
2949
|
+
*/
|
|
2950
|
+
royaltyPercentage?: number;
|
|
1605
2951
|
/**
|
|
1606
2952
|
* Currency associated with sales.
|
|
1607
2953
|
*/
|
|
@@ -1625,7 +2971,7 @@ export declare namespace RuleCreateParams {
|
|
|
1625
2971
|
/**
|
|
1626
2972
|
* Social media platform associated with the rule.
|
|
1627
2973
|
*/
|
|
1628
|
-
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
|
|
2974
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
|
|
1629
2975
|
/**
|
|
1630
2976
|
* URL of the social platform's logo.
|
|
1631
2977
|
*/
|
|
@@ -1634,10 +2980,18 @@ export declare namespace RuleCreateParams {
|
|
|
1634
2980
|
* Name of the social platform.
|
|
1635
2981
|
*/
|
|
1636
2982
|
socialPlatformName?: string | null;
|
|
2983
|
+
/**
|
|
2984
|
+
* ID of the Steam app.
|
|
2985
|
+
*/
|
|
2986
|
+
steamAppId?: string | null;
|
|
1637
2987
|
/**
|
|
1638
2988
|
* Array of streak milestones and corresponding rewards.
|
|
1639
2989
|
*/
|
|
1640
2990
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2991
|
+
/**
|
|
2992
|
+
* Metadata for swap loyalty rules
|
|
2993
|
+
*/
|
|
2994
|
+
swap?: Metadata.Swap;
|
|
1641
2995
|
/**
|
|
1642
2996
|
* ID of the Telegram channel.
|
|
1643
2997
|
*/
|
|
@@ -1650,6 +3004,11 @@ export declare namespace RuleCreateParams {
|
|
|
1650
3004
|
* Flag indicating if all contracts are tracked.
|
|
1651
3005
|
*/
|
|
1652
3006
|
trackAllContracts?: boolean | null;
|
|
3007
|
+
/**
|
|
3008
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
3009
|
+
* completed once the progress is 100%.
|
|
3010
|
+
*/
|
|
3011
|
+
trackProgress?: boolean | null;
|
|
1653
3012
|
/**
|
|
1654
3013
|
* URL of the associated Twitter account.
|
|
1655
3014
|
*/
|
|
@@ -1685,7 +3044,15 @@ export declare namespace RuleCreateParams {
|
|
|
1685
3044
|
/**
|
|
1686
3045
|
* Type of wallet associated with the rule.
|
|
1687
3046
|
*/
|
|
1688
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
3047
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | null;
|
|
3048
|
+
/**
|
|
3049
|
+
* ID of the Youtube channel.
|
|
3050
|
+
*/
|
|
3051
|
+
youtubeChannelId?: string | null;
|
|
3052
|
+
/**
|
|
3053
|
+
* ID of the Youtube video.
|
|
3054
|
+
*/
|
|
3055
|
+
youtubeVideoId?: string | null;
|
|
1689
3056
|
}
|
|
1690
3057
|
namespace Metadata {
|
|
1691
3058
|
interface Collection {
|
|
@@ -1700,7 +3067,7 @@ export declare namespace RuleCreateParams {
|
|
|
1700
3067
|
/**
|
|
1701
3068
|
* Blockchain network of the collection.
|
|
1702
3069
|
*/
|
|
1703
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
3070
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
1704
3071
|
}
|
|
1705
3072
|
/**
|
|
1706
3073
|
* Object containing details for the call-to-action.
|
|
@@ -1765,6 +3132,49 @@ export declare namespace RuleCreateParams {
|
|
|
1765
3132
|
*/
|
|
1766
3133
|
id: string;
|
|
1767
3134
|
}
|
|
3135
|
+
/**
|
|
3136
|
+
* Liquidity pool details.
|
|
3137
|
+
*/
|
|
3138
|
+
interface Liquidity {
|
|
3139
|
+
/**
|
|
3140
|
+
* Calculation type of the liquidity pool.
|
|
3141
|
+
*/
|
|
3142
|
+
calculationType?: 'fixed' | 'custom';
|
|
3143
|
+
/**
|
|
3144
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
3145
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
3146
|
+
* USD.
|
|
3147
|
+
*/
|
|
3148
|
+
customFunction?: string;
|
|
3149
|
+
/**
|
|
3150
|
+
* Liquidity provided per day in USD
|
|
3151
|
+
*/
|
|
3152
|
+
liquidityPerDay?: number;
|
|
3153
|
+
/**
|
|
3154
|
+
* Blockchain network of the liquidity pool.
|
|
3155
|
+
*/
|
|
3156
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
3157
|
+
/**
|
|
3158
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
3159
|
+
*/
|
|
3160
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
3161
|
+
/**
|
|
3162
|
+
* Array of liquidity pools associated with the rule.
|
|
3163
|
+
*/
|
|
3164
|
+
pools?: Array<Liquidity.Pool>;
|
|
3165
|
+
/**
|
|
3166
|
+
* Protocol of the liquidity pool.
|
|
3167
|
+
*/
|
|
3168
|
+
protocol?: string;
|
|
3169
|
+
}
|
|
3170
|
+
namespace Liquidity {
|
|
3171
|
+
interface Pool {
|
|
3172
|
+
/**
|
|
3173
|
+
* Unique identifier of the liquidity pool.
|
|
3174
|
+
*/
|
|
3175
|
+
id: string;
|
|
3176
|
+
}
|
|
3177
|
+
}
|
|
1768
3178
|
interface Range {
|
|
1769
3179
|
/**
|
|
1770
3180
|
* Reward amount for this range.
|
|
@@ -1778,6 +3188,14 @@ export declare namespace RuleCreateParams {
|
|
|
1778
3188
|
* Start value of the range.
|
|
1779
3189
|
*/
|
|
1780
3190
|
startRange: number;
|
|
3191
|
+
/**
|
|
3192
|
+
* ID of the loyalty badge for this range.
|
|
3193
|
+
*/
|
|
3194
|
+
loyaltyBadgeId?: string;
|
|
3195
|
+
/**
|
|
3196
|
+
* Amount of the loyalty multiplier for this range.
|
|
3197
|
+
*/
|
|
3198
|
+
loyaltyMultiplierAmount?: number;
|
|
1781
3199
|
}
|
|
1782
3200
|
/**
|
|
1783
3201
|
* Object defining referral requirements.
|
|
@@ -1821,18 +3239,14 @@ export declare namespace RuleCreateParams {
|
|
|
1821
3239
|
* Object containing details of the associated smart contract.
|
|
1822
3240
|
*/
|
|
1823
3241
|
interface SmartContract {
|
|
1824
|
-
/**
|
|
1825
|
-
* ABI of the smart contract.
|
|
1826
|
-
*/
|
|
1827
|
-
abi?: string | null;
|
|
1828
3242
|
/**
|
|
1829
3243
|
* Mapping of addresses for the smart contract.
|
|
1830
3244
|
*/
|
|
1831
3245
|
addressMapping?: string | null;
|
|
1832
3246
|
/**
|
|
1833
|
-
*
|
|
3247
|
+
* Object containing details of the amount multiplier from the event.
|
|
1834
3248
|
*/
|
|
1835
|
-
|
|
3249
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1836
3250
|
/**
|
|
1837
3251
|
* ID of the smart contract.
|
|
1838
3252
|
*/
|
|
@@ -1841,58 +3255,28 @@ export declare namespace RuleCreateParams {
|
|
|
1841
3255
|
* Criteria to evaluate the smart contract event.
|
|
1842
3256
|
*/
|
|
1843
3257
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1844
|
-
/**
|
|
1845
|
-
* Time range applied to the rule.
|
|
1846
|
-
*/
|
|
1847
|
-
customRange?: SmartContract.CustomRange | null;
|
|
1848
3258
|
/**
|
|
1849
3259
|
* Event emitted by the smart contract.
|
|
1850
3260
|
*/
|
|
1851
3261
|
event?: string | null;
|
|
1852
|
-
/**
|
|
1853
|
-
* Maximum value allowed for the parameter.
|
|
1854
|
-
*/
|
|
1855
|
-
max?: number | null;
|
|
1856
3262
|
/**
|
|
1857
3263
|
* Array of parameters for the smart contract.
|
|
1858
3264
|
*/
|
|
1859
3265
|
params?: Array<SmartContract.Param> | null;
|
|
1860
3266
|
/**
|
|
1861
|
-
*
|
|
1862
|
-
*/
|
|
1863
|
-
withBonus?: boolean | null;
|
|
1864
|
-
/**
|
|
1865
|
-
* Flag indicating if a custom range is applied.
|
|
1866
|
-
*/
|
|
1867
|
-
withCustomRange?: boolean | null;
|
|
1868
|
-
/**
|
|
1869
|
-
* Flag indicating if a maximum limit is applied.
|
|
3267
|
+
* Type of the smart contract interaction.
|
|
1870
3268
|
*/
|
|
1871
|
-
|
|
3269
|
+
type?: 'function' | 'event' | null;
|
|
1872
3270
|
}
|
|
1873
3271
|
namespace SmartContract {
|
|
1874
|
-
interface Bonus {
|
|
1875
|
-
/**
|
|
1876
|
-
* Amount of the bonus.
|
|
1877
|
-
*/
|
|
1878
|
-
amount?: number | null;
|
|
1879
|
-
/**
|
|
1880
|
-
* Number of times the bonus is applied.
|
|
1881
|
-
*/
|
|
1882
|
-
count?: number | null;
|
|
1883
|
-
}
|
|
1884
3272
|
/**
|
|
1885
|
-
*
|
|
3273
|
+
* Object containing details of the amount multiplier from the event.
|
|
1886
3274
|
*/
|
|
1887
|
-
interface
|
|
1888
|
-
/**
|
|
1889
|
-
* End time of the custom range.
|
|
1890
|
-
*/
|
|
1891
|
-
endsAt?: string | null;
|
|
3275
|
+
interface AmountMultiplier {
|
|
1892
3276
|
/**
|
|
1893
|
-
*
|
|
3277
|
+
* Mapping of the value for the smart contract.
|
|
1894
3278
|
*/
|
|
1895
|
-
|
|
3279
|
+
valueMapping?: string | null;
|
|
1896
3280
|
}
|
|
1897
3281
|
interface Param {
|
|
1898
3282
|
/**
|
|
@@ -1929,6 +3313,24 @@ export declare namespace RuleCreateParams {
|
|
|
1929
3313
|
*/
|
|
1930
3314
|
streakMilestone: number;
|
|
1931
3315
|
}
|
|
3316
|
+
/**
|
|
3317
|
+
* Metadata for swap loyalty rules
|
|
3318
|
+
*/
|
|
3319
|
+
interface Swap {
|
|
3320
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
3321
|
+
relayReferrerId?: string;
|
|
3322
|
+
requireCrossChainSwap?: boolean;
|
|
3323
|
+
swappedToChain?: 'any' | number | string;
|
|
3324
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
3325
|
+
tokenMode?: 'any' | 'specific';
|
|
3326
|
+
trackTokenAmount?: boolean;
|
|
3327
|
+
}
|
|
3328
|
+
namespace Swap {
|
|
3329
|
+
interface SwappedToToken {
|
|
3330
|
+
address: string;
|
|
3331
|
+
chainId: string;
|
|
3332
|
+
}
|
|
3333
|
+
}
|
|
1932
3334
|
}
|
|
1933
3335
|
interface Collection {
|
|
1934
3336
|
/**
|
|
@@ -1938,7 +3340,11 @@ export declare namespace RuleCreateParams {
|
|
|
1938
3340
|
/**
|
|
1939
3341
|
* Blockchain network for the collection
|
|
1940
3342
|
*/
|
|
1941
|
-
network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
3343
|
+
network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
3344
|
+
/**
|
|
3345
|
+
* Symbol of the collection.
|
|
3346
|
+
*/
|
|
3347
|
+
symbol?: string;
|
|
1942
3348
|
}
|
|
1943
3349
|
}
|
|
1944
3350
|
export interface RuleUpdateParams {
|
|
@@ -1954,10 +3360,14 @@ export interface RuleUpdateParams {
|
|
|
1954
3360
|
* Name of the loyalty rule
|
|
1955
3361
|
*/
|
|
1956
3362
|
name: string;
|
|
3363
|
+
/**
|
|
3364
|
+
* The type of claim for the reward
|
|
3365
|
+
*/
|
|
3366
|
+
claimType?: 'manual' | 'auto' | null;
|
|
1957
3367
|
/**
|
|
1958
3368
|
* Blockchain address of the associated collection
|
|
1959
3369
|
*/
|
|
1960
|
-
collectionAddress?: string;
|
|
3370
|
+
collectionAddress?: string | null;
|
|
1961
3371
|
/**
|
|
1962
3372
|
* List of associated collections
|
|
1963
3373
|
*/
|
|
@@ -1982,6 +3392,10 @@ export interface RuleUpdateParams {
|
|
|
1982
3392
|
* Effective start time of the rule
|
|
1983
3393
|
*/
|
|
1984
3394
|
effectiveStartTime?: string | null;
|
|
3395
|
+
/**
|
|
3396
|
+
* ID of the external integration
|
|
3397
|
+
*/
|
|
3398
|
+
externalIntegrationId?: string | null;
|
|
1985
3399
|
/**
|
|
1986
3400
|
* Frequency of the rule execution
|
|
1987
3401
|
*/
|
|
@@ -1993,7 +3407,7 @@ export interface RuleUpdateParams {
|
|
|
1993
3407
|
/**
|
|
1994
3408
|
* Time interval for recurring rule execution
|
|
1995
3409
|
*/
|
|
1996
|
-
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
|
|
3410
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
|
|
1997
3411
|
/**
|
|
1998
3412
|
* Whether this rule is required for participation
|
|
1999
3413
|
*/
|
|
@@ -2002,6 +3416,16 @@ export interface RuleUpdateParams {
|
|
|
2002
3416
|
* ID of the rule group section to associate with the rule
|
|
2003
3417
|
*/
|
|
2004
3418
|
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
3419
|
+
/**
|
|
3420
|
+
* The interval for the max amount. Available for the smart contract and external
|
|
3421
|
+
* rules.
|
|
3422
|
+
*/
|
|
3423
|
+
maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
|
|
3424
|
+
/**
|
|
3425
|
+
* The maximum amount of points a user can earn per interval. Available for the
|
|
3426
|
+
* smart contract and external rules.
|
|
3427
|
+
*/
|
|
3428
|
+
maxAmountPerInterval?: number | null;
|
|
2005
3429
|
/**
|
|
2006
3430
|
* URL of the media to be displayed
|
|
2007
3431
|
*/
|
|
@@ -2013,23 +3437,35 @@ export interface RuleUpdateParams {
|
|
|
2013
3437
|
/**
|
|
2014
3438
|
* Blockchain network where the rule will apply
|
|
2015
3439
|
*/
|
|
2016
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
3440
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
2017
3441
|
/**
|
|
2018
3442
|
* ID for associated OAuth credentials
|
|
2019
3443
|
*/
|
|
2020
3444
|
oauthCredentialsId?: string | null;
|
|
3445
|
+
/**
|
|
3446
|
+
* The lifetime of the reward
|
|
3447
|
+
*/
|
|
3448
|
+
rewardLifetime?: 'permanent' | 'dynamic' | null;
|
|
2021
3449
|
/**
|
|
2022
3450
|
* Type of reward issued by this rule
|
|
2023
3451
|
*/
|
|
2024
|
-
rewardType?: 'points' | 'multiplier';
|
|
3452
|
+
rewardType?: 'points' | 'multiplier' | 'badge';
|
|
3453
|
+
/**
|
|
3454
|
+
* URL of the Shopify store
|
|
3455
|
+
*/
|
|
3456
|
+
shopifyStoreUrl?: string | null;
|
|
3457
|
+
/**
|
|
3458
|
+
* Whether to show this rule before the start time
|
|
3459
|
+
*/
|
|
3460
|
+
showBeforeStart?: boolean;
|
|
2025
3461
|
/**
|
|
2026
3462
|
* Start time for the loyalty rule
|
|
2027
3463
|
*/
|
|
2028
3464
|
startTime?: string | null;
|
|
2029
3465
|
/**
|
|
2030
|
-
* Optional subscription
|
|
3466
|
+
* Optional subscription id for the rule
|
|
2031
3467
|
*/
|
|
2032
|
-
|
|
3468
|
+
subscriptionId?: string | null;
|
|
2033
3469
|
}
|
|
2034
3470
|
export declare namespace RuleUpdateParams {
|
|
2035
3471
|
interface Collection {
|
|
@@ -2040,12 +3476,20 @@ export declare namespace RuleUpdateParams {
|
|
|
2040
3476
|
/**
|
|
2041
3477
|
* Blockchain network for the collection
|
|
2042
3478
|
*/
|
|
2043
|
-
network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
3479
|
+
network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
3480
|
+
/**
|
|
3481
|
+
* Symbol of the collection.
|
|
3482
|
+
*/
|
|
3483
|
+
symbol?: string;
|
|
2044
3484
|
}
|
|
2045
3485
|
/**
|
|
2046
3486
|
* Additional metadata for the loyalty rule
|
|
2047
3487
|
*/
|
|
2048
3488
|
interface Metadata {
|
|
3489
|
+
/**
|
|
3490
|
+
* Number of tokens per batch.
|
|
3491
|
+
*/
|
|
3492
|
+
batchSize?: number | null;
|
|
2049
3493
|
/**
|
|
2050
3494
|
* Text displayed on the action button.
|
|
2051
3495
|
*/
|
|
@@ -2065,7 +3509,7 @@ export declare namespace RuleUpdateParams {
|
|
|
2065
3509
|
/**
|
|
2066
3510
|
* Text to check in the Twitter post, username, or bio.
|
|
2067
3511
|
*/
|
|
2068
|
-
checkText?: string | null;
|
|
3512
|
+
checkText?: string | Array<string> | null;
|
|
2069
3513
|
/**
|
|
2070
3514
|
* Array of collections associated with the rule.
|
|
2071
3515
|
*/
|
|
@@ -2073,7 +3517,13 @@ export declare namespace RuleUpdateParams {
|
|
|
2073
3517
|
/**
|
|
2074
3518
|
* Conditions for completing the profile.
|
|
2075
3519
|
*/
|
|
2076
|
-
completeProfileConditions?:
|
|
3520
|
+
completeProfileConditions?: {
|
|
3521
|
+
[key: string]: boolean;
|
|
3522
|
+
} | null;
|
|
3523
|
+
/**
|
|
3524
|
+
* Description of the external rule condition (only for external rules)
|
|
3525
|
+
*/
|
|
3526
|
+
conditionDescription?: string;
|
|
2077
3527
|
/**
|
|
2078
3528
|
* Object containing details for the call-to-action.
|
|
2079
3529
|
*/
|
|
@@ -2082,6 +3532,10 @@ export declare namespace RuleUpdateParams {
|
|
|
2082
3532
|
* API key for custom rewards integration.
|
|
2083
3533
|
*/
|
|
2084
3534
|
customRewardsApiKey?: string;
|
|
3535
|
+
/**
|
|
3536
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
3537
|
+
*/
|
|
3538
|
+
directRpc?: boolean;
|
|
2085
3539
|
/**
|
|
2086
3540
|
* Array of Discord servers, channels, and roles to join.
|
|
2087
3541
|
*/
|
|
@@ -2102,6 +3556,10 @@ export declare namespace RuleUpdateParams {
|
|
|
2102
3556
|
* Flag indicating whether the verified multiplier is enabled.
|
|
2103
3557
|
*/
|
|
2104
3558
|
enableVerifiedMultiplier?: boolean;
|
|
3559
|
+
/**
|
|
3560
|
+
* Type of ERC20 token for the loyalty rule.
|
|
3561
|
+
*/
|
|
3562
|
+
erc20Type?: 'erc20' | 'native';
|
|
2105
3563
|
/**
|
|
2106
3564
|
* Fill source of the order for the token sale
|
|
2107
3565
|
*/
|
|
@@ -2118,10 +3576,6 @@ export declare namespace RuleUpdateParams {
|
|
|
2118
3576
|
* Indicates if the item has never been sold.
|
|
2119
3577
|
*/
|
|
2120
3578
|
hasNeverSold?: boolean;
|
|
2121
|
-
/**
|
|
2122
|
-
* Flag indicating whether the order source is included.
|
|
2123
|
-
*/
|
|
2124
|
-
hasOrderSource?: boolean;
|
|
2125
3579
|
/**
|
|
2126
3580
|
* Indicates if the full royalty has been paid for items.
|
|
2127
3581
|
*/
|
|
@@ -2138,10 +3592,18 @@ export declare namespace RuleUpdateParams {
|
|
|
2138
3592
|
* URL of the image associated with the rule.
|
|
2139
3593
|
*/
|
|
2140
3594
|
imageUrl?: string | null;
|
|
3595
|
+
/**
|
|
3596
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
3597
|
+
*/
|
|
3598
|
+
isCheckInOnEveryTxn?: boolean;
|
|
2141
3599
|
/**
|
|
2142
3600
|
* Indicates if the multiplier has been applied to rewards.
|
|
2143
3601
|
*/
|
|
2144
3602
|
isMultiplierApplied?: boolean;
|
|
3603
|
+
/**
|
|
3604
|
+
* Flag indicating if the rule is restricted to new users.
|
|
3605
|
+
*/
|
|
3606
|
+
isRestrictedToNewUsers?: boolean;
|
|
2145
3607
|
/**
|
|
2146
3608
|
* Flag indicating if rewards are applied retroactively.
|
|
2147
3609
|
*/
|
|
@@ -2154,6 +3616,10 @@ export declare namespace RuleUpdateParams {
|
|
|
2154
3616
|
* Optional link associated with the metadata.
|
|
2155
3617
|
*/
|
|
2156
3618
|
link?: string | null;
|
|
3619
|
+
/**
|
|
3620
|
+
* Liquidity pool details.
|
|
3621
|
+
*/
|
|
3622
|
+
liquidity?: Metadata.Liquidity;
|
|
2157
3623
|
/**
|
|
2158
3624
|
* Maximum quantity constraint for token holding.
|
|
2159
3625
|
*/
|
|
@@ -2186,14 +3652,22 @@ export declare namespace RuleUpdateParams {
|
|
|
2186
3652
|
* give points for only one token ownership per contract
|
|
2187
3653
|
*/
|
|
2188
3654
|
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2189
|
-
/**
|
|
2190
|
-
* Order source of the order for the token sale
|
|
2191
|
-
*/
|
|
2192
|
-
orderSource?: string;
|
|
2193
3655
|
/**
|
|
2194
3656
|
* Promotional code associated with the rule.
|
|
2195
3657
|
*/
|
|
2196
3658
|
promoCode?: string;
|
|
3659
|
+
/**
|
|
3660
|
+
* URL of the CSV file containing promo codes.
|
|
3661
|
+
*/
|
|
3662
|
+
promoCodeCsvUrl?: string;
|
|
3663
|
+
/**
|
|
3664
|
+
* Numbers of the promotional code to be generated.
|
|
3665
|
+
*/
|
|
3666
|
+
promoCodeLength?: number | null;
|
|
3667
|
+
/**
|
|
3668
|
+
* Type of the promotional code.
|
|
3669
|
+
*/
|
|
3670
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2197
3671
|
/**
|
|
2198
3672
|
* Array defining ranges and corresponding rewards.
|
|
2199
3673
|
*/
|
|
@@ -2206,10 +3680,51 @@ export declare namespace RuleUpdateParams {
|
|
|
2206
3680
|
* Lump sum reward given to a referrer.
|
|
2207
3681
|
*/
|
|
2208
3682
|
referrerReward?: number | null;
|
|
3683
|
+
/**
|
|
3684
|
+
* Loyalty currency ID of the referrer reward.
|
|
3685
|
+
*/
|
|
3686
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
3687
|
+
/**
|
|
3688
|
+
* Flag indicating if the post link is required.
|
|
3689
|
+
*/
|
|
3690
|
+
requirePostLink?: boolean | null;
|
|
3691
|
+
/**
|
|
3692
|
+
* Flag indicating if media metadata is required.
|
|
3693
|
+
*/
|
|
3694
|
+
requirePostMediaLink?: boolean | null;
|
|
3695
|
+
/**
|
|
3696
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
3697
|
+
*/
|
|
3698
|
+
rewardBadgePerRange?: boolean;
|
|
3699
|
+
/**
|
|
3700
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
3701
|
+
*/
|
|
3702
|
+
rewardByBatch?: boolean | null;
|
|
3703
|
+
/**
|
|
3704
|
+
* Criteria to evaluate the reward.
|
|
3705
|
+
*/
|
|
3706
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
3707
|
+
/**
|
|
3708
|
+
* Flag indicating if the reward is rewarded per action.
|
|
3709
|
+
*/
|
|
3710
|
+
rewardPerAction?: boolean | null;
|
|
2209
3711
|
/**
|
|
2210
3712
|
* Flag indicating if rewards are given per impression.
|
|
2211
3713
|
*/
|
|
2212
3714
|
rewardPerImpression?: boolean | null;
|
|
3715
|
+
/**
|
|
3716
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
3717
|
+
* instead of count.
|
|
3718
|
+
*/
|
|
3719
|
+
rewardPerValue?: boolean;
|
|
3720
|
+
/**
|
|
3721
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
3722
|
+
*/
|
|
3723
|
+
royaltyAddress?: string;
|
|
3724
|
+
/**
|
|
3725
|
+
* Royalty percentage of the item.
|
|
3726
|
+
*/
|
|
3727
|
+
royaltyPercentage?: number;
|
|
2213
3728
|
/**
|
|
2214
3729
|
* Currency associated with sales.
|
|
2215
3730
|
*/
|
|
@@ -2233,7 +3748,7 @@ export declare namespace RuleUpdateParams {
|
|
|
2233
3748
|
/**
|
|
2234
3749
|
* Social media platform associated with the rule.
|
|
2235
3750
|
*/
|
|
2236
|
-
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
|
|
3751
|
+
socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
|
|
2237
3752
|
/**
|
|
2238
3753
|
* URL of the social platform's logo.
|
|
2239
3754
|
*/
|
|
@@ -2242,10 +3757,18 @@ export declare namespace RuleUpdateParams {
|
|
|
2242
3757
|
* Name of the social platform.
|
|
2243
3758
|
*/
|
|
2244
3759
|
socialPlatformName?: string | null;
|
|
3760
|
+
/**
|
|
3761
|
+
* ID of the Steam app.
|
|
3762
|
+
*/
|
|
3763
|
+
steamAppId?: string | null;
|
|
2245
3764
|
/**
|
|
2246
3765
|
* Array of streak milestones and corresponding rewards.
|
|
2247
3766
|
*/
|
|
2248
3767
|
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3768
|
+
/**
|
|
3769
|
+
* Metadata for swap loyalty rules
|
|
3770
|
+
*/
|
|
3771
|
+
swap?: Metadata.Swap;
|
|
2249
3772
|
/**
|
|
2250
3773
|
* ID of the Telegram channel.
|
|
2251
3774
|
*/
|
|
@@ -2258,6 +3781,11 @@ export declare namespace RuleUpdateParams {
|
|
|
2258
3781
|
* Flag indicating if all contracts are tracked.
|
|
2259
3782
|
*/
|
|
2260
3783
|
trackAllContracts?: boolean | null;
|
|
3784
|
+
/**
|
|
3785
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
3786
|
+
* completed once the progress is 100%.
|
|
3787
|
+
*/
|
|
3788
|
+
trackProgress?: boolean | null;
|
|
2261
3789
|
/**
|
|
2262
3790
|
* URL of the associated Twitter account.
|
|
2263
3791
|
*/
|
|
@@ -2293,7 +3821,15 @@ export declare namespace RuleUpdateParams {
|
|
|
2293
3821
|
/**
|
|
2294
3822
|
* Type of wallet associated with the rule.
|
|
2295
3823
|
*/
|
|
2296
|
-
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
3824
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | null;
|
|
3825
|
+
/**
|
|
3826
|
+
* ID of the Youtube channel.
|
|
3827
|
+
*/
|
|
3828
|
+
youtubeChannelId?: string | null;
|
|
3829
|
+
/**
|
|
3830
|
+
* ID of the Youtube video.
|
|
3831
|
+
*/
|
|
3832
|
+
youtubeVideoId?: string | null;
|
|
2297
3833
|
}
|
|
2298
3834
|
namespace Metadata {
|
|
2299
3835
|
interface Collection {
|
|
@@ -2308,7 +3844,7 @@ export declare namespace RuleUpdateParams {
|
|
|
2308
3844
|
/**
|
|
2309
3845
|
* Blockchain network of the collection.
|
|
2310
3846
|
*/
|
|
2311
|
-
network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | '
|
|
3847
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
2312
3848
|
}
|
|
2313
3849
|
/**
|
|
2314
3850
|
* Object containing details for the call-to-action.
|
|
@@ -2373,6 +3909,49 @@ export declare namespace RuleUpdateParams {
|
|
|
2373
3909
|
*/
|
|
2374
3910
|
id: string;
|
|
2375
3911
|
}
|
|
3912
|
+
/**
|
|
3913
|
+
* Liquidity pool details.
|
|
3914
|
+
*/
|
|
3915
|
+
interface Liquidity {
|
|
3916
|
+
/**
|
|
3917
|
+
* Calculation type of the liquidity pool.
|
|
3918
|
+
*/
|
|
3919
|
+
calculationType?: 'fixed' | 'custom';
|
|
3920
|
+
/**
|
|
3921
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
3922
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
3923
|
+
* USD.
|
|
3924
|
+
*/
|
|
3925
|
+
customFunction?: string;
|
|
3926
|
+
/**
|
|
3927
|
+
* Liquidity provided per day in USD
|
|
3928
|
+
*/
|
|
3929
|
+
liquidityPerDay?: number;
|
|
3930
|
+
/**
|
|
3931
|
+
* Blockchain network of the liquidity pool.
|
|
3932
|
+
*/
|
|
3933
|
+
network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'flow_cadence';
|
|
3934
|
+
/**
|
|
3935
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
3936
|
+
*/
|
|
3937
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
3938
|
+
/**
|
|
3939
|
+
* Array of liquidity pools associated with the rule.
|
|
3940
|
+
*/
|
|
3941
|
+
pools?: Array<Liquidity.Pool>;
|
|
3942
|
+
/**
|
|
3943
|
+
* Protocol of the liquidity pool.
|
|
3944
|
+
*/
|
|
3945
|
+
protocol?: string;
|
|
3946
|
+
}
|
|
3947
|
+
namespace Liquidity {
|
|
3948
|
+
interface Pool {
|
|
3949
|
+
/**
|
|
3950
|
+
* Unique identifier of the liquidity pool.
|
|
3951
|
+
*/
|
|
3952
|
+
id: string;
|
|
3953
|
+
}
|
|
3954
|
+
}
|
|
2376
3955
|
interface Range {
|
|
2377
3956
|
/**
|
|
2378
3957
|
* Reward amount for this range.
|
|
@@ -2386,6 +3965,14 @@ export declare namespace RuleUpdateParams {
|
|
|
2386
3965
|
* Start value of the range.
|
|
2387
3966
|
*/
|
|
2388
3967
|
startRange: number;
|
|
3968
|
+
/**
|
|
3969
|
+
* ID of the loyalty badge for this range.
|
|
3970
|
+
*/
|
|
3971
|
+
loyaltyBadgeId?: string;
|
|
3972
|
+
/**
|
|
3973
|
+
* Amount of the loyalty multiplier for this range.
|
|
3974
|
+
*/
|
|
3975
|
+
loyaltyMultiplierAmount?: number;
|
|
2389
3976
|
}
|
|
2390
3977
|
/**
|
|
2391
3978
|
* Object defining referral requirements.
|
|
@@ -2429,18 +4016,14 @@ export declare namespace RuleUpdateParams {
|
|
|
2429
4016
|
* Object containing details of the associated smart contract.
|
|
2430
4017
|
*/
|
|
2431
4018
|
interface SmartContract {
|
|
2432
|
-
/**
|
|
2433
|
-
* ABI of the smart contract.
|
|
2434
|
-
*/
|
|
2435
|
-
abi?: string | null;
|
|
2436
4019
|
/**
|
|
2437
4020
|
* Mapping of addresses for the smart contract.
|
|
2438
4021
|
*/
|
|
2439
4022
|
addressMapping?: string | null;
|
|
2440
4023
|
/**
|
|
2441
|
-
*
|
|
4024
|
+
* Object containing details of the amount multiplier from the event.
|
|
2442
4025
|
*/
|
|
2443
|
-
|
|
4026
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2444
4027
|
/**
|
|
2445
4028
|
* ID of the smart contract.
|
|
2446
4029
|
*/
|
|
@@ -2449,58 +4032,28 @@ export declare namespace RuleUpdateParams {
|
|
|
2449
4032
|
* Criteria to evaluate the smart contract event.
|
|
2450
4033
|
*/
|
|
2451
4034
|
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2452
|
-
/**
|
|
2453
|
-
* Time range applied to the rule.
|
|
2454
|
-
*/
|
|
2455
|
-
customRange?: SmartContract.CustomRange | null;
|
|
2456
4035
|
/**
|
|
2457
4036
|
* Event emitted by the smart contract.
|
|
2458
4037
|
*/
|
|
2459
4038
|
event?: string | null;
|
|
2460
|
-
/**
|
|
2461
|
-
* Maximum value allowed for the parameter.
|
|
2462
|
-
*/
|
|
2463
|
-
max?: number | null;
|
|
2464
4039
|
/**
|
|
2465
4040
|
* Array of parameters for the smart contract.
|
|
2466
4041
|
*/
|
|
2467
4042
|
params?: Array<SmartContract.Param> | null;
|
|
2468
4043
|
/**
|
|
2469
|
-
*
|
|
2470
|
-
*/
|
|
2471
|
-
withBonus?: boolean | null;
|
|
2472
|
-
/**
|
|
2473
|
-
* Flag indicating if a custom range is applied.
|
|
2474
|
-
*/
|
|
2475
|
-
withCustomRange?: boolean | null;
|
|
2476
|
-
/**
|
|
2477
|
-
* Flag indicating if a maximum limit is applied.
|
|
4044
|
+
* Type of the smart contract interaction.
|
|
2478
4045
|
*/
|
|
2479
|
-
|
|
4046
|
+
type?: 'function' | 'event' | null;
|
|
2480
4047
|
}
|
|
2481
4048
|
namespace SmartContract {
|
|
2482
|
-
interface Bonus {
|
|
2483
|
-
/**
|
|
2484
|
-
* Amount of the bonus.
|
|
2485
|
-
*/
|
|
2486
|
-
amount?: number | null;
|
|
2487
|
-
/**
|
|
2488
|
-
* Number of times the bonus is applied.
|
|
2489
|
-
*/
|
|
2490
|
-
count?: number | null;
|
|
2491
|
-
}
|
|
2492
4049
|
/**
|
|
2493
|
-
*
|
|
4050
|
+
* Object containing details of the amount multiplier from the event.
|
|
2494
4051
|
*/
|
|
2495
|
-
interface
|
|
2496
|
-
/**
|
|
2497
|
-
* End time of the custom range.
|
|
2498
|
-
*/
|
|
2499
|
-
endsAt?: string | null;
|
|
4052
|
+
interface AmountMultiplier {
|
|
2500
4053
|
/**
|
|
2501
|
-
*
|
|
4054
|
+
* Mapping of the value for the smart contract.
|
|
2502
4055
|
*/
|
|
2503
|
-
|
|
4056
|
+
valueMapping?: string | null;
|
|
2504
4057
|
}
|
|
2505
4058
|
interface Param {
|
|
2506
4059
|
/**
|
|
@@ -2537,15 +4090,51 @@ export declare namespace RuleUpdateParams {
|
|
|
2537
4090
|
*/
|
|
2538
4091
|
streakMilestone: number;
|
|
2539
4092
|
}
|
|
4093
|
+
/**
|
|
4094
|
+
* Metadata for swap loyalty rules
|
|
4095
|
+
*/
|
|
4096
|
+
interface Swap {
|
|
4097
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
4098
|
+
relayReferrerId?: string;
|
|
4099
|
+
requireCrossChainSwap?: boolean;
|
|
4100
|
+
swappedToChain?: 'any' | number | string;
|
|
4101
|
+
swappedToTokens?: Array<Swap.SwappedToToken>;
|
|
4102
|
+
tokenMode?: 'any' | 'specific';
|
|
4103
|
+
trackTokenAmount?: boolean;
|
|
4104
|
+
}
|
|
4105
|
+
namespace Swap {
|
|
4106
|
+
interface SwappedToToken {
|
|
4107
|
+
address: string;
|
|
4108
|
+
chainId: string;
|
|
4109
|
+
}
|
|
4110
|
+
}
|
|
2540
4111
|
}
|
|
2541
4112
|
}
|
|
2542
4113
|
export interface RuleListParams {
|
|
4114
|
+
/**
|
|
4115
|
+
* IDs of the users to filter results by
|
|
4116
|
+
*/
|
|
4117
|
+
allotedToUserId?: string | Array<string>;
|
|
4118
|
+
/**
|
|
4119
|
+
* ID of the user group to filter results by
|
|
4120
|
+
*/
|
|
4121
|
+
allotedUserGroupId?: string;
|
|
2543
4122
|
/**
|
|
2544
4123
|
* Address of the collection to filter by
|
|
2545
4124
|
*/
|
|
2546
4125
|
collectionAddress?: string;
|
|
2547
4126
|
/**
|
|
2548
|
-
*
|
|
4127
|
+
* If true this will only return active rules, the rules for which the startTime is
|
|
4128
|
+
* in the past and the endTime is in the future
|
|
4129
|
+
*/
|
|
4130
|
+
isActive?: 'true' | 'false';
|
|
4131
|
+
/**
|
|
4132
|
+
* If true this will only return special rules, special rules are the rules that
|
|
4133
|
+
* are used for anti sybil as honey pot
|
|
4134
|
+
*/
|
|
4135
|
+
isSpecial?: 'true' | 'false';
|
|
4136
|
+
/**
|
|
4137
|
+
* Maximum number of records to return (max 100)
|
|
2549
4138
|
*/
|
|
2550
4139
|
limit?: number;
|
|
2551
4140
|
/**
|
|
@@ -2569,6 +4158,12 @@ export interface RuleListParams {
|
|
|
2569
4158
|
*/
|
|
2570
4159
|
websiteId?: string;
|
|
2571
4160
|
}
|
|
4161
|
+
export interface RuleDeleteParams {
|
|
4162
|
+
/**
|
|
4163
|
+
* Whether to debit loyalty points
|
|
4164
|
+
*/
|
|
4165
|
+
debitLoyaltyPoints?: string;
|
|
4166
|
+
}
|
|
2572
4167
|
export interface RuleCompleteParams {
|
|
2573
4168
|
/**
|
|
2574
4169
|
* Override amount for the reward (rounded to nearest whole number). This will
|
|
@@ -2576,13 +4171,21 @@ export interface RuleCompleteParams {
|
|
|
2576
4171
|
*/
|
|
2577
4172
|
amount?: number | null;
|
|
2578
4173
|
/**
|
|
2579
|
-
* Link to the comment made by user
|
|
4174
|
+
* Link to the post/comment made by user
|
|
4175
|
+
*/
|
|
4176
|
+
contentUrl?: string;
|
|
4177
|
+
/**
|
|
4178
|
+
* Unique key to ensure idempotent requests.
|
|
2580
4179
|
*/
|
|
2581
|
-
|
|
4180
|
+
idempotencyKey?: string;
|
|
2582
4181
|
/**
|
|
2583
4182
|
* ID of the choice selected by the user
|
|
2584
4183
|
*/
|
|
2585
4184
|
loyaltyQuestionChoiceId?: string;
|
|
4185
|
+
/**
|
|
4186
|
+
* Value to compare with the range
|
|
4187
|
+
*/
|
|
4188
|
+
rangeValue?: number | null;
|
|
2586
4189
|
/**
|
|
2587
4190
|
* Unique identifier for the user
|
|
2588
4191
|
*/
|
|
@@ -2593,7 +4196,7 @@ export interface RuleCompleteParams {
|
|
|
2593
4196
|
verificationCode?: string;
|
|
2594
4197
|
/**
|
|
2595
4198
|
* Flag indicating if only verification is required, this will not create a
|
|
2596
|
-
* transaction and reward the user
|
|
4199
|
+
* transaction and reward the user.
|
|
2597
4200
|
*/
|
|
2598
4201
|
verifyOnly?: string;
|
|
2599
4202
|
/**
|
|
@@ -2602,11 +4205,25 @@ export interface RuleCompleteParams {
|
|
|
2602
4205
|
walletAddress?: string;
|
|
2603
4206
|
}
|
|
2604
4207
|
export interface RuleGetStatusParams {
|
|
2605
|
-
|
|
2606
|
-
|
|
4208
|
+
/**
|
|
4209
|
+
* Number of items to return
|
|
4210
|
+
*/
|
|
4211
|
+
limit?: number | null;
|
|
4212
|
+
/**
|
|
4213
|
+
* Unique identifier for the loyalty rule[s]
|
|
4214
|
+
*/
|
|
4215
|
+
loyaltyRuleId?: string | Array<string>;
|
|
4216
|
+
organizationId?: string;
|
|
4217
|
+
/**
|
|
4218
|
+
* Starting after item
|
|
4219
|
+
*/
|
|
4220
|
+
startingAfter?: string;
|
|
4221
|
+
userGroupId?: string;
|
|
2607
4222
|
userId?: string;
|
|
4223
|
+
walletAddress?: string;
|
|
4224
|
+
websiteId?: string;
|
|
2608
4225
|
}
|
|
2609
4226
|
export declare namespace Rules {
|
|
2610
|
-
export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
|
|
4227
|
+
export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleDeleteParams as RuleDeleteParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
|
|
2611
4228
|
}
|
|
2612
4229
|
//# sourceMappingURL=rules.d.ts.map
|