@snagsolutions/sdk 0.1.0-alpha.20 → 0.1.0-alpha.201

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.
Files changed (272) hide show
  1. package/CHANGELOG.md +1634 -0
  2. package/README.md +13 -23
  3. package/core.d.ts +19 -5
  4. package/core.d.ts.map +1 -1
  5. package/core.js +24 -17
  6. package/core.js.map +1 -1
  7. package/core.mjs +24 -17
  8. package/core.mjs.map +1 -1
  9. package/index.d.mts +7 -4
  10. package/index.d.ts +7 -4
  11. package/index.d.ts.map +1 -1
  12. package/index.js +8 -4
  13. package/index.js.map +1 -1
  14. package/index.mjs +8 -4
  15. package/index.mjs.map +1 -1
  16. package/package.json +4 -5
  17. package/resource.d.ts +1 -1
  18. package/resource.d.ts.map +1 -1
  19. package/resource.js.map +1 -1
  20. package/resource.mjs.map +1 -1
  21. package/resources/assets.d.ts +16 -2
  22. package/resources/assets.d.ts.map +1 -1
  23. package/resources/assets.js +8 -0
  24. package/resources/assets.js.map +1 -1
  25. package/resources/assets.mjs +8 -0
  26. package/resources/assets.mjs.map +1 -1
  27. package/resources/auctions/auctions.d.ts +368 -0
  28. package/resources/auctions/auctions.d.ts.map +1 -0
  29. package/resources/auctions/auctions.js +72 -0
  30. package/resources/auctions/auctions.js.map +1 -0
  31. package/resources/auctions/auctions.mjs +45 -0
  32. package/resources/auctions/auctions.mjs.map +1 -0
  33. package/resources/auctions/index.d.ts +3 -0
  34. package/resources/auctions/index.d.ts.map +1 -0
  35. package/resources/auctions/index.js +9 -0
  36. package/resources/auctions/index.js.map +1 -0
  37. package/resources/auctions/index.mjs +4 -0
  38. package/resources/auctions/index.mjs.map +1 -0
  39. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  40. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  41. package/resources/auctions/website-user-attributes/index.js +9 -0
  42. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  43. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  44. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  45. package/resources/auctions/website-user-attributes/values.d.ts +126 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  47. package/resources/auctions/website-user-attributes/values.js +49 -0
  48. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  49. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  50. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  51. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
  52. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  53. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  57. package/resources/auctions/website-user-attributes.d.ts +2 -0
  58. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  59. package/resources/auctions/website-user-attributes.js +19 -0
  60. package/resources/auctions/website-user-attributes.js.map +1 -0
  61. package/resources/auctions/website-user-attributes.mjs +3 -0
  62. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  63. package/resources/auctions.d.ts +1 -133
  64. package/resources/auctions.d.ts.map +1 -1
  65. package/resources/auctions.js +15 -22
  66. package/resources/auctions.js.map +1 -1
  67. package/resources/auctions.mjs +1 -20
  68. package/resources/auctions.mjs.map +1 -1
  69. package/resources/auth.d.ts +17 -4
  70. package/resources/auth.d.ts.map +1 -1
  71. package/resources/auth.js.map +1 -1
  72. package/resources/auth.mjs.map +1 -1
  73. package/resources/index.d.ts +2 -2
  74. package/resources/index.d.ts.map +1 -1
  75. package/resources/index.js +1 -1
  76. package/resources/index.js.map +1 -1
  77. package/resources/index.mjs +1 -1
  78. package/resources/index.mjs.map +1 -1
  79. package/resources/loyalty/account-streaks.d.ts +81 -0
  80. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  81. package/resources/loyalty/account-streaks.js +24 -0
  82. package/resources/loyalty/account-streaks.js.map +1 -0
  83. package/resources/loyalty/account-streaks.mjs +20 -0
  84. package/resources/loyalty/account-streaks.mjs.map +1 -0
  85. package/resources/loyalty/accounts.d.ts +60 -16
  86. package/resources/loyalty/accounts.d.ts.map +1 -1
  87. package/resources/loyalty/accounts.js +14 -0
  88. package/resources/loyalty/accounts.js.map +1 -1
  89. package/resources/loyalty/accounts.mjs +14 -0
  90. package/resources/loyalty/accounts.mjs.map +1 -1
  91. package/resources/loyalty/badges.d.ts +666 -135
  92. package/resources/loyalty/badges.d.ts.map +1 -1
  93. package/resources/loyalty/badges.js +19 -1
  94. package/resources/loyalty/badges.js.map +1 -1
  95. package/resources/loyalty/badges.mjs +19 -1
  96. package/resources/loyalty/badges.mjs.map +1 -1
  97. package/resources/loyalty/currencies.d.ts +19 -0
  98. package/resources/loyalty/currencies.d.ts.map +1 -1
  99. package/resources/loyalty/currencies.js +19 -0
  100. package/resources/loyalty/currencies.js.map +1 -1
  101. package/resources/loyalty/currencies.mjs +19 -0
  102. package/resources/loyalty/currencies.mjs.map +1 -1
  103. package/resources/loyalty/index.d.ts +4 -4
  104. package/resources/loyalty/index.d.ts.map +1 -1
  105. package/resources/loyalty/index.js +5 -5
  106. package/resources/loyalty/index.js.map +1 -1
  107. package/resources/loyalty/index.mjs +3 -3
  108. package/resources/loyalty/index.mjs.map +1 -1
  109. package/resources/loyalty/loyalty.d.ts +11 -11
  110. package/resources/loyalty/loyalty.d.ts.map +1 -1
  111. package/resources/loyalty/loyalty.js +6 -6
  112. package/resources/loyalty/loyalty.js.map +1 -1
  113. package/resources/loyalty/loyalty.mjs +7 -7
  114. package/resources/loyalty/loyalty.mjs.map +1 -1
  115. package/resources/loyalty/multipliers.d.ts +39 -2
  116. package/resources/loyalty/multipliers.d.ts.map +1 -1
  117. package/resources/loyalty/multipliers.js +23 -0
  118. package/resources/loyalty/multipliers.js.map +1 -1
  119. package/resources/loyalty/multipliers.mjs +23 -0
  120. package/resources/loyalty/multipliers.mjs.map +1 -1
  121. package/resources/loyalty/questions-responses.d.ts +55 -4
  122. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  123. package/resources/loyalty/questions-responses.js +9 -0
  124. package/resources/loyalty/questions-responses.js.map +1 -1
  125. package/resources/loyalty/questions-responses.mjs +9 -0
  126. package/resources/loyalty/questions-responses.mjs.map +1 -1
  127. package/resources/loyalty/questions.d.ts +52 -6
  128. package/resources/loyalty/questions.d.ts.map +1 -1
  129. package/resources/loyalty/questions.js +31 -0
  130. package/resources/loyalty/questions.js.map +1 -1
  131. package/resources/loyalty/questions.mjs +31 -0
  132. package/resources/loyalty/questions.mjs.map +1 -1
  133. package/resources/loyalty/rule-edits.d.ts +2646 -8
  134. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  135. package/resources/loyalty/rule-edits.js +14 -0
  136. package/resources/loyalty/rule-edits.js.map +1 -1
  137. package/resources/loyalty/rule-edits.mjs +14 -0
  138. package/resources/loyalty/rule-edits.mjs.map +1 -1
  139. package/resources/loyalty/rule-groups.d.ts +283 -64
  140. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  141. package/resources/loyalty/rule-groups.js +38 -2
  142. package/resources/loyalty/rule-groups.js.map +1 -1
  143. package/resources/loyalty/rule-groups.mjs +38 -2
  144. package/resources/loyalty/rule-groups.mjs.map +1 -1
  145. package/resources/loyalty/rules.d.ts +1930 -269
  146. package/resources/loyalty/rules.d.ts.map +1 -1
  147. package/resources/loyalty/rules.js +40 -9
  148. package/resources/loyalty/rules.js.map +1 -1
  149. package/resources/loyalty/rules.mjs +40 -9
  150. package/resources/loyalty/rules.mjs.map +1 -1
  151. package/resources/loyalty/transactions/index.d.ts +3 -0
  152. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  153. package/resources/loyalty/transactions/index.js +9 -0
  154. package/resources/loyalty/transactions/index.js.map +1 -0
  155. package/resources/loyalty/transactions/index.mjs +4 -0
  156. package/resources/loyalty/transactions/index.mjs.map +1 -0
  157. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  158. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  159. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  160. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  161. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  162. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  163. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  164. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  165. package/resources/loyalty/transactions/transactions.js +76 -0
  166. package/resources/loyalty/transactions/transactions.js.map +1 -0
  167. package/resources/loyalty/transactions/transactions.mjs +49 -0
  168. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  169. package/resources/loyalty/transactions.d.ts +1 -247
  170. package/resources/loyalty/transactions.d.ts.map +1 -1
  171. package/resources/loyalty/transactions.js +15 -18
  172. package/resources/loyalty/transactions.js.map +1 -1
  173. package/resources/loyalty/transactions.mjs +1 -16
  174. package/resources/loyalty/transactions.mjs.map +1 -1
  175. package/resources/minting.d.ts +5 -5
  176. package/resources/minting.d.ts.map +1 -1
  177. package/resources/referral/referral.d.ts +11 -3
  178. package/resources/referral/referral.d.ts.map +1 -1
  179. package/resources/referral/referral.js +11 -5
  180. package/resources/referral/referral.js.map +1 -1
  181. package/resources/referral/referral.mjs +11 -5
  182. package/resources/referral/referral.mjs.map +1 -1
  183. package/resources/referral/users.d.ts +29 -3
  184. package/resources/referral/users.d.ts.map +1 -1
  185. package/resources/referral/users.js +12 -4
  186. package/resources/referral/users.js.map +1 -1
  187. package/resources/referral/users.mjs +12 -4
  188. package/resources/referral/users.mjs.map +1 -1
  189. package/resources/users/index.d.ts +1 -1
  190. package/resources/users/index.d.ts.map +1 -1
  191. package/resources/users/index.js.map +1 -1
  192. package/resources/users/index.mjs.map +1 -1
  193. package/resources/users/metadatas.d.ts +36 -3
  194. package/resources/users/metadatas.d.ts.map +1 -1
  195. package/resources/users/metadatas.js.map +1 -1
  196. package/resources/users/metadatas.mjs.map +1 -1
  197. package/resources/users/users.d.ts +184 -35
  198. package/resources/users/users.d.ts.map +1 -1
  199. package/resources/users/users.js +58 -1
  200. package/resources/users/users.js.map +1 -1
  201. package/resources/users/users.mjs +58 -1
  202. package/resources/users/users.mjs.map +1 -1
  203. package/resources/websites/website-collections.d.ts +22 -1
  204. package/resources/websites/website-collections.d.ts.map +1 -1
  205. package/resources/websites/website-collections.js +21 -0
  206. package/resources/websites/website-collections.js.map +1 -1
  207. package/resources/websites/website-collections.mjs +21 -0
  208. package/resources/websites/website-collections.mjs.map +1 -1
  209. package/resources/websites/website-user-roles.d.ts +24 -1
  210. package/resources/websites/website-user-roles.d.ts.map +1 -1
  211. package/resources/websites/website-user-roles.js +23 -0
  212. package/resources/websites/website-user-roles.js.map +1 -1
  213. package/resources/websites/website-user-roles.mjs +23 -0
  214. package/resources/websites/website-user-roles.mjs.map +1 -1
  215. package/resources/websites/websites.d.ts +12 -0
  216. package/resources/websites/websites.d.ts.map +1 -1
  217. package/resources/websites/websites.js +7 -0
  218. package/resources/websites/websites.js.map +1 -1
  219. package/resources/websites/websites.mjs +7 -0
  220. package/resources/websites/websites.mjs.map +1 -1
  221. package/src/core.ts +39 -16
  222. package/src/index.ts +31 -2
  223. package/src/resource.ts +1 -1
  224. package/src/resources/assets.ts +18 -3
  225. package/src/resources/auctions/auctions.ts +561 -0
  226. package/src/resources/auctions/index.ts +19 -0
  227. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  228. package/src/resources/auctions/website-user-attributes/values.ts +170 -0
  229. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
  230. package/src/resources/auctions/website-user-attributes.ts +3 -0
  231. package/src/resources/auctions.ts +1 -207
  232. package/src/resources/auth.ts +21 -5
  233. package/src/resources/index.ts +12 -1
  234. package/src/resources/loyalty/account-streaks.ts +110 -0
  235. package/src/resources/loyalty/accounts.ts +65 -18
  236. package/src/resources/loyalty/badges.ts +790 -146
  237. package/src/resources/loyalty/currencies.ts +19 -0
  238. package/src/resources/loyalty/index.ts +19 -3
  239. package/src/resources/loyalty/loyalty.ts +39 -15
  240. package/src/resources/loyalty/multipliers.ts +43 -4
  241. package/src/resources/loyalty/questions-responses.ts +64 -4
  242. package/src/resources/loyalty/questions.ts +56 -6
  243. package/src/resources/loyalty/rule-edits.ts +3854 -100
  244. package/src/resources/loyalty/rule-groups.ts +500 -76
  245. package/src/resources/loyalty/rules.ts +3040 -318
  246. package/src/resources/loyalty/transactions/index.ts +18 -0
  247. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  248. package/src/resources/loyalty/transactions/transactions.ts +689 -0
  249. package/src/resources/loyalty/transactions.ts +1 -330
  250. package/src/resources/minting.ts +25 -5
  251. package/src/resources/referral/referral.ts +13 -11
  252. package/src/resources/referral/users.ts +43 -5
  253. package/src/resources/users/index.ts +4 -0
  254. package/src/resources/users/metadatas.ts +61 -3
  255. package/src/resources/users/users.ts +249 -38
  256. package/src/resources/websites/website-collections.ts +42 -1
  257. package/src/resources/websites/website-user-roles.ts +25 -1
  258. package/src/resources/websites/websites.ts +12 -0
  259. package/src/version.ts +1 -1
  260. package/version.d.ts +1 -1
  261. package/version.d.ts.map +1 -1
  262. package/version.js +1 -1
  263. package/version.js.map +1 -1
  264. package/version.mjs +1 -1
  265. package/version.mjs.map +1 -1
  266. package/resources/loyalty/rule-chains.d.ts +0 -34
  267. package/resources/loyalty/rule-chains.d.ts.map +0 -1
  268. package/resources/loyalty/rule-chains.js +0 -15
  269. package/resources/loyalty/rule-chains.js.map +0 -1
  270. package/resources/loyalty/rule-chains.mjs +0 -11
  271. package/resources/loyalty/rule-chains.mjs.map +0 -1
  272. package/src/resources/loyalty/rule-chains.ts +0 -45
