@snagsolutions/sdk 0.1.0-alpha.16 → 0.1.0-alpha.160

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 (271) hide show
  1. package/CHANGELOG.md +1328 -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 +9 -6
  10. package/index.d.ts +9 -6
  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 +9 -5
  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 +285 -0
  28. package/resources/auctions/auctions.d.ts.map +1 -0
  29. package/resources/auctions/auctions.js +76 -0
  30. package/resources/auctions/auctions.js.map +1 -0
  31. package/resources/auctions/auctions.mjs +49 -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 +76 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  47. package/resources/auctions/website-user-attributes/values.js +35 -0
  48. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  49. package/resources/auctions/website-user-attributes/values.mjs +31 -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 +92 -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 +69 -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 +42 -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 +11 -3
  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 +3 -3
  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 +2 -2
  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 +58 -16
  86. package/resources/loyalty/accounts.d.ts.map +1 -1
  87. package/resources/loyalty/accounts.js +13 -0
  88. package/resources/loyalty/accounts.js.map +1 -1
  89. package/resources/loyalty/accounts.mjs +13 -0
  90. package/resources/loyalty/accounts.mjs.map +1 -1
  91. package/resources/loyalty/badges.d.ts +472 -22
  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 -3
  104. package/resources/loyalty/index.d.ts.map +1 -1
  105. package/resources/loyalty/index.js +5 -3
  106. package/resources/loyalty/index.js.map +1 -1
  107. package/resources/loyalty/index.mjs +2 -1
  108. package/resources/loyalty/index.mjs.map +1 -1
  109. package/resources/loyalty/loyalty.d.ts +10 -6
  110. package/resources/loyalty/loyalty.d.ts.map +1 -1
  111. package/resources/loyalty/loyalty.js +6 -2
  112. package/resources/loyalty/loyalty.js.map +1 -1
  113. package/resources/loyalty/loyalty.mjs +7 -3
  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 +39 -0
  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 +37 -2
  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 +2610 -4
  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 +269 -58
  140. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  141. package/resources/loyalty/rule-groups.js +36 -0
  142. package/resources/loyalty/rule-groups.js.map +1 -1
  143. package/resources/loyalty/rule-groups.mjs +36 -0
  144. package/resources/loyalty/rule-groups.mjs.map +1 -1
  145. package/resources/loyalty/rules.d.ts +1848 -265
  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 +61 -0
  158. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  159. package/resources/loyalty/transactions/rule-statuses.js +23 -0
  160. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  161. package/resources/loyalty/transactions/rule-statuses.mjs +19 -0
  162. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  163. package/resources/loyalty/transactions/transactions.d.ts +292 -0
  164. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  165. package/resources/loyalty/transactions/transactions.js +61 -0
  166. package/resources/loyalty/transactions/transactions.js.map +1 -0
  167. package/resources/loyalty/transactions/transactions.mjs +34 -0
  168. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  169. package/resources/loyalty/transactions.d.ts +1 -247
  170. package/resources/loyalty/transactions.d.ts.map +1 -1
  171. package/resources/loyalty/transactions.js +15 -18
  172. package/resources/loyalty/transactions.js.map +1 -1
  173. package/resources/loyalty/transactions.mjs +1 -16
  174. package/resources/loyalty/transactions.mjs.map +1 -1
  175. package/resources/minting.d.ts +5 -5
  176. package/resources/minting.d.ts.map +1 -1
  177. package/resources/referral/referral.d.ts +11 -3
  178. package/resources/referral/referral.d.ts.map +1 -1
  179. package/resources/referral/referral.js +11 -5
  180. package/resources/referral/referral.js.map +1 -1
  181. package/resources/referral/referral.mjs +11 -5
  182. package/resources/referral/referral.mjs.map +1 -1
  183. package/resources/referral/users.d.ts +28 -1
  184. package/resources/referral/users.d.ts.map +1 -1
  185. package/resources/referral/users.js +14 -0
  186. package/resources/referral/users.js.map +1 -1
  187. package/resources/referral/users.mjs +14 -0
  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 +27 -0
  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 +144 -6
  198. package/resources/users/users.d.ts.map +1 -1
  199. package/resources/users/users.js +53 -1
  200. package/resources/users/users.js.map +1 -1
  201. package/resources/users/users.mjs +53 -1
  202. package/resources/users/users.mjs.map +1 -1
  203. package/resources/websites/index.d.ts +2 -2
  204. package/resources/websites/index.d.ts.map +1 -1
  205. package/resources/websites/index.js.map +1 -1
  206. package/resources/websites/index.mjs +2 -2
  207. package/resources/websites/index.mjs.map +1 -1
  208. package/resources/websites/website-collections.d.ts +0 -69
  209. package/resources/websites/website-collections.d.ts.map +1 -1
  210. package/resources/websites/website-collections.js +0 -16
  211. package/resources/websites/website-collections.js.map +1 -1
  212. package/resources/websites/website-collections.mjs +0 -16
  213. package/resources/websites/website-collections.mjs.map +1 -1
  214. package/resources/websites/website-user-roles.d.ts +23 -0
  215. package/resources/websites/website-user-roles.d.ts.map +1 -1
  216. package/resources/websites/website-user-roles.js +23 -0
  217. package/resources/websites/website-user-roles.js.map +1 -1
  218. package/resources/websites/website-user-roles.mjs +23 -0
  219. package/resources/websites/website-user-roles.mjs.map +1 -1
  220. package/resources/websites/websites.d.ts +8 -98
  221. package/resources/websites/websites.d.ts.map +1 -1
  222. package/resources/websites/websites.js +0 -6
  223. package/resources/websites/websites.js.map +1 -1
  224. package/resources/websites/websites.mjs +1 -7
  225. package/resources/websites/websites.mjs.map +1 -1
  226. package/src/core.ts +39 -16
  227. package/src/index.ts +30 -11
  228. package/src/resource.ts +1 -1
  229. package/src/resources/assets.ts +18 -2
  230. package/src/resources/auctions/auctions.ts +432 -0
  231. package/src/resources/auctions/index.ts +16 -0
  232. package/src/resources/auctions/website-user-attributes/index.ts +10 -0
  233. package/src/resources/auctions/website-user-attributes/values.ts +97 -0
  234. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +137 -0
  235. package/src/resources/auctions/website-user-attributes.ts +3 -0
  236. package/src/resources/auctions.ts +1 -207
  237. package/src/resources/auth.ts +14 -4
  238. package/src/resources/index.ts +12 -8
  239. package/src/resources/loyalty/account-streaks.ts +110 -0
  240. package/src/resources/loyalty/accounts.ts +63 -18
  241. package/src/resources/loyalty/badges.ts +567 -24
  242. package/src/resources/loyalty/currencies.ts +19 -0
  243. package/src/resources/loyalty/index.ts +12 -1
  244. package/src/resources/loyalty/loyalty.ts +33 -3
  245. package/src/resources/loyalty/multipliers.ts +43 -4
  246. package/src/resources/loyalty/questions-responses.ts +45 -0
  247. package/src/resources/loyalty/questions.ts +38 -2
  248. package/src/resources/loyalty/rule-edits.ts +3669 -51
  249. package/src/resources/loyalty/rule-groups.ts +444 -65
  250. package/src/resources/loyalty/rules.ts +2769 -326
  251. package/src/resources/loyalty/transactions/index.ts +10 -0
  252. package/src/resources/loyalty/transactions/rule-statuses.ts +87 -0
  253. package/src/resources/loyalty/transactions/transactions.ts +520 -0
  254. package/src/resources/loyalty/transactions.ts +1 -330
  255. package/src/resources/minting.ts +19 -5
  256. package/src/resources/referral/referral.ts +13 -11
  257. package/src/resources/referral/users.ts +33 -2
  258. package/src/resources/users/index.ts +4 -0
  259. package/src/resources/users/metadatas.ts +52 -0
  260. package/src/resources/users/users.ts +192 -5
  261. package/src/resources/websites/index.ts +2 -13
  262. package/src/resources/websites/website-collections.ts +1 -145
  263. package/src/resources/websites/website-user-roles.ts +23 -0
  264. package/src/resources/websites/websites.ts +8 -134
  265. package/src/version.ts +1 -1
  266. package/version.d.ts +1 -1
  267. package/version.d.ts.map +1 -1
  268. package/version.js +1 -1
  269. package/version.js.map +1 -1
  270. package/version.mjs +1 -1
  271. package/version.mjs.map +1 -1
