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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/CHANGELOG.md +1328 -0
  2. package/README.md +13 -23
  3. package/core.d.ts +19 -5
  4. package/core.d.ts.map +1 -1
  5. package/core.js +24 -17
  6. package/core.js.map +1 -1
  7. package/core.mjs +24 -17
  8. package/core.mjs.map +1 -1
  9. package/index.d.mts +9 -6
  10. package/index.d.ts +9 -6
  11. package/index.d.ts.map +1 -1
  12. package/index.js +8 -4
  13. package/index.js.map +1 -1
  14. package/index.mjs +9 -5
  15. package/index.mjs.map +1 -1
  16. package/package.json +4 -5
  17. package/resource.d.ts +1 -1
  18. package/resource.d.ts.map +1 -1
  19. package/resource.js.map +1 -1
  20. package/resource.mjs.map +1 -1
  21. package/resources/assets.d.ts +16 -2
  22. package/resources/assets.d.ts.map +1 -1
  23. package/resources/assets.js +8 -0
  24. package/resources/assets.js.map +1 -1
  25. package/resources/assets.mjs +8 -0
  26. package/resources/assets.mjs.map +1 -1
  27. package/resources/auctions/auctions.d.ts +285 -0
  28. package/resources/auctions/auctions.d.ts.map +1 -0
  29. package/resources/auctions/auctions.js +76 -0
  30. package/resources/auctions/auctions.js.map +1 -0
  31. package/resources/auctions/auctions.mjs +49 -0
  32. package/resources/auctions/auctions.mjs.map +1 -0
  33. package/resources/auctions/index.d.ts +3 -0
  34. package/resources/auctions/index.d.ts.map +1 -0
  35. package/resources/auctions/index.js +9 -0
  36. package/resources/auctions/index.js.map +1 -0
  37. package/resources/auctions/index.mjs +4 -0
  38. package/resources/auctions/index.mjs.map +1 -0
  39. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  40. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  41. package/resources/auctions/website-user-attributes/index.js +9 -0
  42. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  43. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  44. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  45. package/resources/auctions/website-user-attributes/values.d.ts +76 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  47. package/resources/auctions/website-user-attributes/values.js +35 -0
  48. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  49. package/resources/auctions/website-user-attributes/values.mjs +31 -0
  50. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  51. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +92 -0
  52. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  53. package/resources/auctions/website-user-attributes/website-user-attributes.js +69 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +42 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  57. package/resources/auctions/website-user-attributes.d.ts +2 -0
  58. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  59. package/resources/auctions/website-user-attributes.js +19 -0
  60. package/resources/auctions/website-user-attributes.js.map +1 -0
  61. package/resources/auctions/website-user-attributes.mjs +3 -0
  62. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  63. package/resources/auctions.d.ts +1 -133
  64. package/resources/auctions.d.ts.map +1 -1
  65. package/resources/auctions.js +15 -22
  66. package/resources/auctions.js.map +1 -1
  67. package/resources/auctions.mjs +1 -20
  68. package/resources/auctions.mjs.map +1 -1
  69. package/resources/auth.d.ts +11 -3
  70. package/resources/auth.d.ts.map +1 -1
  71. package/resources/auth.js.map +1 -1
  72. package/resources/auth.mjs.map +1 -1
  73. package/resources/index.d.ts +3 -3
  74. package/resources/index.d.ts.map +1 -1
  75. package/resources/index.js +1 -1
  76. package/resources/index.js.map +1 -1
  77. package/resources/index.mjs +2 -2
  78. package/resources/index.mjs.map +1 -1
  79. package/resources/loyalty/account-streaks.d.ts +81 -0
  80. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  81. package/resources/loyalty/account-streaks.js +24 -0
  82. package/resources/loyalty/account-streaks.js.map +1 -0
  83. package/resources/loyalty/account-streaks.mjs +20 -0
  84. package/resources/loyalty/account-streaks.mjs.map +1 -0
  85. package/resources/loyalty/accounts.d.ts +58 -16
  86. package/resources/loyalty/accounts.d.ts.map +1 -1
  87. package/resources/loyalty/accounts.js +13 -0
  88. package/resources/loyalty/accounts.js.map +1 -1
  89. package/resources/loyalty/accounts.mjs +13 -0
  90. package/resources/loyalty/accounts.mjs.map +1 -1
  91. package/resources/loyalty/badges.d.ts +472 -22
  92. package/resources/loyalty/badges.d.ts.map +1 -1
  93. package/resources/loyalty/badges.js +19 -1
  94. package/resources/loyalty/badges.js.map +1 -1
  95. package/resources/loyalty/badges.mjs +19 -1
  96. package/resources/loyalty/badges.mjs.map +1 -1
  97. package/resources/loyalty/currencies.d.ts +19 -0
  98. package/resources/loyalty/currencies.d.ts.map +1 -1
  99. package/resources/loyalty/currencies.js +19 -0
  100. package/resources/loyalty/currencies.js.map +1 -1
  101. package/resources/loyalty/currencies.mjs +19 -0
  102. package/resources/loyalty/currencies.mjs.map +1 -1
  103. package/resources/loyalty/index.d.ts +4 -3
  104. package/resources/loyalty/index.d.ts.map +1 -1
  105. package/resources/loyalty/index.js +5 -3
  106. package/resources/loyalty/index.js.map +1 -1
  107. package/resources/loyalty/index.mjs +2 -1
  108. package/resources/loyalty/index.mjs.map +1 -1
  109. package/resources/loyalty/loyalty.d.ts +10 -6
  110. package/resources/loyalty/loyalty.d.ts.map +1 -1
  111. package/resources/loyalty/loyalty.js +6 -2
  112. package/resources/loyalty/loyalty.js.map +1 -1
  113. package/resources/loyalty/loyalty.mjs +7 -3
  114. package/resources/loyalty/loyalty.mjs.map +1 -1
  115. package/resources/loyalty/multipliers.d.ts +39 -2
  116. package/resources/loyalty/multipliers.d.ts.map +1 -1
  117. package/resources/loyalty/multipliers.js +23 -0
  118. package/resources/loyalty/multipliers.js.map +1 -1
  119. package/resources/loyalty/multipliers.mjs +23 -0
  120. package/resources/loyalty/multipliers.mjs.map +1 -1
  121. package/resources/loyalty/questions-responses.d.ts +39 -0
  122. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  123. package/resources/loyalty/questions-responses.js +9 -0
  124. package/resources/loyalty/questions-responses.js.map +1 -1
  125. package/resources/loyalty/questions-responses.mjs +9 -0
  126. package/resources/loyalty/questions-responses.mjs.map +1 -1
  127. package/resources/loyalty/questions.d.ts +37 -2
  128. package/resources/loyalty/questions.d.ts.map +1 -1
  129. package/resources/loyalty/questions.js +31 -0
  130. package/resources/loyalty/questions.js.map +1 -1
  131. package/resources/loyalty/questions.mjs +31 -0
  132. package/resources/loyalty/questions.mjs.map +1 -1
  133. package/resources/loyalty/rule-edits.d.ts +2610 -4
  134. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  135. package/resources/loyalty/rule-edits.js +14 -0
  136. package/resources/loyalty/rule-edits.js.map +1 -1
  137. package/resources/loyalty/rule-edits.mjs +14 -0
  138. package/resources/loyalty/rule-edits.mjs.map +1 -1
  139. package/resources/loyalty/rule-groups.d.ts +269 -58
  140. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  141. package/resources/loyalty/rule-groups.js +36 -0
  142. package/resources/loyalty/rule-groups.js.map +1 -1
  143. package/resources/loyalty/rule-groups.mjs +36 -0
  144. package/resources/loyalty/rule-groups.mjs.map +1 -1
  145. package/resources/loyalty/rules.d.ts +1848 -265
  146. package/resources/loyalty/rules.d.ts.map +1 -1
  147. package/resources/loyalty/rules.js +40 -9
  148. package/resources/loyalty/rules.js.map +1 -1
  149. package/resources/loyalty/rules.mjs +40 -9
  150. package/resources/loyalty/rules.mjs.map +1 -1
  151. package/resources/loyalty/transactions/index.d.ts +3 -0
  152. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  153. package/resources/loyalty/transactions/index.js +9 -0
  154. package/resources/loyalty/transactions/index.js.map +1 -0
  155. package/resources/loyalty/transactions/index.mjs +4 -0
  156. package/resources/loyalty/transactions/index.mjs.map +1 -0
  157. package/resources/loyalty/transactions/rule-statuses.d.ts +61 -0
  158. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  159. package/resources/loyalty/transactions/rule-statuses.js +23 -0
  160. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  161. package/resources/loyalty/transactions/rule-statuses.mjs +19 -0
  162. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  163. package/resources/loyalty/transactions/transactions.d.ts +292 -0
  164. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  165. package/resources/loyalty/transactions/transactions.js +61 -0
  166. package/resources/loyalty/transactions/transactions.js.map +1 -0
  167. package/resources/loyalty/transactions/transactions.mjs +34 -0
  168. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  169. package/resources/loyalty/transactions.d.ts +1 -247
  170. package/resources/loyalty/transactions.d.ts.map +1 -1
  171. package/resources/loyalty/transactions.js +15 -18
  172. package/resources/loyalty/transactions.js.map +1 -1
  173. package/resources/loyalty/transactions.mjs +1 -16
  174. package/resources/loyalty/transactions.mjs.map +1 -1
  175. package/resources/minting.d.ts +5 -5
  176. package/resources/minting.d.ts.map +1 -1
  177. package/resources/referral/referral.d.ts +11 -3
  178. package/resources/referral/referral.d.ts.map +1 -1
  179. package/resources/referral/referral.js +11 -5
  180. package/resources/referral/referral.js.map +1 -1
  181. package/resources/referral/referral.mjs +11 -5
  182. package/resources/referral/referral.mjs.map +1 -1
  183. package/resources/referral/users.d.ts +28 -1
  184. package/resources/referral/users.d.ts.map +1 -1
  185. package/resources/referral/users.js +14 -0
  186. package/resources/referral/users.js.map +1 -1
  187. package/resources/referral/users.mjs +14 -0
  188. package/resources/referral/users.mjs.map +1 -1
  189. package/resources/users/index.d.ts +1 -1
  190. package/resources/users/index.d.ts.map +1 -1
  191. package/resources/users/index.js.map +1 -1
  192. package/resources/users/index.mjs.map +1 -1
  193. package/resources/users/metadatas.d.ts +27 -0
  194. package/resources/users/metadatas.d.ts.map +1 -1
  195. package/resources/users/metadatas.js.map +1 -1
  196. package/resources/users/metadatas.mjs.map +1 -1
  197. package/resources/users/users.d.ts +144 -6
  198. package/resources/users/users.d.ts.map +1 -1
  199. package/resources/users/users.js +53 -1
  200. package/resources/users/users.js.map +1 -1
  201. package/resources/users/users.mjs +53 -1
  202. package/resources/users/users.mjs.map +1 -1
  203. package/resources/websites/index.d.ts +2 -2
  204. package/resources/websites/index.d.ts.map +1 -1
  205. package/resources/websites/index.js.map +1 -1
  206. package/resources/websites/index.mjs +2 -2
  207. package/resources/websites/index.mjs.map +1 -1
  208. package/resources/websites/website-collections.d.ts +0 -69
  209. package/resources/websites/website-collections.d.ts.map +1 -1
  210. package/resources/websites/website-collections.js +0 -16
  211. package/resources/websites/website-collections.js.map +1 -1
  212. package/resources/websites/website-collections.mjs +0 -16
  213. package/resources/websites/website-collections.mjs.map +1 -1
  214. package/resources/websites/website-user-roles.d.ts +23 -0
  215. package/resources/websites/website-user-roles.d.ts.map +1 -1
  216. package/resources/websites/website-user-roles.js +23 -0
  217. package/resources/websites/website-user-roles.js.map +1 -1
  218. package/resources/websites/website-user-roles.mjs +23 -0
  219. package/resources/websites/website-user-roles.mjs.map +1 -1
  220. package/resources/websites/websites.d.ts +8 -98
  221. package/resources/websites/websites.d.ts.map +1 -1
  222. package/resources/websites/websites.js +0 -6
  223. package/resources/websites/websites.js.map +1 -1
  224. package/resources/websites/websites.mjs +1 -7
  225. package/resources/websites/websites.mjs.map +1 -1
  226. package/src/core.ts +39 -16
  227. package/src/index.ts +30 -11
  228. package/src/resource.ts +1 -1
  229. package/src/resources/assets.ts +18 -2
  230. package/src/resources/auctions/auctions.ts +432 -0
  231. package/src/resources/auctions/index.ts +16 -0
  232. package/src/resources/auctions/website-user-attributes/index.ts +10 -0
  233. package/src/resources/auctions/website-user-attributes/values.ts +97 -0
  234. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +137 -0
  235. package/src/resources/auctions/website-user-attributes.ts +3 -0
  236. package/src/resources/auctions.ts +1 -207
  237. package/src/resources/auth.ts +14 -4
  238. package/src/resources/index.ts +12 -8
  239. package/src/resources/loyalty/account-streaks.ts +110 -0
  240. package/src/resources/loyalty/accounts.ts +63 -18
  241. package/src/resources/loyalty/badges.ts +567 -24
  242. package/src/resources/loyalty/currencies.ts +19 -0
  243. package/src/resources/loyalty/index.ts +12 -1
  244. package/src/resources/loyalty/loyalty.ts +33 -3
  245. package/src/resources/loyalty/multipliers.ts +43 -4
  246. package/src/resources/loyalty/questions-responses.ts +45 -0
  247. package/src/resources/loyalty/questions.ts +38 -2
  248. package/src/resources/loyalty/rule-edits.ts +3669 -51
  249. package/src/resources/loyalty/rule-groups.ts +444 -65
  250. package/src/resources/loyalty/rules.ts +2769 -326
  251. package/src/resources/loyalty/transactions/index.ts +10 -0
  252. package/src/resources/loyalty/transactions/rule-statuses.ts +87 -0
  253. package/src/resources/loyalty/transactions/transactions.ts +520 -0
  254. package/src/resources/loyalty/transactions.ts +1 -330
  255. package/src/resources/minting.ts +19 -5
  256. package/src/resources/referral/referral.ts +13 -11
  257. package/src/resources/referral/users.ts +33 -2
  258. package/src/resources/users/index.ts +4 -0
  259. package/src/resources/users/metadatas.ts +52 -0
  260. package/src/resources/users/users.ts +192 -5
  261. package/src/resources/websites/index.ts +2 -13
  262. package/src/resources/websites/website-collections.ts +1 -145
  263. package/src/resources/websites/website-user-roles.ts +23 -0
  264. package/src/resources/websites/websites.ts +8 -134
  265. package/src/version.ts +1 -1
  266. package/version.d.ts +1 -1
  267. package/version.d.ts.map +1 -1
  268. package/version.js +1 -1
  269. package/version.js.map +1 -1
  270. package/version.mjs +1 -1
  271. package/version.mjs.map +1 -1
