@snagsolutions/sdk 0.1.0-alpha.26 → 0.1.0-alpha.261

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 (341) hide show
  1. package/CHANGELOG.md +151 -151
  2. package/LICENSE +1 -1
  3. package/README.md +15 -23
  4. package/core.d.ts +9 -6
  5. package/core.d.ts.map +1 -1
  6. package/core.js +36 -33
  7. package/core.js.map +1 -1
  8. package/core.mjs +36 -33
  9. package/core.mjs.map +1 -1
  10. package/index.d.mts +15 -9
  11. package/index.d.ts +15 -9
  12. package/index.d.ts.map +1 -1
  13. package/index.js +13 -6
  14. package/index.js.map +1 -1
  15. package/index.mjs +14 -7
  16. package/index.mjs.map +1 -1
  17. package/internal/utils/query.d.ts +2 -0
  18. package/internal/utils/query.d.ts.map +1 -0
  19. package/internal/utils/query.js +33 -0
  20. package/internal/utils/query.js.map +1 -0
  21. package/internal/utils/query.mjs +6 -0
  22. package/internal/utils/query.mjs.map +1 -0
  23. package/package.json +4 -5
  24. package/resource.d.ts +1 -1
  25. package/resource.d.ts.map +1 -1
  26. package/resource.js.map +1 -1
  27. package/resource.mjs.map +1 -1
  28. package/resources/assets.d.ts +16 -2
  29. package/resources/assets.d.ts.map +1 -1
  30. package/resources/assets.js +8 -0
  31. package/resources/assets.js.map +1 -1
  32. package/resources/assets.mjs +8 -0
  33. package/resources/assets.mjs.map +1 -1
  34. package/resources/auctions/auctions.d.ts +341 -0
  35. package/resources/auctions/auctions.d.ts.map +1 -0
  36. package/resources/auctions/auctions.js +72 -0
  37. package/resources/auctions/auctions.js.map +1 -0
  38. package/resources/auctions/auctions.mjs +45 -0
  39. package/resources/auctions/auctions.mjs.map +1 -0
  40. package/resources/auctions/index.d.ts +3 -0
  41. package/resources/auctions/index.d.ts.map +1 -0
  42. package/resources/auctions/index.js +9 -0
  43. package/resources/auctions/index.js.map +1 -0
  44. package/resources/auctions/index.mjs +4 -0
  45. package/resources/auctions/index.mjs.map +1 -0
  46. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  47. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  48. package/resources/auctions/website-user-attributes/index.js +9 -0
  49. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  50. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  51. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  52. package/resources/auctions/website-user-attributes/values.d.ts +126 -0
  53. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  54. package/resources/auctions/website-user-attributes/values.js +49 -0
  55. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  56. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  57. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  58. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
  59. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  60. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  61. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  62. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  63. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  64. package/resources/auctions/website-user-attributes.d.ts +2 -0
  65. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  66. package/resources/auctions/website-user-attributes.js +19 -0
  67. package/resources/auctions/website-user-attributes.js.map +1 -0
  68. package/resources/auctions/website-user-attributes.mjs +3 -0
  69. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  70. package/resources/auctions.d.ts +1 -133
  71. package/resources/auctions.d.ts.map +1 -1
  72. package/resources/auctions.js +15 -22
  73. package/resources/auctions.js.map +1 -1
  74. package/resources/auctions.mjs +1 -20
  75. package/resources/auctions.mjs.map +1 -1
  76. package/resources/auth.d.ts +66 -6
  77. package/resources/auth.d.ts.map +1 -1
  78. package/resources/auth.js +6 -0
  79. package/resources/auth.js.map +1 -1
  80. package/resources/auth.mjs +6 -0
  81. package/resources/auth.mjs.map +1 -1
  82. package/resources/index.d.ts +5 -4
  83. package/resources/index.d.ts.map +1 -1
  84. package/resources/index.js +5 -3
  85. package/resources/index.js.map +1 -1
  86. package/resources/index.mjs +4 -3
  87. package/resources/index.mjs.map +1 -1
  88. package/resources/loyalty/account-streaks.d.ts +96 -0
  89. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  90. package/resources/loyalty/account-streaks.js +24 -0
  91. package/resources/loyalty/account-streaks.js.map +1 -0
  92. package/resources/loyalty/account-streaks.mjs +20 -0
  93. package/resources/loyalty/account-streaks.mjs.map +1 -0
  94. package/resources/loyalty/accounts.d.ts +60 -16
  95. package/resources/loyalty/accounts.d.ts.map +1 -1
  96. package/resources/loyalty/accounts.js +14 -0
  97. package/resources/loyalty/accounts.js.map +1 -1
  98. package/resources/loyalty/accounts.mjs +14 -0
  99. package/resources/loyalty/accounts.mjs.map +1 -1
  100. package/resources/loyalty/badges.d.ts +885 -136
  101. package/resources/loyalty/badges.d.ts.map +1 -1
  102. package/resources/loyalty/badges.js +19 -1
  103. package/resources/loyalty/badges.js.map +1 -1
  104. package/resources/loyalty/badges.mjs +19 -1
  105. package/resources/loyalty/badges.mjs.map +1 -1
  106. package/resources/loyalty/currencies.d.ts +19 -0
  107. package/resources/loyalty/currencies.d.ts.map +1 -1
  108. package/resources/loyalty/currencies.js +19 -0
  109. package/resources/loyalty/currencies.js.map +1 -1
  110. package/resources/loyalty/currencies.mjs +19 -0
  111. package/resources/loyalty/currencies.mjs.map +1 -1
  112. package/resources/loyalty/index.d.ts +3 -3
  113. package/resources/loyalty/index.d.ts.map +1 -1
  114. package/resources/loyalty/index.js +5 -5
  115. package/resources/loyalty/index.js.map +1 -1
  116. package/resources/loyalty/index.mjs +2 -2
  117. package/resources/loyalty/index.mjs.map +1 -1
  118. package/resources/loyalty/loyalty.d.ts +9 -9
  119. package/resources/loyalty/loyalty.d.ts.map +1 -1
  120. package/resources/loyalty/loyalty.js +6 -6
  121. package/resources/loyalty/loyalty.js.map +1 -1
  122. package/resources/loyalty/loyalty.mjs +6 -6
  123. package/resources/loyalty/loyalty.mjs.map +1 -1
  124. package/resources/loyalty/multipliers.d.ts +39 -2
  125. package/resources/loyalty/multipliers.d.ts.map +1 -1
  126. package/resources/loyalty/multipliers.js +23 -0
  127. package/resources/loyalty/multipliers.js.map +1 -1
  128. package/resources/loyalty/multipliers.mjs +23 -0
  129. package/resources/loyalty/multipliers.mjs.map +1 -1
  130. package/resources/loyalty/questions-responses.d.ts +55 -4
  131. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  132. package/resources/loyalty/questions-responses.js +9 -0
  133. package/resources/loyalty/questions-responses.js.map +1 -1
  134. package/resources/loyalty/questions-responses.mjs +9 -0
  135. package/resources/loyalty/questions-responses.mjs.map +1 -1
  136. package/resources/loyalty/questions.d.ts +60 -6
  137. package/resources/loyalty/questions.d.ts.map +1 -1
  138. package/resources/loyalty/questions.js +39 -0
  139. package/resources/loyalty/questions.js.map +1 -1
  140. package/resources/loyalty/questions.mjs +39 -0
  141. package/resources/loyalty/questions.mjs.map +1 -1
  142. package/resources/loyalty/rule-edits.d.ts +2898 -8
  143. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  144. package/resources/loyalty/rule-edits.js +14 -0
  145. package/resources/loyalty/rule-edits.js.map +1 -1
  146. package/resources/loyalty/rule-edits.mjs +14 -0
  147. package/resources/loyalty/rule-edits.mjs.map +1 -1
  148. package/resources/loyalty/rule-groups.d.ts +284 -56
  149. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  150. package/resources/loyalty/rule-groups.js +18 -0
  151. package/resources/loyalty/rule-groups.js.map +1 -1
  152. package/resources/loyalty/rule-groups.mjs +18 -0
  153. package/resources/loyalty/rule-groups.mjs.map +1 -1
  154. package/resources/loyalty/rules.d.ts +2368 -346
  155. package/resources/loyalty/rules.d.ts.map +1 -1
  156. package/resources/loyalty/rules.js +40 -9
  157. package/resources/loyalty/rules.js.map +1 -1
  158. package/resources/loyalty/rules.mjs +40 -9
  159. package/resources/loyalty/rules.mjs.map +1 -1
  160. package/resources/loyalty/transactions/index.d.ts +4 -0
  161. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  162. package/resources/loyalty/transactions/index.js +11 -0
  163. package/resources/loyalty/transactions/index.js.map +1 -0
  164. package/resources/loyalty/transactions/index.mjs +5 -0
  165. package/resources/loyalty/transactions/index.mjs.map +1 -0
  166. package/resources/loyalty/transactions/posts.d.ts +145 -0
  167. package/resources/loyalty/transactions/posts.d.ts.map +1 -0
  168. package/resources/loyalty/transactions/posts.js +32 -0
  169. package/resources/loyalty/transactions/posts.js.map +1 -0
  170. package/resources/loyalty/transactions/posts.mjs +28 -0
  171. package/resources/loyalty/transactions/posts.mjs.map +1 -0
  172. package/resources/loyalty/transactions/rule-statuses.d.ts +121 -0
  173. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  174. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  175. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  176. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  177. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  178. package/resources/loyalty/transactions/transactions.d.ts +566 -0
  179. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  180. package/resources/loyalty/transactions/transactions.js +110 -0
  181. package/resources/loyalty/transactions/transactions.js.map +1 -0
  182. package/resources/loyalty/transactions/transactions.mjs +83 -0
  183. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  184. package/resources/loyalty/transactions.d.ts +1 -253
  185. package/resources/loyalty/transactions.d.ts.map +1 -1
  186. package/resources/loyalty/transactions.js +15 -18
  187. package/resources/loyalty/transactions.js.map +1 -1
  188. package/resources/loyalty/transactions.mjs +1 -16
  189. package/resources/loyalty/transactions.mjs.map +1 -1
  190. package/resources/minting/allowlist.d.ts +84 -0
  191. package/resources/minting/allowlist.d.ts.map +1 -0
  192. package/resources/minting/allowlist.js +42 -0
  193. package/resources/minting/allowlist.js.map +1 -0
  194. package/resources/minting/allowlist.mjs +38 -0
  195. package/resources/minting/allowlist.mjs.map +1 -0
  196. package/resources/minting/contracts.d.ts +165 -0
  197. package/resources/minting/contracts.d.ts.map +1 -0
  198. package/resources/minting/contracts.js +30 -0
  199. package/resources/minting/contracts.js.map +1 -0
  200. package/resources/minting/contracts.mjs +26 -0
  201. package/resources/minting/contracts.mjs.map +1 -0
  202. package/resources/minting/index.d.ts +5 -0
  203. package/resources/minting/index.d.ts.map +1 -0
  204. package/resources/minting/index.js +13 -0
  205. package/resources/minting/index.js.map +1 -0
  206. package/resources/minting/index.mjs +6 -0
  207. package/resources/minting/index.mjs.map +1 -0
  208. package/resources/minting/minting.d.ts +146 -0
  209. package/resources/minting/minting.d.ts.map +1 -0
  210. package/resources/minting/minting.js +79 -0
  211. package/resources/minting/minting.js.map +1 -0
  212. package/resources/minting/minting.mjs +52 -0
  213. package/resources/minting/minting.mjs.map +1 -0
  214. package/resources/minting/status.d.ts +44 -0
  215. package/resources/minting/status.d.ts.map +1 -0
  216. package/resources/minting/status.js +33 -0
  217. package/resources/minting/status.js.map +1 -0
  218. package/resources/minting/status.mjs +29 -0
  219. package/resources/minting/status.mjs.map +1 -0
  220. package/resources/minting.d.ts +1 -94
  221. package/resources/minting.d.ts.map +1 -1
  222. package/resources/minting.js +15 -11
  223. package/resources/minting.js.map +1 -1
  224. package/resources/minting.mjs +1 -9
  225. package/resources/minting.mjs.map +1 -1
  226. package/resources/referral/referral.d.ts +12 -3
  227. package/resources/referral/referral.d.ts.map +1 -1
  228. package/resources/referral/referral.js +11 -5
  229. package/resources/referral/referral.js.map +1 -1
  230. package/resources/referral/referral.mjs +11 -5
  231. package/resources/referral/referral.mjs.map +1 -1
  232. package/resources/referral/users.d.ts +30 -3
  233. package/resources/referral/users.d.ts.map +1 -1
  234. package/resources/referral/users.js +12 -4
  235. package/resources/referral/users.js.map +1 -1
  236. package/resources/referral/users.mjs +12 -4
  237. package/resources/referral/users.mjs.map +1 -1
  238. package/resources/token-claims.d.ts +162 -0
  239. package/resources/token-claims.d.ts.map +1 -0
  240. package/resources/token-claims.js +46 -0
  241. package/resources/token-claims.js.map +1 -0
  242. package/resources/token-claims.mjs +42 -0
  243. package/resources/token-claims.mjs.map +1 -0
  244. package/resources/users/index.d.ts +1 -1
  245. package/resources/users/index.d.ts.map +1 -1
  246. package/resources/users/index.js.map +1 -1
  247. package/resources/users/index.mjs.map +1 -1
  248. package/resources/users/metadatas.d.ts +40 -3
  249. package/resources/users/metadatas.d.ts.map +1 -1
  250. package/resources/users/metadatas.js.map +1 -1
  251. package/resources/users/metadatas.mjs.map +1 -1
  252. package/resources/users/users.d.ts +203 -36
  253. package/resources/users/users.d.ts.map +1 -1
  254. package/resources/users/users.js +58 -1
  255. package/resources/users/users.js.map +1 -1
  256. package/resources/users/users.mjs +58 -1
  257. package/resources/users/users.mjs.map +1 -1
  258. package/resources/websites/index.d.ts +1 -1
  259. package/resources/websites/index.d.ts.map +1 -1
  260. package/resources/websites/index.js.map +1 -1
  261. package/resources/websites/index.mjs +1 -1
  262. package/resources/websites/index.mjs.map +1 -1
  263. package/resources/websites/website-collections.d.ts +0 -69
  264. package/resources/websites/website-collections.d.ts.map +1 -1
  265. package/resources/websites/website-collections.js +0 -16
  266. package/resources/websites/website-collections.js.map +1 -1
  267. package/resources/websites/website-collections.mjs +0 -16
  268. package/resources/websites/website-collections.mjs.map +1 -1
  269. package/resources/websites/website-user-roles.d.ts +24 -1
  270. package/resources/websites/website-user-roles.d.ts.map +1 -1
  271. package/resources/websites/website-user-roles.js +23 -0
  272. package/resources/websites/website-user-roles.js.map +1 -1
  273. package/resources/websites/website-user-roles.mjs +23 -0
  274. package/resources/websites/website-user-roles.mjs.map +1 -1
  275. package/resources/websites/websites.d.ts +21 -99
  276. package/resources/websites/websites.d.ts.map +1 -1
  277. package/resources/websites/websites.js +9 -1
  278. package/resources/websites/websites.js.map +1 -1
  279. package/resources/websites/websites.mjs +10 -2
  280. package/resources/websites/websites.mjs.map +1 -1
  281. package/src/core.ts +40 -36
  282. package/src/index.ts +84 -6
  283. package/src/internal/utils/query.ts +7 -0
  284. package/src/resource.ts +1 -1
  285. package/src/resources/assets.ts +18 -3
  286. package/src/resources/auctions/auctions.ts +523 -0
  287. package/src/resources/auctions/index.ts +19 -0
  288. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  289. package/src/resources/auctions/website-user-attributes/values.ts +170 -0
  290. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
  291. package/src/resources/auctions/website-user-attributes.ts +3 -0
  292. package/src/resources/auctions.ts +1 -207
  293. package/src/resources/auth.ts +124 -6
  294. package/src/resources/index.ts +41 -3
  295. package/src/resources/loyalty/account-streaks.ts +128 -0
  296. package/src/resources/loyalty/accounts.ts +65 -18
  297. package/src/resources/loyalty/badges.ts +1058 -146
  298. package/src/resources/loyalty/currencies.ts +19 -0
  299. package/src/resources/loyalty/index.ts +13 -2
  300. package/src/resources/loyalty/loyalty.ts +30 -12
  301. package/src/resources/loyalty/multipliers.ts +43 -4
  302. package/src/resources/loyalty/questions-responses.ts +64 -4
  303. package/src/resources/loyalty/questions.ts +64 -6
  304. package/src/resources/loyalty/rule-edits.ts +4208 -94
  305. package/src/resources/loyalty/rule-groups.ts +474 -64
  306. package/src/resources/loyalty/rules.ts +3708 -403
  307. package/src/resources/loyalty/transactions/index.ts +29 -0
  308. package/src/resources/loyalty/transactions/posts.ts +221 -0
  309. package/src/resources/loyalty/transactions/rule-statuses.ts +179 -0
  310. package/src/resources/loyalty/transactions/transactions.ts +932 -0
  311. package/src/resources/loyalty/transactions.ts +1 -446
  312. package/src/resources/minting/allowlist.ts +116 -0
  313. package/src/resources/minting/contracts.ts +415 -0
  314. package/src/resources/minting/index.ts +29 -0
  315. package/src/resources/minting/minting.ts +285 -0
  316. package/src/resources/minting/status.ts +70 -0
  317. package/src/resources/minting.ts +1 -157
  318. package/src/resources/referral/referral.ts +15 -11
  319. package/src/resources/referral/users.ts +45 -5
  320. package/src/resources/token-claims.ts +311 -0
  321. package/src/resources/users/index.ts +4 -0
  322. package/src/resources/users/metadatas.ts +66 -3
  323. package/src/resources/users/users.ts +277 -39
  324. package/src/resources/websites/index.ts +1 -6
  325. package/src/resources/websites/website-collections.ts +1 -146
  326. package/src/resources/websites/website-user-roles.ts +26 -1
  327. package/src/resources/websites/websites.ts +22 -127
  328. package/src/version.ts +1 -1
  329. package/version.d.ts +1 -1
  330. package/version.d.ts.map +1 -1
  331. package/version.js +1 -1
  332. package/version.js.map +1 -1
  333. package/version.mjs +1 -1
  334. package/version.mjs.map +1 -1
  335. package/resources/loyalty/rule-chains.d.ts +0 -34
  336. package/resources/loyalty/rule-chains.d.ts.map +0 -1
  337. package/resources/loyalty/rule-chains.js +0 -15
  338. package/resources/loyalty/rule-chains.js.map +0 -1
  339. package/resources/loyalty/rule-chains.mjs +0 -11
  340. package/resources/loyalty/rule-chains.mjs.map +0 -1
  341. package/src/resources/loyalty/rule-chains.ts +0 -45
