@snagsolutions/sdk 0.1.0-alpha.10
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 +125 -0
- package/LICENSE +201 -0
- package/README.md +297 -0
- package/_shims/MultipartBody.d.ts +9 -0
- package/_shims/MultipartBody.d.ts.map +1 -0
- package/_shims/MultipartBody.js +16 -0
- package/_shims/MultipartBody.js.map +1 -0
- package/_shims/MultipartBody.mjs +12 -0
- package/_shims/MultipartBody.mjs.map +1 -0
- package/_shims/README.md +46 -0
- package/_shims/auto/runtime-bun.d.ts +5 -0
- package/_shims/auto/runtime-bun.d.ts.map +1 -0
- package/_shims/auto/runtime-bun.js +21 -0
- package/_shims/auto/runtime-bun.js.map +1 -0
- package/_shims/auto/runtime-bun.mjs +2 -0
- package/_shims/auto/runtime-bun.mjs.map +1 -0
- package/_shims/auto/runtime-node.d.ts +5 -0
- package/_shims/auto/runtime-node.d.ts.map +1 -0
- package/_shims/auto/runtime-node.js +21 -0
- package/_shims/auto/runtime-node.js.map +1 -0
- package/_shims/auto/runtime-node.mjs +2 -0
- package/_shims/auto/runtime-node.mjs.map +1 -0
- package/_shims/auto/runtime.d.ts +5 -0
- package/_shims/auto/runtime.d.ts.map +1 -0
- package/_shims/auto/runtime.js +21 -0
- package/_shims/auto/runtime.js.map +1 -0
- package/_shims/auto/runtime.mjs +2 -0
- package/_shims/auto/runtime.mjs.map +1 -0
- package/_shims/auto/types-node.d.ts +5 -0
- package/_shims/auto/types-node.d.ts.map +1 -0
- package/_shims/auto/types-node.js +21 -0
- package/_shims/auto/types-node.js.map +1 -0
- package/_shims/auto/types-node.mjs +2 -0
- package/_shims/auto/types-node.mjs.map +1 -0
- package/_shims/auto/types.d.ts +101 -0
- package/_shims/auto/types.js +3 -0
- package/_shims/auto/types.mjs +3 -0
- package/_shims/bun-runtime.d.ts +6 -0
- package/_shims/bun-runtime.d.ts.map +1 -0
- package/_shims/bun-runtime.js +14 -0
- package/_shims/bun-runtime.js.map +1 -0
- package/_shims/bun-runtime.mjs +10 -0
- package/_shims/bun-runtime.mjs.map +1 -0
- package/_shims/index.d.ts +81 -0
- package/_shims/index.js +13 -0
- package/_shims/index.mjs +7 -0
- package/_shims/manual-types.d.ts +12 -0
- package/_shims/manual-types.js +3 -0
- package/_shims/manual-types.mjs +3 -0
- package/_shims/node-runtime.d.ts +3 -0
- package/_shims/node-runtime.d.ts.map +1 -0
- package/_shims/node-runtime.js +89 -0
- package/_shims/node-runtime.js.map +1 -0
- package/_shims/node-runtime.mjs +56 -0
- package/_shims/node-runtime.mjs.map +1 -0
- package/_shims/node-types.d.ts +42 -0
- package/_shims/node-types.js +3 -0
- package/_shims/node-types.mjs +3 -0
- package/_shims/registry.d.ts +37 -0
- package/_shims/registry.d.ts.map +1 -0
- package/_shims/registry.js +41 -0
- package/_shims/registry.js.map +1 -0
- package/_shims/registry.mjs +37 -0
- package/_shims/registry.mjs.map +1 -0
- package/_shims/web-runtime.d.ts +5 -0
- package/_shims/web-runtime.d.ts.map +1 -0
- package/_shims/web-runtime.js +78 -0
- package/_shims/web-runtime.js.map +1 -0
- package/_shims/web-runtime.mjs +71 -0
- package/_shims/web-runtime.mjs.map +1 -0
- package/_shims/web-types.d.ts +83 -0
- package/_shims/web-types.js +3 -0
- package/_shims/web-types.mjs +3 -0
- package/core.d.ts +241 -0
- package/core.d.ts.map +1 -0
- package/core.js +908 -0
- package/core.js.map +1 -0
- package/core.mjs +876 -0
- package/core.mjs.map +1 -0
- package/error.d.ts +47 -0
- package/error.d.ts.map +1 -0
- package/error.js +113 -0
- package/error.js.map +1 -0
- package/error.mjs +97 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +126 -0
- package/index.d.ts +126 -0
- package/index.d.ts.map +1 -0
- package/index.js +141 -0
- package/index.js.map +1 -0
- package/index.mjs +98 -0
- package/index.mjs.map +1 -0
- package/internal/qs/formats.d.ts +6 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +11 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +8 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +280 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +276 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/internal/qs/types.js +3 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.ts +14 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +229 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/package.json +103 -0
- package/resource.d.ts +6 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +11 -0
- package/resource.js.map +1 -0
- package/resource.mjs +7 -0
- package/resource.mjs.map +1 -0
- package/resources/assets.d.ts +50 -0
- package/resources/assets.d.ts.map +1 -0
- package/resources/assets.js +17 -0
- package/resources/assets.js.map +1 -0
- package/resources/assets.mjs +13 -0
- package/resources/assets.mjs.map +1 -0
- package/resources/auction-bids.d.ts +81 -0
- package/resources/auction-bids.d.ts.map +1 -0
- package/resources/auction-bids.js +30 -0
- package/resources/auction-bids.js.map +1 -0
- package/resources/auction-bids.mjs +26 -0
- package/resources/auction-bids.mjs.map +1 -0
- package/resources/drip/drip.d.ts +14 -0
- package/resources/drip/drip.d.ts.map +1 -0
- package/resources/drip/drip.js +43 -0
- package/resources/drip/drip.js.map +1 -0
- package/resources/drip/drip.mjs +16 -0
- package/resources/drip/drip.mjs.map +1 -0
- package/resources/drip/index.d.ts +4 -0
- package/resources/drip/index.d.ts.map +1 -0
- package/resources/drip/index.js +11 -0
- package/resources/drip/index.js.map +1 -0
- package/resources/drip/index.mjs +5 -0
- package/resources/drip/index.mjs.map +1 -0
- package/resources/drip/quests.d.ts +168 -0
- package/resources/drip/quests.d.ts.map +1 -0
- package/resources/drip/quests.js +17 -0
- package/resources/drip/quests.js.map +1 -0
- package/resources/drip/quests.mjs +13 -0
- package/resources/drip/quests.mjs.map +1 -0
- package/resources/drip/status.d.ts +26 -0
- package/resources/drip/status.d.ts.map +1 -0
- package/resources/drip/status.js +16 -0
- package/resources/drip/status.js.map +1 -0
- package/resources/drip/status.mjs +12 -0
- package/resources/drip/status.mjs.map +1 -0
- package/resources/index.d.ts +7 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +17 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +8 -0
- package/resources/index.mjs.map +1 -0
- package/resources/loyalty/accounts.d.ts +157 -0
- package/resources/loyalty/accounts.d.ts.map +1 -0
- package/resources/loyalty/accounts.js +16 -0
- package/resources/loyalty/accounts.js.map +1 -0
- package/resources/loyalty/accounts.mjs +12 -0
- package/resources/loyalty/accounts.mjs.map +1 -0
- package/resources/loyalty/badges.d.ts +299 -0
- package/resources/loyalty/badges.d.ts.map +1 -0
- package/resources/loyalty/badges.js +46 -0
- package/resources/loyalty/badges.js.map +1 -0
- package/resources/loyalty/badges.mjs +42 -0
- package/resources/loyalty/badges.mjs.map +1 -0
- package/resources/loyalty/currencies.d.ts +252 -0
- package/resources/loyalty/currencies.d.ts.map +1 -0
- package/resources/loyalty/currencies.js +21 -0
- package/resources/loyalty/currencies.js.map +1 -0
- package/resources/loyalty/currencies.mjs +17 -0
- package/resources/loyalty/currencies.mjs.map +1 -0
- package/resources/loyalty/index.d.ts +9 -0
- package/resources/loyalty/index.d.ts.map +1 -0
- package/resources/loyalty/index.js +21 -0
- package/resources/loyalty/index.js.map +1 -0
- package/resources/loyalty/index.mjs +10 -0
- package/resources/loyalty/index.mjs.map +1 -0
- package/resources/loyalty/loyalty.d.ts +34 -0
- package/resources/loyalty/loyalty.d.ts.map +1 -0
- package/resources/loyalty/loyalty.js +63 -0
- package/resources/loyalty/loyalty.js.map +1 -0
- package/resources/loyalty/loyalty.mjs +36 -0
- package/resources/loyalty/loyalty.mjs.map +1 -0
- package/resources/loyalty/multipliers.d.ts +129 -0
- package/resources/loyalty/multipliers.d.ts.map +1 -0
- package/resources/loyalty/multipliers.js +34 -0
- package/resources/loyalty/multipliers.js.map +1 -0
- package/resources/loyalty/multipliers.mjs +30 -0
- package/resources/loyalty/multipliers.mjs.map +1 -0
- package/resources/loyalty/rule-edits.d.ts +330 -0
- package/resources/loyalty/rule-edits.d.ts.map +1 -0
- package/resources/loyalty/rule-edits.js +21 -0
- package/resources/loyalty/rule-edits.js.map +1 -0
- package/resources/loyalty/rule-edits.mjs +17 -0
- package/resources/loyalty/rule-edits.mjs.map +1 -0
- package/resources/loyalty/rules.d.ts +2430 -0
- package/resources/loyalty/rules.d.ts.map +1 -0
- package/resources/loyalty/rules.js +46 -0
- package/resources/loyalty/rules.js.map +1 -0
- package/resources/loyalty/rules.mjs +42 -0
- package/resources/loyalty/rules.mjs.map +1 -0
- package/resources/loyalty/transaction-entries.d.ts +175 -0
- package/resources/loyalty/transaction-entries.d.ts.map +1 -0
- package/resources/loyalty/transaction-entries.js +16 -0
- package/resources/loyalty/transaction-entries.js.map +1 -0
- package/resources/loyalty/transaction-entries.mjs +12 -0
- package/resources/loyalty/transaction-entries.mjs.map +1 -0
- package/resources/users/index.d.ts +4 -0
- package/resources/users/index.d.ts.map +1 -0
- package/resources/users/index.js +11 -0
- package/resources/users/index.js.map +1 -0
- package/resources/users/index.mjs +5 -0
- package/resources/users/index.mjs.map +1 -0
- package/resources/users/metadatas.d.ts +64 -0
- package/resources/users/metadatas.d.ts.map +1 -0
- package/resources/users/metadatas.js +16 -0
- package/resources/users/metadatas.js.map +1 -0
- package/resources/users/metadatas.mjs +12 -0
- package/resources/users/metadatas.mjs.map +1 -0
- package/resources/users/users.d.ts +14 -0
- package/resources/users/users.d.ts.map +1 -0
- package/resources/users/users.js +43 -0
- package/resources/users/users.js.map +1 -0
- package/resources/users/users.mjs +16 -0
- package/resources/users/users.mjs.map +1 -0
- package/resources/users/wallets.d.ts +193 -0
- package/resources/users/wallets.d.ts.map +1 -0
- package/resources/users/wallets.js +28 -0
- package/resources/users/wallets.js.map +1 -0
- package/resources/users/wallets.mjs +24 -0
- package/resources/users/wallets.mjs.map +1 -0
- package/resources/websites.d.ts +203 -0
- package/resources/websites.d.ts.map +1 -0
- package/resources/websites.js +22 -0
- package/resources/websites.js.map +1 -0
- package/resources/websites.mjs +18 -0
- package/resources/websites.mjs.map +1 -0
- package/shims/node.d.ts +30 -0
- package/shims/node.d.ts.map +1 -0
- package/shims/node.js +31 -0
- package/shims/node.js.map +1 -0
- package/shims/node.mjs +5 -0
- package/shims/node.mjs.map +1 -0
- package/shims/web.d.ts +26 -0
- package/shims/web.d.ts.map +1 -0
- package/shims/web.js +31 -0
- package/shims/web.js.map +1 -0
- package/shims/web.mjs +5 -0
- package/shims/web.mjs.map +1 -0
- package/src/_shims/MultipartBody.ts +9 -0
- package/src/_shims/README.md +46 -0
- package/src/_shims/auto/runtime-bun.ts +4 -0
- package/src/_shims/auto/runtime-node.ts +4 -0
- package/src/_shims/auto/runtime.ts +4 -0
- package/src/_shims/auto/types-node.ts +4 -0
- package/src/_shims/auto/types.d.ts +101 -0
- package/src/_shims/auto/types.js +3 -0
- package/src/_shims/auto/types.mjs +3 -0
- package/src/_shims/bun-runtime.ts +14 -0
- package/src/_shims/index.d.ts +81 -0
- package/src/_shims/index.js +13 -0
- package/src/_shims/index.mjs +7 -0
- package/src/_shims/manual-types.d.ts +12 -0
- package/src/_shims/manual-types.js +3 -0
- package/src/_shims/manual-types.mjs +3 -0
- package/src/_shims/node-runtime.ts +81 -0
- package/src/_shims/node-types.d.ts +42 -0
- package/src/_shims/node-types.js +3 -0
- package/src/_shims/node-types.mjs +3 -0
- package/src/_shims/registry.ts +67 -0
- package/src/_shims/web-runtime.ts +103 -0
- package/src/_shims/web-types.d.ts +83 -0
- package/src/_shims/web-types.js +3 -0
- package/src/_shims/web-types.mjs +3 -0
- package/src/core.ts +1201 -0
- package/src/error.ts +130 -0
- package/src/index.ts +235 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +9 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +388 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/lib/.keep +4 -0
- package/src/resource.ts +11 -0
- package/src/resources/assets.ts +71 -0
- package/src/resources/auction-bids.ts +123 -0
- package/src/resources/drip/drip.ts +25 -0
- package/src/resources/drip/index.ts +5 -0
- package/src/resources/drip/quests.ts +210 -0
- package/src/resources/drip/status.ts +33 -0
- package/src/resources/index.ts +14 -0
- package/src/resources/loyalty/accounts.ts +199 -0
- package/src/resources/loyalty/badges.ts +435 -0
- package/src/resources/loyalty/currencies.ts +321 -0
- package/src/resources/loyalty/index.ts +61 -0
- package/src/resources/loyalty/loyalty.ts +159 -0
- package/src/resources/loyalty/multipliers.ts +238 -0
- package/src/resources/loyalty/rule-edits.ts +421 -0
- package/src/resources/loyalty/rules.ts +3513 -0
- package/src/resources/loyalty/transaction-entries.ts +229 -0
- package/src/resources/users/index.ts +12 -0
- package/src/resources/users/metadatas.ts +103 -0
- package/src/resources/users/users.ts +39 -0
- package/src/resources/users/wallets.ts +271 -0
- package/src/resources/websites.ts +259 -0
- package/src/shims/node.ts +50 -0
- package/src/shims/web.ts +50 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +255 -0
- package/src/version.ts +1 -0
- package/uploads.d.ts +75 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +171 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +158 -0
- package/uploads.mjs.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,2430 @@
|
|
|
1
|
+
import { APIResource } from "../../resource.js";
|
|
2
|
+
import * as Core from "../../core.js";
|
|
3
|
+
export declare class Rules extends APIResource {
|
|
4
|
+
/**
|
|
5
|
+
* Create a new Loyalty Rule
|
|
6
|
+
*/
|
|
7
|
+
create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
|
|
8
|
+
/**
|
|
9
|
+
* Update an existing Loyalty Rule
|
|
10
|
+
*/
|
|
11
|
+
update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* Retrieve configured loyalty rules with optional pagination and filters
|
|
14
|
+
*/
|
|
15
|
+
list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
16
|
+
list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
|
|
17
|
+
/**
|
|
18
|
+
* Delete an existing Loyalty Rule
|
|
19
|
+
*/
|
|
20
|
+
delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Verify a loyalty rule based on user action and reward them if applicable. This
|
|
23
|
+
* endpoint currenlty onlu supports following rule types code_entry, text_input,
|
|
24
|
+
* link_click, discord_member, connect_wallet, check_in, external_rule,
|
|
25
|
+
* 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
|
|
27
|
+
*/
|
|
28
|
+
complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
|
|
29
|
+
complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
|
|
30
|
+
/**
|
|
31
|
+
* This will return the processing status of quests for a specific user
|
|
32
|
+
*/
|
|
33
|
+
status(query: RuleStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleStatusResponse>;
|
|
34
|
+
}
|
|
35
|
+
export interface RuleCreateResponse {
|
|
36
|
+
id: string;
|
|
37
|
+
/**
|
|
38
|
+
* Reward amount associated with the rule
|
|
39
|
+
*/
|
|
40
|
+
amount: unknown;
|
|
41
|
+
/**
|
|
42
|
+
* The effective end time of the rule
|
|
43
|
+
*/
|
|
44
|
+
effectiveEndTime: string | null;
|
|
45
|
+
/**
|
|
46
|
+
* The effective start time of the rule
|
|
47
|
+
*/
|
|
48
|
+
effectiveStartTime: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* When the rule becomes inactive
|
|
51
|
+
*/
|
|
52
|
+
endTime: string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Execution frequency of the loyalty rule
|
|
55
|
+
*/
|
|
56
|
+
frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
57
|
+
/**
|
|
58
|
+
* Unique identifier for the loyalty currency
|
|
59
|
+
*/
|
|
60
|
+
loyaltyCurrencyId: string;
|
|
61
|
+
/**
|
|
62
|
+
* Additional metadata for the loyalty rule
|
|
63
|
+
*/
|
|
64
|
+
metadata: RuleCreateResponse.Metadata;
|
|
65
|
+
/**
|
|
66
|
+
* Name of the loyalty rule
|
|
67
|
+
*/
|
|
68
|
+
name: string;
|
|
69
|
+
/**
|
|
70
|
+
* Unique identifier for the organization creating the rule
|
|
71
|
+
*/
|
|
72
|
+
organizationId: string;
|
|
73
|
+
/**
|
|
74
|
+
* When the rule becomes active
|
|
75
|
+
*/
|
|
76
|
+
startTime: string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Type of loyalty rule being created
|
|
79
|
+
*/
|
|
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';
|
|
81
|
+
/**
|
|
82
|
+
* Unique identifier for the associated website
|
|
83
|
+
*/
|
|
84
|
+
websiteId: string;
|
|
85
|
+
/**
|
|
86
|
+
* URL of the background asset to be displayed
|
|
87
|
+
*/
|
|
88
|
+
backgroundAssetUrl?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Blockchain address of the associated collection
|
|
91
|
+
*/
|
|
92
|
+
collectionAddress?: string;
|
|
93
|
+
/**
|
|
94
|
+
* List of associated collections
|
|
95
|
+
*/
|
|
96
|
+
collections?: Array<RuleCreateResponse.Collection> | null;
|
|
97
|
+
/**
|
|
98
|
+
* URL for fetching custom rewards
|
|
99
|
+
*/
|
|
100
|
+
customRewardsApiUrl?: string | null;
|
|
101
|
+
/**
|
|
102
|
+
* URL for uploading custom rewards via CSV
|
|
103
|
+
*/
|
|
104
|
+
customRewardsCsvUrl?: string | null;
|
|
105
|
+
/**
|
|
106
|
+
* Optional detailed description of the rule
|
|
107
|
+
*/
|
|
108
|
+
description?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Whether to hide this rule in the user interface
|
|
111
|
+
*/
|
|
112
|
+
hideInUi?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Interval between rule executions
|
|
115
|
+
*/
|
|
116
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
|
|
117
|
+
/**
|
|
118
|
+
* Whether this rule is mandatory
|
|
119
|
+
*/
|
|
120
|
+
isRequired?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Unique identifier for the loyalty rule group
|
|
123
|
+
*/
|
|
124
|
+
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
125
|
+
/**
|
|
126
|
+
* Blockchain network where the rule will apply
|
|
127
|
+
*/
|
|
128
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
129
|
+
/**
|
|
130
|
+
* OAuth credentials associated with the rule
|
|
131
|
+
*/
|
|
132
|
+
oauthCredentialsId?: string | null;
|
|
133
|
+
/**
|
|
134
|
+
* Type of reward issued by the rule
|
|
135
|
+
*/
|
|
136
|
+
rewardType?: 'points' | 'multiplier';
|
|
137
|
+
/**
|
|
138
|
+
* Identifier for associated subscriptions
|
|
139
|
+
*/
|
|
140
|
+
subscriptionIdentifier?: string | null;
|
|
141
|
+
}
|
|
142
|
+
export declare namespace RuleCreateResponse {
|
|
143
|
+
/**
|
|
144
|
+
* Additional metadata for the loyalty rule
|
|
145
|
+
*/
|
|
146
|
+
interface Metadata {
|
|
147
|
+
/**
|
|
148
|
+
* Text displayed on the action button.
|
|
149
|
+
*/
|
|
150
|
+
buttonText?: string | null;
|
|
151
|
+
/**
|
|
152
|
+
* Flag indicating if commenting is required.
|
|
153
|
+
*/
|
|
154
|
+
checkComment?: boolean | null;
|
|
155
|
+
/**
|
|
156
|
+
* Flag indicating if liking the post is required.
|
|
157
|
+
*/
|
|
158
|
+
checkLike?: boolean | null;
|
|
159
|
+
/**
|
|
160
|
+
* Flag indicating if reposting is required.
|
|
161
|
+
*/
|
|
162
|
+
checkRepost?: boolean | null;
|
|
163
|
+
/**
|
|
164
|
+
* Text to check in the Twitter post, username, or bio.
|
|
165
|
+
*/
|
|
166
|
+
checkText?: string | null;
|
|
167
|
+
/**
|
|
168
|
+
* Array of collections associated with the rule.
|
|
169
|
+
*/
|
|
170
|
+
collection?: Array<Metadata.Collection>;
|
|
171
|
+
/**
|
|
172
|
+
* Object containing details for the call-to-action.
|
|
173
|
+
*/
|
|
174
|
+
cta?: Metadata.Cta | null;
|
|
175
|
+
/**
|
|
176
|
+
* API key for custom rewards integration.
|
|
177
|
+
*/
|
|
178
|
+
customRewardsApiKey?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Array of Discord servers, channels, and roles to join.
|
|
181
|
+
*/
|
|
182
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
183
|
+
/**
|
|
184
|
+
* Array of drip quests required to complete the rule.
|
|
185
|
+
*/
|
|
186
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
187
|
+
/**
|
|
188
|
+
* Flag indicating whether joining Discord servers is required.
|
|
189
|
+
*/
|
|
190
|
+
enableJoinDiscordServers?: boolean | null;
|
|
191
|
+
/**
|
|
192
|
+
* Flag indicating whether streaks are enabled.
|
|
193
|
+
*/
|
|
194
|
+
enableStreaks?: boolean | null;
|
|
195
|
+
/**
|
|
196
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
197
|
+
*/
|
|
198
|
+
enableVerifiedMultiplier?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Percentage reward given to a user for their first referral.
|
|
201
|
+
*/
|
|
202
|
+
firstReferralReward?: number | null;
|
|
203
|
+
/**
|
|
204
|
+
* Indicates if the item has never been sold.
|
|
205
|
+
*/
|
|
206
|
+
hasNeverSold?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Indicates if the full royalty has been paid for items.
|
|
209
|
+
*/
|
|
210
|
+
hasPaidFullRoyalty?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Flag indicating if the sale currency is included.
|
|
213
|
+
*/
|
|
214
|
+
hasSaleCurrency?: boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Indicates if the user has a verified Twitter account.
|
|
217
|
+
*/
|
|
218
|
+
hasVerifiedTwitter?: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* URL of the image associated with the rule.
|
|
221
|
+
*/
|
|
222
|
+
imageUrl?: string | null;
|
|
223
|
+
/**
|
|
224
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
225
|
+
*/
|
|
226
|
+
isMultiplierApplied?: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Flag indicating if rewards are applied retroactively.
|
|
229
|
+
*/
|
|
230
|
+
isRetroactive?: boolean | null;
|
|
231
|
+
/**
|
|
232
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
233
|
+
*/
|
|
234
|
+
isTokenHoldMultiplier?: boolean;
|
|
235
|
+
/**
|
|
236
|
+
* Optional link associated with the metadata.
|
|
237
|
+
*/
|
|
238
|
+
link?: string | null;
|
|
239
|
+
/**
|
|
240
|
+
* Maximum quantity constraint for token holding.
|
|
241
|
+
*/
|
|
242
|
+
maxQty?: number | null;
|
|
243
|
+
/**
|
|
244
|
+
* Minimum quantity constraint for token holding.
|
|
245
|
+
*/
|
|
246
|
+
minQty?: number | null;
|
|
247
|
+
/**
|
|
248
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
249
|
+
*/
|
|
250
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
251
|
+
/**
|
|
252
|
+
* Flag indicating whether to include only known users.
|
|
253
|
+
*/
|
|
254
|
+
onlyKnownUsers?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Flag indicating whether to include only native tokens.
|
|
257
|
+
*/
|
|
258
|
+
onlyNative?: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Flag indicating whether to include only non-listed items.
|
|
261
|
+
*/
|
|
262
|
+
onlyNonListed?: boolean;
|
|
263
|
+
/**
|
|
264
|
+
* Promotional code associated with the rule.
|
|
265
|
+
*/
|
|
266
|
+
promoCode?: string;
|
|
267
|
+
/**
|
|
268
|
+
* Array defining ranges and corresponding rewards.
|
|
269
|
+
*/
|
|
270
|
+
range?: Array<Metadata.Range>;
|
|
271
|
+
/**
|
|
272
|
+
* Object defining referral requirements.
|
|
273
|
+
*/
|
|
274
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
275
|
+
/**
|
|
276
|
+
* Lump sum reward given to a referrer.
|
|
277
|
+
*/
|
|
278
|
+
referrerReward?: number | null;
|
|
279
|
+
/**
|
|
280
|
+
* Flag indicating if rewards are given per impression.
|
|
281
|
+
*/
|
|
282
|
+
rewardPerImpression?: boolean | null;
|
|
283
|
+
/**
|
|
284
|
+
* Currency associated with sales.
|
|
285
|
+
*/
|
|
286
|
+
saleCurrency?: string;
|
|
287
|
+
/**
|
|
288
|
+
* Percentage reward given for a second-level referral.
|
|
289
|
+
*/
|
|
290
|
+
secondReferralReward?: number | null;
|
|
291
|
+
/**
|
|
292
|
+
* Object containing details of the associated smart contract.
|
|
293
|
+
*/
|
|
294
|
+
smartContract?: Metadata.SmartContract;
|
|
295
|
+
/**
|
|
296
|
+
* Array of snapshot proposals for the rule.
|
|
297
|
+
*/
|
|
298
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
299
|
+
/**
|
|
300
|
+
* Social media platform associated with the rule.
|
|
301
|
+
*/
|
|
302
|
+
socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
|
|
303
|
+
/**
|
|
304
|
+
* URL of the social platform's logo.
|
|
305
|
+
*/
|
|
306
|
+
socialPlatformLogo?: string | null;
|
|
307
|
+
/**
|
|
308
|
+
* Name of the social platform.
|
|
309
|
+
*/
|
|
310
|
+
socialPlatformName?: string | null;
|
|
311
|
+
/**
|
|
312
|
+
* Array of streak milestones and corresponding rewards.
|
|
313
|
+
*/
|
|
314
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
315
|
+
/**
|
|
316
|
+
* ID of the Telegram channel.
|
|
317
|
+
*/
|
|
318
|
+
telegramChannelId?: string | null;
|
|
319
|
+
/**
|
|
320
|
+
* Time delay in seconds to verify actions.
|
|
321
|
+
*/
|
|
322
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
323
|
+
/**
|
|
324
|
+
* Flag indicating if all contracts are tracked.
|
|
325
|
+
*/
|
|
326
|
+
trackAllContracts?: boolean | null;
|
|
327
|
+
/**
|
|
328
|
+
* URL of the associated Twitter account.
|
|
329
|
+
*/
|
|
330
|
+
twitterAccountUrl?: string;
|
|
331
|
+
/**
|
|
332
|
+
* Hashtag associated with the Twitter post.
|
|
333
|
+
*/
|
|
334
|
+
twitterHashtag?: string;
|
|
335
|
+
/**
|
|
336
|
+
* URL of the associated Twitter post.
|
|
337
|
+
*/
|
|
338
|
+
twitterPostUrl?: string;
|
|
339
|
+
/**
|
|
340
|
+
* Unique identifier of the Twitter user.
|
|
341
|
+
*/
|
|
342
|
+
twitterUserId?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Twitter username of the user.
|
|
345
|
+
*/
|
|
346
|
+
twitterUsername?: string;
|
|
347
|
+
/**
|
|
348
|
+
* Minimum length of the verification text.
|
|
349
|
+
*/
|
|
350
|
+
verificationTextMinimumLength?: number | null;
|
|
351
|
+
/**
|
|
352
|
+
* Multiplier applied to rewards for verified users.
|
|
353
|
+
*/
|
|
354
|
+
verifiedMultiplier?: number | null;
|
|
355
|
+
/**
|
|
356
|
+
* Placeholder text for verification input fields.
|
|
357
|
+
*/
|
|
358
|
+
verifyPlaceHolderText?: string | null;
|
|
359
|
+
/**
|
|
360
|
+
* Type of wallet associated with the rule.
|
|
361
|
+
*/
|
|
362
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
363
|
+
}
|
|
364
|
+
namespace Metadata {
|
|
365
|
+
interface Collection {
|
|
366
|
+
/**
|
|
367
|
+
* Blockchain address of the collection.
|
|
368
|
+
*/
|
|
369
|
+
address?: string;
|
|
370
|
+
/**
|
|
371
|
+
* Multiplier applied to the rewards for this collection.
|
|
372
|
+
*/
|
|
373
|
+
multiplier?: number;
|
|
374
|
+
/**
|
|
375
|
+
* Blockchain network of the collection.
|
|
376
|
+
*/
|
|
377
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Object containing details for the call-to-action.
|
|
381
|
+
*/
|
|
382
|
+
interface Cta {
|
|
383
|
+
/**
|
|
384
|
+
* Link for the call-to-action.
|
|
385
|
+
*/
|
|
386
|
+
href?: string | null;
|
|
387
|
+
/**
|
|
388
|
+
* Label for the call-to-action.
|
|
389
|
+
*/
|
|
390
|
+
label?: string | null;
|
|
391
|
+
}
|
|
392
|
+
interface DiscordServersToJoin {
|
|
393
|
+
/**
|
|
394
|
+
* ID of the Discord server to join.
|
|
395
|
+
*/
|
|
396
|
+
id?: string;
|
|
397
|
+
/**
|
|
398
|
+
* Array of Discord channels to join.
|
|
399
|
+
*/
|
|
400
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
401
|
+
/**
|
|
402
|
+
* Array of roles to assign in the Discord server.
|
|
403
|
+
*/
|
|
404
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
405
|
+
}
|
|
406
|
+
namespace DiscordServersToJoin {
|
|
407
|
+
interface Channel {
|
|
408
|
+
/**
|
|
409
|
+
* ID of the Discord channel.
|
|
410
|
+
*/
|
|
411
|
+
id?: string;
|
|
412
|
+
/**
|
|
413
|
+
* Array of emojis used in the channel.
|
|
414
|
+
*/
|
|
415
|
+
emojis?: Array<Channel.Emoji>;
|
|
416
|
+
}
|
|
417
|
+
namespace Channel {
|
|
418
|
+
interface Emoji {
|
|
419
|
+
/**
|
|
420
|
+
* ID of the emoji used in the channel.
|
|
421
|
+
*/
|
|
422
|
+
id?: string;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
interface Role {
|
|
426
|
+
/**
|
|
427
|
+
* ID of the role in the Discord server.
|
|
428
|
+
*/
|
|
429
|
+
id: string;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
interface DripQuestsToComplete {
|
|
433
|
+
/**
|
|
434
|
+
* ID of the drip quest to complete.
|
|
435
|
+
*/
|
|
436
|
+
id: string;
|
|
437
|
+
}
|
|
438
|
+
interface Range {
|
|
439
|
+
/**
|
|
440
|
+
* Reward amount for this range.
|
|
441
|
+
*/
|
|
442
|
+
amount: number;
|
|
443
|
+
/**
|
|
444
|
+
* End value of the range.
|
|
445
|
+
*/
|
|
446
|
+
endRange: number;
|
|
447
|
+
/**
|
|
448
|
+
* Start value of the range.
|
|
449
|
+
*/
|
|
450
|
+
startRange: number;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Object defining referral requirements.
|
|
454
|
+
*/
|
|
455
|
+
interface ReferralRequirements {
|
|
456
|
+
/**
|
|
457
|
+
* Flag indicating if achieving points is required.
|
|
458
|
+
*/
|
|
459
|
+
achievePoints?: boolean | null;
|
|
460
|
+
/**
|
|
461
|
+
* Flag indicating if completing the profile is required.
|
|
462
|
+
*/
|
|
463
|
+
completeProfile?: boolean | null;
|
|
464
|
+
/**
|
|
465
|
+
* Flag indicating if connecting Discord is required.
|
|
466
|
+
*/
|
|
467
|
+
connectDiscord?: boolean | null;
|
|
468
|
+
/**
|
|
469
|
+
* Flag indicating if connecting email is required.
|
|
470
|
+
*/
|
|
471
|
+
connectEmail?: boolean | null;
|
|
472
|
+
/**
|
|
473
|
+
* Flag indicating if connecting Twitter is required.
|
|
474
|
+
*/
|
|
475
|
+
connectTwitter?: boolean | null;
|
|
476
|
+
points?: ReferralRequirements.Points | null;
|
|
477
|
+
}
|
|
478
|
+
namespace ReferralRequirements {
|
|
479
|
+
interface Points {
|
|
480
|
+
/**
|
|
481
|
+
* Points required for referral.
|
|
482
|
+
*/
|
|
483
|
+
amount?: number | null;
|
|
484
|
+
/**
|
|
485
|
+
* ID of the loyalty currency for referral.
|
|
486
|
+
*/
|
|
487
|
+
loyaltyCurrecyId?: string | null;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Object containing details of the associated smart contract.
|
|
492
|
+
*/
|
|
493
|
+
interface SmartContract {
|
|
494
|
+
/**
|
|
495
|
+
* ABI of the smart contract.
|
|
496
|
+
*/
|
|
497
|
+
abi?: string | null;
|
|
498
|
+
/**
|
|
499
|
+
* Mapping of addresses for the smart contract.
|
|
500
|
+
*/
|
|
501
|
+
addressMapping?: string | null;
|
|
502
|
+
/**
|
|
503
|
+
* Array of bonus details applied to the rule.
|
|
504
|
+
*/
|
|
505
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
506
|
+
/**
|
|
507
|
+
* ID of the smart contract.
|
|
508
|
+
*/
|
|
509
|
+
contractId?: string | null;
|
|
510
|
+
/**
|
|
511
|
+
* Criteria to evaluate the smart contract event.
|
|
512
|
+
*/
|
|
513
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
514
|
+
/**
|
|
515
|
+
* Time range applied to the rule.
|
|
516
|
+
*/
|
|
517
|
+
customRange?: SmartContract.CustomRange | null;
|
|
518
|
+
/**
|
|
519
|
+
* Event emitted by the smart contract.
|
|
520
|
+
*/
|
|
521
|
+
event?: string | null;
|
|
522
|
+
/**
|
|
523
|
+
* Maximum value allowed for the parameter.
|
|
524
|
+
*/
|
|
525
|
+
max?: number | null;
|
|
526
|
+
/**
|
|
527
|
+
* Array of parameters for the smart contract.
|
|
528
|
+
*/
|
|
529
|
+
params?: Array<SmartContract.Param> | null;
|
|
530
|
+
/**
|
|
531
|
+
* Flag indicating if a bonus is applied.
|
|
532
|
+
*/
|
|
533
|
+
withBonus?: boolean | null;
|
|
534
|
+
/**
|
|
535
|
+
* Flag indicating if a custom range is applied.
|
|
536
|
+
*/
|
|
537
|
+
withCustomRange?: boolean | null;
|
|
538
|
+
/**
|
|
539
|
+
* Flag indicating if a maximum limit is applied.
|
|
540
|
+
*/
|
|
541
|
+
withMax?: boolean | null;
|
|
542
|
+
}
|
|
543
|
+
namespace SmartContract {
|
|
544
|
+
interface Bonus {
|
|
545
|
+
/**
|
|
546
|
+
* Amount of the bonus.
|
|
547
|
+
*/
|
|
548
|
+
amount?: number | null;
|
|
549
|
+
/**
|
|
550
|
+
* Number of times the bonus is applied.
|
|
551
|
+
*/
|
|
552
|
+
count?: number | null;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Time range applied to the rule.
|
|
556
|
+
*/
|
|
557
|
+
interface CustomRange {
|
|
558
|
+
/**
|
|
559
|
+
* End time of the custom range.
|
|
560
|
+
*/
|
|
561
|
+
endsAt?: string | null;
|
|
562
|
+
/**
|
|
563
|
+
* Start time of the custom range.
|
|
564
|
+
*/
|
|
565
|
+
startsAt?: string | null;
|
|
566
|
+
}
|
|
567
|
+
interface Param {
|
|
568
|
+
/**
|
|
569
|
+
* Condition to check for the parameter.
|
|
570
|
+
*/
|
|
571
|
+
condition?: string | null;
|
|
572
|
+
/**
|
|
573
|
+
* Name of the smart contract parameter.
|
|
574
|
+
*/
|
|
575
|
+
name?: string | null;
|
|
576
|
+
/**
|
|
577
|
+
* Value of the parameter.
|
|
578
|
+
*/
|
|
579
|
+
value?: string | null;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
interface SnapshotProposal {
|
|
583
|
+
/**
|
|
584
|
+
* ID of the snapshot proposal.
|
|
585
|
+
*/
|
|
586
|
+
id: string;
|
|
587
|
+
/**
|
|
588
|
+
* Space associated with the snapshot proposal.
|
|
589
|
+
*/
|
|
590
|
+
space: string;
|
|
591
|
+
}
|
|
592
|
+
interface StreakArray {
|
|
593
|
+
/**
|
|
594
|
+
* Reward amount for achieving the streak milestone.
|
|
595
|
+
*/
|
|
596
|
+
streakAmount: number;
|
|
597
|
+
/**
|
|
598
|
+
* Milestone required to achieve the streak.
|
|
599
|
+
*/
|
|
600
|
+
streakMilestone: number;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
interface Collection {
|
|
604
|
+
/**
|
|
605
|
+
* Blockchain address of the collection
|
|
606
|
+
*/
|
|
607
|
+
address: string;
|
|
608
|
+
/**
|
|
609
|
+
* Blockchain network for the collection
|
|
610
|
+
*/
|
|
611
|
+
network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
export interface RuleUpdateResponse {
|
|
615
|
+
id: string;
|
|
616
|
+
/**
|
|
617
|
+
* Reward amount for the loyalty rule
|
|
618
|
+
*/
|
|
619
|
+
amount: unknown;
|
|
620
|
+
/**
|
|
621
|
+
* Effective end time of the rule
|
|
622
|
+
*/
|
|
623
|
+
effectiveEndTime: string | null;
|
|
624
|
+
/**
|
|
625
|
+
* Effective start time of the rule
|
|
626
|
+
*/
|
|
627
|
+
effectiveStartTime: string | null;
|
|
628
|
+
/**
|
|
629
|
+
* End time for the loyalty rule
|
|
630
|
+
*/
|
|
631
|
+
endTime: string | null;
|
|
632
|
+
/**
|
|
633
|
+
* Frequency of the rule execution
|
|
634
|
+
*/
|
|
635
|
+
frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
636
|
+
/**
|
|
637
|
+
* Additional metadata for the loyalty rule
|
|
638
|
+
*/
|
|
639
|
+
metadata: RuleUpdateResponse.Metadata;
|
|
640
|
+
/**
|
|
641
|
+
* Name of the loyalty rule
|
|
642
|
+
*/
|
|
643
|
+
name: string;
|
|
644
|
+
/**
|
|
645
|
+
* Start time for the loyalty rule
|
|
646
|
+
*/
|
|
647
|
+
startTime: string | null;
|
|
648
|
+
/**
|
|
649
|
+
* Blockchain address of the associated collection
|
|
650
|
+
*/
|
|
651
|
+
collectionAddress?: string;
|
|
652
|
+
/**
|
|
653
|
+
* List of associated collections
|
|
654
|
+
*/
|
|
655
|
+
collections?: Array<RuleUpdateResponse.Collection> | null;
|
|
656
|
+
/**
|
|
657
|
+
* API URL for custom rewards integration
|
|
658
|
+
*/
|
|
659
|
+
customRewardsApiUrl?: string | null;
|
|
660
|
+
/**
|
|
661
|
+
* URL for uploading custom rewards via CSV
|
|
662
|
+
*/
|
|
663
|
+
customRewardsCsvUrl?: string | null;
|
|
664
|
+
/**
|
|
665
|
+
* Optional description of the loyalty rule
|
|
666
|
+
*/
|
|
667
|
+
description?: string;
|
|
668
|
+
/**
|
|
669
|
+
* Whether to hide this rule in the user interface
|
|
670
|
+
*/
|
|
671
|
+
hideInUi?: boolean;
|
|
672
|
+
/**
|
|
673
|
+
* Time interval for recurring rule execution
|
|
674
|
+
*/
|
|
675
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
|
|
676
|
+
/**
|
|
677
|
+
* Whether this rule is required for participation
|
|
678
|
+
*/
|
|
679
|
+
isRequired?: boolean;
|
|
680
|
+
/**
|
|
681
|
+
* ID of the rule group section to associate with the rule
|
|
682
|
+
*/
|
|
683
|
+
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
684
|
+
/**
|
|
685
|
+
* Blockchain network where the rule will apply
|
|
686
|
+
*/
|
|
687
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
688
|
+
/**
|
|
689
|
+
* ID for associated OAuth credentials
|
|
690
|
+
*/
|
|
691
|
+
oauthCredentialsId?: string | null;
|
|
692
|
+
/**
|
|
693
|
+
* Type of reward issued by this rule
|
|
694
|
+
*/
|
|
695
|
+
rewardType?: 'points' | 'multiplier';
|
|
696
|
+
/**
|
|
697
|
+
* Optional subscription identifier for the rule
|
|
698
|
+
*/
|
|
699
|
+
subscriptionIdentifier?: string | null;
|
|
700
|
+
}
|
|
701
|
+
export declare namespace RuleUpdateResponse {
|
|
702
|
+
/**
|
|
703
|
+
* Additional metadata for the loyalty rule
|
|
704
|
+
*/
|
|
705
|
+
interface Metadata {
|
|
706
|
+
/**
|
|
707
|
+
* Text displayed on the action button.
|
|
708
|
+
*/
|
|
709
|
+
buttonText?: string | null;
|
|
710
|
+
/**
|
|
711
|
+
* Flag indicating if commenting is required.
|
|
712
|
+
*/
|
|
713
|
+
checkComment?: boolean | null;
|
|
714
|
+
/**
|
|
715
|
+
* Flag indicating if liking the post is required.
|
|
716
|
+
*/
|
|
717
|
+
checkLike?: boolean | null;
|
|
718
|
+
/**
|
|
719
|
+
* Flag indicating if reposting is required.
|
|
720
|
+
*/
|
|
721
|
+
checkRepost?: boolean | null;
|
|
722
|
+
/**
|
|
723
|
+
* Text to check in the Twitter post, username, or bio.
|
|
724
|
+
*/
|
|
725
|
+
checkText?: string | null;
|
|
726
|
+
/**
|
|
727
|
+
* Array of collections associated with the rule.
|
|
728
|
+
*/
|
|
729
|
+
collection?: Array<Metadata.Collection>;
|
|
730
|
+
/**
|
|
731
|
+
* Object containing details for the call-to-action.
|
|
732
|
+
*/
|
|
733
|
+
cta?: Metadata.Cta | null;
|
|
734
|
+
/**
|
|
735
|
+
* API key for custom rewards integration.
|
|
736
|
+
*/
|
|
737
|
+
customRewardsApiKey?: string;
|
|
738
|
+
/**
|
|
739
|
+
* Array of Discord servers, channels, and roles to join.
|
|
740
|
+
*/
|
|
741
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
742
|
+
/**
|
|
743
|
+
* Array of drip quests required to complete the rule.
|
|
744
|
+
*/
|
|
745
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
746
|
+
/**
|
|
747
|
+
* Flag indicating whether joining Discord servers is required.
|
|
748
|
+
*/
|
|
749
|
+
enableJoinDiscordServers?: boolean | null;
|
|
750
|
+
/**
|
|
751
|
+
* Flag indicating whether streaks are enabled.
|
|
752
|
+
*/
|
|
753
|
+
enableStreaks?: boolean | null;
|
|
754
|
+
/**
|
|
755
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
756
|
+
*/
|
|
757
|
+
enableVerifiedMultiplier?: boolean;
|
|
758
|
+
/**
|
|
759
|
+
* Percentage reward given to a user for their first referral.
|
|
760
|
+
*/
|
|
761
|
+
firstReferralReward?: number | null;
|
|
762
|
+
/**
|
|
763
|
+
* Indicates if the item has never been sold.
|
|
764
|
+
*/
|
|
765
|
+
hasNeverSold?: boolean;
|
|
766
|
+
/**
|
|
767
|
+
* Indicates if the full royalty has been paid for items.
|
|
768
|
+
*/
|
|
769
|
+
hasPaidFullRoyalty?: boolean;
|
|
770
|
+
/**
|
|
771
|
+
* Flag indicating if the sale currency is included.
|
|
772
|
+
*/
|
|
773
|
+
hasSaleCurrency?: boolean;
|
|
774
|
+
/**
|
|
775
|
+
* Indicates if the user has a verified Twitter account.
|
|
776
|
+
*/
|
|
777
|
+
hasVerifiedTwitter?: boolean;
|
|
778
|
+
/**
|
|
779
|
+
* URL of the image associated with the rule.
|
|
780
|
+
*/
|
|
781
|
+
imageUrl?: string | null;
|
|
782
|
+
/**
|
|
783
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
784
|
+
*/
|
|
785
|
+
isMultiplierApplied?: boolean;
|
|
786
|
+
/**
|
|
787
|
+
* Flag indicating if rewards are applied retroactively.
|
|
788
|
+
*/
|
|
789
|
+
isRetroactive?: boolean | null;
|
|
790
|
+
/**
|
|
791
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
792
|
+
*/
|
|
793
|
+
isTokenHoldMultiplier?: boolean;
|
|
794
|
+
/**
|
|
795
|
+
* Optional link associated with the metadata.
|
|
796
|
+
*/
|
|
797
|
+
link?: string | null;
|
|
798
|
+
/**
|
|
799
|
+
* Maximum quantity constraint for token holding.
|
|
800
|
+
*/
|
|
801
|
+
maxQty?: number | null;
|
|
802
|
+
/**
|
|
803
|
+
* Minimum quantity constraint for token holding.
|
|
804
|
+
*/
|
|
805
|
+
minQty?: number | null;
|
|
806
|
+
/**
|
|
807
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
808
|
+
*/
|
|
809
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
810
|
+
/**
|
|
811
|
+
* Flag indicating whether to include only known users.
|
|
812
|
+
*/
|
|
813
|
+
onlyKnownUsers?: boolean;
|
|
814
|
+
/**
|
|
815
|
+
* Flag indicating whether to include only native tokens.
|
|
816
|
+
*/
|
|
817
|
+
onlyNative?: boolean;
|
|
818
|
+
/**
|
|
819
|
+
* Flag indicating whether to include only non-listed items.
|
|
820
|
+
*/
|
|
821
|
+
onlyNonListed?: boolean;
|
|
822
|
+
/**
|
|
823
|
+
* Promotional code associated with the rule.
|
|
824
|
+
*/
|
|
825
|
+
promoCode?: string;
|
|
826
|
+
/**
|
|
827
|
+
* Array defining ranges and corresponding rewards.
|
|
828
|
+
*/
|
|
829
|
+
range?: Array<Metadata.Range>;
|
|
830
|
+
/**
|
|
831
|
+
* Object defining referral requirements.
|
|
832
|
+
*/
|
|
833
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
834
|
+
/**
|
|
835
|
+
* Lump sum reward given to a referrer.
|
|
836
|
+
*/
|
|
837
|
+
referrerReward?: number | null;
|
|
838
|
+
/**
|
|
839
|
+
* Flag indicating if rewards are given per impression.
|
|
840
|
+
*/
|
|
841
|
+
rewardPerImpression?: boolean | null;
|
|
842
|
+
/**
|
|
843
|
+
* Currency associated with sales.
|
|
844
|
+
*/
|
|
845
|
+
saleCurrency?: string;
|
|
846
|
+
/**
|
|
847
|
+
* Percentage reward given for a second-level referral.
|
|
848
|
+
*/
|
|
849
|
+
secondReferralReward?: number | null;
|
|
850
|
+
/**
|
|
851
|
+
* Object containing details of the associated smart contract.
|
|
852
|
+
*/
|
|
853
|
+
smartContract?: Metadata.SmartContract;
|
|
854
|
+
/**
|
|
855
|
+
* Array of snapshot proposals for the rule.
|
|
856
|
+
*/
|
|
857
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
858
|
+
/**
|
|
859
|
+
* Social media platform associated with the rule.
|
|
860
|
+
*/
|
|
861
|
+
socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
|
|
862
|
+
/**
|
|
863
|
+
* URL of the social platform's logo.
|
|
864
|
+
*/
|
|
865
|
+
socialPlatformLogo?: string | null;
|
|
866
|
+
/**
|
|
867
|
+
* Name of the social platform.
|
|
868
|
+
*/
|
|
869
|
+
socialPlatformName?: string | null;
|
|
870
|
+
/**
|
|
871
|
+
* Array of streak milestones and corresponding rewards.
|
|
872
|
+
*/
|
|
873
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
874
|
+
/**
|
|
875
|
+
* ID of the Telegram channel.
|
|
876
|
+
*/
|
|
877
|
+
telegramChannelId?: string | null;
|
|
878
|
+
/**
|
|
879
|
+
* Time delay in seconds to verify actions.
|
|
880
|
+
*/
|
|
881
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
882
|
+
/**
|
|
883
|
+
* Flag indicating if all contracts are tracked.
|
|
884
|
+
*/
|
|
885
|
+
trackAllContracts?: boolean | null;
|
|
886
|
+
/**
|
|
887
|
+
* URL of the associated Twitter account.
|
|
888
|
+
*/
|
|
889
|
+
twitterAccountUrl?: string;
|
|
890
|
+
/**
|
|
891
|
+
* Hashtag associated with the Twitter post.
|
|
892
|
+
*/
|
|
893
|
+
twitterHashtag?: string;
|
|
894
|
+
/**
|
|
895
|
+
* URL of the associated Twitter post.
|
|
896
|
+
*/
|
|
897
|
+
twitterPostUrl?: string;
|
|
898
|
+
/**
|
|
899
|
+
* Unique identifier of the Twitter user.
|
|
900
|
+
*/
|
|
901
|
+
twitterUserId?: string;
|
|
902
|
+
/**
|
|
903
|
+
* Twitter username of the user.
|
|
904
|
+
*/
|
|
905
|
+
twitterUsername?: string;
|
|
906
|
+
/**
|
|
907
|
+
* Minimum length of the verification text.
|
|
908
|
+
*/
|
|
909
|
+
verificationTextMinimumLength?: number | null;
|
|
910
|
+
/**
|
|
911
|
+
* Multiplier applied to rewards for verified users.
|
|
912
|
+
*/
|
|
913
|
+
verifiedMultiplier?: number | null;
|
|
914
|
+
/**
|
|
915
|
+
* Placeholder text for verification input fields.
|
|
916
|
+
*/
|
|
917
|
+
verifyPlaceHolderText?: string | null;
|
|
918
|
+
/**
|
|
919
|
+
* Type of wallet associated with the rule.
|
|
920
|
+
*/
|
|
921
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
922
|
+
}
|
|
923
|
+
namespace Metadata {
|
|
924
|
+
interface Collection {
|
|
925
|
+
/**
|
|
926
|
+
* Blockchain address of the collection.
|
|
927
|
+
*/
|
|
928
|
+
address?: string;
|
|
929
|
+
/**
|
|
930
|
+
* Multiplier applied to the rewards for this collection.
|
|
931
|
+
*/
|
|
932
|
+
multiplier?: number;
|
|
933
|
+
/**
|
|
934
|
+
* Blockchain network of the collection.
|
|
935
|
+
*/
|
|
936
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
937
|
+
}
|
|
938
|
+
/**
|
|
939
|
+
* Object containing details for the call-to-action.
|
|
940
|
+
*/
|
|
941
|
+
interface Cta {
|
|
942
|
+
/**
|
|
943
|
+
* Link for the call-to-action.
|
|
944
|
+
*/
|
|
945
|
+
href?: string | null;
|
|
946
|
+
/**
|
|
947
|
+
* Label for the call-to-action.
|
|
948
|
+
*/
|
|
949
|
+
label?: string | null;
|
|
950
|
+
}
|
|
951
|
+
interface DiscordServersToJoin {
|
|
952
|
+
/**
|
|
953
|
+
* ID of the Discord server to join.
|
|
954
|
+
*/
|
|
955
|
+
id?: string;
|
|
956
|
+
/**
|
|
957
|
+
* Array of Discord channels to join.
|
|
958
|
+
*/
|
|
959
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
960
|
+
/**
|
|
961
|
+
* Array of roles to assign in the Discord server.
|
|
962
|
+
*/
|
|
963
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
964
|
+
}
|
|
965
|
+
namespace DiscordServersToJoin {
|
|
966
|
+
interface Channel {
|
|
967
|
+
/**
|
|
968
|
+
* ID of the Discord channel.
|
|
969
|
+
*/
|
|
970
|
+
id?: string;
|
|
971
|
+
/**
|
|
972
|
+
* Array of emojis used in the channel.
|
|
973
|
+
*/
|
|
974
|
+
emojis?: Array<Channel.Emoji>;
|
|
975
|
+
}
|
|
976
|
+
namespace Channel {
|
|
977
|
+
interface Emoji {
|
|
978
|
+
/**
|
|
979
|
+
* ID of the emoji used in the channel.
|
|
980
|
+
*/
|
|
981
|
+
id?: string;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
interface Role {
|
|
985
|
+
/**
|
|
986
|
+
* ID of the role in the Discord server.
|
|
987
|
+
*/
|
|
988
|
+
id: string;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
interface DripQuestsToComplete {
|
|
992
|
+
/**
|
|
993
|
+
* ID of the drip quest to complete.
|
|
994
|
+
*/
|
|
995
|
+
id: string;
|
|
996
|
+
}
|
|
997
|
+
interface Range {
|
|
998
|
+
/**
|
|
999
|
+
* Reward amount for this range.
|
|
1000
|
+
*/
|
|
1001
|
+
amount: number;
|
|
1002
|
+
/**
|
|
1003
|
+
* End value of the range.
|
|
1004
|
+
*/
|
|
1005
|
+
endRange: number;
|
|
1006
|
+
/**
|
|
1007
|
+
* Start value of the range.
|
|
1008
|
+
*/
|
|
1009
|
+
startRange: number;
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Object defining referral requirements.
|
|
1013
|
+
*/
|
|
1014
|
+
interface ReferralRequirements {
|
|
1015
|
+
/**
|
|
1016
|
+
* Flag indicating if achieving points is required.
|
|
1017
|
+
*/
|
|
1018
|
+
achievePoints?: boolean | null;
|
|
1019
|
+
/**
|
|
1020
|
+
* Flag indicating if completing the profile is required.
|
|
1021
|
+
*/
|
|
1022
|
+
completeProfile?: boolean | null;
|
|
1023
|
+
/**
|
|
1024
|
+
* Flag indicating if connecting Discord is required.
|
|
1025
|
+
*/
|
|
1026
|
+
connectDiscord?: boolean | null;
|
|
1027
|
+
/**
|
|
1028
|
+
* Flag indicating if connecting email is required.
|
|
1029
|
+
*/
|
|
1030
|
+
connectEmail?: boolean | null;
|
|
1031
|
+
/**
|
|
1032
|
+
* Flag indicating if connecting Twitter is required.
|
|
1033
|
+
*/
|
|
1034
|
+
connectTwitter?: boolean | null;
|
|
1035
|
+
points?: ReferralRequirements.Points | null;
|
|
1036
|
+
}
|
|
1037
|
+
namespace ReferralRequirements {
|
|
1038
|
+
interface Points {
|
|
1039
|
+
/**
|
|
1040
|
+
* Points required for referral.
|
|
1041
|
+
*/
|
|
1042
|
+
amount?: number | null;
|
|
1043
|
+
/**
|
|
1044
|
+
* ID of the loyalty currency for referral.
|
|
1045
|
+
*/
|
|
1046
|
+
loyaltyCurrecyId?: string | null;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
/**
|
|
1050
|
+
* Object containing details of the associated smart contract.
|
|
1051
|
+
*/
|
|
1052
|
+
interface SmartContract {
|
|
1053
|
+
/**
|
|
1054
|
+
* ABI of the smart contract.
|
|
1055
|
+
*/
|
|
1056
|
+
abi?: string | null;
|
|
1057
|
+
/**
|
|
1058
|
+
* Mapping of addresses for the smart contract.
|
|
1059
|
+
*/
|
|
1060
|
+
addressMapping?: string | null;
|
|
1061
|
+
/**
|
|
1062
|
+
* Array of bonus details applied to the rule.
|
|
1063
|
+
*/
|
|
1064
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
1065
|
+
/**
|
|
1066
|
+
* ID of the smart contract.
|
|
1067
|
+
*/
|
|
1068
|
+
contractId?: string | null;
|
|
1069
|
+
/**
|
|
1070
|
+
* Criteria to evaluate the smart contract event.
|
|
1071
|
+
*/
|
|
1072
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1073
|
+
/**
|
|
1074
|
+
* Time range applied to the rule.
|
|
1075
|
+
*/
|
|
1076
|
+
customRange?: SmartContract.CustomRange | null;
|
|
1077
|
+
/**
|
|
1078
|
+
* Event emitted by the smart contract.
|
|
1079
|
+
*/
|
|
1080
|
+
event?: string | null;
|
|
1081
|
+
/**
|
|
1082
|
+
* Maximum value allowed for the parameter.
|
|
1083
|
+
*/
|
|
1084
|
+
max?: number | null;
|
|
1085
|
+
/**
|
|
1086
|
+
* Array of parameters for the smart contract.
|
|
1087
|
+
*/
|
|
1088
|
+
params?: Array<SmartContract.Param> | null;
|
|
1089
|
+
/**
|
|
1090
|
+
* Flag indicating if a bonus is applied.
|
|
1091
|
+
*/
|
|
1092
|
+
withBonus?: boolean | null;
|
|
1093
|
+
/**
|
|
1094
|
+
* Flag indicating if a custom range is applied.
|
|
1095
|
+
*/
|
|
1096
|
+
withCustomRange?: boolean | null;
|
|
1097
|
+
/**
|
|
1098
|
+
* Flag indicating if a maximum limit is applied.
|
|
1099
|
+
*/
|
|
1100
|
+
withMax?: boolean | null;
|
|
1101
|
+
}
|
|
1102
|
+
namespace SmartContract {
|
|
1103
|
+
interface Bonus {
|
|
1104
|
+
/**
|
|
1105
|
+
* Amount of the bonus.
|
|
1106
|
+
*/
|
|
1107
|
+
amount?: number | null;
|
|
1108
|
+
/**
|
|
1109
|
+
* Number of times the bonus is applied.
|
|
1110
|
+
*/
|
|
1111
|
+
count?: number | null;
|
|
1112
|
+
}
|
|
1113
|
+
/**
|
|
1114
|
+
* Time range applied to the rule.
|
|
1115
|
+
*/
|
|
1116
|
+
interface CustomRange {
|
|
1117
|
+
/**
|
|
1118
|
+
* End time of the custom range.
|
|
1119
|
+
*/
|
|
1120
|
+
endsAt?: string | null;
|
|
1121
|
+
/**
|
|
1122
|
+
* Start time of the custom range.
|
|
1123
|
+
*/
|
|
1124
|
+
startsAt?: string | null;
|
|
1125
|
+
}
|
|
1126
|
+
interface Param {
|
|
1127
|
+
/**
|
|
1128
|
+
* Condition to check for the parameter.
|
|
1129
|
+
*/
|
|
1130
|
+
condition?: string | null;
|
|
1131
|
+
/**
|
|
1132
|
+
* Name of the smart contract parameter.
|
|
1133
|
+
*/
|
|
1134
|
+
name?: string | null;
|
|
1135
|
+
/**
|
|
1136
|
+
* Value of the parameter.
|
|
1137
|
+
*/
|
|
1138
|
+
value?: string | null;
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
interface SnapshotProposal {
|
|
1142
|
+
/**
|
|
1143
|
+
* ID of the snapshot proposal.
|
|
1144
|
+
*/
|
|
1145
|
+
id: string;
|
|
1146
|
+
/**
|
|
1147
|
+
* Space associated with the snapshot proposal.
|
|
1148
|
+
*/
|
|
1149
|
+
space: string;
|
|
1150
|
+
}
|
|
1151
|
+
interface StreakArray {
|
|
1152
|
+
/**
|
|
1153
|
+
* Reward amount for achieving the streak milestone.
|
|
1154
|
+
*/
|
|
1155
|
+
streakAmount: number;
|
|
1156
|
+
/**
|
|
1157
|
+
* Milestone required to achieve the streak.
|
|
1158
|
+
*/
|
|
1159
|
+
streakMilestone: number;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
interface Collection {
|
|
1163
|
+
/**
|
|
1164
|
+
* Blockchain address of the collection
|
|
1165
|
+
*/
|
|
1166
|
+
address: string;
|
|
1167
|
+
/**
|
|
1168
|
+
* Blockchain network for the collection
|
|
1169
|
+
*/
|
|
1170
|
+
network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
export interface RuleListResponse {
|
|
1174
|
+
data: Array<RuleListResponse.Data>;
|
|
1175
|
+
hasNextPage: boolean;
|
|
1176
|
+
}
|
|
1177
|
+
export declare namespace RuleListResponse {
|
|
1178
|
+
/**
|
|
1179
|
+
* Schema for a loyalty rule
|
|
1180
|
+
*/
|
|
1181
|
+
interface Data {
|
|
1182
|
+
/**
|
|
1183
|
+
* Unique identifier for the loyalty rule
|
|
1184
|
+
*/
|
|
1185
|
+
id: string;
|
|
1186
|
+
/**
|
|
1187
|
+
* Amount associated with the loyalty rule
|
|
1188
|
+
*/
|
|
1189
|
+
amount: number;
|
|
1190
|
+
/**
|
|
1191
|
+
* Timestamp when the loyalty rule was created
|
|
1192
|
+
*/
|
|
1193
|
+
createdAt: string;
|
|
1194
|
+
/**
|
|
1195
|
+
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
1196
|
+
*/
|
|
1197
|
+
deletedAt: string | null;
|
|
1198
|
+
/**
|
|
1199
|
+
* Frequency of the loyalty rule
|
|
1200
|
+
*/
|
|
1201
|
+
frequency: string;
|
|
1202
|
+
/**
|
|
1203
|
+
* Unique identifier for the organization
|
|
1204
|
+
*/
|
|
1205
|
+
organizationId: string;
|
|
1206
|
+
/**
|
|
1207
|
+
* Type of the loyalty rule
|
|
1208
|
+
*/
|
|
1209
|
+
type: string;
|
|
1210
|
+
/**
|
|
1211
|
+
* Timestamp when the loyalty rule was last updated
|
|
1212
|
+
*/
|
|
1213
|
+
updatedAt: string;
|
|
1214
|
+
/**
|
|
1215
|
+
* Unique identifier for the website
|
|
1216
|
+
*/
|
|
1217
|
+
websiteId: string;
|
|
1218
|
+
/**
|
|
1219
|
+
* Optional address of the collection
|
|
1220
|
+
*/
|
|
1221
|
+
collectionAddress?: string;
|
|
1222
|
+
/**
|
|
1223
|
+
* Optional metadata for the loyalty rule
|
|
1224
|
+
*/
|
|
1225
|
+
metadata?: Record<string, unknown>;
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
export interface RuleDeleteResponse {
|
|
1229
|
+
id: string;
|
|
1230
|
+
deletedAt: string;
|
|
1231
|
+
}
|
|
1232
|
+
export interface RuleCompleteResponse {
|
|
1233
|
+
message: string;
|
|
1234
|
+
}
|
|
1235
|
+
export interface RuleStatusResponse {
|
|
1236
|
+
data: Array<RuleStatusResponse.Data>;
|
|
1237
|
+
}
|
|
1238
|
+
export declare namespace RuleStatusResponse {
|
|
1239
|
+
interface Data {
|
|
1240
|
+
loyaltyRuleId: string;
|
|
1241
|
+
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
1242
|
+
userId: string;
|
|
1243
|
+
message?: string;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
export interface RuleCreateParams {
|
|
1247
|
+
/**
|
|
1248
|
+
* Reward amount associated with the rule
|
|
1249
|
+
*/
|
|
1250
|
+
amount: unknown;
|
|
1251
|
+
/**
|
|
1252
|
+
* The effective end time of the rule
|
|
1253
|
+
*/
|
|
1254
|
+
effectiveEndTime: string | null;
|
|
1255
|
+
/**
|
|
1256
|
+
* The effective start time of the rule
|
|
1257
|
+
*/
|
|
1258
|
+
effectiveStartTime: string | null;
|
|
1259
|
+
/**
|
|
1260
|
+
* When the rule becomes inactive
|
|
1261
|
+
*/
|
|
1262
|
+
endTime: string | null;
|
|
1263
|
+
/**
|
|
1264
|
+
* Execution frequency of the loyalty rule
|
|
1265
|
+
*/
|
|
1266
|
+
frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
1267
|
+
/**
|
|
1268
|
+
* Unique identifier for the loyalty currency
|
|
1269
|
+
*/
|
|
1270
|
+
loyaltyCurrencyId: string;
|
|
1271
|
+
/**
|
|
1272
|
+
* Additional metadata for the loyalty rule
|
|
1273
|
+
*/
|
|
1274
|
+
metadata: RuleCreateParams.Metadata;
|
|
1275
|
+
/**
|
|
1276
|
+
* Name of the loyalty rule
|
|
1277
|
+
*/
|
|
1278
|
+
name: string;
|
|
1279
|
+
/**
|
|
1280
|
+
* Unique identifier for the organization creating the rule
|
|
1281
|
+
*/
|
|
1282
|
+
organizationId: string;
|
|
1283
|
+
/**
|
|
1284
|
+
* When the rule becomes active
|
|
1285
|
+
*/
|
|
1286
|
+
startTime: string | null;
|
|
1287
|
+
/**
|
|
1288
|
+
* Type of loyalty rule being created
|
|
1289
|
+
*/
|
|
1290
|
+
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';
|
|
1291
|
+
/**
|
|
1292
|
+
* Unique identifier for the associated website
|
|
1293
|
+
*/
|
|
1294
|
+
websiteId: string;
|
|
1295
|
+
/**
|
|
1296
|
+
* URL of the background asset to be displayed
|
|
1297
|
+
*/
|
|
1298
|
+
backgroundAssetUrl?: string;
|
|
1299
|
+
/**
|
|
1300
|
+
* Blockchain address of the associated collection
|
|
1301
|
+
*/
|
|
1302
|
+
collectionAddress?: string;
|
|
1303
|
+
/**
|
|
1304
|
+
* List of associated collections
|
|
1305
|
+
*/
|
|
1306
|
+
collections?: Array<RuleCreateParams.Collection> | null;
|
|
1307
|
+
/**
|
|
1308
|
+
* URL for fetching custom rewards
|
|
1309
|
+
*/
|
|
1310
|
+
customRewardsApiUrl?: string | null;
|
|
1311
|
+
/**
|
|
1312
|
+
* URL for uploading custom rewards via CSV
|
|
1313
|
+
*/
|
|
1314
|
+
customRewardsCsvUrl?: string | null;
|
|
1315
|
+
/**
|
|
1316
|
+
* Optional detailed description of the rule
|
|
1317
|
+
*/
|
|
1318
|
+
description?: string;
|
|
1319
|
+
/**
|
|
1320
|
+
* Whether to hide this rule in the user interface
|
|
1321
|
+
*/
|
|
1322
|
+
hideInUi?: boolean;
|
|
1323
|
+
/**
|
|
1324
|
+
* Interval between rule executions
|
|
1325
|
+
*/
|
|
1326
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
|
|
1327
|
+
/**
|
|
1328
|
+
* Whether this rule is mandatory
|
|
1329
|
+
*/
|
|
1330
|
+
isRequired?: boolean;
|
|
1331
|
+
/**
|
|
1332
|
+
* Unique identifier for the loyalty rule group
|
|
1333
|
+
*/
|
|
1334
|
+
loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
|
|
1335
|
+
/**
|
|
1336
|
+
* Blockchain network where the rule will apply
|
|
1337
|
+
*/
|
|
1338
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
1339
|
+
/**
|
|
1340
|
+
* OAuth credentials associated with the rule
|
|
1341
|
+
*/
|
|
1342
|
+
oauthCredentialsId?: string | null;
|
|
1343
|
+
/**
|
|
1344
|
+
* Type of reward issued by the rule
|
|
1345
|
+
*/
|
|
1346
|
+
rewardType?: 'points' | 'multiplier';
|
|
1347
|
+
/**
|
|
1348
|
+
* Identifier for associated subscriptions
|
|
1349
|
+
*/
|
|
1350
|
+
subscriptionIdentifier?: string | null;
|
|
1351
|
+
}
|
|
1352
|
+
export declare namespace RuleCreateParams {
|
|
1353
|
+
/**
|
|
1354
|
+
* Additional metadata for the loyalty rule
|
|
1355
|
+
*/
|
|
1356
|
+
interface Metadata {
|
|
1357
|
+
/**
|
|
1358
|
+
* Text displayed on the action button.
|
|
1359
|
+
*/
|
|
1360
|
+
buttonText?: string | null;
|
|
1361
|
+
/**
|
|
1362
|
+
* Flag indicating if commenting is required.
|
|
1363
|
+
*/
|
|
1364
|
+
checkComment?: boolean | null;
|
|
1365
|
+
/**
|
|
1366
|
+
* Flag indicating if liking the post is required.
|
|
1367
|
+
*/
|
|
1368
|
+
checkLike?: boolean | null;
|
|
1369
|
+
/**
|
|
1370
|
+
* Flag indicating if reposting is required.
|
|
1371
|
+
*/
|
|
1372
|
+
checkRepost?: boolean | null;
|
|
1373
|
+
/**
|
|
1374
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1375
|
+
*/
|
|
1376
|
+
checkText?: string | null;
|
|
1377
|
+
/**
|
|
1378
|
+
* Array of collections associated with the rule.
|
|
1379
|
+
*/
|
|
1380
|
+
collection?: Array<Metadata.Collection>;
|
|
1381
|
+
/**
|
|
1382
|
+
* Object containing details for the call-to-action.
|
|
1383
|
+
*/
|
|
1384
|
+
cta?: Metadata.Cta | null;
|
|
1385
|
+
/**
|
|
1386
|
+
* API key for custom rewards integration.
|
|
1387
|
+
*/
|
|
1388
|
+
customRewardsApiKey?: string;
|
|
1389
|
+
/**
|
|
1390
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1391
|
+
*/
|
|
1392
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
1393
|
+
/**
|
|
1394
|
+
* Array of drip quests required to complete the rule.
|
|
1395
|
+
*/
|
|
1396
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
1397
|
+
/**
|
|
1398
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1399
|
+
*/
|
|
1400
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1401
|
+
/**
|
|
1402
|
+
* Flag indicating whether streaks are enabled.
|
|
1403
|
+
*/
|
|
1404
|
+
enableStreaks?: boolean | null;
|
|
1405
|
+
/**
|
|
1406
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1407
|
+
*/
|
|
1408
|
+
enableVerifiedMultiplier?: boolean;
|
|
1409
|
+
/**
|
|
1410
|
+
* Percentage reward given to a user for their first referral.
|
|
1411
|
+
*/
|
|
1412
|
+
firstReferralReward?: number | null;
|
|
1413
|
+
/**
|
|
1414
|
+
* Indicates if the item has never been sold.
|
|
1415
|
+
*/
|
|
1416
|
+
hasNeverSold?: boolean;
|
|
1417
|
+
/**
|
|
1418
|
+
* Indicates if the full royalty has been paid for items.
|
|
1419
|
+
*/
|
|
1420
|
+
hasPaidFullRoyalty?: boolean;
|
|
1421
|
+
/**
|
|
1422
|
+
* Flag indicating if the sale currency is included.
|
|
1423
|
+
*/
|
|
1424
|
+
hasSaleCurrency?: boolean;
|
|
1425
|
+
/**
|
|
1426
|
+
* Indicates if the user has a verified Twitter account.
|
|
1427
|
+
*/
|
|
1428
|
+
hasVerifiedTwitter?: boolean;
|
|
1429
|
+
/**
|
|
1430
|
+
* URL of the image associated with the rule.
|
|
1431
|
+
*/
|
|
1432
|
+
imageUrl?: string | null;
|
|
1433
|
+
/**
|
|
1434
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1435
|
+
*/
|
|
1436
|
+
isMultiplierApplied?: boolean;
|
|
1437
|
+
/**
|
|
1438
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1439
|
+
*/
|
|
1440
|
+
isRetroactive?: boolean | null;
|
|
1441
|
+
/**
|
|
1442
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1443
|
+
*/
|
|
1444
|
+
isTokenHoldMultiplier?: boolean;
|
|
1445
|
+
/**
|
|
1446
|
+
* Optional link associated with the metadata.
|
|
1447
|
+
*/
|
|
1448
|
+
link?: string | null;
|
|
1449
|
+
/**
|
|
1450
|
+
* Maximum quantity constraint for token holding.
|
|
1451
|
+
*/
|
|
1452
|
+
maxQty?: number | null;
|
|
1453
|
+
/**
|
|
1454
|
+
* Minimum quantity constraint for token holding.
|
|
1455
|
+
*/
|
|
1456
|
+
minQty?: number | null;
|
|
1457
|
+
/**
|
|
1458
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1459
|
+
*/
|
|
1460
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1461
|
+
/**
|
|
1462
|
+
* Flag indicating whether to include only known users.
|
|
1463
|
+
*/
|
|
1464
|
+
onlyKnownUsers?: boolean;
|
|
1465
|
+
/**
|
|
1466
|
+
* Flag indicating whether to include only native tokens.
|
|
1467
|
+
*/
|
|
1468
|
+
onlyNative?: boolean;
|
|
1469
|
+
/**
|
|
1470
|
+
* Flag indicating whether to include only non-listed items.
|
|
1471
|
+
*/
|
|
1472
|
+
onlyNonListed?: boolean;
|
|
1473
|
+
/**
|
|
1474
|
+
* Promotional code associated with the rule.
|
|
1475
|
+
*/
|
|
1476
|
+
promoCode?: string;
|
|
1477
|
+
/**
|
|
1478
|
+
* Array defining ranges and corresponding rewards.
|
|
1479
|
+
*/
|
|
1480
|
+
range?: Array<Metadata.Range>;
|
|
1481
|
+
/**
|
|
1482
|
+
* Object defining referral requirements.
|
|
1483
|
+
*/
|
|
1484
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1485
|
+
/**
|
|
1486
|
+
* Lump sum reward given to a referrer.
|
|
1487
|
+
*/
|
|
1488
|
+
referrerReward?: number | null;
|
|
1489
|
+
/**
|
|
1490
|
+
* Flag indicating if rewards are given per impression.
|
|
1491
|
+
*/
|
|
1492
|
+
rewardPerImpression?: boolean | null;
|
|
1493
|
+
/**
|
|
1494
|
+
* Currency associated with sales.
|
|
1495
|
+
*/
|
|
1496
|
+
saleCurrency?: string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Percentage reward given for a second-level referral.
|
|
1499
|
+
*/
|
|
1500
|
+
secondReferralReward?: number | null;
|
|
1501
|
+
/**
|
|
1502
|
+
* Object containing details of the associated smart contract.
|
|
1503
|
+
*/
|
|
1504
|
+
smartContract?: Metadata.SmartContract;
|
|
1505
|
+
/**
|
|
1506
|
+
* Array of snapshot proposals for the rule.
|
|
1507
|
+
*/
|
|
1508
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
1509
|
+
/**
|
|
1510
|
+
* Social media platform associated with the rule.
|
|
1511
|
+
*/
|
|
1512
|
+
socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
|
|
1513
|
+
/**
|
|
1514
|
+
* URL of the social platform's logo.
|
|
1515
|
+
*/
|
|
1516
|
+
socialPlatformLogo?: string | null;
|
|
1517
|
+
/**
|
|
1518
|
+
* Name of the social platform.
|
|
1519
|
+
*/
|
|
1520
|
+
socialPlatformName?: string | null;
|
|
1521
|
+
/**
|
|
1522
|
+
* Array of streak milestones and corresponding rewards.
|
|
1523
|
+
*/
|
|
1524
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1525
|
+
/**
|
|
1526
|
+
* ID of the Telegram channel.
|
|
1527
|
+
*/
|
|
1528
|
+
telegramChannelId?: string | null;
|
|
1529
|
+
/**
|
|
1530
|
+
* Time delay in seconds to verify actions.
|
|
1531
|
+
*/
|
|
1532
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
1533
|
+
/**
|
|
1534
|
+
* Flag indicating if all contracts are tracked.
|
|
1535
|
+
*/
|
|
1536
|
+
trackAllContracts?: boolean | null;
|
|
1537
|
+
/**
|
|
1538
|
+
* URL of the associated Twitter account.
|
|
1539
|
+
*/
|
|
1540
|
+
twitterAccountUrl?: string;
|
|
1541
|
+
/**
|
|
1542
|
+
* Hashtag associated with the Twitter post.
|
|
1543
|
+
*/
|
|
1544
|
+
twitterHashtag?: string;
|
|
1545
|
+
/**
|
|
1546
|
+
* URL of the associated Twitter post.
|
|
1547
|
+
*/
|
|
1548
|
+
twitterPostUrl?: string;
|
|
1549
|
+
/**
|
|
1550
|
+
* Unique identifier of the Twitter user.
|
|
1551
|
+
*/
|
|
1552
|
+
twitterUserId?: string;
|
|
1553
|
+
/**
|
|
1554
|
+
* Twitter username of the user.
|
|
1555
|
+
*/
|
|
1556
|
+
twitterUsername?: string;
|
|
1557
|
+
/**
|
|
1558
|
+
* Minimum length of the verification text.
|
|
1559
|
+
*/
|
|
1560
|
+
verificationTextMinimumLength?: number | null;
|
|
1561
|
+
/**
|
|
1562
|
+
* Multiplier applied to rewards for verified users.
|
|
1563
|
+
*/
|
|
1564
|
+
verifiedMultiplier?: number | null;
|
|
1565
|
+
/**
|
|
1566
|
+
* Placeholder text for verification input fields.
|
|
1567
|
+
*/
|
|
1568
|
+
verifyPlaceHolderText?: string | null;
|
|
1569
|
+
/**
|
|
1570
|
+
* Type of wallet associated with the rule.
|
|
1571
|
+
*/
|
|
1572
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
1573
|
+
}
|
|
1574
|
+
namespace Metadata {
|
|
1575
|
+
interface Collection {
|
|
1576
|
+
/**
|
|
1577
|
+
* Blockchain address of the collection.
|
|
1578
|
+
*/
|
|
1579
|
+
address?: string;
|
|
1580
|
+
/**
|
|
1581
|
+
* Multiplier applied to the rewards for this collection.
|
|
1582
|
+
*/
|
|
1583
|
+
multiplier?: number;
|
|
1584
|
+
/**
|
|
1585
|
+
* Blockchain network of the collection.
|
|
1586
|
+
*/
|
|
1587
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Object containing details for the call-to-action.
|
|
1591
|
+
*/
|
|
1592
|
+
interface Cta {
|
|
1593
|
+
/**
|
|
1594
|
+
* Link for the call-to-action.
|
|
1595
|
+
*/
|
|
1596
|
+
href?: string | null;
|
|
1597
|
+
/**
|
|
1598
|
+
* Label for the call-to-action.
|
|
1599
|
+
*/
|
|
1600
|
+
label?: string | null;
|
|
1601
|
+
}
|
|
1602
|
+
interface DiscordServersToJoin {
|
|
1603
|
+
/**
|
|
1604
|
+
* ID of the Discord server to join.
|
|
1605
|
+
*/
|
|
1606
|
+
id?: string;
|
|
1607
|
+
/**
|
|
1608
|
+
* Array of Discord channels to join.
|
|
1609
|
+
*/
|
|
1610
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
1611
|
+
/**
|
|
1612
|
+
* Array of roles to assign in the Discord server.
|
|
1613
|
+
*/
|
|
1614
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
1615
|
+
}
|
|
1616
|
+
namespace DiscordServersToJoin {
|
|
1617
|
+
interface Channel {
|
|
1618
|
+
/**
|
|
1619
|
+
* ID of the Discord channel.
|
|
1620
|
+
*/
|
|
1621
|
+
id?: string;
|
|
1622
|
+
/**
|
|
1623
|
+
* Array of emojis used in the channel.
|
|
1624
|
+
*/
|
|
1625
|
+
emojis?: Array<Channel.Emoji>;
|
|
1626
|
+
}
|
|
1627
|
+
namespace Channel {
|
|
1628
|
+
interface Emoji {
|
|
1629
|
+
/**
|
|
1630
|
+
* ID of the emoji used in the channel.
|
|
1631
|
+
*/
|
|
1632
|
+
id?: string;
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1635
|
+
interface Role {
|
|
1636
|
+
/**
|
|
1637
|
+
* ID of the role in the Discord server.
|
|
1638
|
+
*/
|
|
1639
|
+
id: string;
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
interface DripQuestsToComplete {
|
|
1643
|
+
/**
|
|
1644
|
+
* ID of the drip quest to complete.
|
|
1645
|
+
*/
|
|
1646
|
+
id: string;
|
|
1647
|
+
}
|
|
1648
|
+
interface Range {
|
|
1649
|
+
/**
|
|
1650
|
+
* Reward amount for this range.
|
|
1651
|
+
*/
|
|
1652
|
+
amount: number;
|
|
1653
|
+
/**
|
|
1654
|
+
* End value of the range.
|
|
1655
|
+
*/
|
|
1656
|
+
endRange: number;
|
|
1657
|
+
/**
|
|
1658
|
+
* Start value of the range.
|
|
1659
|
+
*/
|
|
1660
|
+
startRange: number;
|
|
1661
|
+
}
|
|
1662
|
+
/**
|
|
1663
|
+
* Object defining referral requirements.
|
|
1664
|
+
*/
|
|
1665
|
+
interface ReferralRequirements {
|
|
1666
|
+
/**
|
|
1667
|
+
* Flag indicating if achieving points is required.
|
|
1668
|
+
*/
|
|
1669
|
+
achievePoints?: boolean | null;
|
|
1670
|
+
/**
|
|
1671
|
+
* Flag indicating if completing the profile is required.
|
|
1672
|
+
*/
|
|
1673
|
+
completeProfile?: boolean | null;
|
|
1674
|
+
/**
|
|
1675
|
+
* Flag indicating if connecting Discord is required.
|
|
1676
|
+
*/
|
|
1677
|
+
connectDiscord?: boolean | null;
|
|
1678
|
+
/**
|
|
1679
|
+
* Flag indicating if connecting email is required.
|
|
1680
|
+
*/
|
|
1681
|
+
connectEmail?: boolean | null;
|
|
1682
|
+
/**
|
|
1683
|
+
* Flag indicating if connecting Twitter is required.
|
|
1684
|
+
*/
|
|
1685
|
+
connectTwitter?: boolean | null;
|
|
1686
|
+
points?: ReferralRequirements.Points | null;
|
|
1687
|
+
}
|
|
1688
|
+
namespace ReferralRequirements {
|
|
1689
|
+
interface Points {
|
|
1690
|
+
/**
|
|
1691
|
+
* Points required for referral.
|
|
1692
|
+
*/
|
|
1693
|
+
amount?: number | null;
|
|
1694
|
+
/**
|
|
1695
|
+
* ID of the loyalty currency for referral.
|
|
1696
|
+
*/
|
|
1697
|
+
loyaltyCurrecyId?: string | null;
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
/**
|
|
1701
|
+
* Object containing details of the associated smart contract.
|
|
1702
|
+
*/
|
|
1703
|
+
interface SmartContract {
|
|
1704
|
+
/**
|
|
1705
|
+
* ABI of the smart contract.
|
|
1706
|
+
*/
|
|
1707
|
+
abi?: string | null;
|
|
1708
|
+
/**
|
|
1709
|
+
* Mapping of addresses for the smart contract.
|
|
1710
|
+
*/
|
|
1711
|
+
addressMapping?: string | null;
|
|
1712
|
+
/**
|
|
1713
|
+
* Array of bonus details applied to the rule.
|
|
1714
|
+
*/
|
|
1715
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
1716
|
+
/**
|
|
1717
|
+
* ID of the smart contract.
|
|
1718
|
+
*/
|
|
1719
|
+
contractId?: string | null;
|
|
1720
|
+
/**
|
|
1721
|
+
* Criteria to evaluate the smart contract event.
|
|
1722
|
+
*/
|
|
1723
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1724
|
+
/**
|
|
1725
|
+
* Time range applied to the rule.
|
|
1726
|
+
*/
|
|
1727
|
+
customRange?: SmartContract.CustomRange | null;
|
|
1728
|
+
/**
|
|
1729
|
+
* Event emitted by the smart contract.
|
|
1730
|
+
*/
|
|
1731
|
+
event?: string | null;
|
|
1732
|
+
/**
|
|
1733
|
+
* Maximum value allowed for the parameter.
|
|
1734
|
+
*/
|
|
1735
|
+
max?: number | null;
|
|
1736
|
+
/**
|
|
1737
|
+
* Array of parameters for the smart contract.
|
|
1738
|
+
*/
|
|
1739
|
+
params?: Array<SmartContract.Param> | null;
|
|
1740
|
+
/**
|
|
1741
|
+
* Flag indicating if a bonus is applied.
|
|
1742
|
+
*/
|
|
1743
|
+
withBonus?: boolean | null;
|
|
1744
|
+
/**
|
|
1745
|
+
* Flag indicating if a custom range is applied.
|
|
1746
|
+
*/
|
|
1747
|
+
withCustomRange?: boolean | null;
|
|
1748
|
+
/**
|
|
1749
|
+
* Flag indicating if a maximum limit is applied.
|
|
1750
|
+
*/
|
|
1751
|
+
withMax?: boolean | null;
|
|
1752
|
+
}
|
|
1753
|
+
namespace SmartContract {
|
|
1754
|
+
interface Bonus {
|
|
1755
|
+
/**
|
|
1756
|
+
* Amount of the bonus.
|
|
1757
|
+
*/
|
|
1758
|
+
amount?: number | null;
|
|
1759
|
+
/**
|
|
1760
|
+
* Number of times the bonus is applied.
|
|
1761
|
+
*/
|
|
1762
|
+
count?: number | null;
|
|
1763
|
+
}
|
|
1764
|
+
/**
|
|
1765
|
+
* Time range applied to the rule.
|
|
1766
|
+
*/
|
|
1767
|
+
interface CustomRange {
|
|
1768
|
+
/**
|
|
1769
|
+
* End time of the custom range.
|
|
1770
|
+
*/
|
|
1771
|
+
endsAt?: string | null;
|
|
1772
|
+
/**
|
|
1773
|
+
* Start time of the custom range.
|
|
1774
|
+
*/
|
|
1775
|
+
startsAt?: string | null;
|
|
1776
|
+
}
|
|
1777
|
+
interface Param {
|
|
1778
|
+
/**
|
|
1779
|
+
* Condition to check for the parameter.
|
|
1780
|
+
*/
|
|
1781
|
+
condition?: string | null;
|
|
1782
|
+
/**
|
|
1783
|
+
* Name of the smart contract parameter.
|
|
1784
|
+
*/
|
|
1785
|
+
name?: string | null;
|
|
1786
|
+
/**
|
|
1787
|
+
* Value of the parameter.
|
|
1788
|
+
*/
|
|
1789
|
+
value?: string | null;
|
|
1790
|
+
}
|
|
1791
|
+
}
|
|
1792
|
+
interface SnapshotProposal {
|
|
1793
|
+
/**
|
|
1794
|
+
* ID of the snapshot proposal.
|
|
1795
|
+
*/
|
|
1796
|
+
id: string;
|
|
1797
|
+
/**
|
|
1798
|
+
* Space associated with the snapshot proposal.
|
|
1799
|
+
*/
|
|
1800
|
+
space: string;
|
|
1801
|
+
}
|
|
1802
|
+
interface StreakArray {
|
|
1803
|
+
/**
|
|
1804
|
+
* Reward amount for achieving the streak milestone.
|
|
1805
|
+
*/
|
|
1806
|
+
streakAmount: number;
|
|
1807
|
+
/**
|
|
1808
|
+
* Milestone required to achieve the streak.
|
|
1809
|
+
*/
|
|
1810
|
+
streakMilestone: number;
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
interface Collection {
|
|
1814
|
+
/**
|
|
1815
|
+
* Blockchain address of the collection
|
|
1816
|
+
*/
|
|
1817
|
+
address: string;
|
|
1818
|
+
/**
|
|
1819
|
+
* Blockchain network for the collection
|
|
1820
|
+
*/
|
|
1821
|
+
network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
1822
|
+
}
|
|
1823
|
+
}
|
|
1824
|
+
export interface RuleUpdateParams {
|
|
1825
|
+
/**
|
|
1826
|
+
* Reward amount for the loyalty rule
|
|
1827
|
+
*/
|
|
1828
|
+
amount: unknown;
|
|
1829
|
+
/**
|
|
1830
|
+
* Effective end time of the rule
|
|
1831
|
+
*/
|
|
1832
|
+
effectiveEndTime: string | null;
|
|
1833
|
+
/**
|
|
1834
|
+
* Effective start time of the rule
|
|
1835
|
+
*/
|
|
1836
|
+
effectiveStartTime: string | null;
|
|
1837
|
+
/**
|
|
1838
|
+
* End time for the loyalty rule
|
|
1839
|
+
*/
|
|
1840
|
+
endTime: string | null;
|
|
1841
|
+
/**
|
|
1842
|
+
* Frequency of the rule execution
|
|
1843
|
+
*/
|
|
1844
|
+
frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
|
|
1845
|
+
/**
|
|
1846
|
+
* Additional metadata for the loyalty rule
|
|
1847
|
+
*/
|
|
1848
|
+
metadata: RuleUpdateParams.Metadata;
|
|
1849
|
+
/**
|
|
1850
|
+
* Name of the loyalty rule
|
|
1851
|
+
*/
|
|
1852
|
+
name: string;
|
|
1853
|
+
/**
|
|
1854
|
+
* Start time for the loyalty rule
|
|
1855
|
+
*/
|
|
1856
|
+
startTime: string | null;
|
|
1857
|
+
/**
|
|
1858
|
+
* Blockchain address of the associated collection
|
|
1859
|
+
*/
|
|
1860
|
+
collectionAddress?: string;
|
|
1861
|
+
/**
|
|
1862
|
+
* List of associated collections
|
|
1863
|
+
*/
|
|
1864
|
+
collections?: Array<RuleUpdateParams.Collection> | null;
|
|
1865
|
+
/**
|
|
1866
|
+
* API URL for custom rewards integration
|
|
1867
|
+
*/
|
|
1868
|
+
customRewardsApiUrl?: string | null;
|
|
1869
|
+
/**
|
|
1870
|
+
* URL for uploading custom rewards via CSV
|
|
1871
|
+
*/
|
|
1872
|
+
customRewardsCsvUrl?: string | null;
|
|
1873
|
+
/**
|
|
1874
|
+
* Optional description of the loyalty rule
|
|
1875
|
+
*/
|
|
1876
|
+
description?: string;
|
|
1877
|
+
/**
|
|
1878
|
+
* Whether to hide this rule in the user interface
|
|
1879
|
+
*/
|
|
1880
|
+
hideInUi?: boolean;
|
|
1881
|
+
/**
|
|
1882
|
+
* Time interval for recurring rule execution
|
|
1883
|
+
*/
|
|
1884
|
+
interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
|
|
1885
|
+
/**
|
|
1886
|
+
* Whether this rule is required for participation
|
|
1887
|
+
*/
|
|
1888
|
+
isRequired?: boolean;
|
|
1889
|
+
/**
|
|
1890
|
+
* ID of the rule group section to associate with the rule
|
|
1891
|
+
*/
|
|
1892
|
+
loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
|
|
1893
|
+
/**
|
|
1894
|
+
* Blockchain network where the rule will apply
|
|
1895
|
+
*/
|
|
1896
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
1897
|
+
/**
|
|
1898
|
+
* ID for associated OAuth credentials
|
|
1899
|
+
*/
|
|
1900
|
+
oauthCredentialsId?: string | null;
|
|
1901
|
+
/**
|
|
1902
|
+
* Type of reward issued by this rule
|
|
1903
|
+
*/
|
|
1904
|
+
rewardType?: 'points' | 'multiplier';
|
|
1905
|
+
/**
|
|
1906
|
+
* Optional subscription identifier for the rule
|
|
1907
|
+
*/
|
|
1908
|
+
subscriptionIdentifier?: string | null;
|
|
1909
|
+
}
|
|
1910
|
+
export declare namespace RuleUpdateParams {
|
|
1911
|
+
/**
|
|
1912
|
+
* Additional metadata for the loyalty rule
|
|
1913
|
+
*/
|
|
1914
|
+
interface Metadata {
|
|
1915
|
+
/**
|
|
1916
|
+
* Text displayed on the action button.
|
|
1917
|
+
*/
|
|
1918
|
+
buttonText?: string | null;
|
|
1919
|
+
/**
|
|
1920
|
+
* Flag indicating if commenting is required.
|
|
1921
|
+
*/
|
|
1922
|
+
checkComment?: boolean | null;
|
|
1923
|
+
/**
|
|
1924
|
+
* Flag indicating if liking the post is required.
|
|
1925
|
+
*/
|
|
1926
|
+
checkLike?: boolean | null;
|
|
1927
|
+
/**
|
|
1928
|
+
* Flag indicating if reposting is required.
|
|
1929
|
+
*/
|
|
1930
|
+
checkRepost?: boolean | null;
|
|
1931
|
+
/**
|
|
1932
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1933
|
+
*/
|
|
1934
|
+
checkText?: string | null;
|
|
1935
|
+
/**
|
|
1936
|
+
* Array of collections associated with the rule.
|
|
1937
|
+
*/
|
|
1938
|
+
collection?: Array<Metadata.Collection>;
|
|
1939
|
+
/**
|
|
1940
|
+
* Object containing details for the call-to-action.
|
|
1941
|
+
*/
|
|
1942
|
+
cta?: Metadata.Cta | null;
|
|
1943
|
+
/**
|
|
1944
|
+
* API key for custom rewards integration.
|
|
1945
|
+
*/
|
|
1946
|
+
customRewardsApiKey?: string;
|
|
1947
|
+
/**
|
|
1948
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1949
|
+
*/
|
|
1950
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
1951
|
+
/**
|
|
1952
|
+
* Array of drip quests required to complete the rule.
|
|
1953
|
+
*/
|
|
1954
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
1955
|
+
/**
|
|
1956
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1957
|
+
*/
|
|
1958
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1959
|
+
/**
|
|
1960
|
+
* Flag indicating whether streaks are enabled.
|
|
1961
|
+
*/
|
|
1962
|
+
enableStreaks?: boolean | null;
|
|
1963
|
+
/**
|
|
1964
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1965
|
+
*/
|
|
1966
|
+
enableVerifiedMultiplier?: boolean;
|
|
1967
|
+
/**
|
|
1968
|
+
* Percentage reward given to a user for their first referral.
|
|
1969
|
+
*/
|
|
1970
|
+
firstReferralReward?: number | null;
|
|
1971
|
+
/**
|
|
1972
|
+
* Indicates if the item has never been sold.
|
|
1973
|
+
*/
|
|
1974
|
+
hasNeverSold?: boolean;
|
|
1975
|
+
/**
|
|
1976
|
+
* Indicates if the full royalty has been paid for items.
|
|
1977
|
+
*/
|
|
1978
|
+
hasPaidFullRoyalty?: boolean;
|
|
1979
|
+
/**
|
|
1980
|
+
* Flag indicating if the sale currency is included.
|
|
1981
|
+
*/
|
|
1982
|
+
hasSaleCurrency?: boolean;
|
|
1983
|
+
/**
|
|
1984
|
+
* Indicates if the user has a verified Twitter account.
|
|
1985
|
+
*/
|
|
1986
|
+
hasVerifiedTwitter?: boolean;
|
|
1987
|
+
/**
|
|
1988
|
+
* URL of the image associated with the rule.
|
|
1989
|
+
*/
|
|
1990
|
+
imageUrl?: string | null;
|
|
1991
|
+
/**
|
|
1992
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1993
|
+
*/
|
|
1994
|
+
isMultiplierApplied?: boolean;
|
|
1995
|
+
/**
|
|
1996
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1997
|
+
*/
|
|
1998
|
+
isRetroactive?: boolean | null;
|
|
1999
|
+
/**
|
|
2000
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2001
|
+
*/
|
|
2002
|
+
isTokenHoldMultiplier?: boolean;
|
|
2003
|
+
/**
|
|
2004
|
+
* Optional link associated with the metadata.
|
|
2005
|
+
*/
|
|
2006
|
+
link?: string | null;
|
|
2007
|
+
/**
|
|
2008
|
+
* Maximum quantity constraint for token holding.
|
|
2009
|
+
*/
|
|
2010
|
+
maxQty?: number | null;
|
|
2011
|
+
/**
|
|
2012
|
+
* Minimum quantity constraint for token holding.
|
|
2013
|
+
*/
|
|
2014
|
+
minQty?: number | null;
|
|
2015
|
+
/**
|
|
2016
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2017
|
+
*/
|
|
2018
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2019
|
+
/**
|
|
2020
|
+
* Flag indicating whether to include only known users.
|
|
2021
|
+
*/
|
|
2022
|
+
onlyKnownUsers?: boolean;
|
|
2023
|
+
/**
|
|
2024
|
+
* Flag indicating whether to include only native tokens.
|
|
2025
|
+
*/
|
|
2026
|
+
onlyNative?: boolean;
|
|
2027
|
+
/**
|
|
2028
|
+
* Flag indicating whether to include only non-listed items.
|
|
2029
|
+
*/
|
|
2030
|
+
onlyNonListed?: boolean;
|
|
2031
|
+
/**
|
|
2032
|
+
* Promotional code associated with the rule.
|
|
2033
|
+
*/
|
|
2034
|
+
promoCode?: string;
|
|
2035
|
+
/**
|
|
2036
|
+
* Array defining ranges and corresponding rewards.
|
|
2037
|
+
*/
|
|
2038
|
+
range?: Array<Metadata.Range>;
|
|
2039
|
+
/**
|
|
2040
|
+
* Object defining referral requirements.
|
|
2041
|
+
*/
|
|
2042
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2043
|
+
/**
|
|
2044
|
+
* Lump sum reward given to a referrer.
|
|
2045
|
+
*/
|
|
2046
|
+
referrerReward?: number | null;
|
|
2047
|
+
/**
|
|
2048
|
+
* Flag indicating if rewards are given per impression.
|
|
2049
|
+
*/
|
|
2050
|
+
rewardPerImpression?: boolean | null;
|
|
2051
|
+
/**
|
|
2052
|
+
* Currency associated with sales.
|
|
2053
|
+
*/
|
|
2054
|
+
saleCurrency?: string;
|
|
2055
|
+
/**
|
|
2056
|
+
* Percentage reward given for a second-level referral.
|
|
2057
|
+
*/
|
|
2058
|
+
secondReferralReward?: number | null;
|
|
2059
|
+
/**
|
|
2060
|
+
* Object containing details of the associated smart contract.
|
|
2061
|
+
*/
|
|
2062
|
+
smartContract?: Metadata.SmartContract;
|
|
2063
|
+
/**
|
|
2064
|
+
* Array of snapshot proposals for the rule.
|
|
2065
|
+
*/
|
|
2066
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2067
|
+
/**
|
|
2068
|
+
* Social media platform associated with the rule.
|
|
2069
|
+
*/
|
|
2070
|
+
socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
|
|
2071
|
+
/**
|
|
2072
|
+
* URL of the social platform's logo.
|
|
2073
|
+
*/
|
|
2074
|
+
socialPlatformLogo?: string | null;
|
|
2075
|
+
/**
|
|
2076
|
+
* Name of the social platform.
|
|
2077
|
+
*/
|
|
2078
|
+
socialPlatformName?: string | null;
|
|
2079
|
+
/**
|
|
2080
|
+
* Array of streak milestones and corresponding rewards.
|
|
2081
|
+
*/
|
|
2082
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2083
|
+
/**
|
|
2084
|
+
* ID of the Telegram channel.
|
|
2085
|
+
*/
|
|
2086
|
+
telegramChannelId?: string | null;
|
|
2087
|
+
/**
|
|
2088
|
+
* Time delay in seconds to verify actions.
|
|
2089
|
+
*/
|
|
2090
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2091
|
+
/**
|
|
2092
|
+
* Flag indicating if all contracts are tracked.
|
|
2093
|
+
*/
|
|
2094
|
+
trackAllContracts?: boolean | null;
|
|
2095
|
+
/**
|
|
2096
|
+
* URL of the associated Twitter account.
|
|
2097
|
+
*/
|
|
2098
|
+
twitterAccountUrl?: string;
|
|
2099
|
+
/**
|
|
2100
|
+
* Hashtag associated with the Twitter post.
|
|
2101
|
+
*/
|
|
2102
|
+
twitterHashtag?: string;
|
|
2103
|
+
/**
|
|
2104
|
+
* URL of the associated Twitter post.
|
|
2105
|
+
*/
|
|
2106
|
+
twitterPostUrl?: string;
|
|
2107
|
+
/**
|
|
2108
|
+
* Unique identifier of the Twitter user.
|
|
2109
|
+
*/
|
|
2110
|
+
twitterUserId?: string;
|
|
2111
|
+
/**
|
|
2112
|
+
* Twitter username of the user.
|
|
2113
|
+
*/
|
|
2114
|
+
twitterUsername?: string;
|
|
2115
|
+
/**
|
|
2116
|
+
* Minimum length of the verification text.
|
|
2117
|
+
*/
|
|
2118
|
+
verificationTextMinimumLength?: number | null;
|
|
2119
|
+
/**
|
|
2120
|
+
* Multiplier applied to rewards for verified users.
|
|
2121
|
+
*/
|
|
2122
|
+
verifiedMultiplier?: number | null;
|
|
2123
|
+
/**
|
|
2124
|
+
* Placeholder text for verification input fields.
|
|
2125
|
+
*/
|
|
2126
|
+
verifyPlaceHolderText?: string | null;
|
|
2127
|
+
/**
|
|
2128
|
+
* Type of wallet associated with the rule.
|
|
2129
|
+
*/
|
|
2130
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
2131
|
+
}
|
|
2132
|
+
namespace Metadata {
|
|
2133
|
+
interface Collection {
|
|
2134
|
+
/**
|
|
2135
|
+
* Blockchain address of the collection.
|
|
2136
|
+
*/
|
|
2137
|
+
address?: string;
|
|
2138
|
+
/**
|
|
2139
|
+
* Multiplier applied to the rewards for this collection.
|
|
2140
|
+
*/
|
|
2141
|
+
multiplier?: number;
|
|
2142
|
+
/**
|
|
2143
|
+
* Blockchain network of the collection.
|
|
2144
|
+
*/
|
|
2145
|
+
network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
2146
|
+
}
|
|
2147
|
+
/**
|
|
2148
|
+
* Object containing details for the call-to-action.
|
|
2149
|
+
*/
|
|
2150
|
+
interface Cta {
|
|
2151
|
+
/**
|
|
2152
|
+
* Link for the call-to-action.
|
|
2153
|
+
*/
|
|
2154
|
+
href?: string | null;
|
|
2155
|
+
/**
|
|
2156
|
+
* Label for the call-to-action.
|
|
2157
|
+
*/
|
|
2158
|
+
label?: string | null;
|
|
2159
|
+
}
|
|
2160
|
+
interface DiscordServersToJoin {
|
|
2161
|
+
/**
|
|
2162
|
+
* ID of the Discord server to join.
|
|
2163
|
+
*/
|
|
2164
|
+
id?: string;
|
|
2165
|
+
/**
|
|
2166
|
+
* Array of Discord channels to join.
|
|
2167
|
+
*/
|
|
2168
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2169
|
+
/**
|
|
2170
|
+
* Array of roles to assign in the Discord server.
|
|
2171
|
+
*/
|
|
2172
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2173
|
+
}
|
|
2174
|
+
namespace DiscordServersToJoin {
|
|
2175
|
+
interface Channel {
|
|
2176
|
+
/**
|
|
2177
|
+
* ID of the Discord channel.
|
|
2178
|
+
*/
|
|
2179
|
+
id?: string;
|
|
2180
|
+
/**
|
|
2181
|
+
* Array of emojis used in the channel.
|
|
2182
|
+
*/
|
|
2183
|
+
emojis?: Array<Channel.Emoji>;
|
|
2184
|
+
}
|
|
2185
|
+
namespace Channel {
|
|
2186
|
+
interface Emoji {
|
|
2187
|
+
/**
|
|
2188
|
+
* ID of the emoji used in the channel.
|
|
2189
|
+
*/
|
|
2190
|
+
id?: string;
|
|
2191
|
+
}
|
|
2192
|
+
}
|
|
2193
|
+
interface Role {
|
|
2194
|
+
/**
|
|
2195
|
+
* ID of the role in the Discord server.
|
|
2196
|
+
*/
|
|
2197
|
+
id: string;
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
interface DripQuestsToComplete {
|
|
2201
|
+
/**
|
|
2202
|
+
* ID of the drip quest to complete.
|
|
2203
|
+
*/
|
|
2204
|
+
id: string;
|
|
2205
|
+
}
|
|
2206
|
+
interface Range {
|
|
2207
|
+
/**
|
|
2208
|
+
* Reward amount for this range.
|
|
2209
|
+
*/
|
|
2210
|
+
amount: number;
|
|
2211
|
+
/**
|
|
2212
|
+
* End value of the range.
|
|
2213
|
+
*/
|
|
2214
|
+
endRange: number;
|
|
2215
|
+
/**
|
|
2216
|
+
* Start value of the range.
|
|
2217
|
+
*/
|
|
2218
|
+
startRange: number;
|
|
2219
|
+
}
|
|
2220
|
+
/**
|
|
2221
|
+
* Object defining referral requirements.
|
|
2222
|
+
*/
|
|
2223
|
+
interface ReferralRequirements {
|
|
2224
|
+
/**
|
|
2225
|
+
* Flag indicating if achieving points is required.
|
|
2226
|
+
*/
|
|
2227
|
+
achievePoints?: boolean | null;
|
|
2228
|
+
/**
|
|
2229
|
+
* Flag indicating if completing the profile is required.
|
|
2230
|
+
*/
|
|
2231
|
+
completeProfile?: boolean | null;
|
|
2232
|
+
/**
|
|
2233
|
+
* Flag indicating if connecting Discord is required.
|
|
2234
|
+
*/
|
|
2235
|
+
connectDiscord?: boolean | null;
|
|
2236
|
+
/**
|
|
2237
|
+
* Flag indicating if connecting email is required.
|
|
2238
|
+
*/
|
|
2239
|
+
connectEmail?: boolean | null;
|
|
2240
|
+
/**
|
|
2241
|
+
* Flag indicating if connecting Twitter is required.
|
|
2242
|
+
*/
|
|
2243
|
+
connectTwitter?: boolean | null;
|
|
2244
|
+
points?: ReferralRequirements.Points | null;
|
|
2245
|
+
}
|
|
2246
|
+
namespace ReferralRequirements {
|
|
2247
|
+
interface Points {
|
|
2248
|
+
/**
|
|
2249
|
+
* Points required for referral.
|
|
2250
|
+
*/
|
|
2251
|
+
amount?: number | null;
|
|
2252
|
+
/**
|
|
2253
|
+
* ID of the loyalty currency for referral.
|
|
2254
|
+
*/
|
|
2255
|
+
loyaltyCurrecyId?: string | null;
|
|
2256
|
+
}
|
|
2257
|
+
}
|
|
2258
|
+
/**
|
|
2259
|
+
* Object containing details of the associated smart contract.
|
|
2260
|
+
*/
|
|
2261
|
+
interface SmartContract {
|
|
2262
|
+
/**
|
|
2263
|
+
* ABI of the smart contract.
|
|
2264
|
+
*/
|
|
2265
|
+
abi?: string | null;
|
|
2266
|
+
/**
|
|
2267
|
+
* Mapping of addresses for the smart contract.
|
|
2268
|
+
*/
|
|
2269
|
+
addressMapping?: string | null;
|
|
2270
|
+
/**
|
|
2271
|
+
* Array of bonus details applied to the rule.
|
|
2272
|
+
*/
|
|
2273
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
2274
|
+
/**
|
|
2275
|
+
* ID of the smart contract.
|
|
2276
|
+
*/
|
|
2277
|
+
contractId?: string | null;
|
|
2278
|
+
/**
|
|
2279
|
+
* Criteria to evaluate the smart contract event.
|
|
2280
|
+
*/
|
|
2281
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2282
|
+
/**
|
|
2283
|
+
* Time range applied to the rule.
|
|
2284
|
+
*/
|
|
2285
|
+
customRange?: SmartContract.CustomRange | null;
|
|
2286
|
+
/**
|
|
2287
|
+
* Event emitted by the smart contract.
|
|
2288
|
+
*/
|
|
2289
|
+
event?: string | null;
|
|
2290
|
+
/**
|
|
2291
|
+
* Maximum value allowed for the parameter.
|
|
2292
|
+
*/
|
|
2293
|
+
max?: number | null;
|
|
2294
|
+
/**
|
|
2295
|
+
* Array of parameters for the smart contract.
|
|
2296
|
+
*/
|
|
2297
|
+
params?: Array<SmartContract.Param> | null;
|
|
2298
|
+
/**
|
|
2299
|
+
* Flag indicating if a bonus is applied.
|
|
2300
|
+
*/
|
|
2301
|
+
withBonus?: boolean | null;
|
|
2302
|
+
/**
|
|
2303
|
+
* Flag indicating if a custom range is applied.
|
|
2304
|
+
*/
|
|
2305
|
+
withCustomRange?: boolean | null;
|
|
2306
|
+
/**
|
|
2307
|
+
* Flag indicating if a maximum limit is applied.
|
|
2308
|
+
*/
|
|
2309
|
+
withMax?: boolean | null;
|
|
2310
|
+
}
|
|
2311
|
+
namespace SmartContract {
|
|
2312
|
+
interface Bonus {
|
|
2313
|
+
/**
|
|
2314
|
+
* Amount of the bonus.
|
|
2315
|
+
*/
|
|
2316
|
+
amount?: number | null;
|
|
2317
|
+
/**
|
|
2318
|
+
* Number of times the bonus is applied.
|
|
2319
|
+
*/
|
|
2320
|
+
count?: number | null;
|
|
2321
|
+
}
|
|
2322
|
+
/**
|
|
2323
|
+
* Time range applied to the rule.
|
|
2324
|
+
*/
|
|
2325
|
+
interface CustomRange {
|
|
2326
|
+
/**
|
|
2327
|
+
* End time of the custom range.
|
|
2328
|
+
*/
|
|
2329
|
+
endsAt?: string | null;
|
|
2330
|
+
/**
|
|
2331
|
+
* Start time of the custom range.
|
|
2332
|
+
*/
|
|
2333
|
+
startsAt?: string | null;
|
|
2334
|
+
}
|
|
2335
|
+
interface Param {
|
|
2336
|
+
/**
|
|
2337
|
+
* Condition to check for the parameter.
|
|
2338
|
+
*/
|
|
2339
|
+
condition?: string | null;
|
|
2340
|
+
/**
|
|
2341
|
+
* Name of the smart contract parameter.
|
|
2342
|
+
*/
|
|
2343
|
+
name?: string | null;
|
|
2344
|
+
/**
|
|
2345
|
+
* Value of the parameter.
|
|
2346
|
+
*/
|
|
2347
|
+
value?: string | null;
|
|
2348
|
+
}
|
|
2349
|
+
}
|
|
2350
|
+
interface SnapshotProposal {
|
|
2351
|
+
/**
|
|
2352
|
+
* ID of the snapshot proposal.
|
|
2353
|
+
*/
|
|
2354
|
+
id: string;
|
|
2355
|
+
/**
|
|
2356
|
+
* Space associated with the snapshot proposal.
|
|
2357
|
+
*/
|
|
2358
|
+
space: string;
|
|
2359
|
+
}
|
|
2360
|
+
interface StreakArray {
|
|
2361
|
+
/**
|
|
2362
|
+
* Reward amount for achieving the streak milestone.
|
|
2363
|
+
*/
|
|
2364
|
+
streakAmount: number;
|
|
2365
|
+
/**
|
|
2366
|
+
* Milestone required to achieve the streak.
|
|
2367
|
+
*/
|
|
2368
|
+
streakMilestone: number;
|
|
2369
|
+
}
|
|
2370
|
+
}
|
|
2371
|
+
interface Collection {
|
|
2372
|
+
/**
|
|
2373
|
+
* Blockchain address of the collection
|
|
2374
|
+
*/
|
|
2375
|
+
address: string;
|
|
2376
|
+
/**
|
|
2377
|
+
* Blockchain network for the collection
|
|
2378
|
+
*/
|
|
2379
|
+
network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2382
|
+
export interface RuleListParams {
|
|
2383
|
+
/**
|
|
2384
|
+
* Address of the collection to filter by
|
|
2385
|
+
*/
|
|
2386
|
+
collectionAddress?: string;
|
|
2387
|
+
/**
|
|
2388
|
+
* Maximum number of records to return (max 1000)
|
|
2389
|
+
*/
|
|
2390
|
+
limit?: number;
|
|
2391
|
+
/**
|
|
2392
|
+
* Unique identifier for the organization to filter by
|
|
2393
|
+
*/
|
|
2394
|
+
organizationId?: string;
|
|
2395
|
+
/**
|
|
2396
|
+
* Pagination cursor to start after a specific resource ID
|
|
2397
|
+
*/
|
|
2398
|
+
startingAfter?: string;
|
|
2399
|
+
/**
|
|
2400
|
+
* Unique identifier for the website to filter by
|
|
2401
|
+
*/
|
|
2402
|
+
websiteId?: string;
|
|
2403
|
+
}
|
|
2404
|
+
export interface RuleCompleteParams {
|
|
2405
|
+
/**
|
|
2406
|
+
* Link to the comment made by user
|
|
2407
|
+
*/
|
|
2408
|
+
commentLink?: string;
|
|
2409
|
+
/**
|
|
2410
|
+
* Unique identifier for the user
|
|
2411
|
+
*/
|
|
2412
|
+
userId?: string;
|
|
2413
|
+
/**
|
|
2414
|
+
* Optional verification code for completing the loyalty rule
|
|
2415
|
+
*/
|
|
2416
|
+
verificationCode?: string;
|
|
2417
|
+
/**
|
|
2418
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2419
|
+
*/
|
|
2420
|
+
walletAddress?: string;
|
|
2421
|
+
}
|
|
2422
|
+
export interface RuleStatusParams {
|
|
2423
|
+
organizationId: string;
|
|
2424
|
+
websiteId: string;
|
|
2425
|
+
userId?: string;
|
|
2426
|
+
}
|
|
2427
|
+
export declare namespace Rules {
|
|
2428
|
+
export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleStatusResponse as RuleStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleStatusParams as RuleStatusParams, };
|
|
2429
|
+
}
|
|
2430
|
+
//# sourceMappingURL=rules.d.ts.map
|