@@ -3,34 +3,92 @@ import * as Core from "../../core.js";
3
3
  export declare class Rules extends APIResource {
4
4
  /**
5
5
  * Create a new Loyalty Rule
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const rule = await client.loyalty.rules.create({
10
+ * amount: '10.5',
11
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
12
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
13
+ * endTime: '2024-12-31T23:59:00Z',
14
+ * frequency: 'daily',
15
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
16
+ * metadata: {},
17
+ * name: 'Referral Bonus Rule',
18
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
19
+ * startTime: '2024-01-01T00:00:00Z',
20
+ * type: 'Bonus',
21
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
22
+ * });
23
+ * ```
6
24
  */
7
25
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
8
26
  /**
9
27
  * Update an existing Loyalty Rule
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const rule = await client.loyalty.rules.update(
32
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
33
+ * {
34
+ * amount: '10.5',
35
+ * endTime: '2024-12-31T23:59:00Z',
36
+ * name: 'Daily Rewards Program',
37
+ * },
38
+ * );
39
+ * ```
10
40
  */
11
41
  update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
12
42
  /**
13
43
  * Retrieve configured loyalty rules with optional pagination and filters
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const rules = await client.loyalty.rules.list();
48
+ * ```
14
49
  */
15
50
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
16
51
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
17
52
  /**
18
53
  * Delete an existing Loyalty Rule
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const rule = await client.loyalty.rules.delete(
58
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
+ * );
60
+ * ```
19
61
  */
62
+ delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
20
63
  delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
21
64
  /**
22
65
  * Verify a loyalty rule based on user action and reward them if applicable. This
23
66
  * endpoint currently only supports following rule types code_entry, text_input,
24
67
  * link_click, discord_member, connect_wallet, check_in, external_rule,
25
68
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
26
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
69
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
70
+ * youtube_subscribers, youtube_comment, steam_wishlist, discord_role_grant
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const response = await client.loyalty.rules.complete(
75
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
76
+ * );
77
+ * ```
27
78
  */
28
79
  complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
29
80
  complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
30
81
  /**
31
- * This will return the processing status of quests for a specific user
82
+ * This will return the processing status of quests for a specific user and also
83
+ * the progress of the loyalty rule
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const response = await client.loyalty.rules.getStatus();
88
+ * ```
32
89
  */
33
- getStatus(query: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
90
+ getStatus(query?: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
91
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
34
92
  }
35
93
  export interface RuleCreateResponse {
36
94
  id: string;
@@ -77,7 +135,7 @@ export interface RuleCreateResponse {
77
135
  /**
78
136
  * Type of loyalty rule being created
79
137
  */
80
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
138
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'discord_role_grant';
81
139
  /**
82
140
  * Unique identifier for the associated website
83
141
  */
@@ -86,6 +144,10 @@ export interface RuleCreateResponse {
86
144
  * URL of the background asset to be displayed
87
145
  */
88
146
  backgroundAssetUrl?: string;
147
+ /**
148
+ * The type of claim for the reward
149
+ */
150
+ claimType?: 'manual' | 'auto' | null;
89
151
  /**
90
152
  * Blockchain address of the associated collection
91
153
  */
@@ -106,6 +168,15 @@ export interface RuleCreateResponse {
106
168
  * Optional detailed description of the rule
107
169
  */
108
170
  description?: string;
171
+ duplicatedFromId?: string | null;
172
+ /**
173
+ * ID of the external integration
174
+ */
175
+ externalIntegrationId?: string | null;
176
+ /**
177
+ * Optional stratus function id for the rule
178
+ */
179
+ functionId?: string | null;
109
180
  /**
110
181
  * Whether to hide this rule in the user interface
111
182
  */
@@ -113,15 +184,33 @@ export interface RuleCreateResponse {
113
184
  /**
114
185
  * Interval between rule executions
115
186
  */
116
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
187
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
117
188
  /**
118
189
  * Whether this rule is mandatory
119
190
  */
120
191
  isRequired?: boolean;
192
+ /**
193
+ * Unique identifier for the loyalty badge
194
+ */
195
+ loyaltyBadgeId?: string | null;
121
196
  /**
122
197
  * Unique identifier for the loyalty rule group
123
198
  */
124
199
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
200
+ /**
201
+ * URL for uploading loyalty user allotment via CSV
202
+ */
203
+ loyaltyUserAllotmentCsvUrl?: string;
204
+ /**
205
+ * The interval for the max amount. Available for the smart contract and external
206
+ * rules.
207
+ */
208
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
209
+ /**
210
+ * The maximum amount of points a user can earn per interval. Available for the
211
+ * smart contract and external rules.
212
+ */
213
+ maxAmountPerInterval?: number | null;
125
214
  /**
126
215
  * URL of the media to be displayed
127
216
  */
@@ -129,25 +218,41 @@ export interface RuleCreateResponse {
129
218
  /**
130
219
  * Blockchain network where the rule will apply
131
220
  */
132
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
221
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
133
222
  /**
134
223
  * OAuth credentials associated with the rule
135
224
  */
136
225
  oauthCredentialsId?: string | null;
226
+ /**
227
+ * The lifetime of the reward
228
+ */
229
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
137
230
  /**
138
231
  * Type of reward issued by the rule
139
232
  */
140
- rewardType?: 'points' | 'multiplier';
233
+ rewardType?: 'points' | 'multiplier' | 'badge';
141
234
  /**
142
- * Identifier for associated subscriptions
235
+ * URL of the Shopify store
143
236
  */
144
- subscriptionIdentifier?: string | null;
237
+ shopifyStoreUrl?: string | null;
238
+ /**
239
+ * Whether to show this rule before the start time
240
+ */
241
+ showBeforeStart?: boolean;
242
+ /**
243
+ * Optional stratus subscription id for the rule
244
+ */
245
+ subscriptionId?: string | null;
145
246
  }
146
247
  export declare namespace RuleCreateResponse {
147
248
  /**
148
249
  * Additional metadata for the loyalty rule
149
250
  */
150
251
  interface Metadata {
252
+ /**
253
+ * Number of tokens per batch.
254
+ */
255
+ batchSize?: number | null;
151
256
  /**
152
257
  * Text displayed on the action button.
153
258
  */
@@ -167,7 +272,7 @@ export declare namespace RuleCreateResponse {
167
272
  /**
168
273
  * Text to check in the Twitter post, username, or bio.
169
274
  */
170
- checkText?: string | null;
275
+ checkText?: string | Array<string> | null;
171
276
  /**
172
277
  * Array of collections associated with the rule.
173
278
  */
@@ -175,7 +280,13 @@ export declare namespace RuleCreateResponse {
175
280
  /**
176
281
  * Conditions for completing the profile.
177
282
  */
178
- completeProfileConditions?: Record<string, boolean> | null;
283
+ completeProfileConditions?: {
284
+ [key: string]: boolean;
285
+ } | null;
286
+ /**
287
+ * Description of the external rule condition (only for external rules)
288
+ */
289
+ conditionDescription?: string;
179
290
  /**
180
291
  * Object containing details for the call-to-action.
181
292
  */
@@ -184,6 +295,10 @@ export declare namespace RuleCreateResponse {
184
295
  * API key for custom rewards integration.
185
296
  */
186
297
  customRewardsApiKey?: string;
298
+ /**
299
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
300
+ */
301
+ directRpc?: boolean;
187
302
  /**
188
303
  * Array of Discord servers, channels, and roles to join.
189
304
  */
@@ -204,6 +319,10 @@ export declare namespace RuleCreateResponse {
204
319
  * Flag indicating whether the verified multiplier is enabled.
205
320
  */
206
321
  enableVerifiedMultiplier?: boolean;
322
+ /**
323
+ * Type of ERC20 token for the loyalty rule.
324
+ */
325
+ erc20Type?: 'erc20' | 'native';
207
326
  /**
208
327
  * Fill source of the order for the token sale
209
328
  */
@@ -212,6 +331,10 @@ export declare namespace RuleCreateResponse {
212
331
  * Percentage reward given to a user for their first referral.
213
332
  */
214
333
  firstReferralReward?: number | null;
334
+ /**
335
+ * URL of the GitHub repository to check for star.
336
+ */
337
+ githubRepoUrl?: string | null;
215
338
  /**
216
339
  * Flag indicating whether the fill source is included.
217
340
  */
@@ -220,10 +343,6 @@ export declare namespace RuleCreateResponse {
220
343
  * Indicates if the item has never been sold.
221
344
  */
222
345
  hasNeverSold?: boolean;
223
- /**
224
- * Flag indicating whether the order source is included.
225
- */
226
- hasOrderSource?: boolean;
227
346
  /**
228
347
  * Indicates if the full royalty has been paid for items.
229
348
  */
@@ -240,10 +359,18 @@ export declare namespace RuleCreateResponse {
240
359
  * URL of the image associated with the rule.
241
360
  */
242
361
  imageUrl?: string | null;
362
+ /**
363
+ * If enabled, the first transaction done on the platform will complete this rule
364
+ */
365
+ isCheckInOnEveryTxn?: boolean;
243
366
  /**
244
367
  * Indicates if the multiplier has been applied to rewards.
245
368
  */
246
369
  isMultiplierApplied?: boolean;
370
+ /**
371
+ * Flag indicating if the rule is restricted to new users.
372
+ */
373
+ isRestrictedToNewUsers?: boolean;
247
374
  /**
248
375
  * Flag indicating if rewards are applied retroactively.
249
376
  */
@@ -256,6 +383,10 @@ export declare namespace RuleCreateResponse {
256
383
  * Optional link associated with the metadata.
257
384
  */
258
385
  link?: string | null;
386
+ /**
387
+ * Liquidity pool details.
388
+ */
389
+ liquidity?: Metadata.Liquidity;
259
390
  /**
260
391
  * Maximum quantity constraint for token holding.
261
392
  */
@@ -288,14 +419,22 @@ export declare namespace RuleCreateResponse {
288
419
  * give points for only one token ownership per contract
289
420
  */
290
421
  onlyRewardSingleTokenOwnership?: boolean | null;
291
- /**
292
- * Order source of the order for the token sale
293
- */
294
- orderSource?: string;
295
422
  /**
296
423
  * Promotional code associated with the rule.
297
424
  */
298
425
  promoCode?: string;
426
+ /**
427
+ * URL of the CSV file containing promo codes.
428
+ */
429
+ promoCodeCsvUrl?: string;
430
+ /**
431
+ * Numbers of the promotional code to be generated.
432
+ */
433
+ promoCodeLength?: number | null;
434
+ /**
435
+ * Type of the promotional code.
436
+ */
437
+ promoCodeType?: 'code' | 'csv' | 'generate';
299
438
  /**
300
439
  * Array defining ranges and corresponding rewards.
301
440
  */
@@ -308,10 +447,51 @@ export declare namespace RuleCreateResponse {
308
447
  * Lump sum reward given to a referrer.
309
448
  */
310
449
  referrerReward?: number | null;
450
+ /**
451
+ * Loyalty currency ID of the referrer reward.
452
+ */
453
+ referrerRewardLoyaltyCurrencyId?: string | null;
454
+ /**
455
+ * Flag indicating if the post link is required.
456
+ */
457
+ requirePostLink?: boolean | null;
458
+ /**
459
+ * Flag indicating if media metadata is required.
460
+ */
461
+ requirePostMediaLink?: boolean | null;
462
+ /**
463
+ * Flag indicating if the rule can also reward badges per range.
464
+ */
465
+ rewardBadgePerRange?: boolean;
466
+ /**
467
+ * Flag indicating if the reward is rewarded by batch.
468
+ */
469
+ rewardByBatch?: boolean | null;
470
+ /**
471
+ * Criteria to evaluate the reward.
472
+ */
473
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
474
+ /**
475
+ * Flag indicating if the reward is rewarded per action.
476
+ */
477
+ rewardPerAction?: boolean | null;
311
478
  /**
312
479
  * Flag indicating if rewards are given per impression.
313
480
  */
314
481
  rewardPerImpression?: boolean | null;
482
+ /**
483
+ * Flag indicating if the rule should reward based on value of traded tokens
484
+ * instead of count.
485
+ */
486
+ rewardPerValue?: boolean;
487
+ /**
488
+ * Wallet address of the user can only be used if userId is not provided
489
+ */
490
+ royaltyAddress?: string;
491
+ /**
492
+ * Royalty percentage of the item.
493
+ */
494
+ royaltyPercentage?: number;
315
495
  /**
316
496
  * Currency associated with sales.
317
497
  */
@@ -335,7 +515,7 @@ export declare namespace RuleCreateResponse {
335
515
  /**
336
516
  * Social media platform associated with the rule.
337
517
  */
338
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
518
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | null;
339
519
  /**
340
520
  * URL of the social platform's logo.
341
521
  */
@@ -344,10 +524,18 @@ export declare namespace RuleCreateResponse {
344
524
  * Name of the social platform.
345
525
  */
346
526
  socialPlatformName?: string | null;
527
+ /**
528
+ * ID of the Steam app.
529
+ */
530
+ steamAppId?: string | null;
347
531
  /**
348
532
  * Array of streak milestones and corresponding rewards.
349
533
  */
350
534
  streakArray?: Array<Metadata.StreakArray> | null;
535
+ /**
536
+ * Metadata for swap loyalty rules
537
+ */
538
+ swap?: Metadata.Swap;
351
539
  /**
352
540
  * ID of the Telegram channel.
353
541
  */
@@ -360,6 +548,11 @@ export declare namespace RuleCreateResponse {
360
548
  * Flag indicating if all contracts are tracked.
361
549
  */
362
550
  trackAllContracts?: boolean | null;
551
+ /**
552
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
553
+ * completed once the progress is 100%.
554
+ */
555
+ trackProgress?: boolean | null;
363
556
  /**
364
557
  * URL of the associated Twitter account.
365
558
  */
@@ -395,7 +588,15 @@ export declare namespace RuleCreateResponse {
395
588
  /**
396
589
  * Type of wallet associated with the rule.
397
590
  */
398
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
591
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
592
+ /**
593
+ * ID of the Youtube channel.
594
+ */
595
+ youtubeChannelId?: string | null;
596
+ /**
597
+ * ID of the Youtube video.
598
+ */
599
+ youtubeVideoId?: string | null;
399
600
  }
400
601
  namespace Metadata {
401
602
  interface Collection {
@@ -410,7 +611,7 @@ export declare namespace RuleCreateResponse {
410
611
  /**
411
612
  * Blockchain network of the collection.
412
613
  */
413
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
614
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
414
615
  }
415
616
  /**
416
617
  * Object containing details for the call-to-action.
@@ -475,6 +676,49 @@ export declare namespace RuleCreateResponse {
475
676
  */
476
677
  id: string;
477
678
  }
679
+ /**
680
+ * Liquidity pool details.
681
+ */
682
+ interface Liquidity {
683
+ /**
684
+ * Calculation type of the liquidity pool.
685
+ */
686
+ calculationType?: 'fixed' | 'custom';
687
+ /**
688
+ * Custom function to calculate the the reward amount based on the liquidity
689
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
690
+ * USD.
691
+ */
692
+ customFunction?: string;
693
+ /**
694
+ * Liquidity provided per day in USD
695
+ */
696
+ liquidityPerDay?: number;
697
+ /**
698
+ * Blockchain network of the liquidity pool.
699
+ */
700
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
701
+ /**
702
+ * Indicates if only in-range liquidity is rewarded.
703
+ */
704
+ onlyRewardInRangeLiquidity?: boolean;
705
+ /**
706
+ * Array of liquidity pools associated with the rule.
707
+ */
708
+ pools?: Array<Liquidity.Pool>;
709
+ /**
710
+ * Protocol of the liquidity pool.
711
+ */
712
+ protocol?: string;
713
+ }
714
+ namespace Liquidity {
715
+ interface Pool {
716
+ /**
717
+ * Unique identifier of the liquidity pool.
718
+ */
719
+ id: string;
720
+ }
721
+ }
478
722
  interface Range {
479
723
  /**
480
724
  * Reward amount for this range.
@@ -488,6 +732,14 @@ export declare namespace RuleCreateResponse {
488
732
  * Start value of the range.
489
733
  */
490
734
  startRange: number;
735
+ /**
736
+ * ID of the loyalty badge for this range.
737
+ */
738
+ loyaltyBadgeId?: string;
739
+ /**
740
+ * Amount of the loyalty multiplier for this range.
741
+ */
742
+ loyaltyMultiplierAmount?: number;
491
743
  }
492
744
  /**
493
745
  * Object defining referral requirements.
@@ -531,18 +783,14 @@ export declare namespace RuleCreateResponse {
531
783
  * Object containing details of the associated smart contract.
532
784
  */
533
785
  interface SmartContract {
534
- /**
535
- * ABI of the smart contract.
536
- */
537
- abi?: string | null;
538
786
  /**
539
787
  * Mapping of addresses for the smart contract.
540
788
  */
541
789
  addressMapping?: string | null;
542
790
  /**
543
- * Array of bonus details applied to the rule.
791
+ * Object containing details of the amount multiplier from the event.
544
792
  */
545
- bonus?: Array<SmartContract.Bonus> | null;
793
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
546
794
  /**
547
795
  * ID of the smart contract.
548
796
  */
@@ -551,58 +799,28 @@ export declare namespace RuleCreateResponse {
551
799
  * Criteria to evaluate the smart contract event.
552
800
  */
553
801
  criteria?: 'everyEvent' | 'byParameter' | null;
554
- /**
555
- * Time range applied to the rule.
556
- */
557
- customRange?: SmartContract.CustomRange | null;
558
802
  /**
559
803
  * Event emitted by the smart contract.
560
804
  */
561
805
  event?: string | null;
562
- /**
563
- * Maximum value allowed for the parameter.
564
- */
565
- max?: number | null;
566
806
  /**
567
807
  * Array of parameters for the smart contract.
568
808
  */
569
809
  params?: Array<SmartContract.Param> | null;
570
810
  /**
571
- * Flag indicating if a bonus is applied.
572
- */
573
- withBonus?: boolean | null;
574
- /**
575
- * Flag indicating if a custom range is applied.
576
- */
577
- withCustomRange?: boolean | null;
578
- /**
579
- * Flag indicating if a maximum limit is applied.
811
+ * Type of the smart contract interaction.
580
812
  */
581
- withMax?: boolean | null;
813
+ type?: 'function' | 'event' | null;
582
814
  }
583
815
  namespace SmartContract {
584
- interface Bonus {
585
- /**
586
- * Amount of the bonus.
587
- */
588
- amount?: number | null;
589
- /**
590
- * Number of times the bonus is applied.
591
- */
592
- count?: number | null;
593
- }
594
816
  /**
595
- * Time range applied to the rule.
817
+ * Object containing details of the amount multiplier from the event.
596
818
  */
597
- interface CustomRange {
598
- /**
599
- * End time of the custom range.
600
- */
601
- endsAt?: string | null;
819
+ interface AmountMultiplier {
602
820
  /**
603
- * Start time of the custom range.
821
+ * Mapping of the value for the smart contract.
604
822
  */
605
- startsAt?: string | null;
823
+ valueMapping?: string | null;
606
824
  }
607
825
  interface Param {
608
826
  /**
@@ -639,6 +857,24 @@ export declare namespace RuleCreateResponse {
639
857
  */
640
858
  streakMilestone: number;
641
859
  }
860
+ /**
861
+ * Metadata for swap loyalty rules
862
+ */
863
+ interface Swap {
864
+ provider?: 'any' | 'relay' | 'lifi';
865
+ relayReferrerId?: string;
866
+ requireCrossChainSwap?: boolean;
867
+ swappedToChain?: 'any' | number | string;
868
+ swappedToTokens?: Array<Swap.SwappedToToken>;
869
+ tokenMode?: 'any' | 'specific';
870
+ trackTokenAmount?: boolean;
871
+ }
872
+ namespace Swap {
873
+ interface SwappedToToken {
874
+ address: string;
875
+ chainId: string;
876
+ }
877
+ }
642
878
  }
643
879
  interface Collection {
644
880
  /**
@@ -648,7 +884,11 @@ export declare namespace RuleCreateResponse {
648
884
  /**
649
885
  * Blockchain network for the collection
650
886
  */
651
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
887
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
888
+ /**
889
+ * Symbol of the collection.
890
+ */
891
+ symbol?: string;
652
892
  }
653
893
  }
654
894
  export interface RuleUpdateResponse {
@@ -665,10 +905,14 @@ export interface RuleUpdateResponse {
665
905
  * Name of the loyalty rule
666
906
  */
667
907
  name: string;
908
+ /**
909
+ * The type of claim for the reward
910
+ */
911
+ claimType?: 'manual' | 'auto' | null;
668
912
  /**
669
913
  * Blockchain address of the associated collection
670
914
  */
671
- collectionAddress?: string;
915
+ collectionAddress?: string | null;
672
916
  /**
673
917
  * List of associated collections
674
918
  */
@@ -693,10 +937,18 @@ export interface RuleUpdateResponse {
693
937
  * Effective start time of the rule
694
938
  */
695
939
  effectiveStartTime?: string | null;
940
+ /**
941
+ * ID of the external integration
942
+ */
943
+ externalIntegrationId?: string | null;
696
944
  /**
697
945
  * Frequency of the rule execution
698
946
  */
699
947
  frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
948
+ /**
949
+ * Optional stratus function id for the rule
950
+ */
951
+ functionId?: string | null;
700
952
  /**
701
953
  * Whether to hide this rule in the user interface
702
954
  */
@@ -704,7 +956,7 @@ export interface RuleUpdateResponse {
704
956
  /**
705
957
  * Time interval for recurring rule execution
706
958
  */
707
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
959
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
708
960
  /**
709
961
  * Whether this rule is required for participation
710
962
  */
@@ -713,6 +965,16 @@ export interface RuleUpdateResponse {
713
965
  * ID of the rule group section to associate with the rule
714
966
  */
715
967
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
968
+ /**
969
+ * The interval for the max amount. Available for the smart contract and external
970
+ * rules.
971
+ */
972
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
973
+ /**
974
+ * The maximum amount of points a user can earn per interval. Available for the
975
+ * smart contract and external rules.
976
+ */
977
+ maxAmountPerInterval?: number | null;
716
978
  /**
717
979
  * URL of the media to be displayed
718
980
  */
@@ -724,23 +986,35 @@ export interface RuleUpdateResponse {
724
986
  /**
725
987
  * Blockchain network where the rule will apply
726
988
  */
727
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
989
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
728
990
  /**
729
991
  * ID for associated OAuth credentials
730
992
  */
731
993
  oauthCredentialsId?: string | null;
994
+ /**
995
+ * The lifetime of the reward
996
+ */
997
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
732
998
  /**
733
999
  * Type of reward issued by this rule
734
1000
  */
735
- rewardType?: 'points' | 'multiplier';
1001
+ rewardType?: 'points' | 'multiplier' | 'badge';
1002
+ /**
1003
+ * URL of the Shopify store
1004
+ */
1005
+ shopifyStoreUrl?: string | null;
1006
+ /**
1007
+ * Whether to show this rule before the start time
1008
+ */
1009
+ showBeforeStart?: boolean;
736
1010
  /**
737
1011
  * Start time for the loyalty rule
738
1012
  */
739
1013
  startTime?: string | null;
740
1014
  /**
741
- * Optional subscription identifier for the rule
1015
+ * Optional stratus subscription id for the rule
742
1016
  */
743
- subscriptionIdentifier?: string | null;
1017
+ subscriptionId?: string | null;
744
1018
  }
745
1019
  export declare namespace RuleUpdateResponse {
746
1020
  interface Collection {
@@ -751,12 +1025,20 @@ export declare namespace RuleUpdateResponse {
751
1025
  /**
752
1026
  * Blockchain network for the collection
753
1027
  */
754
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
1028
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1029
+ /**
1030
+ * Symbol of the collection.
1031
+ */
1032
+ symbol?: string;
755
1033
  }
756
1034
  /**
757
1035
  * Additional metadata for the loyalty rule
758
1036
  */
759
1037
  interface Metadata {
1038
+ /**
1039
+ * Number of tokens per batch.
1040
+ */
1041
+ batchSize?: number | null;
760
1042
  /**
761
1043
  * Text displayed on the action button.
762
1044
  */
@@ -776,7 +1058,7 @@ export declare namespace RuleUpdateResponse {
776
1058
  /**
777
1059
  * Text to check in the Twitter post, username, or bio.
778
1060
  */
779
- checkText?: string | null;
1061
+ checkText?: string | Array<string> | null;
780
1062
  /**
781
1063
  * Array of collections associated with the rule.
782
1064
  */
@@ -784,7 +1066,13 @@ export declare namespace RuleUpdateResponse {
784
1066
  /**
785
1067
  * Conditions for completing the profile.
786
1068
  */
787
- completeProfileConditions?: Record<string, boolean> | null;
1069
+ completeProfileConditions?: {
1070
+ [key: string]: boolean;
1071
+ } | null;
1072
+ /**
1073
+ * Description of the external rule condition (only for external rules)
1074
+ */
1075
+ conditionDescription?: string;
788
1076
  /**
789
1077
  * Object containing details for the call-to-action.
790
1078
  */
@@ -793,6 +1081,10 @@ export declare namespace RuleUpdateResponse {
793
1081
  * API key for custom rewards integration.
794
1082
  */
795
1083
  customRewardsApiKey?: string;
1084
+ /**
1085
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1086
+ */
1087
+ directRpc?: boolean;
796
1088
  /**
797
1089
  * Array of Discord servers, channels, and roles to join.
798
1090
  */
@@ -813,6 +1105,10 @@ export declare namespace RuleUpdateResponse {
813
1105
  * Flag indicating whether the verified multiplier is enabled.
814
1106
  */
815
1107
  enableVerifiedMultiplier?: boolean;
1108
+ /**
1109
+ * Type of ERC20 token for the loyalty rule.
1110
+ */
1111
+ erc20Type?: 'erc20' | 'native';
816
1112
  /**
817
1113
  * Fill source of the order for the token sale
818
1114
  */
@@ -821,6 +1117,10 @@ export declare namespace RuleUpdateResponse {
821
1117
  * Percentage reward given to a user for their first referral.
822
1118
  */
823
1119
  firstReferralReward?: number | null;
1120
+ /**
1121
+ * URL of the GitHub repository to check for star.
1122
+ */
1123
+ githubRepoUrl?: string | null;
824
1124
  /**
825
1125
  * Flag indicating whether the fill source is included.
826
1126
  */
@@ -829,10 +1129,6 @@ export declare namespace RuleUpdateResponse {
829
1129
  * Indicates if the item has never been sold.
830
1130
  */
831
1131
  hasNeverSold?: boolean;
832
- /**
833
- * Flag indicating whether the order source is included.
834
- */
835
- hasOrderSource?: boolean;
836
1132
  /**
837
1133
  * Indicates if the full royalty has been paid for items.
838
1134
  */
@@ -849,10 +1145,18 @@ export declare namespace RuleUpdateResponse {
849
1145
  * URL of the image associated with the rule.
850
1146
  */
851
1147
  imageUrl?: string | null;
1148
+ /**
1149
+ * If enabled, the first transaction done on the platform will complete this rule
1150
+ */
1151
+ isCheckInOnEveryTxn?: boolean;
852
1152
  /**
853
1153
  * Indicates if the multiplier has been applied to rewards.
854
1154
  */
855
1155
  isMultiplierApplied?: boolean;
1156
+ /**
1157
+ * Flag indicating if the rule is restricted to new users.
1158
+ */
1159
+ isRestrictedToNewUsers?: boolean;
856
1160
  /**
857
1161
  * Flag indicating if rewards are applied retroactively.
858
1162
  */
@@ -865,6 +1169,10 @@ export declare namespace RuleUpdateResponse {
865
1169
  * Optional link associated with the metadata.
866
1170
  */
867
1171
  link?: string | null;
1172
+ /**
1173
+ * Liquidity pool details.
1174
+ */
1175
+ liquidity?: Metadata.Liquidity;
868
1176
  /**
869
1177
  * Maximum quantity constraint for token holding.
870
1178
  */
@@ -897,14 +1205,22 @@ export declare namespace RuleUpdateResponse {
897
1205
  * give points for only one token ownership per contract
898
1206
  */
899
1207
  onlyRewardSingleTokenOwnership?: boolean | null;
900
- /**
901
- * Order source of the order for the token sale
902
- */
903
- orderSource?: string;
904
1208
  /**
905
1209
  * Promotional code associated with the rule.
906
1210
  */
907
1211
  promoCode?: string;
1212
+ /**
1213
+ * URL of the CSV file containing promo codes.
1214
+ */
1215
+ promoCodeCsvUrl?: string;
1216
+ /**
1217
+ * Numbers of the promotional code to be generated.
1218
+ */
1219
+ promoCodeLength?: number | null;
1220
+ /**
1221
+ * Type of the promotional code.
1222
+ */
1223
+ promoCodeType?: 'code' | 'csv' | 'generate';
908
1224
  /**
909
1225
  * Array defining ranges and corresponding rewards.
910
1226
  */
@@ -917,10 +1233,51 @@ export declare namespace RuleUpdateResponse {
917
1233
  * Lump sum reward given to a referrer.
918
1234
  */
919
1235
  referrerReward?: number | null;
1236
+ /**
1237
+ * Loyalty currency ID of the referrer reward.
1238
+ */
1239
+ referrerRewardLoyaltyCurrencyId?: string | null;
1240
+ /**
1241
+ * Flag indicating if the post link is required.
1242
+ */
1243
+ requirePostLink?: boolean | null;
1244
+ /**
1245
+ * Flag indicating if media metadata is required.
1246
+ */
1247
+ requirePostMediaLink?: boolean | null;
1248
+ /**
1249
+ * Flag indicating if the rule can also reward badges per range.
1250
+ */
1251
+ rewardBadgePerRange?: boolean;
1252
+ /**
1253
+ * Flag indicating if the reward is rewarded by batch.
1254
+ */
1255
+ rewardByBatch?: boolean | null;
1256
+ /**
1257
+ * Criteria to evaluate the reward.
1258
+ */
1259
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1260
+ /**
1261
+ * Flag indicating if the reward is rewarded per action.
1262
+ */
1263
+ rewardPerAction?: boolean | null;
920
1264
  /**
921
1265
  * Flag indicating if rewards are given per impression.
922
1266
  */
923
1267
  rewardPerImpression?: boolean | null;
1268
+ /**
1269
+ * Flag indicating if the rule should reward based on value of traded tokens
1270
+ * instead of count.
1271
+ */
1272
+ rewardPerValue?: boolean;
1273
+ /**
1274
+ * Wallet address of the user can only be used if userId is not provided
1275
+ */
1276
+ royaltyAddress?: string;
1277
+ /**
1278
+ * Royalty percentage of the item.
1279
+ */
1280
+ royaltyPercentage?: number;
924
1281
  /**
925
1282
  * Currency associated with sales.
926
1283
  */
@@ -944,7 +1301,7 @@ export declare namespace RuleUpdateResponse {
944
1301
  /**
945
1302
  * Social media platform associated with the rule.
946
1303
  */
947
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
1304
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | null;
948
1305
  /**
949
1306
  * URL of the social platform's logo.
950
1307
  */
@@ -953,10 +1310,18 @@ export declare namespace RuleUpdateResponse {
953
1310
  * Name of the social platform.
954
1311
  */
955
1312
  socialPlatformName?: string | null;
1313
+ /**
1314
+ * ID of the Steam app.
1315
+ */
1316
+ steamAppId?: string | null;
956
1317
  /**
957
1318
  * Array of streak milestones and corresponding rewards.
958
1319
  */
959
1320
  streakArray?: Array<Metadata.StreakArray> | null;
1321
+ /**
1322
+ * Metadata for swap loyalty rules
1323
+ */
1324
+ swap?: Metadata.Swap;
960
1325
  /**
961
1326
  * ID of the Telegram channel.
962
1327
  */
@@ -969,6 +1334,11 @@ export declare namespace RuleUpdateResponse {
969
1334
  * Flag indicating if all contracts are tracked.
970
1335
  */
971
1336
  trackAllContracts?: boolean | null;
1337
+ /**
1338
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1339
+ * completed once the progress is 100%.
1340
+ */
1341
+ trackProgress?: boolean | null;
972
1342
  /**
973
1343
  * URL of the associated Twitter account.
974
1344
  */
@@ -1004,7 +1374,15 @@ export declare namespace RuleUpdateResponse {
1004
1374
  /**
1005
1375
  * Type of wallet associated with the rule.
1006
1376
  */
1007
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1377
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
1378
+ /**
1379
+ * ID of the Youtube channel.
1380
+ */
1381
+ youtubeChannelId?: string | null;
1382
+ /**
1383
+ * ID of the Youtube video.
1384
+ */
1385
+ youtubeVideoId?: string | null;
1008
1386
  }
1009
1387
  namespace Metadata {
1010
1388
  interface Collection {
@@ -1019,7 +1397,7 @@ export declare namespace RuleUpdateResponse {
1019
1397
  /**
1020
1398
  * Blockchain network of the collection.
1021
1399
  */
1022
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
1400
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1023
1401
  }
1024
1402
  /**
1025
1403
  * Object containing details for the call-to-action.
@@ -1084,6 +1462,49 @@ export declare namespace RuleUpdateResponse {
1084
1462
  */
1085
1463
  id: string;
1086
1464
  }
1465
+ /**
1466
+ * Liquidity pool details.
1467
+ */
1468
+ interface Liquidity {
1469
+ /**
1470
+ * Calculation type of the liquidity pool.
1471
+ */
1472
+ calculationType?: 'fixed' | 'custom';
1473
+ /**
1474
+ * Custom function to calculate the the reward amount based on the liquidity
1475
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1476
+ * USD.
1477
+ */
1478
+ customFunction?: string;
1479
+ /**
1480
+ * Liquidity provided per day in USD
1481
+ */
1482
+ liquidityPerDay?: number;
1483
+ /**
1484
+ * Blockchain network of the liquidity pool.
1485
+ */
1486
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1487
+ /**
1488
+ * Indicates if only in-range liquidity is rewarded.
1489
+ */
1490
+ onlyRewardInRangeLiquidity?: boolean;
1491
+ /**
1492
+ * Array of liquidity pools associated with the rule.
1493
+ */
1494
+ pools?: Array<Liquidity.Pool>;
1495
+ /**
1496
+ * Protocol of the liquidity pool.
1497
+ */
1498
+ protocol?: string;
1499
+ }
1500
+ namespace Liquidity {
1501
+ interface Pool {
1502
+ /**
1503
+ * Unique identifier of the liquidity pool.
1504
+ */
1505
+ id: string;
1506
+ }
1507
+ }
1087
1508
  interface Range {
1088
1509
  /**
1089
1510
  * Reward amount for this range.
@@ -1097,6 +1518,14 @@ export declare namespace RuleUpdateResponse {
1097
1518
  * Start value of the range.
1098
1519
  */
1099
1520
  startRange: number;
1521
+ /**
1522
+ * ID of the loyalty badge for this range.
1523
+ */
1524
+ loyaltyBadgeId?: string;
1525
+ /**
1526
+ * Amount of the loyalty multiplier for this range.
1527
+ */
1528
+ loyaltyMultiplierAmount?: number;
1100
1529
  }
1101
1530
  /**
1102
1531
  * Object defining referral requirements.
@@ -1140,18 +1569,14 @@ export declare namespace RuleUpdateResponse {
1140
1569
  * Object containing details of the associated smart contract.
1141
1570
  */
1142
1571
  interface SmartContract {
1143
- /**
1144
- * ABI of the smart contract.
1145
- */
1146
- abi?: string | null;
1147
1572
  /**
1148
1573
  * Mapping of addresses for the smart contract.
1149
1574
  */
1150
1575
  addressMapping?: string | null;
1151
1576
  /**
1152
- * Array of bonus details applied to the rule.
1577
+ * Object containing details of the amount multiplier from the event.
1153
1578
  */
1154
- bonus?: Array<SmartContract.Bonus> | null;
1579
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1155
1580
  /**
1156
1581
  * ID of the smart contract.
1157
1582
  */
@@ -1160,58 +1585,28 @@ export declare namespace RuleUpdateResponse {
1160
1585
  * Criteria to evaluate the smart contract event.
1161
1586
  */
1162
1587
  criteria?: 'everyEvent' | 'byParameter' | null;
1163
- /**
1164
- * Time range applied to the rule.
1165
- */
1166
- customRange?: SmartContract.CustomRange | null;
1167
1588
  /**
1168
1589
  * Event emitted by the smart contract.
1169
1590
  */
1170
1591
  event?: string | null;
1171
- /**
1172
- * Maximum value allowed for the parameter.
1173
- */
1174
- max?: number | null;
1175
1592
  /**
1176
1593
  * Array of parameters for the smart contract.
1177
1594
  */
1178
1595
  params?: Array<SmartContract.Param> | null;
1179
1596
  /**
1180
- * Flag indicating if a bonus is applied.
1181
- */
1182
- withBonus?: boolean | null;
1183
- /**
1184
- * Flag indicating if a custom range is applied.
1597
+ * Type of the smart contract interaction.
1185
1598
  */
1186
- withCustomRange?: boolean | null;
1187
- /**
1188
- * Flag indicating if a maximum limit is applied.
1189
- */
1190
- withMax?: boolean | null;
1599
+ type?: 'function' | 'event' | null;
1191
1600
  }
1192
1601
  namespace SmartContract {
1193
- interface Bonus {
1194
- /**
1195
- * Amount of the bonus.
1196
- */
1197
- amount?: number | null;
1198
- /**
1199
- * Number of times the bonus is applied.
1200
- */
1201
- count?: number | null;
1202
- }
1203
1602
  /**
1204
- * Time range applied to the rule.
1603
+ * Object containing details of the amount multiplier from the event.
1205
1604
  */
1206
- interface CustomRange {
1605
+ interface AmountMultiplier {
1207
1606
  /**
1208
- * End time of the custom range.
1607
+ * Mapping of the value for the smart contract.
1209
1608
  */
1210
- endsAt?: string | null;
1211
- /**
1212
- * Start time of the custom range.
1213
- */
1214
- startsAt?: string | null;
1609
+ valueMapping?: string | null;
1215
1610
  }
1216
1611
  interface Param {
1217
1612
  /**
@@ -1248,6 +1643,24 @@ export declare namespace RuleUpdateResponse {
1248
1643
  */
1249
1644
  streakMilestone: number;
1250
1645
  }
1646
+ /**
1647
+ * Metadata for swap loyalty rules
1648
+ */
1649
+ interface Swap {
1650
+ provider?: 'any' | 'relay' | 'lifi';
1651
+ relayReferrerId?: string;
1652
+ requireCrossChainSwap?: boolean;
1653
+ swappedToChain?: 'any' | number | string;
1654
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1655
+ tokenMode?: 'any' | 'specific';
1656
+ trackTokenAmount?: boolean;
1657
+ }
1658
+ namespace Swap {
1659
+ interface SwappedToToken {
1660
+ address: string;
1661
+ chainId: string;
1662
+ }
1663
+ }
1251
1664
  }
1252
1665
  }
1253
1666
  export interface RuleListResponse {
@@ -1255,9 +1668,6 @@ export interface RuleListResponse {
1255
1668
  hasNextPage: boolean;
1256
1669
  }
1257
1670
  export declare namespace RuleListResponse {
1258
- /**
1259
- * Schema for a loyalty rule
1260
- */
1261
1671
  interface Data {
1262
1672
  /**
1263
1673
  * Unique identifier for the loyalty rule
@@ -1266,7 +1676,7 @@ export declare namespace RuleListResponse {
1266
1676
  /**
1267
1677
  * Amount associated with the loyalty rule
1268
1678
  */
1269
- amount: number;
1679
+ amount: number | null;
1270
1680
  /**
1271
1681
  * Timestamp when the loyalty rule was created
1272
1682
  */
@@ -1276,13 +1686,37 @@ export declare namespace RuleListResponse {
1276
1686
  */
1277
1687
  deletedAt: string | null;
1278
1688
  /**
1279
- * Frequency of the loyalty rule
1689
+ * Description of the loyalty rule
1280
1690
  */
1281
- frequency: string;
1691
+ description: string;
1282
1692
  /**
1283
- * Unique identifier for the organization
1693
+ * End time of the loyalty rule
1694
+ */
1695
+ endTime: string | null;
1696
+ /**
1697
+ * Frequency of the loyalty rule
1698
+ */
1699
+ frequency: string;
1700
+ /**
1701
+ * Chains attached to the loyalty rule
1702
+ */
1703
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1704
+ /**
1705
+ * Name of the loyalty rule
1706
+ */
1707
+ name: string;
1708
+ /**
1709
+ * Unique identifier for the organization
1284
1710
  */
1285
1711
  organizationId: string;
1712
+ /**
1713
+ * Type of the reward
1714
+ */
1715
+ rewardType: 'points' | 'multiplier' | 'badge';
1716
+ /**
1717
+ * Start time of the loyalty rule
1718
+ */
1719
+ startTime: string | null;
1286
1720
  /**
1287
1721
  * Type of the loyalty rule
1288
1722
  */
@@ -1299,10 +1733,727 @@ export declare namespace RuleListResponse {
1299
1733
  * Optional address of the collection
1300
1734
  */
1301
1735
  collectionAddress?: string;
1736
+ /**
1737
+ * URL of the media associated with the loyalty rule
1738
+ */
1739
+ mediaUrl?: string | null;
1302
1740
  /**
1303
1741
  * Optional metadata for the loyalty rule
1304
1742
  */
1305
- metadata?: Record<string, unknown>;
1743
+ metadata?: {
1744
+ [key: string]: Data.Metadata;
1745
+ };
1746
+ }
1747
+ namespace Data {
1748
+ interface LoyaltyRuleChain {
1749
+ /**
1750
+ * Unique identifier for the rule chain
1751
+ */
1752
+ id: string;
1753
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1754
+ /**
1755
+ * Unique identifier for the loyalty rule
1756
+ */
1757
+ loyaltyRuleId: string;
1758
+ /**
1759
+ * Name of the rule chain
1760
+ */
1761
+ name: string;
1762
+ }
1763
+ namespace LoyaltyRuleChain {
1764
+ interface LoyaltyCondition {
1765
+ /**
1766
+ * Unique identifier for the condition
1767
+ */
1768
+ id: string;
1769
+ /**
1770
+ * Amount of the condition
1771
+ */
1772
+ amount: number | null;
1773
+ association: Array<LoyaltyCondition.Association>;
1774
+ /**
1775
+ * URL of the CSV file
1776
+ */
1777
+ csvUrl: string | null;
1778
+ /**
1779
+ * Description of the condition
1780
+ */
1781
+ description: string | null;
1782
+ /**
1783
+ * Number of times the condition must be met
1784
+ */
1785
+ repeatCount: number | null;
1786
+ /**
1787
+ * Number of times the condition must be met
1788
+ */
1789
+ requiredCount: number | null;
1790
+ /**
1791
+ * Type of the condition
1792
+ */
1793
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1794
+ }
1795
+ namespace LoyaltyCondition {
1796
+ interface Association {
1797
+ /**
1798
+ * Unique identifier for the association
1799
+ */
1800
+ id: string;
1801
+ /**
1802
+ * Unique identifier for the loyalty badge
1803
+ */
1804
+ loyaltyBadgeId: string | null;
1805
+ /**
1806
+ * Unique identifier for the loyalty currency
1807
+ */
1808
+ loyaltyCurrencyId: string | null;
1809
+ loyaltyRule: Association.LoyaltyRule | null;
1810
+ /**
1811
+ * Unique identifier for the loyalty rule group
1812
+ */
1813
+ loyaltyRuleGroupId: string | null;
1814
+ /**
1815
+ * Unique identifier for the loyalty rule
1816
+ */
1817
+ loyaltyRuleId: string | null;
1818
+ }
1819
+ namespace Association {
1820
+ interface LoyaltyRule {
1821
+ /**
1822
+ * Name of the loyalty rule
1823
+ */
1824
+ name: string;
1825
+ }
1826
+ }
1827
+ }
1828
+ }
1829
+ interface Metadata {
1830
+ /**
1831
+ * Number of tokens per batch.
1832
+ */
1833
+ batchSize?: number | null;
1834
+ /**
1835
+ * Text displayed on the action button.
1836
+ */
1837
+ buttonText?: string | null;
1838
+ /**
1839
+ * Flag indicating if commenting is required.
1840
+ */
1841
+ checkComment?: boolean | null;
1842
+ /**
1843
+ * Flag indicating if liking the post is required.
1844
+ */
1845
+ checkLike?: boolean | null;
1846
+ /**
1847
+ * Flag indicating if reposting is required.
1848
+ */
1849
+ checkRepost?: boolean | null;
1850
+ /**
1851
+ * Text to check in the Twitter post, username, or bio.
1852
+ */
1853
+ checkText?: string | Array<string> | null;
1854
+ /**
1855
+ * Array of collections associated with the rule.
1856
+ */
1857
+ collection?: Array<Metadata.Collection>;
1858
+ /**
1859
+ * Conditions for completing the profile.
1860
+ */
1861
+ completeProfileConditions?: {
1862
+ [key: string]: boolean;
1863
+ } | null;
1864
+ /**
1865
+ * Description of the external rule condition (only for external rules)
1866
+ */
1867
+ conditionDescription?: string;
1868
+ /**
1869
+ * Object containing details for the call-to-action.
1870
+ */
1871
+ cta?: Metadata.Cta | null;
1872
+ /**
1873
+ * API key for custom rewards integration.
1874
+ */
1875
+ customRewardsApiKey?: string;
1876
+ /**
1877
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1878
+ */
1879
+ directRpc?: boolean;
1880
+ /**
1881
+ * Array of Discord servers, channels, and roles to join.
1882
+ */
1883
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1884
+ /**
1885
+ * Array of drip quests required to complete the rule.
1886
+ */
1887
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1888
+ /**
1889
+ * Flag indicating whether joining Discord servers is required.
1890
+ */
1891
+ enableJoinDiscordServers?: boolean | null;
1892
+ /**
1893
+ * Flag indicating whether streaks are enabled.
1894
+ */
1895
+ enableStreaks?: boolean | null;
1896
+ /**
1897
+ * Flag indicating whether the verified multiplier is enabled.
1898
+ */
1899
+ enableVerifiedMultiplier?: boolean;
1900
+ /**
1901
+ * Type of ERC20 token for the loyalty rule.
1902
+ */
1903
+ erc20Type?: 'erc20' | 'native';
1904
+ /**
1905
+ * Fill source of the order for the token sale
1906
+ */
1907
+ fillSource?: string;
1908
+ /**
1909
+ * Percentage reward given to a user for their first referral.
1910
+ */
1911
+ firstReferralReward?: number | null;
1912
+ /**
1913
+ * URL of the GitHub repository to check for star.
1914
+ */
1915
+ githubRepoUrl?: string | null;
1916
+ /**
1917
+ * Flag indicating whether the fill source is included.
1918
+ */
1919
+ hasFillSource?: boolean;
1920
+ /**
1921
+ * Indicates if the item has never been sold.
1922
+ */
1923
+ hasNeverSold?: boolean;
1924
+ /**
1925
+ * Indicates if the full royalty has been paid for items.
1926
+ */
1927
+ hasPaidFullRoyalty?: boolean;
1928
+ /**
1929
+ * Flag indicating if the sale currency is included.
1930
+ */
1931
+ hasSaleCurrency?: boolean;
1932
+ /**
1933
+ * Indicates if the user has a verified Twitter account.
1934
+ */
1935
+ hasVerifiedTwitter?: boolean;
1936
+ /**
1937
+ * URL of the image associated with the rule.
1938
+ */
1939
+ imageUrl?: string | null;
1940
+ /**
1941
+ * If enabled, the first transaction done on the platform will complete this rule
1942
+ */
1943
+ isCheckInOnEveryTxn?: boolean;
1944
+ /**
1945
+ * Indicates if the multiplier has been applied to rewards.
1946
+ */
1947
+ isMultiplierApplied?: boolean;
1948
+ /**
1949
+ * Flag indicating if the rule is restricted to new users.
1950
+ */
1951
+ isRestrictedToNewUsers?: boolean;
1952
+ /**
1953
+ * Flag indicating if rewards are applied retroactively.
1954
+ */
1955
+ isRetroactive?: boolean | null;
1956
+ /**
1957
+ * Flag indicating if the token hold multiplier is applied.
1958
+ */
1959
+ isTokenHoldMultiplier?: boolean;
1960
+ /**
1961
+ * Optional link associated with the metadata.
1962
+ */
1963
+ link?: string | null;
1964
+ /**
1965
+ * Liquidity pool details.
1966
+ */
1967
+ liquidity?: Metadata.Liquidity;
1968
+ /**
1969
+ * Maximum quantity constraint for token holding.
1970
+ */
1971
+ maxQty?: number | null;
1972
+ /**
1973
+ * Minimum quantity constraint for token holding.
1974
+ */
1975
+ minQty?: number | null;
1976
+ /**
1977
+ * Array of loyalty currency IDs used for multipliers.
1978
+ */
1979
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1980
+ /**
1981
+ * Flag indicating whether to include only known users.
1982
+ */
1983
+ onlyKnownUsers?: boolean;
1984
+ /**
1985
+ * Flag indicating whether to include only native tokens.
1986
+ */
1987
+ onlyNative?: boolean;
1988
+ /**
1989
+ * Flag indicating whether to include only non-listed items.
1990
+ */
1991
+ onlyNonListed?: boolean;
1992
+ /**
1993
+ * Indicates if only existing users are rewarded.
1994
+ */
1995
+ onlyRewardExistingUser?: boolean;
1996
+ /**
1997
+ * give points for only one token ownership per contract
1998
+ */
1999
+ onlyRewardSingleTokenOwnership?: boolean | null;
2000
+ /**
2001
+ * Promotional code associated with the rule.
2002
+ */
2003
+ promoCode?: string;
2004
+ /**
2005
+ * URL of the CSV file containing promo codes.
2006
+ */
2007
+ promoCodeCsvUrl?: string;
2008
+ /**
2009
+ * Numbers of the promotional code to be generated.
2010
+ */
2011
+ promoCodeLength?: number | null;
2012
+ /**
2013
+ * Type of the promotional code.
2014
+ */
2015
+ promoCodeType?: 'code' | 'csv' | 'generate';
2016
+ /**
2017
+ * Array defining ranges and corresponding rewards.
2018
+ */
2019
+ range?: Array<Metadata.Range>;
2020
+ /**
2021
+ * Object defining referral requirements.
2022
+ */
2023
+ referralRequirements?: Metadata.ReferralRequirements | null;
2024
+ /**
2025
+ * Lump sum reward given to a referrer.
2026
+ */
2027
+ referrerReward?: number | null;
2028
+ /**
2029
+ * Loyalty currency ID of the referrer reward.
2030
+ */
2031
+ referrerRewardLoyaltyCurrencyId?: string | null;
2032
+ /**
2033
+ * Flag indicating if the post link is required.
2034
+ */
2035
+ requirePostLink?: boolean | null;
2036
+ /**
2037
+ * Flag indicating if media metadata is required.
2038
+ */
2039
+ requirePostMediaLink?: boolean | null;
2040
+ /**
2041
+ * Flag indicating if the rule can also reward badges per range.
2042
+ */
2043
+ rewardBadgePerRange?: boolean;
2044
+ /**
2045
+ * Flag indicating if the reward is rewarded by batch.
2046
+ */
2047
+ rewardByBatch?: boolean | null;
2048
+ /**
2049
+ * Criteria to evaluate the reward.
2050
+ */
2051
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2052
+ /**
2053
+ * Flag indicating if the reward is rewarded per action.
2054
+ */
2055
+ rewardPerAction?: boolean | null;
2056
+ /**
2057
+ * Flag indicating if rewards are given per impression.
2058
+ */
2059
+ rewardPerImpression?: boolean | null;
2060
+ /**
2061
+ * Flag indicating if the rule should reward based on value of traded tokens
2062
+ * instead of count.
2063
+ */
2064
+ rewardPerValue?: boolean;
2065
+ /**
2066
+ * Wallet address of the user can only be used if userId is not provided
2067
+ */
2068
+ royaltyAddress?: string;
2069
+ /**
2070
+ * Royalty percentage of the item.
2071
+ */
2072
+ royaltyPercentage?: number;
2073
+ /**
2074
+ * Currency associated with sales.
2075
+ */
2076
+ saleCurrency?: string;
2077
+ /**
2078
+ * Percentage reward given for a second-level referral.
2079
+ */
2080
+ secondReferralReward?: number | null;
2081
+ /**
2082
+ * Flag indicating if the multiplier is skipped.
2083
+ */
2084
+ skipMultiplier?: boolean | null;
2085
+ /**
2086
+ * Object containing details of the associated smart contract.
2087
+ */
2088
+ smartContract?: Metadata.SmartContract;
2089
+ /**
2090
+ * Array of snapshot proposals for the rule.
2091
+ */
2092
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2093
+ /**
2094
+ * Social media platform associated with the rule.
2095
+ */
2096
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | null;
2097
+ /**
2098
+ * URL of the social platform's logo.
2099
+ */
2100
+ socialPlatformLogo?: string | null;
2101
+ /**
2102
+ * Name of the social platform.
2103
+ */
2104
+ socialPlatformName?: string | null;
2105
+ /**
2106
+ * ID of the Steam app.
2107
+ */
2108
+ steamAppId?: string | null;
2109
+ /**
2110
+ * Array of streak milestones and corresponding rewards.
2111
+ */
2112
+ streakArray?: Array<Metadata.StreakArray> | null;
2113
+ /**
2114
+ * Metadata for swap loyalty rules
2115
+ */
2116
+ swap?: Metadata.Swap;
2117
+ /**
2118
+ * ID of the Telegram channel.
2119
+ */
2120
+ telegramChannelId?: string | null;
2121
+ /**
2122
+ * Time delay in seconds to verify actions.
2123
+ */
2124
+ timeDelayToVerifySeconds?: string | number | null;
2125
+ /**
2126
+ * Flag indicating if all contracts are tracked.
2127
+ */
2128
+ trackAllContracts?: boolean | null;
2129
+ /**
2130
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2131
+ * completed once the progress is 100%.
2132
+ */
2133
+ trackProgress?: boolean | null;
2134
+ /**
2135
+ * URL of the associated Twitter account.
2136
+ */
2137
+ twitterAccountUrl?: string;
2138
+ /**
2139
+ * Hashtag associated with the Twitter post.
2140
+ */
2141
+ twitterHashtag?: string;
2142
+ /**
2143
+ * URL of the associated Twitter post.
2144
+ */
2145
+ twitterPostUrl?: string;
2146
+ /**
2147
+ * Unique identifier of the Twitter user.
2148
+ */
2149
+ twitterUserId?: string;
2150
+ /**
2151
+ * Twitter username of the user.
2152
+ */
2153
+ twitterUsername?: string;
2154
+ /**
2155
+ * Minimum length of the verification text.
2156
+ */
2157
+ verificationTextMinimumLength?: number | null;
2158
+ /**
2159
+ * Multiplier applied to rewards for verified users.
2160
+ */
2161
+ verifiedMultiplier?: number | null;
2162
+ /**
2163
+ * Placeholder text for verification input fields.
2164
+ */
2165
+ verifyPlaceHolderText?: string | null;
2166
+ /**
2167
+ * Type of wallet associated with the rule.
2168
+ */
2169
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
2170
+ /**
2171
+ * ID of the Youtube channel.
2172
+ */
2173
+ youtubeChannelId?: string | null;
2174
+ /**
2175
+ * ID of the Youtube video.
2176
+ */
2177
+ youtubeVideoId?: string | null;
2178
+ }
2179
+ namespace Metadata {
2180
+ interface Collection {
2181
+ /**
2182
+ * Blockchain address of the collection.
2183
+ */
2184
+ address?: string;
2185
+ /**
2186
+ * Multiplier applied to the rewards for this collection.
2187
+ */
2188
+ multiplier?: number;
2189
+ /**
2190
+ * Blockchain network of the collection.
2191
+ */
2192
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2193
+ }
2194
+ /**
2195
+ * Object containing details for the call-to-action.
2196
+ */
2197
+ interface Cta {
2198
+ /**
2199
+ * Link for the call-to-action.
2200
+ */
2201
+ href?: string | null;
2202
+ /**
2203
+ * Label for the call-to-action.
2204
+ */
2205
+ label?: string | null;
2206
+ }
2207
+ interface DiscordServersToJoin {
2208
+ /**
2209
+ * ID of the Discord server to join.
2210
+ */
2211
+ id?: string;
2212
+ /**
2213
+ * Array of Discord channels to join.
2214
+ */
2215
+ channels?: Array<DiscordServersToJoin.Channel>;
2216
+ /**
2217
+ * Array of roles to assign in the Discord server.
2218
+ */
2219
+ roles?: Array<DiscordServersToJoin.Role>;
2220
+ }
2221
+ namespace DiscordServersToJoin {
2222
+ interface Channel {
2223
+ /**
2224
+ * ID of the Discord channel.
2225
+ */
2226
+ id?: string;
2227
+ /**
2228
+ * Array of emojis used in the channel.
2229
+ */
2230
+ emojis?: Array<Channel.Emoji>;
2231
+ /**
2232
+ * Phrase of text to be present in the discord message
2233
+ */
2234
+ text?: string;
2235
+ }
2236
+ namespace Channel {
2237
+ interface Emoji {
2238
+ /**
2239
+ * ID of the emoji used in the channel.
2240
+ */
2241
+ id?: string;
2242
+ }
2243
+ }
2244
+ interface Role {
2245
+ /**
2246
+ * ID of the role in the Discord server.
2247
+ */
2248
+ id: string;
2249
+ }
2250
+ }
2251
+ interface DripQuestsToComplete {
2252
+ /**
2253
+ * ID of the drip quest to complete.
2254
+ */
2255
+ id: string;
2256
+ }
2257
+ /**
2258
+ * Liquidity pool details.
2259
+ */
2260
+ interface Liquidity {
2261
+ /**
2262
+ * Calculation type of the liquidity pool.
2263
+ */
2264
+ calculationType?: 'fixed' | 'custom';
2265
+ /**
2266
+ * Custom function to calculate the the reward amount based on the liquidity
2267
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2268
+ * USD.
2269
+ */
2270
+ customFunction?: string;
2271
+ /**
2272
+ * Liquidity provided per day in USD
2273
+ */
2274
+ liquidityPerDay?: number;
2275
+ /**
2276
+ * Blockchain network of the liquidity pool.
2277
+ */
2278
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2279
+ /**
2280
+ * Indicates if only in-range liquidity is rewarded.
2281
+ */
2282
+ onlyRewardInRangeLiquidity?: boolean;
2283
+ /**
2284
+ * Array of liquidity pools associated with the rule.
2285
+ */
2286
+ pools?: Array<Liquidity.Pool>;
2287
+ /**
2288
+ * Protocol of the liquidity pool.
2289
+ */
2290
+ protocol?: string;
2291
+ }
2292
+ namespace Liquidity {
2293
+ interface Pool {
2294
+ /**
2295
+ * Unique identifier of the liquidity pool.
2296
+ */
2297
+ id: string;
2298
+ }
2299
+ }
2300
+ interface Range {
2301
+ /**
2302
+ * Reward amount for this range.
2303
+ */
2304
+ amount: number;
2305
+ /**
2306
+ * End value of the range.
2307
+ */
2308
+ endRange: number;
2309
+ /**
2310
+ * Start value of the range.
2311
+ */
2312
+ startRange: number;
2313
+ /**
2314
+ * ID of the loyalty badge for this range.
2315
+ */
2316
+ loyaltyBadgeId?: string;
2317
+ /**
2318
+ * Amount of the loyalty multiplier for this range.
2319
+ */
2320
+ loyaltyMultiplierAmount?: number;
2321
+ }
2322
+ /**
2323
+ * Object defining referral requirements.
2324
+ */
2325
+ interface ReferralRequirements {
2326
+ /**
2327
+ * Flag indicating if achieving points is required.
2328
+ */
2329
+ achievePoints?: boolean | null;
2330
+ /**
2331
+ * Flag indicating if completing the profile is required.
2332
+ */
2333
+ completeProfile?: boolean | null;
2334
+ /**
2335
+ * Flag indicating if connecting Discord is required.
2336
+ */
2337
+ connectDiscord?: boolean | null;
2338
+ /**
2339
+ * Flag indicating if connecting email is required.
2340
+ */
2341
+ connectEmail?: boolean | null;
2342
+ /**
2343
+ * Flag indicating if connecting Twitter is required.
2344
+ */
2345
+ connectTwitter?: boolean | null;
2346
+ points?: ReferralRequirements.Points | null;
2347
+ }
2348
+ namespace ReferralRequirements {
2349
+ interface Points {
2350
+ /**
2351
+ * Points required for referral.
2352
+ */
2353
+ amount?: number | null;
2354
+ /**
2355
+ * ID of the loyalty currency for referral.
2356
+ */
2357
+ loyaltyCurrecyId?: string | null;
2358
+ }
2359
+ }
2360
+ /**
2361
+ * Object containing details of the associated smart contract.
2362
+ */
2363
+ interface SmartContract {
2364
+ /**
2365
+ * Mapping of addresses for the smart contract.
2366
+ */
2367
+ addressMapping?: string | null;
2368
+ /**
2369
+ * Object containing details of the amount multiplier from the event.
2370
+ */
2371
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2372
+ /**
2373
+ * ID of the smart contract.
2374
+ */
2375
+ contractId?: string | null;
2376
+ /**
2377
+ * Criteria to evaluate the smart contract event.
2378
+ */
2379
+ criteria?: 'everyEvent' | 'byParameter' | null;
2380
+ /**
2381
+ * Event emitted by the smart contract.
2382
+ */
2383
+ event?: string | null;
2384
+ /**
2385
+ * Array of parameters for the smart contract.
2386
+ */
2387
+ params?: Array<SmartContract.Param> | null;
2388
+ /**
2389
+ * Type of the smart contract interaction.
2390
+ */
2391
+ type?: 'function' | 'event' | null;
2392
+ }
2393
+ namespace SmartContract {
2394
+ /**
2395
+ * Object containing details of the amount multiplier from the event.
2396
+ */
2397
+ interface AmountMultiplier {
2398
+ /**
2399
+ * Mapping of the value for the smart contract.
2400
+ */
2401
+ valueMapping?: string | null;
2402
+ }
2403
+ interface Param {
2404
+ /**
2405
+ * Condition to check for the parameter.
2406
+ */
2407
+ condition?: string | null;
2408
+ /**
2409
+ * Name of the smart contract parameter.
2410
+ */
2411
+ name?: string | null;
2412
+ /**
2413
+ * Value of the parameter.
2414
+ */
2415
+ value?: string | null;
2416
+ }
2417
+ }
2418
+ interface SnapshotProposal {
2419
+ /**
2420
+ * ID of the snapshot proposal.
2421
+ */
2422
+ id: string;
2423
+ /**
2424
+ * Space associated with the snapshot proposal.
2425
+ */
2426
+ space: string;
2427
+ }
2428
+ interface StreakArray {
2429
+ /**
2430
+ * Reward amount for achieving the streak milestone.
2431
+ */
2432
+ streakAmount: number;
2433
+ /**
2434
+ * Milestone required to achieve the streak.
2435
+ */
2436
+ streakMilestone: number;
2437
+ }
2438
+ /**
2439
+ * Metadata for swap loyalty rules
2440
+ */
2441
+ interface Swap {
2442
+ provider?: 'any' | 'relay' | 'lifi';
2443
+ relayReferrerId?: string;
2444
+ requireCrossChainSwap?: boolean;
2445
+ swappedToChain?: 'any' | number | string;
2446
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2447
+ tokenMode?: 'any' | 'specific';
2448
+ trackTokenAmount?: boolean;
2449
+ }
2450
+ namespace Swap {
2451
+ interface SwappedToToken {
2452
+ address: string;
2453
+ chainId: string;
2454
+ }
2455
+ }
2456
+ }
1306
2457
  }
1307
2458
  }
1308
2459
  export interface RuleDeleteResponse {
@@ -1310,7 +2461,7 @@ export interface RuleDeleteResponse {
1310
2461
  deletedAt: string;
1311
2462
  }
1312
2463
  export interface RuleCompleteResponse {
1313
- message: string;
2464
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1314
2465
  }
1315
2466
  export interface RuleGetStatusResponse {
1316
2467
  data: Array<RuleGetStatusResponse.Data>;
@@ -1318,9 +2469,110 @@ export interface RuleGetStatusResponse {
1318
2469
  export declare namespace RuleGetStatusResponse {
1319
2470
  interface Data {
1320
2471
  loyaltyRuleId: string;
1321
- status: 'pending' | 'processing' | 'completed' | 'failed';
1322
2472
  userId: string;
2473
+ /**
2474
+ * The ID of the loyalty rule status for the Progress object
2475
+ */
2476
+ id?: string;
2477
+ createdAt?: string;
2478
+ fulfilledAt?: string | null;
2479
+ /**
2480
+ * Categorized examples of messages that may be returned for a loyalty rule's
2481
+ * processing result.
2482
+ *
2483
+ * User Onboarding
2484
+ *
2485
+ * - Check In: "Streak successful"
2486
+ * - Complete Profile Details: "Profile not complete"
2487
+ *
2488
+ * Connect Accounts
2489
+ *
2490
+ * - Connect TikTok: "TikTok not connected"
2491
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
2492
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2493
+ * required"
2494
+ * - Connect Email: "Email address not connected"
2495
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2496
+ * telegramUsername), please setup username in telegram and reconnect.",
2497
+ * "Telegram request rate-limited"
2498
+ * - Connect Steam: "Steam not connected"
2499
+ * - Connect Youtube: "Youtube not connected"
2500
+ *
2501
+ * Social Quests
2502
+ *
2503
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2504
+ * successfully"
2505
+ * - Post on TikTok: "TikTok post not verified"
2506
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2507
+ * "Quest Not Completed: Comment not found for the specified tweet"
2508
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2509
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2510
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2511
+ * retweeted or commented on the tweet"
2512
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
2513
+ * targetUsername", "Quest Completed: You are a follower of
2514
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2515
+ * and try again in few minutes"
2516
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2517
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2518
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2519
+ * posts are already claimed. Please post a new tweet and try again in a few
2520
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2521
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2522
+ * not have media", "Text found in tweet"
2523
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2524
+ * not found", "Text found in bio", "Text not found in bio"
2525
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2526
+ * "User not found", "Text found in username", "Text not found in username"
2527
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
2528
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2529
+ * not found in comment", "Tweet not found or could not be retrieved"
2530
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2531
+ * added"
2532
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2533
+ * please make sure you have made your subscriptions public in youtube"
2534
+ * - Get X post impressions: "You've already claimed the reward for this impression
2535
+ * range."
2536
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2537
+ * item not added"
2538
+ *
2539
+ * Complex Onchain Logic
2540
+ *
2541
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2542
+ *
2543
+ * Other
2544
+ *
2545
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
2546
+ * "Incorrect answer", "Correct answer"
2547
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2548
+ * - Spend in Shopify Store: "Shopify not connected"
2549
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2550
+ *
2551
+ * General
2552
+ *
2553
+ * - "Quest already completed"
2554
+ * - "Quest already completed using the same social account (${socialAccountName}),
2555
+ * with the different user."
2556
+ * - "You've already claimed the reward for this quest."
2557
+ * - "Quest not achieved, please try again."
2558
+ * - "Rule is not setup"
2559
+ * - "Request aborted due to timeout"
2560
+ * - "Google account not connected"
2561
+ * - "Claim failed: Multiplier is already active"
2562
+ */
1323
2563
  message?: string;
2564
+ organizationId?: string;
2565
+ /**
2566
+ * The progress of the loyalty rule from 0 to 100
2567
+ */
2568
+ progress?: number;
2569
+ /**
2570
+ * Status of the queued job, this is only returned if the job is queued and being
2571
+ * processed, this wil be retained for 10 minutes after the job is completed
2572
+ */
2573
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
2574
+ updatedAt?: string;
2575
+ websiteId?: string;
1324
2576
  }
1325
2577
  }
1326
2578
  export interface RuleCreateParams {
@@ -1367,7 +2619,7 @@ export interface RuleCreateParams {
1367
2619
  /**
1368
2620
  * Type of loyalty rule being created
1369
2621
  */
1370
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
2622
+ 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_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'discord_role_grant';
1371
2623
  /**
1372
2624
  * Unique identifier for the associated website
1373
2625
  */
@@ -1376,6 +2628,10 @@ export interface RuleCreateParams {
1376
2628
  * URL of the background asset to be displayed
1377
2629
  */
1378
2630
  backgroundAssetUrl?: string;
2631
+ /**
2632
+ * The type of claim for the reward
2633
+ */
2634
+ claimType?: 'manual' | 'auto' | null;
1379
2635
  /**
1380
2636
  * Blockchain address of the associated collection
1381
2637
  */
@@ -1396,6 +2652,15 @@ export interface RuleCreateParams {
1396
2652
  * Optional detailed description of the rule
1397
2653
  */
1398
2654
  description?: string;
2655
+ duplicatedFromId?: string | null;
2656
+ /**
2657
+ * ID of the external integration
2658
+ */
2659
+ externalIntegrationId?: string | null;
2660
+ /**
2661
+ * Optional stratus function id for the rule
2662
+ */
2663
+ functionId?: string | null;
1399
2664
  /**
1400
2665
  * Whether to hide this rule in the user interface
1401
2666
  */
@@ -1403,15 +2668,33 @@ export interface RuleCreateParams {
1403
2668
  /**
1404
2669
  * Interval between rule executions
1405
2670
  */
1406
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2671
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1407
2672
  /**
1408
2673
  * Whether this rule is mandatory
1409
2674
  */
1410
2675
  isRequired?: boolean;
2676
+ /**
2677
+ * Unique identifier for the loyalty badge
2678
+ */
2679
+ loyaltyBadgeId?: string | null;
1411
2680
  /**
1412
2681
  * Unique identifier for the loyalty rule group
1413
2682
  */
1414
2683
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2684
+ /**
2685
+ * URL for uploading loyalty user allotment via CSV
2686
+ */
2687
+ loyaltyUserAllotmentCsvUrl?: string;
2688
+ /**
2689
+ * The interval for the max amount. Available for the smart contract and external
2690
+ * rules.
2691
+ */
2692
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2693
+ /**
2694
+ * The maximum amount of points a user can earn per interval. Available for the
2695
+ * smart contract and external rules.
2696
+ */
2697
+ maxAmountPerInterval?: number | null;
1415
2698
  /**
1416
2699
  * URL of the media to be displayed
1417
2700
  */
@@ -1419,25 +2702,41 @@ export interface RuleCreateParams {
1419
2702
  /**
1420
2703
  * Blockchain network where the rule will apply
1421
2704
  */
1422
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
2705
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1423
2706
  /**
1424
2707
  * OAuth credentials associated with the rule
1425
2708
  */
1426
2709
  oauthCredentialsId?: string | null;
2710
+ /**
2711
+ * The lifetime of the reward
2712
+ */
2713
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
1427
2714
  /**
1428
2715
  * Type of reward issued by the rule
1429
2716
  */
1430
- rewardType?: 'points' | 'multiplier';
2717
+ rewardType?: 'points' | 'multiplier' | 'badge';
1431
2718
  /**
1432
- * Identifier for associated subscriptions
2719
+ * URL of the Shopify store
1433
2720
  */
1434
- subscriptionIdentifier?: string | null;
2721
+ shopifyStoreUrl?: string | null;
2722
+ /**
2723
+ * Whether to show this rule before the start time
2724
+ */
2725
+ showBeforeStart?: boolean;
2726
+ /**
2727
+ * Optional stratus subscription id for the rule
2728
+ */
2729
+ subscriptionId?: string | null;
1435
2730
  }
1436
2731
  export declare namespace RuleCreateParams {
1437
2732
  /**
1438
2733
  * Additional metadata for the loyalty rule
1439
2734
  */
1440
2735
  interface Metadata {
2736
+ /**
2737
+ * Number of tokens per batch.
2738
+ */
2739
+ batchSize?: number | null;
1441
2740
  /**
1442
2741
  * Text displayed on the action button.
1443
2742
  */
@@ -1457,7 +2756,7 @@ export declare namespace RuleCreateParams {
1457
2756
  /**
1458
2757
  * Text to check in the Twitter post, username, or bio.
1459
2758
  */
1460
- checkText?: string | null;
2759
+ checkText?: string | Array<string> | null;
1461
2760
  /**
1462
2761
  * Array of collections associated with the rule.
1463
2762
  */
@@ -1465,7 +2764,13 @@ export declare namespace RuleCreateParams {
1465
2764
  /**
1466
2765
  * Conditions for completing the profile.
1467
2766
  */
1468
- completeProfileConditions?: Record<string, boolean> | null;
2767
+ completeProfileConditions?: {
2768
+ [key: string]: boolean;
2769
+ } | null;
2770
+ /**
2771
+ * Description of the external rule condition (only for external rules)
2772
+ */
2773
+ conditionDescription?: string;
1469
2774
  /**
1470
2775
  * Object containing details for the call-to-action.
1471
2776
  */
@@ -1474,6 +2779,10 @@ export declare namespace RuleCreateParams {
1474
2779
  * API key for custom rewards integration.
1475
2780
  */
1476
2781
  customRewardsApiKey?: string;
2782
+ /**
2783
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2784
+ */
2785
+ directRpc?: boolean;
1477
2786
  /**
1478
2787
  * Array of Discord servers, channels, and roles to join.
1479
2788
  */
@@ -1493,7 +2802,11 @@ export declare namespace RuleCreateParams {
1493
2802
  /**
1494
2803
  * Flag indicating whether the verified multiplier is enabled.
1495
2804
  */
1496
- enableVerifiedMultiplier?: boolean;
2805
+ enableVerifiedMultiplier?: boolean;
2806
+ /**
2807
+ * Type of ERC20 token for the loyalty rule.
2808
+ */
2809
+ erc20Type?: 'erc20' | 'native';
1497
2810
  /**
1498
2811
  * Fill source of the order for the token sale
1499
2812
  */
@@ -1502,6 +2815,10 @@ export declare namespace RuleCreateParams {
1502
2815
  * Percentage reward given to a user for their first referral.
1503
2816
  */
1504
2817
  firstReferralReward?: number | null;
2818
+ /**
2819
+ * URL of the GitHub repository to check for star.
2820
+ */
2821
+ githubRepoUrl?: string | null;
1505
2822
  /**
1506
2823
  * Flag indicating whether the fill source is included.
1507
2824
  */
@@ -1510,10 +2827,6 @@ export declare namespace RuleCreateParams {
1510
2827
  * Indicates if the item has never been sold.
1511
2828
  */
1512
2829
  hasNeverSold?: boolean;
1513
- /**
1514
- * Flag indicating whether the order source is included.
1515
- */
1516
- hasOrderSource?: boolean;
1517
2830
  /**
1518
2831
  * Indicates if the full royalty has been paid for items.
1519
2832
  */
@@ -1530,10 +2843,18 @@ export declare namespace RuleCreateParams {
1530
2843
  * URL of the image associated with the rule.
1531
2844
  */
1532
2845
  imageUrl?: string | null;
2846
+ /**
2847
+ * If enabled, the first transaction done on the platform will complete this rule
2848
+ */
2849
+ isCheckInOnEveryTxn?: boolean;
1533
2850
  /**
1534
2851
  * Indicates if the multiplier has been applied to rewards.
1535
2852
  */
1536
2853
  isMultiplierApplied?: boolean;
2854
+ /**
2855
+ * Flag indicating if the rule is restricted to new users.
2856
+ */
2857
+ isRestrictedToNewUsers?: boolean;
1537
2858
  /**
1538
2859
  * Flag indicating if rewards are applied retroactively.
1539
2860
  */
@@ -1546,6 +2867,10 @@ export declare namespace RuleCreateParams {
1546
2867
  * Optional link associated with the metadata.
1547
2868
  */
1548
2869
  link?: string | null;
2870
+ /**
2871
+ * Liquidity pool details.
2872
+ */
2873
+ liquidity?: Metadata.Liquidity;
1549
2874
  /**
1550
2875
  * Maximum quantity constraint for token holding.
1551
2876
  */
@@ -1578,14 +2903,22 @@ export declare namespace RuleCreateParams {
1578
2903
  * give points for only one token ownership per contract
1579
2904
  */
1580
2905
  onlyRewardSingleTokenOwnership?: boolean | null;
1581
- /**
1582
- * Order source of the order for the token sale
1583
- */
1584
- orderSource?: string;
1585
2906
  /**
1586
2907
  * Promotional code associated with the rule.
1587
2908
  */
1588
2909
  promoCode?: string;
2910
+ /**
2911
+ * URL of the CSV file containing promo codes.
2912
+ */
2913
+ promoCodeCsvUrl?: string;
2914
+ /**
2915
+ * Numbers of the promotional code to be generated.
2916
+ */
2917
+ promoCodeLength?: number | null;
2918
+ /**
2919
+ * Type of the promotional code.
2920
+ */
2921
+ promoCodeType?: 'code' | 'csv' | 'generate';
1589
2922
  /**
1590
2923
  * Array defining ranges and corresponding rewards.
1591
2924
  */
@@ -1598,10 +2931,51 @@ export declare namespace RuleCreateParams {
1598
2931
  * Lump sum reward given to a referrer.
1599
2932
  */
1600
2933
  referrerReward?: number | null;
2934
+ /**
2935
+ * Loyalty currency ID of the referrer reward.
2936
+ */
2937
+ referrerRewardLoyaltyCurrencyId?: string | null;
2938
+ /**
2939
+ * Flag indicating if the post link is required.
2940
+ */
2941
+ requirePostLink?: boolean | null;
2942
+ /**
2943
+ * Flag indicating if media metadata is required.
2944
+ */
2945
+ requirePostMediaLink?: boolean | null;
2946
+ /**
2947
+ * Flag indicating if the rule can also reward badges per range.
2948
+ */
2949
+ rewardBadgePerRange?: boolean;
2950
+ /**
2951
+ * Flag indicating if the reward is rewarded by batch.
2952
+ */
2953
+ rewardByBatch?: boolean | null;
2954
+ /**
2955
+ * Criteria to evaluate the reward.
2956
+ */
2957
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2958
+ /**
2959
+ * Flag indicating if the reward is rewarded per action.
2960
+ */
2961
+ rewardPerAction?: boolean | null;
1601
2962
  /**
1602
2963
  * Flag indicating if rewards are given per impression.
1603
2964
  */
1604
2965
  rewardPerImpression?: boolean | null;
2966
+ /**
2967
+ * Flag indicating if the rule should reward based on value of traded tokens
2968
+ * instead of count.
2969
+ */
2970
+ rewardPerValue?: boolean;
2971
+ /**
2972
+ * Wallet address of the user can only be used if userId is not provided
2973
+ */
2974
+ royaltyAddress?: string;
2975
+ /**
2976
+ * Royalty percentage of the item.
2977
+ */
2978
+ royaltyPercentage?: number;
1605
2979
  /**
1606
2980
  * Currency associated with sales.
1607
2981
  */
@@ -1625,7 +2999,7 @@ export declare namespace RuleCreateParams {
1625
2999
  /**
1626
3000
  * Social media platform associated with the rule.
1627
3001
  */
1628
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3002
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | null;
1629
3003
  /**
1630
3004
  * URL of the social platform's logo.
1631
3005
  */
@@ -1634,10 +3008,18 @@ export declare namespace RuleCreateParams {
1634
3008
  * Name of the social platform.
1635
3009
  */
1636
3010
  socialPlatformName?: string | null;
3011
+ /**
3012
+ * ID of the Steam app.
3013
+ */
3014
+ steamAppId?: string | null;
1637
3015
  /**
1638
3016
  * Array of streak milestones and corresponding rewards.
1639
3017
  */
1640
3018
  streakArray?: Array<Metadata.StreakArray> | null;
3019
+ /**
3020
+ * Metadata for swap loyalty rules
3021
+ */
3022
+ swap?: Metadata.Swap;
1641
3023
  /**
1642
3024
  * ID of the Telegram channel.
1643
3025
  */
@@ -1650,6 +3032,11 @@ export declare namespace RuleCreateParams {
1650
3032
  * Flag indicating if all contracts are tracked.
1651
3033
  */
1652
3034
  trackAllContracts?: boolean | null;
3035
+ /**
3036
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3037
+ * completed once the progress is 100%.
3038
+ */
3039
+ trackProgress?: boolean | null;
1653
3040
  /**
1654
3041
  * URL of the associated Twitter account.
1655
3042
  */
@@ -1685,7 +3072,15 @@ export declare namespace RuleCreateParams {
1685
3072
  /**
1686
3073
  * Type of wallet associated with the rule.
1687
3074
  */
1688
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3075
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3076
+ /**
3077
+ * ID of the Youtube channel.
3078
+ */
3079
+ youtubeChannelId?: string | null;
3080
+ /**
3081
+ * ID of the Youtube video.
3082
+ */
3083
+ youtubeVideoId?: string | null;
1689
3084
  }
1690
3085
  namespace Metadata {
1691
3086
  interface Collection {
@@ -1700,7 +3095,7 @@ export declare namespace RuleCreateParams {
1700
3095
  /**
1701
3096
  * Blockchain network of the collection.
1702
3097
  */
1703
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3098
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1704
3099
  }
1705
3100
  /**
1706
3101
  * Object containing details for the call-to-action.
@@ -1765,6 +3160,49 @@ export declare namespace RuleCreateParams {
1765
3160
  */
1766
3161
  id: string;
1767
3162
  }
3163
+ /**
3164
+ * Liquidity pool details.
3165
+ */
3166
+ interface Liquidity {
3167
+ /**
3168
+ * Calculation type of the liquidity pool.
3169
+ */
3170
+ calculationType?: 'fixed' | 'custom';
3171
+ /**
3172
+ * Custom function to calculate the the reward amount based on the liquidity
3173
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3174
+ * USD.
3175
+ */
3176
+ customFunction?: string;
3177
+ /**
3178
+ * Liquidity provided per day in USD
3179
+ */
3180
+ liquidityPerDay?: number;
3181
+ /**
3182
+ * Blockchain network of the liquidity pool.
3183
+ */
3184
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3185
+ /**
3186
+ * Indicates if only in-range liquidity is rewarded.
3187
+ */
3188
+ onlyRewardInRangeLiquidity?: boolean;
3189
+ /**
3190
+ * Array of liquidity pools associated with the rule.
3191
+ */
3192
+ pools?: Array<Liquidity.Pool>;
3193
+ /**
3194
+ * Protocol of the liquidity pool.
3195
+ */
3196
+ protocol?: string;
3197
+ }
3198
+ namespace Liquidity {
3199
+ interface Pool {
3200
+ /**
3201
+ * Unique identifier of the liquidity pool.
3202
+ */
3203
+ id: string;
3204
+ }
3205
+ }
1768
3206
  interface Range {
1769
3207
  /**
1770
3208
  * Reward amount for this range.
@@ -1778,6 +3216,14 @@ export declare namespace RuleCreateParams {
1778
3216
  * Start value of the range.
1779
3217
  */
1780
3218
  startRange: number;
3219
+ /**
3220
+ * ID of the loyalty badge for this range.
3221
+ */
3222
+ loyaltyBadgeId?: string;
3223
+ /**
3224
+ * Amount of the loyalty multiplier for this range.
3225
+ */
3226
+ loyaltyMultiplierAmount?: number;
1781
3227
  }
1782
3228
  /**
1783
3229
  * Object defining referral requirements.
@@ -1821,18 +3267,14 @@ export declare namespace RuleCreateParams {
1821
3267
  * Object containing details of the associated smart contract.
1822
3268
  */
1823
3269
  interface SmartContract {
1824
- /**
1825
- * ABI of the smart contract.
1826
- */
1827
- abi?: string | null;
1828
3270
  /**
1829
3271
  * Mapping of addresses for the smart contract.
1830
3272
  */
1831
3273
  addressMapping?: string | null;
1832
3274
  /**
1833
- * Array of bonus details applied to the rule.
3275
+ * Object containing details of the amount multiplier from the event.
1834
3276
  */
1835
- bonus?: Array<SmartContract.Bonus> | null;
3277
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1836
3278
  /**
1837
3279
  * ID of the smart contract.
1838
3280
  */
@@ -1841,58 +3283,28 @@ export declare namespace RuleCreateParams {
1841
3283
  * Criteria to evaluate the smart contract event.
1842
3284
  */
1843
3285
  criteria?: 'everyEvent' | 'byParameter' | null;
1844
- /**
1845
- * Time range applied to the rule.
1846
- */
1847
- customRange?: SmartContract.CustomRange | null;
1848
3286
  /**
1849
3287
  * Event emitted by the smart contract.
1850
3288
  */
1851
3289
  event?: string | null;
1852
- /**
1853
- * Maximum value allowed for the parameter.
1854
- */
1855
- max?: number | null;
1856
3290
  /**
1857
3291
  * Array of parameters for the smart contract.
1858
3292
  */
1859
3293
  params?: Array<SmartContract.Param> | null;
1860
3294
  /**
1861
- * Flag indicating if a bonus is applied.
1862
- */
1863
- withBonus?: boolean | null;
1864
- /**
1865
- * Flag indicating if a custom range is applied.
1866
- */
1867
- withCustomRange?: boolean | null;
1868
- /**
1869
- * Flag indicating if a maximum limit is applied.
3295
+ * Type of the smart contract interaction.
1870
3296
  */
1871
- withMax?: boolean | null;
3297
+ type?: 'function' | 'event' | null;
1872
3298
  }
1873
3299
  namespace SmartContract {
1874
- interface Bonus {
1875
- /**
1876
- * Amount of the bonus.
1877
- */
1878
- amount?: number | null;
1879
- /**
1880
- * Number of times the bonus is applied.
1881
- */
1882
- count?: number | null;
1883
- }
1884
3300
  /**
1885
- * Time range applied to the rule.
3301
+ * Object containing details of the amount multiplier from the event.
1886
3302
  */
1887
- interface CustomRange {
1888
- /**
1889
- * End time of the custom range.
1890
- */
1891
- endsAt?: string | null;
3303
+ interface AmountMultiplier {
1892
3304
  /**
1893
- * Start time of the custom range.
3305
+ * Mapping of the value for the smart contract.
1894
3306
  */
1895
- startsAt?: string | null;
3307
+ valueMapping?: string | null;
1896
3308
  }
1897
3309
  interface Param {
1898
3310
  /**
@@ -1929,6 +3341,24 @@ export declare namespace RuleCreateParams {
1929
3341
  */
1930
3342
  streakMilestone: number;
1931
3343
  }
3344
+ /**
3345
+ * Metadata for swap loyalty rules
3346
+ */
3347
+ interface Swap {
3348
+ provider?: 'any' | 'relay' | 'lifi';
3349
+ relayReferrerId?: string;
3350
+ requireCrossChainSwap?: boolean;
3351
+ swappedToChain?: 'any' | number | string;
3352
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3353
+ tokenMode?: 'any' | 'specific';
3354
+ trackTokenAmount?: boolean;
3355
+ }
3356
+ namespace Swap {
3357
+ interface SwappedToToken {
3358
+ address: string;
3359
+ chainId: string;
3360
+ }
3361
+ }
1932
3362
  }
1933
3363
  interface Collection {
1934
3364
  /**
@@ -1938,7 +3368,11 @@ export declare namespace RuleCreateParams {
1938
3368
  /**
1939
3369
  * Blockchain network for the collection
1940
3370
  */
1941
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3371
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3372
+ /**
3373
+ * Symbol of the collection.
3374
+ */
3375
+ symbol?: string;
1942
3376
  }
1943
3377
  }
1944
3378
  export interface RuleUpdateParams {
@@ -1954,10 +3388,14 @@ export interface RuleUpdateParams {
1954
3388
  * Name of the loyalty rule
1955
3389
  */
1956
3390
  name: string;
3391
+ /**
3392
+ * The type of claim for the reward
3393
+ */
3394
+ claimType?: 'manual' | 'auto' | null;
1957
3395
  /**
1958
3396
  * Blockchain address of the associated collection
1959
3397
  */
1960
- collectionAddress?: string;
3398
+ collectionAddress?: string | null;
1961
3399
  /**
1962
3400
  * List of associated collections
1963
3401
  */
@@ -1982,10 +3420,18 @@ export interface RuleUpdateParams {
1982
3420
  * Effective start time of the rule
1983
3421
  */
1984
3422
  effectiveStartTime?: string | null;
3423
+ /**
3424
+ * ID of the external integration
3425
+ */
3426
+ externalIntegrationId?: string | null;
1985
3427
  /**
1986
3428
  * Frequency of the rule execution
1987
3429
  */
1988
3430
  frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3431
+ /**
3432
+ * Optional stratus function id for the rule
3433
+ */
3434
+ functionId?: string | null;
1989
3435
  /**
1990
3436
  * Whether to hide this rule in the user interface
1991
3437
  */
@@ -1993,7 +3439,7 @@ export interface RuleUpdateParams {
1993
3439
  /**
1994
3440
  * Time interval for recurring rule execution
1995
3441
  */
1996
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3442
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1997
3443
  /**
1998
3444
  * Whether this rule is required for participation
1999
3445
  */
@@ -2002,6 +3448,16 @@ export interface RuleUpdateParams {
2002
3448
  * ID of the rule group section to associate with the rule
2003
3449
  */
2004
3450
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3451
+ /**
3452
+ * The interval for the max amount. Available for the smart contract and external
3453
+ * rules.
3454
+ */
3455
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3456
+ /**
3457
+ * The maximum amount of points a user can earn per interval. Available for the
3458
+ * smart contract and external rules.
3459
+ */
3460
+ maxAmountPerInterval?: number | null;
2005
3461
  /**
2006
3462
  * URL of the media to be displayed
2007
3463
  */
@@ -2013,23 +3469,35 @@ export interface RuleUpdateParams {
2013
3469
  /**
2014
3470
  * Blockchain network where the rule will apply
2015
3471
  */
2016
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3472
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2017
3473
  /**
2018
3474
  * ID for associated OAuth credentials
2019
3475
  */
2020
3476
  oauthCredentialsId?: string | null;
3477
+ /**
3478
+ * The lifetime of the reward
3479
+ */
3480
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2021
3481
  /**
2022
3482
  * Type of reward issued by this rule
2023
3483
  */
2024
- rewardType?: 'points' | 'multiplier';
3484
+ rewardType?: 'points' | 'multiplier' | 'badge';
3485
+ /**
3486
+ * URL of the Shopify store
3487
+ */
3488
+ shopifyStoreUrl?: string | null;
3489
+ /**
3490
+ * Whether to show this rule before the start time
3491
+ */
3492
+ showBeforeStart?: boolean;
2025
3493
  /**
2026
3494
  * Start time for the loyalty rule
2027
3495
  */
2028
3496
  startTime?: string | null;
2029
3497
  /**
2030
- * Optional subscription identifier for the rule
3498
+ * Optional stratus subscription id for the rule
2031
3499
  */
2032
- subscriptionIdentifier?: string | null;
3500
+ subscriptionId?: string | null;
2033
3501
  }
2034
3502
  export declare namespace RuleUpdateParams {
2035
3503
  interface Collection {
@@ -2040,12 +3508,20 @@ export declare namespace RuleUpdateParams {
2040
3508
  /**
2041
3509
  * Blockchain network for the collection
2042
3510
  */
2043
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3511
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3512
+ /**
3513
+ * Symbol of the collection.
3514
+ */
3515
+ symbol?: string;
2044
3516
  }
2045
3517
  /**
2046
3518
  * Additional metadata for the loyalty rule
2047
3519
  */
2048
3520
  interface Metadata {
3521
+ /**
3522
+ * Number of tokens per batch.
3523
+ */
3524
+ batchSize?: number | null;
2049
3525
  /**
2050
3526
  * Text displayed on the action button.
2051
3527
  */
@@ -2065,7 +3541,7 @@ export declare namespace RuleUpdateParams {
2065
3541
  /**
2066
3542
  * Text to check in the Twitter post, username, or bio.
2067
3543
  */
2068
- checkText?: string | null;
3544
+ checkText?: string | Array<string> | null;
2069
3545
  /**
2070
3546
  * Array of collections associated with the rule.
2071
3547
  */
@@ -2073,7 +3549,13 @@ export declare namespace RuleUpdateParams {
2073
3549
  /**
2074
3550
  * Conditions for completing the profile.
2075
3551
  */
2076
- completeProfileConditions?: Record<string, boolean> | null;
3552
+ completeProfileConditions?: {
3553
+ [key: string]: boolean;
3554
+ } | null;
3555
+ /**
3556
+ * Description of the external rule condition (only for external rules)
3557
+ */
3558
+ conditionDescription?: string;
2077
3559
  /**
2078
3560
  * Object containing details for the call-to-action.
2079
3561
  */
@@ -2082,6 +3564,10 @@ export declare namespace RuleUpdateParams {
2082
3564
  * API key for custom rewards integration.
2083
3565
  */
2084
3566
  customRewardsApiKey?: string;
3567
+ /**
3568
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3569
+ */
3570
+ directRpc?: boolean;
2085
3571
  /**
2086
3572
  * Array of Discord servers, channels, and roles to join.
2087
3573
  */
@@ -2102,6 +3588,10 @@ export declare namespace RuleUpdateParams {
2102
3588
  * Flag indicating whether the verified multiplier is enabled.
2103
3589
  */
2104
3590
  enableVerifiedMultiplier?: boolean;
3591
+ /**
3592
+ * Type of ERC20 token for the loyalty rule.
3593
+ */
3594
+ erc20Type?: 'erc20' | 'native';
2105
3595
  /**
2106
3596
  * Fill source of the order for the token sale
2107
3597
  */
@@ -2110,6 +3600,10 @@ export declare namespace RuleUpdateParams {
2110
3600
  * Percentage reward given to a user for their first referral.
2111
3601
  */
2112
3602
  firstReferralReward?: number | null;
3603
+ /**
3604
+ * URL of the GitHub repository to check for star.
3605
+ */
3606
+ githubRepoUrl?: string | null;
2113
3607
  /**
2114
3608
  * Flag indicating whether the fill source is included.
2115
3609
  */
@@ -2118,10 +3612,6 @@ export declare namespace RuleUpdateParams {
2118
3612
  * Indicates if the item has never been sold.
2119
3613
  */
2120
3614
  hasNeverSold?: boolean;
2121
- /**
2122
- * Flag indicating whether the order source is included.
2123
- */
2124
- hasOrderSource?: boolean;
2125
3615
  /**
2126
3616
  * Indicates if the full royalty has been paid for items.
2127
3617
  */
@@ -2138,10 +3628,18 @@ export declare namespace RuleUpdateParams {
2138
3628
  * URL of the image associated with the rule.
2139
3629
  */
2140
3630
  imageUrl?: string | null;
3631
+ /**
3632
+ * If enabled, the first transaction done on the platform will complete this rule
3633
+ */
3634
+ isCheckInOnEveryTxn?: boolean;
2141
3635
  /**
2142
3636
  * Indicates if the multiplier has been applied to rewards.
2143
3637
  */
2144
3638
  isMultiplierApplied?: boolean;
3639
+ /**
3640
+ * Flag indicating if the rule is restricted to new users.
3641
+ */
3642
+ isRestrictedToNewUsers?: boolean;
2145
3643
  /**
2146
3644
  * Flag indicating if rewards are applied retroactively.
2147
3645
  */
@@ -2154,6 +3652,10 @@ export declare namespace RuleUpdateParams {
2154
3652
  * Optional link associated with the metadata.
2155
3653
  */
2156
3654
  link?: string | null;
3655
+ /**
3656
+ * Liquidity pool details.
3657
+ */
3658
+ liquidity?: Metadata.Liquidity;
2157
3659
  /**
2158
3660
  * Maximum quantity constraint for token holding.
2159
3661
  */
@@ -2186,14 +3688,22 @@ export declare namespace RuleUpdateParams {
2186
3688
  * give points for only one token ownership per contract
2187
3689
  */
2188
3690
  onlyRewardSingleTokenOwnership?: boolean | null;
2189
- /**
2190
- * Order source of the order for the token sale
2191
- */
2192
- orderSource?: string;
2193
3691
  /**
2194
3692
  * Promotional code associated with the rule.
2195
3693
  */
2196
3694
  promoCode?: string;
3695
+ /**
3696
+ * URL of the CSV file containing promo codes.
3697
+ */
3698
+ promoCodeCsvUrl?: string;
3699
+ /**
3700
+ * Numbers of the promotional code to be generated.
3701
+ */
3702
+ promoCodeLength?: number | null;
3703
+ /**
3704
+ * Type of the promotional code.
3705
+ */
3706
+ promoCodeType?: 'code' | 'csv' | 'generate';
2197
3707
  /**
2198
3708
  * Array defining ranges and corresponding rewards.
2199
3709
  */
@@ -2206,10 +3716,51 @@ export declare namespace RuleUpdateParams {
2206
3716
  * Lump sum reward given to a referrer.
2207
3717
  */
2208
3718
  referrerReward?: number | null;
3719
+ /**
3720
+ * Loyalty currency ID of the referrer reward.
3721
+ */
3722
+ referrerRewardLoyaltyCurrencyId?: string | null;
3723
+ /**
3724
+ * Flag indicating if the post link is required.
3725
+ */
3726
+ requirePostLink?: boolean | null;
3727
+ /**
3728
+ * Flag indicating if media metadata is required.
3729
+ */
3730
+ requirePostMediaLink?: boolean | null;
3731
+ /**
3732
+ * Flag indicating if the rule can also reward badges per range.
3733
+ */
3734
+ rewardBadgePerRange?: boolean;
3735
+ /**
3736
+ * Flag indicating if the reward is rewarded by batch.
3737
+ */
3738
+ rewardByBatch?: boolean | null;
3739
+ /**
3740
+ * Criteria to evaluate the reward.
3741
+ */
3742
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3743
+ /**
3744
+ * Flag indicating if the reward is rewarded per action.
3745
+ */
3746
+ rewardPerAction?: boolean | null;
2209
3747
  /**
2210
3748
  * Flag indicating if rewards are given per impression.
2211
3749
  */
2212
3750
  rewardPerImpression?: boolean | null;
3751
+ /**
3752
+ * Flag indicating if the rule should reward based on value of traded tokens
3753
+ * instead of count.
3754
+ */
3755
+ rewardPerValue?: boolean;
3756
+ /**
3757
+ * Wallet address of the user can only be used if userId is not provided
3758
+ */
3759
+ royaltyAddress?: string;
3760
+ /**
3761
+ * Royalty percentage of the item.
3762
+ */
3763
+ royaltyPercentage?: number;
2213
3764
  /**
2214
3765
  * Currency associated with sales.
2215
3766
  */
@@ -2233,7 +3784,7 @@ export declare namespace RuleUpdateParams {
2233
3784
  /**
2234
3785
  * Social media platform associated with the rule.
2235
3786
  */
2236
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3787
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | null;
2237
3788
  /**
2238
3789
  * URL of the social platform's logo.
2239
3790
  */
@@ -2242,10 +3793,18 @@ export declare namespace RuleUpdateParams {
2242
3793
  * Name of the social platform.
2243
3794
  */
2244
3795
  socialPlatformName?: string | null;
3796
+ /**
3797
+ * ID of the Steam app.
3798
+ */
3799
+ steamAppId?: string | null;
2245
3800
  /**
2246
3801
  * Array of streak milestones and corresponding rewards.
2247
3802
  */
2248
3803
  streakArray?: Array<Metadata.StreakArray> | null;
3804
+ /**
3805
+ * Metadata for swap loyalty rules
3806
+ */
3807
+ swap?: Metadata.Swap;
2249
3808
  /**
2250
3809
  * ID of the Telegram channel.
2251
3810
  */
@@ -2258,6 +3817,11 @@ export declare namespace RuleUpdateParams {
2258
3817
  * Flag indicating if all contracts are tracked.
2259
3818
  */
2260
3819
  trackAllContracts?: boolean | null;
3820
+ /**
3821
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3822
+ * completed once the progress is 100%.
3823
+ */
3824
+ trackProgress?: boolean | null;
2261
3825
  /**
2262
3826
  * URL of the associated Twitter account.
2263
3827
  */
@@ -2293,7 +3857,15 @@ export declare namespace RuleUpdateParams {
2293
3857
  /**
2294
3858
  * Type of wallet associated with the rule.
2295
3859
  */
2296
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3860
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3861
+ /**
3862
+ * ID of the Youtube channel.
3863
+ */
3864
+ youtubeChannelId?: string | null;
3865
+ /**
3866
+ * ID of the Youtube video.
3867
+ */
3868
+ youtubeVideoId?: string | null;
2297
3869
  }
2298
3870
  namespace Metadata {
2299
3871
  interface Collection {
@@ -2308,7 +3880,7 @@ export declare namespace RuleUpdateParams {
2308
3880
  /**
2309
3881
  * Blockchain network of the collection.
2310
3882
  */
2311
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3883
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2312
3884
  }
2313
3885
  /**
2314
3886
  * Object containing details for the call-to-action.
@@ -2373,6 +3945,49 @@ export declare namespace RuleUpdateParams {
2373
3945
  */
2374
3946
  id: string;
2375
3947
  }
3948
+ /**
3949
+ * Liquidity pool details.
3950
+ */
3951
+ interface Liquidity {
3952
+ /**
3953
+ * Calculation type of the liquidity pool.
3954
+ */
3955
+ calculationType?: 'fixed' | 'custom';
3956
+ /**
3957
+ * Custom function to calculate the the reward amount based on the liquidity
3958
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3959
+ * USD.
3960
+ */
3961
+ customFunction?: string;
3962
+ /**
3963
+ * Liquidity provided per day in USD
3964
+ */
3965
+ liquidityPerDay?: number;
3966
+ /**
3967
+ * Blockchain network of the liquidity pool.
3968
+ */
3969
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3970
+ /**
3971
+ * Indicates if only in-range liquidity is rewarded.
3972
+ */
3973
+ onlyRewardInRangeLiquidity?: boolean;
3974
+ /**
3975
+ * Array of liquidity pools associated with the rule.
3976
+ */
3977
+ pools?: Array<Liquidity.Pool>;
3978
+ /**
3979
+ * Protocol of the liquidity pool.
3980
+ */
3981
+ protocol?: string;
3982
+ }
3983
+ namespace Liquidity {
3984
+ interface Pool {
3985
+ /**
3986
+ * Unique identifier of the liquidity pool.
3987
+ */
3988
+ id: string;
3989
+ }
3990
+ }
2376
3991
  interface Range {
2377
3992
  /**
2378
3993
  * Reward amount for this range.
@@ -2386,6 +4001,14 @@ export declare namespace RuleUpdateParams {
2386
4001
  * Start value of the range.
2387
4002
  */
2388
4003
  startRange: number;
4004
+ /**
4005
+ * ID of the loyalty badge for this range.
4006
+ */
4007
+ loyaltyBadgeId?: string;
4008
+ /**
4009
+ * Amount of the loyalty multiplier for this range.
4010
+ */
4011
+ loyaltyMultiplierAmount?: number;
2389
4012
  }
2390
4013
  /**
2391
4014
  * Object defining referral requirements.
@@ -2429,18 +4052,14 @@ export declare namespace RuleUpdateParams {
2429
4052
  * Object containing details of the associated smart contract.
2430
4053
  */
2431
4054
  interface SmartContract {
2432
- /**
2433
- * ABI of the smart contract.
2434
- */
2435
- abi?: string | null;
2436
4055
  /**
2437
4056
  * Mapping of addresses for the smart contract.
2438
4057
  */
2439
4058
  addressMapping?: string | null;
2440
4059
  /**
2441
- * Array of bonus details applied to the rule.
4060
+ * Object containing details of the amount multiplier from the event.
2442
4061
  */
2443
- bonus?: Array<SmartContract.Bonus> | null;
4062
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2444
4063
  /**
2445
4064
  * ID of the smart contract.
2446
4065
  */
@@ -2449,58 +4068,28 @@ export declare namespace RuleUpdateParams {
2449
4068
  * Criteria to evaluate the smart contract event.
2450
4069
  */
2451
4070
  criteria?: 'everyEvent' | 'byParameter' | null;
2452
- /**
2453
- * Time range applied to the rule.
2454
- */
2455
- customRange?: SmartContract.CustomRange | null;
2456
4071
  /**
2457
4072
  * Event emitted by the smart contract.
2458
4073
  */
2459
4074
  event?: string | null;
2460
- /**
2461
- * Maximum value allowed for the parameter.
2462
- */
2463
- max?: number | null;
2464
4075
  /**
2465
4076
  * Array of parameters for the smart contract.
2466
4077
  */
2467
4078
  params?: Array<SmartContract.Param> | null;
2468
4079
  /**
2469
- * Flag indicating if a bonus is applied.
2470
- */
2471
- withBonus?: boolean | null;
2472
- /**
2473
- * Flag indicating if a custom range is applied.
2474
- */
2475
- withCustomRange?: boolean | null;
2476
- /**
2477
- * Flag indicating if a maximum limit is applied.
4080
+ * Type of the smart contract interaction.
2478
4081
  */
2479
- withMax?: boolean | null;
4082
+ type?: 'function' | 'event' | null;
2480
4083
  }
2481
4084
  namespace SmartContract {
2482
- interface Bonus {
2483
- /**
2484
- * Amount of the bonus.
2485
- */
2486
- amount?: number | null;
2487
- /**
2488
- * Number of times the bonus is applied.
2489
- */
2490
- count?: number | null;
2491
- }
2492
4085
  /**
2493
- * Time range applied to the rule.
4086
+ * Object containing details of the amount multiplier from the event.
2494
4087
  */
2495
- interface CustomRange {
2496
- /**
2497
- * End time of the custom range.
2498
- */
2499
- endsAt?: string | null;
4088
+ interface AmountMultiplier {
2500
4089
  /**
2501
- * Start time of the custom range.
4090
+ * Mapping of the value for the smart contract.
2502
4091
  */
2503
- startsAt?: string | null;
4092
+ valueMapping?: string | null;
2504
4093
  }
2505
4094
  interface Param {
2506
4095
  /**
@@ -2537,15 +4126,55 @@ export declare namespace RuleUpdateParams {
2537
4126
  */
2538
4127
  streakMilestone: number;
2539
4128
  }
4129
+ /**
4130
+ * Metadata for swap loyalty rules
4131
+ */
4132
+ interface Swap {
4133
+ provider?: 'any' | 'relay' | 'lifi';
4134
+ relayReferrerId?: string;
4135
+ requireCrossChainSwap?: boolean;
4136
+ swappedToChain?: 'any' | number | string;
4137
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4138
+ tokenMode?: 'any' | 'specific';
4139
+ trackTokenAmount?: boolean;
4140
+ }
4141
+ namespace Swap {
4142
+ interface SwappedToToken {
4143
+ address: string;
4144
+ chainId: string;
4145
+ }
4146
+ }
2540
4147
  }
2541
4148
  }
2542
4149
  export interface RuleListParams {
4150
+ /**
4151
+ * IDs of the users to filter results by
4152
+ */
4153
+ allotedToUserId?: string | Array<string>;
4154
+ /**
4155
+ * ID of the user group to filter results by
4156
+ */
4157
+ allotedUserGroupId?: string;
2543
4158
  /**
2544
4159
  * Address of the collection to filter by
2545
4160
  */
2546
4161
  collectionAddress?: string;
2547
4162
  /**
2548
- * Maximum number of records to return (max 1000)
4163
+ * Whether to include deleted/archived records
4164
+ */
4165
+ includeDeleted?: boolean | null;
4166
+ /**
4167
+ * If true this will only return active rules, the rules for which the startTime is
4168
+ * in the past and the endTime is in the future
4169
+ */
4170
+ isActive?: 'true' | 'false';
4171
+ /**
4172
+ * If true this will only return special rules, special rules are the rules that
4173
+ * are used for anti sybil as honey pot
4174
+ */
4175
+ isSpecial?: 'true' | 'false';
4176
+ /**
4177
+ * Maximum number of records to return (max 100)
2549
4178
  */
2550
4179
  limit?: number;
2551
4180
  /**
@@ -2569,6 +4198,12 @@ export interface RuleListParams {
2569
4198
  */
2570
4199
  websiteId?: string;
2571
4200
  }
4201
+ export interface RuleDeleteParams {
4202
+ /**
4203
+ * Whether to debit loyalty points
4204
+ */
4205
+ debitLoyaltyPoints?: string;
4206
+ }
2572
4207
  export interface RuleCompleteParams {
2573
4208
  /**
2574
4209
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -2576,13 +4211,25 @@ export interface RuleCompleteParams {
2576
4211
  */
2577
4212
  amount?: number | null;
2578
4213
  /**
2579
- * Link to the comment made by user
4214
+ * Link to the post/comment made by user
4215
+ */
4216
+ contentUrl?: string;
4217
+ /**
4218
+ * Unique key to ensure idempotent requests.
2580
4219
  */
2581
- commentLink?: string;
4220
+ idempotencyKey?: string;
2582
4221
  /**
2583
4222
  * ID of the choice selected by the user
2584
4223
  */
2585
4224
  loyaltyQuestionChoiceId?: string;
4225
+ /**
4226
+ * Value to compare with the range
4227
+ */
4228
+ rangeValue?: number | null;
4229
+ /**
4230
+ * Flag indicating if the chain or required check should be skipped.
4231
+ */
4232
+ skipChainOrRequiredCheck?: boolean;
2586
4233
  /**
2587
4234
  * Unique identifier for the user
2588
4235
  */
@@ -2593,7 +4240,7 @@ export interface RuleCompleteParams {
2593
4240
  verificationCode?: string;
2594
4241
  /**
2595
4242
  * Flag indicating if only verification is required, this will not create a
2596
- * transaction and reward the user
4243
+ * transaction and reward the user.
2597
4244
  */
2598
4245
  verifyOnly?: string;
2599
4246
  /**
@@ -2602,11 +4249,25 @@ export interface RuleCompleteParams {
2602
4249
  walletAddress?: string;
2603
4250
  }
2604
4251
  export interface RuleGetStatusParams {
2605
- organizationId: string;
2606
- websiteId: string;
4252
+ /**
4253
+ * Number of items to return
4254
+ */
4255
+ limit?: number | null;
4256
+ /**
4257
+ * Unique identifier for the loyalty rule[s]
4258
+ */
4259
+ loyaltyRuleId?: string | Array<string>;
4260
+ organizationId?: string;
4261
+ /**
4262
+ * Starting after item
4263
+ */
4264
+ startingAfter?: string;
4265
+ userGroupId?: string;
2607
4266
  userId?: string;
4267
+ walletAddress?: string;
4268
+ websiteId?: string;
2608
4269
  }
2609
4270
  export declare namespace Rules {
2610
- export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
4271
+ export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleDeleteParams as RuleDeleteParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
2611
4272
  }
2612
4273
  //# sourceMappingURL=rules.d.ts.map