@@ -3,34 +3,91 @@ import * as Core from "../../core.js";
3
3
  export declare class Rules extends APIResource {
4
4
  /**
5
5
  * Create a new Loyalty Rule
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const rule = await client.loyalty.rules.create({
10
+ * amount: '10.5',
11
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
12
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
13
+ * endTime: '2024-12-31T23:59:00Z',
14
+ * frequency: 'daily',
15
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
16
+ * metadata: {},
17
+ * name: 'Referral Bonus Rule',
18
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
19
+ * startTime: '2024-01-01T00:00:00Z',
20
+ * type: 'Bonus',
21
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
22
+ * });
23
+ * ```
6
24
  */
7
25
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse>;
8
26
  /**
9
27
  * Update an existing Loyalty Rule
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const rule = await client.loyalty.rules.update(
32
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
33
+ * {
34
+ * amount: '10.5',
35
+ * endTime: '2024-12-31T23:59:00Z',
36
+ * name: 'Daily Rewards Program',
37
+ * },
38
+ * );
39
+ * ```
10
40
  */
11
41
  update(id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
12
42
  /**
13
43
  * Retrieve configured loyalty rules with optional pagination and filters
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const rules = await client.loyalty.rules.list();
48
+ * ```
14
49
  */
15
50
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
16
51
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
17
52
  /**
18
53
  * Delete an existing Loyalty Rule
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const rule = await client.loyalty.rules.delete(
58
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
+ * );
60
+ * ```
19
61
  */
62
+ delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
20
63
  delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
21
64
  /**
22
65
  * Verify a loyalty rule based on user action and reward them if applicable. This
23
66
  * endpoint currently only supports following rule types code_entry, text_input,
24
67
  * link_click, discord_member, connect_wallet, check_in, external_rule,
25
68
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
26
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages
69
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
70
+ * youtube_subscribers, youtube_comment, steam_wishlist
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const response = await client.loyalty.rules.complete(
75
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
76
+ * );
77
+ * ```
27
78
  */
28
79
  complete(id: string, body?: RuleCompleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
29
80
  complete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleCompleteResponse>;
30
81
  /**
31
82
  * This will return the processing status of quests for a specific user
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const response = await client.loyalty.rules.getStatus();
87
+ * ```
32
88
  */
33
- getStatus(query: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
89
+ getStatus(query?: RuleGetStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
90
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
34
91
  }
35
92
  export interface RuleCreateResponse {
36
93
  id: string;
@@ -77,7 +134,7 @@ export interface RuleCreateResponse {
77
134
  /**
78
135
  * Type of loyalty rule being created
79
136
  */
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';
137
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'connected_tiktok';
81
138
  /**
82
139
  * Unique identifier for the associated website
83
140
  */
@@ -86,6 +143,10 @@ export interface RuleCreateResponse {
86
143
  * URL of the background asset to be displayed
87
144
  */
88
145
  backgroundAssetUrl?: string;
146
+ /**
147
+ * The type of claim for the reward
148
+ */
149
+ claimType?: 'manual' | 'auto' | null;
89
150
  /**
90
151
  * Blockchain address of the associated collection
91
152
  */
@@ -106,6 +167,11 @@ export interface RuleCreateResponse {
106
167
  * Optional detailed description of the rule
107
168
  */
108
169
  description?: string;
170
+ duplicatedFromId?: string | null;
171
+ /**
172
+ * ID of the external integration
173
+ */
174
+ externalIntegrationId?: string | null;
109
175
  /**
110
176
  * Whether to hide this rule in the user interface
111
177
  */
@@ -113,15 +179,33 @@ export interface RuleCreateResponse {
113
179
  /**
114
180
  * Interval between rule executions
115
181
  */
116
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
182
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
117
183
  /**
118
184
  * Whether this rule is mandatory
119
185
  */
120
186
  isRequired?: boolean;
187
+ /**
188
+ * Unique identifier for the loyalty badge
189
+ */
190
+ loyaltyBadgeId?: string | null;
121
191
  /**
122
192
  * Unique identifier for the loyalty rule group
123
193
  */
124
194
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
195
+ /**
196
+ * URL for uploading loyalty user allotment via CSV
197
+ */
198
+ loyaltyUserAllotmentCsvUrl?: string;
199
+ /**
200
+ * The interval for the max amount. Available for the smart contract and external
201
+ * rules.
202
+ */
203
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
204
+ /**
205
+ * The maximum amount of points a user can earn per interval. Available for the
206
+ * smart contract and external rules.
207
+ */
208
+ maxAmountPerInterval?: number | null;
125
209
  /**
126
210
  * URL of the media to be displayed
127
211
  */
@@ -129,25 +213,41 @@ export interface RuleCreateResponse {
129
213
  /**
130
214
  * Blockchain network where the rule will apply
131
215
  */
132
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
216
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
133
217
  /**
134
218
  * OAuth credentials associated with the rule
135
219
  */
136
220
  oauthCredentialsId?: string | null;
221
+ /**
222
+ * The lifetime of the reward
223
+ */
224
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
137
225
  /**
138
226
  * Type of reward issued by the rule
139
227
  */
140
- rewardType?: 'points' | 'multiplier';
228
+ rewardType?: 'points' | 'multiplier' | 'badge';
229
+ /**
230
+ * URL of the Shopify store
231
+ */
232
+ shopifyStoreUrl?: string | null;
141
233
  /**
142
- * Identifier for associated subscriptions
234
+ * Whether to show this rule before the start time
143
235
  */
144
- subscriptionIdentifier?: string | null;
236
+ showBeforeStart?: boolean;
237
+ /**
238
+ * Optional subscription id for the rule
239
+ */
240
+ subscriptionId?: string | null;
145
241
  }
146
242
  export declare namespace RuleCreateResponse {
147
243
  /**
148
244
  * Additional metadata for the loyalty rule
149
245
  */
150
246
  interface Metadata {
247
+ /**
248
+ * Number of tokens per batch.
249
+ */
250
+ batchSize?: number | null;
151
251
  /**
152
252
  * Text displayed on the action button.
153
253
  */
@@ -167,7 +267,7 @@ export declare namespace RuleCreateResponse {
167
267
  /**
168
268
  * Text to check in the Twitter post, username, or bio.
169
269
  */
170
- checkText?: string | null;
270
+ checkText?: string | Array<string> | null;
171
271
  /**
172
272
  * Array of collections associated with the rule.
173
273
  */
@@ -175,7 +275,13 @@ export declare namespace RuleCreateResponse {
175
275
  /**
176
276
  * Conditions for completing the profile.
177
277
  */
178
- completeProfileConditions?: Record<string, boolean> | null;
278
+ completeProfileConditions?: {
279
+ [key: string]: boolean;
280
+ } | null;
281
+ /**
282
+ * Description of the external rule condition (only for external rules)
283
+ */
284
+ conditionDescription?: string;
179
285
  /**
180
286
  * Object containing details for the call-to-action.
181
287
  */
@@ -184,6 +290,10 @@ export declare namespace RuleCreateResponse {
184
290
  * API key for custom rewards integration.
185
291
  */
186
292
  customRewardsApiKey?: string;
293
+ /**
294
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
295
+ */
296
+ directRpc?: boolean;
187
297
  /**
188
298
  * Array of Discord servers, channels, and roles to join.
189
299
  */
@@ -220,10 +330,6 @@ export declare namespace RuleCreateResponse {
220
330
  * Indicates if the item has never been sold.
221
331
  */
222
332
  hasNeverSold?: boolean;
223
- /**
224
- * Flag indicating whether the order source is included.
225
- */
226
- hasOrderSource?: boolean;
227
333
  /**
228
334
  * Indicates if the full royalty has been paid for items.
229
335
  */
@@ -240,10 +346,18 @@ export declare namespace RuleCreateResponse {
240
346
  * URL of the image associated with the rule.
241
347
  */
242
348
  imageUrl?: string | null;
349
+ /**
350
+ * If enabled, the first transaction done on the platform will complete this rule
351
+ */
352
+ isCheckInOnEveryTxn?: boolean;
243
353
  /**
244
354
  * Indicates if the multiplier has been applied to rewards.
245
355
  */
246
356
  isMultiplierApplied?: boolean;
357
+ /**
358
+ * Flag indicating if the rule is restricted to new users.
359
+ */
360
+ isRestrictedToNewUsers?: boolean;
247
361
  /**
248
362
  * Flag indicating if rewards are applied retroactively.
249
363
  */
@@ -256,6 +370,10 @@ export declare namespace RuleCreateResponse {
256
370
  * Optional link associated with the metadata.
257
371
  */
258
372
  link?: string | null;
373
+ /**
374
+ * Liquidity pool details.
375
+ */
376
+ liquidity?: Metadata.Liquidity;
259
377
  /**
260
378
  * Maximum quantity constraint for token holding.
261
379
  */
@@ -288,14 +406,22 @@ export declare namespace RuleCreateResponse {
288
406
  * give points for only one token ownership per contract
289
407
  */
290
408
  onlyRewardSingleTokenOwnership?: boolean | null;
291
- /**
292
- * Order source of the order for the token sale
293
- */
294
- orderSource?: string;
295
409
  /**
296
410
  * Promotional code associated with the rule.
297
411
  */
298
412
  promoCode?: string;
413
+ /**
414
+ * URL of the CSV file containing promo codes.
415
+ */
416
+ promoCodeCsvUrl?: string;
417
+ /**
418
+ * Numbers of the promotional code to be generated.
419
+ */
420
+ promoCodeLength?: number | null;
421
+ /**
422
+ * Type of the promotional code.
423
+ */
424
+ promoCodeType?: 'code' | 'csv' | 'generate';
299
425
  /**
300
426
  * Array defining ranges and corresponding rewards.
301
427
  */
@@ -308,10 +434,51 @@ export declare namespace RuleCreateResponse {
308
434
  * Lump sum reward given to a referrer.
309
435
  */
310
436
  referrerReward?: number | null;
437
+ /**
438
+ * Loyalty currency ID of the referrer reward.
439
+ */
440
+ referrerRewardLoyaltyCurrencyId?: string | null;
441
+ /**
442
+ * Flag indicating if the post link is required.
443
+ */
444
+ requirePostLink?: boolean | null;
445
+ /**
446
+ * Flag indicating if media metadata is required.
447
+ */
448
+ requirePostMediaLink?: boolean | null;
449
+ /**
450
+ * Flag indicating if the rule can also reward badges per range.
451
+ */
452
+ rewardBadgePerRange?: boolean;
453
+ /**
454
+ * Flag indicating if the reward is rewarded by batch.
455
+ */
456
+ rewardByBatch?: boolean | null;
457
+ /**
458
+ * Criteria to evaluate the reward.
459
+ */
460
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
461
+ /**
462
+ * Flag indicating if the reward is rewarded per action.
463
+ */
464
+ rewardPerAction?: boolean | null;
311
465
  /**
312
466
  * Flag indicating if rewards are given per impression.
313
467
  */
314
468
  rewardPerImpression?: boolean | null;
469
+ /**
470
+ * Flag indicating if the rule should reward based on value of traded tokens
471
+ * instead of count.
472
+ */
473
+ rewardPerValue?: boolean;
474
+ /**
475
+ * Wallet address of the user can only be used if userId is not provided
476
+ */
477
+ royaltyAddress?: string;
478
+ /**
479
+ * Royalty percentage of the item.
480
+ */
481
+ royaltyPercentage?: number;
315
482
  /**
316
483
  * Currency associated with sales.
317
484
  */
@@ -335,7 +502,7 @@ export declare namespace RuleCreateResponse {
335
502
  /**
336
503
  * Social media platform associated with the rule.
337
504
  */
338
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
505
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
339
506
  /**
340
507
  * URL of the social platform's logo.
341
508
  */
@@ -344,10 +511,18 @@ export declare namespace RuleCreateResponse {
344
511
  * Name of the social platform.
345
512
  */
346
513
  socialPlatformName?: string | null;
514
+ /**
515
+ * ID of the Steam app.
516
+ */
517
+ steamAppId?: string | null;
347
518
  /**
348
519
  * Array of streak milestones and corresponding rewards.
349
520
  */
350
521
  streakArray?: Array<Metadata.StreakArray> | null;
522
+ /**
523
+ * Metadata for swap loyalty rules
524
+ */
525
+ swap?: Metadata.Swap;
351
526
  /**
352
527
  * ID of the Telegram channel.
353
528
  */
@@ -360,6 +535,11 @@ export declare namespace RuleCreateResponse {
360
535
  * Flag indicating if all contracts are tracked.
361
536
  */
362
537
  trackAllContracts?: boolean | null;
538
+ /**
539
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
540
+ * completed once the progress is 100%.
541
+ */
542
+ trackProgress?: boolean | null;
363
543
  /**
364
544
  * URL of the associated Twitter account.
365
545
  */
@@ -395,7 +575,15 @@ export declare namespace RuleCreateResponse {
395
575
  /**
396
576
  * Type of wallet associated with the rule.
397
577
  */
398
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
578
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
579
+ /**
580
+ * ID of the Youtube channel.
581
+ */
582
+ youtubeChannelId?: string | null;
583
+ /**
584
+ * ID of the Youtube video.
585
+ */
586
+ youtubeVideoId?: string | null;
399
587
  }
400
588
  namespace Metadata {
401
589
  interface Collection {
@@ -410,7 +598,7 @@ export declare namespace RuleCreateResponse {
410
598
  /**
411
599
  * Blockchain network of the collection.
412
600
  */
413
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
601
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
414
602
  }
415
603
  /**
416
604
  * Object containing details for the call-to-action.
@@ -475,6 +663,49 @@ export declare namespace RuleCreateResponse {
475
663
  */
476
664
  id: string;
477
665
  }
666
+ /**
667
+ * Liquidity pool details.
668
+ */
669
+ interface Liquidity {
670
+ /**
671
+ * Calculation type of the liquidity pool.
672
+ */
673
+ calculationType?: 'fixed' | 'custom';
674
+ /**
675
+ * Custom function to calculate the the reward amount based on the liquidity
676
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
677
+ * USD.
678
+ */
679
+ customFunction?: string;
680
+ /**
681
+ * Liquidity provided per day in USD
682
+ */
683
+ liquidityPerDay?: number;
684
+ /**
685
+ * Blockchain network of the liquidity pool.
686
+ */
687
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
688
+ /**
689
+ * Indicates if only in-range liquidity is rewarded.
690
+ */
691
+ onlyRewardInRangeLiquidity?: boolean;
692
+ /**
693
+ * Array of liquidity pools associated with the rule.
694
+ */
695
+ pools?: Array<Liquidity.Pool>;
696
+ /**
697
+ * Protocol of the liquidity pool.
698
+ */
699
+ protocol?: string;
700
+ }
701
+ namespace Liquidity {
702
+ interface Pool {
703
+ /**
704
+ * Unique identifier of the liquidity pool.
705
+ */
706
+ id: string;
707
+ }
708
+ }
478
709
  interface Range {
479
710
  /**
480
711
  * Reward amount for this range.
@@ -488,6 +719,14 @@ export declare namespace RuleCreateResponse {
488
719
  * Start value of the range.
489
720
  */
490
721
  startRange: number;
722
+ /**
723
+ * ID of the loyalty badge for this range.
724
+ */
725
+ loyaltyBadgeId?: string;
726
+ /**
727
+ * Amount of the loyalty multiplier for this range.
728
+ */
729
+ loyaltyMultiplierAmount?: number;
491
730
  }
492
731
  /**
493
732
  * Object defining referral requirements.
@@ -531,18 +770,14 @@ export declare namespace RuleCreateResponse {
531
770
  * Object containing details of the associated smart contract.
532
771
  */
533
772
  interface SmartContract {
534
- /**
535
- * ABI of the smart contract.
536
- */
537
- abi?: string | null;
538
773
  /**
539
774
  * Mapping of addresses for the smart contract.
540
775
  */
541
776
  addressMapping?: string | null;
542
777
  /**
543
- * Array of bonus details applied to the rule.
778
+ * Object containing details of the amount multiplier from the event.
544
779
  */
545
- bonus?: Array<SmartContract.Bonus> | null;
780
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
546
781
  /**
547
782
  * ID of the smart contract.
548
783
  */
@@ -551,58 +786,28 @@ export declare namespace RuleCreateResponse {
551
786
  * Criteria to evaluate the smart contract event.
552
787
  */
553
788
  criteria?: 'everyEvent' | 'byParameter' | null;
554
- /**
555
- * Time range applied to the rule.
556
- */
557
- customRange?: SmartContract.CustomRange | null;
558
789
  /**
559
790
  * Event emitted by the smart contract.
560
791
  */
561
792
  event?: string | null;
562
- /**
563
- * Maximum value allowed for the parameter.
564
- */
565
- max?: number | null;
566
793
  /**
567
794
  * Array of parameters for the smart contract.
568
795
  */
569
796
  params?: Array<SmartContract.Param> | null;
570
797
  /**
571
- * Flag indicating if a bonus is applied.
572
- */
573
- withBonus?: boolean | null;
574
- /**
575
- * Flag indicating if a custom range is applied.
798
+ * Type of the smart contract interaction.
576
799
  */
577
- withCustomRange?: boolean | null;
578
- /**
579
- * Flag indicating if a maximum limit is applied.
580
- */
581
- withMax?: boolean | null;
800
+ type?: 'function' | 'event' | null;
582
801
  }
583
802
  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
803
  /**
595
- * Time range applied to the rule.
804
+ * Object containing details of the amount multiplier from the event.
596
805
  */
597
- interface CustomRange {
806
+ interface AmountMultiplier {
598
807
  /**
599
- * End time of the custom range.
808
+ * Mapping of the value for the smart contract.
600
809
  */
601
- endsAt?: string | null;
602
- /**
603
- * Start time of the custom range.
604
- */
605
- startsAt?: string | null;
810
+ valueMapping?: string | null;
606
811
  }
607
812
  interface Param {
608
813
  /**
@@ -639,6 +844,24 @@ export declare namespace RuleCreateResponse {
639
844
  */
640
845
  streakMilestone: number;
641
846
  }
847
+ /**
848
+ * Metadata for swap loyalty rules
849
+ */
850
+ interface Swap {
851
+ provider?: 'any' | 'relay' | 'lifi';
852
+ relayReferrerId?: string;
853
+ requireCrossChainSwap?: boolean;
854
+ swappedToChain?: 'any' | number | string;
855
+ swappedToTokens?: Array<Swap.SwappedToToken>;
856
+ tokenMode?: 'any' | 'specific';
857
+ trackTokenAmount?: boolean;
858
+ }
859
+ namespace Swap {
860
+ interface SwappedToToken {
861
+ address: string;
862
+ chainId: string;
863
+ }
864
+ }
642
865
  }
643
866
  interface Collection {
644
867
  /**
@@ -648,7 +871,11 @@ export declare namespace RuleCreateResponse {
648
871
  /**
649
872
  * Blockchain network for the collection
650
873
  */
651
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
874
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
875
+ /**
876
+ * Symbol of the collection.
877
+ */
878
+ symbol?: string;
652
879
  }
653
880
  }
654
881
  export interface RuleUpdateResponse {
@@ -665,6 +892,10 @@ export interface RuleUpdateResponse {
665
892
  * Name of the loyalty rule
666
893
  */
667
894
  name: string;
895
+ /**
896
+ * The type of claim for the reward
897
+ */
898
+ claimType?: 'manual' | 'auto' | null;
668
899
  /**
669
900
  * Blockchain address of the associated collection
670
901
  */
@@ -693,6 +924,10 @@ export interface RuleUpdateResponse {
693
924
  * Effective start time of the rule
694
925
  */
695
926
  effectiveStartTime?: string | null;
927
+ /**
928
+ * ID of the external integration
929
+ */
930
+ externalIntegrationId?: string | null;
696
931
  /**
697
932
  * Frequency of the rule execution
698
933
  */
@@ -704,7 +939,7 @@ export interface RuleUpdateResponse {
704
939
  /**
705
940
  * Time interval for recurring rule execution
706
941
  */
707
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
942
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
708
943
  /**
709
944
  * Whether this rule is required for participation
710
945
  */
@@ -713,6 +948,16 @@ export interface RuleUpdateResponse {
713
948
  * ID of the rule group section to associate with the rule
714
949
  */
715
950
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
951
+ /**
952
+ * The interval for the max amount. Available for the smart contract and external
953
+ * rules.
954
+ */
955
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
956
+ /**
957
+ * The maximum amount of points a user can earn per interval. Available for the
958
+ * smart contract and external rules.
959
+ */
960
+ maxAmountPerInterval?: number | null;
716
961
  /**
717
962
  * URL of the media to be displayed
718
963
  */
@@ -724,23 +969,35 @@ export interface RuleUpdateResponse {
724
969
  /**
725
970
  * Blockchain network where the rule will apply
726
971
  */
727
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
972
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
728
973
  /**
729
974
  * ID for associated OAuth credentials
730
975
  */
731
976
  oauthCredentialsId?: string | null;
977
+ /**
978
+ * The lifetime of the reward
979
+ */
980
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
732
981
  /**
733
982
  * Type of reward issued by this rule
734
983
  */
735
- rewardType?: 'points' | 'multiplier';
984
+ rewardType?: 'points' | 'multiplier' | 'badge';
985
+ /**
986
+ * URL of the Shopify store
987
+ */
988
+ shopifyStoreUrl?: string | null;
989
+ /**
990
+ * Whether to show this rule before the start time
991
+ */
992
+ showBeforeStart?: boolean;
736
993
  /**
737
994
  * Start time for the loyalty rule
738
995
  */
739
996
  startTime?: string | null;
740
997
  /**
741
- * Optional subscription identifier for the rule
998
+ * Optional subscription id for the rule
742
999
  */
743
- subscriptionIdentifier?: string | null;
1000
+ subscriptionId?: string | null;
744
1001
  }
745
1002
  export declare namespace RuleUpdateResponse {
746
1003
  interface Collection {
@@ -751,12 +1008,20 @@ export declare namespace RuleUpdateResponse {
751
1008
  /**
752
1009
  * Blockchain network for the collection
753
1010
  */
754
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
1011
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
1012
+ /**
1013
+ * Symbol of the collection.
1014
+ */
1015
+ symbol?: string;
755
1016
  }
756
1017
  /**
757
1018
  * Additional metadata for the loyalty rule
758
1019
  */
759
1020
  interface Metadata {
1021
+ /**
1022
+ * Number of tokens per batch.
1023
+ */
1024
+ batchSize?: number | null;
760
1025
  /**
761
1026
  * Text displayed on the action button.
762
1027
  */
@@ -776,7 +1041,7 @@ export declare namespace RuleUpdateResponse {
776
1041
  /**
777
1042
  * Text to check in the Twitter post, username, or bio.
778
1043
  */
779
- checkText?: string | null;
1044
+ checkText?: string | Array<string> | null;
780
1045
  /**
781
1046
  * Array of collections associated with the rule.
782
1047
  */
@@ -784,7 +1049,13 @@ export declare namespace RuleUpdateResponse {
784
1049
  /**
785
1050
  * Conditions for completing the profile.
786
1051
  */
787
- completeProfileConditions?: Record<string, boolean> | null;
1052
+ completeProfileConditions?: {
1053
+ [key: string]: boolean;
1054
+ } | null;
1055
+ /**
1056
+ * Description of the external rule condition (only for external rules)
1057
+ */
1058
+ conditionDescription?: string;
788
1059
  /**
789
1060
  * Object containing details for the call-to-action.
790
1061
  */
@@ -793,6 +1064,10 @@ export declare namespace RuleUpdateResponse {
793
1064
  * API key for custom rewards integration.
794
1065
  */
795
1066
  customRewardsApiKey?: string;
1067
+ /**
1068
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1069
+ */
1070
+ directRpc?: boolean;
796
1071
  /**
797
1072
  * Array of Discord servers, channels, and roles to join.
798
1073
  */
@@ -829,10 +1104,6 @@ export declare namespace RuleUpdateResponse {
829
1104
  * Indicates if the item has never been sold.
830
1105
  */
831
1106
  hasNeverSold?: boolean;
832
- /**
833
- * Flag indicating whether the order source is included.
834
- */
835
- hasOrderSource?: boolean;
836
1107
  /**
837
1108
  * Indicates if the full royalty has been paid for items.
838
1109
  */
@@ -849,10 +1120,18 @@ export declare namespace RuleUpdateResponse {
849
1120
  * URL of the image associated with the rule.
850
1121
  */
851
1122
  imageUrl?: string | null;
1123
+ /**
1124
+ * If enabled, the first transaction done on the platform will complete this rule
1125
+ */
1126
+ isCheckInOnEveryTxn?: boolean;
852
1127
  /**
853
1128
  * Indicates if the multiplier has been applied to rewards.
854
1129
  */
855
1130
  isMultiplierApplied?: boolean;
1131
+ /**
1132
+ * Flag indicating if the rule is restricted to new users.
1133
+ */
1134
+ isRestrictedToNewUsers?: boolean;
856
1135
  /**
857
1136
  * Flag indicating if rewards are applied retroactively.
858
1137
  */
@@ -865,6 +1144,10 @@ export declare namespace RuleUpdateResponse {
865
1144
  * Optional link associated with the metadata.
866
1145
  */
867
1146
  link?: string | null;
1147
+ /**
1148
+ * Liquidity pool details.
1149
+ */
1150
+ liquidity?: Metadata.Liquidity;
868
1151
  /**
869
1152
  * Maximum quantity constraint for token holding.
870
1153
  */
@@ -897,14 +1180,22 @@ export declare namespace RuleUpdateResponse {
897
1180
  * give points for only one token ownership per contract
898
1181
  */
899
1182
  onlyRewardSingleTokenOwnership?: boolean | null;
900
- /**
901
- * Order source of the order for the token sale
902
- */
903
- orderSource?: string;
904
1183
  /**
905
1184
  * Promotional code associated with the rule.
906
1185
  */
907
1186
  promoCode?: string;
1187
+ /**
1188
+ * URL of the CSV file containing promo codes.
1189
+ */
1190
+ promoCodeCsvUrl?: string;
1191
+ /**
1192
+ * Numbers of the promotional code to be generated.
1193
+ */
1194
+ promoCodeLength?: number | null;
1195
+ /**
1196
+ * Type of the promotional code.
1197
+ */
1198
+ promoCodeType?: 'code' | 'csv' | 'generate';
908
1199
  /**
909
1200
  * Array defining ranges and corresponding rewards.
910
1201
  */
@@ -917,10 +1208,51 @@ export declare namespace RuleUpdateResponse {
917
1208
  * Lump sum reward given to a referrer.
918
1209
  */
919
1210
  referrerReward?: number | null;
1211
+ /**
1212
+ * Loyalty currency ID of the referrer reward.
1213
+ */
1214
+ referrerRewardLoyaltyCurrencyId?: string | null;
1215
+ /**
1216
+ * Flag indicating if the post link is required.
1217
+ */
1218
+ requirePostLink?: boolean | null;
1219
+ /**
1220
+ * Flag indicating if media metadata is required.
1221
+ */
1222
+ requirePostMediaLink?: boolean | null;
1223
+ /**
1224
+ * Flag indicating if the rule can also reward badges per range.
1225
+ */
1226
+ rewardBadgePerRange?: boolean;
1227
+ /**
1228
+ * Flag indicating if the reward is rewarded by batch.
1229
+ */
1230
+ rewardByBatch?: boolean | null;
1231
+ /**
1232
+ * Criteria to evaluate the reward.
1233
+ */
1234
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1235
+ /**
1236
+ * Flag indicating if the reward is rewarded per action.
1237
+ */
1238
+ rewardPerAction?: boolean | null;
920
1239
  /**
921
1240
  * Flag indicating if rewards are given per impression.
922
1241
  */
923
1242
  rewardPerImpression?: boolean | null;
1243
+ /**
1244
+ * Flag indicating if the rule should reward based on value of traded tokens
1245
+ * instead of count.
1246
+ */
1247
+ rewardPerValue?: boolean;
1248
+ /**
1249
+ * Wallet address of the user can only be used if userId is not provided
1250
+ */
1251
+ royaltyAddress?: string;
1252
+ /**
1253
+ * Royalty percentage of the item.
1254
+ */
1255
+ royaltyPercentage?: number;
924
1256
  /**
925
1257
  * Currency associated with sales.
926
1258
  */
@@ -944,7 +1276,7 @@ export declare namespace RuleUpdateResponse {
944
1276
  /**
945
1277
  * Social media platform associated with the rule.
946
1278
  */
947
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
1279
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
948
1280
  /**
949
1281
  * URL of the social platform's logo.
950
1282
  */
@@ -953,10 +1285,18 @@ export declare namespace RuleUpdateResponse {
953
1285
  * Name of the social platform.
954
1286
  */
955
1287
  socialPlatformName?: string | null;
1288
+ /**
1289
+ * ID of the Steam app.
1290
+ */
1291
+ steamAppId?: string | null;
956
1292
  /**
957
1293
  * Array of streak milestones and corresponding rewards.
958
1294
  */
959
1295
  streakArray?: Array<Metadata.StreakArray> | null;
1296
+ /**
1297
+ * Metadata for swap loyalty rules
1298
+ */
1299
+ swap?: Metadata.Swap;
960
1300
  /**
961
1301
  * ID of the Telegram channel.
962
1302
  */
@@ -969,6 +1309,11 @@ export declare namespace RuleUpdateResponse {
969
1309
  * Flag indicating if all contracts are tracked.
970
1310
  */
971
1311
  trackAllContracts?: boolean | null;
1312
+ /**
1313
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1314
+ * completed once the progress is 100%.
1315
+ */
1316
+ trackProgress?: boolean | null;
972
1317
  /**
973
1318
  * URL of the associated Twitter account.
974
1319
  */
@@ -1004,7 +1349,15 @@ export declare namespace RuleUpdateResponse {
1004
1349
  /**
1005
1350
  * Type of wallet associated with the rule.
1006
1351
  */
1007
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1352
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
1353
+ /**
1354
+ * ID of the Youtube channel.
1355
+ */
1356
+ youtubeChannelId?: string | null;
1357
+ /**
1358
+ * ID of the Youtube video.
1359
+ */
1360
+ youtubeVideoId?: string | null;
1008
1361
  }
1009
1362
  namespace Metadata {
1010
1363
  interface Collection {
@@ -1019,7 +1372,7 @@ export declare namespace RuleUpdateResponse {
1019
1372
  /**
1020
1373
  * Blockchain network of the collection.
1021
1374
  */
1022
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
1375
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
1023
1376
  }
1024
1377
  /**
1025
1378
  * Object containing details for the call-to-action.
@@ -1084,6 +1437,49 @@ export declare namespace RuleUpdateResponse {
1084
1437
  */
1085
1438
  id: string;
1086
1439
  }
1440
+ /**
1441
+ * Liquidity pool details.
1442
+ */
1443
+ interface Liquidity {
1444
+ /**
1445
+ * Calculation type of the liquidity pool.
1446
+ */
1447
+ calculationType?: 'fixed' | 'custom';
1448
+ /**
1449
+ * Custom function to calculate the the reward amount based on the liquidity
1450
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1451
+ * USD.
1452
+ */
1453
+ customFunction?: string;
1454
+ /**
1455
+ * Liquidity provided per day in USD
1456
+ */
1457
+ liquidityPerDay?: number;
1458
+ /**
1459
+ * Blockchain network of the liquidity pool.
1460
+ */
1461
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
1462
+ /**
1463
+ * Indicates if only in-range liquidity is rewarded.
1464
+ */
1465
+ onlyRewardInRangeLiquidity?: boolean;
1466
+ /**
1467
+ * Array of liquidity pools associated with the rule.
1468
+ */
1469
+ pools?: Array<Liquidity.Pool>;
1470
+ /**
1471
+ * Protocol of the liquidity pool.
1472
+ */
1473
+ protocol?: string;
1474
+ }
1475
+ namespace Liquidity {
1476
+ interface Pool {
1477
+ /**
1478
+ * Unique identifier of the liquidity pool.
1479
+ */
1480
+ id: string;
1481
+ }
1482
+ }
1087
1483
  interface Range {
1088
1484
  /**
1089
1485
  * Reward amount for this range.
@@ -1097,6 +1493,14 @@ export declare namespace RuleUpdateResponse {
1097
1493
  * Start value of the range.
1098
1494
  */
1099
1495
  startRange: number;
1496
+ /**
1497
+ * ID of the loyalty badge for this range.
1498
+ */
1499
+ loyaltyBadgeId?: string;
1500
+ /**
1501
+ * Amount of the loyalty multiplier for this range.
1502
+ */
1503
+ loyaltyMultiplierAmount?: number;
1100
1504
  }
1101
1505
  /**
1102
1506
  * Object defining referral requirements.
@@ -1140,18 +1544,14 @@ export declare namespace RuleUpdateResponse {
1140
1544
  * Object containing details of the associated smart contract.
1141
1545
  */
1142
1546
  interface SmartContract {
1143
- /**
1144
- * ABI of the smart contract.
1145
- */
1146
- abi?: string | null;
1147
1547
  /**
1148
1548
  * Mapping of addresses for the smart contract.
1149
1549
  */
1150
1550
  addressMapping?: string | null;
1151
1551
  /**
1152
- * Array of bonus details applied to the rule.
1552
+ * Object containing details of the amount multiplier from the event.
1153
1553
  */
1154
- bonus?: Array<SmartContract.Bonus> | null;
1554
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1155
1555
  /**
1156
1556
  * ID of the smart contract.
1157
1557
  */
@@ -1160,58 +1560,28 @@ export declare namespace RuleUpdateResponse {
1160
1560
  * Criteria to evaluate the smart contract event.
1161
1561
  */
1162
1562
  criteria?: 'everyEvent' | 'byParameter' | null;
1163
- /**
1164
- * Time range applied to the rule.
1165
- */
1166
- customRange?: SmartContract.CustomRange | null;
1167
1563
  /**
1168
1564
  * Event emitted by the smart contract.
1169
1565
  */
1170
1566
  event?: string | null;
1171
- /**
1172
- * Maximum value allowed for the parameter.
1173
- */
1174
- max?: number | null;
1175
1567
  /**
1176
1568
  * Array of parameters for the smart contract.
1177
1569
  */
1178
1570
  params?: Array<SmartContract.Param> | null;
1179
1571
  /**
1180
- * Flag indicating if a bonus is applied.
1181
- */
1182
- withBonus?: boolean | null;
1183
- /**
1184
- * Flag indicating if a custom range is applied.
1185
- */
1186
- withCustomRange?: boolean | null;
1187
- /**
1188
- * Flag indicating if a maximum limit is applied.
1572
+ * Type of the smart contract interaction.
1189
1573
  */
1190
- withMax?: boolean | null;
1574
+ type?: 'function' | 'event' | null;
1191
1575
  }
1192
1576
  namespace SmartContract {
1193
- interface Bonus {
1194
- /**
1195
- * Amount of the bonus.
1196
- */
1197
- amount?: number | null;
1198
- /**
1199
- * Number of times the bonus is applied.
1200
- */
1201
- count?: number | null;
1202
- }
1203
1577
  /**
1204
- * Time range applied to the rule.
1578
+ * Object containing details of the amount multiplier from the event.
1205
1579
  */
1206
- interface CustomRange {
1207
- /**
1208
- * End time of the custom range.
1209
- */
1210
- endsAt?: string | null;
1580
+ interface AmountMultiplier {
1211
1581
  /**
1212
- * Start time of the custom range.
1582
+ * Mapping of the value for the smart contract.
1213
1583
  */
1214
- startsAt?: string | null;
1584
+ valueMapping?: string | null;
1215
1585
  }
1216
1586
  interface Param {
1217
1587
  /**
@@ -1248,6 +1618,24 @@ export declare namespace RuleUpdateResponse {
1248
1618
  */
1249
1619
  streakMilestone: number;
1250
1620
  }
1621
+ /**
1622
+ * Metadata for swap loyalty rules
1623
+ */
1624
+ interface Swap {
1625
+ provider?: 'any' | 'relay' | 'lifi';
1626
+ relayReferrerId?: string;
1627
+ requireCrossChainSwap?: boolean;
1628
+ swappedToChain?: 'any' | number | string;
1629
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1630
+ tokenMode?: 'any' | 'specific';
1631
+ trackTokenAmount?: boolean;
1632
+ }
1633
+ namespace Swap {
1634
+ interface SwappedToToken {
1635
+ address: string;
1636
+ chainId: string;
1637
+ }
1638
+ }
1251
1639
  }
1252
1640
  }
1253
1641
  export interface RuleListResponse {
@@ -1255,9 +1643,6 @@ export interface RuleListResponse {
1255
1643
  hasNextPage: boolean;
1256
1644
  }
1257
1645
  export declare namespace RuleListResponse {
1258
- /**
1259
- * Schema for a loyalty rule
1260
- */
1261
1646
  interface Data {
1262
1647
  /**
1263
1648
  * Unique identifier for the loyalty rule
@@ -1275,14 +1660,38 @@ export declare namespace RuleListResponse {
1275
1660
  * Timestamp when the loyalty rule was deleted (if applicable)
1276
1661
  */
1277
1662
  deletedAt: string | null;
1663
+ /**
1664
+ * Description of the loyalty rule
1665
+ */
1666
+ description: string;
1667
+ /**
1668
+ * End time of the loyalty rule
1669
+ */
1670
+ endTime: string;
1278
1671
  /**
1279
1672
  * Frequency of the loyalty rule
1280
1673
  */
1281
1674
  frequency: string;
1675
+ /**
1676
+ * Chains attached to the loyalty rule
1677
+ */
1678
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1679
+ /**
1680
+ * Name of the loyalty rule
1681
+ */
1682
+ name: string;
1282
1683
  /**
1283
1684
  * Unique identifier for the organization
1284
1685
  */
1285
1686
  organizationId: string;
1687
+ /**
1688
+ * Type of the reward
1689
+ */
1690
+ rewardType: 'points' | 'multiplier' | 'badge';
1691
+ /**
1692
+ * Start time of the loyalty rule
1693
+ */
1694
+ startTime: string;
1286
1695
  /**
1287
1696
  * Type of the loyalty rule
1288
1697
  */
@@ -1299,18 +1708,727 @@ export declare namespace RuleListResponse {
1299
1708
  * Optional address of the collection
1300
1709
  */
1301
1710
  collectionAddress?: string;
1711
+ /**
1712
+ * URL of the media associated with the loyalty rule
1713
+ */
1714
+ mediaUrl?: string | null;
1302
1715
  /**
1303
1716
  * Optional metadata for the loyalty rule
1304
1717
  */
1305
- metadata?: Record<string, unknown>;
1718
+ metadata?: {
1719
+ [key: string]: Data.Metadata;
1720
+ };
1306
1721
  }
1307
- }
1308
- export interface RuleDeleteResponse {
1722
+ namespace Data {
1723
+ interface LoyaltyRuleChain {
1724
+ /**
1725
+ * Unique identifier for the rule chain
1726
+ */
1727
+ id: string;
1728
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1729
+ /**
1730
+ * Unique identifier for the loyalty rule
1731
+ */
1732
+ loyaltyRuleId: string;
1733
+ /**
1734
+ * Name of the rule chain
1735
+ */
1736
+ name: string;
1737
+ }
1738
+ namespace LoyaltyRuleChain {
1739
+ interface LoyaltyCondition {
1740
+ /**
1741
+ * Unique identifier for the condition
1742
+ */
1743
+ id: string;
1744
+ /**
1745
+ * Amount of the condition
1746
+ */
1747
+ amount: number | null;
1748
+ association: Array<LoyaltyCondition.Association>;
1749
+ /**
1750
+ * URL of the CSV file
1751
+ */
1752
+ csvUrl: string | null;
1753
+ /**
1754
+ * Description of the condition
1755
+ */
1756
+ description: string | null;
1757
+ /**
1758
+ * Number of times the condition must be met
1759
+ */
1760
+ repeatCount: number | null;
1761
+ /**
1762
+ * Number of times the condition must be met
1763
+ */
1764
+ requiredCount: number | null;
1765
+ /**
1766
+ * Type of the condition
1767
+ */
1768
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1769
+ }
1770
+ namespace LoyaltyCondition {
1771
+ interface Association {
1772
+ /**
1773
+ * Unique identifier for the association
1774
+ */
1775
+ id: string;
1776
+ /**
1777
+ * Unique identifier for the loyalty badge
1778
+ */
1779
+ loyaltyBadgeId: string | null;
1780
+ /**
1781
+ * Unique identifier for the loyalty currency
1782
+ */
1783
+ loyaltyCurrencyId: string | null;
1784
+ loyaltyRule: Association.LoyaltyRule | null;
1785
+ /**
1786
+ * Unique identifier for the loyalty rule group
1787
+ */
1788
+ loyaltyRuleGroupId: string | null;
1789
+ /**
1790
+ * Unique identifier for the loyalty rule
1791
+ */
1792
+ loyaltyRuleId: string | null;
1793
+ }
1794
+ namespace Association {
1795
+ interface LoyaltyRule {
1796
+ /**
1797
+ * Name of the loyalty rule
1798
+ */
1799
+ name: string;
1800
+ }
1801
+ }
1802
+ }
1803
+ }
1804
+ interface Metadata {
1805
+ /**
1806
+ * Number of tokens per batch.
1807
+ */
1808
+ batchSize?: number | null;
1809
+ /**
1810
+ * Text displayed on the action button.
1811
+ */
1812
+ buttonText?: string | null;
1813
+ /**
1814
+ * Flag indicating if commenting is required.
1815
+ */
1816
+ checkComment?: boolean | null;
1817
+ /**
1818
+ * Flag indicating if liking the post is required.
1819
+ */
1820
+ checkLike?: boolean | null;
1821
+ /**
1822
+ * Flag indicating if reposting is required.
1823
+ */
1824
+ checkRepost?: boolean | null;
1825
+ /**
1826
+ * Text to check in the Twitter post, username, or bio.
1827
+ */
1828
+ checkText?: string | Array<string> | null;
1829
+ /**
1830
+ * Array of collections associated with the rule.
1831
+ */
1832
+ collection?: Array<Metadata.Collection>;
1833
+ /**
1834
+ * Conditions for completing the profile.
1835
+ */
1836
+ completeProfileConditions?: {
1837
+ [key: string]: boolean;
1838
+ } | null;
1839
+ /**
1840
+ * Description of the external rule condition (only for external rules)
1841
+ */
1842
+ conditionDescription?: string;
1843
+ /**
1844
+ * Object containing details for the call-to-action.
1845
+ */
1846
+ cta?: Metadata.Cta | null;
1847
+ /**
1848
+ * API key for custom rewards integration.
1849
+ */
1850
+ customRewardsApiKey?: string;
1851
+ /**
1852
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1853
+ */
1854
+ directRpc?: boolean;
1855
+ /**
1856
+ * Array of Discord servers, channels, and roles to join.
1857
+ */
1858
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1859
+ /**
1860
+ * Array of drip quests required to complete the rule.
1861
+ */
1862
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1863
+ /**
1864
+ * Flag indicating whether joining Discord servers is required.
1865
+ */
1866
+ enableJoinDiscordServers?: boolean | null;
1867
+ /**
1868
+ * Flag indicating whether streaks are enabled.
1869
+ */
1870
+ enableStreaks?: boolean | null;
1871
+ /**
1872
+ * Flag indicating whether the verified multiplier is enabled.
1873
+ */
1874
+ enableVerifiedMultiplier?: boolean;
1875
+ /**
1876
+ * Fill source of the order for the token sale
1877
+ */
1878
+ fillSource?: string;
1879
+ /**
1880
+ * Percentage reward given to a user for their first referral.
1881
+ */
1882
+ firstReferralReward?: number | null;
1883
+ /**
1884
+ * Flag indicating whether the fill source is included.
1885
+ */
1886
+ hasFillSource?: boolean;
1887
+ /**
1888
+ * Indicates if the item has never been sold.
1889
+ */
1890
+ hasNeverSold?: boolean;
1891
+ /**
1892
+ * Indicates if the full royalty has been paid for items.
1893
+ */
1894
+ hasPaidFullRoyalty?: boolean;
1895
+ /**
1896
+ * Flag indicating if the sale currency is included.
1897
+ */
1898
+ hasSaleCurrency?: boolean;
1899
+ /**
1900
+ * Indicates if the user has a verified Twitter account.
1901
+ */
1902
+ hasVerifiedTwitter?: boolean;
1903
+ /**
1904
+ * URL of the image associated with the rule.
1905
+ */
1906
+ imageUrl?: string | null;
1907
+ /**
1908
+ * If enabled, the first transaction done on the platform will complete this rule
1909
+ */
1910
+ isCheckInOnEveryTxn?: boolean;
1911
+ /**
1912
+ * Indicates if the multiplier has been applied to rewards.
1913
+ */
1914
+ isMultiplierApplied?: boolean;
1915
+ /**
1916
+ * Flag indicating if the rule is restricted to new users.
1917
+ */
1918
+ isRestrictedToNewUsers?: boolean;
1919
+ /**
1920
+ * Flag indicating if rewards are applied retroactively.
1921
+ */
1922
+ isRetroactive?: boolean | null;
1923
+ /**
1924
+ * Flag indicating if the token hold multiplier is applied.
1925
+ */
1926
+ isTokenHoldMultiplier?: boolean;
1927
+ /**
1928
+ * Optional link associated with the metadata.
1929
+ */
1930
+ link?: string | null;
1931
+ /**
1932
+ * Liquidity pool details.
1933
+ */
1934
+ liquidity?: Metadata.Liquidity;
1935
+ /**
1936
+ * Maximum quantity constraint for token holding.
1937
+ */
1938
+ maxQty?: number | null;
1939
+ /**
1940
+ * Minimum quantity constraint for token holding.
1941
+ */
1942
+ minQty?: number | null;
1943
+ /**
1944
+ * Array of loyalty currency IDs used for multipliers.
1945
+ */
1946
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1947
+ /**
1948
+ * Flag indicating whether to include only known users.
1949
+ */
1950
+ onlyKnownUsers?: boolean;
1951
+ /**
1952
+ * Flag indicating whether to include only native tokens.
1953
+ */
1954
+ onlyNative?: boolean;
1955
+ /**
1956
+ * Flag indicating whether to include only non-listed items.
1957
+ */
1958
+ onlyNonListed?: boolean;
1959
+ /**
1960
+ * Indicates if only existing users are rewarded.
1961
+ */
1962
+ onlyRewardExistingUser?: boolean;
1963
+ /**
1964
+ * give points for only one token ownership per contract
1965
+ */
1966
+ onlyRewardSingleTokenOwnership?: boolean | null;
1967
+ /**
1968
+ * Promotional code associated with the rule.
1969
+ */
1970
+ promoCode?: string;
1971
+ /**
1972
+ * URL of the CSV file containing promo codes.
1973
+ */
1974
+ promoCodeCsvUrl?: string;
1975
+ /**
1976
+ * Numbers of the promotional code to be generated.
1977
+ */
1978
+ promoCodeLength?: number | null;
1979
+ /**
1980
+ * Type of the promotional code.
1981
+ */
1982
+ promoCodeType?: 'code' | 'csv' | 'generate';
1983
+ /**
1984
+ * Array defining ranges and corresponding rewards.
1985
+ */
1986
+ range?: Array<Metadata.Range>;
1987
+ /**
1988
+ * Object defining referral requirements.
1989
+ */
1990
+ referralRequirements?: Metadata.ReferralRequirements | null;
1991
+ /**
1992
+ * Lump sum reward given to a referrer.
1993
+ */
1994
+ referrerReward?: number | null;
1995
+ /**
1996
+ * Loyalty currency ID of the referrer reward.
1997
+ */
1998
+ referrerRewardLoyaltyCurrencyId?: string | null;
1999
+ /**
2000
+ * Flag indicating if the post link is required.
2001
+ */
2002
+ requirePostLink?: boolean | null;
2003
+ /**
2004
+ * Flag indicating if media metadata is required.
2005
+ */
2006
+ requirePostMediaLink?: boolean | null;
2007
+ /**
2008
+ * Flag indicating if the rule can also reward badges per range.
2009
+ */
2010
+ rewardBadgePerRange?: boolean;
2011
+ /**
2012
+ * Flag indicating if the reward is rewarded by batch.
2013
+ */
2014
+ rewardByBatch?: boolean | null;
2015
+ /**
2016
+ * Criteria to evaluate the reward.
2017
+ */
2018
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2019
+ /**
2020
+ * Flag indicating if the reward is rewarded per action.
2021
+ */
2022
+ rewardPerAction?: boolean | null;
2023
+ /**
2024
+ * Flag indicating if rewards are given per impression.
2025
+ */
2026
+ rewardPerImpression?: boolean | null;
2027
+ /**
2028
+ * Flag indicating if the rule should reward based on value of traded tokens
2029
+ * instead of count.
2030
+ */
2031
+ rewardPerValue?: boolean;
2032
+ /**
2033
+ * Wallet address of the user can only be used if userId is not provided
2034
+ */
2035
+ royaltyAddress?: string;
2036
+ /**
2037
+ * Royalty percentage of the item.
2038
+ */
2039
+ royaltyPercentage?: number;
2040
+ /**
2041
+ * Currency associated with sales.
2042
+ */
2043
+ saleCurrency?: string;
2044
+ /**
2045
+ * Percentage reward given for a second-level referral.
2046
+ */
2047
+ secondReferralReward?: number | null;
2048
+ /**
2049
+ * Flag indicating if the multiplier is skipped.
2050
+ */
2051
+ skipMultiplier?: boolean | null;
2052
+ /**
2053
+ * Object containing details of the associated smart contract.
2054
+ */
2055
+ smartContract?: Metadata.SmartContract;
2056
+ /**
2057
+ * Array of snapshot proposals for the rule.
2058
+ */
2059
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2060
+ /**
2061
+ * Social media platform associated with the rule.
2062
+ */
2063
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2064
+ /**
2065
+ * URL of the social platform's logo.
2066
+ */
2067
+ socialPlatformLogo?: string | null;
2068
+ /**
2069
+ * Name of the social platform.
2070
+ */
2071
+ socialPlatformName?: string | null;
2072
+ /**
2073
+ * ID of the Steam app.
2074
+ */
2075
+ steamAppId?: string | null;
2076
+ /**
2077
+ * Array of streak milestones and corresponding rewards.
2078
+ */
2079
+ streakArray?: Array<Metadata.StreakArray> | null;
2080
+ /**
2081
+ * Metadata for swap loyalty rules
2082
+ */
2083
+ swap?: Metadata.Swap;
2084
+ /**
2085
+ * ID of the Telegram channel.
2086
+ */
2087
+ telegramChannelId?: string | null;
2088
+ /**
2089
+ * Time delay in seconds to verify actions.
2090
+ */
2091
+ timeDelayToVerifySeconds?: string | number | null;
2092
+ /**
2093
+ * Flag indicating if all contracts are tracked.
2094
+ */
2095
+ trackAllContracts?: boolean | null;
2096
+ /**
2097
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2098
+ * completed once the progress is 100%.
2099
+ */
2100
+ trackProgress?: boolean | null;
2101
+ /**
2102
+ * URL of the associated Twitter account.
2103
+ */
2104
+ twitterAccountUrl?: string;
2105
+ /**
2106
+ * Hashtag associated with the Twitter post.
2107
+ */
2108
+ twitterHashtag?: string;
2109
+ /**
2110
+ * URL of the associated Twitter post.
2111
+ */
2112
+ twitterPostUrl?: string;
2113
+ /**
2114
+ * Unique identifier of the Twitter user.
2115
+ */
2116
+ twitterUserId?: string;
2117
+ /**
2118
+ * Twitter username of the user.
2119
+ */
2120
+ twitterUsername?: string;
2121
+ /**
2122
+ * Minimum length of the verification text.
2123
+ */
2124
+ verificationTextMinimumLength?: number | null;
2125
+ /**
2126
+ * Multiplier applied to rewards for verified users.
2127
+ */
2128
+ verifiedMultiplier?: number | null;
2129
+ /**
2130
+ * Placeholder text for verification input fields.
2131
+ */
2132
+ verifyPlaceHolderText?: string | null;
2133
+ /**
2134
+ * Type of wallet associated with the rule.
2135
+ */
2136
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2137
+ /**
2138
+ * ID of the Youtube channel.
2139
+ */
2140
+ youtubeChannelId?: string | null;
2141
+ /**
2142
+ * ID of the Youtube video.
2143
+ */
2144
+ youtubeVideoId?: string | null;
2145
+ }
2146
+ namespace Metadata {
2147
+ interface Collection {
2148
+ /**
2149
+ * Blockchain address of the collection.
2150
+ */
2151
+ address?: string;
2152
+ /**
2153
+ * Multiplier applied to the rewards for this collection.
2154
+ */
2155
+ multiplier?: number;
2156
+ /**
2157
+ * Blockchain network of the collection.
2158
+ */
2159
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
2160
+ }
2161
+ /**
2162
+ * Object containing details for the call-to-action.
2163
+ */
2164
+ interface Cta {
2165
+ /**
2166
+ * Link for the call-to-action.
2167
+ */
2168
+ href?: string | null;
2169
+ /**
2170
+ * Label for the call-to-action.
2171
+ */
2172
+ label?: string | null;
2173
+ }
2174
+ interface DiscordServersToJoin {
2175
+ /**
2176
+ * ID of the Discord server to join.
2177
+ */
2178
+ id?: string;
2179
+ /**
2180
+ * Array of Discord channels to join.
2181
+ */
2182
+ channels?: Array<DiscordServersToJoin.Channel>;
2183
+ /**
2184
+ * Array of roles to assign in the Discord server.
2185
+ */
2186
+ roles?: Array<DiscordServersToJoin.Role>;
2187
+ }
2188
+ namespace DiscordServersToJoin {
2189
+ interface Channel {
2190
+ /**
2191
+ * ID of the Discord channel.
2192
+ */
2193
+ id?: string;
2194
+ /**
2195
+ * Array of emojis used in the channel.
2196
+ */
2197
+ emojis?: Array<Channel.Emoji>;
2198
+ /**
2199
+ * Phrase of text to be present in the discord message
2200
+ */
2201
+ text?: string;
2202
+ }
2203
+ namespace Channel {
2204
+ interface Emoji {
2205
+ /**
2206
+ * ID of the emoji used in the channel.
2207
+ */
2208
+ id?: string;
2209
+ }
2210
+ }
2211
+ interface Role {
2212
+ /**
2213
+ * ID of the role in the Discord server.
2214
+ */
2215
+ id: string;
2216
+ }
2217
+ }
2218
+ interface DripQuestsToComplete {
2219
+ /**
2220
+ * ID of the drip quest to complete.
2221
+ */
2222
+ id: string;
2223
+ }
2224
+ /**
2225
+ * Liquidity pool details.
2226
+ */
2227
+ interface Liquidity {
2228
+ /**
2229
+ * Calculation type of the liquidity pool.
2230
+ */
2231
+ calculationType?: 'fixed' | 'custom';
2232
+ /**
2233
+ * Custom function to calculate the the reward amount based on the liquidity
2234
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2235
+ * USD.
2236
+ */
2237
+ customFunction?: string;
2238
+ /**
2239
+ * Liquidity provided per day in USD
2240
+ */
2241
+ liquidityPerDay?: number;
2242
+ /**
2243
+ * Blockchain network of the liquidity pool.
2244
+ */
2245
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
2246
+ /**
2247
+ * Indicates if only in-range liquidity is rewarded.
2248
+ */
2249
+ onlyRewardInRangeLiquidity?: boolean;
2250
+ /**
2251
+ * Array of liquidity pools associated with the rule.
2252
+ */
2253
+ pools?: Array<Liquidity.Pool>;
2254
+ /**
2255
+ * Protocol of the liquidity pool.
2256
+ */
2257
+ protocol?: string;
2258
+ }
2259
+ namespace Liquidity {
2260
+ interface Pool {
2261
+ /**
2262
+ * Unique identifier of the liquidity pool.
2263
+ */
2264
+ id: string;
2265
+ }
2266
+ }
2267
+ interface Range {
2268
+ /**
2269
+ * Reward amount for this range.
2270
+ */
2271
+ amount: number;
2272
+ /**
2273
+ * End value of the range.
2274
+ */
2275
+ endRange: number;
2276
+ /**
2277
+ * Start value of the range.
2278
+ */
2279
+ startRange: number;
2280
+ /**
2281
+ * ID of the loyalty badge for this range.
2282
+ */
2283
+ loyaltyBadgeId?: string;
2284
+ /**
2285
+ * Amount of the loyalty multiplier for this range.
2286
+ */
2287
+ loyaltyMultiplierAmount?: number;
2288
+ }
2289
+ /**
2290
+ * Object defining referral requirements.
2291
+ */
2292
+ interface ReferralRequirements {
2293
+ /**
2294
+ * Flag indicating if achieving points is required.
2295
+ */
2296
+ achievePoints?: boolean | null;
2297
+ /**
2298
+ * Flag indicating if completing the profile is required.
2299
+ */
2300
+ completeProfile?: boolean | null;
2301
+ /**
2302
+ * Flag indicating if connecting Discord is required.
2303
+ */
2304
+ connectDiscord?: boolean | null;
2305
+ /**
2306
+ * Flag indicating if connecting email is required.
2307
+ */
2308
+ connectEmail?: boolean | null;
2309
+ /**
2310
+ * Flag indicating if connecting Twitter is required.
2311
+ */
2312
+ connectTwitter?: boolean | null;
2313
+ points?: ReferralRequirements.Points | null;
2314
+ }
2315
+ namespace ReferralRequirements {
2316
+ interface Points {
2317
+ /**
2318
+ * Points required for referral.
2319
+ */
2320
+ amount?: number | null;
2321
+ /**
2322
+ * ID of the loyalty currency for referral.
2323
+ */
2324
+ loyaltyCurrecyId?: string | null;
2325
+ }
2326
+ }
2327
+ /**
2328
+ * Object containing details of the associated smart contract.
2329
+ */
2330
+ interface SmartContract {
2331
+ /**
2332
+ * Mapping of addresses for the smart contract.
2333
+ */
2334
+ addressMapping?: string | null;
2335
+ /**
2336
+ * Object containing details of the amount multiplier from the event.
2337
+ */
2338
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2339
+ /**
2340
+ * ID of the smart contract.
2341
+ */
2342
+ contractId?: string | null;
2343
+ /**
2344
+ * Criteria to evaluate the smart contract event.
2345
+ */
2346
+ criteria?: 'everyEvent' | 'byParameter' | null;
2347
+ /**
2348
+ * Event emitted by the smart contract.
2349
+ */
2350
+ event?: string | null;
2351
+ /**
2352
+ * Array of parameters for the smart contract.
2353
+ */
2354
+ params?: Array<SmartContract.Param> | null;
2355
+ /**
2356
+ * Type of the smart contract interaction.
2357
+ */
2358
+ type?: 'function' | 'event' | null;
2359
+ }
2360
+ namespace SmartContract {
2361
+ /**
2362
+ * Object containing details of the amount multiplier from the event.
2363
+ */
2364
+ interface AmountMultiplier {
2365
+ /**
2366
+ * Mapping of the value for the smart contract.
2367
+ */
2368
+ valueMapping?: string | null;
2369
+ }
2370
+ interface Param {
2371
+ /**
2372
+ * Condition to check for the parameter.
2373
+ */
2374
+ condition?: string | null;
2375
+ /**
2376
+ * Name of the smart contract parameter.
2377
+ */
2378
+ name?: string | null;
2379
+ /**
2380
+ * Value of the parameter.
2381
+ */
2382
+ value?: string | null;
2383
+ }
2384
+ }
2385
+ interface SnapshotProposal {
2386
+ /**
2387
+ * ID of the snapshot proposal.
2388
+ */
2389
+ id: string;
2390
+ /**
2391
+ * Space associated with the snapshot proposal.
2392
+ */
2393
+ space: string;
2394
+ }
2395
+ interface StreakArray {
2396
+ /**
2397
+ * Reward amount for achieving the streak milestone.
2398
+ */
2399
+ streakAmount: number;
2400
+ /**
2401
+ * Milestone required to achieve the streak.
2402
+ */
2403
+ streakMilestone: number;
2404
+ }
2405
+ /**
2406
+ * Metadata for swap loyalty rules
2407
+ */
2408
+ interface Swap {
2409
+ provider?: 'any' | 'relay' | 'lifi';
2410
+ relayReferrerId?: string;
2411
+ requireCrossChainSwap?: boolean;
2412
+ swappedToChain?: 'any' | number | string;
2413
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2414
+ tokenMode?: 'any' | 'specific';
2415
+ trackTokenAmount?: boolean;
2416
+ }
2417
+ namespace Swap {
2418
+ interface SwappedToToken {
2419
+ address: string;
2420
+ chainId: string;
2421
+ }
2422
+ }
2423
+ }
2424
+ }
2425
+ }
2426
+ export interface RuleDeleteResponse {
1309
2427
  id: string;
1310
2428
  deletedAt: string;
1311
2429
  }
1312
2430
  export interface RuleCompleteResponse {
1313
- message: string;
2431
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1314
2432
  }
1315
2433
  export interface RuleGetStatusResponse {
1316
2434
  data: Array<RuleGetStatusResponse.Data>;
@@ -1318,9 +2436,97 @@ export interface RuleGetStatusResponse {
1318
2436
  export declare namespace RuleGetStatusResponse {
1319
2437
  interface Data {
1320
2438
  loyaltyRuleId: string;
1321
- status: 'pending' | 'processing' | 'completed' | 'failed';
1322
2439
  userId: string;
2440
+ /**
2441
+ * Categorized examples of messages that may be returned for a loyalty rule's
2442
+ * processing result.
2443
+ *
2444
+ * User Onboarding
2445
+ *
2446
+ * - Check In: "Streak successful"
2447
+ * - Complete Profile Details: "Profile not complete"
2448
+ *
2449
+ * Connect Accounts
2450
+ *
2451
+ * - Connect TikTok: "TikTok not connected"
2452
+ * - Connect Discord: "Discord not connected", "Discord request timeout"
2453
+ * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2454
+ * required"
2455
+ * - Connect Email: "Email address not connected"
2456
+ * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2457
+ * telegramUsername), please setup username in telegram and reconnect.",
2458
+ * "Telegram request rate-limited"
2459
+ * - Connect Steam: "Steam not connected"
2460
+ * - Connect Youtube: "Youtube not connected"
2461
+ *
2462
+ * Social Quests
2463
+ *
2464
+ * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2465
+ * successfully"
2466
+ * - Post on TikTok: "TikTok post not verified"
2467
+ * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2468
+ * "Quest Not Completed: Comment not found for the specified tweet"
2469
+ * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2470
+ * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2471
+ * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2472
+ * retweeted or commented on the tweet"
2473
+ * - Follow an X Account: "Missing required parameters: twitterUserId,
2474
+ * targetUsername", "Quest Completed: You are a follower of
2475
+ * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2476
+ * and try again in few minutes"
2477
+ * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2478
+ * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2479
+ * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2480
+ * posts are already claimed. Please post a new tweet and try again in a few
2481
+ * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2482
+ * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2483
+ * not have media", "Text found in tweet"
2484
+ * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2485
+ * not found", "Text found in bio", "Text not found in bio"
2486
+ * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2487
+ * "User not found", "Text found in username", "Text not found in username"
2488
+ * - Comment on an X Post with Text: "Missing required parameters: texts,
2489
+ * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2490
+ * not found in comment", "Tweet not found or could not be retrieved"
2491
+ * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2492
+ * added"
2493
+ * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2494
+ * please make sure you have made your subscriptions public in youtube"
2495
+ * - Get X post impressions: "You've already claimed the reward for this impression
2496
+ * range."
2497
+ * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2498
+ * item not added"
2499
+ *
2500
+ * Complex Onchain Logic
2501
+ *
2502
+ * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2503
+ *
2504
+ * Other
2505
+ *
2506
+ * - Answer a Quiz: "Quiz question not configured", "No question response found",
2507
+ * "Incorrect answer", "Correct answer"
2508
+ * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2509
+ * - Spend in Shopify Store: "Shopify not connected"
2510
+ * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2511
+ *
2512
+ * General / Unmatched
2513
+ *
2514
+ * - "Quest already completed"
2515
+ * - "Quest already completed using the same social account (${socialAccountName}),
2516
+ * with the different user."
2517
+ * - "You've already claimed the reward for this quest."
2518
+ * - "Quest not achieved, please try again."
2519
+ * - "Rule is not setup"
2520
+ * - "Request aborted due to timeout"
2521
+ * - "Google account not connected"
2522
+ * - "Claim failed: Multiplier is already active"
2523
+ */
1323
2524
  message?: string;
2525
+ /**
2526
+ * Status of the queued job, this is only returned if the job is queued and being
2527
+ * processed, this wil be retained for 10 minutes after the job is completed
2528
+ */
2529
+ status?: 'pending' | 'processing' | 'completed' | 'failed';
1324
2530
  }
1325
2531
  }
1326
2532
  export interface RuleCreateParams {
@@ -1367,7 +2573,7 @@ export interface RuleCreateParams {
1367
2573
  /**
1368
2574
  * Type of loyalty rule being created
1369
2575
  */
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';
2576
+ type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'connected_tiktok';
1371
2577
  /**
1372
2578
  * Unique identifier for the associated website
1373
2579
  */
@@ -1376,6 +2582,10 @@ export interface RuleCreateParams {
1376
2582
  * URL of the background asset to be displayed
1377
2583
  */
1378
2584
  backgroundAssetUrl?: string;
2585
+ /**
2586
+ * The type of claim for the reward
2587
+ */
2588
+ claimType?: 'manual' | 'auto' | null;
1379
2589
  /**
1380
2590
  * Blockchain address of the associated collection
1381
2591
  */
@@ -1396,6 +2606,11 @@ export interface RuleCreateParams {
1396
2606
  * Optional detailed description of the rule
1397
2607
  */
1398
2608
  description?: string;
2609
+ duplicatedFromId?: string | null;
2610
+ /**
2611
+ * ID of the external integration
2612
+ */
2613
+ externalIntegrationId?: string | null;
1399
2614
  /**
1400
2615
  * Whether to hide this rule in the user interface
1401
2616
  */
@@ -1403,15 +2618,33 @@ export interface RuleCreateParams {
1403
2618
  /**
1404
2619
  * Interval between rule executions
1405
2620
  */
1406
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2621
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1407
2622
  /**
1408
2623
  * Whether this rule is mandatory
1409
2624
  */
1410
2625
  isRequired?: boolean;
1411
2626
  /**
1412
- * Unique identifier for the loyalty rule group
2627
+ * Unique identifier for the loyalty badge
2628
+ */
2629
+ loyaltyBadgeId?: string | null;
2630
+ /**
2631
+ * Unique identifier for the loyalty rule group
2632
+ */
2633
+ loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2634
+ /**
2635
+ * URL for uploading loyalty user allotment via CSV
2636
+ */
2637
+ loyaltyUserAllotmentCsvUrl?: string;
2638
+ /**
2639
+ * The interval for the max amount. Available for the smart contract and external
2640
+ * rules.
2641
+ */
2642
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2643
+ /**
2644
+ * The maximum amount of points a user can earn per interval. Available for the
2645
+ * smart contract and external rules.
1413
2646
  */
1414
- loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2647
+ maxAmountPerInterval?: number | null;
1415
2648
  /**
1416
2649
  * URL of the media to be displayed
1417
2650
  */
@@ -1419,25 +2652,41 @@ export interface RuleCreateParams {
1419
2652
  /**
1420
2653
  * Blockchain network where the rule will apply
1421
2654
  */
1422
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
2655
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
1423
2656
  /**
1424
2657
  * OAuth credentials associated with the rule
1425
2658
  */
1426
2659
  oauthCredentialsId?: string | null;
2660
+ /**
2661
+ * The lifetime of the reward
2662
+ */
2663
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
1427
2664
  /**
1428
2665
  * Type of reward issued by the rule
1429
2666
  */
1430
- rewardType?: 'points' | 'multiplier';
2667
+ rewardType?: 'points' | 'multiplier' | 'badge';
2668
+ /**
2669
+ * URL of the Shopify store
2670
+ */
2671
+ shopifyStoreUrl?: string | null;
2672
+ /**
2673
+ * Whether to show this rule before the start time
2674
+ */
2675
+ showBeforeStart?: boolean;
1431
2676
  /**
1432
- * Identifier for associated subscriptions
2677
+ * Optional subscription id for the rule
1433
2678
  */
1434
- subscriptionIdentifier?: string | null;
2679
+ subscriptionId?: string | null;
1435
2680
  }
1436
2681
  export declare namespace RuleCreateParams {
1437
2682
  /**
1438
2683
  * Additional metadata for the loyalty rule
1439
2684
  */
1440
2685
  interface Metadata {
2686
+ /**
2687
+ * Number of tokens per batch.
2688
+ */
2689
+ batchSize?: number | null;
1441
2690
  /**
1442
2691
  * Text displayed on the action button.
1443
2692
  */
@@ -1457,7 +2706,7 @@ export declare namespace RuleCreateParams {
1457
2706
  /**
1458
2707
  * Text to check in the Twitter post, username, or bio.
1459
2708
  */
1460
- checkText?: string | null;
2709
+ checkText?: string | Array<string> | null;
1461
2710
  /**
1462
2711
  * Array of collections associated with the rule.
1463
2712
  */
@@ -1465,7 +2714,13 @@ export declare namespace RuleCreateParams {
1465
2714
  /**
1466
2715
  * Conditions for completing the profile.
1467
2716
  */
1468
- completeProfileConditions?: Record<string, boolean> | null;
2717
+ completeProfileConditions?: {
2718
+ [key: string]: boolean;
2719
+ } | null;
2720
+ /**
2721
+ * Description of the external rule condition (only for external rules)
2722
+ */
2723
+ conditionDescription?: string;
1469
2724
  /**
1470
2725
  * Object containing details for the call-to-action.
1471
2726
  */
@@ -1474,6 +2729,10 @@ export declare namespace RuleCreateParams {
1474
2729
  * API key for custom rewards integration.
1475
2730
  */
1476
2731
  customRewardsApiKey?: string;
2732
+ /**
2733
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2734
+ */
2735
+ directRpc?: boolean;
1477
2736
  /**
1478
2737
  * Array of Discord servers, channels, and roles to join.
1479
2738
  */
@@ -1510,10 +2769,6 @@ export declare namespace RuleCreateParams {
1510
2769
  * Indicates if the item has never been sold.
1511
2770
  */
1512
2771
  hasNeverSold?: boolean;
1513
- /**
1514
- * Flag indicating whether the order source is included.
1515
- */
1516
- hasOrderSource?: boolean;
1517
2772
  /**
1518
2773
  * Indicates if the full royalty has been paid for items.
1519
2774
  */
@@ -1530,10 +2785,18 @@ export declare namespace RuleCreateParams {
1530
2785
  * URL of the image associated with the rule.
1531
2786
  */
1532
2787
  imageUrl?: string | null;
2788
+ /**
2789
+ * If enabled, the first transaction done on the platform will complete this rule
2790
+ */
2791
+ isCheckInOnEveryTxn?: boolean;
1533
2792
  /**
1534
2793
  * Indicates if the multiplier has been applied to rewards.
1535
2794
  */
1536
2795
  isMultiplierApplied?: boolean;
2796
+ /**
2797
+ * Flag indicating if the rule is restricted to new users.
2798
+ */
2799
+ isRestrictedToNewUsers?: boolean;
1537
2800
  /**
1538
2801
  * Flag indicating if rewards are applied retroactively.
1539
2802
  */
@@ -1546,6 +2809,10 @@ export declare namespace RuleCreateParams {
1546
2809
  * Optional link associated with the metadata.
1547
2810
  */
1548
2811
  link?: string | null;
2812
+ /**
2813
+ * Liquidity pool details.
2814
+ */
2815
+ liquidity?: Metadata.Liquidity;
1549
2816
  /**
1550
2817
  * Maximum quantity constraint for token holding.
1551
2818
  */
@@ -1578,14 +2845,22 @@ export declare namespace RuleCreateParams {
1578
2845
  * give points for only one token ownership per contract
1579
2846
  */
1580
2847
  onlyRewardSingleTokenOwnership?: boolean | null;
1581
- /**
1582
- * Order source of the order for the token sale
1583
- */
1584
- orderSource?: string;
1585
2848
  /**
1586
2849
  * Promotional code associated with the rule.
1587
2850
  */
1588
2851
  promoCode?: string;
2852
+ /**
2853
+ * URL of the CSV file containing promo codes.
2854
+ */
2855
+ promoCodeCsvUrl?: string;
2856
+ /**
2857
+ * Numbers of the promotional code to be generated.
2858
+ */
2859
+ promoCodeLength?: number | null;
2860
+ /**
2861
+ * Type of the promotional code.
2862
+ */
2863
+ promoCodeType?: 'code' | 'csv' | 'generate';
1589
2864
  /**
1590
2865
  * Array defining ranges and corresponding rewards.
1591
2866
  */
@@ -1598,10 +2873,51 @@ export declare namespace RuleCreateParams {
1598
2873
  * Lump sum reward given to a referrer.
1599
2874
  */
1600
2875
  referrerReward?: number | null;
2876
+ /**
2877
+ * Loyalty currency ID of the referrer reward.
2878
+ */
2879
+ referrerRewardLoyaltyCurrencyId?: string | null;
2880
+ /**
2881
+ * Flag indicating if the post link is required.
2882
+ */
2883
+ requirePostLink?: boolean | null;
2884
+ /**
2885
+ * Flag indicating if media metadata is required.
2886
+ */
2887
+ requirePostMediaLink?: boolean | null;
2888
+ /**
2889
+ * Flag indicating if the rule can also reward badges per range.
2890
+ */
2891
+ rewardBadgePerRange?: boolean;
2892
+ /**
2893
+ * Flag indicating if the reward is rewarded by batch.
2894
+ */
2895
+ rewardByBatch?: boolean | null;
2896
+ /**
2897
+ * Criteria to evaluate the reward.
2898
+ */
2899
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2900
+ /**
2901
+ * Flag indicating if the reward is rewarded per action.
2902
+ */
2903
+ rewardPerAction?: boolean | null;
1601
2904
  /**
1602
2905
  * Flag indicating if rewards are given per impression.
1603
2906
  */
1604
2907
  rewardPerImpression?: boolean | null;
2908
+ /**
2909
+ * Flag indicating if the rule should reward based on value of traded tokens
2910
+ * instead of count.
2911
+ */
2912
+ rewardPerValue?: boolean;
2913
+ /**
2914
+ * Wallet address of the user can only be used if userId is not provided
2915
+ */
2916
+ royaltyAddress?: string;
2917
+ /**
2918
+ * Royalty percentage of the item.
2919
+ */
2920
+ royaltyPercentage?: number;
1605
2921
  /**
1606
2922
  * Currency associated with sales.
1607
2923
  */
@@ -1625,7 +2941,7 @@ export declare namespace RuleCreateParams {
1625
2941
  /**
1626
2942
  * Social media platform associated with the rule.
1627
2943
  */
1628
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
2944
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1629
2945
  /**
1630
2946
  * URL of the social platform's logo.
1631
2947
  */
@@ -1634,10 +2950,18 @@ export declare namespace RuleCreateParams {
1634
2950
  * Name of the social platform.
1635
2951
  */
1636
2952
  socialPlatformName?: string | null;
2953
+ /**
2954
+ * ID of the Steam app.
2955
+ */
2956
+ steamAppId?: string | null;
1637
2957
  /**
1638
2958
  * Array of streak milestones and corresponding rewards.
1639
2959
  */
1640
2960
  streakArray?: Array<Metadata.StreakArray> | null;
2961
+ /**
2962
+ * Metadata for swap loyalty rules
2963
+ */
2964
+ swap?: Metadata.Swap;
1641
2965
  /**
1642
2966
  * ID of the Telegram channel.
1643
2967
  */
@@ -1650,6 +2974,11 @@ export declare namespace RuleCreateParams {
1650
2974
  * Flag indicating if all contracts are tracked.
1651
2975
  */
1652
2976
  trackAllContracts?: boolean | null;
2977
+ /**
2978
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2979
+ * completed once the progress is 100%.
2980
+ */
2981
+ trackProgress?: boolean | null;
1653
2982
  /**
1654
2983
  * URL of the associated Twitter account.
1655
2984
  */
@@ -1685,7 +3014,15 @@ export declare namespace RuleCreateParams {
1685
3014
  /**
1686
3015
  * Type of wallet associated with the rule.
1687
3016
  */
1688
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3017
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
3018
+ /**
3019
+ * ID of the Youtube channel.
3020
+ */
3021
+ youtubeChannelId?: string | null;
3022
+ /**
3023
+ * ID of the Youtube video.
3024
+ */
3025
+ youtubeVideoId?: string | null;
1689
3026
  }
1690
3027
  namespace Metadata {
1691
3028
  interface Collection {
@@ -1700,7 +3037,7 @@ export declare namespace RuleCreateParams {
1700
3037
  /**
1701
3038
  * Blockchain network of the collection.
1702
3039
  */
1703
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3040
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
1704
3041
  }
1705
3042
  /**
1706
3043
  * Object containing details for the call-to-action.
@@ -1765,6 +3102,49 @@ export declare namespace RuleCreateParams {
1765
3102
  */
1766
3103
  id: string;
1767
3104
  }
3105
+ /**
3106
+ * Liquidity pool details.
3107
+ */
3108
+ interface Liquidity {
3109
+ /**
3110
+ * Calculation type of the liquidity pool.
3111
+ */
3112
+ calculationType?: 'fixed' | 'custom';
3113
+ /**
3114
+ * Custom function to calculate the the reward amount based on the liquidity
3115
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3116
+ * USD.
3117
+ */
3118
+ customFunction?: string;
3119
+ /**
3120
+ * Liquidity provided per day in USD
3121
+ */
3122
+ liquidityPerDay?: number;
3123
+ /**
3124
+ * Blockchain network of the liquidity pool.
3125
+ */
3126
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
3127
+ /**
3128
+ * Indicates if only in-range liquidity is rewarded.
3129
+ */
3130
+ onlyRewardInRangeLiquidity?: boolean;
3131
+ /**
3132
+ * Array of liquidity pools associated with the rule.
3133
+ */
3134
+ pools?: Array<Liquidity.Pool>;
3135
+ /**
3136
+ * Protocol of the liquidity pool.
3137
+ */
3138
+ protocol?: string;
3139
+ }
3140
+ namespace Liquidity {
3141
+ interface Pool {
3142
+ /**
3143
+ * Unique identifier of the liquidity pool.
3144
+ */
3145
+ id: string;
3146
+ }
3147
+ }
1768
3148
  interface Range {
1769
3149
  /**
1770
3150
  * Reward amount for this range.
@@ -1778,6 +3158,14 @@ export declare namespace RuleCreateParams {
1778
3158
  * Start value of the range.
1779
3159
  */
1780
3160
  startRange: number;
3161
+ /**
3162
+ * ID of the loyalty badge for this range.
3163
+ */
3164
+ loyaltyBadgeId?: string;
3165
+ /**
3166
+ * Amount of the loyalty multiplier for this range.
3167
+ */
3168
+ loyaltyMultiplierAmount?: number;
1781
3169
  }
1782
3170
  /**
1783
3171
  * Object defining referral requirements.
@@ -1821,18 +3209,14 @@ export declare namespace RuleCreateParams {
1821
3209
  * Object containing details of the associated smart contract.
1822
3210
  */
1823
3211
  interface SmartContract {
1824
- /**
1825
- * ABI of the smart contract.
1826
- */
1827
- abi?: string | null;
1828
3212
  /**
1829
3213
  * Mapping of addresses for the smart contract.
1830
3214
  */
1831
3215
  addressMapping?: string | null;
1832
3216
  /**
1833
- * Array of bonus details applied to the rule.
3217
+ * Object containing details of the amount multiplier from the event.
1834
3218
  */
1835
- bonus?: Array<SmartContract.Bonus> | null;
3219
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1836
3220
  /**
1837
3221
  * ID of the smart contract.
1838
3222
  */
@@ -1841,58 +3225,28 @@ export declare namespace RuleCreateParams {
1841
3225
  * Criteria to evaluate the smart contract event.
1842
3226
  */
1843
3227
  criteria?: 'everyEvent' | 'byParameter' | null;
1844
- /**
1845
- * Time range applied to the rule.
1846
- */
1847
- customRange?: SmartContract.CustomRange | null;
1848
3228
  /**
1849
3229
  * Event emitted by the smart contract.
1850
3230
  */
1851
3231
  event?: string | null;
1852
- /**
1853
- * Maximum value allowed for the parameter.
1854
- */
1855
- max?: number | null;
1856
3232
  /**
1857
3233
  * Array of parameters for the smart contract.
1858
3234
  */
1859
3235
  params?: Array<SmartContract.Param> | null;
1860
3236
  /**
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.
3237
+ * Type of the smart contract interaction.
1870
3238
  */
1871
- withMax?: boolean | null;
3239
+ type?: 'function' | 'event' | null;
1872
3240
  }
1873
3241
  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
3242
  /**
1885
- * Time range applied to the rule.
3243
+ * Object containing details of the amount multiplier from the event.
1886
3244
  */
1887
- interface CustomRange {
1888
- /**
1889
- * End time of the custom range.
1890
- */
1891
- endsAt?: string | null;
3245
+ interface AmountMultiplier {
1892
3246
  /**
1893
- * Start time of the custom range.
3247
+ * Mapping of the value for the smart contract.
1894
3248
  */
1895
- startsAt?: string | null;
3249
+ valueMapping?: string | null;
1896
3250
  }
1897
3251
  interface Param {
1898
3252
  /**
@@ -1929,6 +3283,24 @@ export declare namespace RuleCreateParams {
1929
3283
  */
1930
3284
  streakMilestone: number;
1931
3285
  }
3286
+ /**
3287
+ * Metadata for swap loyalty rules
3288
+ */
3289
+ interface Swap {
3290
+ provider?: 'any' | 'relay' | 'lifi';
3291
+ relayReferrerId?: string;
3292
+ requireCrossChainSwap?: boolean;
3293
+ swappedToChain?: 'any' | number | string;
3294
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3295
+ tokenMode?: 'any' | 'specific';
3296
+ trackTokenAmount?: boolean;
3297
+ }
3298
+ namespace Swap {
3299
+ interface SwappedToToken {
3300
+ address: string;
3301
+ chainId: string;
3302
+ }
3303
+ }
1932
3304
  }
1933
3305
  interface Collection {
1934
3306
  /**
@@ -1938,7 +3310,11 @@ export declare namespace RuleCreateParams {
1938
3310
  /**
1939
3311
  * Blockchain network for the collection
1940
3312
  */
1941
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3313
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
3314
+ /**
3315
+ * Symbol of the collection.
3316
+ */
3317
+ symbol?: string;
1942
3318
  }
1943
3319
  }
1944
3320
  export interface RuleUpdateParams {
@@ -1954,6 +3330,10 @@ export interface RuleUpdateParams {
1954
3330
  * Name of the loyalty rule
1955
3331
  */
1956
3332
  name: string;
3333
+ /**
3334
+ * The type of claim for the reward
3335
+ */
3336
+ claimType?: 'manual' | 'auto' | null;
1957
3337
  /**
1958
3338
  * Blockchain address of the associated collection
1959
3339
  */
@@ -1982,6 +3362,10 @@ export interface RuleUpdateParams {
1982
3362
  * Effective start time of the rule
1983
3363
  */
1984
3364
  effectiveStartTime?: string | null;
3365
+ /**
3366
+ * ID of the external integration
3367
+ */
3368
+ externalIntegrationId?: string | null;
1985
3369
  /**
1986
3370
  * Frequency of the rule execution
1987
3371
  */
@@ -1993,7 +3377,7 @@ export interface RuleUpdateParams {
1993
3377
  /**
1994
3378
  * Time interval for recurring rule execution
1995
3379
  */
1996
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3380
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1997
3381
  /**
1998
3382
  * Whether this rule is required for participation
1999
3383
  */
@@ -2002,6 +3386,16 @@ export interface RuleUpdateParams {
2002
3386
  * ID of the rule group section to associate with the rule
2003
3387
  */
2004
3388
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3389
+ /**
3390
+ * The interval for the max amount. Available for the smart contract and external
3391
+ * rules.
3392
+ */
3393
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3394
+ /**
3395
+ * The maximum amount of points a user can earn per interval. Available for the
3396
+ * smart contract and external rules.
3397
+ */
3398
+ maxAmountPerInterval?: number | null;
2005
3399
  /**
2006
3400
  * URL of the media to be displayed
2007
3401
  */
@@ -2013,23 +3407,35 @@ export interface RuleUpdateParams {
2013
3407
  /**
2014
3408
  * Blockchain network where the rule will apply
2015
3409
  */
2016
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3410
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
2017
3411
  /**
2018
3412
  * ID for associated OAuth credentials
2019
3413
  */
2020
3414
  oauthCredentialsId?: string | null;
3415
+ /**
3416
+ * The lifetime of the reward
3417
+ */
3418
+ rewardLifetime?: 'permanent' | 'dynamic' | null;
2021
3419
  /**
2022
3420
  * Type of reward issued by this rule
2023
3421
  */
2024
- rewardType?: 'points' | 'multiplier';
3422
+ rewardType?: 'points' | 'multiplier' | 'badge';
3423
+ /**
3424
+ * URL of the Shopify store
3425
+ */
3426
+ shopifyStoreUrl?: string | null;
3427
+ /**
3428
+ * Whether to show this rule before the start time
3429
+ */
3430
+ showBeforeStart?: boolean;
2025
3431
  /**
2026
3432
  * Start time for the loyalty rule
2027
3433
  */
2028
3434
  startTime?: string | null;
2029
3435
  /**
2030
- * Optional subscription identifier for the rule
3436
+ * Optional subscription id for the rule
2031
3437
  */
2032
- subscriptionIdentifier?: string | null;
3438
+ subscriptionId?: string | null;
2033
3439
  }
2034
3440
  export declare namespace RuleUpdateParams {
2035
3441
  interface Collection {
@@ -2040,12 +3446,20 @@ export declare namespace RuleUpdateParams {
2040
3446
  /**
2041
3447
  * Blockchain network for the collection
2042
3448
  */
2043
- network: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3449
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
3450
+ /**
3451
+ * Symbol of the collection.
3452
+ */
3453
+ symbol?: string;
2044
3454
  }
2045
3455
  /**
2046
3456
  * Additional metadata for the loyalty rule
2047
3457
  */
2048
3458
  interface Metadata {
3459
+ /**
3460
+ * Number of tokens per batch.
3461
+ */
3462
+ batchSize?: number | null;
2049
3463
  /**
2050
3464
  * Text displayed on the action button.
2051
3465
  */
@@ -2065,7 +3479,7 @@ export declare namespace RuleUpdateParams {
2065
3479
  /**
2066
3480
  * Text to check in the Twitter post, username, or bio.
2067
3481
  */
2068
- checkText?: string | null;
3482
+ checkText?: string | Array<string> | null;
2069
3483
  /**
2070
3484
  * Array of collections associated with the rule.
2071
3485
  */
@@ -2073,7 +3487,13 @@ export declare namespace RuleUpdateParams {
2073
3487
  /**
2074
3488
  * Conditions for completing the profile.
2075
3489
  */
2076
- completeProfileConditions?: Record<string, boolean> | null;
3490
+ completeProfileConditions?: {
3491
+ [key: string]: boolean;
3492
+ } | null;
3493
+ /**
3494
+ * Description of the external rule condition (only for external rules)
3495
+ */
3496
+ conditionDescription?: string;
2077
3497
  /**
2078
3498
  * Object containing details for the call-to-action.
2079
3499
  */
@@ -2082,6 +3502,10 @@ export declare namespace RuleUpdateParams {
2082
3502
  * API key for custom rewards integration.
2083
3503
  */
2084
3504
  customRewardsApiKey?: string;
3505
+ /**
3506
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3507
+ */
3508
+ directRpc?: boolean;
2085
3509
  /**
2086
3510
  * Array of Discord servers, channels, and roles to join.
2087
3511
  */
@@ -2118,10 +3542,6 @@ export declare namespace RuleUpdateParams {
2118
3542
  * Indicates if the item has never been sold.
2119
3543
  */
2120
3544
  hasNeverSold?: boolean;
2121
- /**
2122
- * Flag indicating whether the order source is included.
2123
- */
2124
- hasOrderSource?: boolean;
2125
3545
  /**
2126
3546
  * Indicates if the full royalty has been paid for items.
2127
3547
  */
@@ -2138,10 +3558,18 @@ export declare namespace RuleUpdateParams {
2138
3558
  * URL of the image associated with the rule.
2139
3559
  */
2140
3560
  imageUrl?: string | null;
3561
+ /**
3562
+ * If enabled, the first transaction done on the platform will complete this rule
3563
+ */
3564
+ isCheckInOnEveryTxn?: boolean;
2141
3565
  /**
2142
3566
  * Indicates if the multiplier has been applied to rewards.
2143
3567
  */
2144
3568
  isMultiplierApplied?: boolean;
3569
+ /**
3570
+ * Flag indicating if the rule is restricted to new users.
3571
+ */
3572
+ isRestrictedToNewUsers?: boolean;
2145
3573
  /**
2146
3574
  * Flag indicating if rewards are applied retroactively.
2147
3575
  */
@@ -2154,6 +3582,10 @@ export declare namespace RuleUpdateParams {
2154
3582
  * Optional link associated with the metadata.
2155
3583
  */
2156
3584
  link?: string | null;
3585
+ /**
3586
+ * Liquidity pool details.
3587
+ */
3588
+ liquidity?: Metadata.Liquidity;
2157
3589
  /**
2158
3590
  * Maximum quantity constraint for token holding.
2159
3591
  */
@@ -2186,14 +3618,22 @@ export declare namespace RuleUpdateParams {
2186
3618
  * give points for only one token ownership per contract
2187
3619
  */
2188
3620
  onlyRewardSingleTokenOwnership?: boolean | null;
2189
- /**
2190
- * Order source of the order for the token sale
2191
- */
2192
- orderSource?: string;
2193
3621
  /**
2194
3622
  * Promotional code associated with the rule.
2195
3623
  */
2196
3624
  promoCode?: string;
3625
+ /**
3626
+ * URL of the CSV file containing promo codes.
3627
+ */
3628
+ promoCodeCsvUrl?: string;
3629
+ /**
3630
+ * Numbers of the promotional code to be generated.
3631
+ */
3632
+ promoCodeLength?: number | null;
3633
+ /**
3634
+ * Type of the promotional code.
3635
+ */
3636
+ promoCodeType?: 'code' | 'csv' | 'generate';
2197
3637
  /**
2198
3638
  * Array defining ranges and corresponding rewards.
2199
3639
  */
@@ -2206,10 +3646,51 @@ export declare namespace RuleUpdateParams {
2206
3646
  * Lump sum reward given to a referrer.
2207
3647
  */
2208
3648
  referrerReward?: number | null;
3649
+ /**
3650
+ * Loyalty currency ID of the referrer reward.
3651
+ */
3652
+ referrerRewardLoyaltyCurrencyId?: string | null;
3653
+ /**
3654
+ * Flag indicating if the post link is required.
3655
+ */
3656
+ requirePostLink?: boolean | null;
3657
+ /**
3658
+ * Flag indicating if media metadata is required.
3659
+ */
3660
+ requirePostMediaLink?: boolean | null;
3661
+ /**
3662
+ * Flag indicating if the rule can also reward badges per range.
3663
+ */
3664
+ rewardBadgePerRange?: boolean;
3665
+ /**
3666
+ * Flag indicating if the reward is rewarded by batch.
3667
+ */
3668
+ rewardByBatch?: boolean | null;
3669
+ /**
3670
+ * Criteria to evaluate the reward.
3671
+ */
3672
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3673
+ /**
3674
+ * Flag indicating if the reward is rewarded per action.
3675
+ */
3676
+ rewardPerAction?: boolean | null;
2209
3677
  /**
2210
3678
  * Flag indicating if rewards are given per impression.
2211
3679
  */
2212
3680
  rewardPerImpression?: boolean | null;
3681
+ /**
3682
+ * Flag indicating if the rule should reward based on value of traded tokens
3683
+ * instead of count.
3684
+ */
3685
+ rewardPerValue?: boolean;
3686
+ /**
3687
+ * Wallet address of the user can only be used if userId is not provided
3688
+ */
3689
+ royaltyAddress?: string;
3690
+ /**
3691
+ * Royalty percentage of the item.
3692
+ */
3693
+ royaltyPercentage?: number;
2213
3694
  /**
2214
3695
  * Currency associated with sales.
2215
3696
  */
@@ -2233,7 +3714,7 @@ export declare namespace RuleUpdateParams {
2233
3714
  /**
2234
3715
  * Social media platform associated with the rule.
2235
3716
  */
2236
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | null;
3717
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2237
3718
  /**
2238
3719
  * URL of the social platform's logo.
2239
3720
  */
@@ -2242,10 +3723,18 @@ export declare namespace RuleUpdateParams {
2242
3723
  * Name of the social platform.
2243
3724
  */
2244
3725
  socialPlatformName?: string | null;
3726
+ /**
3727
+ * ID of the Steam app.
3728
+ */
3729
+ steamAppId?: string | null;
2245
3730
  /**
2246
3731
  * Array of streak milestones and corresponding rewards.
2247
3732
  */
2248
3733
  streakArray?: Array<Metadata.StreakArray> | null;
3734
+ /**
3735
+ * Metadata for swap loyalty rules
3736
+ */
3737
+ swap?: Metadata.Swap;
2249
3738
  /**
2250
3739
  * ID of the Telegram channel.
2251
3740
  */
@@ -2258,6 +3747,11 @@ export declare namespace RuleUpdateParams {
2258
3747
  * Flag indicating if all contracts are tracked.
2259
3748
  */
2260
3749
  trackAllContracts?: boolean | null;
3750
+ /**
3751
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3752
+ * completed once the progress is 100%.
3753
+ */
3754
+ trackProgress?: boolean | null;
2261
3755
  /**
2262
3756
  * URL of the associated Twitter account.
2263
3757
  */
@@ -2293,7 +3787,15 @@ export declare namespace RuleUpdateParams {
2293
3787
  /**
2294
3788
  * Type of wallet associated with the rule.
2295
3789
  */
2296
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3790
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
3791
+ /**
3792
+ * ID of the Youtube channel.
3793
+ */
3794
+ youtubeChannelId?: string | null;
3795
+ /**
3796
+ * ID of the Youtube video.
3797
+ */
3798
+ youtubeVideoId?: string | null;
2297
3799
  }
2298
3800
  namespace Metadata {
2299
3801
  interface Collection {
@@ -2308,7 +3810,7 @@ export declare namespace RuleUpdateParams {
2308
3810
  /**
2309
3811
  * Blockchain network of the collection.
2310
3812
  */
2311
- network?: 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachainArtio' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'abstract';
3813
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
2312
3814
  }
2313
3815
  /**
2314
3816
  * Object containing details for the call-to-action.
@@ -2373,6 +3875,49 @@ export declare namespace RuleUpdateParams {
2373
3875
  */
2374
3876
  id: string;
2375
3877
  }
3878
+ /**
3879
+ * Liquidity pool details.
3880
+ */
3881
+ interface Liquidity {
3882
+ /**
3883
+ * Calculation type of the liquidity pool.
3884
+ */
3885
+ calculationType?: 'fixed' | 'custom';
3886
+ /**
3887
+ * Custom function to calculate the the reward amount based on the liquidity
3888
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3889
+ * USD.
3890
+ */
3891
+ customFunction?: string;
3892
+ /**
3893
+ * Liquidity provided per day in USD
3894
+ */
3895
+ liquidityPerDay?: number;
3896
+ /**
3897
+ * Blockchain network of the liquidity pool.
3898
+ */
3899
+ 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' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia';
3900
+ /**
3901
+ * Indicates if only in-range liquidity is rewarded.
3902
+ */
3903
+ onlyRewardInRangeLiquidity?: boolean;
3904
+ /**
3905
+ * Array of liquidity pools associated with the rule.
3906
+ */
3907
+ pools?: Array<Liquidity.Pool>;
3908
+ /**
3909
+ * Protocol of the liquidity pool.
3910
+ */
3911
+ protocol?: string;
3912
+ }
3913
+ namespace Liquidity {
3914
+ interface Pool {
3915
+ /**
3916
+ * Unique identifier of the liquidity pool.
3917
+ */
3918
+ id: string;
3919
+ }
3920
+ }
2376
3921
  interface Range {
2377
3922
  /**
2378
3923
  * Reward amount for this range.
@@ -2386,6 +3931,14 @@ export declare namespace RuleUpdateParams {
2386
3931
  * Start value of the range.
2387
3932
  */
2388
3933
  startRange: number;
3934
+ /**
3935
+ * ID of the loyalty badge for this range.
3936
+ */
3937
+ loyaltyBadgeId?: string;
3938
+ /**
3939
+ * Amount of the loyalty multiplier for this range.
3940
+ */
3941
+ loyaltyMultiplierAmount?: number;
2389
3942
  }
2390
3943
  /**
2391
3944
  * Object defining referral requirements.
@@ -2429,18 +3982,14 @@ export declare namespace RuleUpdateParams {
2429
3982
  * Object containing details of the associated smart contract.
2430
3983
  */
2431
3984
  interface SmartContract {
2432
- /**
2433
- * ABI of the smart contract.
2434
- */
2435
- abi?: string | null;
2436
3985
  /**
2437
3986
  * Mapping of addresses for the smart contract.
2438
3987
  */
2439
3988
  addressMapping?: string | null;
2440
3989
  /**
2441
- * Array of bonus details applied to the rule.
3990
+ * Object containing details of the amount multiplier from the event.
2442
3991
  */
2443
- bonus?: Array<SmartContract.Bonus> | null;
3992
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2444
3993
  /**
2445
3994
  * ID of the smart contract.
2446
3995
  */
@@ -2449,58 +3998,28 @@ export declare namespace RuleUpdateParams {
2449
3998
  * Criteria to evaluate the smart contract event.
2450
3999
  */
2451
4000
  criteria?: 'everyEvent' | 'byParameter' | null;
2452
- /**
2453
- * Time range applied to the rule.
2454
- */
2455
- customRange?: SmartContract.CustomRange | null;
2456
4001
  /**
2457
4002
  * Event emitted by the smart contract.
2458
4003
  */
2459
4004
  event?: string | null;
2460
- /**
2461
- * Maximum value allowed for the parameter.
2462
- */
2463
- max?: number | null;
2464
4005
  /**
2465
4006
  * Array of parameters for the smart contract.
2466
4007
  */
2467
4008
  params?: Array<SmartContract.Param> | null;
2468
4009
  /**
2469
- * Flag indicating if a bonus is applied.
2470
- */
2471
- withBonus?: boolean | null;
2472
- /**
2473
- * Flag indicating if a custom range is applied.
2474
- */
2475
- withCustomRange?: boolean | null;
2476
- /**
2477
- * Flag indicating if a maximum limit is applied.
4010
+ * Type of the smart contract interaction.
2478
4011
  */
2479
- withMax?: boolean | null;
4012
+ type?: 'function' | 'event' | null;
2480
4013
  }
2481
4014
  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
4015
  /**
2493
- * Time range applied to the rule.
4016
+ * Object containing details of the amount multiplier from the event.
2494
4017
  */
2495
- interface CustomRange {
2496
- /**
2497
- * End time of the custom range.
2498
- */
2499
- endsAt?: string | null;
4018
+ interface AmountMultiplier {
2500
4019
  /**
2501
- * Start time of the custom range.
4020
+ * Mapping of the value for the smart contract.
2502
4021
  */
2503
- startsAt?: string | null;
4022
+ valueMapping?: string | null;
2504
4023
  }
2505
4024
  interface Param {
2506
4025
  /**
@@ -2537,15 +4056,51 @@ export declare namespace RuleUpdateParams {
2537
4056
  */
2538
4057
  streakMilestone: number;
2539
4058
  }
4059
+ /**
4060
+ * Metadata for swap loyalty rules
4061
+ */
4062
+ interface Swap {
4063
+ provider?: 'any' | 'relay' | 'lifi';
4064
+ relayReferrerId?: string;
4065
+ requireCrossChainSwap?: boolean;
4066
+ swappedToChain?: 'any' | number | string;
4067
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4068
+ tokenMode?: 'any' | 'specific';
4069
+ trackTokenAmount?: boolean;
4070
+ }
4071
+ namespace Swap {
4072
+ interface SwappedToToken {
4073
+ address: string;
4074
+ chainId: string;
4075
+ }
4076
+ }
2540
4077
  }
2541
4078
  }
2542
4079
  export interface RuleListParams {
4080
+ /**
4081
+ * IDs of the users to filter results by
4082
+ */
4083
+ allotedToUserId?: string | Array<string>;
4084
+ /**
4085
+ * ID of the user group to filter results by
4086
+ */
4087
+ allotedUserGroupId?: string;
2543
4088
  /**
2544
4089
  * Address of the collection to filter by
2545
4090
  */
2546
4091
  collectionAddress?: string;
2547
4092
  /**
2548
- * Maximum number of records to return (max 1000)
4093
+ * If true this will only return active rules, the rules for which the startTime is
4094
+ * in the past and the endTime is in the future
4095
+ */
4096
+ isActive?: 'true' | 'false';
4097
+ /**
4098
+ * If true this will only return special rules, special rules are the rules that
4099
+ * are used for anti sybil as honey pot
4100
+ */
4101
+ isSpecial?: 'true' | 'false';
4102
+ /**
4103
+ * Maximum number of records to return (max 100)
2549
4104
  */
2550
4105
  limit?: number;
2551
4106
  /**
@@ -2569,6 +4124,12 @@ export interface RuleListParams {
2569
4124
  */
2570
4125
  websiteId?: string;
2571
4126
  }
4127
+ export interface RuleDeleteParams {
4128
+ /**
4129
+ * Whether to debit loyalty points
4130
+ */
4131
+ debitLoyaltyPoints?: string;
4132
+ }
2572
4133
  export interface RuleCompleteParams {
2573
4134
  /**
2574
4135
  * Override amount for the reward (rounded to nearest whole number). This will
@@ -2576,13 +4137,21 @@ export interface RuleCompleteParams {
2576
4137
  */
2577
4138
  amount?: number | null;
2578
4139
  /**
2579
- * Link to the comment made by user
4140
+ * Link to the post/comment made by user
4141
+ */
4142
+ contentUrl?: string;
4143
+ /**
4144
+ * Unique key to ensure idempotent requests.
2580
4145
  */
2581
- commentLink?: string;
4146
+ idempotencyKey?: string;
2582
4147
  /**
2583
4148
  * ID of the choice selected by the user
2584
4149
  */
2585
4150
  loyaltyQuestionChoiceId?: string;
4151
+ /**
4152
+ * Value to compare with the range
4153
+ */
4154
+ rangeValue?: number | null;
2586
4155
  /**
2587
4156
  * Unique identifier for the user
2588
4157
  */
@@ -2593,7 +4162,7 @@ export interface RuleCompleteParams {
2593
4162
  verificationCode?: string;
2594
4163
  /**
2595
4164
  * Flag indicating if only verification is required, this will not create a
2596
- * transaction and reward the user
4165
+ * transaction and reward the user.
2597
4166
  */
2598
4167
  verifyOnly?: string;
2599
4168
  /**
@@ -2602,11 +4171,25 @@ export interface RuleCompleteParams {
2602
4171
  walletAddress?: string;
2603
4172
  }
2604
4173
  export interface RuleGetStatusParams {
2605
- organizationId: string;
2606
- websiteId: string;
4174
+ /**
4175
+ * Number of items to return
4176
+ */
4177
+ limit?: number | null;
4178
+ /**
4179
+ * Unique identifier for the loyalty rule[s]
4180
+ */
4181
+ loyaltyRuleId?: string | Array<string>;
4182
+ organizationId?: string;
4183
+ /**
4184
+ * Starting after item
4185
+ */
4186
+ startingAfter?: string;
4187
+ userGroupId?: string;
2607
4188
  userId?: string;
4189
+ walletAddress?: string;
4190
+ websiteId?: string;
2608
4191
  }
2609
4192
  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, };
4193
+ 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
4194
  }
2612
4195
  //# sourceMappingURL=rules.d.ts.map