@@ -7,6 +7,24 @@ import * as Core from '../../core';
7
7
  export class Rules extends APIResource {
8
8
  /**
9
9
  * Create a new Loyalty Rule
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const rule = await client.loyalty.rules.create({
14
+ * amount: '10.5',
15
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
16
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
17
+ * endTime: '2024-12-31T23:59:00Z',
18
+ * frequency: 'daily',
19
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
20
+ * metadata: {},
21
+ * name: 'Referral Bonus Rule',
22
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
23
+ * startTime: '2024-01-01T00:00:00Z',
24
+ * type: 'Bonus',
25
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
26
+ * });
27
+ * ```
10
28
  */
11
29
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse> {
12
30
  return this._client.post('/api/loyalty/rules', { body, ...options });
@@ -14,6 +32,18 @@ export class Rules extends APIResource {
14
32
 
15
33
  /**
16
34
  * Update an existing Loyalty Rule
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const rule = await client.loyalty.rules.update(
39
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
40
+ * {
41
+ * amount: '10.5',
42
+ * endTime: '2024-12-31T23:59:00Z',
43
+ * name: 'Daily Rewards Program',
44
+ * },
45
+ * );
46
+ * ```
17
47
  */
18
48
  update(
19
49
  id: string,
@@ -25,6 +55,11 @@ export class Rules extends APIResource {
25
55
 
26
56
  /**
27
57
  * Retrieve configured loyalty rules with optional pagination and filters
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const rules = await client.loyalty.rules.list();
62
+ * ```
28
63
  */
29
64
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
30
65
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
@@ -40,9 +75,30 @@ export class Rules extends APIResource {
40
75
 
41
76
  /**
42
77
  * Delete an existing Loyalty Rule
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const rule = await client.loyalty.rules.delete(
82
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
83
+ * );
84
+ * ```
43
85
  */
44
- delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse> {
45
- return this._client.delete(`/api/loyalty/rules/${id}`, options);
86
+ delete(
87
+ id: string,
88
+ params?: RuleDeleteParams,
89
+ options?: Core.RequestOptions,
90
+ ): Core.APIPromise<RuleDeleteResponse>;
91
+ delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
92
+ delete(
93
+ id: string,
94
+ params: RuleDeleteParams | Core.RequestOptions = {},
95
+ options?: Core.RequestOptions,
96
+ ): Core.APIPromise<RuleDeleteResponse> {
97
+ if (isRequestOptions(params)) {
98
+ return this.delete(id, {}, params);
99
+ }
100
+ const { debitLoyaltyPoints } = params;
101
+ return this._client.delete(`/api/loyalty/rules/${id}`, { query: { debitLoyaltyPoints }, ...options });
46
102
  }
47
103
 
48
104
  /**
@@ -50,7 +106,15 @@ export class Rules extends APIResource {
50
106
  * endpoint currently only supports following rule types code_entry, text_input,
51
107
  * link_click, discord_member, connect_wallet, check_in, external_rule,
52
108
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
53
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
109
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
110
+ * youtube_subscribers, youtube_comment, steam_wishlist
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const response = await client.loyalty.rules.complete(
115
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
116
+ * );
117
+ * ```
54
118
  */
55
119
  complete(
56
120
  id: string,
@@ -71,11 +135,24 @@ export class Rules extends APIResource {
71
135
 
72
136
  /**
73
137
  * This will return the processing status of quests for a specific user
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const response = await client.loyalty.rules.getStatus();
142
+ * ```
74
143
  */
75
144
  getStatus(
76
- query: RuleGetStatusParams,
145
+ query?: RuleGetStatusParams,
146
+ options?: Core.RequestOptions,
147
+ ): Core.APIPromise<RuleGetStatusResponse>;
148
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
149
+ getStatus(
150
+ query: RuleGetStatusParams | Core.RequestOptions = {},
77
151
  options?: Core.RequestOptions,
78
152
  ): Core.APIPromise<RuleGetStatusResponse> {
153
+ if (isRequestOptions(query)) {
154
+ return this.getStatus({}, query);
155
+ }
79
156
  return this._client.get('/api/loyalty/rules/status', { query, ...options });
80
157
  }
81
158
  }
@@ -189,7 +266,20 @@ export interface RuleCreateResponse {
189
266
  | 'twitter_like'
190
267
  | 'twitter_post_hashtag'
191
268
  | 'quiz'
192
- | 'poll';
269
+ | 'poll'
270
+ | 'steam_wishlist'
271
+ | 'liquidity_uniswap_v2'
272
+ | 'liquidity_uniswap_v3'
273
+ | 'points_airdrop'
274
+ | 'youtube_subscribers'
275
+ | 'youtube_comment'
276
+ | 'shopify_spend'
277
+ | 'swap'
278
+ | 'tiktok_post'
279
+ | 'post_impressions'
280
+ | 'discord_join'
281
+ | 'connected_youtube'
282
+ | 'connected_tiktok';
193
283
 
194
284
  /**
195
285
  * Unique identifier for the associated website
@@ -201,6 +291,11 @@ export interface RuleCreateResponse {
201
291
  */
202
292
  backgroundAssetUrl?: string;
203
293
 
294
+ /**
295
+ * The type of claim for the reward
296
+ */
297
+ claimType?: 'manual' | 'auto' | null;
298
+
204
299
  /**
205
300
  * Blockchain address of the associated collection
206
301
  */
@@ -226,6 +321,13 @@ export interface RuleCreateResponse {
226
321
  */
227
322
  description?: string;
228
323
 
324
+ duplicatedFromId?: string | null;
325
+
326
+ /**
327
+ * ID of the external integration
328
+ */
329
+ externalIntegrationId?: string | null;
330
+
229
331
  /**
230
332
  * Whether to hide this rule in the user interface
231
333
  */
@@ -234,18 +336,40 @@ export interface RuleCreateResponse {
234
336
  /**
235
337
  * Interval between rule executions
236
338
  */
237
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
339
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
238
340
 
239
341
  /**
240
342
  * Whether this rule is mandatory
241
343
  */
242
344
  isRequired?: boolean;
243
345
 
346
+ /**
347
+ * Unique identifier for the loyalty badge
348
+ */
349
+ loyaltyBadgeId?: string | null;
350
+
244
351
  /**
245
352
  * Unique identifier for the loyalty rule group
246
353
  */
247
354
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
248
355
 
356
+ /**
357
+ * URL for uploading loyalty user allotment via CSV
358
+ */
359
+ loyaltyUserAllotmentCsvUrl?: string;
360
+
361
+ /**
362
+ * The interval for the max amount. Available for the smart contract and external
363
+ * rules.
364
+ */
365
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
366
+
367
+ /**
368
+ * The maximum amount of points a user can earn per interval. Available for the
369
+ * smart contract and external rules.
370
+ */
371
+ maxAmountPerInterval?: number | null;
372
+
249
373
  /**
250
374
  * URL of the media to be displayed
251
375
  */
@@ -255,13 +379,17 @@ export interface RuleCreateResponse {
255
379
  * Blockchain network where the rule will apply
256
380
  */
257
381
  network?:
382
+ | 'abstract'
383
+ | 'abstractTestnet'
258
384
  | 'apechain'
259
385
  | 'arbitrum'
260
386
  | 'avalanche'
261
387
  | 'avalancheFuji'
262
388
  | 'base'
263
389
  | 'baseSepolia'
390
+ | 'berachain'
264
391
  | 'berachainArtio'
392
+ | 'berachainBepolia'
265
393
  | 'binance'
266
394
  | 'bscTestnet'
267
395
  | 'campTestnet'
@@ -269,18 +397,28 @@ export interface RuleCreateResponse {
269
397
  | 'fantomTestnet'
270
398
  | 'flowMainnet'
271
399
  | 'mainnet'
400
+ | 'nexusTestnet'
272
401
  | 'optimism'
273
402
  | 'polygon'
274
403
  | 'polygon_mumbai'
275
404
  | 'skaleNebula'
276
405
  | 'solana'
277
406
  | 'sophon'
407
+ | 'sophonTestnet'
278
408
  | 'sui'
279
409
  | 'superseed'
280
410
  | 'superseedSepolia'
281
411
  | 'vanar'
282
412
  | 'xai'
283
413
  | 'zksync'
414
+ | 'coti'
415
+ | 'cotiTestnet'
416
+ | 'morph'
417
+ | 'morphTestnet'
418
+ | 'morphHolesky'
419
+ | 'ultra'
420
+ | 'ultraTestnet'
421
+ | 'nitrograph'
284
422
  | 'sepolia'
285
423
  | 'optimism_sepolia'
286
424
  | 'arbitrumSepolia'
@@ -288,22 +426,37 @@ export interface RuleCreateResponse {
288
426
  | 'optimism_goerli'
289
427
  | 'arbitrumGoerli'
290
428
  | 'basecamp'
291
- | 'abstract';
429
+ | 'somnia';
292
430
 
293
431
  /**
294
432
  * OAuth credentials associated with the rule
295
433
  */
296
434
  oauthCredentialsId?: string | null;
297
435
 
436
+ /**
437
+ * The lifetime of the reward
438
+ */
439
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
440
+
298
441
  /**
299
442
  * Type of reward issued by the rule
300
443
  */
301
- rewardType?: 'points' | 'multiplier';
444
+ rewardType?: 'points' | 'multiplier' | 'badge';
445
+
446
+ /**
447
+ * URL of the Shopify store
448
+ */
449
+ shopifyStoreUrl?: string | null;
450
+
451
+ /**
452
+ * Whether to show this rule before the start time
453
+ */
454
+ showBeforeStart?: boolean;
302
455
 
303
456
  /**
304
- * Identifier for associated subscriptions
457
+ * Optional subscription id for the rule
305
458
  */
306
- subscriptionIdentifier?: string | null;
459
+ subscriptionId?: string | null;
307
460
  }
308
461
 
309
462
  export namespace RuleCreateResponse {
@@ -311,6 +464,11 @@ export namespace RuleCreateResponse {
311
464
  * Additional metadata for the loyalty rule
312
465
  */
313
466
  export interface Metadata {
467
+ /**
468
+ * Number of tokens per batch.
469
+ */
470
+ batchSize?: number | null;
471
+
314
472
  /**
315
473
  * Text displayed on the action button.
316
474
  */
@@ -334,7 +492,7 @@ export namespace RuleCreateResponse {
334
492
  /**
335
493
  * Text to check in the Twitter post, username, or bio.
336
494
  */
337
- checkText?: string | null;
495
+ checkText?: string | Array<string> | null;
338
496
 
339
497
  /**
340
498
  * Array of collections associated with the rule.
@@ -344,7 +502,12 @@ export namespace RuleCreateResponse {
344
502
  /**
345
503
  * Conditions for completing the profile.
346
504
  */
347
- completeProfileConditions?: Record<string, boolean> | null;
505
+ completeProfileConditions?: { [key: string]: boolean } | null;
506
+
507
+ /**
508
+ * Description of the external rule condition (only for external rules)
509
+ */
510
+ conditionDescription?: string;
348
511
 
349
512
  /**
350
513
  * Object containing details for the call-to-action.
@@ -356,6 +519,11 @@ export namespace RuleCreateResponse {
356
519
  */
357
520
  customRewardsApiKey?: string;
358
521
 
522
+ /**
523
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
524
+ */
525
+ directRpc?: boolean;
526
+
359
527
  /**
360
528
  * Array of Discord servers, channels, and roles to join.
361
529
  */
@@ -401,11 +569,6 @@ export namespace RuleCreateResponse {
401
569
  */
402
570
  hasNeverSold?: boolean;
403
571
 
404
- /**
405
- * Flag indicating whether the order source is included.
406
- */
407
- hasOrderSource?: boolean;
408
-
409
572
  /**
410
573
  * Indicates if the full royalty has been paid for items.
411
574
  */
@@ -426,11 +589,21 @@ export namespace RuleCreateResponse {
426
589
  */
427
590
  imageUrl?: string | null;
428
591
 
592
+ /**
593
+ * If enabled, the first transaction done on the platform will complete this rule
594
+ */
595
+ isCheckInOnEveryTxn?: boolean;
596
+
429
597
  /**
430
598
  * Indicates if the multiplier has been applied to rewards.
431
599
  */
432
600
  isMultiplierApplied?: boolean;
433
601
 
602
+ /**
603
+ * Flag indicating if the rule is restricted to new users.
604
+ */
605
+ isRestrictedToNewUsers?: boolean;
606
+
434
607
  /**
435
608
  * Flag indicating if rewards are applied retroactively.
436
609
  */
@@ -446,6 +619,11 @@ export namespace RuleCreateResponse {
446
619
  */
447
620
  link?: string | null;
448
621
 
622
+ /**
623
+ * Liquidity pool details.
624
+ */
625
+ liquidity?: Metadata.Liquidity;
626
+
449
627
  /**
450
628
  * Maximum quantity constraint for token holding.
451
629
  */
@@ -487,14 +665,24 @@ export namespace RuleCreateResponse {
487
665
  onlyRewardSingleTokenOwnership?: boolean | null;
488
666
 
489
667
  /**
490
- * Order source of the order for the token sale
668
+ * Promotional code associated with the rule.
491
669
  */
492
- orderSource?: string;
670
+ promoCode?: string;
493
671
 
494
672
  /**
495
- * Promotional code associated with the rule.
673
+ * URL of the CSV file containing promo codes.
496
674
  */
497
- promoCode?: string;
675
+ promoCodeCsvUrl?: string;
676
+
677
+ /**
678
+ * Numbers of the promotional code to be generated.
679
+ */
680
+ promoCodeLength?: number | null;
681
+
682
+ /**
683
+ * Type of the promotional code.
684
+ */
685
+ promoCodeType?: 'code' | 'csv' | 'generate';
498
686
 
499
687
  /**
500
688
  * Array defining ranges and corresponding rewards.
@@ -511,11 +699,62 @@ export namespace RuleCreateResponse {
511
699
  */
512
700
  referrerReward?: number | null;
513
701
 
702
+ /**
703
+ * Loyalty currency ID of the referrer reward.
704
+ */
705
+ referrerRewardLoyaltyCurrencyId?: string | null;
706
+
707
+ /**
708
+ * Flag indicating if the post link is required.
709
+ */
710
+ requirePostLink?: boolean | null;
711
+
712
+ /**
713
+ * Flag indicating if media metadata is required.
714
+ */
715
+ requirePostMediaLink?: boolean | null;
716
+
717
+ /**
718
+ * Flag indicating if the rule can also reward badges per range.
719
+ */
720
+ rewardBadgePerRange?: boolean;
721
+
722
+ /**
723
+ * Flag indicating if the reward is rewarded by batch.
724
+ */
725
+ rewardByBatch?: boolean | null;
726
+
727
+ /**
728
+ * Criteria to evaluate the reward.
729
+ */
730
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
731
+
732
+ /**
733
+ * Flag indicating if the reward is rewarded per action.
734
+ */
735
+ rewardPerAction?: boolean | null;
736
+
514
737
  /**
515
738
  * Flag indicating if rewards are given per impression.
516
739
  */
517
740
  rewardPerImpression?: boolean | null;
518
741
 
742
+ /**
743
+ * Flag indicating if the rule should reward based on value of traded tokens
744
+ * instead of count.
745
+ */
746
+ rewardPerValue?: boolean;
747
+
748
+ /**
749
+ * Wallet address of the user can only be used if userId is not provided
750
+ */
751
+ royaltyAddress?: string;
752
+
753
+ /**
754
+ * Royalty percentage of the item.
755
+ */
756
+ royaltyPercentage?: number;
757
+
519
758
  /**
520
759
  * Currency associated with sales.
521
760
  */
@@ -555,6 +794,7 @@ export namespace RuleCreateResponse {
555
794
  | 'Twitch'
556
795
  | 'X(Twitter)'
557
796
  | 'YouTube'
797
+ | 'Google'
558
798
  | null;
559
799
 
560
800
  /**
@@ -567,11 +807,21 @@ export namespace RuleCreateResponse {
567
807
  */
568
808
  socialPlatformName?: string | null;
569
809
 
810
+ /**
811
+ * ID of the Steam app.
812
+ */
813
+ steamAppId?: string | null;
814
+
570
815
  /**
571
816
  * Array of streak milestones and corresponding rewards.
572
817
  */
573
818
  streakArray?: Array<Metadata.StreakArray> | null;
574
819
 
820
+ /**
821
+ * Metadata for swap loyalty rules
822
+ */
823
+ swap?: Metadata.Swap;
824
+
575
825
  /**
576
826
  * ID of the Telegram channel.
577
827
  */
@@ -587,6 +837,12 @@ export namespace RuleCreateResponse {
587
837
  */
588
838
  trackAllContracts?: boolean | null;
589
839
 
840
+ /**
841
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
842
+ * completed once the progress is 100%.
843
+ */
844
+ trackProgress?: boolean | null;
845
+
590
846
  /**
591
847
  * URL of the associated Twitter account.
592
848
  */
@@ -630,7 +886,17 @@ export namespace RuleCreateResponse {
630
886
  /**
631
887
  * Type of wallet associated with the rule.
632
888
  */
633
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
889
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
890
+
891
+ /**
892
+ * ID of the Youtube channel.
893
+ */
894
+ youtubeChannelId?: string | null;
895
+
896
+ /**
897
+ * ID of the Youtube video.
898
+ */
899
+ youtubeVideoId?: string | null;
634
900
  }
635
901
 
636
902
  export namespace Metadata {
@@ -649,13 +915,17 @@ export namespace RuleCreateResponse {
649
915
  * Blockchain network of the collection.
650
916
  */
651
917
  network?:
918
+ | 'abstract'
919
+ | 'abstractTestnet'
652
920
  | 'apechain'
653
921
  | 'arbitrum'
654
922
  | 'avalanche'
655
923
  | 'avalancheFuji'
656
924
  | 'base'
657
925
  | 'baseSepolia'
926
+ | 'berachain'
658
927
  | 'berachainArtio'
928
+ | 'berachainBepolia'
659
929
  | 'binance'
660
930
  | 'bscTestnet'
661
931
  | 'campTestnet'
@@ -663,18 +933,28 @@ export namespace RuleCreateResponse {
663
933
  | 'fantomTestnet'
664
934
  | 'flowMainnet'
665
935
  | 'mainnet'
936
+ | 'nexusTestnet'
666
937
  | 'optimism'
667
938
  | 'polygon'
668
939
  | 'polygon_mumbai'
669
940
  | 'skaleNebula'
670
941
  | 'solana'
671
942
  | 'sophon'
943
+ | 'sophonTestnet'
672
944
  | 'sui'
673
945
  | 'superseed'
674
946
  | 'superseedSepolia'
675
947
  | 'vanar'
676
948
  | 'xai'
677
949
  | 'zksync'
950
+ | 'coti'
951
+ | 'cotiTestnet'
952
+ | 'morph'
953
+ | 'morphTestnet'
954
+ | 'morphHolesky'
955
+ | 'ultra'
956
+ | 'ultraTestnet'
957
+ | 'nitrograph'
678
958
  | 'sepolia'
679
959
  | 'optimism_sepolia'
680
960
  | 'arbitrumSepolia'
@@ -682,7 +962,7 @@ export namespace RuleCreateResponse {
682
962
  | 'optimism_goerli'
683
963
  | 'arbitrumGoerli'
684
964
  | 'basecamp'
685
- | 'abstract';
965
+ | 'somnia';
686
966
  }
687
967
 
688
968
  /**
@@ -759,6 +1039,105 @@ export namespace RuleCreateResponse {
759
1039
  id: string;
760
1040
  }
761
1041
 
1042
+ /**
1043
+ * Liquidity pool details.
1044
+ */
1045
+ export interface Liquidity {
1046
+ /**
1047
+ * Calculation type of the liquidity pool.
1048
+ */
1049
+ calculationType?: 'fixed' | 'custom';
1050
+
1051
+ /**
1052
+ * Custom function to calculate the the reward amount based on the liquidity
1053
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1054
+ * USD.
1055
+ */
1056
+ customFunction?: string;
1057
+
1058
+ /**
1059
+ * Liquidity provided per day in USD
1060
+ */
1061
+ liquidityPerDay?: number;
1062
+
1063
+ /**
1064
+ * Blockchain network of the liquidity pool.
1065
+ */
1066
+ network?:
1067
+ | 'abstract'
1068
+ | 'abstractTestnet'
1069
+ | 'apechain'
1070
+ | 'arbitrum'
1071
+ | 'avalanche'
1072
+ | 'avalancheFuji'
1073
+ | 'base'
1074
+ | 'baseSepolia'
1075
+ | 'berachain'
1076
+ | 'berachainArtio'
1077
+ | 'berachainBepolia'
1078
+ | 'binance'
1079
+ | 'bscTestnet'
1080
+ | 'campTestnet'
1081
+ | 'fantom'
1082
+ | 'fantomTestnet'
1083
+ | 'flowMainnet'
1084
+ | 'mainnet'
1085
+ | 'nexusTestnet'
1086
+ | 'optimism'
1087
+ | 'polygon'
1088
+ | 'polygon_mumbai'
1089
+ | 'skaleNebula'
1090
+ | 'solana'
1091
+ | 'sophon'
1092
+ | 'sophonTestnet'
1093
+ | 'sui'
1094
+ | 'superseed'
1095
+ | 'superseedSepolia'
1096
+ | 'vanar'
1097
+ | 'xai'
1098
+ | 'zksync'
1099
+ | 'coti'
1100
+ | 'cotiTestnet'
1101
+ | 'morph'
1102
+ | 'morphTestnet'
1103
+ | 'morphHolesky'
1104
+ | 'ultra'
1105
+ | 'ultraTestnet'
1106
+ | 'nitrograph'
1107
+ | 'sepolia'
1108
+ | 'optimism_sepolia'
1109
+ | 'arbitrumSepolia'
1110
+ | 'goerli'
1111
+ | 'optimism_goerli'
1112
+ | 'arbitrumGoerli'
1113
+ | 'basecamp'
1114
+ | 'somnia';
1115
+
1116
+ /**
1117
+ * Indicates if only in-range liquidity is rewarded.
1118
+ */
1119
+ onlyRewardInRangeLiquidity?: boolean;
1120
+
1121
+ /**
1122
+ * Array of liquidity pools associated with the rule.
1123
+ */
1124
+ pools?: Array<Liquidity.Pool>;
1125
+
1126
+ /**
1127
+ * Protocol of the liquidity pool.
1128
+ */
1129
+ protocol?: string;
1130
+ }
1131
+
1132
+ export namespace Liquidity {
1133
+ export interface Pool {
1134
+ /**
1135
+ * Unique identifier of the liquidity pool.
1136
+ */
1137
+ id: string;
1138
+ }
1139
+ }
1140
+
762
1141
  export interface Range {
763
1142
  /**
764
1143
  * Reward amount for this range.
@@ -774,6 +1153,16 @@ export namespace RuleCreateResponse {
774
1153
  * Start value of the range.
775
1154
  */
776
1155
  startRange: number;
1156
+
1157
+ /**
1158
+ * ID of the loyalty badge for this range.
1159
+ */
1160
+ loyaltyBadgeId?: string;
1161
+
1162
+ /**
1163
+ * Amount of the loyalty multiplier for this range.
1164
+ */
1165
+ loyaltyMultiplierAmount?: number;
777
1166
  }
778
1167
 
779
1168
  /**
@@ -826,20 +1215,15 @@ export namespace RuleCreateResponse {
826
1215
  * Object containing details of the associated smart contract.
827
1216
  */
828
1217
  export interface SmartContract {
829
- /**
830
- * ABI of the smart contract.
831
- */
832
- abi?: string | null;
833
-
834
1218
  /**
835
1219
  * Mapping of addresses for the smart contract.
836
1220
  */
837
1221
  addressMapping?: string | null;
838
1222
 
839
1223
  /**
840
- * Array of bonus details applied to the rule.
1224
+ * Object containing details of the amount multiplier from the event.
841
1225
  */
842
- bonus?: Array<SmartContract.Bonus> | null;
1226
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
843
1227
 
844
1228
  /**
845
1229
  * ID of the smart contract.
@@ -851,68 +1235,31 @@ export namespace RuleCreateResponse {
851
1235
  */
852
1236
  criteria?: 'everyEvent' | 'byParameter' | null;
853
1237
 
854
- /**
855
- * Time range applied to the rule.
856
- */
857
- customRange?: SmartContract.CustomRange | null;
858
-
859
1238
  /**
860
1239
  * Event emitted by the smart contract.
861
1240
  */
862
1241
  event?: string | null;
863
1242
 
864
- /**
865
- * Maximum value allowed for the parameter.
866
- */
867
- max?: number | null;
868
-
869
1243
  /**
870
1244
  * Array of parameters for the smart contract.
871
1245
  */
872
1246
  params?: Array<SmartContract.Param> | null;
873
1247
 
874
1248
  /**
875
- * Flag indicating if a bonus is applied.
1249
+ * Type of the smart contract interaction.
876
1250
  */
877
- withBonus?: boolean | null;
878
-
879
- /**
880
- * Flag indicating if a custom range is applied.
881
- */
882
- withCustomRange?: boolean | null;
883
-
884
- /**
885
- * Flag indicating if a maximum limit is applied.
886
- */
887
- withMax?: boolean | null;
1251
+ type?: 'function' | 'event' | null;
888
1252
  }
889
1253
 
890
1254
  export namespace SmartContract {
891
- export interface Bonus {
892
- /**
893
- * Amount of the bonus.
894
- */
895
- amount?: number | null;
896
-
897
- /**
898
- * Number of times the bonus is applied.
899
- */
900
- count?: number | null;
901
- }
902
-
903
1255
  /**
904
- * Time range applied to the rule.
1256
+ * Object containing details of the amount multiplier from the event.
905
1257
  */
906
- export interface CustomRange {
907
- /**
908
- * End time of the custom range.
909
- */
910
- endsAt?: string | null;
911
-
1258
+ export interface AmountMultiplier {
912
1259
  /**
913
- * Start time of the custom range.
1260
+ * Mapping of the value for the smart contract.
914
1261
  */
915
- startsAt?: string | null;
1262
+ valueMapping?: string | null;
916
1263
  }
917
1264
 
918
1265
  export interface Param {
@@ -956,6 +1303,33 @@ export namespace RuleCreateResponse {
956
1303
  */
957
1304
  streakMilestone: number;
958
1305
  }
1306
+
1307
+ /**
1308
+ * Metadata for swap loyalty rules
1309
+ */
1310
+ export interface Swap {
1311
+ provider?: 'any' | 'relay' | 'lifi';
1312
+
1313
+ relayReferrerId?: string;
1314
+
1315
+ requireCrossChainSwap?: boolean;
1316
+
1317
+ swappedToChain?: 'any' | number | string;
1318
+
1319
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1320
+
1321
+ tokenMode?: 'any' | 'specific';
1322
+
1323
+ trackTokenAmount?: boolean;
1324
+ }
1325
+
1326
+ export namespace Swap {
1327
+ export interface SwappedToToken {
1328
+ address: string;
1329
+
1330
+ chainId: string;
1331
+ }
1332
+ }
959
1333
  }
960
1334
 
961
1335
  export interface Collection {
@@ -968,13 +1342,17 @@ export namespace RuleCreateResponse {
968
1342
  * Blockchain network for the collection
969
1343
  */
970
1344
  network:
1345
+ | 'abstract'
1346
+ | 'abstractTestnet'
971
1347
  | 'apechain'
972
1348
  | 'arbitrum'
973
1349
  | 'avalanche'
974
1350
  | 'avalancheFuji'
975
1351
  | 'base'
976
1352
  | 'baseSepolia'
1353
+ | 'berachain'
977
1354
  | 'berachainArtio'
1355
+ | 'berachainBepolia'
978
1356
  | 'binance'
979
1357
  | 'bscTestnet'
980
1358
  | 'campTestnet'
@@ -982,18 +1360,28 @@ export namespace RuleCreateResponse {
982
1360
  | 'fantomTestnet'
983
1361
  | 'flowMainnet'
984
1362
  | 'mainnet'
1363
+ | 'nexusTestnet'
985
1364
  | 'optimism'
986
1365
  | 'polygon'
987
1366
  | 'polygon_mumbai'
988
1367
  | 'skaleNebula'
989
1368
  | 'solana'
990
1369
  | 'sophon'
1370
+ | 'sophonTestnet'
991
1371
  | 'sui'
992
1372
  | 'superseed'
993
1373
  | 'superseedSepolia'
994
1374
  | 'vanar'
995
1375
  | 'xai'
996
1376
  | 'zksync'
1377
+ | 'coti'
1378
+ | 'cotiTestnet'
1379
+ | 'morph'
1380
+ | 'morphTestnet'
1381
+ | 'morphHolesky'
1382
+ | 'ultra'
1383
+ | 'ultraTestnet'
1384
+ | 'nitrograph'
997
1385
  | 'sepolia'
998
1386
  | 'optimism_sepolia'
999
1387
  | 'arbitrumSepolia'
@@ -1001,7 +1389,12 @@ export namespace RuleCreateResponse {
1001
1389
  | 'optimism_goerli'
1002
1390
  | 'arbitrumGoerli'
1003
1391
  | 'basecamp'
1004
- | 'abstract';
1392
+ | 'somnia';
1393
+
1394
+ /**
1395
+ * Symbol of the collection.
1396
+ */
1397
+ symbol?: string;
1005
1398
  }
1006
1399
  }
1007
1400
 
@@ -1023,6 +1416,11 @@ export interface RuleUpdateResponse {
1023
1416
  */
1024
1417
  name: string;
1025
1418
 
1419
+ /**
1420
+ * The type of claim for the reward
1421
+ */
1422
+ claimType?: 'manual' | 'auto' | null;
1423
+
1026
1424
  /**
1027
1425
  * Blockchain address of the associated collection
1028
1426
  */
@@ -1058,6 +1456,11 @@ export interface RuleUpdateResponse {
1058
1456
  */
1059
1457
  effectiveStartTime?: string | null;
1060
1458
 
1459
+ /**
1460
+ * ID of the external integration
1461
+ */
1462
+ externalIntegrationId?: string | null;
1463
+
1061
1464
  /**
1062
1465
  * Frequency of the rule execution
1063
1466
  */
@@ -1071,7 +1474,7 @@ export interface RuleUpdateResponse {
1071
1474
  /**
1072
1475
  * Time interval for recurring rule execution
1073
1476
  */
1074
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1477
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1075
1478
 
1076
1479
  /**
1077
1480
  * Whether this rule is required for participation
@@ -1083,6 +1486,18 @@ export interface RuleUpdateResponse {
1083
1486
  */
1084
1487
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1085
1488
 
1489
+ /**
1490
+ * The interval for the max amount. Available for the smart contract and external
1491
+ * rules.
1492
+ */
1493
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1494
+
1495
+ /**
1496
+ * The maximum amount of points a user can earn per interval. Available for the
1497
+ * smart contract and external rules.
1498
+ */
1499
+ maxAmountPerInterval?: number | null;
1500
+
1086
1501
  /**
1087
1502
  * URL of the media to be displayed
1088
1503
  */
@@ -1097,13 +1512,17 @@ export interface RuleUpdateResponse {
1097
1512
  * Blockchain network where the rule will apply
1098
1513
  */
1099
1514
  network?:
1515
+ | 'abstract'
1516
+ | 'abstractTestnet'
1100
1517
  | 'apechain'
1101
1518
  | 'arbitrum'
1102
1519
  | 'avalanche'
1103
1520
  | 'avalancheFuji'
1104
1521
  | 'base'
1105
1522
  | 'baseSepolia'
1523
+ | 'berachain'
1106
1524
  | 'berachainArtio'
1525
+ | 'berachainBepolia'
1107
1526
  | 'binance'
1108
1527
  | 'bscTestnet'
1109
1528
  | 'campTestnet'
@@ -1111,18 +1530,28 @@ export interface RuleUpdateResponse {
1111
1530
  | 'fantomTestnet'
1112
1531
  | 'flowMainnet'
1113
1532
  | 'mainnet'
1533
+ | 'nexusTestnet'
1114
1534
  | 'optimism'
1115
1535
  | 'polygon'
1116
1536
  | 'polygon_mumbai'
1117
1537
  | 'skaleNebula'
1118
1538
  | 'solana'
1119
1539
  | 'sophon'
1540
+ | 'sophonTestnet'
1120
1541
  | 'sui'
1121
1542
  | 'superseed'
1122
1543
  | 'superseedSepolia'
1123
1544
  | 'vanar'
1124
1545
  | 'xai'
1125
1546
  | 'zksync'
1547
+ | 'coti'
1548
+ | 'cotiTestnet'
1549
+ | 'morph'
1550
+ | 'morphTestnet'
1551
+ | 'morphHolesky'
1552
+ | 'ultra'
1553
+ | 'ultraTestnet'
1554
+ | 'nitrograph'
1126
1555
  | 'sepolia'
1127
1556
  | 'optimism_sepolia'
1128
1557
  | 'arbitrumSepolia'
@@ -1130,17 +1559,32 @@ export interface RuleUpdateResponse {
1130
1559
  | 'optimism_goerli'
1131
1560
  | 'arbitrumGoerli'
1132
1561
  | 'basecamp'
1133
- | 'abstract';
1562
+ | 'somnia';
1134
1563
 
1135
1564
  /**
1136
1565
  * ID for associated OAuth credentials
1137
1566
  */
1138
1567
  oauthCredentialsId?: string | null;
1139
1568
 
1569
+ /**
1570
+ * The lifetime of the reward
1571
+ */
1572
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
1573
+
1140
1574
  /**
1141
1575
  * Type of reward issued by this rule
1142
1576
  */
1143
- rewardType?: 'points' | 'multiplier';
1577
+ rewardType?: 'points' | 'multiplier' | 'badge';
1578
+
1579
+ /**
1580
+ * URL of the Shopify store
1581
+ */
1582
+ shopifyStoreUrl?: string | null;
1583
+
1584
+ /**
1585
+ * Whether to show this rule before the start time
1586
+ */
1587
+ showBeforeStart?: boolean;
1144
1588
 
1145
1589
  /**
1146
1590
  * Start time for the loyalty rule
@@ -1148,9 +1592,9 @@ export interface RuleUpdateResponse {
1148
1592
  startTime?: string | null;
1149
1593
 
1150
1594
  /**
1151
- * Optional subscription identifier for the rule
1595
+ * Optional subscription id for the rule
1152
1596
  */
1153
- subscriptionIdentifier?: string | null;
1597
+ subscriptionId?: string | null;
1154
1598
  }
1155
1599
 
1156
1600
  export namespace RuleUpdateResponse {
@@ -1164,13 +1608,17 @@ export namespace RuleUpdateResponse {
1164
1608
  * Blockchain network for the collection
1165
1609
  */
1166
1610
  network:
1611
+ | 'abstract'
1612
+ | 'abstractTestnet'
1167
1613
  | 'apechain'
1168
1614
  | 'arbitrum'
1169
1615
  | 'avalanche'
1170
1616
  | 'avalancheFuji'
1171
1617
  | 'base'
1172
1618
  | 'baseSepolia'
1619
+ | 'berachain'
1173
1620
  | 'berachainArtio'
1621
+ | 'berachainBepolia'
1174
1622
  | 'binance'
1175
1623
  | 'bscTestnet'
1176
1624
  | 'campTestnet'
@@ -1178,18 +1626,28 @@ export namespace RuleUpdateResponse {
1178
1626
  | 'fantomTestnet'
1179
1627
  | 'flowMainnet'
1180
1628
  | 'mainnet'
1629
+ | 'nexusTestnet'
1181
1630
  | 'optimism'
1182
1631
  | 'polygon'
1183
1632
  | 'polygon_mumbai'
1184
1633
  | 'skaleNebula'
1185
1634
  | 'solana'
1186
1635
  | 'sophon'
1636
+ | 'sophonTestnet'
1187
1637
  | 'sui'
1188
1638
  | 'superseed'
1189
1639
  | 'superseedSepolia'
1190
1640
  | 'vanar'
1191
1641
  | 'xai'
1192
1642
  | 'zksync'
1643
+ | 'coti'
1644
+ | 'cotiTestnet'
1645
+ | 'morph'
1646
+ | 'morphTestnet'
1647
+ | 'morphHolesky'
1648
+ | 'ultra'
1649
+ | 'ultraTestnet'
1650
+ | 'nitrograph'
1193
1651
  | 'sepolia'
1194
1652
  | 'optimism_sepolia'
1195
1653
  | 'arbitrumSepolia'
@@ -1197,13 +1655,23 @@ export namespace RuleUpdateResponse {
1197
1655
  | 'optimism_goerli'
1198
1656
  | 'arbitrumGoerli'
1199
1657
  | 'basecamp'
1200
- | 'abstract';
1658
+ | 'somnia';
1659
+
1660
+ /**
1661
+ * Symbol of the collection.
1662
+ */
1663
+ symbol?: string;
1201
1664
  }
1202
1665
 
1203
1666
  /**
1204
1667
  * Additional metadata for the loyalty rule
1205
1668
  */
1206
1669
  export interface Metadata {
1670
+ /**
1671
+ * Number of tokens per batch.
1672
+ */
1673
+ batchSize?: number | null;
1674
+
1207
1675
  /**
1208
1676
  * Text displayed on the action button.
1209
1677
  */
@@ -1227,7 +1695,7 @@ export namespace RuleUpdateResponse {
1227
1695
  /**
1228
1696
  * Text to check in the Twitter post, username, or bio.
1229
1697
  */
1230
- checkText?: string | null;
1698
+ checkText?: string | Array<string> | null;
1231
1699
 
1232
1700
  /**
1233
1701
  * Array of collections associated with the rule.
@@ -1237,7 +1705,12 @@ export namespace RuleUpdateResponse {
1237
1705
  /**
1238
1706
  * Conditions for completing the profile.
1239
1707
  */
1240
- completeProfileConditions?: Record<string, boolean> | null;
1708
+ completeProfileConditions?: { [key: string]: boolean } | null;
1709
+
1710
+ /**
1711
+ * Description of the external rule condition (only for external rules)
1712
+ */
1713
+ conditionDescription?: string;
1241
1714
 
1242
1715
  /**
1243
1716
  * Object containing details for the call-to-action.
@@ -1249,6 +1722,11 @@ export namespace RuleUpdateResponse {
1249
1722
  */
1250
1723
  customRewardsApiKey?: string;
1251
1724
 
1725
+ /**
1726
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1727
+ */
1728
+ directRpc?: boolean;
1729
+
1252
1730
  /**
1253
1731
  * Array of Discord servers, channels, and roles to join.
1254
1732
  */
@@ -1294,11 +1772,6 @@ export namespace RuleUpdateResponse {
1294
1772
  */
1295
1773
  hasNeverSold?: boolean;
1296
1774
 
1297
- /**
1298
- * Flag indicating whether the order source is included.
1299
- */
1300
- hasOrderSource?: boolean;
1301
-
1302
1775
  /**
1303
1776
  * Indicates if the full royalty has been paid for items.
1304
1777
  */
@@ -1319,11 +1792,21 @@ export namespace RuleUpdateResponse {
1319
1792
  */
1320
1793
  imageUrl?: string | null;
1321
1794
 
1795
+ /**
1796
+ * If enabled, the first transaction done on the platform will complete this rule
1797
+ */
1798
+ isCheckInOnEveryTxn?: boolean;
1799
+
1322
1800
  /**
1323
1801
  * Indicates if the multiplier has been applied to rewards.
1324
1802
  */
1325
1803
  isMultiplierApplied?: boolean;
1326
1804
 
1805
+ /**
1806
+ * Flag indicating if the rule is restricted to new users.
1807
+ */
1808
+ isRestrictedToNewUsers?: boolean;
1809
+
1327
1810
  /**
1328
1811
  * Flag indicating if rewards are applied retroactively.
1329
1812
  */
@@ -1339,6 +1822,11 @@ export namespace RuleUpdateResponse {
1339
1822
  */
1340
1823
  link?: string | null;
1341
1824
 
1825
+ /**
1826
+ * Liquidity pool details.
1827
+ */
1828
+ liquidity?: Metadata.Liquidity;
1829
+
1342
1830
  /**
1343
1831
  * Maximum quantity constraint for token holding.
1344
1832
  */
@@ -1380,14 +1868,24 @@ export namespace RuleUpdateResponse {
1380
1868
  onlyRewardSingleTokenOwnership?: boolean | null;
1381
1869
 
1382
1870
  /**
1383
- * Order source of the order for the token sale
1871
+ * Promotional code associated with the rule.
1872
+ */
1873
+ promoCode?: string;
1874
+
1875
+ /**
1876
+ * URL of the CSV file containing promo codes.
1384
1877
  */
1385
- orderSource?: string;
1878
+ promoCodeCsvUrl?: string;
1386
1879
 
1387
1880
  /**
1388
- * Promotional code associated with the rule.
1881
+ * Numbers of the promotional code to be generated.
1389
1882
  */
1390
- promoCode?: string;
1883
+ promoCodeLength?: number | null;
1884
+
1885
+ /**
1886
+ * Type of the promotional code.
1887
+ */
1888
+ promoCodeType?: 'code' | 'csv' | 'generate';
1391
1889
 
1392
1890
  /**
1393
1891
  * Array defining ranges and corresponding rewards.
@@ -1404,11 +1902,62 @@ export namespace RuleUpdateResponse {
1404
1902
  */
1405
1903
  referrerReward?: number | null;
1406
1904
 
1905
+ /**
1906
+ * Loyalty currency ID of the referrer reward.
1907
+ */
1908
+ referrerRewardLoyaltyCurrencyId?: string | null;
1909
+
1910
+ /**
1911
+ * Flag indicating if the post link is required.
1912
+ */
1913
+ requirePostLink?: boolean | null;
1914
+
1915
+ /**
1916
+ * Flag indicating if media metadata is required.
1917
+ */
1918
+ requirePostMediaLink?: boolean | null;
1919
+
1920
+ /**
1921
+ * Flag indicating if the rule can also reward badges per range.
1922
+ */
1923
+ rewardBadgePerRange?: boolean;
1924
+
1925
+ /**
1926
+ * Flag indicating if the reward is rewarded by batch.
1927
+ */
1928
+ rewardByBatch?: boolean | null;
1929
+
1930
+ /**
1931
+ * Criteria to evaluate the reward.
1932
+ */
1933
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1934
+
1935
+ /**
1936
+ * Flag indicating if the reward is rewarded per action.
1937
+ */
1938
+ rewardPerAction?: boolean | null;
1939
+
1407
1940
  /**
1408
1941
  * Flag indicating if rewards are given per impression.
1409
1942
  */
1410
1943
  rewardPerImpression?: boolean | null;
1411
1944
 
1945
+ /**
1946
+ * Flag indicating if the rule should reward based on value of traded tokens
1947
+ * instead of count.
1948
+ */
1949
+ rewardPerValue?: boolean;
1950
+
1951
+ /**
1952
+ * Wallet address of the user can only be used if userId is not provided
1953
+ */
1954
+ royaltyAddress?: string;
1955
+
1956
+ /**
1957
+ * Royalty percentage of the item.
1958
+ */
1959
+ royaltyPercentage?: number;
1960
+
1412
1961
  /**
1413
1962
  * Currency associated with sales.
1414
1963
  */
@@ -1448,6 +1997,7 @@ export namespace RuleUpdateResponse {
1448
1997
  | 'Twitch'
1449
1998
  | 'X(Twitter)'
1450
1999
  | 'YouTube'
2000
+ | 'Google'
1451
2001
  | null;
1452
2002
 
1453
2003
  /**
@@ -1460,11 +2010,21 @@ export namespace RuleUpdateResponse {
1460
2010
  */
1461
2011
  socialPlatformName?: string | null;
1462
2012
 
2013
+ /**
2014
+ * ID of the Steam app.
2015
+ */
2016
+ steamAppId?: string | null;
2017
+
1463
2018
  /**
1464
2019
  * Array of streak milestones and corresponding rewards.
1465
2020
  */
1466
2021
  streakArray?: Array<Metadata.StreakArray> | null;
1467
2022
 
2023
+ /**
2024
+ * Metadata for swap loyalty rules
2025
+ */
2026
+ swap?: Metadata.Swap;
2027
+
1468
2028
  /**
1469
2029
  * ID of the Telegram channel.
1470
2030
  */
@@ -1480,6 +2040,12 @@ export namespace RuleUpdateResponse {
1480
2040
  */
1481
2041
  trackAllContracts?: boolean | null;
1482
2042
 
2043
+ /**
2044
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2045
+ * completed once the progress is 100%.
2046
+ */
2047
+ trackProgress?: boolean | null;
2048
+
1483
2049
  /**
1484
2050
  * URL of the associated Twitter account.
1485
2051
  */
@@ -1523,7 +2089,17 @@ export namespace RuleUpdateResponse {
1523
2089
  /**
1524
2090
  * Type of wallet associated with the rule.
1525
2091
  */
1526
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
2092
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2093
+
2094
+ /**
2095
+ * ID of the Youtube channel.
2096
+ */
2097
+ youtubeChannelId?: string | null;
2098
+
2099
+ /**
2100
+ * ID of the Youtube video.
2101
+ */
2102
+ youtubeVideoId?: string | null;
1527
2103
  }
1528
2104
 
1529
2105
  export namespace Metadata {
@@ -1542,13 +2118,17 @@ export namespace RuleUpdateResponse {
1542
2118
  * Blockchain network of the collection.
1543
2119
  */
1544
2120
  network?:
2121
+ | 'abstract'
2122
+ | 'abstractTestnet'
1545
2123
  | 'apechain'
1546
2124
  | 'arbitrum'
1547
2125
  | 'avalanche'
1548
2126
  | 'avalancheFuji'
1549
2127
  | 'base'
1550
2128
  | 'baseSepolia'
2129
+ | 'berachain'
1551
2130
  | 'berachainArtio'
2131
+ | 'berachainBepolia'
1552
2132
  | 'binance'
1553
2133
  | 'bscTestnet'
1554
2134
  | 'campTestnet'
@@ -1556,18 +2136,28 @@ export namespace RuleUpdateResponse {
1556
2136
  | 'fantomTestnet'
1557
2137
  | 'flowMainnet'
1558
2138
  | 'mainnet'
2139
+ | 'nexusTestnet'
1559
2140
  | 'optimism'
1560
2141
  | 'polygon'
1561
2142
  | 'polygon_mumbai'
1562
2143
  | 'skaleNebula'
1563
2144
  | 'solana'
1564
2145
  | 'sophon'
2146
+ | 'sophonTestnet'
1565
2147
  | 'sui'
1566
2148
  | 'superseed'
1567
2149
  | 'superseedSepolia'
1568
2150
  | 'vanar'
1569
2151
  | 'xai'
1570
2152
  | 'zksync'
2153
+ | 'coti'
2154
+ | 'cotiTestnet'
2155
+ | 'morph'
2156
+ | 'morphTestnet'
2157
+ | 'morphHolesky'
2158
+ | 'ultra'
2159
+ | 'ultraTestnet'
2160
+ | 'nitrograph'
1571
2161
  | 'sepolia'
1572
2162
  | 'optimism_sepolia'
1573
2163
  | 'arbitrumSepolia'
@@ -1575,7 +2165,7 @@ export namespace RuleUpdateResponse {
1575
2165
  | 'optimism_goerli'
1576
2166
  | 'arbitrumGoerli'
1577
2167
  | 'basecamp'
1578
- | 'abstract';
2168
+ | 'somnia';
1579
2169
  }
1580
2170
 
1581
2171
  /**
@@ -1652,6 +2242,105 @@ export namespace RuleUpdateResponse {
1652
2242
  id: string;
1653
2243
  }
1654
2244
 
2245
+ /**
2246
+ * Liquidity pool details.
2247
+ */
2248
+ export interface Liquidity {
2249
+ /**
2250
+ * Calculation type of the liquidity pool.
2251
+ */
2252
+ calculationType?: 'fixed' | 'custom';
2253
+
2254
+ /**
2255
+ * Custom function to calculate the the reward amount based on the liquidity
2256
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2257
+ * USD.
2258
+ */
2259
+ customFunction?: string;
2260
+
2261
+ /**
2262
+ * Liquidity provided per day in USD
2263
+ */
2264
+ liquidityPerDay?: number;
2265
+
2266
+ /**
2267
+ * Blockchain network of the liquidity pool.
2268
+ */
2269
+ network?:
2270
+ | 'abstract'
2271
+ | 'abstractTestnet'
2272
+ | 'apechain'
2273
+ | 'arbitrum'
2274
+ | 'avalanche'
2275
+ | 'avalancheFuji'
2276
+ | 'base'
2277
+ | 'baseSepolia'
2278
+ | 'berachain'
2279
+ | 'berachainArtio'
2280
+ | 'berachainBepolia'
2281
+ | 'binance'
2282
+ | 'bscTestnet'
2283
+ | 'campTestnet'
2284
+ | 'fantom'
2285
+ | 'fantomTestnet'
2286
+ | 'flowMainnet'
2287
+ | 'mainnet'
2288
+ | 'nexusTestnet'
2289
+ | 'optimism'
2290
+ | 'polygon'
2291
+ | 'polygon_mumbai'
2292
+ | 'skaleNebula'
2293
+ | 'solana'
2294
+ | 'sophon'
2295
+ | 'sophonTestnet'
2296
+ | 'sui'
2297
+ | 'superseed'
2298
+ | 'superseedSepolia'
2299
+ | 'vanar'
2300
+ | 'xai'
2301
+ | 'zksync'
2302
+ | 'coti'
2303
+ | 'cotiTestnet'
2304
+ | 'morph'
2305
+ | 'morphTestnet'
2306
+ | 'morphHolesky'
2307
+ | 'ultra'
2308
+ | 'ultraTestnet'
2309
+ | 'nitrograph'
2310
+ | 'sepolia'
2311
+ | 'optimism_sepolia'
2312
+ | 'arbitrumSepolia'
2313
+ | 'goerli'
2314
+ | 'optimism_goerli'
2315
+ | 'arbitrumGoerli'
2316
+ | 'basecamp'
2317
+ | 'somnia';
2318
+
2319
+ /**
2320
+ * Indicates if only in-range liquidity is rewarded.
2321
+ */
2322
+ onlyRewardInRangeLiquidity?: boolean;
2323
+
2324
+ /**
2325
+ * Array of liquidity pools associated with the rule.
2326
+ */
2327
+ pools?: Array<Liquidity.Pool>;
2328
+
2329
+ /**
2330
+ * Protocol of the liquidity pool.
2331
+ */
2332
+ protocol?: string;
2333
+ }
2334
+
2335
+ export namespace Liquidity {
2336
+ export interface Pool {
2337
+ /**
2338
+ * Unique identifier of the liquidity pool.
2339
+ */
2340
+ id: string;
2341
+ }
2342
+ }
2343
+
1655
2344
  export interface Range {
1656
2345
  /**
1657
2346
  * Reward amount for this range.
@@ -1667,6 +2356,16 @@ export namespace RuleUpdateResponse {
1667
2356
  * Start value of the range.
1668
2357
  */
1669
2358
  startRange: number;
2359
+
2360
+ /**
2361
+ * ID of the loyalty badge for this range.
2362
+ */
2363
+ loyaltyBadgeId?: string;
2364
+
2365
+ /**
2366
+ * Amount of the loyalty multiplier for this range.
2367
+ */
2368
+ loyaltyMultiplierAmount?: number;
1670
2369
  }
1671
2370
 
1672
2371
  /**
@@ -1719,20 +2418,15 @@ export namespace RuleUpdateResponse {
1719
2418
  * Object containing details of the associated smart contract.
1720
2419
  */
1721
2420
  export interface SmartContract {
1722
- /**
1723
- * ABI of the smart contract.
1724
- */
1725
- abi?: string | null;
1726
-
1727
2421
  /**
1728
2422
  * Mapping of addresses for the smart contract.
1729
2423
  */
1730
2424
  addressMapping?: string | null;
1731
2425
 
1732
2426
  /**
1733
- * Array of bonus details applied to the rule.
2427
+ * Object containing details of the amount multiplier from the event.
1734
2428
  */
1735
- bonus?: Array<SmartContract.Bonus> | null;
2429
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1736
2430
 
1737
2431
  /**
1738
2432
  * ID of the smart contract.
@@ -1744,68 +2438,31 @@ export namespace RuleUpdateResponse {
1744
2438
  */
1745
2439
  criteria?: 'everyEvent' | 'byParameter' | null;
1746
2440
 
1747
- /**
1748
- * Time range applied to the rule.
1749
- */
1750
- customRange?: SmartContract.CustomRange | null;
1751
-
1752
2441
  /**
1753
2442
  * Event emitted by the smart contract.
1754
2443
  */
1755
2444
  event?: string | null;
1756
2445
 
1757
- /**
1758
- * Maximum value allowed for the parameter.
1759
- */
1760
- max?: number | null;
1761
-
1762
2446
  /**
1763
2447
  * Array of parameters for the smart contract.
1764
2448
  */
1765
2449
  params?: Array<SmartContract.Param> | null;
1766
2450
 
1767
2451
  /**
1768
- * Flag indicating if a bonus is applied.
1769
- */
1770
- withBonus?: boolean | null;
1771
-
1772
- /**
1773
- * Flag indicating if a custom range is applied.
2452
+ * Type of the smart contract interaction.
1774
2453
  */
1775
- withCustomRange?: boolean | null;
1776
-
1777
- /**
1778
- * Flag indicating if a maximum limit is applied.
1779
- */
1780
- withMax?: boolean | null;
2454
+ type?: 'function' | 'event' | null;
1781
2455
  }
1782
2456
 
1783
2457
  export namespace SmartContract {
1784
- export interface Bonus {
1785
- /**
1786
- * Amount of the bonus.
1787
- */
1788
- amount?: number | null;
1789
-
1790
- /**
1791
- * Number of times the bonus is applied.
1792
- */
1793
- count?: number | null;
1794
- }
1795
-
1796
2458
  /**
1797
- * Time range applied to the rule.
2459
+ * Object containing details of the amount multiplier from the event.
1798
2460
  */
1799
- export interface CustomRange {
1800
- /**
1801
- * End time of the custom range.
1802
- */
1803
- endsAt?: string | null;
1804
-
2461
+ export interface AmountMultiplier {
1805
2462
  /**
1806
- * Start time of the custom range.
2463
+ * Mapping of the value for the smart contract.
1807
2464
  */
1808
- startsAt?: string | null;
2465
+ valueMapping?: string | null;
1809
2466
  }
1810
2467
 
1811
2468
  export interface Param {
@@ -1849,6 +2506,33 @@ export namespace RuleUpdateResponse {
1849
2506
  */
1850
2507
  streakMilestone: number;
1851
2508
  }
2509
+
2510
+ /**
2511
+ * Metadata for swap loyalty rules
2512
+ */
2513
+ export interface Swap {
2514
+ provider?: 'any' | 'relay' | 'lifi';
2515
+
2516
+ relayReferrerId?: string;
2517
+
2518
+ requireCrossChainSwap?: boolean;
2519
+
2520
+ swappedToChain?: 'any' | number | string;
2521
+
2522
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2523
+
2524
+ tokenMode?: 'any' | 'specific';
2525
+
2526
+ trackTokenAmount?: boolean;
2527
+ }
2528
+
2529
+ export namespace Swap {
2530
+ export interface SwappedToToken {
2531
+ address: string;
2532
+
2533
+ chainId: string;
2534
+ }
2535
+ }
1852
2536
  }
1853
2537
  }
1854
2538
 
@@ -1859,9 +2543,6 @@ export interface RuleListResponse {
1859
2543
  }
1860
2544
 
1861
2545
  export namespace RuleListResponse {
1862
- /**
1863
- * Schema for a loyalty rule
1864
- */
1865
2546
  export interface Data {
1866
2547
  /**
1867
2548
  * Unique identifier for the loyalty rule
@@ -1878,45 +2559,1051 @@ export namespace RuleListResponse {
1878
2559
  */
1879
2560
  createdAt: string;
1880
2561
 
1881
- /**
1882
- * Timestamp when the loyalty rule was deleted (if applicable)
1883
- */
1884
- deletedAt: string | null;
2562
+ /**
2563
+ * Timestamp when the loyalty rule was deleted (if applicable)
2564
+ */
2565
+ deletedAt: string | null;
2566
+
2567
+ /**
2568
+ * Description of the loyalty rule
2569
+ */
2570
+ description: string;
2571
+
2572
+ /**
2573
+ * End time of the loyalty rule
2574
+ */
2575
+ endTime: string;
2576
+
2577
+ /**
2578
+ * Frequency of the loyalty rule
2579
+ */
2580
+ frequency: string;
2581
+
2582
+ /**
2583
+ * Chains attached to the loyalty rule
2584
+ */
2585
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
2586
+
2587
+ /**
2588
+ * Name of the loyalty rule
2589
+ */
2590
+ name: string;
2591
+
2592
+ /**
2593
+ * Unique identifier for the organization
2594
+ */
2595
+ organizationId: string;
2596
+
2597
+ /**
2598
+ * Type of the reward
2599
+ */
2600
+ rewardType: 'points' | 'multiplier' | 'badge';
2601
+
2602
+ /**
2603
+ * Start time of the loyalty rule
2604
+ */
2605
+ startTime: string;
2606
+
2607
+ /**
2608
+ * Type of the loyalty rule
2609
+ */
2610
+ type: string;
2611
+
2612
+ /**
2613
+ * Timestamp when the loyalty rule was last updated
2614
+ */
2615
+ updatedAt: string;
2616
+
2617
+ /**
2618
+ * Unique identifier for the website
2619
+ */
2620
+ websiteId: string;
2621
+
2622
+ /**
2623
+ * Optional address of the collection
2624
+ */
2625
+ collectionAddress?: string;
2626
+
2627
+ /**
2628
+ * URL of the media associated with the loyalty rule
2629
+ */
2630
+ mediaUrl?: string | null;
2631
+
2632
+ /**
2633
+ * Optional metadata for the loyalty rule
2634
+ */
2635
+ metadata?: { [key: string]: Data.Metadata };
2636
+ }
2637
+
2638
+ export namespace Data {
2639
+ export interface LoyaltyRuleChain {
2640
+ /**
2641
+ * Unique identifier for the rule chain
2642
+ */
2643
+ id: string;
2644
+
2645
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
2646
+
2647
+ /**
2648
+ * Unique identifier for the loyalty rule
2649
+ */
2650
+ loyaltyRuleId: string;
2651
+
2652
+ /**
2653
+ * Name of the rule chain
2654
+ */
2655
+ name: string;
2656
+ }
2657
+
2658
+ export namespace LoyaltyRuleChain {
2659
+ export interface LoyaltyCondition {
2660
+ /**
2661
+ * Unique identifier for the condition
2662
+ */
2663
+ id: string;
2664
+
2665
+ /**
2666
+ * Amount of the condition
2667
+ */
2668
+ amount: number | null;
2669
+
2670
+ association: Array<LoyaltyCondition.Association>;
2671
+
2672
+ /**
2673
+ * URL of the CSV file
2674
+ */
2675
+ csvUrl: string | null;
2676
+
2677
+ /**
2678
+ * Description of the condition
2679
+ */
2680
+ description: string | null;
2681
+
2682
+ /**
2683
+ * Number of times the condition must be met
2684
+ */
2685
+ repeatCount: number | null;
2686
+
2687
+ /**
2688
+ * Number of times the condition must be met
2689
+ */
2690
+ requiredCount: number | null;
2691
+
2692
+ /**
2693
+ * Type of the condition
2694
+ */
2695
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
2696
+ }
2697
+
2698
+ export namespace LoyaltyCondition {
2699
+ export interface Association {
2700
+ /**
2701
+ * Unique identifier for the association
2702
+ */
2703
+ id: string;
2704
+
2705
+ /**
2706
+ * Unique identifier for the loyalty badge
2707
+ */
2708
+ loyaltyBadgeId: string | null;
2709
+
2710
+ /**
2711
+ * Unique identifier for the loyalty currency
2712
+ */
2713
+ loyaltyCurrencyId: string | null;
2714
+
2715
+ loyaltyRule: Association.LoyaltyRule | null;
2716
+
2717
+ /**
2718
+ * Unique identifier for the loyalty rule group
2719
+ */
2720
+ loyaltyRuleGroupId: string | null;
2721
+
2722
+ /**
2723
+ * Unique identifier for the loyalty rule
2724
+ */
2725
+ loyaltyRuleId: string | null;
2726
+ }
2727
+
2728
+ export namespace Association {
2729
+ export interface LoyaltyRule {
2730
+ /**
2731
+ * Name of the loyalty rule
2732
+ */
2733
+ name: string;
2734
+ }
2735
+ }
2736
+ }
2737
+ }
2738
+
2739
+ export interface Metadata {
2740
+ /**
2741
+ * Number of tokens per batch.
2742
+ */
2743
+ batchSize?: number | null;
2744
+
2745
+ /**
2746
+ * Text displayed on the action button.
2747
+ */
2748
+ buttonText?: string | null;
2749
+
2750
+ /**
2751
+ * Flag indicating if commenting is required.
2752
+ */
2753
+ checkComment?: boolean | null;
2754
+
2755
+ /**
2756
+ * Flag indicating if liking the post is required.
2757
+ */
2758
+ checkLike?: boolean | null;
2759
+
2760
+ /**
2761
+ * Flag indicating if reposting is required.
2762
+ */
2763
+ checkRepost?: boolean | null;
2764
+
2765
+ /**
2766
+ * Text to check in the Twitter post, username, or bio.
2767
+ */
2768
+ checkText?: string | Array<string> | null;
2769
+
2770
+ /**
2771
+ * Array of collections associated with the rule.
2772
+ */
2773
+ collection?: Array<Metadata.Collection>;
2774
+
2775
+ /**
2776
+ * Conditions for completing the profile.
2777
+ */
2778
+ completeProfileConditions?: { [key: string]: boolean } | null;
2779
+
2780
+ /**
2781
+ * Description of the external rule condition (only for external rules)
2782
+ */
2783
+ conditionDescription?: string;
2784
+
2785
+ /**
2786
+ * Object containing details for the call-to-action.
2787
+ */
2788
+ cta?: Metadata.Cta | null;
2789
+
2790
+ /**
2791
+ * API key for custom rewards integration.
2792
+ */
2793
+ customRewardsApiKey?: string;
2794
+
2795
+ /**
2796
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2797
+ */
2798
+ directRpc?: boolean;
2799
+
2800
+ /**
2801
+ * Array of Discord servers, channels, and roles to join.
2802
+ */
2803
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2804
+
2805
+ /**
2806
+ * Array of drip quests required to complete the rule.
2807
+ */
2808
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2809
+
2810
+ /**
2811
+ * Flag indicating whether joining Discord servers is required.
2812
+ */
2813
+ enableJoinDiscordServers?: boolean | null;
2814
+
2815
+ /**
2816
+ * Flag indicating whether streaks are enabled.
2817
+ */
2818
+ enableStreaks?: boolean | null;
2819
+
2820
+ /**
2821
+ * Flag indicating whether the verified multiplier is enabled.
2822
+ */
2823
+ enableVerifiedMultiplier?: boolean;
2824
+
2825
+ /**
2826
+ * Fill source of the order for the token sale
2827
+ */
2828
+ fillSource?: string;
2829
+
2830
+ /**
2831
+ * Percentage reward given to a user for their first referral.
2832
+ */
2833
+ firstReferralReward?: number | null;
2834
+
2835
+ /**
2836
+ * Flag indicating whether the fill source is included.
2837
+ */
2838
+ hasFillSource?: boolean;
2839
+
2840
+ /**
2841
+ * Indicates if the item has never been sold.
2842
+ */
2843
+ hasNeverSold?: boolean;
2844
+
2845
+ /**
2846
+ * Indicates if the full royalty has been paid for items.
2847
+ */
2848
+ hasPaidFullRoyalty?: boolean;
2849
+
2850
+ /**
2851
+ * Flag indicating if the sale currency is included.
2852
+ */
2853
+ hasSaleCurrency?: boolean;
2854
+
2855
+ /**
2856
+ * Indicates if the user has a verified Twitter account.
2857
+ */
2858
+ hasVerifiedTwitter?: boolean;
2859
+
2860
+ /**
2861
+ * URL of the image associated with the rule.
2862
+ */
2863
+ imageUrl?: string | null;
2864
+
2865
+ /**
2866
+ * If enabled, the first transaction done on the platform will complete this rule
2867
+ */
2868
+ isCheckInOnEveryTxn?: boolean;
2869
+
2870
+ /**
2871
+ * Indicates if the multiplier has been applied to rewards.
2872
+ */
2873
+ isMultiplierApplied?: boolean;
2874
+
2875
+ /**
2876
+ * Flag indicating if the rule is restricted to new users.
2877
+ */
2878
+ isRestrictedToNewUsers?: boolean;
2879
+
2880
+ /**
2881
+ * Flag indicating if rewards are applied retroactively.
2882
+ */
2883
+ isRetroactive?: boolean | null;
2884
+
2885
+ /**
2886
+ * Flag indicating if the token hold multiplier is applied.
2887
+ */
2888
+ isTokenHoldMultiplier?: boolean;
2889
+
2890
+ /**
2891
+ * Optional link associated with the metadata.
2892
+ */
2893
+ link?: string | null;
2894
+
2895
+ /**
2896
+ * Liquidity pool details.
2897
+ */
2898
+ liquidity?: Metadata.Liquidity;
2899
+
2900
+ /**
2901
+ * Maximum quantity constraint for token holding.
2902
+ */
2903
+ maxQty?: number | null;
2904
+
2905
+ /**
2906
+ * Minimum quantity constraint for token holding.
2907
+ */
2908
+ minQty?: number | null;
2909
+
2910
+ /**
2911
+ * Array of loyalty currency IDs used for multipliers.
2912
+ */
2913
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2914
+
2915
+ /**
2916
+ * Flag indicating whether to include only known users.
2917
+ */
2918
+ onlyKnownUsers?: boolean;
2919
+
2920
+ /**
2921
+ * Flag indicating whether to include only native tokens.
2922
+ */
2923
+ onlyNative?: boolean;
2924
+
2925
+ /**
2926
+ * Flag indicating whether to include only non-listed items.
2927
+ */
2928
+ onlyNonListed?: boolean;
2929
+
2930
+ /**
2931
+ * Indicates if only existing users are rewarded.
2932
+ */
2933
+ onlyRewardExistingUser?: boolean;
2934
+
2935
+ /**
2936
+ * give points for only one token ownership per contract
2937
+ */
2938
+ onlyRewardSingleTokenOwnership?: boolean | null;
2939
+
2940
+ /**
2941
+ * Promotional code associated with the rule.
2942
+ */
2943
+ promoCode?: string;
2944
+
2945
+ /**
2946
+ * URL of the CSV file containing promo codes.
2947
+ */
2948
+ promoCodeCsvUrl?: string;
2949
+
2950
+ /**
2951
+ * Numbers of the promotional code to be generated.
2952
+ */
2953
+ promoCodeLength?: number | null;
2954
+
2955
+ /**
2956
+ * Type of the promotional code.
2957
+ */
2958
+ promoCodeType?: 'code' | 'csv' | 'generate';
2959
+
2960
+ /**
2961
+ * Array defining ranges and corresponding rewards.
2962
+ */
2963
+ range?: Array<Metadata.Range>;
2964
+
2965
+ /**
2966
+ * Object defining referral requirements.
2967
+ */
2968
+ referralRequirements?: Metadata.ReferralRequirements | null;
2969
+
2970
+ /**
2971
+ * Lump sum reward given to a referrer.
2972
+ */
2973
+ referrerReward?: number | null;
2974
+
2975
+ /**
2976
+ * Loyalty currency ID of the referrer reward.
2977
+ */
2978
+ referrerRewardLoyaltyCurrencyId?: string | null;
2979
+
2980
+ /**
2981
+ * Flag indicating if the post link is required.
2982
+ */
2983
+ requirePostLink?: boolean | null;
2984
+
2985
+ /**
2986
+ * Flag indicating if media metadata is required.
2987
+ */
2988
+ requirePostMediaLink?: boolean | null;
2989
+
2990
+ /**
2991
+ * Flag indicating if the rule can also reward badges per range.
2992
+ */
2993
+ rewardBadgePerRange?: boolean;
2994
+
2995
+ /**
2996
+ * Flag indicating if the reward is rewarded by batch.
2997
+ */
2998
+ rewardByBatch?: boolean | null;
2999
+
3000
+ /**
3001
+ * Criteria to evaluate the reward.
3002
+ */
3003
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3004
+
3005
+ /**
3006
+ * Flag indicating if the reward is rewarded per action.
3007
+ */
3008
+ rewardPerAction?: boolean | null;
3009
+
3010
+ /**
3011
+ * Flag indicating if rewards are given per impression.
3012
+ */
3013
+ rewardPerImpression?: boolean | null;
3014
+
3015
+ /**
3016
+ * Flag indicating if the rule should reward based on value of traded tokens
3017
+ * instead of count.
3018
+ */
3019
+ rewardPerValue?: boolean;
3020
+
3021
+ /**
3022
+ * Wallet address of the user can only be used if userId is not provided
3023
+ */
3024
+ royaltyAddress?: string;
3025
+
3026
+ /**
3027
+ * Royalty percentage of the item.
3028
+ */
3029
+ royaltyPercentage?: number;
3030
+
3031
+ /**
3032
+ * Currency associated with sales.
3033
+ */
3034
+ saleCurrency?: string;
3035
+
3036
+ /**
3037
+ * Percentage reward given for a second-level referral.
3038
+ */
3039
+ secondReferralReward?: number | null;
3040
+
3041
+ /**
3042
+ * Flag indicating if the multiplier is skipped.
3043
+ */
3044
+ skipMultiplier?: boolean | null;
3045
+
3046
+ /**
3047
+ * Object containing details of the associated smart contract.
3048
+ */
3049
+ smartContract?: Metadata.SmartContract;
3050
+
3051
+ /**
3052
+ * Array of snapshot proposals for the rule.
3053
+ */
3054
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
3055
+
3056
+ /**
3057
+ * Social media platform associated with the rule.
3058
+ */
3059
+ socialPlatform?:
3060
+ | 'Custom'
3061
+ | 'Discord'
3062
+ | 'EpicGames'
3063
+ | 'Instagram'
3064
+ | 'Steam'
3065
+ | 'Telegram'
3066
+ | 'TikTok'
3067
+ | 'Twitch'
3068
+ | 'X(Twitter)'
3069
+ | 'YouTube'
3070
+ | 'Google'
3071
+ | null;
3072
+
3073
+ /**
3074
+ * URL of the social platform's logo.
3075
+ */
3076
+ socialPlatformLogo?: string | null;
3077
+
3078
+ /**
3079
+ * Name of the social platform.
3080
+ */
3081
+ socialPlatformName?: string | null;
3082
+
3083
+ /**
3084
+ * ID of the Steam app.
3085
+ */
3086
+ steamAppId?: string | null;
3087
+
3088
+ /**
3089
+ * Array of streak milestones and corresponding rewards.
3090
+ */
3091
+ streakArray?: Array<Metadata.StreakArray> | null;
3092
+
3093
+ /**
3094
+ * Metadata for swap loyalty rules
3095
+ */
3096
+ swap?: Metadata.Swap;
3097
+
3098
+ /**
3099
+ * ID of the Telegram channel.
3100
+ */
3101
+ telegramChannelId?: string | null;
3102
+
3103
+ /**
3104
+ * Time delay in seconds to verify actions.
3105
+ */
3106
+ timeDelayToVerifySeconds?: string | number | null;
3107
+
3108
+ /**
3109
+ * Flag indicating if all contracts are tracked.
3110
+ */
3111
+ trackAllContracts?: boolean | null;
3112
+
3113
+ /**
3114
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3115
+ * completed once the progress is 100%.
3116
+ */
3117
+ trackProgress?: boolean | null;
3118
+
3119
+ /**
3120
+ * URL of the associated Twitter account.
3121
+ */
3122
+ twitterAccountUrl?: string;
3123
+
3124
+ /**
3125
+ * Hashtag associated with the Twitter post.
3126
+ */
3127
+ twitterHashtag?: string;
3128
+
3129
+ /**
3130
+ * URL of the associated Twitter post.
3131
+ */
3132
+ twitterPostUrl?: string;
3133
+
3134
+ /**
3135
+ * Unique identifier of the Twitter user.
3136
+ */
3137
+ twitterUserId?: string;
3138
+
3139
+ /**
3140
+ * Twitter username of the user.
3141
+ */
3142
+ twitterUsername?: string;
3143
+
3144
+ /**
3145
+ * Minimum length of the verification text.
3146
+ */
3147
+ verificationTextMinimumLength?: number | null;
3148
+
3149
+ /**
3150
+ * Multiplier applied to rewards for verified users.
3151
+ */
3152
+ verifiedMultiplier?: number | null;
3153
+
3154
+ /**
3155
+ * Placeholder text for verification input fields.
3156
+ */
3157
+ verifyPlaceHolderText?: string | null;
3158
+
3159
+ /**
3160
+ * Type of wallet associated with the rule.
3161
+ */
3162
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
3163
+
3164
+ /**
3165
+ * ID of the Youtube channel.
3166
+ */
3167
+ youtubeChannelId?: string | null;
3168
+
3169
+ /**
3170
+ * ID of the Youtube video.
3171
+ */
3172
+ youtubeVideoId?: string | null;
3173
+ }
3174
+
3175
+ export namespace Metadata {
3176
+ export interface Collection {
3177
+ /**
3178
+ * Blockchain address of the collection.
3179
+ */
3180
+ address?: string;
3181
+
3182
+ /**
3183
+ * Multiplier applied to the rewards for this collection.
3184
+ */
3185
+ multiplier?: number;
3186
+
3187
+ /**
3188
+ * Blockchain network of the collection.
3189
+ */
3190
+ network?:
3191
+ | 'abstract'
3192
+ | 'abstractTestnet'
3193
+ | 'apechain'
3194
+ | 'arbitrum'
3195
+ | 'avalanche'
3196
+ | 'avalancheFuji'
3197
+ | 'base'
3198
+ | 'baseSepolia'
3199
+ | 'berachain'
3200
+ | 'berachainArtio'
3201
+ | 'berachainBepolia'
3202
+ | 'binance'
3203
+ | 'bscTestnet'
3204
+ | 'campTestnet'
3205
+ | 'fantom'
3206
+ | 'fantomTestnet'
3207
+ | 'flowMainnet'
3208
+ | 'mainnet'
3209
+ | 'nexusTestnet'
3210
+ | 'optimism'
3211
+ | 'polygon'
3212
+ | 'polygon_mumbai'
3213
+ | 'skaleNebula'
3214
+ | 'solana'
3215
+ | 'sophon'
3216
+ | 'sophonTestnet'
3217
+ | 'sui'
3218
+ | 'superseed'
3219
+ | 'superseedSepolia'
3220
+ | 'vanar'
3221
+ | 'xai'
3222
+ | 'zksync'
3223
+ | 'coti'
3224
+ | 'cotiTestnet'
3225
+ | 'morph'
3226
+ | 'morphTestnet'
3227
+ | 'morphHolesky'
3228
+ | 'ultra'
3229
+ | 'ultraTestnet'
3230
+ | 'nitrograph'
3231
+ | 'sepolia'
3232
+ | 'optimism_sepolia'
3233
+ | 'arbitrumSepolia'
3234
+ | 'goerli'
3235
+ | 'optimism_goerli'
3236
+ | 'arbitrumGoerli'
3237
+ | 'basecamp'
3238
+ | 'somnia';
3239
+ }
3240
+
3241
+ /**
3242
+ * Object containing details for the call-to-action.
3243
+ */
3244
+ export interface Cta {
3245
+ /**
3246
+ * Link for the call-to-action.
3247
+ */
3248
+ href?: string | null;
3249
+
3250
+ /**
3251
+ * Label for the call-to-action.
3252
+ */
3253
+ label?: string | null;
3254
+ }
3255
+
3256
+ export interface DiscordServersToJoin {
3257
+ /**
3258
+ * ID of the Discord server to join.
3259
+ */
3260
+ id?: string;
3261
+
3262
+ /**
3263
+ * Array of Discord channels to join.
3264
+ */
3265
+ channels?: Array<DiscordServersToJoin.Channel>;
3266
+
3267
+ /**
3268
+ * Array of roles to assign in the Discord server.
3269
+ */
3270
+ roles?: Array<DiscordServersToJoin.Role>;
3271
+ }
3272
+
3273
+ export namespace DiscordServersToJoin {
3274
+ export interface Channel {
3275
+ /**
3276
+ * ID of the Discord channel.
3277
+ */
3278
+ id?: string;
3279
+
3280
+ /**
3281
+ * Array of emojis used in the channel.
3282
+ */
3283
+ emojis?: Array<Channel.Emoji>;
3284
+
3285
+ /**
3286
+ * Phrase of text to be present in the discord message
3287
+ */
3288
+ text?: string;
3289
+ }
3290
+
3291
+ export namespace Channel {
3292
+ export interface Emoji {
3293
+ /**
3294
+ * ID of the emoji used in the channel.
3295
+ */
3296
+ id?: string;
3297
+ }
3298
+ }
3299
+
3300
+ export interface Role {
3301
+ /**
3302
+ * ID of the role in the Discord server.
3303
+ */
3304
+ id: string;
3305
+ }
3306
+ }
3307
+
3308
+ export interface DripQuestsToComplete {
3309
+ /**
3310
+ * ID of the drip quest to complete.
3311
+ */
3312
+ id: string;
3313
+ }
3314
+
3315
+ /**
3316
+ * Liquidity pool details.
3317
+ */
3318
+ export interface Liquidity {
3319
+ /**
3320
+ * Calculation type of the liquidity pool.
3321
+ */
3322
+ calculationType?: 'fixed' | 'custom';
3323
+
3324
+ /**
3325
+ * Custom function to calculate the the reward amount based on the liquidity
3326
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3327
+ * USD.
3328
+ */
3329
+ customFunction?: string;
3330
+
3331
+ /**
3332
+ * Liquidity provided per day in USD
3333
+ */
3334
+ liquidityPerDay?: number;
3335
+
3336
+ /**
3337
+ * Blockchain network of the liquidity pool.
3338
+ */
3339
+ network?:
3340
+ | 'abstract'
3341
+ | 'abstractTestnet'
3342
+ | 'apechain'
3343
+ | 'arbitrum'
3344
+ | 'avalanche'
3345
+ | 'avalancheFuji'
3346
+ | 'base'
3347
+ | 'baseSepolia'
3348
+ | 'berachain'
3349
+ | 'berachainArtio'
3350
+ | 'berachainBepolia'
3351
+ | 'binance'
3352
+ | 'bscTestnet'
3353
+ | 'campTestnet'
3354
+ | 'fantom'
3355
+ | 'fantomTestnet'
3356
+ | 'flowMainnet'
3357
+ | 'mainnet'
3358
+ | 'nexusTestnet'
3359
+ | 'optimism'
3360
+ | 'polygon'
3361
+ | 'polygon_mumbai'
3362
+ | 'skaleNebula'
3363
+ | 'solana'
3364
+ | 'sophon'
3365
+ | 'sophonTestnet'
3366
+ | 'sui'
3367
+ | 'superseed'
3368
+ | 'superseedSepolia'
3369
+ | 'vanar'
3370
+ | 'xai'
3371
+ | 'zksync'
3372
+ | 'coti'
3373
+ | 'cotiTestnet'
3374
+ | 'morph'
3375
+ | 'morphTestnet'
3376
+ | 'morphHolesky'
3377
+ | 'ultra'
3378
+ | 'ultraTestnet'
3379
+ | 'nitrograph'
3380
+ | 'sepolia'
3381
+ | 'optimism_sepolia'
3382
+ | 'arbitrumSepolia'
3383
+ | 'goerli'
3384
+ | 'optimism_goerli'
3385
+ | 'arbitrumGoerli'
3386
+ | 'basecamp'
3387
+ | 'somnia';
3388
+
3389
+ /**
3390
+ * Indicates if only in-range liquidity is rewarded.
3391
+ */
3392
+ onlyRewardInRangeLiquidity?: boolean;
3393
+
3394
+ /**
3395
+ * Array of liquidity pools associated with the rule.
3396
+ */
3397
+ pools?: Array<Liquidity.Pool>;
3398
+
3399
+ /**
3400
+ * Protocol of the liquidity pool.
3401
+ */
3402
+ protocol?: string;
3403
+ }
3404
+
3405
+ export namespace Liquidity {
3406
+ export interface Pool {
3407
+ /**
3408
+ * Unique identifier of the liquidity pool.
3409
+ */
3410
+ id: string;
3411
+ }
3412
+ }
3413
+
3414
+ export interface Range {
3415
+ /**
3416
+ * Reward amount for this range.
3417
+ */
3418
+ amount: number;
3419
+
3420
+ /**
3421
+ * End value of the range.
3422
+ */
3423
+ endRange: number;
3424
+
3425
+ /**
3426
+ * Start value of the range.
3427
+ */
3428
+ startRange: number;
3429
+
3430
+ /**
3431
+ * ID of the loyalty badge for this range.
3432
+ */
3433
+ loyaltyBadgeId?: string;
3434
+
3435
+ /**
3436
+ * Amount of the loyalty multiplier for this range.
3437
+ */
3438
+ loyaltyMultiplierAmount?: number;
3439
+ }
3440
+
3441
+ /**
3442
+ * Object defining referral requirements.
3443
+ */
3444
+ export interface ReferralRequirements {
3445
+ /**
3446
+ * Flag indicating if achieving points is required.
3447
+ */
3448
+ achievePoints?: boolean | null;
3449
+
3450
+ /**
3451
+ * Flag indicating if completing the profile is required.
3452
+ */
3453
+ completeProfile?: boolean | null;
3454
+
3455
+ /**
3456
+ * Flag indicating if connecting Discord is required.
3457
+ */
3458
+ connectDiscord?: boolean | null;
3459
+
3460
+ /**
3461
+ * Flag indicating if connecting email is required.
3462
+ */
3463
+ connectEmail?: boolean | null;
3464
+
3465
+ /**
3466
+ * Flag indicating if connecting Twitter is required.
3467
+ */
3468
+ connectTwitter?: boolean | null;
3469
+
3470
+ points?: ReferralRequirements.Points | null;
3471
+ }
3472
+
3473
+ export namespace ReferralRequirements {
3474
+ export interface Points {
3475
+ /**
3476
+ * Points required for referral.
3477
+ */
3478
+ amount?: number | null;
3479
+
3480
+ /**
3481
+ * ID of the loyalty currency for referral.
3482
+ */
3483
+ loyaltyCurrecyId?: string | null;
3484
+ }
3485
+ }
3486
+
3487
+ /**
3488
+ * Object containing details of the associated smart contract.
3489
+ */
3490
+ export interface SmartContract {
3491
+ /**
3492
+ * Mapping of addresses for the smart contract.
3493
+ */
3494
+ addressMapping?: string | null;
3495
+
3496
+ /**
3497
+ * Object containing details of the amount multiplier from the event.
3498
+ */
3499
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3500
+
3501
+ /**
3502
+ * ID of the smart contract.
3503
+ */
3504
+ contractId?: string | null;
3505
+
3506
+ /**
3507
+ * Criteria to evaluate the smart contract event.
3508
+ */
3509
+ criteria?: 'everyEvent' | 'byParameter' | null;
3510
+
3511
+ /**
3512
+ * Event emitted by the smart contract.
3513
+ */
3514
+ event?: string | null;
3515
+
3516
+ /**
3517
+ * Array of parameters for the smart contract.
3518
+ */
3519
+ params?: Array<SmartContract.Param> | null;
3520
+
3521
+ /**
3522
+ * Type of the smart contract interaction.
3523
+ */
3524
+ type?: 'function' | 'event' | null;
3525
+ }
3526
+
3527
+ export namespace SmartContract {
3528
+ /**
3529
+ * Object containing details of the amount multiplier from the event.
3530
+ */
3531
+ export interface AmountMultiplier {
3532
+ /**
3533
+ * Mapping of the value for the smart contract.
3534
+ */
3535
+ valueMapping?: string | null;
3536
+ }
3537
+
3538
+ export interface Param {
3539
+ /**
3540
+ * Condition to check for the parameter.
3541
+ */
3542
+ condition?: string | null;
3543
+
3544
+ /**
3545
+ * Name of the smart contract parameter.
3546
+ */
3547
+ name?: string | null;
3548
+
3549
+ /**
3550
+ * Value of the parameter.
3551
+ */
3552
+ value?: string | null;
3553
+ }
3554
+ }
3555
+
3556
+ export interface SnapshotProposal {
3557
+ /**
3558
+ * ID of the snapshot proposal.
3559
+ */
3560
+ id: string;
3561
+
3562
+ /**
3563
+ * Space associated with the snapshot proposal.
3564
+ */
3565
+ space: string;
3566
+ }
3567
+
3568
+ export interface StreakArray {
3569
+ /**
3570
+ * Reward amount for achieving the streak milestone.
3571
+ */
3572
+ streakAmount: number;
3573
+
3574
+ /**
3575
+ * Milestone required to achieve the streak.
3576
+ */
3577
+ streakMilestone: number;
3578
+ }
3579
+
3580
+ /**
3581
+ * Metadata for swap loyalty rules
3582
+ */
3583
+ export interface Swap {
3584
+ provider?: 'any' | 'relay' | 'lifi';
1885
3585
 
1886
- /**
1887
- * Frequency of the loyalty rule
1888
- */
1889
- frequency: string;
3586
+ relayReferrerId?: string;
1890
3587
 
1891
- /**
1892
- * Unique identifier for the organization
1893
- */
1894
- organizationId: string;
3588
+ requireCrossChainSwap?: boolean;
1895
3589
 
1896
- /**
1897
- * Type of the loyalty rule
1898
- */
1899
- type: string;
3590
+ swappedToChain?: 'any' | number | string;
1900
3591
 
1901
- /**
1902
- * Timestamp when the loyalty rule was last updated
1903
- */
1904
- updatedAt: string;
3592
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1905
3593
 
1906
- /**
1907
- * Unique identifier for the website
1908
- */
1909
- websiteId: string;
3594
+ tokenMode?: 'any' | 'specific';
1910
3595
 
1911
- /**
1912
- * Optional address of the collection
1913
- */
1914
- collectionAddress?: string;
3596
+ trackTokenAmount?: boolean;
3597
+ }
1915
3598
 
1916
- /**
1917
- * Optional metadata for the loyalty rule
1918
- */
1919
- metadata?: Record<string, unknown>;
3599
+ export namespace Swap {
3600
+ export interface SwappedToToken {
3601
+ address: string;
3602
+
3603
+ chainId: string;
3604
+ }
3605
+ }
3606
+ }
1920
3607
  }
1921
3608
  }
1922
3609
 
@@ -1927,7 +3614,9 @@ export interface RuleDeleteResponse {
1927
3614
  }
1928
3615
 
1929
3616
  export interface RuleCompleteResponse {
1930
- message: string;
3617
+ message:
3618
+ | 'Completion request added to queue'
3619
+ | 'Link click being verified, come back later to check the status';
1931
3620
  }
1932
3621
 
1933
3622
  export interface RuleGetStatusResponse {
@@ -1938,11 +3627,99 @@ export namespace RuleGetStatusResponse {
1938
3627
  export interface Data {
1939
3628
  loyaltyRuleId: string;
1940
3629
 
1941
- status: 'pending' | 'processing' | 'completed' | 'failed';
1942
-
1943
3630
  userId: string;
1944
3631
 
3632
+ /**
3633
+ * Categorized examples of messages that may be returned for a loyalty rule's
3634
+ * processing result.
3635
+ *
3636
+ * User Onboarding
3637
+ *
3638
+ * - Check In: "Streak successful"
3639
+ * - Complete Profile Details: "Profile not complete"
3640
+ *
3641
+ * Connect Accounts
3642
+ *
3643
+ * - Connect TikTok: "TikTok not connected"
3644
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
3645
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
3646
+ * required"
3647
+ * - Connect Email: "Email address not connected"
3648
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
3649
+ * telegramUsername), please setup username in telegram and reconnect.",
3650
+ * "Telegram request rate-limited"
3651
+ * - Connect Steam: "Steam not connected"
3652
+ * - Connect Youtube: "Youtube not connected"
3653
+ *
3654
+ * Social Quests
3655
+ *
3656
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
3657
+ * successfully"
3658
+ * - Post on TikTok: "TikTok post not verified"
3659
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
3660
+ * "Quest Not Completed: Comment not found for the specified tweet"
3661
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
3662
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
3663
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
3664
+ * retweeted or commented on the tweet"
3665
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
3666
+ * targetUsername", "Quest Completed: You are a follower of
3667
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
3668
+ * and try again in few minutes"
3669
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
3670
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
3671
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
3672
+ * posts are already claimed. Please post a new tweet and try again in a few
3673
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
3674
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
3675
+ * not have media", "Text found in tweet"
3676
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
3677
+ * not found", "Text found in bio", "Text not found in bio"
3678
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
3679
+ * "User not found", "Text found in username", "Text not found in username"
3680
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
3681
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
3682
+ * not found in comment", "Tweet not found or could not be retrieved"
3683
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
3684
+ * added"
3685
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
3686
+ * please make sure you have made your subscriptions public in youtube"
3687
+ * - Get X post impressions: "You've already claimed the reward for this impression
3688
+ * range."
3689
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
3690
+ * item not added"
3691
+ *
3692
+ * Complex Onchain Logic
3693
+ *
3694
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
3695
+ *
3696
+ * Other
3697
+ *
3698
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
3699
+ * "Incorrect answer", "Correct answer"
3700
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
3701
+ * - Spend in Shopify Store: "Shopify not connected"
3702
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
3703
+ *
3704
+ * General / Unmatched
3705
+ *
3706
+ * - "Quest already completed"
3707
+ * - "Quest already completed using the same social account (${socialAccountName}),
3708
+ * with the different user."
3709
+ * - "You've already claimed the reward for this quest."
3710
+ * - "Quest not achieved, please try again."
3711
+ * - "Rule is not setup"
3712
+ * - "Request aborted due to timeout"
3713
+ * - "Google account not connected"
3714
+ * - "Claim failed: Multiplier is already active"
3715
+ */
1945
3716
  message?: string;
3717
+
3718
+ /**
3719
+ * Status of the queued job, this is only returned if the job is queued and being
3720
+ * processed, this wil be retained for 10 minutes after the job is completed
3721
+ */
3722
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
1946
3723
  }
1947
3724
  }
1948
3725
 
@@ -2053,7 +3830,20 @@ export interface RuleCreateParams {
2053
3830
  | 'twitter_like'
2054
3831
  | 'twitter_post_hashtag'
2055
3832
  | 'quiz'
2056
- | 'poll';
3833
+ | 'poll'
3834
+ | 'steam_wishlist'
3835
+ | 'liquidity_uniswap_v2'
3836
+ | 'liquidity_uniswap_v3'
3837
+ | 'points_airdrop'
3838
+ | 'youtube_subscribers'
3839
+ | 'youtube_comment'
3840
+ | 'shopify_spend'
3841
+ | 'swap'
3842
+ | 'tiktok_post'
3843
+ | 'post_impressions'
3844
+ | 'discord_join'
3845
+ | 'connected_youtube'
3846
+ | 'connected_tiktok';
2057
3847
 
2058
3848
  /**
2059
3849
  * Unique identifier for the associated website
@@ -2065,6 +3855,11 @@ export interface RuleCreateParams {
2065
3855
  */
2066
3856
  backgroundAssetUrl?: string;
2067
3857
 
3858
+ /**
3859
+ * The type of claim for the reward
3860
+ */
3861
+ claimType?: 'manual' | 'auto' | null;
3862
+
2068
3863
  /**
2069
3864
  * Blockchain address of the associated collection
2070
3865
  */
@@ -2090,6 +3885,13 @@ export interface RuleCreateParams {
2090
3885
  */
2091
3886
  description?: string;
2092
3887
 
3888
+ duplicatedFromId?: string | null;
3889
+
3890
+ /**
3891
+ * ID of the external integration
3892
+ */
3893
+ externalIntegrationId?: string | null;
3894
+
2093
3895
  /**
2094
3896
  * Whether to hide this rule in the user interface
2095
3897
  */
@@ -2098,18 +3900,40 @@ export interface RuleCreateParams {
2098
3900
  /**
2099
3901
  * Interval between rule executions
2100
3902
  */
2101
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3903
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2102
3904
 
2103
3905
  /**
2104
3906
  * Whether this rule is mandatory
2105
3907
  */
2106
3908
  isRequired?: boolean;
2107
3909
 
3910
+ /**
3911
+ * Unique identifier for the loyalty badge
3912
+ */
3913
+ loyaltyBadgeId?: string | null;
3914
+
2108
3915
  /**
2109
3916
  * Unique identifier for the loyalty rule group
2110
3917
  */
2111
3918
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2112
3919
 
3920
+ /**
3921
+ * URL for uploading loyalty user allotment via CSV
3922
+ */
3923
+ loyaltyUserAllotmentCsvUrl?: string;
3924
+
3925
+ /**
3926
+ * The interval for the max amount. Available for the smart contract and external
3927
+ * rules.
3928
+ */
3929
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3930
+
3931
+ /**
3932
+ * The maximum amount of points a user can earn per interval. Available for the
3933
+ * smart contract and external rules.
3934
+ */
3935
+ maxAmountPerInterval?: number | null;
3936
+
2113
3937
  /**
2114
3938
  * URL of the media to be displayed
2115
3939
  */
@@ -2119,13 +3943,17 @@ export interface RuleCreateParams {
2119
3943
  * Blockchain network where the rule will apply
2120
3944
  */
2121
3945
  network?:
3946
+ | 'abstract'
3947
+ | 'abstractTestnet'
2122
3948
  | 'apechain'
2123
3949
  | 'arbitrum'
2124
3950
  | 'avalanche'
2125
3951
  | 'avalancheFuji'
2126
3952
  | 'base'
2127
3953
  | 'baseSepolia'
3954
+ | 'berachain'
2128
3955
  | 'berachainArtio'
3956
+ | 'berachainBepolia'
2129
3957
  | 'binance'
2130
3958
  | 'bscTestnet'
2131
3959
  | 'campTestnet'
@@ -2133,18 +3961,28 @@ export interface RuleCreateParams {
2133
3961
  | 'fantomTestnet'
2134
3962
  | 'flowMainnet'
2135
3963
  | 'mainnet'
3964
+ | 'nexusTestnet'
2136
3965
  | 'optimism'
2137
3966
  | 'polygon'
2138
3967
  | 'polygon_mumbai'
2139
3968
  | 'skaleNebula'
2140
3969
  | 'solana'
2141
3970
  | 'sophon'
3971
+ | 'sophonTestnet'
2142
3972
  | 'sui'
2143
3973
  | 'superseed'
2144
3974
  | 'superseedSepolia'
2145
3975
  | 'vanar'
2146
3976
  | 'xai'
2147
3977
  | 'zksync'
3978
+ | 'coti'
3979
+ | 'cotiTestnet'
3980
+ | 'morph'
3981
+ | 'morphTestnet'
3982
+ | 'morphHolesky'
3983
+ | 'ultra'
3984
+ | 'ultraTestnet'
3985
+ | 'nitrograph'
2148
3986
  | 'sepolia'
2149
3987
  | 'optimism_sepolia'
2150
3988
  | 'arbitrumSepolia'
@@ -2152,22 +3990,37 @@ export interface RuleCreateParams {
2152
3990
  | 'optimism_goerli'
2153
3991
  | 'arbitrumGoerli'
2154
3992
  | 'basecamp'
2155
- | 'abstract';
3993
+ | 'somnia';
2156
3994
 
2157
3995
  /**
2158
3996
  * OAuth credentials associated with the rule
2159
3997
  */
2160
3998
  oauthCredentialsId?: string | null;
2161
3999
 
4000
+ /**
4001
+ * The lifetime of the reward
4002
+ */
4003
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
4004
+
2162
4005
  /**
2163
4006
  * Type of reward issued by the rule
2164
4007
  */
2165
- rewardType?: 'points' | 'multiplier';
4008
+ rewardType?: 'points' | 'multiplier' | 'badge';
4009
+
4010
+ /**
4011
+ * URL of the Shopify store
4012
+ */
4013
+ shopifyStoreUrl?: string | null;
4014
+
4015
+ /**
4016
+ * Whether to show this rule before the start time
4017
+ */
4018
+ showBeforeStart?: boolean;
2166
4019
 
2167
4020
  /**
2168
- * Identifier for associated subscriptions
4021
+ * Optional subscription id for the rule
2169
4022
  */
2170
- subscriptionIdentifier?: string | null;
4023
+ subscriptionId?: string | null;
2171
4024
  }
2172
4025
 
2173
4026
  export namespace RuleCreateParams {
@@ -2175,6 +4028,11 @@ export namespace RuleCreateParams {
2175
4028
  * Additional metadata for the loyalty rule
2176
4029
  */
2177
4030
  export interface Metadata {
4031
+ /**
4032
+ * Number of tokens per batch.
4033
+ */
4034
+ batchSize?: number | null;
4035
+
2178
4036
  /**
2179
4037
  * Text displayed on the action button.
2180
4038
  */
@@ -2198,7 +4056,7 @@ export namespace RuleCreateParams {
2198
4056
  /**
2199
4057
  * Text to check in the Twitter post, username, or bio.
2200
4058
  */
2201
- checkText?: string | null;
4059
+ checkText?: string | Array<string> | null;
2202
4060
 
2203
4061
  /**
2204
4062
  * Array of collections associated with the rule.
@@ -2208,7 +4066,12 @@ export namespace RuleCreateParams {
2208
4066
  /**
2209
4067
  * Conditions for completing the profile.
2210
4068
  */
2211
- completeProfileConditions?: Record<string, boolean> | null;
4069
+ completeProfileConditions?: { [key: string]: boolean } | null;
4070
+
4071
+ /**
4072
+ * Description of the external rule condition (only for external rules)
4073
+ */
4074
+ conditionDescription?: string;
2212
4075
 
2213
4076
  /**
2214
4077
  * Object containing details for the call-to-action.
@@ -2220,6 +4083,11 @@ export namespace RuleCreateParams {
2220
4083
  */
2221
4084
  customRewardsApiKey?: string;
2222
4085
 
4086
+ /**
4087
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
4088
+ */
4089
+ directRpc?: boolean;
4090
+
2223
4091
  /**
2224
4092
  * Array of Discord servers, channels, and roles to join.
2225
4093
  */
@@ -2265,11 +4133,6 @@ export namespace RuleCreateParams {
2265
4133
  */
2266
4134
  hasNeverSold?: boolean;
2267
4135
 
2268
- /**
2269
- * Flag indicating whether the order source is included.
2270
- */
2271
- hasOrderSource?: boolean;
2272
-
2273
4136
  /**
2274
4137
  * Indicates if the full royalty has been paid for items.
2275
4138
  */
@@ -2290,11 +4153,21 @@ export namespace RuleCreateParams {
2290
4153
  */
2291
4154
  imageUrl?: string | null;
2292
4155
 
4156
+ /**
4157
+ * If enabled, the first transaction done on the platform will complete this rule
4158
+ */
4159
+ isCheckInOnEveryTxn?: boolean;
4160
+
2293
4161
  /**
2294
4162
  * Indicates if the multiplier has been applied to rewards.
2295
4163
  */
2296
4164
  isMultiplierApplied?: boolean;
2297
4165
 
4166
+ /**
4167
+ * Flag indicating if the rule is restricted to new users.
4168
+ */
4169
+ isRestrictedToNewUsers?: boolean;
4170
+
2298
4171
  /**
2299
4172
  * Flag indicating if rewards are applied retroactively.
2300
4173
  */
@@ -2310,6 +4183,11 @@ export namespace RuleCreateParams {
2310
4183
  */
2311
4184
  link?: string | null;
2312
4185
 
4186
+ /**
4187
+ * Liquidity pool details.
4188
+ */
4189
+ liquidity?: Metadata.Liquidity;
4190
+
2313
4191
  /**
2314
4192
  * Maximum quantity constraint for token holding.
2315
4193
  */
@@ -2351,14 +4229,24 @@ export namespace RuleCreateParams {
2351
4229
  onlyRewardSingleTokenOwnership?: boolean | null;
2352
4230
 
2353
4231
  /**
2354
- * Order source of the order for the token sale
4232
+ * Promotional code associated with the rule.
4233
+ */
4234
+ promoCode?: string;
4235
+
4236
+ /**
4237
+ * URL of the CSV file containing promo codes.
2355
4238
  */
2356
- orderSource?: string;
4239
+ promoCodeCsvUrl?: string;
2357
4240
 
2358
4241
  /**
2359
- * Promotional code associated with the rule.
4242
+ * Numbers of the promotional code to be generated.
2360
4243
  */
2361
- promoCode?: string;
4244
+ promoCodeLength?: number | null;
4245
+
4246
+ /**
4247
+ * Type of the promotional code.
4248
+ */
4249
+ promoCodeType?: 'code' | 'csv' | 'generate';
2362
4250
 
2363
4251
  /**
2364
4252
  * Array defining ranges and corresponding rewards.
@@ -2375,11 +4263,62 @@ export namespace RuleCreateParams {
2375
4263
  */
2376
4264
  referrerReward?: number | null;
2377
4265
 
4266
+ /**
4267
+ * Loyalty currency ID of the referrer reward.
4268
+ */
4269
+ referrerRewardLoyaltyCurrencyId?: string | null;
4270
+
4271
+ /**
4272
+ * Flag indicating if the post link is required.
4273
+ */
4274
+ requirePostLink?: boolean | null;
4275
+
4276
+ /**
4277
+ * Flag indicating if media metadata is required.
4278
+ */
4279
+ requirePostMediaLink?: boolean | null;
4280
+
4281
+ /**
4282
+ * Flag indicating if the rule can also reward badges per range.
4283
+ */
4284
+ rewardBadgePerRange?: boolean;
4285
+
4286
+ /**
4287
+ * Flag indicating if the reward is rewarded by batch.
4288
+ */
4289
+ rewardByBatch?: boolean | null;
4290
+
4291
+ /**
4292
+ * Criteria to evaluate the reward.
4293
+ */
4294
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
4295
+
4296
+ /**
4297
+ * Flag indicating if the reward is rewarded per action.
4298
+ */
4299
+ rewardPerAction?: boolean | null;
4300
+
2378
4301
  /**
2379
4302
  * Flag indicating if rewards are given per impression.
2380
4303
  */
2381
4304
  rewardPerImpression?: boolean | null;
2382
4305
 
4306
+ /**
4307
+ * Flag indicating if the rule should reward based on value of traded tokens
4308
+ * instead of count.
4309
+ */
4310
+ rewardPerValue?: boolean;
4311
+
4312
+ /**
4313
+ * Wallet address of the user can only be used if userId is not provided
4314
+ */
4315
+ royaltyAddress?: string;
4316
+
4317
+ /**
4318
+ * Royalty percentage of the item.
4319
+ */
4320
+ royaltyPercentage?: number;
4321
+
2383
4322
  /**
2384
4323
  * Currency associated with sales.
2385
4324
  */
@@ -2419,6 +4358,7 @@ export namespace RuleCreateParams {
2419
4358
  | 'Twitch'
2420
4359
  | 'X(Twitter)'
2421
4360
  | 'YouTube'
4361
+ | 'Google'
2422
4362
  | null;
2423
4363
 
2424
4364
  /**
@@ -2431,11 +4371,21 @@ export namespace RuleCreateParams {
2431
4371
  */
2432
4372
  socialPlatformName?: string | null;
2433
4373
 
4374
+ /**
4375
+ * ID of the Steam app.
4376
+ */
4377
+ steamAppId?: string | null;
4378
+
2434
4379
  /**
2435
4380
  * Array of streak milestones and corresponding rewards.
2436
4381
  */
2437
4382
  streakArray?: Array<Metadata.StreakArray> | null;
2438
4383
 
4384
+ /**
4385
+ * Metadata for swap loyalty rules
4386
+ */
4387
+ swap?: Metadata.Swap;
4388
+
2439
4389
  /**
2440
4390
  * ID of the Telegram channel.
2441
4391
  */
@@ -2451,6 +4401,12 @@ export namespace RuleCreateParams {
2451
4401
  */
2452
4402
  trackAllContracts?: boolean | null;
2453
4403
 
4404
+ /**
4405
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4406
+ * completed once the progress is 100%.
4407
+ */
4408
+ trackProgress?: boolean | null;
4409
+
2454
4410
  /**
2455
4411
  * URL of the associated Twitter account.
2456
4412
  */
@@ -2494,7 +4450,17 @@ export namespace RuleCreateParams {
2494
4450
  /**
2495
4451
  * Type of wallet associated with the rule.
2496
4452
  */
2497
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4453
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
4454
+
4455
+ /**
4456
+ * ID of the Youtube channel.
4457
+ */
4458
+ youtubeChannelId?: string | null;
4459
+
4460
+ /**
4461
+ * ID of the Youtube video.
4462
+ */
4463
+ youtubeVideoId?: string | null;
2498
4464
  }
2499
4465
 
2500
4466
  export namespace Metadata {
@@ -2513,13 +4479,17 @@ export namespace RuleCreateParams {
2513
4479
  * Blockchain network of the collection.
2514
4480
  */
2515
4481
  network?:
4482
+ | 'abstract'
4483
+ | 'abstractTestnet'
2516
4484
  | 'apechain'
2517
4485
  | 'arbitrum'
2518
4486
  | 'avalanche'
2519
4487
  | 'avalancheFuji'
2520
4488
  | 'base'
2521
4489
  | 'baseSepolia'
4490
+ | 'berachain'
2522
4491
  | 'berachainArtio'
4492
+ | 'berachainBepolia'
2523
4493
  | 'binance'
2524
4494
  | 'bscTestnet'
2525
4495
  | 'campTestnet'
@@ -2527,18 +4497,28 @@ export namespace RuleCreateParams {
2527
4497
  | 'fantomTestnet'
2528
4498
  | 'flowMainnet'
2529
4499
  | 'mainnet'
4500
+ | 'nexusTestnet'
2530
4501
  | 'optimism'
2531
4502
  | 'polygon'
2532
4503
  | 'polygon_mumbai'
2533
4504
  | 'skaleNebula'
2534
4505
  | 'solana'
2535
4506
  | 'sophon'
4507
+ | 'sophonTestnet'
2536
4508
  | 'sui'
2537
4509
  | 'superseed'
2538
4510
  | 'superseedSepolia'
2539
4511
  | 'vanar'
2540
4512
  | 'xai'
2541
4513
  | 'zksync'
4514
+ | 'coti'
4515
+ | 'cotiTestnet'
4516
+ | 'morph'
4517
+ | 'morphTestnet'
4518
+ | 'morphHolesky'
4519
+ | 'ultra'
4520
+ | 'ultraTestnet'
4521
+ | 'nitrograph'
2542
4522
  | 'sepolia'
2543
4523
  | 'optimism_sepolia'
2544
4524
  | 'arbitrumSepolia'
@@ -2546,7 +4526,7 @@ export namespace RuleCreateParams {
2546
4526
  | 'optimism_goerli'
2547
4527
  | 'arbitrumGoerli'
2548
4528
  | 'basecamp'
2549
- | 'abstract';
4529
+ | 'somnia';
2550
4530
  }
2551
4531
 
2552
4532
  /**
@@ -2623,6 +4603,105 @@ export namespace RuleCreateParams {
2623
4603
  id: string;
2624
4604
  }
2625
4605
 
4606
+ /**
4607
+ * Liquidity pool details.
4608
+ */
4609
+ export interface Liquidity {
4610
+ /**
4611
+ * Calculation type of the liquidity pool.
4612
+ */
4613
+ calculationType?: 'fixed' | 'custom';
4614
+
4615
+ /**
4616
+ * Custom function to calculate the the reward amount based on the liquidity
4617
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4618
+ * USD.
4619
+ */
4620
+ customFunction?: string;
4621
+
4622
+ /**
4623
+ * Liquidity provided per day in USD
4624
+ */
4625
+ liquidityPerDay?: number;
4626
+
4627
+ /**
4628
+ * Blockchain network of the liquidity pool.
4629
+ */
4630
+ network?:
4631
+ | 'abstract'
4632
+ | 'abstractTestnet'
4633
+ | 'apechain'
4634
+ | 'arbitrum'
4635
+ | 'avalanche'
4636
+ | 'avalancheFuji'
4637
+ | 'base'
4638
+ | 'baseSepolia'
4639
+ | 'berachain'
4640
+ | 'berachainArtio'
4641
+ | 'berachainBepolia'
4642
+ | 'binance'
4643
+ | 'bscTestnet'
4644
+ | 'campTestnet'
4645
+ | 'fantom'
4646
+ | 'fantomTestnet'
4647
+ | 'flowMainnet'
4648
+ | 'mainnet'
4649
+ | 'nexusTestnet'
4650
+ | 'optimism'
4651
+ | 'polygon'
4652
+ | 'polygon_mumbai'
4653
+ | 'skaleNebula'
4654
+ | 'solana'
4655
+ | 'sophon'
4656
+ | 'sophonTestnet'
4657
+ | 'sui'
4658
+ | 'superseed'
4659
+ | 'superseedSepolia'
4660
+ | 'vanar'
4661
+ | 'xai'
4662
+ | 'zksync'
4663
+ | 'coti'
4664
+ | 'cotiTestnet'
4665
+ | 'morph'
4666
+ | 'morphTestnet'
4667
+ | 'morphHolesky'
4668
+ | 'ultra'
4669
+ | 'ultraTestnet'
4670
+ | 'nitrograph'
4671
+ | 'sepolia'
4672
+ | 'optimism_sepolia'
4673
+ | 'arbitrumSepolia'
4674
+ | 'goerli'
4675
+ | 'optimism_goerli'
4676
+ | 'arbitrumGoerli'
4677
+ | 'basecamp'
4678
+ | 'somnia';
4679
+
4680
+ /**
4681
+ * Indicates if only in-range liquidity is rewarded.
4682
+ */
4683
+ onlyRewardInRangeLiquidity?: boolean;
4684
+
4685
+ /**
4686
+ * Array of liquidity pools associated with the rule.
4687
+ */
4688
+ pools?: Array<Liquidity.Pool>;
4689
+
4690
+ /**
4691
+ * Protocol of the liquidity pool.
4692
+ */
4693
+ protocol?: string;
4694
+ }
4695
+
4696
+ export namespace Liquidity {
4697
+ export interface Pool {
4698
+ /**
4699
+ * Unique identifier of the liquidity pool.
4700
+ */
4701
+ id: string;
4702
+ }
4703
+ }
4704
+
2626
4705
  export interface Range {
2627
4706
  /**
2628
4707
  * Reward amount for this range.
@@ -2638,6 +4717,16 @@ export namespace RuleCreateParams {
2638
4717
  * Start value of the range.
2639
4718
  */
2640
4719
  startRange: number;
4720
+
4721
+ /**
4722
+ * ID of the loyalty badge for this range.
4723
+ */
4724
+ loyaltyBadgeId?: string;
4725
+
4726
+ /**
4727
+ * Amount of the loyalty multiplier for this range.
4728
+ */
4729
+ loyaltyMultiplierAmount?: number;
2641
4730
  }
2642
4731
 
2643
4732
  /**
@@ -2690,20 +4779,15 @@ export namespace RuleCreateParams {
2690
4779
  * Object containing details of the associated smart contract.
2691
4780
  */
2692
4781
  export interface SmartContract {
2693
- /**
2694
- * ABI of the smart contract.
2695
- */
2696
- abi?: string | null;
2697
-
2698
4782
  /**
2699
4783
  * Mapping of addresses for the smart contract.
2700
4784
  */
2701
4785
  addressMapping?: string | null;
2702
4786
 
2703
4787
  /**
2704
- * Array of bonus details applied to the rule.
4788
+ * Object containing details of the amount multiplier from the event.
2705
4789
  */
2706
- bonus?: Array<SmartContract.Bonus> | null;
4790
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2707
4791
 
2708
4792
  /**
2709
4793
  * ID of the smart contract.
@@ -2715,68 +4799,31 @@ export namespace RuleCreateParams {
2715
4799
  */
2716
4800
  criteria?: 'everyEvent' | 'byParameter' | null;
2717
4801
 
2718
- /**
2719
- * Time range applied to the rule.
2720
- */
2721
- customRange?: SmartContract.CustomRange | null;
2722
-
2723
4802
  /**
2724
4803
  * Event emitted by the smart contract.
2725
4804
  */
2726
4805
  event?: string | null;
2727
4806
 
2728
- /**
2729
- * Maximum value allowed for the parameter.
2730
- */
2731
- max?: number | null;
2732
-
2733
4807
  /**
2734
4808
  * Array of parameters for the smart contract.
2735
4809
  */
2736
4810
  params?: Array<SmartContract.Param> | null;
2737
4811
 
2738
4812
  /**
2739
- * Flag indicating if a bonus is applied.
2740
- */
2741
- withBonus?: boolean | null;
2742
-
2743
- /**
2744
- * Flag indicating if a custom range is applied.
2745
- */
2746
- withCustomRange?: boolean | null;
2747
-
2748
- /**
2749
- * Flag indicating if a maximum limit is applied.
4813
+ * Type of the smart contract interaction.
2750
4814
  */
2751
- withMax?: boolean | null;
4815
+ type?: 'function' | 'event' | null;
2752
4816
  }
2753
4817
 
2754
4818
  export namespace SmartContract {
2755
- export interface Bonus {
2756
- /**
2757
- * Amount of the bonus.
2758
- */
2759
- amount?: number | null;
2760
-
2761
- /**
2762
- * Number of times the bonus is applied.
2763
- */
2764
- count?: number | null;
2765
- }
2766
-
2767
4819
  /**
2768
- * Time range applied to the rule.
4820
+ * Object containing details of the amount multiplier from the event.
2769
4821
  */
2770
- export interface CustomRange {
2771
- /**
2772
- * End time of the custom range.
2773
- */
2774
- endsAt?: string | null;
2775
-
4822
+ export interface AmountMultiplier {
2776
4823
  /**
2777
- * Start time of the custom range.
4824
+ * Mapping of the value for the smart contract.
2778
4825
  */
2779
- startsAt?: string | null;
4826
+ valueMapping?: string | null;
2780
4827
  }
2781
4828
 
2782
4829
  export interface Param {
@@ -2820,6 +4867,33 @@ export namespace RuleCreateParams {
2820
4867
  */
2821
4868
  streakMilestone: number;
2822
4869
  }
4870
+
4871
+ /**
4872
+ * Metadata for swap loyalty rules
4873
+ */
4874
+ export interface Swap {
4875
+ provider?: 'any' | 'relay' | 'lifi';
4876
+
4877
+ relayReferrerId?: string;
4878
+
4879
+ requireCrossChainSwap?: boolean;
4880
+
4881
+ swappedToChain?: 'any' | number | string;
4882
+
4883
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4884
+
4885
+ tokenMode?: 'any' | 'specific';
4886
+
4887
+ trackTokenAmount?: boolean;
4888
+ }
4889
+
4890
+ export namespace Swap {
4891
+ export interface SwappedToToken {
4892
+ address: string;
4893
+
4894
+ chainId: string;
4895
+ }
4896
+ }
2823
4897
  }
2824
4898
 
2825
4899
  export interface Collection {
@@ -2832,13 +4906,17 @@ export namespace RuleCreateParams {
2832
4906
  * Blockchain network for the collection
2833
4907
  */
2834
4908
  network:
4909
+ | 'abstract'
4910
+ | 'abstractTestnet'
2835
4911
  | 'apechain'
2836
4912
  | 'arbitrum'
2837
4913
  | 'avalanche'
2838
4914
  | 'avalancheFuji'
2839
4915
  | 'base'
2840
4916
  | 'baseSepolia'
4917
+ | 'berachain'
2841
4918
  | 'berachainArtio'
4919
+ | 'berachainBepolia'
2842
4920
  | 'binance'
2843
4921
  | 'bscTestnet'
2844
4922
  | 'campTestnet'
@@ -2846,18 +4924,28 @@ export namespace RuleCreateParams {
2846
4924
  | 'fantomTestnet'
2847
4925
  | 'flowMainnet'
2848
4926
  | 'mainnet'
4927
+ | 'nexusTestnet'
2849
4928
  | 'optimism'
2850
4929
  | 'polygon'
2851
4930
  | 'polygon_mumbai'
2852
4931
  | 'skaleNebula'
2853
4932
  | 'solana'
2854
4933
  | 'sophon'
4934
+ | 'sophonTestnet'
2855
4935
  | 'sui'
2856
4936
  | 'superseed'
2857
4937
  | 'superseedSepolia'
2858
4938
  | 'vanar'
2859
4939
  | 'xai'
2860
4940
  | 'zksync'
4941
+ | 'coti'
4942
+ | 'cotiTestnet'
4943
+ | 'morph'
4944
+ | 'morphTestnet'
4945
+ | 'morphHolesky'
4946
+ | 'ultra'
4947
+ | 'ultraTestnet'
4948
+ | 'nitrograph'
2861
4949
  | 'sepolia'
2862
4950
  | 'optimism_sepolia'
2863
4951
  | 'arbitrumSepolia'
@@ -2865,7 +4953,12 @@ export namespace RuleCreateParams {
2865
4953
  | 'optimism_goerli'
2866
4954
  | 'arbitrumGoerli'
2867
4955
  | 'basecamp'
2868
- | 'abstract';
4956
+ | 'somnia';
4957
+
4958
+ /**
4959
+ * Symbol of the collection.
4960
+ */
4961
+ symbol?: string;
2869
4962
  }
2870
4963
  }
2871
4964
 
@@ -2885,6 +4978,11 @@ export interface RuleUpdateParams {
2885
4978
  */
2886
4979
  name: string;
2887
4980
 
4981
+ /**
4982
+ * The type of claim for the reward
4983
+ */
4984
+ claimType?: 'manual' | 'auto' | null;
4985
+
2888
4986
  /**
2889
4987
  * Blockchain address of the associated collection
2890
4988
  */
@@ -2920,6 +5018,11 @@ export interface RuleUpdateParams {
2920
5018
  */
2921
5019
  effectiveStartTime?: string | null;
2922
5020
 
5021
+ /**
5022
+ * ID of the external integration
5023
+ */
5024
+ externalIntegrationId?: string | null;
5025
+
2923
5026
  /**
2924
5027
  * Frequency of the rule execution
2925
5028
  */
@@ -2933,7 +5036,7 @@ export interface RuleUpdateParams {
2933
5036
  /**
2934
5037
  * Time interval for recurring rule execution
2935
5038
  */
2936
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
5039
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2937
5040
 
2938
5041
  /**
2939
5042
  * Whether this rule is required for participation
@@ -2945,6 +5048,18 @@ export interface RuleUpdateParams {
2945
5048
  */
2946
5049
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
2947
5050
 
5051
+ /**
5052
+ * The interval for the max amount. Available for the smart contract and external
5053
+ * rules.
5054
+ */
5055
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
5056
+
5057
+ /**
5058
+ * The maximum amount of points a user can earn per interval. Available for the
5059
+ * smart contract and external rules.
5060
+ */
5061
+ maxAmountPerInterval?: number | null;
5062
+
2948
5063
  /**
2949
5064
  * URL of the media to be displayed
2950
5065
  */
@@ -2959,13 +5074,17 @@ export interface RuleUpdateParams {
2959
5074
  * Blockchain network where the rule will apply
2960
5075
  */
2961
5076
  network?:
5077
+ | 'abstract'
5078
+ | 'abstractTestnet'
2962
5079
  | 'apechain'
2963
5080
  | 'arbitrum'
2964
5081
  | 'avalanche'
2965
5082
  | 'avalancheFuji'
2966
5083
  | 'base'
2967
5084
  | 'baseSepolia'
5085
+ | 'berachain'
2968
5086
  | 'berachainArtio'
5087
+ | 'berachainBepolia'
2969
5088
  | 'binance'
2970
5089
  | 'bscTestnet'
2971
5090
  | 'campTestnet'
@@ -2973,18 +5092,28 @@ export interface RuleUpdateParams {
2973
5092
  | 'fantomTestnet'
2974
5093
  | 'flowMainnet'
2975
5094
  | 'mainnet'
5095
+ | 'nexusTestnet'
2976
5096
  | 'optimism'
2977
5097
  | 'polygon'
2978
5098
  | 'polygon_mumbai'
2979
5099
  | 'skaleNebula'
2980
5100
  | 'solana'
2981
5101
  | 'sophon'
5102
+ | 'sophonTestnet'
2982
5103
  | 'sui'
2983
5104
  | 'superseed'
2984
5105
  | 'superseedSepolia'
2985
5106
  | 'vanar'
2986
5107
  | 'xai'
2987
5108
  | 'zksync'
5109
+ | 'coti'
5110
+ | 'cotiTestnet'
5111
+ | 'morph'
5112
+ | 'morphTestnet'
5113
+ | 'morphHolesky'
5114
+ | 'ultra'
5115
+ | 'ultraTestnet'
5116
+ | 'nitrograph'
2988
5117
  | 'sepolia'
2989
5118
  | 'optimism_sepolia'
2990
5119
  | 'arbitrumSepolia'
@@ -2992,17 +5121,32 @@ export interface RuleUpdateParams {
2992
5121
  | 'optimism_goerli'
2993
5122
  | 'arbitrumGoerli'
2994
5123
  | 'basecamp'
2995
- | 'abstract';
5124
+ | 'somnia';
2996
5125
 
2997
5126
  /**
2998
5127
  * ID for associated OAuth credentials
2999
5128
  */
3000
5129
  oauthCredentialsId?: string | null;
3001
5130
 
5131
+ /**
5132
+ * The lifetime of the reward
5133
+ */
5134
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
5135
+
3002
5136
  /**
3003
5137
  * Type of reward issued by this rule
3004
5138
  */
3005
- rewardType?: 'points' | 'multiplier';
5139
+ rewardType?: 'points' | 'multiplier' | 'badge';
5140
+
5141
+ /**
5142
+ * URL of the Shopify store
5143
+ */
5144
+ shopifyStoreUrl?: string | null;
5145
+
5146
+ /**
5147
+ * Whether to show this rule before the start time
5148
+ */
5149
+ showBeforeStart?: boolean;
3006
5150
 
3007
5151
  /**
3008
5152
  * Start time for the loyalty rule
@@ -3010,9 +5154,9 @@ export interface RuleUpdateParams {
3010
5154
  startTime?: string | null;
3011
5155
 
3012
5156
  /**
3013
- * Optional subscription identifier for the rule
5157
+ * Optional subscription id for the rule
3014
5158
  */
3015
- subscriptionIdentifier?: string | null;
5159
+ subscriptionId?: string | null;
3016
5160
  }
3017
5161
 
3018
5162
  export namespace RuleUpdateParams {
@@ -3026,13 +5170,17 @@ export namespace RuleUpdateParams {
3026
5170
  * Blockchain network for the collection
3027
5171
  */
3028
5172
  network:
5173
+ | 'abstract'
5174
+ | 'abstractTestnet'
3029
5175
  | 'apechain'
3030
5176
  | 'arbitrum'
3031
5177
  | 'avalanche'
3032
5178
  | 'avalancheFuji'
3033
5179
  | 'base'
3034
5180
  | 'baseSepolia'
5181
+ | 'berachain'
3035
5182
  | 'berachainArtio'
5183
+ | 'berachainBepolia'
3036
5184
  | 'binance'
3037
5185
  | 'bscTestnet'
3038
5186
  | 'campTestnet'
@@ -3040,18 +5188,28 @@ export namespace RuleUpdateParams {
3040
5188
  | 'fantomTestnet'
3041
5189
  | 'flowMainnet'
3042
5190
  | 'mainnet'
5191
+ | 'nexusTestnet'
3043
5192
  | 'optimism'
3044
5193
  | 'polygon'
3045
5194
  | 'polygon_mumbai'
3046
5195
  | 'skaleNebula'
3047
5196
  | 'solana'
3048
5197
  | 'sophon'
5198
+ | 'sophonTestnet'
3049
5199
  | 'sui'
3050
5200
  | 'superseed'
3051
5201
  | 'superseedSepolia'
3052
5202
  | 'vanar'
3053
5203
  | 'xai'
3054
5204
  | 'zksync'
5205
+ | 'coti'
5206
+ | 'cotiTestnet'
5207
+ | 'morph'
5208
+ | 'morphTestnet'
5209
+ | 'morphHolesky'
5210
+ | 'ultra'
5211
+ | 'ultraTestnet'
5212
+ | 'nitrograph'
3055
5213
  | 'sepolia'
3056
5214
  | 'optimism_sepolia'
3057
5215
  | 'arbitrumSepolia'
@@ -3059,13 +5217,23 @@ export namespace RuleUpdateParams {
3059
5217
  | 'optimism_goerli'
3060
5218
  | 'arbitrumGoerli'
3061
5219
  | 'basecamp'
3062
- | 'abstract';
5220
+ | 'somnia';
5221
+
5222
+ /**
5223
+ * Symbol of the collection.
5224
+ */
5225
+ symbol?: string;
3063
5226
  }
3064
5227
 
3065
5228
  /**
3066
5229
  * Additional metadata for the loyalty rule
3067
5230
  */
3068
5231
  export interface Metadata {
5232
+ /**
5233
+ * Number of tokens per batch.
5234
+ */
5235
+ batchSize?: number | null;
5236
+
3069
5237
  /**
3070
5238
  * Text displayed on the action button.
3071
5239
  */
@@ -3089,7 +5257,7 @@ export namespace RuleUpdateParams {
3089
5257
  /**
3090
5258
  * Text to check in the Twitter post, username, or bio.
3091
5259
  */
3092
- checkText?: string | null;
5260
+ checkText?: string | Array<string> | null;
3093
5261
 
3094
5262
  /**
3095
5263
  * Array of collections associated with the rule.
@@ -3099,7 +5267,12 @@ export namespace RuleUpdateParams {
3099
5267
  /**
3100
5268
  * Conditions for completing the profile.
3101
5269
  */
3102
- completeProfileConditions?: Record<string, boolean> | null;
5270
+ completeProfileConditions?: { [key: string]: boolean } | null;
5271
+
5272
+ /**
5273
+ * Description of the external rule condition (only for external rules)
5274
+ */
5275
+ conditionDescription?: string;
3103
5276
 
3104
5277
  /**
3105
5278
  * Object containing details for the call-to-action.
@@ -3111,6 +5284,11 @@ export namespace RuleUpdateParams {
3111
5284
  */
3112
5285
  customRewardsApiKey?: string;
3113
5286
 
5287
+ /**
5288
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
5289
+ */
5290
+ directRpc?: boolean;
5291
+
3114
5292
  /**
3115
5293
  * Array of Discord servers, channels, and roles to join.
3116
5294
  */
@@ -3156,11 +5334,6 @@ export namespace RuleUpdateParams {
3156
5334
  */
3157
5335
  hasNeverSold?: boolean;
3158
5336
 
3159
- /**
3160
- * Flag indicating whether the order source is included.
3161
- */
3162
- hasOrderSource?: boolean;
3163
-
3164
5337
  /**
3165
5338
  * Indicates if the full royalty has been paid for items.
3166
5339
  */
@@ -3181,11 +5354,21 @@ export namespace RuleUpdateParams {
3181
5354
  */
3182
5355
  imageUrl?: string | null;
3183
5356
 
5357
+ /**
5358
+ * If enabled, the first transaction done on the platform will complete this rule
5359
+ */
5360
+ isCheckInOnEveryTxn?: boolean;
5361
+
3184
5362
  /**
3185
5363
  * Indicates if the multiplier has been applied to rewards.
3186
5364
  */
3187
5365
  isMultiplierApplied?: boolean;
3188
5366
 
5367
+ /**
5368
+ * Flag indicating if the rule is restricted to new users.
5369
+ */
5370
+ isRestrictedToNewUsers?: boolean;
5371
+
3189
5372
  /**
3190
5373
  * Flag indicating if rewards are applied retroactively.
3191
5374
  */
@@ -3201,6 +5384,11 @@ export namespace RuleUpdateParams {
3201
5384
  */
3202
5385
  link?: string | null;
3203
5386
 
5387
+ /**
5388
+ * Liquidity pool details.
5389
+ */
5390
+ liquidity?: Metadata.Liquidity;
5391
+
3204
5392
  /**
3205
5393
  * Maximum quantity constraint for token holding.
3206
5394
  */
@@ -3242,14 +5430,24 @@ export namespace RuleUpdateParams {
3242
5430
  onlyRewardSingleTokenOwnership?: boolean | null;
3243
5431
 
3244
5432
  /**
3245
- * Order source of the order for the token sale
5433
+ * Promotional code associated with the rule.
3246
5434
  */
3247
- orderSource?: string;
5435
+ promoCode?: string;
3248
5436
 
3249
5437
  /**
3250
- * Promotional code associated with the rule.
5438
+ * URL of the CSV file containing promo codes.
3251
5439
  */
3252
- promoCode?: string;
5440
+ promoCodeCsvUrl?: string;
5441
+
5442
+ /**
5443
+ * Numbers of the promotional code to be generated.
5444
+ */
5445
+ promoCodeLength?: number | null;
5446
+
5447
+ /**
5448
+ * Type of the promotional code.
5449
+ */
5450
+ promoCodeType?: 'code' | 'csv' | 'generate';
3253
5451
 
3254
5452
  /**
3255
5453
  * Array defining ranges and corresponding rewards.
@@ -3266,11 +5464,62 @@ export namespace RuleUpdateParams {
3266
5464
  */
3267
5465
  referrerReward?: number | null;
3268
5466
 
5467
+ /**
5468
+ * Loyalty currency ID of the referrer reward.
5469
+ */
5470
+ referrerRewardLoyaltyCurrencyId?: string | null;
5471
+
5472
+ /**
5473
+ * Flag indicating if the post link is required.
5474
+ */
5475
+ requirePostLink?: boolean | null;
5476
+
5477
+ /**
5478
+ * Flag indicating if media metadata is required.
5479
+ */
5480
+ requirePostMediaLink?: boolean | null;
5481
+
5482
+ /**
5483
+ * Flag indicating if the rule can also reward badges per range.
5484
+ */
5485
+ rewardBadgePerRange?: boolean;
5486
+
5487
+ /**
5488
+ * Flag indicating if the reward is rewarded by batch.
5489
+ */
5490
+ rewardByBatch?: boolean | null;
5491
+
5492
+ /**
5493
+ * Criteria to evaluate the reward.
5494
+ */
5495
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
5496
+
5497
+ /**
5498
+ * Flag indicating if the reward is rewarded per action.
5499
+ */
5500
+ rewardPerAction?: boolean | null;
5501
+
3269
5502
  /**
3270
5503
  * Flag indicating if rewards are given per impression.
3271
5504
  */
3272
5505
  rewardPerImpression?: boolean | null;
3273
5506
 
5507
+ /**
5508
+ * Flag indicating if the rule should reward based on value of traded tokens
5509
+ * instead of count.
5510
+ */
5511
+ rewardPerValue?: boolean;
5512
+
5513
+ /**
5514
+ * Wallet address of the user can only be used if userId is not provided
5515
+ */
5516
+ royaltyAddress?: string;
5517
+
5518
+ /**
5519
+ * Royalty percentage of the item.
5520
+ */
5521
+ royaltyPercentage?: number;
5522
+
3274
5523
  /**
3275
5524
  * Currency associated with sales.
3276
5525
  */
@@ -3310,6 +5559,7 @@ export namespace RuleUpdateParams {
3310
5559
  | 'Twitch'
3311
5560
  | 'X(Twitter)'
3312
5561
  | 'YouTube'
5562
+ | 'Google'
3313
5563
  | null;
3314
5564
 
3315
5565
  /**
@@ -3322,11 +5572,21 @@ export namespace RuleUpdateParams {
3322
5572
  */
3323
5573
  socialPlatformName?: string | null;
3324
5574
 
5575
+ /**
5576
+ * ID of the Steam app.
5577
+ */
5578
+ steamAppId?: string | null;
5579
+
3325
5580
  /**
3326
5581
  * Array of streak milestones and corresponding rewards.
3327
5582
  */
3328
5583
  streakArray?: Array<Metadata.StreakArray> | null;
3329
5584
 
5585
+ /**
5586
+ * Metadata for swap loyalty rules
5587
+ */
5588
+ swap?: Metadata.Swap;
5589
+
3330
5590
  /**
3331
5591
  * ID of the Telegram channel.
3332
5592
  */
@@ -3342,6 +5602,12 @@ export namespace RuleUpdateParams {
3342
5602
  */
3343
5603
  trackAllContracts?: boolean | null;
3344
5604
 
5605
+ /**
5606
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
5607
+ * completed once the progress is 100%.
5608
+ */
5609
+ trackProgress?: boolean | null;
5610
+
3345
5611
  /**
3346
5612
  * URL of the associated Twitter account.
3347
5613
  */
@@ -3385,7 +5651,17 @@ export namespace RuleUpdateParams {
3385
5651
  /**
3386
5652
  * Type of wallet associated with the rule.
3387
5653
  */
3388
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
5654
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
5655
+
5656
+ /**
5657
+ * ID of the Youtube channel.
5658
+ */
5659
+ youtubeChannelId?: string | null;
5660
+
5661
+ /**
5662
+ * ID of the Youtube video.
5663
+ */
5664
+ youtubeVideoId?: string | null;
3389
5665
  }
3390
5666
 
3391
5667
  export namespace Metadata {
@@ -3404,13 +5680,17 @@ export namespace RuleUpdateParams {
3404
5680
  * Blockchain network of the collection.
3405
5681
  */
3406
5682
  network?:
5683
+ | 'abstract'
5684
+ | 'abstractTestnet'
3407
5685
  | 'apechain'
3408
5686
  | 'arbitrum'
3409
5687
  | 'avalanche'
3410
5688
  | 'avalancheFuji'
3411
5689
  | 'base'
3412
5690
  | 'baseSepolia'
5691
+ | 'berachain'
3413
5692
  | 'berachainArtio'
5693
+ | 'berachainBepolia'
3414
5694
  | 'binance'
3415
5695
  | 'bscTestnet'
3416
5696
  | 'campTestnet'
@@ -3418,18 +5698,28 @@ export namespace RuleUpdateParams {
3418
5698
  | 'fantomTestnet'
3419
5699
  | 'flowMainnet'
3420
5700
  | 'mainnet'
5701
+ | 'nexusTestnet'
3421
5702
  | 'optimism'
3422
5703
  | 'polygon'
3423
5704
  | 'polygon_mumbai'
3424
5705
  | 'skaleNebula'
3425
5706
  | 'solana'
3426
5707
  | 'sophon'
5708
+ | 'sophonTestnet'
3427
5709
  | 'sui'
3428
5710
  | 'superseed'
3429
5711
  | 'superseedSepolia'
3430
5712
  | 'vanar'
3431
5713
  | 'xai'
3432
5714
  | 'zksync'
5715
+ | 'coti'
5716
+ | 'cotiTestnet'
5717
+ | 'morph'
5718
+ | 'morphTestnet'
5719
+ | 'morphHolesky'
5720
+ | 'ultra'
5721
+ | 'ultraTestnet'
5722
+ | 'nitrograph'
3433
5723
  | 'sepolia'
3434
5724
  | 'optimism_sepolia'
3435
5725
  | 'arbitrumSepolia'
@@ -3437,7 +5727,7 @@ export namespace RuleUpdateParams {
3437
5727
  | 'optimism_goerli'
3438
5728
  | 'arbitrumGoerli'
3439
5729
  | 'basecamp'
3440
- | 'abstract';
5730
+ | 'somnia';
3441
5731
  }
3442
5732
 
3443
5733
  /**
@@ -3514,6 +5804,105 @@ export namespace RuleUpdateParams {
3514
5804
  id: string;
3515
5805
  }
3516
5806
 
5807
+ /**
5808
+ * Liquidity pool details.
5809
+ */
5810
+ export interface Liquidity {
5811
+ /**
5812
+ * Calculation type of the liquidity pool.
5813
+ */
5814
+ calculationType?: 'fixed' | 'custom';
5815
+
5816
+ /**
5817
+ * Custom function to calculate the the reward amount based on the liquidity
5818
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
5819
+ * USD.
5820
+ */
5821
+ customFunction?: string;
5822
+
5823
+ /**
5824
+ * Liquidity provided per day in USD
5825
+ */
5826
+ liquidityPerDay?: number;
5827
+
5828
+ /**
5829
+ * Blockchain network of the liquidity pool.
5830
+ */
5831
+ network?:
5832
+ | 'abstract'
5833
+ | 'abstractTestnet'
5834
+ | 'apechain'
5835
+ | 'arbitrum'
5836
+ | 'avalanche'
5837
+ | 'avalancheFuji'
5838
+ | 'base'
5839
+ | 'baseSepolia'
5840
+ | 'berachain'
5841
+ | 'berachainArtio'
5842
+ | 'berachainBepolia'
5843
+ | 'binance'
5844
+ | 'bscTestnet'
5845
+ | 'campTestnet'
5846
+ | 'fantom'
5847
+ | 'fantomTestnet'
5848
+ | 'flowMainnet'
5849
+ | 'mainnet'
5850
+ | 'nexusTestnet'
5851
+ | 'optimism'
5852
+ | 'polygon'
5853
+ | 'polygon_mumbai'
5854
+ | 'skaleNebula'
5855
+ | 'solana'
5856
+ | 'sophon'
5857
+ | 'sophonTestnet'
5858
+ | 'sui'
5859
+ | 'superseed'
5860
+ | 'superseedSepolia'
5861
+ | 'vanar'
5862
+ | 'xai'
5863
+ | 'zksync'
5864
+ | 'coti'
5865
+ | 'cotiTestnet'
5866
+ | 'morph'
5867
+ | 'morphTestnet'
5868
+ | 'morphHolesky'
5869
+ | 'ultra'
5870
+ | 'ultraTestnet'
5871
+ | 'nitrograph'
5872
+ | 'sepolia'
5873
+ | 'optimism_sepolia'
5874
+ | 'arbitrumSepolia'
5875
+ | 'goerli'
5876
+ | 'optimism_goerli'
5877
+ | 'arbitrumGoerli'
5878
+ | 'basecamp'
5879
+ | 'somnia';
5880
+
5881
+ /**
5882
+ * Indicates if only in-range liquidity is rewarded.
5883
+ */
5884
+ onlyRewardInRangeLiquidity?: boolean;
5885
+
5886
+ /**
5887
+ * Array of liquidity pools associated with the rule.
5888
+ */
5889
+ pools?: Array<Liquidity.Pool>;
5890
+
5891
+ /**
5892
+ * Protocol of the liquidity pool.
5893
+ */
5894
+ protocol?: string;
5895
+ }
5896
+
5897
+ export namespace Liquidity {
5898
+ export interface Pool {
5899
+ /**
5900
+ * Unique identifier of the liquidity pool.
5901
+ */
5902
+ id: string;
5903
+ }
5904
+ }
5905
+
3517
5906
  export interface Range {
3518
5907
  /**
3519
5908
  * Reward amount for this range.
@@ -3529,6 +5918,16 @@ export namespace RuleUpdateParams {
3529
5918
  * Start value of the range.
3530
5919
  */
3531
5920
  startRange: number;
5921
+
5922
+ /**
5923
+ * ID of the loyalty badge for this range.
5924
+ */
5925
+ loyaltyBadgeId?: string;
5926
+
5927
+ /**
5928
+ * Amount of the loyalty multiplier for this range.
5929
+ */
5930
+ loyaltyMultiplierAmount?: number;
3532
5931
  }
3533
5932
 
3534
5933
  /**
@@ -3581,20 +5980,15 @@ export namespace RuleUpdateParams {
3581
5980
  * Object containing details of the associated smart contract.
3582
5981
  */
3583
5982
  export interface SmartContract {
3584
- /**
3585
- * ABI of the smart contract.
3586
- */
3587
- abi?: string | null;
3588
-
3589
5983
  /**
3590
5984
  * Mapping of addresses for the smart contract.
3591
5985
  */
3592
5986
  addressMapping?: string | null;
3593
5987
 
3594
5988
  /**
3595
- * Array of bonus details applied to the rule.
5989
+ * Object containing details of the amount multiplier from the event.
3596
5990
  */
3597
- bonus?: Array<SmartContract.Bonus> | null;
5991
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3598
5992
 
3599
5993
  /**
3600
5994
  * ID of the smart contract.
@@ -3606,68 +6000,31 @@ export namespace RuleUpdateParams {
3606
6000
  */
3607
6001
  criteria?: 'everyEvent' | 'byParameter' | null;
3608
6002
 
3609
- /**
3610
- * Time range applied to the rule.
3611
- */
3612
- customRange?: SmartContract.CustomRange | null;
3613
-
3614
6003
  /**
3615
6004
  * Event emitted by the smart contract.
3616
6005
  */
3617
6006
  event?: string | null;
3618
6007
 
3619
- /**
3620
- * Maximum value allowed for the parameter.
3621
- */
3622
- max?: number | null;
3623
-
3624
6008
  /**
3625
6009
  * Array of parameters for the smart contract.
3626
6010
  */
3627
6011
  params?: Array<SmartContract.Param> | null;
3628
6012
 
3629
6013
  /**
3630
- * Flag indicating if a bonus is applied.
3631
- */
3632
- withBonus?: boolean | null;
3633
-
3634
- /**
3635
- * Flag indicating if a custom range is applied.
6014
+ * Type of the smart contract interaction.
3636
6015
  */
3637
- withCustomRange?: boolean | null;
3638
-
3639
- /**
3640
- * Flag indicating if a maximum limit is applied.
3641
- */
3642
- withMax?: boolean | null;
6016
+ type?: 'function' | 'event' | null;
3643
6017
  }
3644
6018
 
3645
6019
  export namespace SmartContract {
3646
- export interface Bonus {
3647
- /**
3648
- * Amount of the bonus.
3649
- */
3650
- amount?: number | null;
3651
-
3652
- /**
3653
- * Number of times the bonus is applied.
3654
- */
3655
- count?: number | null;
3656
- }
3657
-
3658
6020
  /**
3659
- * Time range applied to the rule.
6021
+ * Object containing details of the amount multiplier from the event.
3660
6022
  */
3661
- export interface CustomRange {
3662
- /**
3663
- * End time of the custom range.
3664
- */
3665
- endsAt?: string | null;
3666
-
6023
+ export interface AmountMultiplier {
3667
6024
  /**
3668
- * Start time of the custom range.
6025
+ * Mapping of the value for the smart contract.
3669
6026
  */
3670
- startsAt?: string | null;
6027
+ valueMapping?: string | null;
3671
6028
  }
3672
6029
 
3673
6030
  export interface Param {
@@ -3711,17 +6068,66 @@ export namespace RuleUpdateParams {
3711
6068
  */
3712
6069
  streakMilestone: number;
3713
6070
  }
6071
+
6072
+ /**
6073
+ * Metadata for swap loyalty rules
6074
+ */
6075
+ export interface Swap {
6076
+ provider?: 'any' | 'relay' | 'lifi';
6077
+
6078
+ relayReferrerId?: string;
6079
+
6080
+ requireCrossChainSwap?: boolean;
6081
+
6082
+ swappedToChain?: 'any' | number | string;
6083
+
6084
+ swappedToTokens?: Array<Swap.SwappedToToken>;
6085
+
6086
+ tokenMode?: 'any' | 'specific';
6087
+
6088
+ trackTokenAmount?: boolean;
6089
+ }
6090
+
6091
+ export namespace Swap {
6092
+ export interface SwappedToToken {
6093
+ address: string;
6094
+
6095
+ chainId: string;
6096
+ }
6097
+ }
3714
6098
  }
3715
6099
  }
3716
6100
 
3717
6101
  export interface RuleListParams {
6102
+ /**
6103
+ * IDs of the users to filter results by
6104
+ */
6105
+ allotedToUserId?: string | Array<string>;
6106
+
6107
+ /**
6108
+ * ID of the user group to filter results by
6109
+ */
6110
+ allotedUserGroupId?: string;
6111
+
3718
6112
  /**
3719
6113
  * Address of the collection to filter by
3720
6114
  */
3721
6115
  collectionAddress?: string;
3722
6116
 
3723
6117
  /**
3724
- * Maximum number of records to return (max 1000)
6118
+ * If true this will only return active rules, the rules for which the startTime is
6119
+ * in the past and the endTime is in the future
6120
+ */
6121
+ isActive?: 'true' | 'false';
6122
+
6123
+ /**
6124
+ * If true this will only return special rules, special rules are the rules that
6125
+ * are used for anti sybil as honey pot
6126
+ */
6127
+ isSpecial?: 'true' | 'false';
6128
+
6129
+ /**
6130
+ * Maximum number of records to return (max 100)
3725
6131
  */
3726
6132
  limit?: number;
3727
6133
 
@@ -3751,6 +6157,13 @@ export interface RuleListParams {
3751
6157
  websiteId?: string;
3752
6158
  }
3753
6159
 
6160
+ export interface RuleDeleteParams {
6161
+ /**
6162
+ * Whether to debit loyalty points
6163
+ */
6164
+ debitLoyaltyPoints?: string;
6165
+ }
6166
+
3754
6167
  export interface RuleCompleteParams {
3755
6168
  /**
3756
6169
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -3759,15 +6172,25 @@ export interface RuleCompleteParams {
3759
6172
  amount?: number | null;
3760
6173
 
3761
6174
  /**
3762
- * Link to the comment made by user
6175
+ * Link to the post/comment made by user
3763
6176
  */
3764
- commentLink?: string;
6177
+ contentUrl?: string;
6178
+
6179
+ /**
6180
+ * Unique key to ensure idempotent requests.
6181
+ */
6182
+ idempotencyKey?: string;
3765
6183
 
3766
6184
  /**
3767
6185
  * ID of the choice selected by the user
3768
6186
  */
3769
6187
  loyaltyQuestionChoiceId?: string;
3770
6188
 
6189
+ /**
6190
+ * Value to compare with the range
6191
+ */
6192
+ rangeValue?: number | null;
6193
+
3771
6194
  /**
3772
6195
  * Unique identifier for the user
3773
6196
  */
@@ -3780,7 +6203,7 @@ export interface RuleCompleteParams {
3780
6203
 
3781
6204
  /**
3782
6205
  * Flag indicating if only verification is required, this will not create a
3783
- * transaction and reward the user
6206
+ * transaction and reward the user.
3784
6207
  */
3785
6208
  verifyOnly?: string;
3786
6209
 
@@ -3791,11 +6214,30 @@ export interface RuleCompleteParams {
3791
6214
  }
3792
6215
 
3793
6216
  export interface RuleGetStatusParams {
3794
- organizationId: string;
6217
+ /**
6218
+ * Number of items to return
6219
+ */
6220
+ limit?: number | null;
3795
6221
 
3796
- websiteId: string;
6222
+ /**
6223
+ * Unique identifier for the loyalty rule[s]
6224
+ */
6225
+ loyaltyRuleId?: string | Array<string>;
6226
+
6227
+ organizationId?: string;
6228
+
6229
+ /**
6230
+ * Starting after item
6231
+ */
6232
+ startingAfter?: string;
6233
+
6234
+ userGroupId?: string;
3797
6235
 
3798
6236
  userId?: string;
6237
+
6238
+ walletAddress?: string;
6239
+
6240
+ websiteId?: string;
3799
6241
  }
3800
6242
 
3801
6243
  export declare namespace Rules {
@@ -3809,6 +6251,7 @@ export declare namespace Rules {
3809
6251
  type RuleCreateParams as RuleCreateParams,
3810
6252
  type RuleUpdateParams as RuleUpdateParams,
3811
6253
  type RuleListParams as RuleListParams,
6254
+ type RuleDeleteParams as RuleDeleteParams,
3812
6255
  type RuleCompleteParams as RuleCompleteParams,
3813
6256
  type RuleGetStatusParams as RuleGetStatusParams,
3814
6257
  };