@snagsolutions/sdk 0.1.0-alpha.19 → 0.1.0-alpha.191

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 +1552 -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 +343 -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 +2630 -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 +279 -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 +1902 -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 -248
  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 +34 -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 +528 -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 +3830 -100
  244. package/src/resources/loyalty/rule-groups.ts +491 -76
  245. package/src/resources/loyalty/rules.ts +2986 -310
  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 +683 -0
  249. package/src/resources/loyalty/transactions.ts +1 -440
  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 +57 -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
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_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';
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
  */
@@ -220,10 +339,6 @@ export declare namespace RuleCreateResponse {
220
339
  * Indicates if the item has never been sold.
221
340
  */
222
341
  hasNeverSold?: boolean;
223
- /**
224
- * Flag indicating whether the order source is included.
225
- */
226
- hasOrderSource?: boolean;
227
342
  /**
228
343
  * Indicates if the full royalty has been paid for items.
229
344
  */
@@ -240,10 +355,18 @@ export declare namespace RuleCreateResponse {
240
355
  * URL of the image associated with the rule.
241
356
  */
242
357
  imageUrl?: string | null;
358
+ /**
359
+ * If enabled, the first transaction done on the platform will complete this rule
360
+ */
361
+ isCheckInOnEveryTxn?: boolean;
243
362
  /**
244
363
  * Indicates if the multiplier has been applied to rewards.
245
364
  */
246
365
  isMultiplierApplied?: boolean;
366
+ /**
367
+ * Flag indicating if the rule is restricted to new users.
368
+ */
369
+ isRestrictedToNewUsers?: boolean;
247
370
  /**
248
371
  * Flag indicating if rewards are applied retroactively.
249
372
  */
@@ -256,6 +379,10 @@ export declare namespace RuleCreateResponse {
256
379
  * Optional link associated with the metadata.
257
380
  */
258
381
  link?: string | null;
382
+ /**
383
+ * Liquidity pool details.
384
+ */
385
+ liquidity?: Metadata.Liquidity;
259
386
  /**
260
387
  * Maximum quantity constraint for token holding.
261
388
  */
@@ -288,14 +415,22 @@ export declare namespace RuleCreateResponse {
288
415
  * give points for only one token ownership per contract
289
416
  */
290
417
  onlyRewardSingleTokenOwnership?: boolean | null;
291
- /**
292
- * Order source of the order for the token sale
293
- */
294
- orderSource?: string;
295
418
  /**
296
419
  * Promotional code associated with the rule.
297
420
  */
298
421
  promoCode?: string;
422
+ /**
423
+ * URL of the CSV file containing promo codes.
424
+ */
425
+ promoCodeCsvUrl?: string;
426
+ /**
427
+ * Numbers of the promotional code to be generated.
428
+ */
429
+ promoCodeLength?: number | null;
430
+ /**
431
+ * Type of the promotional code.
432
+ */
433
+ promoCodeType?: 'code' | 'csv' | 'generate';
299
434
  /**
300
435
  * Array defining ranges and corresponding rewards.
301
436
  */
@@ -308,10 +443,51 @@ export declare namespace RuleCreateResponse {
308
443
  * Lump sum reward given to a referrer.
309
444
  */
310
445
  referrerReward?: number | null;
446
+ /**
447
+ * Loyalty currency ID of the referrer reward.
448
+ */
449
+ referrerRewardLoyaltyCurrencyId?: string | null;
450
+ /**
451
+ * Flag indicating if the post link is required.
452
+ */
453
+ requirePostLink?: boolean | null;
454
+ /**
455
+ * Flag indicating if media metadata is required.
456
+ */
457
+ requirePostMediaLink?: boolean | null;
458
+ /**
459
+ * Flag indicating if the rule can also reward badges per range.
460
+ */
461
+ rewardBadgePerRange?: boolean;
462
+ /**
463
+ * Flag indicating if the reward is rewarded by batch.
464
+ */
465
+ rewardByBatch?: boolean | null;
466
+ /**
467
+ * Criteria to evaluate the reward.
468
+ */
469
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
470
+ /**
471
+ * Flag indicating if the reward is rewarded per action.
472
+ */
473
+ rewardPerAction?: boolean | null;
311
474
  /**
312
475
  * Flag indicating if rewards are given per impression.
313
476
  */
314
477
  rewardPerImpression?: boolean | null;
478
+ /**
479
+ * Flag indicating if the rule should reward based on value of traded tokens
480
+ * instead of count.
481
+ */
482
+ rewardPerValue?: boolean;
483
+ /**
484
+ * Wallet address of the user can only be used if userId is not provided
485
+ */
486
+ royaltyAddress?: string;
487
+ /**
488
+ * Royalty percentage of the item.
489
+ */
490
+ royaltyPercentage?: number;
315
491
  /**
316
492
  * Currency associated with sales.
317
493
  */
@@ -335,7 +511,7 @@ export declare namespace RuleCreateResponse {
335
511
  /**
336
512
  * Social media platform associated with the rule.
337
513
  */
338
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
514
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
339
515
  /**
340
516
  * URL of the social platform's logo.
341
517
  */
@@ -344,10 +520,18 @@ export declare namespace RuleCreateResponse {
344
520
  * Name of the social platform.
345
521
  */
346
522
  socialPlatformName?: string | null;
523
+ /**
524
+ * ID of the Steam app.
525
+ */
526
+ steamAppId?: string | null;
347
527
  /**
348
528
  * Array of streak milestones and corresponding rewards.
349
529
  */
350
530
  streakArray?: Array<Metadata.StreakArray> | null;
531
+ /**
532
+ * Metadata for swap loyalty rules
533
+ */
534
+ swap?: Metadata.Swap;
351
535
  /**
352
536
  * ID of the Telegram channel.
353
537
  */
@@ -360,6 +544,11 @@ export declare namespace RuleCreateResponse {
360
544
  * Flag indicating if all contracts are tracked.
361
545
  */
362
546
  trackAllContracts?: boolean | null;
547
+ /**
548
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
549
+ * completed once the progress is 100%.
550
+ */
551
+ trackProgress?: boolean | null;
363
552
  /**
364
553
  * URL of the associated Twitter account.
365
554
  */
@@ -395,7 +584,15 @@ export declare namespace RuleCreateResponse {
395
584
  /**
396
585
  * Type of wallet associated with the rule.
397
586
  */
398
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
587
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
588
+ /**
589
+ * ID of the Youtube channel.
590
+ */
591
+ youtubeChannelId?: string | null;
592
+ /**
593
+ * ID of the Youtube video.
594
+ */
595
+ youtubeVideoId?: string | null;
399
596
  }
400
597
  namespace Metadata {
401
598
  interface Collection {
@@ -410,7 +607,7 @@ export declare namespace RuleCreateResponse {
410
607
  /**
411
608
  * Blockchain network of the collection.
412
609
  */
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';
610
+ 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
611
  }
415
612
  /**
416
613
  * Object containing details for the call-to-action.
@@ -475,6 +672,49 @@ export declare namespace RuleCreateResponse {
475
672
  */
476
673
  id: string;
477
674
  }
675
+ /**
676
+ * Liquidity pool details.
677
+ */
678
+ interface Liquidity {
679
+ /**
680
+ * Calculation type of the liquidity pool.
681
+ */
682
+ calculationType?: 'fixed' | 'custom';
683
+ /**
684
+ * Custom function to calculate the the reward amount based on the liquidity
685
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
686
+ * USD.
687
+ */
688
+ customFunction?: string;
689
+ /**
690
+ * Liquidity provided per day in USD
691
+ */
692
+ liquidityPerDay?: number;
693
+ /**
694
+ * Blockchain network of the liquidity pool.
695
+ */
696
+ 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';
697
+ /**
698
+ * Indicates if only in-range liquidity is rewarded.
699
+ */
700
+ onlyRewardInRangeLiquidity?: boolean;
701
+ /**
702
+ * Array of liquidity pools associated with the rule.
703
+ */
704
+ pools?: Array<Liquidity.Pool>;
705
+ /**
706
+ * Protocol of the liquidity pool.
707
+ */
708
+ protocol?: string;
709
+ }
710
+ namespace Liquidity {
711
+ interface Pool {
712
+ /**
713
+ * Unique identifier of the liquidity pool.
714
+ */
715
+ id: string;
716
+ }
717
+ }
478
718
  interface Range {
479
719
  /**
480
720
  * Reward amount for this range.
@@ -488,6 +728,14 @@ export declare namespace RuleCreateResponse {
488
728
  * Start value of the range.
489
729
  */
490
730
  startRange: number;
731
+ /**
732
+ * ID of the loyalty badge for this range.
733
+ */
734
+ loyaltyBadgeId?: string;
735
+ /**
736
+ * Amount of the loyalty multiplier for this range.
737
+ */
738
+ loyaltyMultiplierAmount?: number;
491
739
  }
492
740
  /**
493
741
  * Object defining referral requirements.
@@ -531,18 +779,14 @@ export declare namespace RuleCreateResponse {
531
779
  * Object containing details of the associated smart contract.
532
780
  */
533
781
  interface SmartContract {
534
- /**
535
- * ABI of the smart contract.
536
- */
537
- abi?: string | null;
538
782
  /**
539
783
  * Mapping of addresses for the smart contract.
540
784
  */
541
785
  addressMapping?: string | null;
542
786
  /**
543
- * Array of bonus details applied to the rule.
787
+ * Object containing details of the amount multiplier from the event.
544
788
  */
545
- bonus?: Array<SmartContract.Bonus> | null;
789
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
546
790
  /**
547
791
  * ID of the smart contract.
548
792
  */
@@ -551,58 +795,28 @@ export declare namespace RuleCreateResponse {
551
795
  * Criteria to evaluate the smart contract event.
552
796
  */
553
797
  criteria?: 'everyEvent' | 'byParameter' | null;
554
- /**
555
- * Time range applied to the rule.
556
- */
557
- customRange?: SmartContract.CustomRange | null;
558
798
  /**
559
799
  * Event emitted by the smart contract.
560
800
  */
561
801
  event?: string | null;
562
- /**
563
- * Maximum value allowed for the parameter.
564
- */
565
- max?: number | null;
566
802
  /**
567
803
  * Array of parameters for the smart contract.
568
804
  */
569
805
  params?: Array<SmartContract.Param> | null;
570
806
  /**
571
- * Flag indicating if a bonus is applied.
572
- */
573
- withBonus?: boolean | null;
574
- /**
575
- * Flag indicating if a custom range is applied.
807
+ * Type of the smart contract interaction.
576
808
  */
577
- withCustomRange?: boolean | null;
578
- /**
579
- * Flag indicating if a maximum limit is applied.
580
- */
581
- withMax?: boolean | null;
809
+ type?: 'function' | 'event' | null;
582
810
  }
583
811
  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
812
  /**
595
- * Time range applied to the rule.
813
+ * Object containing details of the amount multiplier from the event.
596
814
  */
597
- interface CustomRange {
815
+ interface AmountMultiplier {
598
816
  /**
599
- * End time of the custom range.
817
+ * Mapping of the value for the smart contract.
600
818
  */
601
- endsAt?: string | null;
602
- /**
603
- * Start time of the custom range.
604
- */
605
- startsAt?: string | null;
819
+ valueMapping?: string | null;
606
820
  }
607
821
  interface Param {
608
822
  /**
@@ -639,6 +853,24 @@ export declare namespace RuleCreateResponse {
639
853
  */
640
854
  streakMilestone: number;
641
855
  }
856
+ /**
857
+ * Metadata for swap loyalty rules
858
+ */
859
+ interface Swap {
860
+ provider?: 'any' | 'relay' | 'lifi';
861
+ relayReferrerId?: string;
862
+ requireCrossChainSwap?: boolean;
863
+ swappedToChain?: 'any' | number | string;
864
+ swappedToTokens?: Array<Swap.SwappedToToken>;
865
+ tokenMode?: 'any' | 'specific';
866
+ trackTokenAmount?: boolean;
867
+ }
868
+ namespace Swap {
869
+ interface SwappedToToken {
870
+ address: string;
871
+ chainId: string;
872
+ }
873
+ }
642
874
  }
643
875
  interface Collection {
644
876
  /**
@@ -648,7 +880,11 @@ export declare namespace RuleCreateResponse {
648
880
  /**
649
881
  * Blockchain network for the collection
650
882
  */
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';
883
+ 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';
884
+ /**
885
+ * Symbol of the collection.
886
+ */
887
+ symbol?: string;
652
888
  }
653
889
  }
654
890
  export interface RuleUpdateResponse {
@@ -665,10 +901,14 @@ export interface RuleUpdateResponse {
665
901
  * Name of the loyalty rule
666
902
  */
667
903
  name: string;
904
+ /**
905
+ * The type of claim for the reward
906
+ */
907
+ claimType?: 'manual' | 'auto' | null;
668
908
  /**
669
909
  * Blockchain address of the associated collection
670
910
  */
671
- collectionAddress?: string;
911
+ collectionAddress?: string | null;
672
912
  /**
673
913
  * List of associated collections
674
914
  */
@@ -693,10 +933,18 @@ export interface RuleUpdateResponse {
693
933
  * Effective start time of the rule
694
934
  */
695
935
  effectiveStartTime?: string | null;
936
+ /**
937
+ * ID of the external integration
938
+ */
939
+ externalIntegrationId?: string | null;
696
940
  /**
697
941
  * Frequency of the rule execution
698
942
  */
699
943
  frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
944
+ /**
945
+ * Optional stratus function id for the rule
946
+ */
947
+ functionId?: string | null;
700
948
  /**
701
949
  * Whether to hide this rule in the user interface
702
950
  */
@@ -704,7 +952,7 @@ export interface RuleUpdateResponse {
704
952
  /**
705
953
  * Time interval for recurring rule execution
706
954
  */
707
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
955
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
708
956
  /**
709
957
  * Whether this rule is required for participation
710
958
  */
@@ -713,6 +961,16 @@ export interface RuleUpdateResponse {
713
961
  * ID of the rule group section to associate with the rule
714
962
  */
715
963
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
964
+ /**
965
+ * The interval for the max amount. Available for the smart contract and external
966
+ * rules.
967
+ */
968
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
969
+ /**
970
+ * The maximum amount of points a user can earn per interval. Available for the
971
+ * smart contract and external rules.
972
+ */
973
+ maxAmountPerInterval?: number | null;
716
974
  /**
717
975
  * URL of the media to be displayed
718
976
  */
@@ -724,23 +982,35 @@ export interface RuleUpdateResponse {
724
982
  /**
725
983
  * Blockchain network where the rule will apply
726
984
  */
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';
985
+ 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
986
  /**
729
987
  * ID for associated OAuth credentials
730
988
  */
731
989
  oauthCredentialsId?: string | null;
990
+ /**
991
+ * The lifetime of the reward
992
+ */
993
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
732
994
  /**
733
995
  * Type of reward issued by this rule
734
996
  */
735
- rewardType?: 'points' | 'multiplier';
997
+ rewardType?: 'points' | 'multiplier' | 'badge';
998
+ /**
999
+ * URL of the Shopify store
1000
+ */
1001
+ shopifyStoreUrl?: string | null;
1002
+ /**
1003
+ * Whether to show this rule before the start time
1004
+ */
1005
+ showBeforeStart?: boolean;
736
1006
  /**
737
1007
  * Start time for the loyalty rule
738
1008
  */
739
1009
  startTime?: string | null;
740
1010
  /**
741
- * Optional subscription identifier for the rule
1011
+ * Optional stratus subscription id for the rule
742
1012
  */
743
- subscriptionIdentifier?: string | null;
1013
+ subscriptionId?: string | null;
744
1014
  }
745
1015
  export declare namespace RuleUpdateResponse {
746
1016
  interface Collection {
@@ -751,12 +1021,20 @@ export declare namespace RuleUpdateResponse {
751
1021
  /**
752
1022
  * Blockchain network for the collection
753
1023
  */
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';
1024
+ 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';
1025
+ /**
1026
+ * Symbol of the collection.
1027
+ */
1028
+ symbol?: string;
755
1029
  }
756
1030
  /**
757
1031
  * Additional metadata for the loyalty rule
758
1032
  */
759
1033
  interface Metadata {
1034
+ /**
1035
+ * Number of tokens per batch.
1036
+ */
1037
+ batchSize?: number | null;
760
1038
  /**
761
1039
  * Text displayed on the action button.
762
1040
  */
@@ -776,7 +1054,7 @@ export declare namespace RuleUpdateResponse {
776
1054
  /**
777
1055
  * Text to check in the Twitter post, username, or bio.
778
1056
  */
779
- checkText?: string | null;
1057
+ checkText?: string | Array<string> | null;
780
1058
  /**
781
1059
  * Array of collections associated with the rule.
782
1060
  */
@@ -784,7 +1062,13 @@ export declare namespace RuleUpdateResponse {
784
1062
  /**
785
1063
  * Conditions for completing the profile.
786
1064
  */
787
- completeProfileConditions?: Record<string, boolean> | null;
1065
+ completeProfileConditions?: {
1066
+ [key: string]: boolean;
1067
+ } | null;
1068
+ /**
1069
+ * Description of the external rule condition (only for external rules)
1070
+ */
1071
+ conditionDescription?: string;
788
1072
  /**
789
1073
  * Object containing details for the call-to-action.
790
1074
  */
@@ -793,6 +1077,10 @@ export declare namespace RuleUpdateResponse {
793
1077
  * API key for custom rewards integration.
794
1078
  */
795
1079
  customRewardsApiKey?: string;
1080
+ /**
1081
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1082
+ */
1083
+ directRpc?: boolean;
796
1084
  /**
797
1085
  * Array of Discord servers, channels, and roles to join.
798
1086
  */
@@ -813,6 +1101,10 @@ export declare namespace RuleUpdateResponse {
813
1101
  * Flag indicating whether the verified multiplier is enabled.
814
1102
  */
815
1103
  enableVerifiedMultiplier?: boolean;
1104
+ /**
1105
+ * Type of ERC20 token for the loyalty rule.
1106
+ */
1107
+ erc20Type?: 'erc20' | 'native';
816
1108
  /**
817
1109
  * Fill source of the order for the token sale
818
1110
  */
@@ -829,10 +1121,6 @@ export declare namespace RuleUpdateResponse {
829
1121
  * Indicates if the item has never been sold.
830
1122
  */
831
1123
  hasNeverSold?: boolean;
832
- /**
833
- * Flag indicating whether the order source is included.
834
- */
835
- hasOrderSource?: boolean;
836
1124
  /**
837
1125
  * Indicates if the full royalty has been paid for items.
838
1126
  */
@@ -849,10 +1137,18 @@ export declare namespace RuleUpdateResponse {
849
1137
  * URL of the image associated with the rule.
850
1138
  */
851
1139
  imageUrl?: string | null;
1140
+ /**
1141
+ * If enabled, the first transaction done on the platform will complete this rule
1142
+ */
1143
+ isCheckInOnEveryTxn?: boolean;
852
1144
  /**
853
1145
  * Indicates if the multiplier has been applied to rewards.
854
1146
  */
855
1147
  isMultiplierApplied?: boolean;
1148
+ /**
1149
+ * Flag indicating if the rule is restricted to new users.
1150
+ */
1151
+ isRestrictedToNewUsers?: boolean;
856
1152
  /**
857
1153
  * Flag indicating if rewards are applied retroactively.
858
1154
  */
@@ -865,6 +1161,10 @@ export declare namespace RuleUpdateResponse {
865
1161
  * Optional link associated with the metadata.
866
1162
  */
867
1163
  link?: string | null;
1164
+ /**
1165
+ * Liquidity pool details.
1166
+ */
1167
+ liquidity?: Metadata.Liquidity;
868
1168
  /**
869
1169
  * Maximum quantity constraint for token holding.
870
1170
  */
@@ -897,14 +1197,22 @@ export declare namespace RuleUpdateResponse {
897
1197
  * give points for only one token ownership per contract
898
1198
  */
899
1199
  onlyRewardSingleTokenOwnership?: boolean | null;
900
- /**
901
- * Order source of the order for the token sale
902
- */
903
- orderSource?: string;
904
1200
  /**
905
1201
  * Promotional code associated with the rule.
906
1202
  */
907
1203
  promoCode?: string;
1204
+ /**
1205
+ * URL of the CSV file containing promo codes.
1206
+ */
1207
+ promoCodeCsvUrl?: string;
1208
+ /**
1209
+ * Numbers of the promotional code to be generated.
1210
+ */
1211
+ promoCodeLength?: number | null;
1212
+ /**
1213
+ * Type of the promotional code.
1214
+ */
1215
+ promoCodeType?: 'code' | 'csv' | 'generate';
908
1216
  /**
909
1217
  * Array defining ranges and corresponding rewards.
910
1218
  */
@@ -917,10 +1225,51 @@ export declare namespace RuleUpdateResponse {
917
1225
  * Lump sum reward given to a referrer.
918
1226
  */
919
1227
  referrerReward?: number | null;
1228
+ /**
1229
+ * Loyalty currency ID of the referrer reward.
1230
+ */
1231
+ referrerRewardLoyaltyCurrencyId?: string | null;
1232
+ /**
1233
+ * Flag indicating if the post link is required.
1234
+ */
1235
+ requirePostLink?: boolean | null;
1236
+ /**
1237
+ * Flag indicating if media metadata is required.
1238
+ */
1239
+ requirePostMediaLink?: boolean | null;
1240
+ /**
1241
+ * Flag indicating if the rule can also reward badges per range.
1242
+ */
1243
+ rewardBadgePerRange?: boolean;
1244
+ /**
1245
+ * Flag indicating if the reward is rewarded by batch.
1246
+ */
1247
+ rewardByBatch?: boolean | null;
1248
+ /**
1249
+ * Criteria to evaluate the reward.
1250
+ */
1251
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1252
+ /**
1253
+ * Flag indicating if the reward is rewarded per action.
1254
+ */
1255
+ rewardPerAction?: boolean | null;
920
1256
  /**
921
1257
  * Flag indicating if rewards are given per impression.
922
1258
  */
923
1259
  rewardPerImpression?: boolean | null;
1260
+ /**
1261
+ * Flag indicating if the rule should reward based on value of traded tokens
1262
+ * instead of count.
1263
+ */
1264
+ rewardPerValue?: boolean;
1265
+ /**
1266
+ * Wallet address of the user can only be used if userId is not provided
1267
+ */
1268
+ royaltyAddress?: string;
1269
+ /**
1270
+ * Royalty percentage of the item.
1271
+ */
1272
+ royaltyPercentage?: number;
924
1273
  /**
925
1274
  * Currency associated with sales.
926
1275
  */
@@ -944,7 +1293,7 @@ export declare namespace RuleUpdateResponse {
944
1293
  /**
945
1294
  * Social media platform associated with the rule.
946
1295
  */
947
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
1296
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
948
1297
  /**
949
1298
  * URL of the social platform's logo.
950
1299
  */
@@ -953,10 +1302,18 @@ export declare namespace RuleUpdateResponse {
953
1302
  * Name of the social platform.
954
1303
  */
955
1304
  socialPlatformName?: string | null;
1305
+ /**
1306
+ * ID of the Steam app.
1307
+ */
1308
+ steamAppId?: string | null;
956
1309
  /**
957
1310
  * Array of streak milestones and corresponding rewards.
958
1311
  */
959
1312
  streakArray?: Array<Metadata.StreakArray> | null;
1313
+ /**
1314
+ * Metadata for swap loyalty rules
1315
+ */
1316
+ swap?: Metadata.Swap;
960
1317
  /**
961
1318
  * ID of the Telegram channel.
962
1319
  */
@@ -969,6 +1326,11 @@ export declare namespace RuleUpdateResponse {
969
1326
  * Flag indicating if all contracts are tracked.
970
1327
  */
971
1328
  trackAllContracts?: boolean | null;
1329
+ /**
1330
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1331
+ * completed once the progress is 100%.
1332
+ */
1333
+ trackProgress?: boolean | null;
972
1334
  /**
973
1335
  * URL of the associated Twitter account.
974
1336
  */
@@ -1004,7 +1366,15 @@ export declare namespace RuleUpdateResponse {
1004
1366
  /**
1005
1367
  * Type of wallet associated with the rule.
1006
1368
  */
1007
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1369
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
1370
+ /**
1371
+ * ID of the Youtube channel.
1372
+ */
1373
+ youtubeChannelId?: string | null;
1374
+ /**
1375
+ * ID of the Youtube video.
1376
+ */
1377
+ youtubeVideoId?: string | null;
1008
1378
  }
1009
1379
  namespace Metadata {
1010
1380
  interface Collection {
@@ -1019,7 +1389,7 @@ export declare namespace RuleUpdateResponse {
1019
1389
  /**
1020
1390
  * Blockchain network of the collection.
1021
1391
  */
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';
1392
+ 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
1393
  }
1024
1394
  /**
1025
1395
  * Object containing details for the call-to-action.
@@ -1084,6 +1454,49 @@ export declare namespace RuleUpdateResponse {
1084
1454
  */
1085
1455
  id: string;
1086
1456
  }
1457
+ /**
1458
+ * Liquidity pool details.
1459
+ */
1460
+ interface Liquidity {
1461
+ /**
1462
+ * Calculation type of the liquidity pool.
1463
+ */
1464
+ calculationType?: 'fixed' | 'custom';
1465
+ /**
1466
+ * Custom function to calculate the the reward amount based on the liquidity
1467
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1468
+ * USD.
1469
+ */
1470
+ customFunction?: string;
1471
+ /**
1472
+ * Liquidity provided per day in USD
1473
+ */
1474
+ liquidityPerDay?: number;
1475
+ /**
1476
+ * Blockchain network of the liquidity pool.
1477
+ */
1478
+ 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';
1479
+ /**
1480
+ * Indicates if only in-range liquidity is rewarded.
1481
+ */
1482
+ onlyRewardInRangeLiquidity?: boolean;
1483
+ /**
1484
+ * Array of liquidity pools associated with the rule.
1485
+ */
1486
+ pools?: Array<Liquidity.Pool>;
1487
+ /**
1488
+ * Protocol of the liquidity pool.
1489
+ */
1490
+ protocol?: string;
1491
+ }
1492
+ namespace Liquidity {
1493
+ interface Pool {
1494
+ /**
1495
+ * Unique identifier of the liquidity pool.
1496
+ */
1497
+ id: string;
1498
+ }
1499
+ }
1087
1500
  interface Range {
1088
1501
  /**
1089
1502
  * Reward amount for this range.
@@ -1097,6 +1510,14 @@ export declare namespace RuleUpdateResponse {
1097
1510
  * Start value of the range.
1098
1511
  */
1099
1512
  startRange: number;
1513
+ /**
1514
+ * ID of the loyalty badge for this range.
1515
+ */
1516
+ loyaltyBadgeId?: string;
1517
+ /**
1518
+ * Amount of the loyalty multiplier for this range.
1519
+ */
1520
+ loyaltyMultiplierAmount?: number;
1100
1521
  }
1101
1522
  /**
1102
1523
  * Object defining referral requirements.
@@ -1140,18 +1561,14 @@ export declare namespace RuleUpdateResponse {
1140
1561
  * Object containing details of the associated smart contract.
1141
1562
  */
1142
1563
  interface SmartContract {
1143
- /**
1144
- * ABI of the smart contract.
1145
- */
1146
- abi?: string | null;
1147
1564
  /**
1148
1565
  * Mapping of addresses for the smart contract.
1149
1566
  */
1150
1567
  addressMapping?: string | null;
1151
1568
  /**
1152
- * Array of bonus details applied to the rule.
1569
+ * Object containing details of the amount multiplier from the event.
1153
1570
  */
1154
- bonus?: Array<SmartContract.Bonus> | null;
1571
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1155
1572
  /**
1156
1573
  * ID of the smart contract.
1157
1574
  */
@@ -1160,58 +1577,28 @@ export declare namespace RuleUpdateResponse {
1160
1577
  * Criteria to evaluate the smart contract event.
1161
1578
  */
1162
1579
  criteria?: 'everyEvent' | 'byParameter' | null;
1163
- /**
1164
- * Time range applied to the rule.
1165
- */
1166
- customRange?: SmartContract.CustomRange | null;
1167
1580
  /**
1168
1581
  * Event emitted by the smart contract.
1169
1582
  */
1170
1583
  event?: string | null;
1171
- /**
1172
- * Maximum value allowed for the parameter.
1173
- */
1174
- max?: number | null;
1175
1584
  /**
1176
1585
  * Array of parameters for the smart contract.
1177
1586
  */
1178
1587
  params?: Array<SmartContract.Param> | null;
1179
1588
  /**
1180
- * Flag indicating if a bonus is applied.
1181
- */
1182
- withBonus?: boolean | null;
1183
- /**
1184
- * Flag indicating if a custom range is applied.
1589
+ * Type of the smart contract interaction.
1185
1590
  */
1186
- withCustomRange?: boolean | null;
1187
- /**
1188
- * Flag indicating if a maximum limit is applied.
1189
- */
1190
- withMax?: boolean | null;
1591
+ type?: 'function' | 'event' | null;
1191
1592
  }
1192
1593
  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
1594
  /**
1204
- * Time range applied to the rule.
1595
+ * Object containing details of the amount multiplier from the event.
1205
1596
  */
1206
- interface CustomRange {
1597
+ interface AmountMultiplier {
1207
1598
  /**
1208
- * End time of the custom range.
1599
+ * Mapping of the value for the smart contract.
1209
1600
  */
1210
- endsAt?: string | null;
1211
- /**
1212
- * Start time of the custom range.
1213
- */
1214
- startsAt?: string | null;
1601
+ valueMapping?: string | null;
1215
1602
  }
1216
1603
  interface Param {
1217
1604
  /**
@@ -1248,6 +1635,24 @@ export declare namespace RuleUpdateResponse {
1248
1635
  */
1249
1636
  streakMilestone: number;
1250
1637
  }
1638
+ /**
1639
+ * Metadata for swap loyalty rules
1640
+ */
1641
+ interface Swap {
1642
+ provider?: 'any' | 'relay' | 'lifi';
1643
+ relayReferrerId?: string;
1644
+ requireCrossChainSwap?: boolean;
1645
+ swappedToChain?: 'any' | number | string;
1646
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1647
+ tokenMode?: 'any' | 'specific';
1648
+ trackTokenAmount?: boolean;
1649
+ }
1650
+ namespace Swap {
1651
+ interface SwappedToToken {
1652
+ address: string;
1653
+ chainId: string;
1654
+ }
1655
+ }
1251
1656
  }
1252
1657
  }
1253
1658
  export interface RuleListResponse {
@@ -1255,9 +1660,6 @@ export interface RuleListResponse {
1255
1660
  hasNextPage: boolean;
1256
1661
  }
1257
1662
  export declare namespace RuleListResponse {
1258
- /**
1259
- * Schema for a loyalty rule
1260
- */
1261
1663
  interface Data {
1262
1664
  /**
1263
1665
  * Unique identifier for the loyalty rule
@@ -1266,7 +1668,7 @@ export declare namespace RuleListResponse {
1266
1668
  /**
1267
1669
  * Amount associated with the loyalty rule
1268
1670
  */
1269
- amount: number;
1671
+ amount: number | null;
1270
1672
  /**
1271
1673
  * Timestamp when the loyalty rule was created
1272
1674
  */
@@ -1275,16 +1677,40 @@ export declare namespace RuleListResponse {
1275
1677
  * Timestamp when the loyalty rule was deleted (if applicable)
1276
1678
  */
1277
1679
  deletedAt: string | null;
1680
+ /**
1681
+ * Description of the loyalty rule
1682
+ */
1683
+ description: string;
1684
+ /**
1685
+ * End time of the loyalty rule
1686
+ */
1687
+ endTime: string | null;
1278
1688
  /**
1279
1689
  * Frequency of the loyalty rule
1280
1690
  */
1281
1691
  frequency: string;
1282
1692
  /**
1283
- * Unique identifier for the organization
1693
+ * Chains attached to the loyalty rule
1284
1694
  */
1285
- organizationId: string;
1695
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1286
1696
  /**
1287
- * Type of the loyalty rule
1697
+ * Name of the loyalty rule
1698
+ */
1699
+ name: string;
1700
+ /**
1701
+ * Unique identifier for the organization
1702
+ */
1703
+ organizationId: string;
1704
+ /**
1705
+ * Type of the reward
1706
+ */
1707
+ rewardType: 'points' | 'multiplier' | 'badge';
1708
+ /**
1709
+ * Start time of the loyalty rule
1710
+ */
1711
+ startTime: string | null;
1712
+ /**
1713
+ * Type of the loyalty rule
1288
1714
  */
1289
1715
  type: string;
1290
1716
  /**
@@ -1299,10 +1725,723 @@ export declare namespace RuleListResponse {
1299
1725
  * Optional address of the collection
1300
1726
  */
1301
1727
  collectionAddress?: string;
1728
+ /**
1729
+ * URL of the media associated with the loyalty rule
1730
+ */
1731
+ mediaUrl?: string | null;
1302
1732
  /**
1303
1733
  * Optional metadata for the loyalty rule
1304
1734
  */
1305
- metadata?: Record<string, unknown>;
1735
+ metadata?: {
1736
+ [key: string]: Data.Metadata;
1737
+ };
1738
+ }
1739
+ namespace Data {
1740
+ interface LoyaltyRuleChain {
1741
+ /**
1742
+ * Unique identifier for the rule chain
1743
+ */
1744
+ id: string;
1745
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1746
+ /**
1747
+ * Unique identifier for the loyalty rule
1748
+ */
1749
+ loyaltyRuleId: string;
1750
+ /**
1751
+ * Name of the rule chain
1752
+ */
1753
+ name: string;
1754
+ }
1755
+ namespace LoyaltyRuleChain {
1756
+ interface LoyaltyCondition {
1757
+ /**
1758
+ * Unique identifier for the condition
1759
+ */
1760
+ id: string;
1761
+ /**
1762
+ * Amount of the condition
1763
+ */
1764
+ amount: number | null;
1765
+ association: Array<LoyaltyCondition.Association>;
1766
+ /**
1767
+ * URL of the CSV file
1768
+ */
1769
+ csvUrl: string | null;
1770
+ /**
1771
+ * Description of the condition
1772
+ */
1773
+ description: string | null;
1774
+ /**
1775
+ * Number of times the condition must be met
1776
+ */
1777
+ repeatCount: number | null;
1778
+ /**
1779
+ * Number of times the condition must be met
1780
+ */
1781
+ requiredCount: number | null;
1782
+ /**
1783
+ * Type of the condition
1784
+ */
1785
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1786
+ }
1787
+ namespace LoyaltyCondition {
1788
+ interface Association {
1789
+ /**
1790
+ * Unique identifier for the association
1791
+ */
1792
+ id: string;
1793
+ /**
1794
+ * Unique identifier for the loyalty badge
1795
+ */
1796
+ loyaltyBadgeId: string | null;
1797
+ /**
1798
+ * Unique identifier for the loyalty currency
1799
+ */
1800
+ loyaltyCurrencyId: string | null;
1801
+ loyaltyRule: Association.LoyaltyRule | null;
1802
+ /**
1803
+ * Unique identifier for the loyalty rule group
1804
+ */
1805
+ loyaltyRuleGroupId: string | null;
1806
+ /**
1807
+ * Unique identifier for the loyalty rule
1808
+ */
1809
+ loyaltyRuleId: string | null;
1810
+ }
1811
+ namespace Association {
1812
+ interface LoyaltyRule {
1813
+ /**
1814
+ * Name of the loyalty rule
1815
+ */
1816
+ name: string;
1817
+ }
1818
+ }
1819
+ }
1820
+ }
1821
+ interface Metadata {
1822
+ /**
1823
+ * Number of tokens per batch.
1824
+ */
1825
+ batchSize?: number | null;
1826
+ /**
1827
+ * Text displayed on the action button.
1828
+ */
1829
+ buttonText?: string | null;
1830
+ /**
1831
+ * Flag indicating if commenting is required.
1832
+ */
1833
+ checkComment?: boolean | null;
1834
+ /**
1835
+ * Flag indicating if liking the post is required.
1836
+ */
1837
+ checkLike?: boolean | null;
1838
+ /**
1839
+ * Flag indicating if reposting is required.
1840
+ */
1841
+ checkRepost?: boolean | null;
1842
+ /**
1843
+ * Text to check in the Twitter post, username, or bio.
1844
+ */
1845
+ checkText?: string | Array<string> | null;
1846
+ /**
1847
+ * Array of collections associated with the rule.
1848
+ */
1849
+ collection?: Array<Metadata.Collection>;
1850
+ /**
1851
+ * Conditions for completing the profile.
1852
+ */
1853
+ completeProfileConditions?: {
1854
+ [key: string]: boolean;
1855
+ } | null;
1856
+ /**
1857
+ * Description of the external rule condition (only for external rules)
1858
+ */
1859
+ conditionDescription?: string;
1860
+ /**
1861
+ * Object containing details for the call-to-action.
1862
+ */
1863
+ cta?: Metadata.Cta | null;
1864
+ /**
1865
+ * API key for custom rewards integration.
1866
+ */
1867
+ customRewardsApiKey?: string;
1868
+ /**
1869
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1870
+ */
1871
+ directRpc?: boolean;
1872
+ /**
1873
+ * Array of Discord servers, channels, and roles to join.
1874
+ */
1875
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1876
+ /**
1877
+ * Array of drip quests required to complete the rule.
1878
+ */
1879
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1880
+ /**
1881
+ * Flag indicating whether joining Discord servers is required.
1882
+ */
1883
+ enableJoinDiscordServers?: boolean | null;
1884
+ /**
1885
+ * Flag indicating whether streaks are enabled.
1886
+ */
1887
+ enableStreaks?: boolean | null;
1888
+ /**
1889
+ * Flag indicating whether the verified multiplier is enabled.
1890
+ */
1891
+ enableVerifiedMultiplier?: boolean;
1892
+ /**
1893
+ * Type of ERC20 token for the loyalty rule.
1894
+ */
1895
+ erc20Type?: 'erc20' | 'native';
1896
+ /**
1897
+ * Fill source of the order for the token sale
1898
+ */
1899
+ fillSource?: string;
1900
+ /**
1901
+ * Percentage reward given to a user for their first referral.
1902
+ */
1903
+ firstReferralReward?: number | null;
1904
+ /**
1905
+ * Flag indicating whether the fill source is included.
1906
+ */
1907
+ hasFillSource?: boolean;
1908
+ /**
1909
+ * Indicates if the item has never been sold.
1910
+ */
1911
+ hasNeverSold?: boolean;
1912
+ /**
1913
+ * Indicates if the full royalty has been paid for items.
1914
+ */
1915
+ hasPaidFullRoyalty?: boolean;
1916
+ /**
1917
+ * Flag indicating if the sale currency is included.
1918
+ */
1919
+ hasSaleCurrency?: boolean;
1920
+ /**
1921
+ * Indicates if the user has a verified Twitter account.
1922
+ */
1923
+ hasVerifiedTwitter?: boolean;
1924
+ /**
1925
+ * URL of the image associated with the rule.
1926
+ */
1927
+ imageUrl?: string | null;
1928
+ /**
1929
+ * If enabled, the first transaction done on the platform will complete this rule
1930
+ */
1931
+ isCheckInOnEveryTxn?: boolean;
1932
+ /**
1933
+ * Indicates if the multiplier has been applied to rewards.
1934
+ */
1935
+ isMultiplierApplied?: boolean;
1936
+ /**
1937
+ * Flag indicating if the rule is restricted to new users.
1938
+ */
1939
+ isRestrictedToNewUsers?: boolean;
1940
+ /**
1941
+ * Flag indicating if rewards are applied retroactively.
1942
+ */
1943
+ isRetroactive?: boolean | null;
1944
+ /**
1945
+ * Flag indicating if the token hold multiplier is applied.
1946
+ */
1947
+ isTokenHoldMultiplier?: boolean;
1948
+ /**
1949
+ * Optional link associated with the metadata.
1950
+ */
1951
+ link?: string | null;
1952
+ /**
1953
+ * Liquidity pool details.
1954
+ */
1955
+ liquidity?: Metadata.Liquidity;
1956
+ /**
1957
+ * Maximum quantity constraint for token holding.
1958
+ */
1959
+ maxQty?: number | null;
1960
+ /**
1961
+ * Minimum quantity constraint for token holding.
1962
+ */
1963
+ minQty?: number | null;
1964
+ /**
1965
+ * Array of loyalty currency IDs used for multipliers.
1966
+ */
1967
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1968
+ /**
1969
+ * Flag indicating whether to include only known users.
1970
+ */
1971
+ onlyKnownUsers?: boolean;
1972
+ /**
1973
+ * Flag indicating whether to include only native tokens.
1974
+ */
1975
+ onlyNative?: boolean;
1976
+ /**
1977
+ * Flag indicating whether to include only non-listed items.
1978
+ */
1979
+ onlyNonListed?: boolean;
1980
+ /**
1981
+ * Indicates if only existing users are rewarded.
1982
+ */
1983
+ onlyRewardExistingUser?: boolean;
1984
+ /**
1985
+ * give points for only one token ownership per contract
1986
+ */
1987
+ onlyRewardSingleTokenOwnership?: boolean | null;
1988
+ /**
1989
+ * Promotional code associated with the rule.
1990
+ */
1991
+ promoCode?: string;
1992
+ /**
1993
+ * URL of the CSV file containing promo codes.
1994
+ */
1995
+ promoCodeCsvUrl?: string;
1996
+ /**
1997
+ * Numbers of the promotional code to be generated.
1998
+ */
1999
+ promoCodeLength?: number | null;
2000
+ /**
2001
+ * Type of the promotional code.
2002
+ */
2003
+ promoCodeType?: 'code' | 'csv' | 'generate';
2004
+ /**
2005
+ * Array defining ranges and corresponding rewards.
2006
+ */
2007
+ range?: Array<Metadata.Range>;
2008
+ /**
2009
+ * Object defining referral requirements.
2010
+ */
2011
+ referralRequirements?: Metadata.ReferralRequirements | null;
2012
+ /**
2013
+ * Lump sum reward given to a referrer.
2014
+ */
2015
+ referrerReward?: number | null;
2016
+ /**
2017
+ * Loyalty currency ID of the referrer reward.
2018
+ */
2019
+ referrerRewardLoyaltyCurrencyId?: string | null;
2020
+ /**
2021
+ * Flag indicating if the post link is required.
2022
+ */
2023
+ requirePostLink?: boolean | null;
2024
+ /**
2025
+ * Flag indicating if media metadata is required.
2026
+ */
2027
+ requirePostMediaLink?: boolean | null;
2028
+ /**
2029
+ * Flag indicating if the rule can also reward badges per range.
2030
+ */
2031
+ rewardBadgePerRange?: boolean;
2032
+ /**
2033
+ * Flag indicating if the reward is rewarded by batch.
2034
+ */
2035
+ rewardByBatch?: boolean | null;
2036
+ /**
2037
+ * Criteria to evaluate the reward.
2038
+ */
2039
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2040
+ /**
2041
+ * Flag indicating if the reward is rewarded per action.
2042
+ */
2043
+ rewardPerAction?: boolean | null;
2044
+ /**
2045
+ * Flag indicating if rewards are given per impression.
2046
+ */
2047
+ rewardPerImpression?: boolean | null;
2048
+ /**
2049
+ * Flag indicating if the rule should reward based on value of traded tokens
2050
+ * instead of count.
2051
+ */
2052
+ rewardPerValue?: boolean;
2053
+ /**
2054
+ * Wallet address of the user can only be used if userId is not provided
2055
+ */
2056
+ royaltyAddress?: string;
2057
+ /**
2058
+ * Royalty percentage of the item.
2059
+ */
2060
+ royaltyPercentage?: number;
2061
+ /**
2062
+ * Currency associated with sales.
2063
+ */
2064
+ saleCurrency?: string;
2065
+ /**
2066
+ * Percentage reward given for a second-level referral.
2067
+ */
2068
+ secondReferralReward?: number | null;
2069
+ /**
2070
+ * Flag indicating if the multiplier is skipped.
2071
+ */
2072
+ skipMultiplier?: boolean | null;
2073
+ /**
2074
+ * Object containing details of the associated smart contract.
2075
+ */
2076
+ smartContract?: Metadata.SmartContract;
2077
+ /**
2078
+ * Array of snapshot proposals for the rule.
2079
+ */
2080
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2081
+ /**
2082
+ * Social media platform associated with the rule.
2083
+ */
2084
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2085
+ /**
2086
+ * URL of the social platform's logo.
2087
+ */
2088
+ socialPlatformLogo?: string | null;
2089
+ /**
2090
+ * Name of the social platform.
2091
+ */
2092
+ socialPlatformName?: string | null;
2093
+ /**
2094
+ * ID of the Steam app.
2095
+ */
2096
+ steamAppId?: string | null;
2097
+ /**
2098
+ * Array of streak milestones and corresponding rewards.
2099
+ */
2100
+ streakArray?: Array<Metadata.StreakArray> | null;
2101
+ /**
2102
+ * Metadata for swap loyalty rules
2103
+ */
2104
+ swap?: Metadata.Swap;
2105
+ /**
2106
+ * ID of the Telegram channel.
2107
+ */
2108
+ telegramChannelId?: string | null;
2109
+ /**
2110
+ * Time delay in seconds to verify actions.
2111
+ */
2112
+ timeDelayToVerifySeconds?: string | number | null;
2113
+ /**
2114
+ * Flag indicating if all contracts are tracked.
2115
+ */
2116
+ trackAllContracts?: boolean | null;
2117
+ /**
2118
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2119
+ * completed once the progress is 100%.
2120
+ */
2121
+ trackProgress?: boolean | null;
2122
+ /**
2123
+ * URL of the associated Twitter account.
2124
+ */
2125
+ twitterAccountUrl?: string;
2126
+ /**
2127
+ * Hashtag associated with the Twitter post.
2128
+ */
2129
+ twitterHashtag?: string;
2130
+ /**
2131
+ * URL of the associated Twitter post.
2132
+ */
2133
+ twitterPostUrl?: string;
2134
+ /**
2135
+ * Unique identifier of the Twitter user.
2136
+ */
2137
+ twitterUserId?: string;
2138
+ /**
2139
+ * Twitter username of the user.
2140
+ */
2141
+ twitterUsername?: string;
2142
+ /**
2143
+ * Minimum length of the verification text.
2144
+ */
2145
+ verificationTextMinimumLength?: number | null;
2146
+ /**
2147
+ * Multiplier applied to rewards for verified users.
2148
+ */
2149
+ verifiedMultiplier?: number | null;
2150
+ /**
2151
+ * Placeholder text for verification input fields.
2152
+ */
2153
+ verifyPlaceHolderText?: string | null;
2154
+ /**
2155
+ * Type of wallet associated with the rule.
2156
+ */
2157
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
2158
+ /**
2159
+ * ID of the Youtube channel.
2160
+ */
2161
+ youtubeChannelId?: string | null;
2162
+ /**
2163
+ * ID of the Youtube video.
2164
+ */
2165
+ youtubeVideoId?: string | null;
2166
+ }
2167
+ namespace Metadata {
2168
+ interface Collection {
2169
+ /**
2170
+ * Blockchain address of the collection.
2171
+ */
2172
+ address?: string;
2173
+ /**
2174
+ * Multiplier applied to the rewards for this collection.
2175
+ */
2176
+ multiplier?: number;
2177
+ /**
2178
+ * Blockchain network of the collection.
2179
+ */
2180
+ 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';
2181
+ }
2182
+ /**
2183
+ * Object containing details for the call-to-action.
2184
+ */
2185
+ interface Cta {
2186
+ /**
2187
+ * Link for the call-to-action.
2188
+ */
2189
+ href?: string | null;
2190
+ /**
2191
+ * Label for the call-to-action.
2192
+ */
2193
+ label?: string | null;
2194
+ }
2195
+ interface DiscordServersToJoin {
2196
+ /**
2197
+ * ID of the Discord server to join.
2198
+ */
2199
+ id?: string;
2200
+ /**
2201
+ * Array of Discord channels to join.
2202
+ */
2203
+ channels?: Array<DiscordServersToJoin.Channel>;
2204
+ /**
2205
+ * Array of roles to assign in the Discord server.
2206
+ */
2207
+ roles?: Array<DiscordServersToJoin.Role>;
2208
+ }
2209
+ namespace DiscordServersToJoin {
2210
+ interface Channel {
2211
+ /**
2212
+ * ID of the Discord channel.
2213
+ */
2214
+ id?: string;
2215
+ /**
2216
+ * Array of emojis used in the channel.
2217
+ */
2218
+ emojis?: Array<Channel.Emoji>;
2219
+ /**
2220
+ * Phrase of text to be present in the discord message
2221
+ */
2222
+ text?: string;
2223
+ }
2224
+ namespace Channel {
2225
+ interface Emoji {
2226
+ /**
2227
+ * ID of the emoji used in the channel.
2228
+ */
2229
+ id?: string;
2230
+ }
2231
+ }
2232
+ interface Role {
2233
+ /**
2234
+ * ID of the role in the Discord server.
2235
+ */
2236
+ id: string;
2237
+ }
2238
+ }
2239
+ interface DripQuestsToComplete {
2240
+ /**
2241
+ * ID of the drip quest to complete.
2242
+ */
2243
+ id: string;
2244
+ }
2245
+ /**
2246
+ * Liquidity pool details.
2247
+ */
2248
+ interface Liquidity {
2249
+ /**
2250
+ * Calculation type of the liquidity pool.
2251
+ */
2252
+ calculationType?: 'fixed' | 'custom';
2253
+ /**
2254
+ * Custom function to calculate the the reward amount based on the liquidity
2255
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2256
+ * USD.
2257
+ */
2258
+ customFunction?: string;
2259
+ /**
2260
+ * Liquidity provided per day in USD
2261
+ */
2262
+ liquidityPerDay?: number;
2263
+ /**
2264
+ * Blockchain network of the liquidity pool.
2265
+ */
2266
+ 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';
2267
+ /**
2268
+ * Indicates if only in-range liquidity is rewarded.
2269
+ */
2270
+ onlyRewardInRangeLiquidity?: boolean;
2271
+ /**
2272
+ * Array of liquidity pools associated with the rule.
2273
+ */
2274
+ pools?: Array<Liquidity.Pool>;
2275
+ /**
2276
+ * Protocol of the liquidity pool.
2277
+ */
2278
+ protocol?: string;
2279
+ }
2280
+ namespace Liquidity {
2281
+ interface Pool {
2282
+ /**
2283
+ * Unique identifier of the liquidity pool.
2284
+ */
2285
+ id: string;
2286
+ }
2287
+ }
2288
+ interface Range {
2289
+ /**
2290
+ * Reward amount for this range.
2291
+ */
2292
+ amount: number;
2293
+ /**
2294
+ * End value of the range.
2295
+ */
2296
+ endRange: number;
2297
+ /**
2298
+ * Start value of the range.
2299
+ */
2300
+ startRange: number;
2301
+ /**
2302
+ * ID of the loyalty badge for this range.
2303
+ */
2304
+ loyaltyBadgeId?: string;
2305
+ /**
2306
+ * Amount of the loyalty multiplier for this range.
2307
+ */
2308
+ loyaltyMultiplierAmount?: number;
2309
+ }
2310
+ /**
2311
+ * Object defining referral requirements.
2312
+ */
2313
+ interface ReferralRequirements {
2314
+ /**
2315
+ * Flag indicating if achieving points is required.
2316
+ */
2317
+ achievePoints?: boolean | null;
2318
+ /**
2319
+ * Flag indicating if completing the profile is required.
2320
+ */
2321
+ completeProfile?: boolean | null;
2322
+ /**
2323
+ * Flag indicating if connecting Discord is required.
2324
+ */
2325
+ connectDiscord?: boolean | null;
2326
+ /**
2327
+ * Flag indicating if connecting email is required.
2328
+ */
2329
+ connectEmail?: boolean | null;
2330
+ /**
2331
+ * Flag indicating if connecting Twitter is required.
2332
+ */
2333
+ connectTwitter?: boolean | null;
2334
+ points?: ReferralRequirements.Points | null;
2335
+ }
2336
+ namespace ReferralRequirements {
2337
+ interface Points {
2338
+ /**
2339
+ * Points required for referral.
2340
+ */
2341
+ amount?: number | null;
2342
+ /**
2343
+ * ID of the loyalty currency for referral.
2344
+ */
2345
+ loyaltyCurrecyId?: string | null;
2346
+ }
2347
+ }
2348
+ /**
2349
+ * Object containing details of the associated smart contract.
2350
+ */
2351
+ interface SmartContract {
2352
+ /**
2353
+ * Mapping of addresses for the smart contract.
2354
+ */
2355
+ addressMapping?: string | null;
2356
+ /**
2357
+ * Object containing details of the amount multiplier from the event.
2358
+ */
2359
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2360
+ /**
2361
+ * ID of the smart contract.
2362
+ */
2363
+ contractId?: string | null;
2364
+ /**
2365
+ * Criteria to evaluate the smart contract event.
2366
+ */
2367
+ criteria?: 'everyEvent' | 'byParameter' | null;
2368
+ /**
2369
+ * Event emitted by the smart contract.
2370
+ */
2371
+ event?: string | null;
2372
+ /**
2373
+ * Array of parameters for the smart contract.
2374
+ */
2375
+ params?: Array<SmartContract.Param> | null;
2376
+ /**
2377
+ * Type of the smart contract interaction.
2378
+ */
2379
+ type?: 'function' | 'event' | null;
2380
+ }
2381
+ namespace SmartContract {
2382
+ /**
2383
+ * Object containing details of the amount multiplier from the event.
2384
+ */
2385
+ interface AmountMultiplier {
2386
+ /**
2387
+ * Mapping of the value for the smart contract.
2388
+ */
2389
+ valueMapping?: string | null;
2390
+ }
2391
+ interface Param {
2392
+ /**
2393
+ * Condition to check for the parameter.
2394
+ */
2395
+ condition?: string | null;
2396
+ /**
2397
+ * Name of the smart contract parameter.
2398
+ */
2399
+ name?: string | null;
2400
+ /**
2401
+ * Value of the parameter.
2402
+ */
2403
+ value?: string | null;
2404
+ }
2405
+ }
2406
+ interface SnapshotProposal {
2407
+ /**
2408
+ * ID of the snapshot proposal.
2409
+ */
2410
+ id: string;
2411
+ /**
2412
+ * Space associated with the snapshot proposal.
2413
+ */
2414
+ space: string;
2415
+ }
2416
+ interface StreakArray {
2417
+ /**
2418
+ * Reward amount for achieving the streak milestone.
2419
+ */
2420
+ streakAmount: number;
2421
+ /**
2422
+ * Milestone required to achieve the streak.
2423
+ */
2424
+ streakMilestone: number;
2425
+ }
2426
+ /**
2427
+ * Metadata for swap loyalty rules
2428
+ */
2429
+ interface Swap {
2430
+ provider?: 'any' | 'relay' | 'lifi';
2431
+ relayReferrerId?: string;
2432
+ requireCrossChainSwap?: boolean;
2433
+ swappedToChain?: 'any' | number | string;
2434
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2435
+ tokenMode?: 'any' | 'specific';
2436
+ trackTokenAmount?: boolean;
2437
+ }
2438
+ namespace Swap {
2439
+ interface SwappedToToken {
2440
+ address: string;
2441
+ chainId: string;
2442
+ }
2443
+ }
2444
+ }
1306
2445
  }
1307
2446
  }
1308
2447
  export interface RuleDeleteResponse {
@@ -1310,7 +2449,7 @@ export interface RuleDeleteResponse {
1310
2449
  deletedAt: string;
1311
2450
  }
1312
2451
  export interface RuleCompleteResponse {
1313
- message: string;
2452
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1314
2453
  }
1315
2454
  export interface RuleGetStatusResponse {
1316
2455
  data: Array<RuleGetStatusResponse.Data>;
@@ -1318,9 +2457,110 @@ export interface RuleGetStatusResponse {
1318
2457
  export declare namespace RuleGetStatusResponse {
1319
2458
  interface Data {
1320
2459
  loyaltyRuleId: string;
1321
- status: 'pending' | 'processing' | 'completed' | 'failed';
1322
2460
  userId: string;
2461
+ /**
2462
+ * The ID of the loyalty rule status for the Progress object
2463
+ */
2464
+ id?: string;
2465
+ createdAt?: string;
2466
+ fulfilledAt?: string | null;
2467
+ /**
2468
+ * Categorized examples of messages that may be returned for a loyalty rule's
2469
+ * processing result.
2470
+ *
2471
+ * User Onboarding
2472
+ *
2473
+ * - Check In: "Streak successful"
2474
+ * - Complete Profile Details: "Profile not complete"
2475
+ *
2476
+ * Connect Accounts
2477
+ *
2478
+ * - Connect TikTok: "TikTok not connected"
2479
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
2480
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2481
+ * required"
2482
+ * - Connect Email: "Email address not connected"
2483
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2484
+ * telegramUsername), please setup username in telegram and reconnect.",
2485
+ * "Telegram request rate-limited"
2486
+ * - Connect Steam: "Steam not connected"
2487
+ * - Connect Youtube: "Youtube not connected"
2488
+ *
2489
+ * Social Quests
2490
+ *
2491
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2492
+ * successfully"
2493
+ * - Post on TikTok: "TikTok post not verified"
2494
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2495
+ * "Quest Not Completed: Comment not found for the specified tweet"
2496
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2497
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2498
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2499
+ * retweeted or commented on the tweet"
2500
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
2501
+ * targetUsername", "Quest Completed: You are a follower of
2502
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2503
+ * and try again in few minutes"
2504
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2505
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2506
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2507
+ * posts are already claimed. Please post a new tweet and try again in a few
2508
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2509
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2510
+ * not have media", "Text found in tweet"
2511
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2512
+ * not found", "Text found in bio", "Text not found in bio"
2513
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2514
+ * "User not found", "Text found in username", "Text not found in username"
2515
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
2516
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2517
+ * not found in comment", "Tweet not found or could not be retrieved"
2518
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2519
+ * added"
2520
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2521
+ * please make sure you have made your subscriptions public in youtube"
2522
+ * - Get X post impressions: "You've already claimed the reward for this impression
2523
+ * range."
2524
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2525
+ * item not added"
2526
+ *
2527
+ * Complex Onchain Logic
2528
+ *
2529
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2530
+ *
2531
+ * Other
2532
+ *
2533
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
2534
+ * "Incorrect answer", "Correct answer"
2535
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2536
+ * - Spend in Shopify Store: "Shopify not connected"
2537
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2538
+ *
2539
+ * General
2540
+ *
2541
+ * - "Quest already completed"
2542
+ * - "Quest already completed using the same social account (${socialAccountName}),
2543
+ * with the different user."
2544
+ * - "You've already claimed the reward for this quest."
2545
+ * - "Quest not achieved, please try again."
2546
+ * - "Rule is not setup"
2547
+ * - "Request aborted due to timeout"
2548
+ * - "Google account not connected"
2549
+ * - "Claim failed: Multiplier is already active"
2550
+ */
1323
2551
  message?: string;
2552
+ organizationId?: string;
2553
+ /**
2554
+ * The progress of the loyalty rule from 0 to 100
2555
+ */
2556
+ progress?: number;
2557
+ /**
2558
+ * Status of the queued job, this is only returned if the job is queued and being
2559
+ * processed, this wil be retained for 10 minutes after the job is completed
2560
+ */
2561
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
2562
+ updatedAt?: string;
2563
+ websiteId?: string;
1324
2564
  }
1325
2565
  }
1326
2566
  export interface RuleCreateParams {
@@ -1367,7 +2607,7 @@ export interface RuleCreateParams {
1367
2607
  /**
1368
2608
  * Type of loyalty rule being created
1369
2609
  */
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';
2610
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow';
1371
2611
  /**
1372
2612
  * Unique identifier for the associated website
1373
2613
  */
@@ -1376,6 +2616,10 @@ export interface RuleCreateParams {
1376
2616
  * URL of the background asset to be displayed
1377
2617
  */
1378
2618
  backgroundAssetUrl?: string;
2619
+ /**
2620
+ * The type of claim for the reward
2621
+ */
2622
+ claimType?: 'manual' | 'auto' | null;
1379
2623
  /**
1380
2624
  * Blockchain address of the associated collection
1381
2625
  */
@@ -1396,6 +2640,15 @@ export interface RuleCreateParams {
1396
2640
  * Optional detailed description of the rule
1397
2641
  */
1398
2642
  description?: string;
2643
+ duplicatedFromId?: string | null;
2644
+ /**
2645
+ * ID of the external integration
2646
+ */
2647
+ externalIntegrationId?: string | null;
2648
+ /**
2649
+ * Optional stratus function id for the rule
2650
+ */
2651
+ functionId?: string | null;
1399
2652
  /**
1400
2653
  * Whether to hide this rule in the user interface
1401
2654
  */
@@ -1403,15 +2656,33 @@ export interface RuleCreateParams {
1403
2656
  /**
1404
2657
  * Interval between rule executions
1405
2658
  */
1406
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2659
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1407
2660
  /**
1408
2661
  * Whether this rule is mandatory
1409
2662
  */
1410
2663
  isRequired?: boolean;
2664
+ /**
2665
+ * Unique identifier for the loyalty badge
2666
+ */
2667
+ loyaltyBadgeId?: string | null;
1411
2668
  /**
1412
2669
  * Unique identifier for the loyalty rule group
1413
2670
  */
1414
2671
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2672
+ /**
2673
+ * URL for uploading loyalty user allotment via CSV
2674
+ */
2675
+ loyaltyUserAllotmentCsvUrl?: string;
2676
+ /**
2677
+ * The interval for the max amount. Available for the smart contract and external
2678
+ * rules.
2679
+ */
2680
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2681
+ /**
2682
+ * The maximum amount of points a user can earn per interval. Available for the
2683
+ * smart contract and external rules.
2684
+ */
2685
+ maxAmountPerInterval?: number | null;
1415
2686
  /**
1416
2687
  * URL of the media to be displayed
1417
2688
  */
@@ -1419,25 +2690,41 @@ export interface RuleCreateParams {
1419
2690
  /**
1420
2691
  * Blockchain network where the rule will apply
1421
2692
  */
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';
2693
+ 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
2694
  /**
1424
2695
  * OAuth credentials associated with the rule
1425
2696
  */
1426
2697
  oauthCredentialsId?: string | null;
1427
2698
  /**
1428
- * Type of reward issued by the rule
2699
+ * The lifetime of the reward
2700
+ */
2701
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2702
+ /**
2703
+ * Type of reward issued by the rule
2704
+ */
2705
+ rewardType?: 'points' | 'multiplier' | 'badge';
2706
+ /**
2707
+ * URL of the Shopify store
2708
+ */
2709
+ shopifyStoreUrl?: string | null;
2710
+ /**
2711
+ * Whether to show this rule before the start time
1429
2712
  */
1430
- rewardType?: 'points' | 'multiplier';
2713
+ showBeforeStart?: boolean;
1431
2714
  /**
1432
- * Identifier for associated subscriptions
2715
+ * Optional stratus subscription id for the rule
1433
2716
  */
1434
- subscriptionIdentifier?: string | null;
2717
+ subscriptionId?: string | null;
1435
2718
  }
1436
2719
  export declare namespace RuleCreateParams {
1437
2720
  /**
1438
2721
  * Additional metadata for the loyalty rule
1439
2722
  */
1440
2723
  interface Metadata {
2724
+ /**
2725
+ * Number of tokens per batch.
2726
+ */
2727
+ batchSize?: number | null;
1441
2728
  /**
1442
2729
  * Text displayed on the action button.
1443
2730
  */
@@ -1457,7 +2744,7 @@ export declare namespace RuleCreateParams {
1457
2744
  /**
1458
2745
  * Text to check in the Twitter post, username, or bio.
1459
2746
  */
1460
- checkText?: string | null;
2747
+ checkText?: string | Array<string> | null;
1461
2748
  /**
1462
2749
  * Array of collections associated with the rule.
1463
2750
  */
@@ -1465,7 +2752,13 @@ export declare namespace RuleCreateParams {
1465
2752
  /**
1466
2753
  * Conditions for completing the profile.
1467
2754
  */
1468
- completeProfileConditions?: Record<string, boolean> | null;
2755
+ completeProfileConditions?: {
2756
+ [key: string]: boolean;
2757
+ } | null;
2758
+ /**
2759
+ * Description of the external rule condition (only for external rules)
2760
+ */
2761
+ conditionDescription?: string;
1469
2762
  /**
1470
2763
  * Object containing details for the call-to-action.
1471
2764
  */
@@ -1474,6 +2767,10 @@ export declare namespace RuleCreateParams {
1474
2767
  * API key for custom rewards integration.
1475
2768
  */
1476
2769
  customRewardsApiKey?: string;
2770
+ /**
2771
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2772
+ */
2773
+ directRpc?: boolean;
1477
2774
  /**
1478
2775
  * Array of Discord servers, channels, and roles to join.
1479
2776
  */
@@ -1494,6 +2791,10 @@ export declare namespace RuleCreateParams {
1494
2791
  * Flag indicating whether the verified multiplier is enabled.
1495
2792
  */
1496
2793
  enableVerifiedMultiplier?: boolean;
2794
+ /**
2795
+ * Type of ERC20 token for the loyalty rule.
2796
+ */
2797
+ erc20Type?: 'erc20' | 'native';
1497
2798
  /**
1498
2799
  * Fill source of the order for the token sale
1499
2800
  */
@@ -1510,10 +2811,6 @@ export declare namespace RuleCreateParams {
1510
2811
  * Indicates if the item has never been sold.
1511
2812
  */
1512
2813
  hasNeverSold?: boolean;
1513
- /**
1514
- * Flag indicating whether the order source is included.
1515
- */
1516
- hasOrderSource?: boolean;
1517
2814
  /**
1518
2815
  * Indicates if the full royalty has been paid for items.
1519
2816
  */
@@ -1530,10 +2827,18 @@ export declare namespace RuleCreateParams {
1530
2827
  * URL of the image associated with the rule.
1531
2828
  */
1532
2829
  imageUrl?: string | null;
2830
+ /**
2831
+ * If enabled, the first transaction done on the platform will complete this rule
2832
+ */
2833
+ isCheckInOnEveryTxn?: boolean;
1533
2834
  /**
1534
2835
  * Indicates if the multiplier has been applied to rewards.
1535
2836
  */
1536
2837
  isMultiplierApplied?: boolean;
2838
+ /**
2839
+ * Flag indicating if the rule is restricted to new users.
2840
+ */
2841
+ isRestrictedToNewUsers?: boolean;
1537
2842
  /**
1538
2843
  * Flag indicating if rewards are applied retroactively.
1539
2844
  */
@@ -1546,6 +2851,10 @@ export declare namespace RuleCreateParams {
1546
2851
  * Optional link associated with the metadata.
1547
2852
  */
1548
2853
  link?: string | null;
2854
+ /**
2855
+ * Liquidity pool details.
2856
+ */
2857
+ liquidity?: Metadata.Liquidity;
1549
2858
  /**
1550
2859
  * Maximum quantity constraint for token holding.
1551
2860
  */
@@ -1578,14 +2887,22 @@ export declare namespace RuleCreateParams {
1578
2887
  * give points for only one token ownership per contract
1579
2888
  */
1580
2889
  onlyRewardSingleTokenOwnership?: boolean | null;
1581
- /**
1582
- * Order source of the order for the token sale
1583
- */
1584
- orderSource?: string;
1585
2890
  /**
1586
2891
  * Promotional code associated with the rule.
1587
2892
  */
1588
2893
  promoCode?: string;
2894
+ /**
2895
+ * URL of the CSV file containing promo codes.
2896
+ */
2897
+ promoCodeCsvUrl?: string;
2898
+ /**
2899
+ * Numbers of the promotional code to be generated.
2900
+ */
2901
+ promoCodeLength?: number | null;
2902
+ /**
2903
+ * Type of the promotional code.
2904
+ */
2905
+ promoCodeType?: 'code' | 'csv' | 'generate';
1589
2906
  /**
1590
2907
  * Array defining ranges and corresponding rewards.
1591
2908
  */
@@ -1598,10 +2915,51 @@ export declare namespace RuleCreateParams {
1598
2915
  * Lump sum reward given to a referrer.
1599
2916
  */
1600
2917
  referrerReward?: number | null;
2918
+ /**
2919
+ * Loyalty currency ID of the referrer reward.
2920
+ */
2921
+ referrerRewardLoyaltyCurrencyId?: string | null;
2922
+ /**
2923
+ * Flag indicating if the post link is required.
2924
+ */
2925
+ requirePostLink?: boolean | null;
2926
+ /**
2927
+ * Flag indicating if media metadata is required.
2928
+ */
2929
+ requirePostMediaLink?: boolean | null;
2930
+ /**
2931
+ * Flag indicating if the rule can also reward badges per range.
2932
+ */
2933
+ rewardBadgePerRange?: boolean;
2934
+ /**
2935
+ * Flag indicating if the reward is rewarded by batch.
2936
+ */
2937
+ rewardByBatch?: boolean | null;
2938
+ /**
2939
+ * Criteria to evaluate the reward.
2940
+ */
2941
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2942
+ /**
2943
+ * Flag indicating if the reward is rewarded per action.
2944
+ */
2945
+ rewardPerAction?: boolean | null;
1601
2946
  /**
1602
2947
  * Flag indicating if rewards are given per impression.
1603
2948
  */
1604
2949
  rewardPerImpression?: boolean | null;
2950
+ /**
2951
+ * Flag indicating if the rule should reward based on value of traded tokens
2952
+ * instead of count.
2953
+ */
2954
+ rewardPerValue?: boolean;
2955
+ /**
2956
+ * Wallet address of the user can only be used if userId is not provided
2957
+ */
2958
+ royaltyAddress?: string;
2959
+ /**
2960
+ * Royalty percentage of the item.
2961
+ */
2962
+ royaltyPercentage?: number;
1605
2963
  /**
1606
2964
  * Currency associated with sales.
1607
2965
  */
@@ -1625,7 +2983,7 @@ export declare namespace RuleCreateParams {
1625
2983
  /**
1626
2984
  * Social media platform associated with the rule.
1627
2985
  */
1628
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
2986
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1629
2987
  /**
1630
2988
  * URL of the social platform's logo.
1631
2989
  */
@@ -1634,10 +2992,18 @@ export declare namespace RuleCreateParams {
1634
2992
  * Name of the social platform.
1635
2993
  */
1636
2994
  socialPlatformName?: string | null;
2995
+ /**
2996
+ * ID of the Steam app.
2997
+ */
2998
+ steamAppId?: string | null;
1637
2999
  /**
1638
3000
  * Array of streak milestones and corresponding rewards.
1639
3001
  */
1640
3002
  streakArray?: Array<Metadata.StreakArray> | null;
3003
+ /**
3004
+ * Metadata for swap loyalty rules
3005
+ */
3006
+ swap?: Metadata.Swap;
1641
3007
  /**
1642
3008
  * ID of the Telegram channel.
1643
3009
  */
@@ -1650,6 +3016,11 @@ export declare namespace RuleCreateParams {
1650
3016
  * Flag indicating if all contracts are tracked.
1651
3017
  */
1652
3018
  trackAllContracts?: boolean | null;
3019
+ /**
3020
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3021
+ * completed once the progress is 100%.
3022
+ */
3023
+ trackProgress?: boolean | null;
1653
3024
  /**
1654
3025
  * URL of the associated Twitter account.
1655
3026
  */
@@ -1685,7 +3056,15 @@ export declare namespace RuleCreateParams {
1685
3056
  /**
1686
3057
  * Type of wallet associated with the rule.
1687
3058
  */
1688
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3059
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3060
+ /**
3061
+ * ID of the Youtube channel.
3062
+ */
3063
+ youtubeChannelId?: string | null;
3064
+ /**
3065
+ * ID of the Youtube video.
3066
+ */
3067
+ youtubeVideoId?: string | null;
1689
3068
  }
1690
3069
  namespace Metadata {
1691
3070
  interface Collection {
@@ -1700,7 +3079,7 @@ export declare namespace RuleCreateParams {
1700
3079
  /**
1701
3080
  * Blockchain network of the collection.
1702
3081
  */
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';
3082
+ 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
3083
  }
1705
3084
  /**
1706
3085
  * Object containing details for the call-to-action.
@@ -1765,6 +3144,49 @@ export declare namespace RuleCreateParams {
1765
3144
  */
1766
3145
  id: string;
1767
3146
  }
3147
+ /**
3148
+ * Liquidity pool details.
3149
+ */
3150
+ interface Liquidity {
3151
+ /**
3152
+ * Calculation type of the liquidity pool.
3153
+ */
3154
+ calculationType?: 'fixed' | 'custom';
3155
+ /**
3156
+ * Custom function to calculate the the reward amount based on the liquidity
3157
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3158
+ * USD.
3159
+ */
3160
+ customFunction?: string;
3161
+ /**
3162
+ * Liquidity provided per day in USD
3163
+ */
3164
+ liquidityPerDay?: number;
3165
+ /**
3166
+ * Blockchain network of the liquidity pool.
3167
+ */
3168
+ 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';
3169
+ /**
3170
+ * Indicates if only in-range liquidity is rewarded.
3171
+ */
3172
+ onlyRewardInRangeLiquidity?: boolean;
3173
+ /**
3174
+ * Array of liquidity pools associated with the rule.
3175
+ */
3176
+ pools?: Array<Liquidity.Pool>;
3177
+ /**
3178
+ * Protocol of the liquidity pool.
3179
+ */
3180
+ protocol?: string;
3181
+ }
3182
+ namespace Liquidity {
3183
+ interface Pool {
3184
+ /**
3185
+ * Unique identifier of the liquidity pool.
3186
+ */
3187
+ id: string;
3188
+ }
3189
+ }
1768
3190
  interface Range {
1769
3191
  /**
1770
3192
  * Reward amount for this range.
@@ -1778,6 +3200,14 @@ export declare namespace RuleCreateParams {
1778
3200
  * Start value of the range.
1779
3201
  */
1780
3202
  startRange: number;
3203
+ /**
3204
+ * ID of the loyalty badge for this range.
3205
+ */
3206
+ loyaltyBadgeId?: string;
3207
+ /**
3208
+ * Amount of the loyalty multiplier for this range.
3209
+ */
3210
+ loyaltyMultiplierAmount?: number;
1781
3211
  }
1782
3212
  /**
1783
3213
  * Object defining referral requirements.
@@ -1821,18 +3251,14 @@ export declare namespace RuleCreateParams {
1821
3251
  * Object containing details of the associated smart contract.
1822
3252
  */
1823
3253
  interface SmartContract {
1824
- /**
1825
- * ABI of the smart contract.
1826
- */
1827
- abi?: string | null;
1828
3254
  /**
1829
3255
  * Mapping of addresses for the smart contract.
1830
3256
  */
1831
3257
  addressMapping?: string | null;
1832
3258
  /**
1833
- * Array of bonus details applied to the rule.
3259
+ * Object containing details of the amount multiplier from the event.
1834
3260
  */
1835
- bonus?: Array<SmartContract.Bonus> | null;
3261
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1836
3262
  /**
1837
3263
  * ID of the smart contract.
1838
3264
  */
@@ -1841,58 +3267,28 @@ export declare namespace RuleCreateParams {
1841
3267
  * Criteria to evaluate the smart contract event.
1842
3268
  */
1843
3269
  criteria?: 'everyEvent' | 'byParameter' | null;
1844
- /**
1845
- * Time range applied to the rule.
1846
- */
1847
- customRange?: SmartContract.CustomRange | null;
1848
3270
  /**
1849
3271
  * Event emitted by the smart contract.
1850
3272
  */
1851
3273
  event?: string | null;
1852
- /**
1853
- * Maximum value allowed for the parameter.
1854
- */
1855
- max?: number | null;
1856
3274
  /**
1857
3275
  * Array of parameters for the smart contract.
1858
3276
  */
1859
3277
  params?: Array<SmartContract.Param> | null;
1860
3278
  /**
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.
3279
+ * Type of the smart contract interaction.
1870
3280
  */
1871
- withMax?: boolean | null;
3281
+ type?: 'function' | 'event' | null;
1872
3282
  }
1873
3283
  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
3284
  /**
1885
- * Time range applied to the rule.
3285
+ * Object containing details of the amount multiplier from the event.
1886
3286
  */
1887
- interface CustomRange {
1888
- /**
1889
- * End time of the custom range.
1890
- */
1891
- endsAt?: string | null;
3287
+ interface AmountMultiplier {
1892
3288
  /**
1893
- * Start time of the custom range.
3289
+ * Mapping of the value for the smart contract.
1894
3290
  */
1895
- startsAt?: string | null;
3291
+ valueMapping?: string | null;
1896
3292
  }
1897
3293
  interface Param {
1898
3294
  /**
@@ -1929,6 +3325,24 @@ export declare namespace RuleCreateParams {
1929
3325
  */
1930
3326
  streakMilestone: number;
1931
3327
  }
3328
+ /**
3329
+ * Metadata for swap loyalty rules
3330
+ */
3331
+ interface Swap {
3332
+ provider?: 'any' | 'relay' | 'lifi';
3333
+ relayReferrerId?: string;
3334
+ requireCrossChainSwap?: boolean;
3335
+ swappedToChain?: 'any' | number | string;
3336
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3337
+ tokenMode?: 'any' | 'specific';
3338
+ trackTokenAmount?: boolean;
3339
+ }
3340
+ namespace Swap {
3341
+ interface SwappedToToken {
3342
+ address: string;
3343
+ chainId: string;
3344
+ }
3345
+ }
1932
3346
  }
1933
3347
  interface Collection {
1934
3348
  /**
@@ -1938,7 +3352,11 @@ export declare namespace RuleCreateParams {
1938
3352
  /**
1939
3353
  * Blockchain network for the collection
1940
3354
  */
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';
3355
+ 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';
3356
+ /**
3357
+ * Symbol of the collection.
3358
+ */
3359
+ symbol?: string;
1942
3360
  }
1943
3361
  }
1944
3362
  export interface RuleUpdateParams {
@@ -1954,10 +3372,14 @@ export interface RuleUpdateParams {
1954
3372
  * Name of the loyalty rule
1955
3373
  */
1956
3374
  name: string;
3375
+ /**
3376
+ * The type of claim for the reward
3377
+ */
3378
+ claimType?: 'manual' | 'auto' | null;
1957
3379
  /**
1958
3380
  * Blockchain address of the associated collection
1959
3381
  */
1960
- collectionAddress?: string;
3382
+ collectionAddress?: string | null;
1961
3383
  /**
1962
3384
  * List of associated collections
1963
3385
  */
@@ -1982,10 +3404,18 @@ export interface RuleUpdateParams {
1982
3404
  * Effective start time of the rule
1983
3405
  */
1984
3406
  effectiveStartTime?: string | null;
3407
+ /**
3408
+ * ID of the external integration
3409
+ */
3410
+ externalIntegrationId?: string | null;
1985
3411
  /**
1986
3412
  * Frequency of the rule execution
1987
3413
  */
1988
3414
  frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3415
+ /**
3416
+ * Optional stratus function id for the rule
3417
+ */
3418
+ functionId?: string | null;
1989
3419
  /**
1990
3420
  * Whether to hide this rule in the user interface
1991
3421
  */
@@ -1993,7 +3423,7 @@ export interface RuleUpdateParams {
1993
3423
  /**
1994
3424
  * Time interval for recurring rule execution
1995
3425
  */
1996
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3426
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1997
3427
  /**
1998
3428
  * Whether this rule is required for participation
1999
3429
  */
@@ -2002,6 +3432,16 @@ export interface RuleUpdateParams {
2002
3432
  * ID of the rule group section to associate with the rule
2003
3433
  */
2004
3434
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3435
+ /**
3436
+ * The interval for the max amount. Available for the smart contract and external
3437
+ * rules.
3438
+ */
3439
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3440
+ /**
3441
+ * The maximum amount of points a user can earn per interval. Available for the
3442
+ * smart contract and external rules.
3443
+ */
3444
+ maxAmountPerInterval?: number | null;
2005
3445
  /**
2006
3446
  * URL of the media to be displayed
2007
3447
  */
@@ -2013,23 +3453,35 @@ export interface RuleUpdateParams {
2013
3453
  /**
2014
3454
  * Blockchain network where the rule will apply
2015
3455
  */
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';
3456
+ 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
3457
  /**
2018
3458
  * ID for associated OAuth credentials
2019
3459
  */
2020
3460
  oauthCredentialsId?: string | null;
3461
+ /**
3462
+ * The lifetime of the reward
3463
+ */
3464
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2021
3465
  /**
2022
3466
  * Type of reward issued by this rule
2023
3467
  */
2024
- rewardType?: 'points' | 'multiplier';
3468
+ rewardType?: 'points' | 'multiplier' | 'badge';
3469
+ /**
3470
+ * URL of the Shopify store
3471
+ */
3472
+ shopifyStoreUrl?: string | null;
3473
+ /**
3474
+ * Whether to show this rule before the start time
3475
+ */
3476
+ showBeforeStart?: boolean;
2025
3477
  /**
2026
3478
  * Start time for the loyalty rule
2027
3479
  */
2028
3480
  startTime?: string | null;
2029
3481
  /**
2030
- * Optional subscription identifier for the rule
3482
+ * Optional stratus subscription id for the rule
2031
3483
  */
2032
- subscriptionIdentifier?: string | null;
3484
+ subscriptionId?: string | null;
2033
3485
  }
2034
3486
  export declare namespace RuleUpdateParams {
2035
3487
  interface Collection {
@@ -2040,12 +3492,20 @@ export declare namespace RuleUpdateParams {
2040
3492
  /**
2041
3493
  * Blockchain network for the collection
2042
3494
  */
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';
3495
+ 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';
3496
+ /**
3497
+ * Symbol of the collection.
3498
+ */
3499
+ symbol?: string;
2044
3500
  }
2045
3501
  /**
2046
3502
  * Additional metadata for the loyalty rule
2047
3503
  */
2048
3504
  interface Metadata {
3505
+ /**
3506
+ * Number of tokens per batch.
3507
+ */
3508
+ batchSize?: number | null;
2049
3509
  /**
2050
3510
  * Text displayed on the action button.
2051
3511
  */
@@ -2065,7 +3525,7 @@ export declare namespace RuleUpdateParams {
2065
3525
  /**
2066
3526
  * Text to check in the Twitter post, username, or bio.
2067
3527
  */
2068
- checkText?: string | null;
3528
+ checkText?: string | Array<string> | null;
2069
3529
  /**
2070
3530
  * Array of collections associated with the rule.
2071
3531
  */
@@ -2073,7 +3533,13 @@ export declare namespace RuleUpdateParams {
2073
3533
  /**
2074
3534
  * Conditions for completing the profile.
2075
3535
  */
2076
- completeProfileConditions?: Record<string, boolean> | null;
3536
+ completeProfileConditions?: {
3537
+ [key: string]: boolean;
3538
+ } | null;
3539
+ /**
3540
+ * Description of the external rule condition (only for external rules)
3541
+ */
3542
+ conditionDescription?: string;
2077
3543
  /**
2078
3544
  * Object containing details for the call-to-action.
2079
3545
  */
@@ -2082,6 +3548,10 @@ export declare namespace RuleUpdateParams {
2082
3548
  * API key for custom rewards integration.
2083
3549
  */
2084
3550
  customRewardsApiKey?: string;
3551
+ /**
3552
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3553
+ */
3554
+ directRpc?: boolean;
2085
3555
  /**
2086
3556
  * Array of Discord servers, channels, and roles to join.
2087
3557
  */
@@ -2102,6 +3572,10 @@ export declare namespace RuleUpdateParams {
2102
3572
  * Flag indicating whether the verified multiplier is enabled.
2103
3573
  */
2104
3574
  enableVerifiedMultiplier?: boolean;
3575
+ /**
3576
+ * Type of ERC20 token for the loyalty rule.
3577
+ */
3578
+ erc20Type?: 'erc20' | 'native';
2105
3579
  /**
2106
3580
  * Fill source of the order for the token sale
2107
3581
  */
@@ -2118,10 +3592,6 @@ export declare namespace RuleUpdateParams {
2118
3592
  * Indicates if the item has never been sold.
2119
3593
  */
2120
3594
  hasNeverSold?: boolean;
2121
- /**
2122
- * Flag indicating whether the order source is included.
2123
- */
2124
- hasOrderSource?: boolean;
2125
3595
  /**
2126
3596
  * Indicates if the full royalty has been paid for items.
2127
3597
  */
@@ -2138,10 +3608,18 @@ export declare namespace RuleUpdateParams {
2138
3608
  * URL of the image associated with the rule.
2139
3609
  */
2140
3610
  imageUrl?: string | null;
3611
+ /**
3612
+ * If enabled, the first transaction done on the platform will complete this rule
3613
+ */
3614
+ isCheckInOnEveryTxn?: boolean;
2141
3615
  /**
2142
3616
  * Indicates if the multiplier has been applied to rewards.
2143
3617
  */
2144
3618
  isMultiplierApplied?: boolean;
3619
+ /**
3620
+ * Flag indicating if the rule is restricted to new users.
3621
+ */
3622
+ isRestrictedToNewUsers?: boolean;
2145
3623
  /**
2146
3624
  * Flag indicating if rewards are applied retroactively.
2147
3625
  */
@@ -2154,6 +3632,10 @@ export declare namespace RuleUpdateParams {
2154
3632
  * Optional link associated with the metadata.
2155
3633
  */
2156
3634
  link?: string | null;
3635
+ /**
3636
+ * Liquidity pool details.
3637
+ */
3638
+ liquidity?: Metadata.Liquidity;
2157
3639
  /**
2158
3640
  * Maximum quantity constraint for token holding.
2159
3641
  */
@@ -2186,14 +3668,22 @@ export declare namespace RuleUpdateParams {
2186
3668
  * give points for only one token ownership per contract
2187
3669
  */
2188
3670
  onlyRewardSingleTokenOwnership?: boolean | null;
2189
- /**
2190
- * Order source of the order for the token sale
2191
- */
2192
- orderSource?: string;
2193
3671
  /**
2194
3672
  * Promotional code associated with the rule.
2195
3673
  */
2196
3674
  promoCode?: string;
3675
+ /**
3676
+ * URL of the CSV file containing promo codes.
3677
+ */
3678
+ promoCodeCsvUrl?: string;
3679
+ /**
3680
+ * Numbers of the promotional code to be generated.
3681
+ */
3682
+ promoCodeLength?: number | null;
3683
+ /**
3684
+ * Type of the promotional code.
3685
+ */
3686
+ promoCodeType?: 'code' | 'csv' | 'generate';
2197
3687
  /**
2198
3688
  * Array defining ranges and corresponding rewards.
2199
3689
  */
@@ -2206,10 +3696,51 @@ export declare namespace RuleUpdateParams {
2206
3696
  * Lump sum reward given to a referrer.
2207
3697
  */
2208
3698
  referrerReward?: number | null;
3699
+ /**
3700
+ * Loyalty currency ID of the referrer reward.
3701
+ */
3702
+ referrerRewardLoyaltyCurrencyId?: string | null;
3703
+ /**
3704
+ * Flag indicating if the post link is required.
3705
+ */
3706
+ requirePostLink?: boolean | null;
3707
+ /**
3708
+ * Flag indicating if media metadata is required.
3709
+ */
3710
+ requirePostMediaLink?: boolean | null;
3711
+ /**
3712
+ * Flag indicating if the rule can also reward badges per range.
3713
+ */
3714
+ rewardBadgePerRange?: boolean;
3715
+ /**
3716
+ * Flag indicating if the reward is rewarded by batch.
3717
+ */
3718
+ rewardByBatch?: boolean | null;
3719
+ /**
3720
+ * Criteria to evaluate the reward.
3721
+ */
3722
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3723
+ /**
3724
+ * Flag indicating if the reward is rewarded per action.
3725
+ */
3726
+ rewardPerAction?: boolean | null;
2209
3727
  /**
2210
3728
  * Flag indicating if rewards are given per impression.
2211
3729
  */
2212
3730
  rewardPerImpression?: boolean | null;
3731
+ /**
3732
+ * Flag indicating if the rule should reward based on value of traded tokens
3733
+ * instead of count.
3734
+ */
3735
+ rewardPerValue?: boolean;
3736
+ /**
3737
+ * Wallet address of the user can only be used if userId is not provided
3738
+ */
3739
+ royaltyAddress?: string;
3740
+ /**
3741
+ * Royalty percentage of the item.
3742
+ */
3743
+ royaltyPercentage?: number;
2213
3744
  /**
2214
3745
  * Currency associated with sales.
2215
3746
  */
@@ -2233,7 +3764,7 @@ export declare namespace RuleUpdateParams {
2233
3764
  /**
2234
3765
  * Social media platform associated with the rule.
2235
3766
  */
2236
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3767
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2237
3768
  /**
2238
3769
  * URL of the social platform's logo.
2239
3770
  */
@@ -2242,10 +3773,18 @@ export declare namespace RuleUpdateParams {
2242
3773
  * Name of the social platform.
2243
3774
  */
2244
3775
  socialPlatformName?: string | null;
3776
+ /**
3777
+ * ID of the Steam app.
3778
+ */
3779
+ steamAppId?: string | null;
2245
3780
  /**
2246
3781
  * Array of streak milestones and corresponding rewards.
2247
3782
  */
2248
3783
  streakArray?: Array<Metadata.StreakArray> | null;
3784
+ /**
3785
+ * Metadata for swap loyalty rules
3786
+ */
3787
+ swap?: Metadata.Swap;
2249
3788
  /**
2250
3789
  * ID of the Telegram channel.
2251
3790
  */
@@ -2258,6 +3797,11 @@ export declare namespace RuleUpdateParams {
2258
3797
  * Flag indicating if all contracts are tracked.
2259
3798
  */
2260
3799
  trackAllContracts?: boolean | null;
3800
+ /**
3801
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3802
+ * completed once the progress is 100%.
3803
+ */
3804
+ trackProgress?: boolean | null;
2261
3805
  /**
2262
3806
  * URL of the associated Twitter account.
2263
3807
  */
@@ -2293,7 +3837,15 @@ export declare namespace RuleUpdateParams {
2293
3837
  /**
2294
3838
  * Type of wallet associated with the rule.
2295
3839
  */
2296
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3840
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3841
+ /**
3842
+ * ID of the Youtube channel.
3843
+ */
3844
+ youtubeChannelId?: string | null;
3845
+ /**
3846
+ * ID of the Youtube video.
3847
+ */
3848
+ youtubeVideoId?: string | null;
2297
3849
  }
2298
3850
  namespace Metadata {
2299
3851
  interface Collection {
@@ -2308,7 +3860,7 @@ export declare namespace RuleUpdateParams {
2308
3860
  /**
2309
3861
  * Blockchain network of the collection.
2310
3862
  */
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';
3863
+ 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
3864
  }
2313
3865
  /**
2314
3866
  * Object containing details for the call-to-action.
@@ -2373,6 +3925,49 @@ export declare namespace RuleUpdateParams {
2373
3925
  */
2374
3926
  id: string;
2375
3927
  }
3928
+ /**
3929
+ * Liquidity pool details.
3930
+ */
3931
+ interface Liquidity {
3932
+ /**
3933
+ * Calculation type of the liquidity pool.
3934
+ */
3935
+ calculationType?: 'fixed' | 'custom';
3936
+ /**
3937
+ * Custom function to calculate the the reward amount based on the liquidity
3938
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3939
+ * USD.
3940
+ */
3941
+ customFunction?: string;
3942
+ /**
3943
+ * Liquidity provided per day in USD
3944
+ */
3945
+ liquidityPerDay?: number;
3946
+ /**
3947
+ * Blockchain network of the liquidity pool.
3948
+ */
3949
+ 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';
3950
+ /**
3951
+ * Indicates if only in-range liquidity is rewarded.
3952
+ */
3953
+ onlyRewardInRangeLiquidity?: boolean;
3954
+ /**
3955
+ * Array of liquidity pools associated with the rule.
3956
+ */
3957
+ pools?: Array<Liquidity.Pool>;
3958
+ /**
3959
+ * Protocol of the liquidity pool.
3960
+ */
3961
+ protocol?: string;
3962
+ }
3963
+ namespace Liquidity {
3964
+ interface Pool {
3965
+ /**
3966
+ * Unique identifier of the liquidity pool.
3967
+ */
3968
+ id: string;
3969
+ }
3970
+ }
2376
3971
  interface Range {
2377
3972
  /**
2378
3973
  * Reward amount for this range.
@@ -2386,6 +3981,14 @@ export declare namespace RuleUpdateParams {
2386
3981
  * Start value of the range.
2387
3982
  */
2388
3983
  startRange: number;
3984
+ /**
3985
+ * ID of the loyalty badge for this range.
3986
+ */
3987
+ loyaltyBadgeId?: string;
3988
+ /**
3989
+ * Amount of the loyalty multiplier for this range.
3990
+ */
3991
+ loyaltyMultiplierAmount?: number;
2389
3992
  }
2390
3993
  /**
2391
3994
  * Object defining referral requirements.
@@ -2429,18 +4032,14 @@ export declare namespace RuleUpdateParams {
2429
4032
  * Object containing details of the associated smart contract.
2430
4033
  */
2431
4034
  interface SmartContract {
2432
- /**
2433
- * ABI of the smart contract.
2434
- */
2435
- abi?: string | null;
2436
4035
  /**
2437
4036
  * Mapping of addresses for the smart contract.
2438
4037
  */
2439
4038
  addressMapping?: string | null;
2440
4039
  /**
2441
- * Array of bonus details applied to the rule.
4040
+ * Object containing details of the amount multiplier from the event.
2442
4041
  */
2443
- bonus?: Array<SmartContract.Bonus> | null;
4042
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2444
4043
  /**
2445
4044
  * ID of the smart contract.
2446
4045
  */
@@ -2449,58 +4048,28 @@ export declare namespace RuleUpdateParams {
2449
4048
  * Criteria to evaluate the smart contract event.
2450
4049
  */
2451
4050
  criteria?: 'everyEvent' | 'byParameter' | null;
2452
- /**
2453
- * Time range applied to the rule.
2454
- */
2455
- customRange?: SmartContract.CustomRange | null;
2456
4051
  /**
2457
4052
  * Event emitted by the smart contract.
2458
4053
  */
2459
4054
  event?: string | null;
2460
- /**
2461
- * Maximum value allowed for the parameter.
2462
- */
2463
- max?: number | null;
2464
4055
  /**
2465
4056
  * Array of parameters for the smart contract.
2466
4057
  */
2467
4058
  params?: Array<SmartContract.Param> | null;
2468
4059
  /**
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.
4060
+ * Type of the smart contract interaction.
2478
4061
  */
2479
- withMax?: boolean | null;
4062
+ type?: 'function' | 'event' | null;
2480
4063
  }
2481
4064
  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
4065
  /**
2493
- * Time range applied to the rule.
4066
+ * Object containing details of the amount multiplier from the event.
2494
4067
  */
2495
- interface CustomRange {
2496
- /**
2497
- * End time of the custom range.
2498
- */
2499
- endsAt?: string | null;
4068
+ interface AmountMultiplier {
2500
4069
  /**
2501
- * Start time of the custom range.
4070
+ * Mapping of the value for the smart contract.
2502
4071
  */
2503
- startsAt?: string | null;
4072
+ valueMapping?: string | null;
2504
4073
  }
2505
4074
  interface Param {
2506
4075
  /**
@@ -2537,15 +4106,51 @@ export declare namespace RuleUpdateParams {
2537
4106
  */
2538
4107
  streakMilestone: number;
2539
4108
  }
4109
+ /**
4110
+ * Metadata for swap loyalty rules
4111
+ */
4112
+ interface Swap {
4113
+ provider?: 'any' | 'relay' | 'lifi';
4114
+ relayReferrerId?: string;
4115
+ requireCrossChainSwap?: boolean;
4116
+ swappedToChain?: 'any' | number | string;
4117
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4118
+ tokenMode?: 'any' | 'specific';
4119
+ trackTokenAmount?: boolean;
4120
+ }
4121
+ namespace Swap {
4122
+ interface SwappedToToken {
4123
+ address: string;
4124
+ chainId: string;
4125
+ }
4126
+ }
2540
4127
  }
2541
4128
  }
2542
4129
  export interface RuleListParams {
4130
+ /**
4131
+ * IDs of the users to filter results by
4132
+ */
4133
+ allotedToUserId?: string | Array<string>;
4134
+ /**
4135
+ * ID of the user group to filter results by
4136
+ */
4137
+ allotedUserGroupId?: string;
2543
4138
  /**
2544
4139
  * Address of the collection to filter by
2545
4140
  */
2546
4141
  collectionAddress?: string;
2547
4142
  /**
2548
- * Maximum number of records to return (max 1000)
4143
+ * If true this will only return active rules, the rules for which the startTime is
4144
+ * in the past and the endTime is in the future
4145
+ */
4146
+ isActive?: 'true' | 'false';
4147
+ /**
4148
+ * If true this will only return special rules, special rules are the rules that
4149
+ * are used for anti sybil as honey pot
4150
+ */
4151
+ isSpecial?: 'true' | 'false';
4152
+ /**
4153
+ * Maximum number of records to return (max 100)
2549
4154
  */
2550
4155
  limit?: number;
2551
4156
  /**
@@ -2569,6 +4174,12 @@ export interface RuleListParams {
2569
4174
  */
2570
4175
  websiteId?: string;
2571
4176
  }
4177
+ export interface RuleDeleteParams {
4178
+ /**
4179
+ * Whether to debit loyalty points
4180
+ */
4181
+ debitLoyaltyPoints?: string;
4182
+ }
2572
4183
  export interface RuleCompleteParams {
2573
4184
  /**
2574
4185
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -2576,13 +4187,21 @@ export interface RuleCompleteParams {
2576
4187
  */
2577
4188
  amount?: number | null;
2578
4189
  /**
2579
- * Link to the comment made by user
4190
+ * Link to the post/comment made by user
4191
+ */
4192
+ contentUrl?: string;
4193
+ /**
4194
+ * Unique key to ensure idempotent requests.
2580
4195
  */
2581
- commentLink?: string;
4196
+ idempotencyKey?: string;
2582
4197
  /**
2583
4198
  * ID of the choice selected by the user
2584
4199
  */
2585
4200
  loyaltyQuestionChoiceId?: string;
4201
+ /**
4202
+ * Value to compare with the range
4203
+ */
4204
+ rangeValue?: number | null;
2586
4205
  /**
2587
4206
  * Unique identifier for the user
2588
4207
  */
@@ -2593,7 +4212,7 @@ export interface RuleCompleteParams {
2593
4212
  verificationCode?: string;
2594
4213
  /**
2595
4214
  * Flag indicating if only verification is required, this will not create a
2596
- * transaction and reward the user
4215
+ * transaction and reward the user.
2597
4216
  */
2598
4217
  verifyOnly?: string;
2599
4218
  /**
@@ -2602,11 +4221,25 @@ export interface RuleCompleteParams {
2602
4221
  walletAddress?: string;
2603
4222
  }
2604
4223
  export interface RuleGetStatusParams {
2605
- organizationId: string;
2606
- websiteId: string;
4224
+ /**
4225
+ * Number of items to return
4226
+ */
4227
+ limit?: number | null;
4228
+ /**
4229
+ * Unique identifier for the loyalty rule[s]
4230
+ */
4231
+ loyaltyRuleId?: string | Array<string>;
4232
+ organizationId?: string;
4233
+ /**
4234
+ * Starting after item
4235
+ */
4236
+ startingAfter?: string;
4237
+ userGroupId?: string;
2607
4238
  userId?: string;
4239
+ walletAddress?: string;
4240
+ websiteId?: string;
2608
4241
  }
2609
4242
  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, };
4243
+ 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
4244
  }
2612
4245
  //# sourceMappingURL=rules.d.ts.map