@@ -3,34 +3,100 @@ import * as Core from "../../core.js";
3
3
  export declare class Rules extends APIResource {
4
4
  /**
5
5
  * Create a new Loyalty Rule
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const rule = await client.loyalty.rules.create({
10
+ * amount: '10.5',
11
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
12
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
13
+ * endTime: '2024-12-31T23:59:00Z',
14
+ * frequency: 'daily',
15
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
16
+ * metadata: {},
17
+ * name: 'Referral Bonus Rule',
18
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
19
+ * startTime: '2024-01-01T00:00:00Z',
20
+ * type: 'Bonus',
21
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
22
+ * });
23
+ * ```
6
24
  */
7
25
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
8
26
  /**
9
27
  * Update an existing Loyalty Rule
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const rule = await client.loyalty.rules.update(
32
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
33
+ * {
34
+ * amount: '10.5',
35
+ * endTime: '2024-12-31T23:59:00Z',
36
+ * name: 'Daily Rewards Program',
37
+ * },
38
+ * );
39
+ * ```
10
40
  */
11
41
  update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
12
42
  /**
13
43
  * Retrieve configured loyalty rules with optional pagination and filters
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const rules = await client.loyalty.rules.list();
48
+ * ```
14
49
  */
15
50
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
16
51
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
17
52
  /**
18
53
  * Delete an existing Loyalty Rule
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const rule = await client.loyalty.rules.delete(
58
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
+ * );
60
+ * ```
19
61
  */
62
+ delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
20
63
  delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
21
64
  /**
22
65
  * Verify a loyalty rule based on user action and reward them if applicable. This
23
- * endpoint currently only supports following rule types code_entry, text_input,
24
- * link_click, discord_member, connect_wallet, check_in, external_rule,
66
+ * endpoint currently only supports following rule types: code_entry, text_input,
67
+ * link_click, external_rule, connect_wallet, check_in, connected_twitter,
25
68
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
26
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
69
+ * drip_x_text_in_comment, drip_x_tweet, connected_phone, instagram_post,
70
+ * instagram_follow, connected_steam, steam_wishlist, connected_epic,
71
+ * connected_email, profile_completed, connected_telegram, telegram_messages,
72
+ * telegram_join, connected_discord, discord_member, DiscordMessages, discord_join,
73
+ * discord_role_grant, quiz, poll, TokenHold, token_hold_erc20, connected_github,
74
+ * github_repo_star, github_repo_fork, github_repo_collaborator, connected_youtube,
75
+ * youtube_subscribers, youtube_comment, connected_reddit, reddit_comment,
76
+ * connected_instagram, points_airdrop, shopify_spend, swap, connected_tiktok,
77
+ * tiktok_post, tiktok_follow, post_impressions, stratus_function,
78
+ * dapps_by_gas_spent, dapps_by_active_users, dapps_by_new_users
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const response = await client.loyalty.rules.complete(
83
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
84
+ * );
85
+ * ```
27
86
  */
28
87
  complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
29
88
  complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
30
89
  /**
31
- * This will return the processing status of quests for a specific user
90
+ * This will return the processing status of quests for a specific user and also
91
+ * the progress of the loyalty rule
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const response = await client.loyalty.rules.getStatus();
96
+ * ```
32
97
  */
33
- getStatus(query: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
98
+ getStatus(query?: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
99
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
34
100
  }
35
101
  export interface RuleCreateResponse {
36
102
  id: string;
@@ -53,7 +119,7 @@ export interface RuleCreateResponse {
53
119
  /**
54
120
  * Execution frequency of the loyalty rule
55
121
  */
56
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
122
+ frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
57
123
  /**
58
124
  * Unique identifier for the loyalty currency
59
125
  */
@@ -77,7 +143,7 @@ export interface RuleCreateResponse {
77
143
  /**
78
144
  * Type of loyalty rule being created
79
145
  */
80
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
146
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post' | 'instagram_follow' | 'connected_phone' | 'dapps_by_gas_spent' | 'dapps_by_active_users' | 'dapps_by_new_users' | 'dapps_by_transaction_count' | 'dapps_by_user_retention';
81
147
  /**
82
148
  * Unique identifier for the associated website
83
149
  */
@@ -86,6 +152,10 @@ export interface RuleCreateResponse {
86
152
  * URL of the background asset to be displayed
87
153
  */
88
154
  backgroundAssetUrl?: string;
155
+ /**
156
+ * The type of claim for the reward
157
+ */
158
+ claimType?: 'manual' | 'auto' | null;
89
159
  /**
90
160
  * Blockchain address of the associated collection
91
161
  */
@@ -94,6 +164,10 @@ export interface RuleCreateResponse {
94
164
  * List of associated collections
95
165
  */
96
166
  collections?: Array<RuleCreateResponse.Collection> | null;
167
+ /**
168
+ * The IDs of the contracts
169
+ */
170
+ contractIds?: Array<string> | null;
97
171
  /**
98
172
  * URL for fetching custom rewards
99
173
  */
@@ -102,10 +176,28 @@ export interface RuleCreateResponse {
102
176
  * URL for uploading custom rewards via CSV
103
177
  */
104
178
  customRewardsCsvUrl?: string | null;
179
+ /**
180
+ * Reward based on data usage within the last day, week, or month. Leave it empty
181
+ * for all time usage.
182
+ */
183
+ dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
184
+ /**
185
+ * Filter dApps by deployment age before ranking.
186
+ */
187
+ dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
105
188
  /**
106
189
  * Optional detailed description of the rule
107
190
  */
108
191
  description?: string;
192
+ duplicatedFromId?: string | null;
193
+ /**
194
+ * ID of the external integration
195
+ */
196
+ externalIntegrationId?: string | null;
197
+ /**
198
+ * Optional stratus function id for the rule
199
+ */
200
+ functionId?: string | null;
109
201
  /**
110
202
  * Whether to hide this rule in the user interface
111
203
  */
@@ -113,15 +205,33 @@ export interface RuleCreateResponse {
113
205
  /**
114
206
  * Interval between rule executions
115
207
  */
116
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
208
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
117
209
  /**
118
210
  * Whether this rule is mandatory
119
211
  */
120
212
  isRequired?: boolean;
213
+ /**
214
+ * Unique identifier for the loyalty badge
215
+ */
216
+ loyaltyBadgeId?: string | null;
121
217
  /**
122
218
  * Unique identifier for the loyalty rule group
123
219
  */
124
220
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
221
+ /**
222
+ * URL for uploading loyalty user allotment via CSV
223
+ */
224
+ loyaltyUserAllotmentCsvUrl?: string;
225
+ /**
226
+ * The interval for the max amount. Available for the smart contract and external
227
+ * rules.
228
+ */
229
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
230
+ /**
231
+ * The maximum amount of points a user can earn per interval. Available for the
232
+ * smart contract and external rules.
233
+ */
234
+ maxAmountPerInterval?: number | null;
125
235
  /**
126
236
  * URL of the media to be displayed
127
237
  */
@@ -129,25 +239,51 @@ export interface RuleCreateResponse {
129
239
  /**
130
240
  * Blockchain network where the rule will apply
131
241
  */
132
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
242
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
133
243
  /**
134
244
  * OAuth credentials associated with the rule
135
245
  */
136
246
  oauthCredentialsId?: string | null;
247
+ /**
248
+ * The lifetime of the reward
249
+ */
250
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
137
251
  /**
138
252
  * Type of reward issued by the rule
139
253
  */
140
- rewardType?: 'points' | 'multiplier';
254
+ rewardType?: 'points' | 'multiplier' | 'badge';
255
+ /**
256
+ * URL of the Shopify store
257
+ */
258
+ shopifyStoreUrl?: string | null;
141
259
  /**
142
- * Identifier for associated subscriptions
260
+ * Whether to show this rule before the start time
143
261
  */
144
- subscriptionIdentifier?: string | null;
262
+ showBeforeStart?: boolean;
263
+ /**
264
+ * Optional stratus subscription id for the rule
265
+ */
266
+ subscriptionId?: string | null;
145
267
  }
146
268
  export declare namespace RuleCreateResponse {
147
269
  /**
148
270
  * Additional metadata for the loyalty rule
149
271
  */
150
272
  interface Metadata {
273
+ /**
274
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
275
+ * only.
276
+ */
277
+ allowMultipleRedemptions?: boolean;
278
+ /**
279
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
280
+ * any rule completions count as check-in.
281
+ */
282
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
283
+ /**
284
+ * Number of tokens per batch.
285
+ */
286
+ batchSize?: number | null;
151
287
  /**
152
288
  * Text displayed on the action button.
153
289
  */
@@ -167,7 +303,7 @@ export declare namespace RuleCreateResponse {
167
303
  /**
168
304
  * Text to check in the Twitter post, username, or bio.
169
305
  */
170
- checkText?: string | null;
306
+ checkText?: string | Array<string> | null;
171
307
  /**
172
308
  * Array of collections associated with the rule.
173
309
  */
@@ -175,7 +311,13 @@ export declare namespace RuleCreateResponse {
175
311
  /**
176
312
  * Conditions for completing the profile.
177
313
  */
178
- completeProfileConditions?: Record<string, boolean> | null;
314
+ completeProfileConditions?: {
315
+ [key: string]: boolean;
316
+ } | null;
317
+ /**
318
+ * Description of the external rule condition (only for external rules)
319
+ */
320
+ conditionDescription?: string;
179
321
  /**
180
322
  * Object containing details for the call-to-action.
181
323
  */
@@ -184,6 +326,10 @@ export declare namespace RuleCreateResponse {
184
326
  * API key for custom rewards integration.
185
327
  */
186
328
  customRewardsApiKey?: string;
329
+ /**
330
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
331
+ */
332
+ directRpc?: boolean;
187
333
  /**
188
334
  * Array of Discord servers, channels, and roles to join.
189
335
  */
@@ -204,6 +350,10 @@ export declare namespace RuleCreateResponse {
204
350
  * Flag indicating whether the verified multiplier is enabled.
205
351
  */
206
352
  enableVerifiedMultiplier?: boolean;
353
+ /**
354
+ * Type of ERC20 token for the loyalty rule.
355
+ */
356
+ erc20Type?: 'erc20' | 'native';
207
357
  /**
208
358
  * Fill source of the order for the token sale
209
359
  */
@@ -212,6 +362,14 @@ export declare namespace RuleCreateResponse {
212
362
  * Percentage reward given to a user for their first referral.
213
363
  */
214
364
  firstReferralReward?: number | null;
365
+ /**
366
+ * Name of the GitHub branch to check for PR merge.
367
+ */
368
+ githubBranchName?: string | null;
369
+ /**
370
+ * URL of the GitHub repository to check for star.
371
+ */
372
+ githubRepoUrl?: string | null;
215
373
  /**
216
374
  * Flag indicating whether the fill source is included.
217
375
  */
@@ -220,10 +378,6 @@ export declare namespace RuleCreateResponse {
220
378
  * Indicates if the item has never been sold.
221
379
  */
222
380
  hasNeverSold?: boolean;
223
- /**
224
- * Flag indicating whether the order source is included.
225
- */
226
- hasOrderSource?: boolean;
227
381
  /**
228
382
  * Indicates if the full royalty has been paid for items.
229
383
  */
@@ -240,10 +394,18 @@ export declare namespace RuleCreateResponse {
240
394
  * URL of the image associated with the rule.
241
395
  */
242
396
  imageUrl?: string | null;
397
+ /**
398
+ * If enabled, the first transaction done on the platform will complete this rule
399
+ */
400
+ isCheckInOnEveryTxn?: boolean;
243
401
  /**
244
402
  * Indicates if the multiplier has been applied to rewards.
245
403
  */
246
404
  isMultiplierApplied?: boolean;
405
+ /**
406
+ * Flag indicating if the rule is restricted to new users.
407
+ */
408
+ isRestrictedToNewUsers?: boolean;
247
409
  /**
248
410
  * Flag indicating if rewards are applied retroactively.
249
411
  */
@@ -256,10 +418,18 @@ export declare namespace RuleCreateResponse {
256
418
  * Optional link associated with the metadata.
257
419
  */
258
420
  link?: string | null;
421
+ /**
422
+ * Liquidity pool details.
423
+ */
424
+ liquidity?: Metadata.Liquidity;
259
425
  /**
260
426
  * Maximum quantity constraint for token holding.
261
427
  */
262
428
  maxQty?: number | null;
429
+ /**
430
+ * Minimum follower count for the rule. Accepts both number and string values.
431
+ */
432
+ minimumFollowerCount?: number | null;
263
433
  /**
264
434
  * Minimum quantity constraint for token holding.
265
435
  */
@@ -289,17 +459,33 @@ export declare namespace RuleCreateResponse {
289
459
  */
290
460
  onlyRewardSingleTokenOwnership?: boolean | null;
291
461
  /**
292
- * Order source of the order for the token sale
462
+ * Pre-generated text template that will be used to prefill the post content.
293
463
  */
294
- orderSource?: string;
464
+ preGeneratedPostText?: string | null;
295
465
  /**
296
466
  * Promotional code associated with the rule.
297
467
  */
298
468
  promoCode?: string;
469
+ /**
470
+ * URL of the CSV file containing promo codes.
471
+ */
472
+ promoCodeCsvUrl?: string;
473
+ /**
474
+ * Numbers of the promotional code to be generated.
475
+ */
476
+ promoCodeLength?: number | null;
477
+ /**
478
+ * Type of the promotional code.
479
+ */
480
+ promoCodeType?: 'code' | 'csv' | 'generate';
299
481
  /**
300
482
  * Array defining ranges and corresponding rewards.
301
483
  */
302
484
  range?: Array<Metadata.Range>;
485
+ /**
486
+ * ID of the Reddit post.
487
+ */
488
+ redditPostId?: string | null;
303
489
  /**
304
490
  * Object defining referral requirements.
305
491
  */
@@ -308,10 +494,61 @@ export declare namespace RuleCreateResponse {
308
494
  * Lump sum reward given to a referrer.
309
495
  */
310
496
  referrerReward?: number | null;
497
+ /**
498
+ * Loyalty currency ID of the referrer reward.
499
+ */
500
+ referrerRewardLoyaltyCurrencyId?: string | null;
501
+ /**
502
+ * Flag indicating if the post link is required.
503
+ */
504
+ requirePostLink?: boolean | null;
505
+ /**
506
+ * Flag indicating if media metadata is required.
507
+ */
508
+ requirePostMediaLink?: boolean | null;
509
+ /**
510
+ * If enabled, the progress tracking row will be deleted after a successful claim,
511
+ * allowing the user to re-earn the rule.
512
+ */
513
+ resetProgressOnClaim?: boolean | null;
514
+ /**
515
+ * Flag indicating if the rule can also reward badges per range.
516
+ */
517
+ rewardBadgePerRange?: boolean;
518
+ /**
519
+ * Flag indicating if the reward is rewarded by batch.
520
+ */
521
+ rewardByBatch?: boolean | null;
522
+ /**
523
+ * Criteria to evaluate the reward.
524
+ */
525
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
526
+ /**
527
+ * Flag indicating if the reward is rewarded per action.
528
+ */
529
+ rewardPerAction?: boolean | null;
311
530
  /**
312
531
  * Flag indicating if rewards are given per impression.
313
532
  */
314
533
  rewardPerImpression?: boolean | null;
534
+ /**
535
+ * Flag indicating if the rule should reward based on value of traded tokens
536
+ * instead of count.
537
+ */
538
+ rewardPerValue?: boolean;
539
+ /**
540
+ * Flag indicating if the rule should reward quality posts.
541
+ */
542
+ rewardQualityPosts?: boolean;
543
+ robinhoodSymbols?: Array<string> | null;
544
+ /**
545
+ * Wallet address of the user can only be used if userId is not provided
546
+ */
547
+ royaltyAddress?: string;
548
+ /**
549
+ * Royalty percentage of the item.
550
+ */
551
+ royaltyPercentage?: number;
315
552
  /**
316
553
  * Currency associated with sales.
317
554
  */
@@ -335,7 +572,7 @@ export declare namespace RuleCreateResponse {
335
572
  /**
336
573
  * Social media platform associated with the rule.
337
574
  */
338
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
575
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
339
576
  /**
340
577
  * URL of the social platform's logo.
341
578
  */
@@ -344,10 +581,18 @@ export declare namespace RuleCreateResponse {
344
581
  * Name of the social platform.
345
582
  */
346
583
  socialPlatformName?: string | null;
584
+ /**
585
+ * ID of the Steam app.
586
+ */
587
+ steamAppId?: string | null;
347
588
  /**
348
589
  * Array of streak milestones and corresponding rewards.
349
590
  */
350
591
  streakArray?: Array<Metadata.StreakArray> | null;
592
+ /**
593
+ * Metadata for swap loyalty rules
594
+ */
595
+ swap?: Metadata.Swap;
351
596
  /**
352
597
  * ID of the Telegram channel.
353
598
  */
@@ -360,6 +605,11 @@ export declare namespace RuleCreateResponse {
360
605
  * Flag indicating if all contracts are tracked.
361
606
  */
362
607
  trackAllContracts?: boolean | null;
608
+ /**
609
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
610
+ * completed once the progress is 100%.
611
+ */
612
+ trackProgress?: boolean | null;
363
613
  /**
364
614
  * URL of the associated Twitter account.
365
615
  */
@@ -395,7 +645,15 @@ export declare namespace RuleCreateResponse {
395
645
  /**
396
646
  * Type of wallet associated with the rule.
397
647
  */
398
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
648
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
649
+ /**
650
+ * ID of the Youtube channel.
651
+ */
652
+ youtubeChannelId?: string | null;
653
+ /**
654
+ * ID of the Youtube video.
655
+ */
656
+ youtubeVideoId?: string | null;
399
657
  }
400
658
  namespace Metadata {
401
659
  interface Collection {
@@ -410,7 +668,7 @@ export declare namespace RuleCreateResponse {
410
668
  /**
411
669
  * Blockchain network of the collection.
412
670
  */
413
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
671
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
414
672
  }
415
673
  /**
416
674
  * Object containing details for the call-to-action.
@@ -475,6 +733,49 @@ export declare namespace RuleCreateResponse {
475
733
  */
476
734
  id: string;
477
735
  }
736
+ /**
737
+ * Liquidity pool details.
738
+ */
739
+ interface Liquidity {
740
+ /**
741
+ * Calculation type of the liquidity pool.
742
+ */
743
+ calculationType?: 'fixed' | 'custom';
744
+ /**
745
+ * Custom function to calculate the the reward amount based on the liquidity
746
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
747
+ * USD.
748
+ */
749
+ customFunction?: string;
750
+ /**
751
+ * Liquidity provided per day in USD
752
+ */
753
+ liquidityPerDay?: number;
754
+ /**
755
+ * Blockchain network of the liquidity pool.
756
+ */
757
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
758
+ /**
759
+ * Indicates if only in-range liquidity is rewarded.
760
+ */
761
+ onlyRewardInRangeLiquidity?: boolean;
762
+ /**
763
+ * Array of liquidity pools associated with the rule.
764
+ */
765
+ pools?: Array<Liquidity.Pool>;
766
+ /**
767
+ * Protocol of the liquidity pool.
768
+ */
769
+ protocol?: string;
770
+ }
771
+ namespace Liquidity {
772
+ interface Pool {
773
+ /**
774
+ * Unique identifier of the liquidity pool.
775
+ */
776
+ id: string;
777
+ }
778
+ }
478
779
  interface Range {
479
780
  /**
480
781
  * Reward amount for this range.
@@ -488,6 +789,14 @@ export declare namespace RuleCreateResponse {
488
789
  * Start value of the range.
489
790
  */
490
791
  startRange: number;
792
+ /**
793
+ * ID of the loyalty badge for this range.
794
+ */
795
+ loyaltyBadgeId?: string;
796
+ /**
797
+ * Amount of the loyalty multiplier for this range.
798
+ */
799
+ loyaltyMultiplierAmount?: number;
491
800
  }
492
801
  /**
493
802
  * Object defining referral requirements.
@@ -531,18 +840,14 @@ export declare namespace RuleCreateResponse {
531
840
  * Object containing details of the associated smart contract.
532
841
  */
533
842
  interface SmartContract {
534
- /**
535
- * ABI of the smart contract.
536
- */
537
- abi?: string | null;
538
843
  /**
539
844
  * Mapping of addresses for the smart contract.
540
845
  */
541
846
  addressMapping?: string | null;
542
847
  /**
543
- * Array of bonus details applied to the rule.
848
+ * Object containing details of the amount multiplier from the event.
544
849
  */
545
- bonus?: Array<SmartContract.Bonus> | null;
850
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
546
851
  /**
547
852
  * ID of the smart contract.
548
853
  */
@@ -551,58 +856,28 @@ export declare namespace RuleCreateResponse {
551
856
  * Criteria to evaluate the smart contract event.
552
857
  */
553
858
  criteria?: 'everyEvent' | 'byParameter' | null;
554
- /**
555
- * Time range applied to the rule.
556
- */
557
- customRange?: SmartContract.CustomRange | null;
558
859
  /**
559
860
  * Event emitted by the smart contract.
560
861
  */
561
862
  event?: string | null;
562
- /**
563
- * Maximum value allowed for the parameter.
564
- */
565
- max?: number | null;
566
863
  /**
567
864
  * Array of parameters for the smart contract.
568
865
  */
569
866
  params?: Array<SmartContract.Param> | null;
570
867
  /**
571
- * Flag indicating if a bonus is applied.
572
- */
573
- withBonus?: boolean | null;
574
- /**
575
- * Flag indicating if a custom range is applied.
868
+ * Type of the smart contract interaction.
576
869
  */
577
- withCustomRange?: boolean | null;
578
- /**
579
- * Flag indicating if a maximum limit is applied.
580
- */
581
- withMax?: boolean | null;
870
+ type?: 'function' | 'event' | null;
582
871
  }
583
872
  namespace SmartContract {
584
- interface Bonus {
585
- /**
586
- * Amount of the bonus.
587
- */
588
- amount?: number | null;
589
- /**
590
- * Number of times the bonus is applied.
591
- */
592
- count?: number | null;
593
- }
594
873
  /**
595
- * Time range applied to the rule.
874
+ * Object containing details of the amount multiplier from the event.
596
875
  */
597
- interface CustomRange {
876
+ interface AmountMultiplier {
598
877
  /**
599
- * End time of the custom range.
878
+ * Mapping of the value for the smart contract.
600
879
  */
601
- endsAt?: string | null;
602
- /**
603
- * Start time of the custom range.
604
- */
605
- startsAt?: string | null;
880
+ valueMapping?: string | null;
606
881
  }
607
882
  interface Param {
608
883
  /**
@@ -639,6 +914,42 @@ export declare namespace RuleCreateResponse {
639
914
  */
640
915
  streakMilestone: number;
641
916
  }
917
+ /**
918
+ * Metadata for swap loyalty rules
919
+ */
920
+ interface Swap {
921
+ from?: Swap.From;
922
+ provider?: 'any' | 'relay' | 'lifi';
923
+ relayReferrerId?: string;
924
+ requireCrossChainSwap?: boolean;
925
+ to?: Swap.To;
926
+ }
927
+ namespace Swap {
928
+ interface From {
929
+ chain?: 'any' | number | string;
930
+ mode?: 'any' | 'specific';
931
+ tokens?: Array<From.Token>;
932
+ trackAmount?: boolean;
933
+ }
934
+ namespace From {
935
+ interface Token {
936
+ address: string;
937
+ chainId: string;
938
+ }
939
+ }
940
+ interface To {
941
+ chain?: 'any' | number | string;
942
+ mode?: 'any' | 'specific';
943
+ tokens?: Array<To.Token>;
944
+ trackAmount?: boolean;
945
+ }
946
+ namespace To {
947
+ interface Token {
948
+ address: string;
949
+ chainId: string;
950
+ }
951
+ }
952
+ }
642
953
  }
643
954
  interface Collection {
644
955
  /**
@@ -648,7 +959,11 @@ export declare namespace RuleCreateResponse {
648
959
  /**
649
960
  * Blockchain network for the collection
650
961
  */
651
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
962
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
963
+ /**
964
+ * Symbol of the collection.
965
+ */
966
+ symbol?: string;
652
967
  }
653
968
  }
654
969
  export interface RuleUpdateResponse {
@@ -665,14 +980,22 @@ export interface RuleUpdateResponse {
665
980
  * Name of the loyalty rule
666
981
  */
667
982
  name: string;
983
+ /**
984
+ * The type of claim for the reward
985
+ */
986
+ claimType?: 'manual' | 'auto' | null;
668
987
  /**
669
988
  * Blockchain address of the associated collection
670
989
  */
671
- collectionAddress?: string;
990
+ collectionAddress?: string | null;
672
991
  /**
673
992
  * List of associated collections
674
993
  */
675
994
  collections?: Array<RuleUpdateResponse.Collection> | null;
995
+ /**
996
+ * The IDs of the contracts
997
+ */
998
+ contractIds?: Array<string> | null;
676
999
  /**
677
1000
  * API URL for custom rewards integration
678
1001
  */
@@ -681,6 +1004,20 @@ export interface RuleUpdateResponse {
681
1004
  * URL for uploading custom rewards via CSV
682
1005
  */
683
1006
  customRewardsCsvUrl?: string | null;
1007
+ /**
1008
+ * Reward based on data usage within the last day, week, or month. Leave it empty
1009
+ * for all time usage.
1010
+ */
1011
+ dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
1012
+ /**
1013
+ * Filter dApps by deployment age before ranking.
1014
+ */
1015
+ dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
1016
+ /**
1017
+ * Timestamp when the loyalty rule was deleted. Set to null to restore a deleted
1018
+ * rule.
1019
+ */
1020
+ deletedAt?: string | null;
684
1021
  /**
685
1022
  * Optional description of the loyalty rule
686
1023
  */
@@ -693,10 +1030,18 @@ export interface RuleUpdateResponse {
693
1030
  * Effective start time of the rule
694
1031
  */
695
1032
  effectiveStartTime?: string | null;
1033
+ /**
1034
+ * ID of the external integration
1035
+ */
1036
+ externalIntegrationId?: string | null;
696
1037
  /**
697
1038
  * Frequency of the rule execution
698
1039
  */
699
- frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1040
+ frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1041
+ /**
1042
+ * Optional stratus function id for the rule
1043
+ */
1044
+ functionId?: string | null;
700
1045
  /**
701
1046
  * Whether to hide this rule in the user interface
702
1047
  */
@@ -704,7 +1049,7 @@ export interface RuleUpdateResponse {
704
1049
  /**
705
1050
  * Time interval for recurring rule execution
706
1051
  */
707
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1052
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
708
1053
  /**
709
1054
  * Whether this rule is required for participation
710
1055
  */
@@ -713,6 +1058,16 @@ export interface RuleUpdateResponse {
713
1058
  * ID of the rule group section to associate with the rule
714
1059
  */
715
1060
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1061
+ /**
1062
+ * The interval for the max amount. Available for the smart contract and external
1063
+ * rules.
1064
+ */
1065
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1066
+ /**
1067
+ * The maximum amount of points a user can earn per interval. Available for the
1068
+ * smart contract and external rules.
1069
+ */
1070
+ maxAmountPerInterval?: number | null;
716
1071
  /**
717
1072
  * URL of the media to be displayed
718
1073
  */
@@ -724,23 +1079,35 @@ export interface RuleUpdateResponse {
724
1079
  /**
725
1080
  * Blockchain network where the rule will apply
726
1081
  */
727
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1082
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
728
1083
  /**
729
1084
  * ID for associated OAuth credentials
730
1085
  */
731
1086
  oauthCredentialsId?: string | null;
1087
+ /**
1088
+ * The lifetime of the reward
1089
+ */
1090
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
732
1091
  /**
733
1092
  * Type of reward issued by this rule
734
1093
  */
735
- rewardType?: 'points' | 'multiplier';
1094
+ rewardType?: 'points' | 'multiplier' | 'badge';
1095
+ /**
1096
+ * URL of the Shopify store
1097
+ */
1098
+ shopifyStoreUrl?: string | null;
1099
+ /**
1100
+ * Whether to show this rule before the start time
1101
+ */
1102
+ showBeforeStart?: boolean;
736
1103
  /**
737
1104
  * Start time for the loyalty rule
738
1105
  */
739
1106
  startTime?: string | null;
740
1107
  /**
741
- * Optional subscription identifier for the rule
1108
+ * Optional stratus subscription id for the rule
742
1109
  */
743
- subscriptionIdentifier?: string | null;
1110
+ subscriptionId?: string | null;
744
1111
  }
745
1112
  export declare namespace RuleUpdateResponse {
746
1113
  interface Collection {
@@ -751,12 +1118,30 @@ export declare namespace RuleUpdateResponse {
751
1118
  /**
752
1119
  * Blockchain network for the collection
753
1120
  */
754
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1121
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1122
+ /**
1123
+ * Symbol of the collection.
1124
+ */
1125
+ symbol?: string;
755
1126
  }
756
1127
  /**
757
1128
  * Additional metadata for the loyalty rule
758
1129
  */
759
1130
  interface Metadata {
1131
+ /**
1132
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
1133
+ * only.
1134
+ */
1135
+ allowMultipleRedemptions?: boolean;
1136
+ /**
1137
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
1138
+ * any rule completions count as check-in.
1139
+ */
1140
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
1141
+ /**
1142
+ * Number of tokens per batch.
1143
+ */
1144
+ batchSize?: number | null;
760
1145
  /**
761
1146
  * Text displayed on the action button.
762
1147
  */
@@ -776,7 +1161,7 @@ export declare namespace RuleUpdateResponse {
776
1161
  /**
777
1162
  * Text to check in the Twitter post, username, or bio.
778
1163
  */
779
- checkText?: string | null;
1164
+ checkText?: string | Array<string> | null;
780
1165
  /**
781
1166
  * Array of collections associated with the rule.
782
1167
  */
@@ -784,7 +1169,13 @@ export declare namespace RuleUpdateResponse {
784
1169
  /**
785
1170
  * Conditions for completing the profile.
786
1171
  */
787
- completeProfileConditions?: Record<string, boolean> | null;
1172
+ completeProfileConditions?: {
1173
+ [key: string]: boolean;
1174
+ } | null;
1175
+ /**
1176
+ * Description of the external rule condition (only for external rules)
1177
+ */
1178
+ conditionDescription?: string;
788
1179
  /**
789
1180
  * Object containing details for the call-to-action.
790
1181
  */
@@ -793,6 +1184,10 @@ export declare namespace RuleUpdateResponse {
793
1184
  * API key for custom rewards integration.
794
1185
  */
795
1186
  customRewardsApiKey?: string;
1187
+ /**
1188
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1189
+ */
1190
+ directRpc?: boolean;
796
1191
  /**
797
1192
  * Array of Discord servers, channels, and roles to join.
798
1193
  */
@@ -813,6 +1208,10 @@ export declare namespace RuleUpdateResponse {
813
1208
  * Flag indicating whether the verified multiplier is enabled.
814
1209
  */
815
1210
  enableVerifiedMultiplier?: boolean;
1211
+ /**
1212
+ * Type of ERC20 token for the loyalty rule.
1213
+ */
1214
+ erc20Type?: 'erc20' | 'native';
816
1215
  /**
817
1216
  * Fill source of the order for the token sale
818
1217
  */
@@ -821,6 +1220,14 @@ export declare namespace RuleUpdateResponse {
821
1220
  * Percentage reward given to a user for their first referral.
822
1221
  */
823
1222
  firstReferralReward?: number | null;
1223
+ /**
1224
+ * Name of the GitHub branch to check for PR merge.
1225
+ */
1226
+ githubBranchName?: string | null;
1227
+ /**
1228
+ * URL of the GitHub repository to check for star.
1229
+ */
1230
+ githubRepoUrl?: string | null;
824
1231
  /**
825
1232
  * Flag indicating whether the fill source is included.
826
1233
  */
@@ -829,10 +1236,6 @@ export declare namespace RuleUpdateResponse {
829
1236
  * Indicates if the item has never been sold.
830
1237
  */
831
1238
  hasNeverSold?: boolean;
832
- /**
833
- * Flag indicating whether the order source is included.
834
- */
835
- hasOrderSource?: boolean;
836
1239
  /**
837
1240
  * Indicates if the full royalty has been paid for items.
838
1241
  */
@@ -849,10 +1252,18 @@ export declare namespace RuleUpdateResponse {
849
1252
  * URL of the image associated with the rule.
850
1253
  */
851
1254
  imageUrl?: string | null;
1255
+ /**
1256
+ * If enabled, the first transaction done on the platform will complete this rule
1257
+ */
1258
+ isCheckInOnEveryTxn?: boolean;
852
1259
  /**
853
1260
  * Indicates if the multiplier has been applied to rewards.
854
1261
  */
855
1262
  isMultiplierApplied?: boolean;
1263
+ /**
1264
+ * Flag indicating if the rule is restricted to new users.
1265
+ */
1266
+ isRestrictedToNewUsers?: boolean;
856
1267
  /**
857
1268
  * Flag indicating if rewards are applied retroactively.
858
1269
  */
@@ -865,10 +1276,18 @@ export declare namespace RuleUpdateResponse {
865
1276
  * Optional link associated with the metadata.
866
1277
  */
867
1278
  link?: string | null;
1279
+ /**
1280
+ * Liquidity pool details.
1281
+ */
1282
+ liquidity?: Metadata.Liquidity;
868
1283
  /**
869
1284
  * Maximum quantity constraint for token holding.
870
1285
  */
871
1286
  maxQty?: number | null;
1287
+ /**
1288
+ * Minimum follower count for the rule. Accepts both number and string values.
1289
+ */
1290
+ minimumFollowerCount?: number | null;
872
1291
  /**
873
1292
  * Minimum quantity constraint for token holding.
874
1293
  */
@@ -898,17 +1317,33 @@ export declare namespace RuleUpdateResponse {
898
1317
  */
899
1318
  onlyRewardSingleTokenOwnership?: boolean | null;
900
1319
  /**
901
- * Order source of the order for the token sale
1320
+ * Pre-generated text template that will be used to prefill the post content.
902
1321
  */
903
- orderSource?: string;
1322
+ preGeneratedPostText?: string | null;
904
1323
  /**
905
1324
  * Promotional code associated with the rule.
906
1325
  */
907
1326
  promoCode?: string;
1327
+ /**
1328
+ * URL of the CSV file containing promo codes.
1329
+ */
1330
+ promoCodeCsvUrl?: string;
1331
+ /**
1332
+ * Numbers of the promotional code to be generated.
1333
+ */
1334
+ promoCodeLength?: number | null;
1335
+ /**
1336
+ * Type of the promotional code.
1337
+ */
1338
+ promoCodeType?: 'code' | 'csv' | 'generate';
908
1339
  /**
909
1340
  * Array defining ranges and corresponding rewards.
910
1341
  */
911
1342
  range?: Array<Metadata.Range>;
1343
+ /**
1344
+ * ID of the Reddit post.
1345
+ */
1346
+ redditPostId?: string | null;
912
1347
  /**
913
1348
  * Object defining referral requirements.
914
1349
  */
@@ -917,10 +1352,61 @@ export declare namespace RuleUpdateResponse {
917
1352
  * Lump sum reward given to a referrer.
918
1353
  */
919
1354
  referrerReward?: number | null;
1355
+ /**
1356
+ * Loyalty currency ID of the referrer reward.
1357
+ */
1358
+ referrerRewardLoyaltyCurrencyId?: string | null;
1359
+ /**
1360
+ * Flag indicating if the post link is required.
1361
+ */
1362
+ requirePostLink?: boolean | null;
1363
+ /**
1364
+ * Flag indicating if media metadata is required.
1365
+ */
1366
+ requirePostMediaLink?: boolean | null;
1367
+ /**
1368
+ * If enabled, the progress tracking row will be deleted after a successful claim,
1369
+ * allowing the user to re-earn the rule.
1370
+ */
1371
+ resetProgressOnClaim?: boolean | null;
1372
+ /**
1373
+ * Flag indicating if the rule can also reward badges per range.
1374
+ */
1375
+ rewardBadgePerRange?: boolean;
1376
+ /**
1377
+ * Flag indicating if the reward is rewarded by batch.
1378
+ */
1379
+ rewardByBatch?: boolean | null;
1380
+ /**
1381
+ * Criteria to evaluate the reward.
1382
+ */
1383
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1384
+ /**
1385
+ * Flag indicating if the reward is rewarded per action.
1386
+ */
1387
+ rewardPerAction?: boolean | null;
920
1388
  /**
921
1389
  * Flag indicating if rewards are given per impression.
922
1390
  */
923
1391
  rewardPerImpression?: boolean | null;
1392
+ /**
1393
+ * Flag indicating if the rule should reward based on value of traded tokens
1394
+ * instead of count.
1395
+ */
1396
+ rewardPerValue?: boolean;
1397
+ /**
1398
+ * Flag indicating if the rule should reward quality posts.
1399
+ */
1400
+ rewardQualityPosts?: boolean;
1401
+ robinhoodSymbols?: Array<string> | null;
1402
+ /**
1403
+ * Wallet address of the user can only be used if userId is not provided
1404
+ */
1405
+ royaltyAddress?: string;
1406
+ /**
1407
+ * Royalty percentage of the item.
1408
+ */
1409
+ royaltyPercentage?: number;
924
1410
  /**
925
1411
  * Currency associated with sales.
926
1412
  */
@@ -944,7 +1430,7 @@ export declare namespace RuleUpdateResponse {
944
1430
  /**
945
1431
  * Social media platform associated with the rule.
946
1432
  */
947
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
1433
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
948
1434
  /**
949
1435
  * URL of the social platform's logo.
950
1436
  */
@@ -953,10 +1439,18 @@ export declare namespace RuleUpdateResponse {
953
1439
  * Name of the social platform.
954
1440
  */
955
1441
  socialPlatformName?: string | null;
1442
+ /**
1443
+ * ID of the Steam app.
1444
+ */
1445
+ steamAppId?: string | null;
956
1446
  /**
957
1447
  * Array of streak milestones and corresponding rewards.
958
1448
  */
959
1449
  streakArray?: Array<Metadata.StreakArray> | null;
1450
+ /**
1451
+ * Metadata for swap loyalty rules
1452
+ */
1453
+ swap?: Metadata.Swap;
960
1454
  /**
961
1455
  * ID of the Telegram channel.
962
1456
  */
@@ -969,6 +1463,11 @@ export declare namespace RuleUpdateResponse {
969
1463
  * Flag indicating if all contracts are tracked.
970
1464
  */
971
1465
  trackAllContracts?: boolean | null;
1466
+ /**
1467
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1468
+ * completed once the progress is 100%.
1469
+ */
1470
+ trackProgress?: boolean | null;
972
1471
  /**
973
1472
  * URL of the associated Twitter account.
974
1473
  */
@@ -1004,7 +1503,15 @@ export declare namespace RuleUpdateResponse {
1004
1503
  /**
1005
1504
  * Type of wallet associated with the rule.
1006
1505
  */
1007
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1506
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
1507
+ /**
1508
+ * ID of the Youtube channel.
1509
+ */
1510
+ youtubeChannelId?: string | null;
1511
+ /**
1512
+ * ID of the Youtube video.
1513
+ */
1514
+ youtubeVideoId?: string | null;
1008
1515
  }
1009
1516
  namespace Metadata {
1010
1517
  interface Collection {
@@ -1019,7 +1526,7 @@ export declare namespace RuleUpdateResponse {
1019
1526
  /**
1020
1527
  * Blockchain network of the collection.
1021
1528
  */
1022
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1529
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1023
1530
  }
1024
1531
  /**
1025
1532
  * Object containing details for the call-to-action.
@@ -1084,21 +1591,72 @@ export declare namespace RuleUpdateResponse {
1084
1591
  */
1085
1592
  id: string;
1086
1593
  }
1087
- interface Range {
1594
+ /**
1595
+ * Liquidity pool details.
1596
+ */
1597
+ interface Liquidity {
1088
1598
  /**
1089
- * Reward amount for this range.
1599
+ * Calculation type of the liquidity pool.
1090
1600
  */
1091
- amount: number;
1601
+ calculationType?: 'fixed' | 'custom';
1092
1602
  /**
1093
- * End value of the range.
1603
+ * Custom function to calculate the the reward amount based on the liquidity
1604
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1605
+ * USD.
1094
1606
  */
1095
- endRange: number;
1607
+ customFunction?: string;
1096
1608
  /**
1097
- * Start value of the range.
1609
+ * Liquidity provided per day in USD
1098
1610
  */
1099
- startRange: number;
1100
- }
1101
- /**
1611
+ liquidityPerDay?: number;
1612
+ /**
1613
+ * Blockchain network of the liquidity pool.
1614
+ */
1615
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1616
+ /**
1617
+ * Indicates if only in-range liquidity is rewarded.
1618
+ */
1619
+ onlyRewardInRangeLiquidity?: boolean;
1620
+ /**
1621
+ * Array of liquidity pools associated with the rule.
1622
+ */
1623
+ pools?: Array<Liquidity.Pool>;
1624
+ /**
1625
+ * Protocol of the liquidity pool.
1626
+ */
1627
+ protocol?: string;
1628
+ }
1629
+ namespace Liquidity {
1630
+ interface Pool {
1631
+ /**
1632
+ * Unique identifier of the liquidity pool.
1633
+ */
1634
+ id: string;
1635
+ }
1636
+ }
1637
+ interface Range {
1638
+ /**
1639
+ * Reward amount for this range.
1640
+ */
1641
+ amount: number;
1642
+ /**
1643
+ * End value of the range.
1644
+ */
1645
+ endRange: number;
1646
+ /**
1647
+ * Start value of the range.
1648
+ */
1649
+ startRange: number;
1650
+ /**
1651
+ * ID of the loyalty badge for this range.
1652
+ */
1653
+ loyaltyBadgeId?: string;
1654
+ /**
1655
+ * Amount of the loyalty multiplier for this range.
1656
+ */
1657
+ loyaltyMultiplierAmount?: number;
1658
+ }
1659
+ /**
1102
1660
  * Object defining referral requirements.
1103
1661
  */
1104
1662
  interface ReferralRequirements {
@@ -1140,18 +1698,14 @@ export declare namespace RuleUpdateResponse {
1140
1698
  * Object containing details of the associated smart contract.
1141
1699
  */
1142
1700
  interface SmartContract {
1143
- /**
1144
- * ABI of the smart contract.
1145
- */
1146
- abi?: string | null;
1147
1701
  /**
1148
1702
  * Mapping of addresses for the smart contract.
1149
1703
  */
1150
1704
  addressMapping?: string | null;
1151
1705
  /**
1152
- * Array of bonus details applied to the rule.
1706
+ * Object containing details of the amount multiplier from the event.
1153
1707
  */
1154
- bonus?: Array<SmartContract.Bonus> | null;
1708
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1155
1709
  /**
1156
1710
  * ID of the smart contract.
1157
1711
  */
@@ -1160,157 +1714,976 @@ export declare namespace RuleUpdateResponse {
1160
1714
  * Criteria to evaluate the smart contract event.
1161
1715
  */
1162
1716
  criteria?: 'everyEvent' | 'byParameter' | null;
1163
- /**
1164
- * Time range applied to the rule.
1165
- */
1166
- customRange?: SmartContract.CustomRange | null;
1167
1717
  /**
1168
1718
  * Event emitted by the smart contract.
1169
1719
  */
1170
1720
  event?: string | null;
1171
- /**
1172
- * Maximum value allowed for the parameter.
1173
- */
1174
- max?: number | null;
1175
1721
  /**
1176
1722
  * Array of parameters for the smart contract.
1177
1723
  */
1178
1724
  params?: Array<SmartContract.Param> | null;
1179
1725
  /**
1180
- * Flag indicating if a bonus is applied.
1726
+ * Type of the smart contract interaction.
1727
+ */
1728
+ type?: 'function' | 'event' | null;
1729
+ }
1730
+ namespace SmartContract {
1731
+ /**
1732
+ * Object containing details of the amount multiplier from the event.
1733
+ */
1734
+ interface AmountMultiplier {
1735
+ /**
1736
+ * Mapping of the value for the smart contract.
1737
+ */
1738
+ valueMapping?: string | null;
1739
+ }
1740
+ interface Param {
1741
+ /**
1742
+ * Condition to check for the parameter.
1743
+ */
1744
+ condition?: string | null;
1745
+ /**
1746
+ * Name of the smart contract parameter.
1747
+ */
1748
+ name?: string | null;
1749
+ /**
1750
+ * Value of the parameter.
1751
+ */
1752
+ value?: string | null;
1753
+ }
1754
+ }
1755
+ interface SnapshotProposal {
1756
+ /**
1757
+ * ID of the snapshot proposal.
1758
+ */
1759
+ id: string;
1760
+ /**
1761
+ * Space associated with the snapshot proposal.
1762
+ */
1763
+ space: string;
1764
+ }
1765
+ interface StreakArray {
1766
+ /**
1767
+ * Reward amount for achieving the streak milestone.
1768
+ */
1769
+ streakAmount: number;
1770
+ /**
1771
+ * Milestone required to achieve the streak.
1772
+ */
1773
+ streakMilestone: number;
1774
+ }
1775
+ /**
1776
+ * Metadata for swap loyalty rules
1777
+ */
1778
+ interface Swap {
1779
+ from?: Swap.From;
1780
+ provider?: 'any' | 'relay' | 'lifi';
1781
+ relayReferrerId?: string;
1782
+ requireCrossChainSwap?: boolean;
1783
+ to?: Swap.To;
1784
+ }
1785
+ namespace Swap {
1786
+ interface From {
1787
+ chain?: 'any' | number | string;
1788
+ mode?: 'any' | 'specific';
1789
+ tokens?: Array<From.Token>;
1790
+ trackAmount?: boolean;
1791
+ }
1792
+ namespace From {
1793
+ interface Token {
1794
+ address: string;
1795
+ chainId: string;
1796
+ }
1797
+ }
1798
+ interface To {
1799
+ chain?: 'any' | number | string;
1800
+ mode?: 'any' | 'specific';
1801
+ tokens?: Array<To.Token>;
1802
+ trackAmount?: boolean;
1803
+ }
1804
+ namespace To {
1805
+ interface Token {
1806
+ address: string;
1807
+ chainId: string;
1808
+ }
1809
+ }
1810
+ }
1811
+ }
1812
+ }
1813
+ export interface RuleListResponse {
1814
+ data: Array<RuleListResponse.Data>;
1815
+ hasNextPage: boolean;
1816
+ }
1817
+ export declare namespace RuleListResponse {
1818
+ interface Data {
1819
+ /**
1820
+ * Unique identifier for the loyalty rule
1821
+ */
1822
+ id: string;
1823
+ /**
1824
+ * Amount associated with the loyalty rule
1825
+ */
1826
+ amount: number | null;
1827
+ /**
1828
+ * Timestamp when the loyalty rule was created
1829
+ */
1830
+ createdAt: string;
1831
+ /**
1832
+ * Timestamp when the loyalty rule was deleted (if applicable)
1833
+ */
1834
+ deletedAt: string | null;
1835
+ /**
1836
+ * Description of the loyalty rule
1837
+ */
1838
+ description: string;
1839
+ /**
1840
+ * End time of the loyalty rule
1841
+ */
1842
+ endTime: string | null;
1843
+ /**
1844
+ * Frequency of the loyalty rule
1845
+ */
1846
+ frequency: string;
1847
+ /**
1848
+ * Chains attached to the loyalty rule
1849
+ */
1850
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1851
+ /**
1852
+ * Name of the loyalty rule
1853
+ */
1854
+ name: string;
1855
+ /**
1856
+ * Unique identifier for the organization
1857
+ */
1858
+ organizationId: string;
1859
+ /**
1860
+ * Type of the reward
1861
+ */
1862
+ rewardType: 'points' | 'multiplier' | 'badge';
1863
+ /**
1864
+ * Start time of the loyalty rule
1865
+ */
1866
+ startTime: string | null;
1867
+ /**
1868
+ * Type of the loyalty rule
1869
+ */
1870
+ type: string;
1871
+ /**
1872
+ * Timestamp when the loyalty rule was last updated
1873
+ */
1874
+ updatedAt: string;
1875
+ /**
1876
+ * Unique identifier for the website
1877
+ */
1878
+ websiteId: string;
1879
+ /**
1880
+ * Optional address of the collection
1881
+ */
1882
+ collectionAddress?: string;
1883
+ /**
1884
+ * Reward based on data usage within the last day, week, or month. Leave it empty
1885
+ * for all time usage.
1886
+ */
1887
+ dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
1888
+ /**
1889
+ * Filter dApps by deployment age before ranking.
1890
+ */
1891
+ dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
1892
+ /**
1893
+ * URL of the media associated with the loyalty rule
1894
+ */
1895
+ mediaUrl?: string | null;
1896
+ /**
1897
+ * Optional metadata for the loyalty rule
1898
+ */
1899
+ metadata?: {
1900
+ [key: string]: Data.Metadata;
1901
+ };
1902
+ }
1903
+ namespace Data {
1904
+ interface LoyaltyRuleChain {
1905
+ /**
1906
+ * Unique identifier for the rule chain
1907
+ */
1908
+ id: string;
1909
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1910
+ /**
1911
+ * Unique identifier for the loyalty rule
1912
+ */
1913
+ loyaltyRuleId: string;
1914
+ /**
1915
+ * Name of the rule chain
1916
+ */
1917
+ name: string;
1918
+ /**
1919
+ * Type of the operator. AND if all conditions must be met, OR if any condition can
1920
+ * be met.
1921
+ */
1922
+ operatorType?: 'AND' | 'OR';
1923
+ }
1924
+ namespace LoyaltyRuleChain {
1925
+ interface LoyaltyCondition {
1926
+ /**
1927
+ * Unique identifier for the condition
1928
+ */
1929
+ id: string;
1930
+ /**
1931
+ * Amount of the condition
1932
+ */
1933
+ amount: number | null;
1934
+ association: Array<LoyaltyCondition.Association>;
1935
+ /**
1936
+ * URL of the CSV file
1937
+ */
1938
+ csvUrl: string | null;
1939
+ /**
1940
+ * Description of the condition
1941
+ */
1942
+ description: string | null;
1943
+ /**
1944
+ * Number of times the condition must be met
1945
+ */
1946
+ repeatCount: number | null;
1947
+ /**
1948
+ * Number of times the condition must be met
1949
+ */
1950
+ requiredCount: number | null;
1951
+ /**
1952
+ * Type of the condition
1953
+ */
1954
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1955
+ }
1956
+ namespace LoyaltyCondition {
1957
+ interface Association {
1958
+ /**
1959
+ * Unique identifier for the association
1960
+ */
1961
+ id: string;
1962
+ /**
1963
+ * Unique identifier for the loyalty badge
1964
+ */
1965
+ loyaltyBadgeId: string | null;
1966
+ loyaltyCurrency: Association.LoyaltyCurrency | null;
1967
+ /**
1968
+ * Unique identifier for the loyalty currency
1969
+ */
1970
+ loyaltyCurrencyId: string | null;
1971
+ loyaltyRule: Association.LoyaltyRule | null;
1972
+ /**
1973
+ * Unique identifier for the loyalty rule group
1974
+ */
1975
+ loyaltyRuleGroupId: string | null;
1976
+ /**
1977
+ * Unique identifier for the loyalty rule
1978
+ */
1979
+ loyaltyRuleId: string | null;
1980
+ }
1981
+ namespace Association {
1982
+ interface LoyaltyCurrency {
1983
+ /**
1984
+ * Name of the loyalty currency
1985
+ */
1986
+ name: string;
1987
+ }
1988
+ interface LoyaltyRule {
1989
+ /**
1990
+ * Name of the loyalty rule
1991
+ */
1992
+ name: string;
1993
+ }
1994
+ }
1995
+ }
1996
+ }
1997
+ interface Metadata {
1998
+ /**
1999
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
2000
+ * only.
2001
+ */
2002
+ allowMultipleRedemptions?: boolean;
2003
+ /**
2004
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
2005
+ * any rule completions count as check-in.
2006
+ */
2007
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
2008
+ /**
2009
+ * Number of tokens per batch.
2010
+ */
2011
+ batchSize?: number | null;
2012
+ /**
2013
+ * Text displayed on the action button.
2014
+ */
2015
+ buttonText?: string | null;
2016
+ /**
2017
+ * Flag indicating if commenting is required.
2018
+ */
2019
+ checkComment?: boolean | null;
2020
+ /**
2021
+ * Flag indicating if liking the post is required.
1181
2022
  */
1182
- withBonus?: boolean | null;
2023
+ checkLike?: boolean | null;
2024
+ /**
2025
+ * Flag indicating if reposting is required.
2026
+ */
2027
+ checkRepost?: boolean | null;
2028
+ /**
2029
+ * Text to check in the Twitter post, username, or bio.
2030
+ */
2031
+ checkText?: string | Array<string> | null;
2032
+ /**
2033
+ * Array of collections associated with the rule.
2034
+ */
2035
+ collection?: Array<Metadata.Collection>;
2036
+ /**
2037
+ * Conditions for completing the profile.
2038
+ */
2039
+ completeProfileConditions?: {
2040
+ [key: string]: boolean;
2041
+ } | null;
2042
+ /**
2043
+ * Description of the external rule condition (only for external rules)
2044
+ */
2045
+ conditionDescription?: string;
2046
+ /**
2047
+ * Object containing details for the call-to-action.
2048
+ */
2049
+ cta?: Metadata.Cta | null;
2050
+ /**
2051
+ * API key for custom rewards integration.
2052
+ */
2053
+ customRewardsApiKey?: string;
2054
+ /**
2055
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2056
+ */
2057
+ directRpc?: boolean;
2058
+ /**
2059
+ * Array of Discord servers, channels, and roles to join.
2060
+ */
2061
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2062
+ /**
2063
+ * Array of drip quests required to complete the rule.
2064
+ */
2065
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2066
+ /**
2067
+ * Flag indicating whether joining Discord servers is required.
2068
+ */
2069
+ enableJoinDiscordServers?: boolean | null;
2070
+ /**
2071
+ * Flag indicating whether streaks are enabled.
2072
+ */
2073
+ enableStreaks?: boolean | null;
2074
+ /**
2075
+ * Flag indicating whether the verified multiplier is enabled.
2076
+ */
2077
+ enableVerifiedMultiplier?: boolean;
2078
+ /**
2079
+ * Type of ERC20 token for the loyalty rule.
2080
+ */
2081
+ erc20Type?: 'erc20' | 'native';
2082
+ /**
2083
+ * Fill source of the order for the token sale
2084
+ */
2085
+ fillSource?: string;
2086
+ /**
2087
+ * Percentage reward given to a user for their first referral.
2088
+ */
2089
+ firstReferralReward?: number | null;
2090
+ /**
2091
+ * Name of the GitHub branch to check for PR merge.
2092
+ */
2093
+ githubBranchName?: string | null;
2094
+ /**
2095
+ * URL of the GitHub repository to check for star.
2096
+ */
2097
+ githubRepoUrl?: string | null;
2098
+ /**
2099
+ * Flag indicating whether the fill source is included.
2100
+ */
2101
+ hasFillSource?: boolean;
2102
+ /**
2103
+ * Indicates if the item has never been sold.
2104
+ */
2105
+ hasNeverSold?: boolean;
2106
+ /**
2107
+ * Indicates if the full royalty has been paid for items.
2108
+ */
2109
+ hasPaidFullRoyalty?: boolean;
2110
+ /**
2111
+ * Flag indicating if the sale currency is included.
2112
+ */
2113
+ hasSaleCurrency?: boolean;
2114
+ /**
2115
+ * Indicates if the user has a verified Twitter account.
2116
+ */
2117
+ hasVerifiedTwitter?: boolean;
2118
+ /**
2119
+ * URL of the image associated with the rule.
2120
+ */
2121
+ imageUrl?: string | null;
2122
+ /**
2123
+ * If enabled, the first transaction done on the platform will complete this rule
2124
+ */
2125
+ isCheckInOnEveryTxn?: boolean;
2126
+ /**
2127
+ * Indicates if the multiplier has been applied to rewards.
2128
+ */
2129
+ isMultiplierApplied?: boolean;
2130
+ /**
2131
+ * Flag indicating if the rule is restricted to new users.
2132
+ */
2133
+ isRestrictedToNewUsers?: boolean;
2134
+ /**
2135
+ * Flag indicating if rewards are applied retroactively.
2136
+ */
2137
+ isRetroactive?: boolean | null;
2138
+ /**
2139
+ * Flag indicating if the token hold multiplier is applied.
2140
+ */
2141
+ isTokenHoldMultiplier?: boolean;
2142
+ /**
2143
+ * Optional link associated with the metadata.
2144
+ */
2145
+ link?: string | null;
2146
+ /**
2147
+ * Liquidity pool details.
2148
+ */
2149
+ liquidity?: Metadata.Liquidity;
2150
+ /**
2151
+ * Maximum quantity constraint for token holding.
2152
+ */
2153
+ maxQty?: number | null;
2154
+ /**
2155
+ * Minimum follower count for the rule. Accepts both number and string values.
2156
+ */
2157
+ minimumFollowerCount?: number | null;
2158
+ /**
2159
+ * Minimum quantity constraint for token holding.
2160
+ */
2161
+ minQty?: number | null;
2162
+ /**
2163
+ * Array of loyalty currency IDs used for multipliers.
2164
+ */
2165
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2166
+ /**
2167
+ * Flag indicating whether to include only known users.
2168
+ */
2169
+ onlyKnownUsers?: boolean;
2170
+ /**
2171
+ * Flag indicating whether to include only native tokens.
2172
+ */
2173
+ onlyNative?: boolean;
2174
+ /**
2175
+ * Flag indicating whether to include only non-listed items.
2176
+ */
2177
+ onlyNonListed?: boolean;
2178
+ /**
2179
+ * Indicates if only existing users are rewarded.
2180
+ */
2181
+ onlyRewardExistingUser?: boolean;
2182
+ /**
2183
+ * give points for only one token ownership per contract
2184
+ */
2185
+ onlyRewardSingleTokenOwnership?: boolean | null;
2186
+ /**
2187
+ * Pre-generated text template that will be used to prefill the post content.
2188
+ */
2189
+ preGeneratedPostText?: string | null;
2190
+ /**
2191
+ * Promotional code associated with the rule.
2192
+ */
2193
+ promoCode?: string;
2194
+ /**
2195
+ * URL of the CSV file containing promo codes.
2196
+ */
2197
+ promoCodeCsvUrl?: string;
2198
+ /**
2199
+ * Numbers of the promotional code to be generated.
2200
+ */
2201
+ promoCodeLength?: number | null;
2202
+ /**
2203
+ * Type of the promotional code.
2204
+ */
2205
+ promoCodeType?: 'code' | 'csv' | 'generate';
2206
+ /**
2207
+ * Array defining ranges and corresponding rewards.
2208
+ */
2209
+ range?: Array<Metadata.Range>;
2210
+ /**
2211
+ * ID of the Reddit post.
2212
+ */
2213
+ redditPostId?: string | null;
2214
+ /**
2215
+ * Object defining referral requirements.
2216
+ */
2217
+ referralRequirements?: Metadata.ReferralRequirements | null;
2218
+ /**
2219
+ * Lump sum reward given to a referrer.
2220
+ */
2221
+ referrerReward?: number | null;
2222
+ /**
2223
+ * Loyalty currency ID of the referrer reward.
2224
+ */
2225
+ referrerRewardLoyaltyCurrencyId?: string | null;
2226
+ /**
2227
+ * Flag indicating if the post link is required.
2228
+ */
2229
+ requirePostLink?: boolean | null;
2230
+ /**
2231
+ * Flag indicating if media metadata is required.
2232
+ */
2233
+ requirePostMediaLink?: boolean | null;
2234
+ /**
2235
+ * If enabled, the progress tracking row will be deleted after a successful claim,
2236
+ * allowing the user to re-earn the rule.
2237
+ */
2238
+ resetProgressOnClaim?: boolean | null;
2239
+ /**
2240
+ * Flag indicating if the rule can also reward badges per range.
2241
+ */
2242
+ rewardBadgePerRange?: boolean;
2243
+ /**
2244
+ * Flag indicating if the reward is rewarded by batch.
2245
+ */
2246
+ rewardByBatch?: boolean | null;
2247
+ /**
2248
+ * Criteria to evaluate the reward.
2249
+ */
2250
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2251
+ /**
2252
+ * Flag indicating if the reward is rewarded per action.
2253
+ */
2254
+ rewardPerAction?: boolean | null;
2255
+ /**
2256
+ * Flag indicating if rewards are given per impression.
2257
+ */
2258
+ rewardPerImpression?: boolean | null;
2259
+ /**
2260
+ * Flag indicating if the rule should reward based on value of traded tokens
2261
+ * instead of count.
2262
+ */
2263
+ rewardPerValue?: boolean;
2264
+ /**
2265
+ * Flag indicating if the rule should reward quality posts.
2266
+ */
2267
+ rewardQualityPosts?: boolean;
2268
+ robinhoodSymbols?: Array<string> | null;
2269
+ /**
2270
+ * Wallet address of the user can only be used if userId is not provided
2271
+ */
2272
+ royaltyAddress?: string;
2273
+ /**
2274
+ * Royalty percentage of the item.
2275
+ */
2276
+ royaltyPercentage?: number;
2277
+ /**
2278
+ * Currency associated with sales.
2279
+ */
2280
+ saleCurrency?: string;
2281
+ /**
2282
+ * Percentage reward given for a second-level referral.
2283
+ */
2284
+ secondReferralReward?: number | null;
2285
+ /**
2286
+ * Flag indicating if the multiplier is skipped.
2287
+ */
2288
+ skipMultiplier?: boolean | null;
2289
+ /**
2290
+ * Object containing details of the associated smart contract.
2291
+ */
2292
+ smartContract?: Metadata.SmartContract;
2293
+ /**
2294
+ * Array of snapshot proposals for the rule.
2295
+ */
2296
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2297
+ /**
2298
+ * Social media platform associated with the rule.
2299
+ */
2300
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
2301
+ /**
2302
+ * URL of the social platform's logo.
2303
+ */
2304
+ socialPlatformLogo?: string | null;
2305
+ /**
2306
+ * Name of the social platform.
2307
+ */
2308
+ socialPlatformName?: string | null;
2309
+ /**
2310
+ * ID of the Steam app.
2311
+ */
2312
+ steamAppId?: string | null;
2313
+ /**
2314
+ * Array of streak milestones and corresponding rewards.
2315
+ */
2316
+ streakArray?: Array<Metadata.StreakArray> | null;
2317
+ /**
2318
+ * Metadata for swap loyalty rules
2319
+ */
2320
+ swap?: Metadata.Swap;
2321
+ /**
2322
+ * ID of the Telegram channel.
2323
+ */
2324
+ telegramChannelId?: string | null;
2325
+ /**
2326
+ * Time delay in seconds to verify actions.
2327
+ */
2328
+ timeDelayToVerifySeconds?: string | number | null;
2329
+ /**
2330
+ * Flag indicating if all contracts are tracked.
2331
+ */
2332
+ trackAllContracts?: boolean | null;
2333
+ /**
2334
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2335
+ * completed once the progress is 100%.
2336
+ */
2337
+ trackProgress?: boolean | null;
2338
+ /**
2339
+ * URL of the associated Twitter account.
2340
+ */
2341
+ twitterAccountUrl?: string;
2342
+ /**
2343
+ * Hashtag associated with the Twitter post.
2344
+ */
2345
+ twitterHashtag?: string;
2346
+ /**
2347
+ * URL of the associated Twitter post.
2348
+ */
2349
+ twitterPostUrl?: string;
2350
+ /**
2351
+ * Unique identifier of the Twitter user.
2352
+ */
2353
+ twitterUserId?: string;
2354
+ /**
2355
+ * Twitter username of the user.
2356
+ */
2357
+ twitterUsername?: string;
2358
+ /**
2359
+ * Minimum length of the verification text.
2360
+ */
2361
+ verificationTextMinimumLength?: number | null;
2362
+ /**
2363
+ * Multiplier applied to rewards for verified users.
2364
+ */
2365
+ verifiedMultiplier?: number | null;
2366
+ /**
2367
+ * Placeholder text for verification input fields.
2368
+ */
2369
+ verifyPlaceHolderText?: string | null;
2370
+ /**
2371
+ * Type of wallet associated with the rule.
2372
+ */
2373
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
2374
+ /**
2375
+ * ID of the Youtube channel.
2376
+ */
2377
+ youtubeChannelId?: string | null;
2378
+ /**
2379
+ * ID of the Youtube video.
2380
+ */
2381
+ youtubeVideoId?: string | null;
2382
+ }
2383
+ namespace Metadata {
2384
+ interface Collection {
2385
+ /**
2386
+ * Blockchain address of the collection.
2387
+ */
2388
+ address?: string;
2389
+ /**
2390
+ * Multiplier applied to the rewards for this collection.
2391
+ */
2392
+ multiplier?: number;
2393
+ /**
2394
+ * Blockchain network of the collection.
2395
+ */
2396
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2397
+ }
2398
+ /**
2399
+ * Object containing details for the call-to-action.
2400
+ */
2401
+ interface Cta {
2402
+ /**
2403
+ * Link for the call-to-action.
2404
+ */
2405
+ href?: string | null;
2406
+ /**
2407
+ * Label for the call-to-action.
2408
+ */
2409
+ label?: string | null;
2410
+ }
2411
+ interface DiscordServersToJoin {
2412
+ /**
2413
+ * ID of the Discord server to join.
2414
+ */
2415
+ id?: string;
2416
+ /**
2417
+ * Array of Discord channels to join.
2418
+ */
2419
+ channels?: Array<DiscordServersToJoin.Channel>;
2420
+ /**
2421
+ * Array of roles to assign in the Discord server.
2422
+ */
2423
+ roles?: Array<DiscordServersToJoin.Role>;
2424
+ }
2425
+ namespace DiscordServersToJoin {
2426
+ interface Channel {
2427
+ /**
2428
+ * ID of the Discord channel.
2429
+ */
2430
+ id?: string;
2431
+ /**
2432
+ * Array of emojis used in the channel.
2433
+ */
2434
+ emojis?: Array<Channel.Emoji>;
2435
+ /**
2436
+ * Phrase of text to be present in the discord message
2437
+ */
2438
+ text?: string;
2439
+ }
2440
+ namespace Channel {
2441
+ interface Emoji {
2442
+ /**
2443
+ * ID of the emoji used in the channel.
2444
+ */
2445
+ id?: string;
2446
+ }
2447
+ }
2448
+ interface Role {
2449
+ /**
2450
+ * ID of the role in the Discord server.
2451
+ */
2452
+ id: string;
2453
+ }
2454
+ }
2455
+ interface DripQuestsToComplete {
2456
+ /**
2457
+ * ID of the drip quest to complete.
2458
+ */
2459
+ id: string;
2460
+ }
1183
2461
  /**
1184
- * Flag indicating if a custom range is applied.
2462
+ * Liquidity pool details.
1185
2463
  */
1186
- withCustomRange?: boolean | null;
2464
+ interface Liquidity {
2465
+ /**
2466
+ * Calculation type of the liquidity pool.
2467
+ */
2468
+ calculationType?: 'fixed' | 'custom';
2469
+ /**
2470
+ * Custom function to calculate the the reward amount based on the liquidity
2471
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2472
+ * USD.
2473
+ */
2474
+ customFunction?: string;
2475
+ /**
2476
+ * Liquidity provided per day in USD
2477
+ */
2478
+ liquidityPerDay?: number;
2479
+ /**
2480
+ * Blockchain network of the liquidity pool.
2481
+ */
2482
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2483
+ /**
2484
+ * Indicates if only in-range liquidity is rewarded.
2485
+ */
2486
+ onlyRewardInRangeLiquidity?: boolean;
2487
+ /**
2488
+ * Array of liquidity pools associated with the rule.
2489
+ */
2490
+ pools?: Array<Liquidity.Pool>;
2491
+ /**
2492
+ * Protocol of the liquidity pool.
2493
+ */
2494
+ protocol?: string;
2495
+ }
2496
+ namespace Liquidity {
2497
+ interface Pool {
2498
+ /**
2499
+ * Unique identifier of the liquidity pool.
2500
+ */
2501
+ id: string;
2502
+ }
2503
+ }
2504
+ interface Range {
2505
+ /**
2506
+ * Reward amount for this range.
2507
+ */
2508
+ amount: number;
2509
+ /**
2510
+ * End value of the range.
2511
+ */
2512
+ endRange: number;
2513
+ /**
2514
+ * Start value of the range.
2515
+ */
2516
+ startRange: number;
2517
+ /**
2518
+ * ID of the loyalty badge for this range.
2519
+ */
2520
+ loyaltyBadgeId?: string;
2521
+ /**
2522
+ * Amount of the loyalty multiplier for this range.
2523
+ */
2524
+ loyaltyMultiplierAmount?: number;
2525
+ }
1187
2526
  /**
1188
- * Flag indicating if a maximum limit is applied.
2527
+ * Object defining referral requirements.
1189
2528
  */
1190
- withMax?: boolean | null;
1191
- }
1192
- namespace SmartContract {
1193
- interface Bonus {
2529
+ interface ReferralRequirements {
1194
2530
  /**
1195
- * Amount of the bonus.
2531
+ * Flag indicating if achieving points is required.
1196
2532
  */
1197
- amount?: number | null;
2533
+ achievePoints?: boolean | null;
2534
+ /**
2535
+ * Flag indicating if completing the profile is required.
2536
+ */
2537
+ completeProfile?: boolean | null;
2538
+ /**
2539
+ * Flag indicating if connecting Discord is required.
2540
+ */
2541
+ connectDiscord?: boolean | null;
2542
+ /**
2543
+ * Flag indicating if connecting email is required.
2544
+ */
2545
+ connectEmail?: boolean | null;
1198
2546
  /**
1199
- * Number of times the bonus is applied.
2547
+ * Flag indicating if connecting Twitter is required.
1200
2548
  */
1201
- count?: number | null;
2549
+ connectTwitter?: boolean | null;
2550
+ points?: ReferralRequirements.Points | null;
2551
+ }
2552
+ namespace ReferralRequirements {
2553
+ interface Points {
2554
+ /**
2555
+ * Points required for referral.
2556
+ */
2557
+ amount?: number | null;
2558
+ /**
2559
+ * ID of the loyalty currency for referral.
2560
+ */
2561
+ loyaltyCurrecyId?: string | null;
2562
+ }
1202
2563
  }
1203
2564
  /**
1204
- * Time range applied to the rule.
2565
+ * Object containing details of the associated smart contract.
1205
2566
  */
1206
- interface CustomRange {
2567
+ interface SmartContract {
2568
+ /**
2569
+ * Mapping of addresses for the smart contract.
2570
+ */
2571
+ addressMapping?: string | null;
2572
+ /**
2573
+ * Object containing details of the amount multiplier from the event.
2574
+ */
2575
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2576
+ /**
2577
+ * ID of the smart contract.
2578
+ */
2579
+ contractId?: string | null;
2580
+ /**
2581
+ * Criteria to evaluate the smart contract event.
2582
+ */
2583
+ criteria?: 'everyEvent' | 'byParameter' | null;
2584
+ /**
2585
+ * Event emitted by the smart contract.
2586
+ */
2587
+ event?: string | null;
1207
2588
  /**
1208
- * End time of the custom range.
2589
+ * Array of parameters for the smart contract.
1209
2590
  */
1210
- endsAt?: string | null;
2591
+ params?: Array<SmartContract.Param> | null;
1211
2592
  /**
1212
- * Start time of the custom range.
2593
+ * Type of the smart contract interaction.
1213
2594
  */
1214
- startsAt?: string | null;
2595
+ type?: 'function' | 'event' | null;
1215
2596
  }
1216
- interface Param {
2597
+ namespace SmartContract {
1217
2598
  /**
1218
- * Condition to check for the parameter.
2599
+ * Object containing details of the amount multiplier from the event.
1219
2600
  */
1220
- condition?: string | null;
2601
+ interface AmountMultiplier {
2602
+ /**
2603
+ * Mapping of the value for the smart contract.
2604
+ */
2605
+ valueMapping?: string | null;
2606
+ }
2607
+ interface Param {
2608
+ /**
2609
+ * Condition to check for the parameter.
2610
+ */
2611
+ condition?: string | null;
2612
+ /**
2613
+ * Name of the smart contract parameter.
2614
+ */
2615
+ name?: string | null;
2616
+ /**
2617
+ * Value of the parameter.
2618
+ */
2619
+ value?: string | null;
2620
+ }
2621
+ }
2622
+ interface SnapshotProposal {
1221
2623
  /**
1222
- * Name of the smart contract parameter.
2624
+ * ID of the snapshot proposal.
1223
2625
  */
1224
- name?: string | null;
2626
+ id: string;
1225
2627
  /**
1226
- * Value of the parameter.
2628
+ * Space associated with the snapshot proposal.
1227
2629
  */
1228
- value?: string | null;
2630
+ space: string;
2631
+ }
2632
+ interface StreakArray {
2633
+ /**
2634
+ * Reward amount for achieving the streak milestone.
2635
+ */
2636
+ streakAmount: number;
2637
+ /**
2638
+ * Milestone required to achieve the streak.
2639
+ */
2640
+ streakMilestone: number;
1229
2641
  }
1230
- }
1231
- interface SnapshotProposal {
1232
- /**
1233
- * ID of the snapshot proposal.
1234
- */
1235
- id: string;
1236
- /**
1237
- * Space associated with the snapshot proposal.
1238
- */
1239
- space: string;
1240
- }
1241
- interface StreakArray {
1242
- /**
1243
- * Reward amount for achieving the streak milestone.
1244
- */
1245
- streakAmount: number;
1246
2642
  /**
1247
- * Milestone required to achieve the streak.
2643
+ * Metadata for swap loyalty rules
1248
2644
  */
1249
- streakMilestone: number;
2645
+ interface Swap {
2646
+ from?: Swap.From;
2647
+ provider?: 'any' | 'relay' | 'lifi';
2648
+ relayReferrerId?: string;
2649
+ requireCrossChainSwap?: boolean;
2650
+ to?: Swap.To;
2651
+ }
2652
+ namespace Swap {
2653
+ interface From {
2654
+ chain?: 'any' | number | string;
2655
+ mode?: 'any' | 'specific';
2656
+ tokens?: Array<From.Token>;
2657
+ trackAmount?: boolean;
2658
+ }
2659
+ namespace From {
2660
+ interface Token {
2661
+ address: string;
2662
+ chainId: string;
2663
+ }
2664
+ }
2665
+ interface To {
2666
+ chain?: 'any' | number | string;
2667
+ mode?: 'any' | 'specific';
2668
+ tokens?: Array<To.Token>;
2669
+ trackAmount?: boolean;
2670
+ }
2671
+ namespace To {
2672
+ interface Token {
2673
+ address: string;
2674
+ chainId: string;
2675
+ }
2676
+ }
2677
+ }
1250
2678
  }
1251
2679
  }
1252
2680
  }
1253
- export interface RuleListResponse {
1254
- data: Array<RuleListResponse.Data>;
1255
- hasNextPage: boolean;
1256
- }
1257
- export declare namespace RuleListResponse {
1258
- /**
1259
- * Schema for a loyalty rule
1260
- */
1261
- interface Data {
1262
- /**
1263
- * Unique identifier for the loyalty rule
1264
- */
1265
- id: string;
1266
- /**
1267
- * Amount associated with the loyalty rule
1268
- */
1269
- amount: number;
1270
- /**
1271
- * Timestamp when the loyalty rule was created
1272
- */
1273
- createdAt: string;
1274
- /**
1275
- * Timestamp when the loyalty rule was deleted (if applicable)
1276
- */
1277
- deletedAt: string | null;
1278
- /**
1279
- * Frequency of the loyalty rule
1280
- */
1281
- frequency: string;
1282
- /**
1283
- * Unique identifier for the organization
1284
- */
1285
- organizationId: string;
1286
- /**
1287
- * Type of the loyalty rule
1288
- */
1289
- type: string;
1290
- /**
1291
- * Timestamp when the loyalty rule was last updated
1292
- */
1293
- updatedAt: string;
1294
- /**
1295
- * Unique identifier for the website
1296
- */
1297
- websiteId: string;
1298
- /**
1299
- * Optional address of the collection
1300
- */
1301
- collectionAddress?: string;
1302
- /**
1303
- * Optional metadata for the loyalty rule
1304
- */
1305
- metadata?: Record<string, unknown>;
1306
- }
1307
- }
1308
2681
  export interface RuleDeleteResponse {
1309
2682
  id: string;
1310
2683
  deletedAt: string;
1311
2684
  }
1312
2685
  export interface RuleCompleteResponse {
1313
- message: string;
2686
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1314
2687
  }
1315
2688
  export interface RuleGetStatusResponse {
1316
2689
  data: Array<RuleGetStatusResponse.Data>;
@@ -1318,9 +2691,110 @@ export interface RuleGetStatusResponse {
1318
2691
  export declare namespace RuleGetStatusResponse {
1319
2692
  interface Data {
1320
2693
  loyaltyRuleId: string;
1321
- status: 'pending' | 'processing' | 'completed' | 'failed';
1322
2694
  userId: string;
2695
+ /**
2696
+ * The ID of the loyalty rule status for the Progress object
2697
+ */
2698
+ id?: string;
2699
+ createdAt?: string;
2700
+ fulfilledAt?: string | null;
2701
+ /**
2702
+ * Categorized examples of messages that may be returned for a loyalty rule's
2703
+ * processing result.
2704
+ *
2705
+ * User Onboarding
2706
+ *
2707
+ * - Check In: "Streak successful"
2708
+ * - Complete Profile Details: "Profile not complete"
2709
+ *
2710
+ * Connect Accounts
2711
+ *
2712
+ * - Connect TikTok: "TikTok not connected"
2713
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
2714
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2715
+ * required"
2716
+ * - Connect Email: "Email address not connected"
2717
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2718
+ * telegramUsername), please setup username in telegram and reconnect.",
2719
+ * "Telegram request rate-limited"
2720
+ * - Connect Steam: "Steam not connected"
2721
+ * - Connect Youtube: "Youtube not connected"
2722
+ *
2723
+ * Social Quests
2724
+ *
2725
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2726
+ * successfully"
2727
+ * - Post on TikTok: "TikTok post not verified"
2728
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2729
+ * "Quest Not Completed: Comment not found for the specified tweet"
2730
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2731
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2732
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2733
+ * retweeted or commented on the tweet"
2734
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
2735
+ * targetUsername", "Quest Completed: You are a follower of
2736
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2737
+ * and try again in few minutes"
2738
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2739
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2740
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2741
+ * posts are already claimed. Please post a new tweet and try again in a few
2742
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2743
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2744
+ * not have media", "Text found in tweet"
2745
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2746
+ * not found", "Text found in bio", "Text not found in bio"
2747
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2748
+ * "User not found", "Text found in username", "Text not found in username"
2749
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
2750
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2751
+ * not found in comment", "Tweet not found or could not be retrieved"
2752
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2753
+ * added"
2754
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2755
+ * please make sure you have made your subscriptions public in youtube"
2756
+ * - Get X post impressions: "You've already claimed the reward for this impression
2757
+ * range."
2758
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2759
+ * item not added"
2760
+ *
2761
+ * Complex Onchain Logic
2762
+ *
2763
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2764
+ *
2765
+ * Other
2766
+ *
2767
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
2768
+ * "Incorrect answer", "Correct answer"
2769
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2770
+ * - Spend in Shopify Store: "Shopify not connected"
2771
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2772
+ *
2773
+ * General
2774
+ *
2775
+ * - "Quest already completed"
2776
+ * - "Quest already completed using the same social account (${socialAccountName}),
2777
+ * with the different user."
2778
+ * - "You've already claimed the reward for this quest."
2779
+ * - "Quest not achieved, please try again."
2780
+ * - "Rule is not setup"
2781
+ * - "Request aborted due to timeout"
2782
+ * - "Google account not connected"
2783
+ * - "Claim failed: Multiplier is already active"
2784
+ */
1323
2785
  message?: string;
2786
+ organizationId?: string;
2787
+ /**
2788
+ * The progress of the loyalty rule from 0 to 100
2789
+ */
2790
+ progress?: number;
2791
+ /**
2792
+ * Status of the queued job, this is only returned if the job is queued and being
2793
+ * processed, this wil be retained for 10 minutes after the job is completed
2794
+ */
2795
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
2796
+ updatedAt?: string;
2797
+ websiteId?: string;
1324
2798
  }
1325
2799
  }
1326
2800
  export interface RuleCreateParams {
@@ -1343,7 +2817,7 @@ export interface RuleCreateParams {
1343
2817
  /**
1344
2818
  * Execution frequency of the loyalty rule
1345
2819
  */
1346
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
2820
+ frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1347
2821
  /**
1348
2822
  * Unique identifier for the loyalty currency
1349
2823
  */
@@ -1367,7 +2841,7 @@ export interface RuleCreateParams {
1367
2841
  /**
1368
2842
  * Type of loyalty rule being created
1369
2843
  */
1370
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll';
2844
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post' | 'instagram_follow' | 'connected_phone' | 'dapps_by_gas_spent' | 'dapps_by_active_users' | 'dapps_by_new_users' | 'dapps_by_transaction_count' | 'dapps_by_user_retention';
1371
2845
  /**
1372
2846
  * Unique identifier for the associated website
1373
2847
  */
@@ -1376,6 +2850,10 @@ export interface RuleCreateParams {
1376
2850
  * URL of the background asset to be displayed
1377
2851
  */
1378
2852
  backgroundAssetUrl?: string;
2853
+ /**
2854
+ * The type of claim for the reward
2855
+ */
2856
+ claimType?: 'manual' | 'auto' | null;
1379
2857
  /**
1380
2858
  * Blockchain address of the associated collection
1381
2859
  */
@@ -1384,6 +2862,10 @@ export interface RuleCreateParams {
1384
2862
  * List of associated collections
1385
2863
  */
1386
2864
  collections?: Array<RuleCreateParams.Collection> | null;
2865
+ /**
2866
+ * The IDs of the contracts
2867
+ */
2868
+ contractIds?: Array<string> | null;
1387
2869
  /**
1388
2870
  * URL for fetching custom rewards
1389
2871
  */
@@ -1392,10 +2874,28 @@ export interface RuleCreateParams {
1392
2874
  * URL for uploading custom rewards via CSV
1393
2875
  */
1394
2876
  customRewardsCsvUrl?: string | null;
2877
+ /**
2878
+ * Reward based on data usage within the last day, week, or month. Leave it empty
2879
+ * for all time usage.
2880
+ */
2881
+ dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
2882
+ /**
2883
+ * Filter dApps by deployment age before ranking.
2884
+ */
2885
+ dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
1395
2886
  /**
1396
2887
  * Optional detailed description of the rule
1397
2888
  */
1398
2889
  description?: string;
2890
+ duplicatedFromId?: string | null;
2891
+ /**
2892
+ * ID of the external integration
2893
+ */
2894
+ externalIntegrationId?: string | null;
2895
+ /**
2896
+ * Optional stratus function id for the rule
2897
+ */
2898
+ functionId?: string | null;
1399
2899
  /**
1400
2900
  * Whether to hide this rule in the user interface
1401
2901
  */
@@ -1403,15 +2903,33 @@ export interface RuleCreateParams {
1403
2903
  /**
1404
2904
  * Interval between rule executions
1405
2905
  */
1406
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2906
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1407
2907
  /**
1408
2908
  * Whether this rule is mandatory
1409
2909
  */
1410
2910
  isRequired?: boolean;
2911
+ /**
2912
+ * Unique identifier for the loyalty badge
2913
+ */
2914
+ loyaltyBadgeId?: string | null;
1411
2915
  /**
1412
2916
  * Unique identifier for the loyalty rule group
1413
2917
  */
1414
2918
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2919
+ /**
2920
+ * URL for uploading loyalty user allotment via CSV
2921
+ */
2922
+ loyaltyUserAllotmentCsvUrl?: string;
2923
+ /**
2924
+ * The interval for the max amount. Available for the smart contract and external
2925
+ * rules.
2926
+ */
2927
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2928
+ /**
2929
+ * The maximum amount of points a user can earn per interval. Available for the
2930
+ * smart contract and external rules.
2931
+ */
2932
+ maxAmountPerInterval?: number | null;
1415
2933
  /**
1416
2934
  * URL of the media to be displayed
1417
2935
  */
@@ -1419,25 +2937,51 @@ export interface RuleCreateParams {
1419
2937
  /**
1420
2938
  * Blockchain network where the rule will apply
1421
2939
  */
1422
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
2940
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1423
2941
  /**
1424
2942
  * OAuth credentials associated with the rule
1425
2943
  */
1426
2944
  oauthCredentialsId?: string | null;
2945
+ /**
2946
+ * The lifetime of the reward
2947
+ */
2948
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
1427
2949
  /**
1428
2950
  * Type of reward issued by the rule
1429
2951
  */
1430
- rewardType?: 'points' | 'multiplier';
2952
+ rewardType?: 'points' | 'multiplier' | 'badge';
2953
+ /**
2954
+ * URL of the Shopify store
2955
+ */
2956
+ shopifyStoreUrl?: string | null;
2957
+ /**
2958
+ * Whether to show this rule before the start time
2959
+ */
2960
+ showBeforeStart?: boolean;
1431
2961
  /**
1432
- * Identifier for associated subscriptions
2962
+ * Optional stratus subscription id for the rule
1433
2963
  */
1434
- subscriptionIdentifier?: string | null;
2964
+ subscriptionId?: string | null;
1435
2965
  }
1436
2966
  export declare namespace RuleCreateParams {
1437
2967
  /**
1438
2968
  * Additional metadata for the loyalty rule
1439
2969
  */
1440
2970
  interface Metadata {
2971
+ /**
2972
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
2973
+ * only.
2974
+ */
2975
+ allowMultipleRedemptions?: boolean;
2976
+ /**
2977
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
2978
+ * any rule completions count as check-in.
2979
+ */
2980
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
2981
+ /**
2982
+ * Number of tokens per batch.
2983
+ */
2984
+ batchSize?: number | null;
1441
2985
  /**
1442
2986
  * Text displayed on the action button.
1443
2987
  */
@@ -1457,7 +3001,7 @@ export declare namespace RuleCreateParams {
1457
3001
  /**
1458
3002
  * Text to check in the Twitter post, username, or bio.
1459
3003
  */
1460
- checkText?: string | null;
3004
+ checkText?: string | Array<string> | null;
1461
3005
  /**
1462
3006
  * Array of collections associated with the rule.
1463
3007
  */
@@ -1465,7 +3009,13 @@ export declare namespace RuleCreateParams {
1465
3009
  /**
1466
3010
  * Conditions for completing the profile.
1467
3011
  */
1468
- completeProfileConditions?: Record<string, boolean> | null;
3012
+ completeProfileConditions?: {
3013
+ [key: string]: boolean;
3014
+ } | null;
3015
+ /**
3016
+ * Description of the external rule condition (only for external rules)
3017
+ */
3018
+ conditionDescription?: string;
1469
3019
  /**
1470
3020
  * Object containing details for the call-to-action.
1471
3021
  */
@@ -1474,6 +3024,10 @@ export declare namespace RuleCreateParams {
1474
3024
  * API key for custom rewards integration.
1475
3025
  */
1476
3026
  customRewardsApiKey?: string;
3027
+ /**
3028
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3029
+ */
3030
+ directRpc?: boolean;
1477
3031
  /**
1478
3032
  * Array of Discord servers, channels, and roles to join.
1479
3033
  */
@@ -1494,6 +3048,10 @@ export declare namespace RuleCreateParams {
1494
3048
  * Flag indicating whether the verified multiplier is enabled.
1495
3049
  */
1496
3050
  enableVerifiedMultiplier?: boolean;
3051
+ /**
3052
+ * Type of ERC20 token for the loyalty rule.
3053
+ */
3054
+ erc20Type?: 'erc20' | 'native';
1497
3055
  /**
1498
3056
  * Fill source of the order for the token sale
1499
3057
  */
@@ -1502,6 +3060,14 @@ export declare namespace RuleCreateParams {
1502
3060
  * Percentage reward given to a user for their first referral.
1503
3061
  */
1504
3062
  firstReferralReward?: number | null;
3063
+ /**
3064
+ * Name of the GitHub branch to check for PR merge.
3065
+ */
3066
+ githubBranchName?: string | null;
3067
+ /**
3068
+ * URL of the GitHub repository to check for star.
3069
+ */
3070
+ githubRepoUrl?: string | null;
1505
3071
  /**
1506
3072
  * Flag indicating whether the fill source is included.
1507
3073
  */
@@ -1510,10 +3076,6 @@ export declare namespace RuleCreateParams {
1510
3076
  * Indicates if the item has never been sold.
1511
3077
  */
1512
3078
  hasNeverSold?: boolean;
1513
- /**
1514
- * Flag indicating whether the order source is included.
1515
- */
1516
- hasOrderSource?: boolean;
1517
3079
  /**
1518
3080
  * Indicates if the full royalty has been paid for items.
1519
3081
  */
@@ -1530,10 +3092,18 @@ export declare namespace RuleCreateParams {
1530
3092
  * URL of the image associated with the rule.
1531
3093
  */
1532
3094
  imageUrl?: string | null;
3095
+ /**
3096
+ * If enabled, the first transaction done on the platform will complete this rule
3097
+ */
3098
+ isCheckInOnEveryTxn?: boolean;
1533
3099
  /**
1534
3100
  * Indicates if the multiplier has been applied to rewards.
1535
3101
  */
1536
3102
  isMultiplierApplied?: boolean;
3103
+ /**
3104
+ * Flag indicating if the rule is restricted to new users.
3105
+ */
3106
+ isRestrictedToNewUsers?: boolean;
1537
3107
  /**
1538
3108
  * Flag indicating if rewards are applied retroactively.
1539
3109
  */
@@ -1546,10 +3116,18 @@ export declare namespace RuleCreateParams {
1546
3116
  * Optional link associated with the metadata.
1547
3117
  */
1548
3118
  link?: string | null;
3119
+ /**
3120
+ * Liquidity pool details.
3121
+ */
3122
+ liquidity?: Metadata.Liquidity;
1549
3123
  /**
1550
3124
  * Maximum quantity constraint for token holding.
1551
3125
  */
1552
3126
  maxQty?: number | null;
3127
+ /**
3128
+ * Minimum follower count for the rule. Accepts both number and string values.
3129
+ */
3130
+ minimumFollowerCount?: number | null;
1553
3131
  /**
1554
3132
  * Minimum quantity constraint for token holding.
1555
3133
  */
@@ -1579,29 +3157,96 @@ export declare namespace RuleCreateParams {
1579
3157
  */
1580
3158
  onlyRewardSingleTokenOwnership?: boolean | null;
1581
3159
  /**
1582
- * Order source of the order for the token sale
3160
+ * Pre-generated text template that will be used to prefill the post content.
1583
3161
  */
1584
- orderSource?: string;
3162
+ preGeneratedPostText?: string | null;
1585
3163
  /**
1586
3164
  * Promotional code associated with the rule.
1587
3165
  */
1588
3166
  promoCode?: string;
1589
3167
  /**
1590
- * Array defining ranges and corresponding rewards.
3168
+ * URL of the CSV file containing promo codes.
3169
+ */
3170
+ promoCodeCsvUrl?: string;
3171
+ /**
3172
+ * Numbers of the promotional code to be generated.
3173
+ */
3174
+ promoCodeLength?: number | null;
3175
+ /**
3176
+ * Type of the promotional code.
3177
+ */
3178
+ promoCodeType?: 'code' | 'csv' | 'generate';
3179
+ /**
3180
+ * Array defining ranges and corresponding rewards.
3181
+ */
3182
+ range?: Array<Metadata.Range>;
3183
+ /**
3184
+ * ID of the Reddit post.
3185
+ */
3186
+ redditPostId?: string | null;
3187
+ /**
3188
+ * Object defining referral requirements.
3189
+ */
3190
+ referralRequirements?: Metadata.ReferralRequirements | null;
3191
+ /**
3192
+ * Lump sum reward given to a referrer.
3193
+ */
3194
+ referrerReward?: number | null;
3195
+ /**
3196
+ * Loyalty currency ID of the referrer reward.
3197
+ */
3198
+ referrerRewardLoyaltyCurrencyId?: string | null;
3199
+ /**
3200
+ * Flag indicating if the post link is required.
3201
+ */
3202
+ requirePostLink?: boolean | null;
3203
+ /**
3204
+ * Flag indicating if media metadata is required.
3205
+ */
3206
+ requirePostMediaLink?: boolean | null;
3207
+ /**
3208
+ * If enabled, the progress tracking row will be deleted after a successful claim,
3209
+ * allowing the user to re-earn the rule.
3210
+ */
3211
+ resetProgressOnClaim?: boolean | null;
3212
+ /**
3213
+ * Flag indicating if the rule can also reward badges per range.
3214
+ */
3215
+ rewardBadgePerRange?: boolean;
3216
+ /**
3217
+ * Flag indicating if the reward is rewarded by batch.
3218
+ */
3219
+ rewardByBatch?: boolean | null;
3220
+ /**
3221
+ * Criteria to evaluate the reward.
3222
+ */
3223
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3224
+ /**
3225
+ * Flag indicating if the reward is rewarded per action.
3226
+ */
3227
+ rewardPerAction?: boolean | null;
3228
+ /**
3229
+ * Flag indicating if rewards are given per impression.
3230
+ */
3231
+ rewardPerImpression?: boolean | null;
3232
+ /**
3233
+ * Flag indicating if the rule should reward based on value of traded tokens
3234
+ * instead of count.
1591
3235
  */
1592
- range?: Array<Metadata.Range>;
3236
+ rewardPerValue?: boolean;
1593
3237
  /**
1594
- * Object defining referral requirements.
3238
+ * Flag indicating if the rule should reward quality posts.
1595
3239
  */
1596
- referralRequirements?: Metadata.ReferralRequirements | null;
3240
+ rewardQualityPosts?: boolean;
3241
+ robinhoodSymbols?: Array<string> | null;
1597
3242
  /**
1598
- * Lump sum reward given to a referrer.
3243
+ * Wallet address of the user can only be used if userId is not provided
1599
3244
  */
1600
- referrerReward?: number | null;
3245
+ royaltyAddress?: string;
1601
3246
  /**
1602
- * Flag indicating if rewards are given per impression.
3247
+ * Royalty percentage of the item.
1603
3248
  */
1604
- rewardPerImpression?: boolean | null;
3249
+ royaltyPercentage?: number;
1605
3250
  /**
1606
3251
  * Currency associated with sales.
1607
3252
  */
@@ -1625,7 +3270,7 @@ export declare namespace RuleCreateParams {
1625
3270
  /**
1626
3271
  * Social media platform associated with the rule.
1627
3272
  */
1628
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3273
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
1629
3274
  /**
1630
3275
  * URL of the social platform's logo.
1631
3276
  */
@@ -1634,10 +3279,18 @@ export declare namespace RuleCreateParams {
1634
3279
  * Name of the social platform.
1635
3280
  */
1636
3281
  socialPlatformName?: string | null;
3282
+ /**
3283
+ * ID of the Steam app.
3284
+ */
3285
+ steamAppId?: string | null;
1637
3286
  /**
1638
3287
  * Array of streak milestones and corresponding rewards.
1639
3288
  */
1640
3289
  streakArray?: Array<Metadata.StreakArray> | null;
3290
+ /**
3291
+ * Metadata for swap loyalty rules
3292
+ */
3293
+ swap?: Metadata.Swap;
1641
3294
  /**
1642
3295
  * ID of the Telegram channel.
1643
3296
  */
@@ -1650,6 +3303,11 @@ export declare namespace RuleCreateParams {
1650
3303
  * Flag indicating if all contracts are tracked.
1651
3304
  */
1652
3305
  trackAllContracts?: boolean | null;
3306
+ /**
3307
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3308
+ * completed once the progress is 100%.
3309
+ */
3310
+ trackProgress?: boolean | null;
1653
3311
  /**
1654
3312
  * URL of the associated Twitter account.
1655
3313
  */
@@ -1685,7 +3343,15 @@ export declare namespace RuleCreateParams {
1685
3343
  /**
1686
3344
  * Type of wallet associated with the rule.
1687
3345
  */
1688
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3346
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3347
+ /**
3348
+ * ID of the Youtube channel.
3349
+ */
3350
+ youtubeChannelId?: string | null;
3351
+ /**
3352
+ * ID of the Youtube video.
3353
+ */
3354
+ youtubeVideoId?: string | null;
1689
3355
  }
1690
3356
  namespace Metadata {
1691
3357
  interface Collection {
@@ -1700,7 +3366,7 @@ export declare namespace RuleCreateParams {
1700
3366
  /**
1701
3367
  * Blockchain network of the collection.
1702
3368
  */
1703
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3369
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
1704
3370
  }
1705
3371
  /**
1706
3372
  * Object containing details for the call-to-action.
@@ -1765,6 +3431,49 @@ export declare namespace RuleCreateParams {
1765
3431
  */
1766
3432
  id: string;
1767
3433
  }
3434
+ /**
3435
+ * Liquidity pool details.
3436
+ */
3437
+ interface Liquidity {
3438
+ /**
3439
+ * Calculation type of the liquidity pool.
3440
+ */
3441
+ calculationType?: 'fixed' | 'custom';
3442
+ /**
3443
+ * Custom function to calculate the the reward amount based on the liquidity
3444
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3445
+ * USD.
3446
+ */
3447
+ customFunction?: string;
3448
+ /**
3449
+ * Liquidity provided per day in USD
3450
+ */
3451
+ liquidityPerDay?: number;
3452
+ /**
3453
+ * Blockchain network of the liquidity pool.
3454
+ */
3455
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3456
+ /**
3457
+ * Indicates if only in-range liquidity is rewarded.
3458
+ */
3459
+ onlyRewardInRangeLiquidity?: boolean;
3460
+ /**
3461
+ * Array of liquidity pools associated with the rule.
3462
+ */
3463
+ pools?: Array<Liquidity.Pool>;
3464
+ /**
3465
+ * Protocol of the liquidity pool.
3466
+ */
3467
+ protocol?: string;
3468
+ }
3469
+ namespace Liquidity {
3470
+ interface Pool {
3471
+ /**
3472
+ * Unique identifier of the liquidity pool.
3473
+ */
3474
+ id: string;
3475
+ }
3476
+ }
1768
3477
  interface Range {
1769
3478
  /**
1770
3479
  * Reward amount for this range.
@@ -1778,6 +3487,14 @@ export declare namespace RuleCreateParams {
1778
3487
  * Start value of the range.
1779
3488
  */
1780
3489
  startRange: number;
3490
+ /**
3491
+ * ID of the loyalty badge for this range.
3492
+ */
3493
+ loyaltyBadgeId?: string;
3494
+ /**
3495
+ * Amount of the loyalty multiplier for this range.
3496
+ */
3497
+ loyaltyMultiplierAmount?: number;
1781
3498
  }
1782
3499
  /**
1783
3500
  * Object defining referral requirements.
@@ -1821,18 +3538,14 @@ export declare namespace RuleCreateParams {
1821
3538
  * Object containing details of the associated smart contract.
1822
3539
  */
1823
3540
  interface SmartContract {
1824
- /**
1825
- * ABI of the smart contract.
1826
- */
1827
- abi?: string | null;
1828
3541
  /**
1829
3542
  * Mapping of addresses for the smart contract.
1830
3543
  */
1831
3544
  addressMapping?: string | null;
1832
3545
  /**
1833
- * Array of bonus details applied to the rule.
3546
+ * Object containing details of the amount multiplier from the event.
1834
3547
  */
1835
- bonus?: Array<SmartContract.Bonus> | null;
3548
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1836
3549
  /**
1837
3550
  * ID of the smart contract.
1838
3551
  */
@@ -1841,58 +3554,28 @@ export declare namespace RuleCreateParams {
1841
3554
  * Criteria to evaluate the smart contract event.
1842
3555
  */
1843
3556
  criteria?: 'everyEvent' | 'byParameter' | null;
1844
- /**
1845
- * Time range applied to the rule.
1846
- */
1847
- customRange?: SmartContract.CustomRange | null;
1848
3557
  /**
1849
3558
  * Event emitted by the smart contract.
1850
3559
  */
1851
3560
  event?: string | null;
1852
- /**
1853
- * Maximum value allowed for the parameter.
1854
- */
1855
- max?: number | null;
1856
3561
  /**
1857
3562
  * Array of parameters for the smart contract.
1858
3563
  */
1859
3564
  params?: Array<SmartContract.Param> | null;
1860
3565
  /**
1861
- * Flag indicating if a bonus is applied.
1862
- */
1863
- withBonus?: boolean | null;
1864
- /**
1865
- * Flag indicating if a custom range is applied.
1866
- */
1867
- withCustomRange?: boolean | null;
1868
- /**
1869
- * Flag indicating if a maximum limit is applied.
3566
+ * Type of the smart contract interaction.
1870
3567
  */
1871
- withMax?: boolean | null;
3568
+ type?: 'function' | 'event' | null;
1872
3569
  }
1873
3570
  namespace SmartContract {
1874
- interface Bonus {
1875
- /**
1876
- * Amount of the bonus.
1877
- */
1878
- amount?: number | null;
1879
- /**
1880
- * Number of times the bonus is applied.
1881
- */
1882
- count?: number | null;
1883
- }
1884
3571
  /**
1885
- * Time range applied to the rule.
3572
+ * Object containing details of the amount multiplier from the event.
1886
3573
  */
1887
- interface CustomRange {
1888
- /**
1889
- * End time of the custom range.
1890
- */
1891
- endsAt?: string | null;
3574
+ interface AmountMultiplier {
1892
3575
  /**
1893
- * Start time of the custom range.
3576
+ * Mapping of the value for the smart contract.
1894
3577
  */
1895
- startsAt?: string | null;
3578
+ valueMapping?: string | null;
1896
3579
  }
1897
3580
  interface Param {
1898
3581
  /**
@@ -1929,6 +3612,42 @@ export declare namespace RuleCreateParams {
1929
3612
  */
1930
3613
  streakMilestone: number;
1931
3614
  }
3615
+ /**
3616
+ * Metadata for swap loyalty rules
3617
+ */
3618
+ interface Swap {
3619
+ from?: Swap.From;
3620
+ provider?: 'any' | 'relay' | 'lifi';
3621
+ relayReferrerId?: string;
3622
+ requireCrossChainSwap?: boolean;
3623
+ to?: Swap.To;
3624
+ }
3625
+ namespace Swap {
3626
+ interface From {
3627
+ chain?: 'any' | number | string;
3628
+ mode?: 'any' | 'specific';
3629
+ tokens?: Array<From.Token>;
3630
+ trackAmount?: boolean;
3631
+ }
3632
+ namespace From {
3633
+ interface Token {
3634
+ address: string;
3635
+ chainId: string;
3636
+ }
3637
+ }
3638
+ interface To {
3639
+ chain?: 'any' | number | string;
3640
+ mode?: 'any' | 'specific';
3641
+ tokens?: Array<To.Token>;
3642
+ trackAmount?: boolean;
3643
+ }
3644
+ namespace To {
3645
+ interface Token {
3646
+ address: string;
3647
+ chainId: string;
3648
+ }
3649
+ }
3650
+ }
1932
3651
  }
1933
3652
  interface Collection {
1934
3653
  /**
@@ -1938,7 +3657,11 @@ export declare namespace RuleCreateParams {
1938
3657
  /**
1939
3658
  * Blockchain network for the collection
1940
3659
  */
1941
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3660
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3661
+ /**
3662
+ * Symbol of the collection.
3663
+ */
3664
+ symbol?: string;
1942
3665
  }
1943
3666
  }
1944
3667
  export interface RuleUpdateParams {
@@ -1954,14 +3677,22 @@ export interface RuleUpdateParams {
1954
3677
  * Name of the loyalty rule
1955
3678
  */
1956
3679
  name: string;
3680
+ /**
3681
+ * The type of claim for the reward
3682
+ */
3683
+ claimType?: 'manual' | 'auto' | null;
1957
3684
  /**
1958
3685
  * Blockchain address of the associated collection
1959
3686
  */
1960
- collectionAddress?: string;
3687
+ collectionAddress?: string | null;
1961
3688
  /**
1962
3689
  * List of associated collections
1963
3690
  */
1964
3691
  collections?: Array<RuleUpdateParams.Collection> | null;
3692
+ /**
3693
+ * The IDs of the contracts
3694
+ */
3695
+ contractIds?: Array<string> | null;
1965
3696
  /**
1966
3697
  * API URL for custom rewards integration
1967
3698
  */
@@ -1970,6 +3701,20 @@ export interface RuleUpdateParams {
1970
3701
  * URL for uploading custom rewards via CSV
1971
3702
  */
1972
3703
  customRewardsCsvUrl?: string | null;
3704
+ /**
3705
+ * Reward based on data usage within the last day, week, or month. Leave it empty
3706
+ * for all time usage.
3707
+ */
3708
+ dappDataWindow?: 'daily' | 'weekly' | 'monthly' | null;
3709
+ /**
3710
+ * Filter dApps by deployment age before ranking.
3711
+ */
3712
+ dappDeployedWithin?: 'daily' | 'weekly' | 'monthly' | null;
3713
+ /**
3714
+ * Timestamp when the loyalty rule was deleted. Set to null to restore a deleted
3715
+ * rule.
3716
+ */
3717
+ deletedAt?: string | null;
1973
3718
  /**
1974
3719
  * Optional description of the loyalty rule
1975
3720
  */
@@ -1982,10 +3727,18 @@ export interface RuleUpdateParams {
1982
3727
  * Effective start time of the rule
1983
3728
  */
1984
3729
  effectiveStartTime?: string | null;
3730
+ /**
3731
+ * ID of the external integration
3732
+ */
3733
+ externalIntegrationId?: string | null;
1985
3734
  /**
1986
3735
  * Frequency of the rule execution
1987
3736
  */
1988
- frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3737
+ frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3738
+ /**
3739
+ * Optional stratus function id for the rule
3740
+ */
3741
+ functionId?: string | null;
1989
3742
  /**
1990
3743
  * Whether to hide this rule in the user interface
1991
3744
  */
@@ -1993,7 +3746,7 @@ export interface RuleUpdateParams {
1993
3746
  /**
1994
3747
  * Time interval for recurring rule execution
1995
3748
  */
1996
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3749
+ interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1997
3750
  /**
1998
3751
  * Whether this rule is required for participation
1999
3752
  */
@@ -2002,6 +3755,16 @@ export interface RuleUpdateParams {
2002
3755
  * ID of the rule group section to associate with the rule
2003
3756
  */
2004
3757
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3758
+ /**
3759
+ * The interval for the max amount. Available for the smart contract and external
3760
+ * rules.
3761
+ */
3762
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3763
+ /**
3764
+ * The maximum amount of points a user can earn per interval. Available for the
3765
+ * smart contract and external rules.
3766
+ */
3767
+ maxAmountPerInterval?: number | null;
2005
3768
  /**
2006
3769
  * URL of the media to be displayed
2007
3770
  */
@@ -2013,23 +3776,35 @@ export interface RuleUpdateParams {
2013
3776
  /**
2014
3777
  * Blockchain network where the rule will apply
2015
3778
  */
2016
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3779
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2017
3780
  /**
2018
3781
  * ID for associated OAuth credentials
2019
3782
  */
2020
3783
  oauthCredentialsId?: string | null;
3784
+ /**
3785
+ * The lifetime of the reward
3786
+ */
3787
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2021
3788
  /**
2022
3789
  * Type of reward issued by this rule
2023
3790
  */
2024
- rewardType?: 'points' | 'multiplier';
3791
+ rewardType?: 'points' | 'multiplier' | 'badge';
3792
+ /**
3793
+ * URL of the Shopify store
3794
+ */
3795
+ shopifyStoreUrl?: string | null;
3796
+ /**
3797
+ * Whether to show this rule before the start time
3798
+ */
3799
+ showBeforeStart?: boolean;
2025
3800
  /**
2026
3801
  * Start time for the loyalty rule
2027
3802
  */
2028
3803
  startTime?: string | null;
2029
3804
  /**
2030
- * Optional subscription identifier for the rule
3805
+ * Optional stratus subscription id for the rule
2031
3806
  */
2032
- subscriptionIdentifier?: string | null;
3807
+ subscriptionId?: string | null;
2033
3808
  }
2034
3809
  export declare namespace RuleUpdateParams {
2035
3810
  interface Collection {
@@ -2040,12 +3815,30 @@ export declare namespace RuleUpdateParams {
2040
3815
  /**
2041
3816
  * Blockchain network for the collection
2042
3817
  */
2043
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
3818
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
3819
+ /**
3820
+ * Symbol of the collection.
3821
+ */
3822
+ symbol?: string;
2044
3823
  }
2045
3824
  /**
2046
3825
  * Additional metadata for the loyalty rule
2047
3826
  */
2048
3827
  interface Metadata {
3828
+ /**
3829
+ * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
3830
+ * only.
3831
+ */
3832
+ allowMultipleRedemptions?: boolean;
3833
+ /**
3834
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
3835
+ * any rule completions count as check-in.
3836
+ */
3837
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
3838
+ /**
3839
+ * Number of tokens per batch.
3840
+ */
3841
+ batchSize?: number | null;
2049
3842
  /**
2050
3843
  * Text displayed on the action button.
2051
3844
  */
@@ -2065,7 +3858,7 @@ export declare namespace RuleUpdateParams {
2065
3858
  /**
2066
3859
  * Text to check in the Twitter post, username, or bio.
2067
3860
  */
2068
- checkText?: string | null;
3861
+ checkText?: string | Array<string> | null;
2069
3862
  /**
2070
3863
  * Array of collections associated with the rule.
2071
3864
  */
@@ -2073,7 +3866,13 @@ export declare namespace RuleUpdateParams {
2073
3866
  /**
2074
3867
  * Conditions for completing the profile.
2075
3868
  */
2076
- completeProfileConditions?: Record<string, boolean> | null;
3869
+ completeProfileConditions?: {
3870
+ [key: string]: boolean;
3871
+ } | null;
3872
+ /**
3873
+ * Description of the external rule condition (only for external rules)
3874
+ */
3875
+ conditionDescription?: string;
2077
3876
  /**
2078
3877
  * Object containing details for the call-to-action.
2079
3878
  */
@@ -2082,6 +3881,10 @@ export declare namespace RuleUpdateParams {
2082
3881
  * API key for custom rewards integration.
2083
3882
  */
2084
3883
  customRewardsApiKey?: string;
3884
+ /**
3885
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3886
+ */
3887
+ directRpc?: boolean;
2085
3888
  /**
2086
3889
  * Array of Discord servers, channels, and roles to join.
2087
3890
  */
@@ -2102,6 +3905,10 @@ export declare namespace RuleUpdateParams {
2102
3905
  * Flag indicating whether the verified multiplier is enabled.
2103
3906
  */
2104
3907
  enableVerifiedMultiplier?: boolean;
3908
+ /**
3909
+ * Type of ERC20 token for the loyalty rule.
3910
+ */
3911
+ erc20Type?: 'erc20' | 'native';
2105
3912
  /**
2106
3913
  * Fill source of the order for the token sale
2107
3914
  */
@@ -2110,6 +3917,14 @@ export declare namespace RuleUpdateParams {
2110
3917
  * Percentage reward given to a user for their first referral.
2111
3918
  */
2112
3919
  firstReferralReward?: number | null;
3920
+ /**
3921
+ * Name of the GitHub branch to check for PR merge.
3922
+ */
3923
+ githubBranchName?: string | null;
3924
+ /**
3925
+ * URL of the GitHub repository to check for star.
3926
+ */
3927
+ githubRepoUrl?: string | null;
2113
3928
  /**
2114
3929
  * Flag indicating whether the fill source is included.
2115
3930
  */
@@ -2118,10 +3933,6 @@ export declare namespace RuleUpdateParams {
2118
3933
  * Indicates if the item has never been sold.
2119
3934
  */
2120
3935
  hasNeverSold?: boolean;
2121
- /**
2122
- * Flag indicating whether the order source is included.
2123
- */
2124
- hasOrderSource?: boolean;
2125
3936
  /**
2126
3937
  * Indicates if the full royalty has been paid for items.
2127
3938
  */
@@ -2138,10 +3949,18 @@ export declare namespace RuleUpdateParams {
2138
3949
  * URL of the image associated with the rule.
2139
3950
  */
2140
3951
  imageUrl?: string | null;
3952
+ /**
3953
+ * If enabled, the first transaction done on the platform will complete this rule
3954
+ */
3955
+ isCheckInOnEveryTxn?: boolean;
2141
3956
  /**
2142
3957
  * Indicates if the multiplier has been applied to rewards.
2143
3958
  */
2144
3959
  isMultiplierApplied?: boolean;
3960
+ /**
3961
+ * Flag indicating if the rule is restricted to new users.
3962
+ */
3963
+ isRestrictedToNewUsers?: boolean;
2145
3964
  /**
2146
3965
  * Flag indicating if rewards are applied retroactively.
2147
3966
  */
@@ -2154,10 +3973,18 @@ export declare namespace RuleUpdateParams {
2154
3973
  * Optional link associated with the metadata.
2155
3974
  */
2156
3975
  link?: string | null;
3976
+ /**
3977
+ * Liquidity pool details.
3978
+ */
3979
+ liquidity?: Metadata.Liquidity;
2157
3980
  /**
2158
3981
  * Maximum quantity constraint for token holding.
2159
3982
  */
2160
3983
  maxQty?: number | null;
3984
+ /**
3985
+ * Minimum follower count for the rule. Accepts both number and string values.
3986
+ */
3987
+ minimumFollowerCount?: number | null;
2161
3988
  /**
2162
3989
  * Minimum quantity constraint for token holding.
2163
3990
  */
@@ -2187,17 +4014,33 @@ export declare namespace RuleUpdateParams {
2187
4014
  */
2188
4015
  onlyRewardSingleTokenOwnership?: boolean | null;
2189
4016
  /**
2190
- * Order source of the order for the token sale
4017
+ * Pre-generated text template that will be used to prefill the post content.
2191
4018
  */
2192
- orderSource?: string;
4019
+ preGeneratedPostText?: string | null;
2193
4020
  /**
2194
4021
  * Promotional code associated with the rule.
2195
4022
  */
2196
4023
  promoCode?: string;
4024
+ /**
4025
+ * URL of the CSV file containing promo codes.
4026
+ */
4027
+ promoCodeCsvUrl?: string;
4028
+ /**
4029
+ * Numbers of the promotional code to be generated.
4030
+ */
4031
+ promoCodeLength?: number | null;
4032
+ /**
4033
+ * Type of the promotional code.
4034
+ */
4035
+ promoCodeType?: 'code' | 'csv' | 'generate';
2197
4036
  /**
2198
4037
  * Array defining ranges and corresponding rewards.
2199
4038
  */
2200
4039
  range?: Array<Metadata.Range>;
4040
+ /**
4041
+ * ID of the Reddit post.
4042
+ */
4043
+ redditPostId?: string | null;
2201
4044
  /**
2202
4045
  * Object defining referral requirements.
2203
4046
  */
@@ -2206,10 +4049,61 @@ export declare namespace RuleUpdateParams {
2206
4049
  * Lump sum reward given to a referrer.
2207
4050
  */
2208
4051
  referrerReward?: number | null;
4052
+ /**
4053
+ * Loyalty currency ID of the referrer reward.
4054
+ */
4055
+ referrerRewardLoyaltyCurrencyId?: string | null;
4056
+ /**
4057
+ * Flag indicating if the post link is required.
4058
+ */
4059
+ requirePostLink?: boolean | null;
4060
+ /**
4061
+ * Flag indicating if media metadata is required.
4062
+ */
4063
+ requirePostMediaLink?: boolean | null;
4064
+ /**
4065
+ * If enabled, the progress tracking row will be deleted after a successful claim,
4066
+ * allowing the user to re-earn the rule.
4067
+ */
4068
+ resetProgressOnClaim?: boolean | null;
4069
+ /**
4070
+ * Flag indicating if the rule can also reward badges per range.
4071
+ */
4072
+ rewardBadgePerRange?: boolean;
4073
+ /**
4074
+ * Flag indicating if the reward is rewarded by batch.
4075
+ */
4076
+ rewardByBatch?: boolean | null;
4077
+ /**
4078
+ * Criteria to evaluate the reward.
4079
+ */
4080
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
4081
+ /**
4082
+ * Flag indicating if the reward is rewarded per action.
4083
+ */
4084
+ rewardPerAction?: boolean | null;
2209
4085
  /**
2210
4086
  * Flag indicating if rewards are given per impression.
2211
4087
  */
2212
4088
  rewardPerImpression?: boolean | null;
4089
+ /**
4090
+ * Flag indicating if the rule should reward based on value of traded tokens
4091
+ * instead of count.
4092
+ */
4093
+ rewardPerValue?: boolean;
4094
+ /**
4095
+ * Flag indicating if the rule should reward quality posts.
4096
+ */
4097
+ rewardQualityPosts?: boolean;
4098
+ robinhoodSymbols?: Array<string> | null;
4099
+ /**
4100
+ * Wallet address of the user can only be used if userId is not provided
4101
+ */
4102
+ royaltyAddress?: string;
4103
+ /**
4104
+ * Royalty percentage of the item.
4105
+ */
4106
+ royaltyPercentage?: number;
2213
4107
  /**
2214
4108
  * Currency associated with sales.
2215
4109
  */
@@ -2233,7 +4127,7 @@ export declare namespace RuleUpdateParams {
2233
4127
  /**
2234
4128
  * Social media platform associated with the rule.
2235
4129
  */
2236
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
4130
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Phone' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
2237
4131
  /**
2238
4132
  * URL of the social platform's logo.
2239
4133
  */
@@ -2242,10 +4136,18 @@ export declare namespace RuleUpdateParams {
2242
4136
  * Name of the social platform.
2243
4137
  */
2244
4138
  socialPlatformName?: string | null;
4139
+ /**
4140
+ * ID of the Steam app.
4141
+ */
4142
+ steamAppId?: string | null;
2245
4143
  /**
2246
4144
  * Array of streak milestones and corresponding rewards.
2247
4145
  */
2248
4146
  streakArray?: Array<Metadata.StreakArray> | null;
4147
+ /**
4148
+ * Metadata for swap loyalty rules
4149
+ */
4150
+ swap?: Metadata.Swap;
2249
4151
  /**
2250
4152
  * ID of the Telegram channel.
2251
4153
  */
@@ -2258,6 +4160,11 @@ export declare namespace RuleUpdateParams {
2258
4160
  * Flag indicating if all contracts are tracked.
2259
4161
  */
2260
4162
  trackAllContracts?: boolean | null;
4163
+ /**
4164
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4165
+ * completed once the progress is 100%.
4166
+ */
4167
+ trackProgress?: boolean | null;
2261
4168
  /**
2262
4169
  * URL of the associated Twitter account.
2263
4170
  */
@@ -2293,7 +4200,15 @@ export declare namespace RuleUpdateParams {
2293
4200
  /**
2294
4201
  * Type of wallet associated with the rule.
2295
4202
  */
2296
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4203
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
4204
+ /**
4205
+ * ID of the Youtube channel.
4206
+ */
4207
+ youtubeChannelId?: string | null;
4208
+ /**
4209
+ * ID of the Youtube video.
4210
+ */
4211
+ youtubeVideoId?: string | null;
2297
4212
  }
2298
4213
  namespace Metadata {
2299
4214
  interface Collection {
@@ -2308,7 +4223,7 @@ export declare namespace RuleUpdateParams {
2308
4223
  /**
2309
4224
  * Blockchain network of the collection.
2310
4225
  */
2311
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
4226
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
2312
4227
  }
2313
4228
  /**
2314
4229
  * Object containing details for the call-to-action.
@@ -2373,6 +4288,49 @@ export declare namespace RuleUpdateParams {
2373
4288
  */
2374
4289
  id: string;
2375
4290
  }
4291
+ /**
4292
+ * Liquidity pool details.
4293
+ */
4294
+ interface Liquidity {
4295
+ /**
4296
+ * Calculation type of the liquidity pool.
4297
+ */
4298
+ calculationType?: 'fixed' | 'custom';
4299
+ /**
4300
+ * Custom function to calculate the the reward amount based on the liquidity
4301
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4302
+ * USD.
4303
+ */
4304
+ customFunction?: string;
4305
+ /**
4306
+ * Liquidity provided per day in USD
4307
+ */
4308
+ liquidityPerDay?: number;
4309
+ /**
4310
+ * Blockchain network of the liquidity pool.
4311
+ */
4312
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'dogeosTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'horizen' | 'horizenTestnet' | 'flow_cadence';
4313
+ /**
4314
+ * Indicates if only in-range liquidity is rewarded.
4315
+ */
4316
+ onlyRewardInRangeLiquidity?: boolean;
4317
+ /**
4318
+ * Array of liquidity pools associated with the rule.
4319
+ */
4320
+ pools?: Array<Liquidity.Pool>;
4321
+ /**
4322
+ * Protocol of the liquidity pool.
4323
+ */
4324
+ protocol?: string;
4325
+ }
4326
+ namespace Liquidity {
4327
+ interface Pool {
4328
+ /**
4329
+ * Unique identifier of the liquidity pool.
4330
+ */
4331
+ id: string;
4332
+ }
4333
+ }
2376
4334
  interface Range {
2377
4335
  /**
2378
4336
  * Reward amount for this range.
@@ -2386,6 +4344,14 @@ export declare namespace RuleUpdateParams {
2386
4344
  * Start value of the range.
2387
4345
  */
2388
4346
  startRange: number;
4347
+ /**
4348
+ * ID of the loyalty badge for this range.
4349
+ */
4350
+ loyaltyBadgeId?: string;
4351
+ /**
4352
+ * Amount of the loyalty multiplier for this range.
4353
+ */
4354
+ loyaltyMultiplierAmount?: number;
2389
4355
  }
2390
4356
  /**
2391
4357
  * Object defining referral requirements.
@@ -2429,18 +4395,14 @@ export declare namespace RuleUpdateParams {
2429
4395
  * Object containing details of the associated smart contract.
2430
4396
  */
2431
4397
  interface SmartContract {
2432
- /**
2433
- * ABI of the smart contract.
2434
- */
2435
- abi?: string | null;
2436
4398
  /**
2437
4399
  * Mapping of addresses for the smart contract.
2438
4400
  */
2439
4401
  addressMapping?: string | null;
2440
4402
  /**
2441
- * Array of bonus details applied to the rule.
4403
+ * Object containing details of the amount multiplier from the event.
2442
4404
  */
2443
- bonus?: Array<SmartContract.Bonus> | null;
4405
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2444
4406
  /**
2445
4407
  * ID of the smart contract.
2446
4408
  */
@@ -2449,58 +4411,28 @@ export declare namespace RuleUpdateParams {
2449
4411
  * Criteria to evaluate the smart contract event.
2450
4412
  */
2451
4413
  criteria?: 'everyEvent' | 'byParameter' | null;
2452
- /**
2453
- * Time range applied to the rule.
2454
- */
2455
- customRange?: SmartContract.CustomRange | null;
2456
4414
  /**
2457
4415
  * Event emitted by the smart contract.
2458
4416
  */
2459
4417
  event?: string | null;
2460
- /**
2461
- * Maximum value allowed for the parameter.
2462
- */
2463
- max?: number | null;
2464
4418
  /**
2465
4419
  * Array of parameters for the smart contract.
2466
4420
  */
2467
4421
  params?: Array<SmartContract.Param> | null;
2468
4422
  /**
2469
- * Flag indicating if a bonus is applied.
2470
- */
2471
- withBonus?: boolean | null;
2472
- /**
2473
- * Flag indicating if a custom range is applied.
4423
+ * Type of the smart contract interaction.
2474
4424
  */
2475
- withCustomRange?: boolean | null;
2476
- /**
2477
- * Flag indicating if a maximum limit is applied.
2478
- */
2479
- withMax?: boolean | null;
4425
+ type?: 'function' | 'event' | null;
2480
4426
  }
2481
4427
  namespace SmartContract {
2482
- interface Bonus {
2483
- /**
2484
- * Amount of the bonus.
2485
- */
2486
- amount?: number | null;
2487
- /**
2488
- * Number of times the bonus is applied.
2489
- */
2490
- count?: number | null;
2491
- }
2492
4428
  /**
2493
- * Time range applied to the rule.
4429
+ * Object containing details of the amount multiplier from the event.
2494
4430
  */
2495
- interface CustomRange {
4431
+ interface AmountMultiplier {
2496
4432
  /**
2497
- * End time of the custom range.
4433
+ * Mapping of the value for the smart contract.
2498
4434
  */
2499
- endsAt?: string | null;
2500
- /**
2501
- * Start time of the custom range.
2502
- */
2503
- startsAt?: string | null;
4435
+ valueMapping?: string | null;
2504
4436
  }
2505
4437
  interface Param {
2506
4438
  /**
@@ -2537,15 +4469,73 @@ export declare namespace RuleUpdateParams {
2537
4469
  */
2538
4470
  streakMilestone: number;
2539
4471
  }
4472
+ /**
4473
+ * Metadata for swap loyalty rules
4474
+ */
4475
+ interface Swap {
4476
+ from?: Swap.From;
4477
+ provider?: 'any' | 'relay' | 'lifi';
4478
+ relayReferrerId?: string;
4479
+ requireCrossChainSwap?: boolean;
4480
+ to?: Swap.To;
4481
+ }
4482
+ namespace Swap {
4483
+ interface From {
4484
+ chain?: 'any' | number | string;
4485
+ mode?: 'any' | 'specific';
4486
+ tokens?: Array<From.Token>;
4487
+ trackAmount?: boolean;
4488
+ }
4489
+ namespace From {
4490
+ interface Token {
4491
+ address: string;
4492
+ chainId: string;
4493
+ }
4494
+ }
4495
+ interface To {
4496
+ chain?: 'any' | number | string;
4497
+ mode?: 'any' | 'specific';
4498
+ tokens?: Array<To.Token>;
4499
+ trackAmount?: boolean;
4500
+ }
4501
+ namespace To {
4502
+ interface Token {
4503
+ address: string;
4504
+ chainId: string;
4505
+ }
4506
+ }
4507
+ }
2540
4508
  }
2541
4509
  }
2542
4510
  export interface RuleListParams {
4511
+ /**
4512
+ * IDs of the users to filter results by
4513
+ */
4514
+ allotedToUserId?: string | Array<string>;
4515
+ /**
4516
+ * ID of the user group to filter results by
4517
+ */
4518
+ allotedUserGroupId?: string;
2543
4519
  /**
2544
4520
  * Address of the collection to filter by
2545
4521
  */
2546
4522
  collectionAddress?: string;
2547
4523
  /**
2548
- * Maximum number of records to return (max 1000)
4524
+ * Whether to include deleted/archived records
4525
+ */
4526
+ includeDeleted?: boolean;
4527
+ /**
4528
+ * If true this will only return active rules, the rules for which the startTime is
4529
+ * in the past and the endTime is in the future
4530
+ */
4531
+ isActive?: 'true' | 'false';
4532
+ /**
4533
+ * If true this will only return special rules, special rules are the rules that
4534
+ * are used for anti sybil as honey pot
4535
+ */
4536
+ isSpecial?: 'true' | 'false';
4537
+ /**
4538
+ * Maximum number of records to return (max 100)
2549
4539
  */
2550
4540
  limit?: number;
2551
4541
  /**
@@ -2569,6 +4559,12 @@ export interface RuleListParams {
2569
4559
  */
2570
4560
  websiteId?: string;
2571
4561
  }
4562
+ export interface RuleDeleteParams {
4563
+ /**
4564
+ * Whether to debit loyalty points
4565
+ */
4566
+ debitLoyaltyPoints?: string;
4567
+ }
2572
4568
  export interface RuleCompleteParams {
2573
4569
  /**
2574
4570
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -2576,13 +4572,25 @@ export interface RuleCompleteParams {
2576
4572
  */
2577
4573
  amount?: number | null;
2578
4574
  /**
2579
- * Link to the comment made by user
4575
+ * Link to the post/comment made by user
4576
+ */
4577
+ contentUrl?: string;
4578
+ /**
4579
+ * Unique key to ensure idempotent requests.
2580
4580
  */
2581
- commentLink?: string;
4581
+ idempotencyKey?: string;
2582
4582
  /**
2583
4583
  * ID of the choice selected by the user
2584
4584
  */
2585
4585
  loyaltyQuestionChoiceId?: string;
4586
+ /**
4587
+ * Value to compare with the range
4588
+ */
4589
+ rangeValue?: number | null;
4590
+ /**
4591
+ * Flag indicating if the chain or required check should be skipped.
4592
+ */
4593
+ skipChainOrRequiredCheck?: boolean;
2586
4594
  /**
2587
4595
  * Unique identifier for the user
2588
4596
  */
@@ -2593,7 +4601,7 @@ export interface RuleCompleteParams {
2593
4601
  verificationCode?: string;
2594
4602
  /**
2595
4603
  * Flag indicating if only verification is required, this will not create a
2596
- * transaction and reward the user
4604
+ * transaction and reward the user.
2597
4605
  */
2598
4606
  verifyOnly?: string;
2599
4607
  /**
@@ -2602,11 +4610,25 @@ export interface RuleCompleteParams {
2602
4610
  walletAddress?: string;
2603
4611
  }
2604
4612
  export interface RuleGetStatusParams {
2605
- organizationId: string;
2606
- websiteId: string;
4613
+ /**
4614
+ * Number of items to return
4615
+ */
4616
+ limit?: number | null;
4617
+ /**
4618
+ * Unique identifier for the loyalty rule[s]
4619
+ */
4620
+ loyaltyRuleId?: string | Array<string>;
4621
+ organizationId?: string;
4622
+ /**
4623
+ * Starting after item
4624
+ */
4625
+ startingAfter?: string;
4626
+ userGroupId?: string;
2607
4627
  userId?: string;
4628
+ walletAddress?: string;
4629
+ websiteId?: string;
2608
4630
  }
2609
4631
  export declare namespace Rules {
2610
- export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
4632
+ export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleDeleteParams as RuleDeleteParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
2611
4633
  }
2612
4634
  //# sourceMappingURL=rules.d.ts.map