@snagsolutions/sdk 0.1.0-alpha.11 → 0.1.0-alpha.111

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 (378) hide show
  1. package/CHANGELOG.md +978 -0
  2. package/README.md +24 -28
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +19 -5
  7. package/core.d.ts.map +1 -1
  8. package/core.js +35 -19
  9. package/core.js.map +1 -1
  10. package/core.mjs +36 -20
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +25 -16
  13. package/index.d.ts +25 -16
  14. package/index.d.ts.map +1 -1
  15. package/index.js +20 -10
  16. package/index.js.map +1 -1
  17. package/index.mjs +21 -11
  18. package/index.mjs.map +1 -1
  19. package/package.json +4 -5
  20. package/resource.d.ts +1 -1
  21. package/resource.d.ts.map +1 -1
  22. package/resource.js.map +1 -1
  23. package/resource.mjs.map +1 -1
  24. package/resources/assets.d.ts +22 -8
  25. package/resources/assets.d.ts.map +1 -1
  26. package/resources/assets.js +12 -4
  27. package/resources/assets.js.map +1 -1
  28. package/resources/assets.mjs +12 -4
  29. package/resources/assets.mjs.map +1 -1
  30. package/resources/auctions/auctions.d.ts +285 -0
  31. package/resources/auctions/auctions.d.ts.map +1 -0
  32. package/resources/auctions/auctions.js +76 -0
  33. package/resources/auctions/auctions.js.map +1 -0
  34. package/resources/auctions/auctions.mjs +49 -0
  35. package/resources/auctions/auctions.mjs.map +1 -0
  36. package/resources/auctions/index.d.ts +3 -0
  37. package/resources/auctions/index.d.ts.map +1 -0
  38. package/resources/auctions/index.js +9 -0
  39. package/resources/auctions/index.js.map +1 -0
  40. package/resources/auctions/index.mjs +4 -0
  41. package/resources/auctions/index.mjs.map +1 -0
  42. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  43. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  44. package/resources/auctions/website-user-attributes/index.js +9 -0
  45. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  46. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  47. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  48. package/resources/auctions/website-user-attributes/values.d.ts +122 -0
  49. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  50. package/resources/auctions/website-user-attributes/values.js +49 -0
  51. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  52. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  53. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +132 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  57. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  58. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  59. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  60. package/resources/auctions/website-user-attributes.d.ts +2 -0
  61. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  62. package/resources/auctions/website-user-attributes.js +19 -0
  63. package/resources/auctions/website-user-attributes.js.map +1 -0
  64. package/resources/auctions/website-user-attributes.mjs +3 -0
  65. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  66. package/resources/auctions.d.ts +2 -0
  67. package/resources/auctions.d.ts.map +1 -0
  68. package/resources/auctions.js +19 -0
  69. package/resources/auctions.js.map +1 -0
  70. package/resources/auctions.mjs +3 -0
  71. package/resources/auctions.mjs.map +1 -0
  72. package/resources/auth.d.ts +44 -0
  73. package/resources/auth.d.ts.map +1 -0
  74. package/resources/auth.js +16 -0
  75. package/resources/auth.js.map +1 -0
  76. package/resources/auth.mjs +12 -0
  77. package/resources/auth.mjs.map +1 -0
  78. package/resources/index.d.ts +7 -5
  79. package/resources/index.d.ts.map +1 -1
  80. package/resources/index.js +10 -6
  81. package/resources/index.js.map +1 -1
  82. package/resources/index.mjs +6 -4
  83. package/resources/index.mjs.map +1 -1
  84. package/resources/loyalty/account-streaks.d.ts +81 -0
  85. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  86. package/resources/loyalty/account-streaks.js +24 -0
  87. package/resources/loyalty/account-streaks.js.map +1 -0
  88. package/resources/loyalty/account-streaks.mjs +20 -0
  89. package/resources/loyalty/account-streaks.mjs.map +1 -0
  90. package/resources/loyalty/accounts.d.ts +62 -15
  91. package/resources/loyalty/accounts.d.ts.map +1 -1
  92. package/resources/loyalty/accounts.js +22 -1
  93. package/resources/loyalty/accounts.js.map +1 -1
  94. package/resources/loyalty/accounts.mjs +22 -1
  95. package/resources/loyalty/accounts.mjs.map +1 -1
  96. package/resources/loyalty/badges.d.ts +876 -77
  97. package/resources/loyalty/badges.d.ts.map +1 -1
  98. package/resources/loyalty/badges.js +19 -1
  99. package/resources/loyalty/badges.js.map +1 -1
  100. package/resources/loyalty/badges.mjs +19 -1
  101. package/resources/loyalty/badges.mjs.map +1 -1
  102. package/resources/loyalty/currencies.d.ts +20 -1
  103. package/resources/loyalty/currencies.d.ts.map +1 -1
  104. package/resources/loyalty/currencies.js +19 -0
  105. package/resources/loyalty/currencies.js.map +1 -1
  106. package/resources/loyalty/currencies.mjs +19 -0
  107. package/resources/loyalty/currencies.mjs.map +1 -1
  108. package/resources/loyalty/index.d.ts +9 -5
  109. package/resources/loyalty/index.d.ts.map +1 -1
  110. package/resources/loyalty/index.js +11 -3
  111. package/resources/loyalty/index.js.map +1 -1
  112. package/resources/loyalty/index.mjs +6 -2
  113. package/resources/loyalty/index.mjs.map +1 -1
  114. package/resources/loyalty/loyalty.d.ts +33 -17
  115. package/resources/loyalty/loyalty.d.ts.map +1 -1
  116. package/resources/loyalty/loyalty.js +28 -12
  117. package/resources/loyalty/loyalty.js.map +1 -1
  118. package/resources/loyalty/loyalty.mjs +29 -13
  119. package/resources/loyalty/loyalty.mjs.map +1 -1
  120. package/resources/loyalty/multipliers.d.ts +97 -4
  121. package/resources/loyalty/multipliers.d.ts.map +1 -1
  122. package/resources/loyalty/multipliers.js +29 -0
  123. package/resources/loyalty/multipliers.js.map +1 -1
  124. package/resources/loyalty/multipliers.mjs +29 -0
  125. package/resources/loyalty/multipliers.mjs.map +1 -1
  126. package/resources/loyalty/questions-responses.d.ts +112 -0
  127. package/resources/loyalty/questions-responses.d.ts.map +1 -0
  128. package/resources/loyalty/questions-responses.js +31 -0
  129. package/resources/loyalty/questions-responses.js.map +1 -0
  130. package/resources/loyalty/questions-responses.mjs +27 -0
  131. package/resources/loyalty/questions-responses.mjs.map +1 -0
  132. package/resources/loyalty/questions.d.ts +183 -0
  133. package/resources/loyalty/questions.d.ts.map +1 -0
  134. package/resources/loyalty/questions.js +60 -0
  135. package/resources/loyalty/questions.js.map +1 -0
  136. package/resources/loyalty/questions.mjs +56 -0
  137. package/resources/loyalty/questions.mjs.map +1 -0
  138. package/resources/loyalty/rule-edits.d.ts +2489 -11
  139. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  140. package/resources/loyalty/rule-edits.js +16 -2
  141. package/resources/loyalty/rule-edits.js.map +1 -1
  142. package/resources/loyalty/rule-edits.mjs +16 -2
  143. package/resources/loyalty/rule-edits.mjs.map +1 -1
  144. package/resources/loyalty/rule-groups.d.ts +738 -0
  145. package/resources/loyalty/rule-groups.d.ts.map +1 -0
  146. package/resources/loyalty/rule-groups.js +52 -0
  147. package/resources/loyalty/rule-groups.js.map +1 -0
  148. package/resources/loyalty/rule-groups.mjs +48 -0
  149. package/resources/loyalty/rule-groups.mjs.map +1 -0
  150. package/resources/loyalty/rules.d.ts +1735 -282
  151. package/resources/loyalty/rules.d.ts.map +1 -1
  152. package/resources/loyalty/rules.js +40 -9
  153. package/resources/loyalty/rules.js.map +1 -1
  154. package/resources/loyalty/rules.mjs +40 -9
  155. package/resources/loyalty/rules.mjs.map +1 -1
  156. package/resources/loyalty/transactions/index.d.ts +3 -0
  157. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  158. package/resources/loyalty/transactions/index.js +9 -0
  159. package/resources/loyalty/transactions/index.js.map +1 -0
  160. package/resources/loyalty/transactions/index.mjs +4 -0
  161. package/resources/loyalty/transactions/index.mjs.map +1 -0
  162. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  163. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  164. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  165. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  166. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  167. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  168. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  169. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  170. package/resources/loyalty/transactions/transactions.js +76 -0
  171. package/resources/loyalty/transactions/transactions.js.map +1 -0
  172. package/resources/loyalty/transactions/transactions.mjs +49 -0
  173. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  174. package/resources/loyalty/transactions.d.ts +2 -0
  175. package/resources/loyalty/transactions.d.ts.map +1 -0
  176. package/resources/loyalty/transactions.js +19 -0
  177. package/resources/loyalty/transactions.js.map +1 -0
  178. package/resources/loyalty/transactions.mjs +3 -0
  179. package/resources/loyalty/transactions.mjs.map +1 -0
  180. package/resources/loyalty.d.ts +2 -0
  181. package/resources/loyalty.d.ts.map +1 -0
  182. package/resources/loyalty.js +19 -0
  183. package/resources/loyalty.js.map +1 -0
  184. package/resources/loyalty.mjs +3 -0
  185. package/resources/loyalty.mjs.map +1 -0
  186. package/resources/minting.d.ts +95 -0
  187. package/resources/minting.d.ts.map +1 -0
  188. package/resources/minting.js +15 -0
  189. package/resources/minting.js.map +1 -0
  190. package/resources/minting.mjs +11 -0
  191. package/resources/minting.mjs.map +1 -0
  192. package/resources/referral/index.d.ts +3 -0
  193. package/resources/referral/index.d.ts.map +1 -0
  194. package/resources/referral/index.js +9 -0
  195. package/resources/referral/index.js.map +1 -0
  196. package/resources/referral/index.mjs +4 -0
  197. package/resources/referral/index.mjs.map +1 -0
  198. package/resources/referral/referral.d.ts +39 -0
  199. package/resources/referral/referral.d.ts.map +1 -0
  200. package/resources/{drip/drip.js → referral/referral.js} +21 -12
  201. package/resources/referral/referral.js.map +1 -0
  202. package/resources/referral/referral.mjs +25 -0
  203. package/resources/referral/referral.mjs.map +1 -0
  204. package/resources/referral/users.d.ts +83 -0
  205. package/resources/referral/users.d.ts.map +1 -0
  206. package/resources/referral/users.js +35 -0
  207. package/resources/referral/users.js.map +1 -0
  208. package/resources/referral/users.mjs +31 -0
  209. package/resources/referral/users.mjs.map +1 -0
  210. package/resources/referral.d.ts +2 -0
  211. package/resources/referral.d.ts.map +1 -0
  212. package/resources/referral.js +19 -0
  213. package/resources/referral.js.map +1 -0
  214. package/resources/referral.mjs +3 -0
  215. package/resources/referral.mjs.map +1 -0
  216. package/resources/users/index.d.ts +2 -3
  217. package/resources/users/index.d.ts.map +1 -1
  218. package/resources/users/index.js +1 -3
  219. package/resources/users/index.js.map +1 -1
  220. package/resources/users/index.mjs +2 -3
  221. package/resources/users/index.mjs.map +1 -1
  222. package/resources/users/metadatas.d.ts +109 -9
  223. package/resources/users/metadatas.d.ts.map +1 -1
  224. package/resources/users/metadatas.js +6 -0
  225. package/resources/users/metadatas.js.map +1 -1
  226. package/resources/users/metadatas.mjs +6 -0
  227. package/resources/users/metadatas.mjs.map +1 -1
  228. package/resources/users/users.d.ts +414 -6
  229. package/resources/users/users.d.ts.map +1 -1
  230. package/resources/users/users.js +77 -4
  231. package/resources/users/users.js.map +1 -1
  232. package/resources/users/users.mjs +78 -5
  233. package/resources/users/users.mjs.map +1 -1
  234. package/resources/users.d.ts +2 -0
  235. package/resources/users.d.ts.map +1 -0
  236. package/resources/users.js +19 -0
  237. package/resources/users.js.map +1 -0
  238. package/resources/users.mjs +3 -0
  239. package/resources/users.mjs.map +1 -0
  240. package/resources/websites/index.d.ts +4 -0
  241. package/resources/websites/index.d.ts.map +1 -0
  242. package/resources/websites/index.js +11 -0
  243. package/resources/websites/index.js.map +1 -0
  244. package/resources/websites/index.mjs +5 -0
  245. package/resources/websites/index.mjs.map +1 -0
  246. package/resources/websites/website-collections.d.ts +94 -0
  247. package/resources/websites/website-collections.d.ts.map +1 -0
  248. package/resources/websites/website-collections.js +46 -0
  249. package/resources/websites/website-collections.js.map +1 -0
  250. package/resources/websites/website-collections.mjs +42 -0
  251. package/resources/websites/website-collections.mjs.map +1 -0
  252. package/resources/websites/website-user-roles.d.ts +96 -0
  253. package/resources/websites/website-user-roles.d.ts.map +1 -0
  254. package/resources/websites/website-user-roles.js +45 -0
  255. package/resources/websites/website-user-roles.js.map +1 -0
  256. package/resources/websites/website-user-roles.mjs +41 -0
  257. package/resources/websites/website-user-roles.mjs.map +1 -0
  258. package/resources/websites/websites.d.ts +223 -0
  259. package/resources/websites/websites.d.ts.map +1 -0
  260. package/resources/websites/websites.js +63 -0
  261. package/resources/websites/websites.js.map +1 -0
  262. package/resources/websites/websites.mjs +36 -0
  263. package/resources/websites/websites.mjs.map +1 -0
  264. package/resources/websites.d.ts +1 -202
  265. package/resources/websites.d.ts.map +1 -1
  266. package/resources/websites.js +15 -18
  267. package/resources/websites.js.map +1 -1
  268. package/resources/websites.mjs +1 -16
  269. package/resources/websites.mjs.map +1 -1
  270. package/resources.d.ts +2 -0
  271. package/resources.d.ts.map +1 -0
  272. package/resources.js +18 -0
  273. package/resources.js.map +1 -0
  274. package/resources.mjs +2 -0
  275. package/resources.mjs.map +1 -0
  276. package/src/_shims/index.d.ts +2 -0
  277. package/src/_shims/index.js +5 -1
  278. package/src/_shims/index.mjs +5 -1
  279. package/src/core.ts +56 -20
  280. package/src/index.ts +96 -24
  281. package/src/resource.ts +1 -1
  282. package/src/resources/assets.ts +29 -8
  283. package/src/resources/auctions/auctions.ts +436 -0
  284. package/src/resources/auctions/index.ts +18 -0
  285. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  286. package/src/resources/auctions/website-user-attributes/values.ts +165 -0
  287. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
  288. package/src/resources/auctions/website-user-attributes.ts +3 -0
  289. package/src/resources/auctions.ts +3 -0
  290. package/src/resources/auth.ts +74 -0
  291. package/src/resources/index.ts +31 -5
  292. package/src/resources/loyalty/account-streaks.ts +110 -0
  293. package/src/resources/loyalty/accounts.ts +79 -16
  294. package/src/resources/loyalty/badges.ts +1055 -83
  295. package/src/resources/loyalty/currencies.ts +20 -1
  296. package/src/resources/loyalty/index.ts +53 -9
  297. package/src/resources/loyalty/loyalty.ts +160 -60
  298. package/src/resources/loyalty/multipliers.ts +124 -4
  299. package/src/resources/loyalty/questions-responses.ts +161 -0
  300. package/src/resources/loyalty/questions.ts +241 -0
  301. package/src/resources/loyalty/rule-edits.ts +3502 -63
  302. package/src/resources/loyalty/rule-groups.ts +1149 -0
  303. package/src/resources/loyalty/rules.ts +2906 -575
  304. package/src/resources/loyalty/transactions/index.ts +18 -0
  305. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  306. package/src/resources/loyalty/transactions/transactions.ts +671 -0
  307. package/src/resources/loyalty/transactions.ts +3 -0
  308. package/src/resources/loyalty.ts +3 -0
  309. package/src/resources/minting.ts +170 -0
  310. package/src/resources/referral/index.ts +10 -0
  311. package/src/resources/referral/referral.ts +72 -0
  312. package/src/resources/referral/users.ts +122 -0
  313. package/src/resources/referral.ts +3 -0
  314. package/src/resources/users/index.ts +21 -9
  315. package/src/resources/users/metadatas.ts +161 -8
  316. package/src/resources/users/users.ts +581 -17
  317. package/src/resources/users.ts +3 -0
  318. package/src/resources/websites/index.ts +22 -0
  319. package/src/resources/websites/website-collections.ts +182 -0
  320. package/src/resources/websites/website-user-roles.ts +130 -0
  321. package/src/resources/websites/websites.ts +311 -0
  322. package/src/resources/websites.ts +1 -257
  323. package/src/resources.ts +1 -0
  324. package/src/version.ts +1 -1
  325. package/version.d.ts +1 -1
  326. package/version.d.ts.map +1 -1
  327. package/version.js +1 -1
  328. package/version.js.map +1 -1
  329. package/version.mjs +1 -1
  330. package/version.mjs.map +1 -1
  331. package/resources/auction-bids.d.ts +0 -81
  332. package/resources/auction-bids.d.ts.map +0 -1
  333. package/resources/auction-bids.js +0 -30
  334. package/resources/auction-bids.js.map +0 -1
  335. package/resources/auction-bids.mjs +0 -26
  336. package/resources/auction-bids.mjs.map +0 -1
  337. package/resources/drip/drip.d.ts +0 -14
  338. package/resources/drip/drip.d.ts.map +0 -1
  339. package/resources/drip/drip.js.map +0 -1
  340. package/resources/drip/drip.mjs +0 -16
  341. package/resources/drip/drip.mjs.map +0 -1
  342. package/resources/drip/index.d.ts +0 -4
  343. package/resources/drip/index.d.ts.map +0 -1
  344. package/resources/drip/index.js +0 -11
  345. package/resources/drip/index.js.map +0 -1
  346. package/resources/drip/index.mjs +0 -5
  347. package/resources/drip/index.mjs.map +0 -1
  348. package/resources/drip/quests.d.ts +0 -168
  349. package/resources/drip/quests.d.ts.map +0 -1
  350. package/resources/drip/quests.js +0 -17
  351. package/resources/drip/quests.js.map +0 -1
  352. package/resources/drip/quests.mjs +0 -13
  353. package/resources/drip/quests.mjs.map +0 -1
  354. package/resources/drip/status.d.ts +0 -26
  355. package/resources/drip/status.d.ts.map +0 -1
  356. package/resources/drip/status.js +0 -16
  357. package/resources/drip/status.js.map +0 -1
  358. package/resources/drip/status.mjs +0 -12
  359. package/resources/drip/status.mjs.map +0 -1
  360. package/resources/loyalty/transaction-entries.d.ts +0 -175
  361. package/resources/loyalty/transaction-entries.d.ts.map +0 -1
  362. package/resources/loyalty/transaction-entries.js +0 -16
  363. package/resources/loyalty/transaction-entries.js.map +0 -1
  364. package/resources/loyalty/transaction-entries.mjs +0 -12
  365. package/resources/loyalty/transaction-entries.mjs.map +0 -1
  366. package/resources/users/wallets.d.ts +0 -193
  367. package/resources/users/wallets.d.ts.map +0 -1
  368. package/resources/users/wallets.js +0 -28
  369. package/resources/users/wallets.js.map +0 -1
  370. package/resources/users/wallets.mjs +0 -24
  371. package/resources/users/wallets.mjs.map +0 -1
  372. package/src/resources/auction-bids.ts +0 -123
  373. package/src/resources/drip/drip.ts +0 -25
  374. package/src/resources/drip/index.ts +0 -5
  375. package/src/resources/drip/quests.ts +0 -210
  376. package/src/resources/drip/status.ts +0 -33
  377. package/src/resources/loyalty/transaction-entries.ts +0 -229
  378. package/src/resources/users/wallets.ts +0 -271
@@ -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
19
- */
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const rule = await client.loyalty.rules.delete(
58
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
+ * );
60
+ * ```
61
+ */
62
+ delete(id: string, params?: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
20
63
  delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
21
64
  /**
22
65
  * Verify a loyalty rule based on user action and reward them if applicable. This
23
- * endpoint currenlty onlu supports following rule types code_entry, text_input,
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
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
32
- */
33
- status(query: RuleStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleStatusResponse>;
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const response = await client.loyalty.rules.getStatus();
87
+ * ```
88
+ */
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';
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';
81
138
  /**
82
139
  * Unique identifier for the associated website
83
140
  */
@@ -106,6 +163,10 @@ export interface RuleCreateResponse {
106
163
  * Optional detailed description of the rule
107
164
  */
108
165
  description?: string;
166
+ /**
167
+ * ID of the external integration
168
+ */
169
+ externalIntegrationId?: string | null;
109
170
  /**
110
171
  * Whether to hide this rule in the user interface
111
172
  */
@@ -113,19 +174,41 @@ export interface RuleCreateResponse {
113
174
  /**
114
175
  * Interval between rule executions
115
176
  */
116
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
177
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
117
178
  /**
118
179
  * Whether this rule is mandatory
119
180
  */
120
181
  isRequired?: boolean;
182
+ /**
183
+ * Unique identifier for the loyalty badge
184
+ */
185
+ loyaltyBadgeId?: string | null;
121
186
  /**
122
187
  * Unique identifier for the loyalty rule group
123
188
  */
124
189
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
190
+ /**
191
+ * URL for uploading loyalty user allotment via CSV
192
+ */
193
+ loyaltyUserAllotmentCsvUrl?: string;
194
+ /**
195
+ * The interval for the max amount. Available for the smart contract and external
196
+ * rules.
197
+ */
198
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
199
+ /**
200
+ * The maximum amount of points a user can earn per interval. Available for the
201
+ * smart contract and external rules.
202
+ */
203
+ maxAmountPerInterval?: number | null;
204
+ /**
205
+ * URL of the media to be displayed
206
+ */
207
+ mediaUrl?: string | null;
125
208
  /**
126
209
  * Blockchain network where the rule will apply
127
210
  */
128
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
211
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
129
212
  /**
130
213
  * OAuth credentials associated with the rule
131
214
  */
@@ -133,17 +216,25 @@ export interface RuleCreateResponse {
133
216
  /**
134
217
  * Type of reward issued by the rule
135
218
  */
136
- rewardType?: 'points' | 'multiplier';
219
+ rewardType?: 'points' | 'multiplier' | 'badge';
220
+ /**
221
+ * URL of the Shopify store
222
+ */
223
+ shopifyStoreUrl?: string | null;
137
224
  /**
138
- * Identifier for associated subscriptions
225
+ * Optional subscription id for the rule
139
226
  */
140
- subscriptionIdentifier?: string | null;
227
+ subscriptionId?: string | null;
141
228
  }
142
229
  export declare namespace RuleCreateResponse {
143
230
  /**
144
231
  * Additional metadata for the loyalty rule
145
232
  */
146
233
  interface Metadata {
234
+ /**
235
+ * Number of tokens per batch.
236
+ */
237
+ batchSize?: number | null;
147
238
  /**
148
239
  * Text displayed on the action button.
149
240
  */
@@ -168,6 +259,12 @@ export declare namespace RuleCreateResponse {
168
259
  * Array of collections associated with the rule.
169
260
  */
170
261
  collection?: Array<Metadata.Collection>;
262
+ /**
263
+ * Conditions for completing the profile.
264
+ */
265
+ completeProfileConditions?: {
266
+ [key: string]: boolean;
267
+ } | null;
171
268
  /**
172
269
  * Object containing details for the call-to-action.
173
270
  */
@@ -196,10 +293,18 @@ export declare namespace RuleCreateResponse {
196
293
  * Flag indicating whether the verified multiplier is enabled.
197
294
  */
198
295
  enableVerifiedMultiplier?: boolean;
296
+ /**
297
+ * Fill source of the order for the token sale
298
+ */
299
+ fillSource?: string;
199
300
  /**
200
301
  * Percentage reward given to a user for their first referral.
201
302
  */
202
303
  firstReferralReward?: number | null;
304
+ /**
305
+ * Flag indicating whether the fill source is included.
306
+ */
307
+ hasFillSource?: boolean;
203
308
  /**
204
309
  * Indicates if the item has never been sold.
205
310
  */
@@ -220,10 +325,18 @@ export declare namespace RuleCreateResponse {
220
325
  * URL of the image associated with the rule.
221
326
  */
222
327
  imageUrl?: string | null;
328
+ /**
329
+ * If enabled, the first transaction done on the platform will complete this rule
330
+ */
331
+ isCheckInOnEveryTxn?: boolean;
223
332
  /**
224
333
  * Indicates if the multiplier has been applied to rewards.
225
334
  */
226
335
  isMultiplierApplied?: boolean;
336
+ /**
337
+ * Flag indicating if the rule is restricted to new users.
338
+ */
339
+ isRestrictedToNewUsers?: boolean;
227
340
  /**
228
341
  * Flag indicating if rewards are applied retroactively.
229
342
  */
@@ -236,6 +349,10 @@ export declare namespace RuleCreateResponse {
236
349
  * Optional link associated with the metadata.
237
350
  */
238
351
  link?: string | null;
352
+ /**
353
+ * Liquidity pool details.
354
+ */
355
+ liquidity?: Metadata.Liquidity;
239
356
  /**
240
357
  * Maximum quantity constraint for token holding.
241
358
  */
@@ -260,10 +377,30 @@ export declare namespace RuleCreateResponse {
260
377
  * Flag indicating whether to include only non-listed items.
261
378
  */
262
379
  onlyNonListed?: boolean;
380
+ /**
381
+ * Indicates if only existing users are rewarded.
382
+ */
383
+ onlyRewardExistingUser?: boolean;
384
+ /**
385
+ * give points for only one token ownership per contract
386
+ */
387
+ onlyRewardSingleTokenOwnership?: boolean | null;
263
388
  /**
264
389
  * Promotional code associated with the rule.
265
390
  */
266
391
  promoCode?: string;
392
+ /**
393
+ * URL of the CSV file containing promo codes.
394
+ */
395
+ promoCodeCsvUrl?: string;
396
+ /**
397
+ * Numbers of the promotional code to be generated.
398
+ */
399
+ promoCodeLength?: number | null;
400
+ /**
401
+ * Type of the promotional code.
402
+ */
403
+ promoCodeType?: 'code' | 'csv' | 'generate';
267
404
  /**
268
405
  * Array defining ranges and corresponding rewards.
269
406
  */
@@ -276,10 +413,27 @@ export declare namespace RuleCreateResponse {
276
413
  * Lump sum reward given to a referrer.
277
414
  */
278
415
  referrerReward?: number | null;
416
+ /**
417
+ * Loyalty currency ID of the referrer reward.
418
+ */
419
+ referrerRewardLoyaltyCurrencyId?: string | null;
420
+ /**
421
+ * Flag indicating if the rule can also reward badges per range.
422
+ */
423
+ rewardBadgePerRange?: boolean;
424
+ /**
425
+ * Flag indicating if the reward is rewarded by batch.
426
+ */
427
+ rewardByBatch?: boolean | null;
279
428
  /**
280
429
  * Flag indicating if rewards are given per impression.
281
430
  */
282
431
  rewardPerImpression?: boolean | null;
432
+ /**
433
+ * Flag indicating if the rule should reward based on value of traded tokens
434
+ * instead of count.
435
+ */
436
+ rewardPerValue?: boolean;
283
437
  /**
284
438
  * Currency associated with sales.
285
439
  */
@@ -288,6 +442,10 @@ export declare namespace RuleCreateResponse {
288
442
  * Percentage reward given for a second-level referral.
289
443
  */
290
444
  secondReferralReward?: number | null;
445
+ /**
446
+ * Flag indicating if the multiplier is skipped.
447
+ */
448
+ skipMultiplier?: boolean | null;
291
449
  /**
292
450
  * Object containing details of the associated smart contract.
293
451
  */
@@ -299,7 +457,7 @@ export declare namespace RuleCreateResponse {
299
457
  /**
300
458
  * Social media platform associated with the rule.
301
459
  */
302
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
460
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
303
461
  /**
304
462
  * URL of the social platform's logo.
305
463
  */
@@ -308,10 +466,18 @@ export declare namespace RuleCreateResponse {
308
466
  * Name of the social platform.
309
467
  */
310
468
  socialPlatformName?: string | null;
469
+ /**
470
+ * ID of the Steam app.
471
+ */
472
+ steamAppId?: string | null;
311
473
  /**
312
474
  * Array of streak milestones and corresponding rewards.
313
475
  */
314
476
  streakArray?: Array<Metadata.StreakArray> | null;
477
+ /**
478
+ * Metadata for swap loyalty rules
479
+ */
480
+ swap?: Metadata.Swap;
315
481
  /**
316
482
  * ID of the Telegram channel.
317
483
  */
@@ -324,6 +490,11 @@ export declare namespace RuleCreateResponse {
324
490
  * Flag indicating if all contracts are tracked.
325
491
  */
326
492
  trackAllContracts?: boolean | null;
493
+ /**
494
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
495
+ * completed once the progress is 100%.
496
+ */
497
+ trackProgress?: boolean | null;
327
498
  /**
328
499
  * URL of the associated Twitter account.
329
500
  */
@@ -359,7 +530,15 @@ export declare namespace RuleCreateResponse {
359
530
  /**
360
531
  * Type of wallet associated with the rule.
361
532
  */
362
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
533
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
534
+ /**
535
+ * ID of the Youtube channel.
536
+ */
537
+ youtubeChannelId?: string | null;
538
+ /**
539
+ * ID of the Youtube video.
540
+ */
541
+ youtubeVideoId?: string | null;
363
542
  }
364
543
  namespace Metadata {
365
544
  interface Collection {
@@ -374,7 +553,7 @@ export declare namespace RuleCreateResponse {
374
553
  /**
375
554
  * Blockchain network of the collection.
376
555
  */
377
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
556
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
378
557
  }
379
558
  /**
380
559
  * Object containing details for the call-to-action.
@@ -413,6 +592,10 @@ export declare namespace RuleCreateResponse {
413
592
  * Array of emojis used in the channel.
414
593
  */
415
594
  emojis?: Array<Channel.Emoji>;
595
+ /**
596
+ * Phrase of text to be present in the discord message
597
+ */
598
+ text?: string;
416
599
  }
417
600
  namespace Channel {
418
601
  interface Emoji {
@@ -435,6 +618,49 @@ export declare namespace RuleCreateResponse {
435
618
  */
436
619
  id: string;
437
620
  }
621
+ /**
622
+ * Liquidity pool details.
623
+ */
624
+ interface Liquidity {
625
+ /**
626
+ * Calculation type of the liquidity pool.
627
+ */
628
+ calculationType?: 'fixed' | 'custom';
629
+ /**
630
+ * Custom function to calculate the the reward amount based on the liquidity
631
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
632
+ * USD.
633
+ */
634
+ customFunction?: string;
635
+ /**
636
+ * Liquidity provided per day in USD
637
+ */
638
+ liquidityPerDay?: number;
639
+ /**
640
+ * Blockchain network of the liquidity pool.
641
+ */
642
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
643
+ /**
644
+ * Indicates if only in-range liquidity is rewarded.
645
+ */
646
+ onlyRewardInRangeLiquidity?: boolean;
647
+ /**
648
+ * Array of liquidity pools associated with the rule.
649
+ */
650
+ pools?: Array<Liquidity.Pool>;
651
+ /**
652
+ * Protocol of the liquidity pool.
653
+ */
654
+ protocol?: string;
655
+ }
656
+ namespace Liquidity {
657
+ interface Pool {
658
+ /**
659
+ * Unique identifier of the liquidity pool.
660
+ */
661
+ id: string;
662
+ }
663
+ }
438
664
  interface Range {
439
665
  /**
440
666
  * Reward amount for this range.
@@ -448,6 +674,14 @@ export declare namespace RuleCreateResponse {
448
674
  * Start value of the range.
449
675
  */
450
676
  startRange: number;
677
+ /**
678
+ * ID of the loyalty badge for this range.
679
+ */
680
+ loyaltyBadgeId?: string;
681
+ /**
682
+ * Amount of the loyalty multiplier for this range.
683
+ */
684
+ loyaltyMultiplierAmount?: number;
451
685
  }
452
686
  /**
453
687
  * Object defining referral requirements.
@@ -491,18 +725,14 @@ export declare namespace RuleCreateResponse {
491
725
  * Object containing details of the associated smart contract.
492
726
  */
493
727
  interface SmartContract {
494
- /**
495
- * ABI of the smart contract.
496
- */
497
- abi?: string | null;
498
728
  /**
499
729
  * Mapping of addresses for the smart contract.
500
730
  */
501
731
  addressMapping?: string | null;
502
732
  /**
503
- * Array of bonus details applied to the rule.
733
+ * Object containing details of the amount multiplier from the event.
504
734
  */
505
- bonus?: Array<SmartContract.Bonus> | null;
735
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
506
736
  /**
507
737
  * ID of the smart contract.
508
738
  */
@@ -511,58 +741,28 @@ export declare namespace RuleCreateResponse {
511
741
  * Criteria to evaluate the smart contract event.
512
742
  */
513
743
  criteria?: 'everyEvent' | 'byParameter' | null;
514
- /**
515
- * Time range applied to the rule.
516
- */
517
- customRange?: SmartContract.CustomRange | null;
518
744
  /**
519
745
  * Event emitted by the smart contract.
520
746
  */
521
747
  event?: string | null;
522
- /**
523
- * Maximum value allowed for the parameter.
524
- */
525
- max?: number | null;
526
748
  /**
527
749
  * Array of parameters for the smart contract.
528
750
  */
529
751
  params?: Array<SmartContract.Param> | null;
530
752
  /**
531
- * Flag indicating if a bonus is applied.
532
- */
533
- withBonus?: boolean | null;
534
- /**
535
- * Flag indicating if a custom range is applied.
753
+ * Type of the smart contract interaction.
536
754
  */
537
- withCustomRange?: boolean | null;
538
- /**
539
- * Flag indicating if a maximum limit is applied.
540
- */
541
- withMax?: boolean | null;
755
+ type?: 'function' | 'event' | null;
542
756
  }
543
757
  namespace SmartContract {
544
- interface Bonus {
545
- /**
546
- * Amount of the bonus.
547
- */
548
- amount?: number | null;
549
- /**
550
- * Number of times the bonus is applied.
551
- */
552
- count?: number | null;
553
- }
554
758
  /**
555
- * Time range applied to the rule.
759
+ * Object containing details of the amount multiplier from the event.
556
760
  */
557
- interface CustomRange {
761
+ interface AmountMultiplier {
558
762
  /**
559
- * End time of the custom range.
763
+ * Mapping of the value for the smart contract.
560
764
  */
561
- endsAt?: string | null;
562
- /**
563
- * Start time of the custom range.
564
- */
565
- startsAt?: string | null;
765
+ valueMapping?: string | null;
566
766
  }
567
767
  interface Param {
568
768
  /**
@@ -599,6 +799,24 @@ export declare namespace RuleCreateResponse {
599
799
  */
600
800
  streakMilestone: number;
601
801
  }
802
+ /**
803
+ * Metadata for swap loyalty rules
804
+ */
805
+ interface Swap {
806
+ provider?: 'any' | 'relay' | 'lifi';
807
+ relayReferrerId?: string;
808
+ requireCrossChainSwap?: boolean;
809
+ swappedToChain?: 'any' | number | string;
810
+ swappedToTokens?: Array<Swap.SwappedToToken>;
811
+ tokenMode?: 'any' | 'specific';
812
+ trackTokenAmount?: boolean;
813
+ }
814
+ namespace Swap {
815
+ interface SwappedToToken {
816
+ address: string;
817
+ chainId: string;
818
+ }
819
+ }
602
820
  }
603
821
  interface Collection {
604
822
  /**
@@ -608,7 +826,11 @@ export declare namespace RuleCreateResponse {
608
826
  /**
609
827
  * Blockchain network for the collection
610
828
  */
611
- network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
829
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
830
+ /**
831
+ * Symbol of the collection.
832
+ */
833
+ symbol?: string;
612
834
  }
613
835
  }
614
836
  export interface RuleUpdateResponse {
@@ -617,34 +839,14 @@ export interface RuleUpdateResponse {
617
839
  * Reward amount for the loyalty rule
618
840
  */
619
841
  amount: unknown;
620
- /**
621
- * Effective end time of the rule
622
- */
623
- effectiveEndTime: string | null;
624
- /**
625
- * Effective start time of the rule
626
- */
627
- effectiveStartTime: string | null;
628
842
  /**
629
843
  * End time for the loyalty rule
630
844
  */
631
845
  endTime: string | null;
632
- /**
633
- * Frequency of the rule execution
634
- */
635
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
636
- /**
637
- * Additional metadata for the loyalty rule
638
- */
639
- metadata: RuleUpdateResponse.Metadata;
640
846
  /**
641
847
  * Name of the loyalty rule
642
848
  */
643
849
  name: string;
644
- /**
645
- * Start time for the loyalty rule
646
- */
647
- startTime: string | null;
648
850
  /**
649
851
  * Blockchain address of the associated collection
650
852
  */
@@ -665,6 +867,22 @@ export interface RuleUpdateResponse {
665
867
  * Optional description of the loyalty rule
666
868
  */
667
869
  description?: string;
870
+ /**
871
+ * Effective end time of the rule
872
+ */
873
+ effectiveEndTime?: string | null;
874
+ /**
875
+ * Effective start time of the rule
876
+ */
877
+ effectiveStartTime?: string | null;
878
+ /**
879
+ * ID of the external integration
880
+ */
881
+ externalIntegrationId?: string | null;
882
+ /**
883
+ * Frequency of the rule execution
884
+ */
885
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
668
886
  /**
669
887
  * Whether to hide this rule in the user interface
670
888
  */
@@ -672,7 +890,7 @@ export interface RuleUpdateResponse {
672
890
  /**
673
891
  * Time interval for recurring rule execution
674
892
  */
675
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
893
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
676
894
  /**
677
895
  * Whether this rule is required for participation
678
896
  */
@@ -681,10 +899,28 @@ export interface RuleUpdateResponse {
681
899
  * ID of the rule group section to associate with the rule
682
900
  */
683
901
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
902
+ /**
903
+ * The interval for the max amount. Available for the smart contract and external
904
+ * rules.
905
+ */
906
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
907
+ /**
908
+ * The maximum amount of points a user can earn per interval. Available for the
909
+ * smart contract and external rules.
910
+ */
911
+ maxAmountPerInterval?: number | null;
912
+ /**
913
+ * URL of the media to be displayed
914
+ */
915
+ mediaUrl?: string | null;
916
+ /**
917
+ * Additional metadata for the loyalty rule
918
+ */
919
+ metadata?: RuleUpdateResponse.Metadata;
684
920
  /**
685
921
  * Blockchain network where the rule will apply
686
922
  */
687
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
923
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
688
924
  /**
689
925
  * ID for associated OAuth credentials
690
926
  */
@@ -692,17 +928,43 @@ export interface RuleUpdateResponse {
692
928
  /**
693
929
  * Type of reward issued by this rule
694
930
  */
695
- rewardType?: 'points' | 'multiplier';
931
+ rewardType?: 'points' | 'multiplier' | 'badge';
696
932
  /**
697
- * Optional subscription identifier for the rule
933
+ * URL of the Shopify store
698
934
  */
699
- subscriptionIdentifier?: string | null;
935
+ shopifyStoreUrl?: string | null;
936
+ /**
937
+ * Start time for the loyalty rule
938
+ */
939
+ startTime?: string | null;
940
+ /**
941
+ * Optional subscription id for the rule
942
+ */
943
+ subscriptionId?: string | null;
700
944
  }
701
945
  export declare namespace RuleUpdateResponse {
946
+ interface Collection {
947
+ /**
948
+ * Blockchain address of the collection
949
+ */
950
+ address: string;
951
+ /**
952
+ * Blockchain network for the collection
953
+ */
954
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
955
+ /**
956
+ * Symbol of the collection.
957
+ */
958
+ symbol?: string;
959
+ }
702
960
  /**
703
961
  * Additional metadata for the loyalty rule
704
962
  */
705
963
  interface Metadata {
964
+ /**
965
+ * Number of tokens per batch.
966
+ */
967
+ batchSize?: number | null;
706
968
  /**
707
969
  * Text displayed on the action button.
708
970
  */
@@ -727,6 +989,12 @@ export declare namespace RuleUpdateResponse {
727
989
  * Array of collections associated with the rule.
728
990
  */
729
991
  collection?: Array<Metadata.Collection>;
992
+ /**
993
+ * Conditions for completing the profile.
994
+ */
995
+ completeProfileConditions?: {
996
+ [key: string]: boolean;
997
+ } | null;
730
998
  /**
731
999
  * Object containing details for the call-to-action.
732
1000
  */
@@ -755,10 +1023,18 @@ export declare namespace RuleUpdateResponse {
755
1023
  * Flag indicating whether the verified multiplier is enabled.
756
1024
  */
757
1025
  enableVerifiedMultiplier?: boolean;
1026
+ /**
1027
+ * Fill source of the order for the token sale
1028
+ */
1029
+ fillSource?: string;
758
1030
  /**
759
1031
  * Percentage reward given to a user for their first referral.
760
1032
  */
761
1033
  firstReferralReward?: number | null;
1034
+ /**
1035
+ * Flag indicating whether the fill source is included.
1036
+ */
1037
+ hasFillSource?: boolean;
762
1038
  /**
763
1039
  * Indicates if the item has never been sold.
764
1040
  */
@@ -779,10 +1055,18 @@ export declare namespace RuleUpdateResponse {
779
1055
  * URL of the image associated with the rule.
780
1056
  */
781
1057
  imageUrl?: string | null;
1058
+ /**
1059
+ * If enabled, the first transaction done on the platform will complete this rule
1060
+ */
1061
+ isCheckInOnEveryTxn?: boolean;
782
1062
  /**
783
1063
  * Indicates if the multiplier has been applied to rewards.
784
1064
  */
785
1065
  isMultiplierApplied?: boolean;
1066
+ /**
1067
+ * Flag indicating if the rule is restricted to new users.
1068
+ */
1069
+ isRestrictedToNewUsers?: boolean;
786
1070
  /**
787
1071
  * Flag indicating if rewards are applied retroactively.
788
1072
  */
@@ -795,6 +1079,10 @@ export declare namespace RuleUpdateResponse {
795
1079
  * Optional link associated with the metadata.
796
1080
  */
797
1081
  link?: string | null;
1082
+ /**
1083
+ * Liquidity pool details.
1084
+ */
1085
+ liquidity?: Metadata.Liquidity;
798
1086
  /**
799
1087
  * Maximum quantity constraint for token holding.
800
1088
  */
@@ -819,10 +1107,30 @@ export declare namespace RuleUpdateResponse {
819
1107
  * Flag indicating whether to include only non-listed items.
820
1108
  */
821
1109
  onlyNonListed?: boolean;
1110
+ /**
1111
+ * Indicates if only existing users are rewarded.
1112
+ */
1113
+ onlyRewardExistingUser?: boolean;
1114
+ /**
1115
+ * give points for only one token ownership per contract
1116
+ */
1117
+ onlyRewardSingleTokenOwnership?: boolean | null;
822
1118
  /**
823
1119
  * Promotional code associated with the rule.
824
1120
  */
825
1121
  promoCode?: string;
1122
+ /**
1123
+ * URL of the CSV file containing promo codes.
1124
+ */
1125
+ promoCodeCsvUrl?: string;
1126
+ /**
1127
+ * Numbers of the promotional code to be generated.
1128
+ */
1129
+ promoCodeLength?: number | null;
1130
+ /**
1131
+ * Type of the promotional code.
1132
+ */
1133
+ promoCodeType?: 'code' | 'csv' | 'generate';
826
1134
  /**
827
1135
  * Array defining ranges and corresponding rewards.
828
1136
  */
@@ -835,10 +1143,27 @@ export declare namespace RuleUpdateResponse {
835
1143
  * Lump sum reward given to a referrer.
836
1144
  */
837
1145
  referrerReward?: number | null;
1146
+ /**
1147
+ * Loyalty currency ID of the referrer reward.
1148
+ */
1149
+ referrerRewardLoyaltyCurrencyId?: string | null;
1150
+ /**
1151
+ * Flag indicating if the rule can also reward badges per range.
1152
+ */
1153
+ rewardBadgePerRange?: boolean;
1154
+ /**
1155
+ * Flag indicating if the reward is rewarded by batch.
1156
+ */
1157
+ rewardByBatch?: boolean | null;
838
1158
  /**
839
1159
  * Flag indicating if rewards are given per impression.
840
1160
  */
841
1161
  rewardPerImpression?: boolean | null;
1162
+ /**
1163
+ * Flag indicating if the rule should reward based on value of traded tokens
1164
+ * instead of count.
1165
+ */
1166
+ rewardPerValue?: boolean;
842
1167
  /**
843
1168
  * Currency associated with sales.
844
1169
  */
@@ -847,6 +1172,10 @@ export declare namespace RuleUpdateResponse {
847
1172
  * Percentage reward given for a second-level referral.
848
1173
  */
849
1174
  secondReferralReward?: number | null;
1175
+ /**
1176
+ * Flag indicating if the multiplier is skipped.
1177
+ */
1178
+ skipMultiplier?: boolean | null;
850
1179
  /**
851
1180
  * Object containing details of the associated smart contract.
852
1181
  */
@@ -858,7 +1187,7 @@ export declare namespace RuleUpdateResponse {
858
1187
  /**
859
1188
  * Social media platform associated with the rule.
860
1189
  */
861
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
1190
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
862
1191
  /**
863
1192
  * URL of the social platform's logo.
864
1193
  */
@@ -867,10 +1196,18 @@ export declare namespace RuleUpdateResponse {
867
1196
  * Name of the social platform.
868
1197
  */
869
1198
  socialPlatformName?: string | null;
1199
+ /**
1200
+ * ID of the Steam app.
1201
+ */
1202
+ steamAppId?: string | null;
870
1203
  /**
871
1204
  * Array of streak milestones and corresponding rewards.
872
1205
  */
873
1206
  streakArray?: Array<Metadata.StreakArray> | null;
1207
+ /**
1208
+ * Metadata for swap loyalty rules
1209
+ */
1210
+ swap?: Metadata.Swap;
874
1211
  /**
875
1212
  * ID of the Telegram channel.
876
1213
  */
@@ -883,6 +1220,11 @@ export declare namespace RuleUpdateResponse {
883
1220
  * Flag indicating if all contracts are tracked.
884
1221
  */
885
1222
  trackAllContracts?: boolean | null;
1223
+ /**
1224
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1225
+ * completed once the progress is 100%.
1226
+ */
1227
+ trackProgress?: boolean | null;
886
1228
  /**
887
1229
  * URL of the associated Twitter account.
888
1230
  */
@@ -918,7 +1260,15 @@ export declare namespace RuleUpdateResponse {
918
1260
  /**
919
1261
  * Type of wallet associated with the rule.
920
1262
  */
921
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1263
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
1264
+ /**
1265
+ * ID of the Youtube channel.
1266
+ */
1267
+ youtubeChannelId?: string | null;
1268
+ /**
1269
+ * ID of the Youtube video.
1270
+ */
1271
+ youtubeVideoId?: string | null;
922
1272
  }
923
1273
  namespace Metadata {
924
1274
  interface Collection {
@@ -933,7 +1283,7 @@ export declare namespace RuleUpdateResponse {
933
1283
  /**
934
1284
  * Blockchain network of the collection.
935
1285
  */
936
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
1286
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
937
1287
  }
938
1288
  /**
939
1289
  * Object containing details for the call-to-action.
@@ -972,6 +1322,10 @@ export declare namespace RuleUpdateResponse {
972
1322
  * Array of emojis used in the channel.
973
1323
  */
974
1324
  emojis?: Array<Channel.Emoji>;
1325
+ /**
1326
+ * Phrase of text to be present in the discord message
1327
+ */
1328
+ text?: string;
975
1329
  }
976
1330
  namespace Channel {
977
1331
  interface Emoji {
@@ -994,6 +1348,49 @@ export declare namespace RuleUpdateResponse {
994
1348
  */
995
1349
  id: string;
996
1350
  }
1351
+ /**
1352
+ * Liquidity pool details.
1353
+ */
1354
+ interface Liquidity {
1355
+ /**
1356
+ * Calculation type of the liquidity pool.
1357
+ */
1358
+ calculationType?: 'fixed' | 'custom';
1359
+ /**
1360
+ * Custom function to calculate the the reward amount based on the liquidity
1361
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1362
+ * USD.
1363
+ */
1364
+ customFunction?: string;
1365
+ /**
1366
+ * Liquidity provided per day in USD
1367
+ */
1368
+ liquidityPerDay?: number;
1369
+ /**
1370
+ * Blockchain network of the liquidity pool.
1371
+ */
1372
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
1373
+ /**
1374
+ * Indicates if only in-range liquidity is rewarded.
1375
+ */
1376
+ onlyRewardInRangeLiquidity?: boolean;
1377
+ /**
1378
+ * Array of liquidity pools associated with the rule.
1379
+ */
1380
+ pools?: Array<Liquidity.Pool>;
1381
+ /**
1382
+ * Protocol of the liquidity pool.
1383
+ */
1384
+ protocol?: string;
1385
+ }
1386
+ namespace Liquidity {
1387
+ interface Pool {
1388
+ /**
1389
+ * Unique identifier of the liquidity pool.
1390
+ */
1391
+ id: string;
1392
+ }
1393
+ }
997
1394
  interface Range {
998
1395
  /**
999
1396
  * Reward amount for this range.
@@ -1007,6 +1404,14 @@ export declare namespace RuleUpdateResponse {
1007
1404
  * Start value of the range.
1008
1405
  */
1009
1406
  startRange: number;
1407
+ /**
1408
+ * ID of the loyalty badge for this range.
1409
+ */
1410
+ loyaltyBadgeId?: string;
1411
+ /**
1412
+ * Amount of the loyalty multiplier for this range.
1413
+ */
1414
+ loyaltyMultiplierAmount?: number;
1010
1415
  }
1011
1416
  /**
1012
1417
  * Object defining referral requirements.
@@ -1050,18 +1455,14 @@ export declare namespace RuleUpdateResponse {
1050
1455
  * Object containing details of the associated smart contract.
1051
1456
  */
1052
1457
  interface SmartContract {
1053
- /**
1054
- * ABI of the smart contract.
1055
- */
1056
- abi?: string | null;
1057
1458
  /**
1058
1459
  * Mapping of addresses for the smart contract.
1059
1460
  */
1060
1461
  addressMapping?: string | null;
1061
1462
  /**
1062
- * Array of bonus details applied to the rule.
1463
+ * Object containing details of the amount multiplier from the event.
1063
1464
  */
1064
- bonus?: Array<SmartContract.Bonus> | null;
1465
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1065
1466
  /**
1066
1467
  * ID of the smart contract.
1067
1468
  */
@@ -1070,58 +1471,28 @@ export declare namespace RuleUpdateResponse {
1070
1471
  * Criteria to evaluate the smart contract event.
1071
1472
  */
1072
1473
  criteria?: 'everyEvent' | 'byParameter' | null;
1073
- /**
1074
- * Time range applied to the rule.
1075
- */
1076
- customRange?: SmartContract.CustomRange | null;
1077
1474
  /**
1078
1475
  * Event emitted by the smart contract.
1079
1476
  */
1080
1477
  event?: string | null;
1081
- /**
1082
- * Maximum value allowed for the parameter.
1083
- */
1084
- max?: number | null;
1085
1478
  /**
1086
1479
  * Array of parameters for the smart contract.
1087
1480
  */
1088
1481
  params?: Array<SmartContract.Param> | null;
1089
1482
  /**
1090
- * Flag indicating if a bonus is applied.
1091
- */
1092
- withBonus?: boolean | null;
1093
- /**
1094
- * Flag indicating if a custom range is applied.
1483
+ * Type of the smart contract interaction.
1095
1484
  */
1096
- withCustomRange?: boolean | null;
1097
- /**
1098
- * Flag indicating if a maximum limit is applied.
1099
- */
1100
- withMax?: boolean | null;
1485
+ type?: 'function' | 'event' | null;
1101
1486
  }
1102
1487
  namespace SmartContract {
1103
- interface Bonus {
1104
- /**
1105
- * Amount of the bonus.
1106
- */
1107
- amount?: number | null;
1108
- /**
1109
- * Number of times the bonus is applied.
1110
- */
1111
- count?: number | null;
1112
- }
1113
1488
  /**
1114
- * Time range applied to the rule.
1489
+ * Object containing details of the amount multiplier from the event.
1115
1490
  */
1116
- interface CustomRange {
1491
+ interface AmountMultiplier {
1117
1492
  /**
1118
- * End time of the custom range.
1493
+ * Mapping of the value for the smart contract.
1119
1494
  */
1120
- endsAt?: string | null;
1121
- /**
1122
- * Start time of the custom range.
1123
- */
1124
- startsAt?: string | null;
1495
+ valueMapping?: string | null;
1125
1496
  }
1126
1497
  interface Param {
1127
1498
  /**
@@ -1158,16 +1529,24 @@ export declare namespace RuleUpdateResponse {
1158
1529
  */
1159
1530
  streakMilestone: number;
1160
1531
  }
1161
- }
1162
- interface Collection {
1163
1532
  /**
1164
- * Blockchain address of the collection
1533
+ * Metadata for swap loyalty rules
1165
1534
  */
1166
- address: string;
1167
- /**
1168
- * Blockchain network for the collection
1169
- */
1170
- network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
1535
+ interface Swap {
1536
+ provider?: 'any' | 'relay' | 'lifi';
1537
+ relayReferrerId?: string;
1538
+ requireCrossChainSwap?: boolean;
1539
+ swappedToChain?: 'any' | number | string;
1540
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1541
+ tokenMode?: 'any' | 'specific';
1542
+ trackTokenAmount?: boolean;
1543
+ }
1544
+ namespace Swap {
1545
+ interface SwappedToToken {
1546
+ address: string;
1547
+ chainId: string;
1548
+ }
1549
+ }
1171
1550
  }
1172
1551
  }
1173
1552
  export interface RuleListResponse {
@@ -1175,9 +1554,6 @@ export interface RuleListResponse {
1175
1554
  hasNextPage: boolean;
1176
1555
  }
1177
1556
  export declare namespace RuleListResponse {
1178
- /**
1179
- * Schema for a loyalty rule
1180
- */
1181
1557
  interface Data {
1182
1558
  /**
1183
1559
  * Unique identifier for the loyalty rule
@@ -1195,14 +1571,38 @@ export declare namespace RuleListResponse {
1195
1571
  * Timestamp when the loyalty rule was deleted (if applicable)
1196
1572
  */
1197
1573
  deletedAt: string | null;
1574
+ /**
1575
+ * Description of the loyalty rule
1576
+ */
1577
+ description: string;
1578
+ /**
1579
+ * End time of the loyalty rule
1580
+ */
1581
+ endTime: string;
1198
1582
  /**
1199
1583
  * Frequency of the loyalty rule
1200
1584
  */
1201
1585
  frequency: string;
1586
+ /**
1587
+ * Chains attached to the loyalty rule
1588
+ */
1589
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1590
+ /**
1591
+ * Name of the loyalty rule
1592
+ */
1593
+ name: string;
1202
1594
  /**
1203
1595
  * Unique identifier for the organization
1204
1596
  */
1205
1597
  organizationId: string;
1598
+ /**
1599
+ * Type of the reward
1600
+ */
1601
+ rewardType: 'points' | 'multiplier' | 'badge';
1602
+ /**
1603
+ * Start time of the loyalty rule
1604
+ */
1605
+ startTime: string;
1206
1606
  /**
1207
1607
  * Type of the loyalty rule
1208
1608
  */
@@ -1219,10 +1619,687 @@ export declare namespace RuleListResponse {
1219
1619
  * Optional address of the collection
1220
1620
  */
1221
1621
  collectionAddress?: string;
1622
+ /**
1623
+ * URL of the media associated with the loyalty rule
1624
+ */
1625
+ mediaUrl?: string | null;
1222
1626
  /**
1223
1627
  * Optional metadata for the loyalty rule
1224
1628
  */
1225
- metadata?: Record<string, unknown>;
1629
+ metadata?: {
1630
+ [key: string]: Data.Metadata;
1631
+ };
1632
+ }
1633
+ namespace Data {
1634
+ interface LoyaltyRuleChain {
1635
+ /**
1636
+ * Unique identifier for the rule chain
1637
+ */
1638
+ id: string;
1639
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1640
+ /**
1641
+ * Unique identifier for the loyalty rule
1642
+ */
1643
+ loyaltyRuleId: string;
1644
+ /**
1645
+ * Name of the rule chain
1646
+ */
1647
+ name: string;
1648
+ }
1649
+ namespace LoyaltyRuleChain {
1650
+ interface LoyaltyCondition {
1651
+ /**
1652
+ * Unique identifier for the condition
1653
+ */
1654
+ id: string;
1655
+ /**
1656
+ * Amount of the condition
1657
+ */
1658
+ amount: number | null;
1659
+ association: Array<LoyaltyCondition.Association>;
1660
+ /**
1661
+ * URL of the CSV file
1662
+ */
1663
+ csvUrl: string | null;
1664
+ /**
1665
+ * Description of the condition
1666
+ */
1667
+ description: string | null;
1668
+ /**
1669
+ * Number of times the condition must be met
1670
+ */
1671
+ repeatCount: number | null;
1672
+ /**
1673
+ * Number of times the condition must be met
1674
+ */
1675
+ requiredCount: number | null;
1676
+ /**
1677
+ * Type of the condition
1678
+ */
1679
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1680
+ }
1681
+ namespace LoyaltyCondition {
1682
+ interface Association {
1683
+ /**
1684
+ * Unique identifier for the association
1685
+ */
1686
+ id: string;
1687
+ /**
1688
+ * Unique identifier for the loyalty badge
1689
+ */
1690
+ loyaltyBadgeId: string | null;
1691
+ /**
1692
+ * Unique identifier for the loyalty currency
1693
+ */
1694
+ loyaltyCurrencyId: string | null;
1695
+ loyaltyRule: Association.LoyaltyRule | null;
1696
+ /**
1697
+ * Unique identifier for the loyalty rule group
1698
+ */
1699
+ loyaltyRuleGroupId: string | null;
1700
+ /**
1701
+ * Unique identifier for the loyalty rule
1702
+ */
1703
+ loyaltyRuleId: string | null;
1704
+ }
1705
+ namespace Association {
1706
+ interface LoyaltyRule {
1707
+ /**
1708
+ * Name of the loyalty rule
1709
+ */
1710
+ name: string;
1711
+ }
1712
+ }
1713
+ }
1714
+ }
1715
+ interface Metadata {
1716
+ /**
1717
+ * Number of tokens per batch.
1718
+ */
1719
+ batchSize?: number | null;
1720
+ /**
1721
+ * Text displayed on the action button.
1722
+ */
1723
+ buttonText?: string | null;
1724
+ /**
1725
+ * Flag indicating if commenting is required.
1726
+ */
1727
+ checkComment?: boolean | null;
1728
+ /**
1729
+ * Flag indicating if liking the post is required.
1730
+ */
1731
+ checkLike?: boolean | null;
1732
+ /**
1733
+ * Flag indicating if reposting is required.
1734
+ */
1735
+ checkRepost?: boolean | null;
1736
+ /**
1737
+ * Text to check in the Twitter post, username, or bio.
1738
+ */
1739
+ checkText?: string | null;
1740
+ /**
1741
+ * Array of collections associated with the rule.
1742
+ */
1743
+ collection?: Array<Metadata.Collection>;
1744
+ /**
1745
+ * Conditions for completing the profile.
1746
+ */
1747
+ completeProfileConditions?: {
1748
+ [key: string]: boolean;
1749
+ } | null;
1750
+ /**
1751
+ * Object containing details for the call-to-action.
1752
+ */
1753
+ cta?: Metadata.Cta | null;
1754
+ /**
1755
+ * API key for custom rewards integration.
1756
+ */
1757
+ customRewardsApiKey?: string;
1758
+ /**
1759
+ * Array of Discord servers, channels, and roles to join.
1760
+ */
1761
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1762
+ /**
1763
+ * Array of drip quests required to complete the rule.
1764
+ */
1765
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1766
+ /**
1767
+ * Flag indicating whether joining Discord servers is required.
1768
+ */
1769
+ enableJoinDiscordServers?: boolean | null;
1770
+ /**
1771
+ * Flag indicating whether streaks are enabled.
1772
+ */
1773
+ enableStreaks?: boolean | null;
1774
+ /**
1775
+ * Flag indicating whether the verified multiplier is enabled.
1776
+ */
1777
+ enableVerifiedMultiplier?: boolean;
1778
+ /**
1779
+ * Fill source of the order for the token sale
1780
+ */
1781
+ fillSource?: string;
1782
+ /**
1783
+ * Percentage reward given to a user for their first referral.
1784
+ */
1785
+ firstReferralReward?: number | null;
1786
+ /**
1787
+ * Flag indicating whether the fill source is included.
1788
+ */
1789
+ hasFillSource?: boolean;
1790
+ /**
1791
+ * Indicates if the item has never been sold.
1792
+ */
1793
+ hasNeverSold?: boolean;
1794
+ /**
1795
+ * Indicates if the full royalty has been paid for items.
1796
+ */
1797
+ hasPaidFullRoyalty?: boolean;
1798
+ /**
1799
+ * Flag indicating if the sale currency is included.
1800
+ */
1801
+ hasSaleCurrency?: boolean;
1802
+ /**
1803
+ * Indicates if the user has a verified Twitter account.
1804
+ */
1805
+ hasVerifiedTwitter?: boolean;
1806
+ /**
1807
+ * URL of the image associated with the rule.
1808
+ */
1809
+ imageUrl?: string | null;
1810
+ /**
1811
+ * If enabled, the first transaction done on the platform will complete this rule
1812
+ */
1813
+ isCheckInOnEveryTxn?: boolean;
1814
+ /**
1815
+ * Indicates if the multiplier has been applied to rewards.
1816
+ */
1817
+ isMultiplierApplied?: boolean;
1818
+ /**
1819
+ * Flag indicating if the rule is restricted to new users.
1820
+ */
1821
+ isRestrictedToNewUsers?: boolean;
1822
+ /**
1823
+ * Flag indicating if rewards are applied retroactively.
1824
+ */
1825
+ isRetroactive?: boolean | null;
1826
+ /**
1827
+ * Flag indicating if the token hold multiplier is applied.
1828
+ */
1829
+ isTokenHoldMultiplier?: boolean;
1830
+ /**
1831
+ * Optional link associated with the metadata.
1832
+ */
1833
+ link?: string | null;
1834
+ /**
1835
+ * Liquidity pool details.
1836
+ */
1837
+ liquidity?: Metadata.Liquidity;
1838
+ /**
1839
+ * Maximum quantity constraint for token holding.
1840
+ */
1841
+ maxQty?: number | null;
1842
+ /**
1843
+ * Minimum quantity constraint for token holding.
1844
+ */
1845
+ minQty?: number | null;
1846
+ /**
1847
+ * Array of loyalty currency IDs used for multipliers.
1848
+ */
1849
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1850
+ /**
1851
+ * Flag indicating whether to include only known users.
1852
+ */
1853
+ onlyKnownUsers?: boolean;
1854
+ /**
1855
+ * Flag indicating whether to include only native tokens.
1856
+ */
1857
+ onlyNative?: boolean;
1858
+ /**
1859
+ * Flag indicating whether to include only non-listed items.
1860
+ */
1861
+ onlyNonListed?: boolean;
1862
+ /**
1863
+ * Indicates if only existing users are rewarded.
1864
+ */
1865
+ onlyRewardExistingUser?: boolean;
1866
+ /**
1867
+ * give points for only one token ownership per contract
1868
+ */
1869
+ onlyRewardSingleTokenOwnership?: boolean | null;
1870
+ /**
1871
+ * Promotional code associated with the rule.
1872
+ */
1873
+ promoCode?: string;
1874
+ /**
1875
+ * URL of the CSV file containing promo codes.
1876
+ */
1877
+ promoCodeCsvUrl?: string;
1878
+ /**
1879
+ * Numbers of the promotional code to be generated.
1880
+ */
1881
+ promoCodeLength?: number | null;
1882
+ /**
1883
+ * Type of the promotional code.
1884
+ */
1885
+ promoCodeType?: 'code' | 'csv' | 'generate';
1886
+ /**
1887
+ * Array defining ranges and corresponding rewards.
1888
+ */
1889
+ range?: Array<Metadata.Range>;
1890
+ /**
1891
+ * Object defining referral requirements.
1892
+ */
1893
+ referralRequirements?: Metadata.ReferralRequirements | null;
1894
+ /**
1895
+ * Lump sum reward given to a referrer.
1896
+ */
1897
+ referrerReward?: number | null;
1898
+ /**
1899
+ * Loyalty currency ID of the referrer reward.
1900
+ */
1901
+ referrerRewardLoyaltyCurrencyId?: string | null;
1902
+ /**
1903
+ * Flag indicating if the rule can also reward badges per range.
1904
+ */
1905
+ rewardBadgePerRange?: boolean;
1906
+ /**
1907
+ * Flag indicating if the reward is rewarded by batch.
1908
+ */
1909
+ rewardByBatch?: boolean | null;
1910
+ /**
1911
+ * Flag indicating if rewards are given per impression.
1912
+ */
1913
+ rewardPerImpression?: boolean | null;
1914
+ /**
1915
+ * Flag indicating if the rule should reward based on value of traded tokens
1916
+ * instead of count.
1917
+ */
1918
+ rewardPerValue?: boolean;
1919
+ /**
1920
+ * Currency associated with sales.
1921
+ */
1922
+ saleCurrency?: string;
1923
+ /**
1924
+ * Percentage reward given for a second-level referral.
1925
+ */
1926
+ secondReferralReward?: number | null;
1927
+ /**
1928
+ * Flag indicating if the multiplier is skipped.
1929
+ */
1930
+ skipMultiplier?: boolean | null;
1931
+ /**
1932
+ * Object containing details of the associated smart contract.
1933
+ */
1934
+ smartContract?: Metadata.SmartContract;
1935
+ /**
1936
+ * Array of snapshot proposals for the rule.
1937
+ */
1938
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
1939
+ /**
1940
+ * Social media platform associated with the rule.
1941
+ */
1942
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1943
+ /**
1944
+ * URL of the social platform's logo.
1945
+ */
1946
+ socialPlatformLogo?: string | null;
1947
+ /**
1948
+ * Name of the social platform.
1949
+ */
1950
+ socialPlatformName?: string | null;
1951
+ /**
1952
+ * ID of the Steam app.
1953
+ */
1954
+ steamAppId?: string | null;
1955
+ /**
1956
+ * Array of streak milestones and corresponding rewards.
1957
+ */
1958
+ streakArray?: Array<Metadata.StreakArray> | null;
1959
+ /**
1960
+ * Metadata for swap loyalty rules
1961
+ */
1962
+ swap?: Metadata.Swap;
1963
+ /**
1964
+ * ID of the Telegram channel.
1965
+ */
1966
+ telegramChannelId?: string | null;
1967
+ /**
1968
+ * Time delay in seconds to verify actions.
1969
+ */
1970
+ timeDelayToVerifySeconds?: string | number | null;
1971
+ /**
1972
+ * Flag indicating if all contracts are tracked.
1973
+ */
1974
+ trackAllContracts?: boolean | null;
1975
+ /**
1976
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1977
+ * completed once the progress is 100%.
1978
+ */
1979
+ trackProgress?: boolean | null;
1980
+ /**
1981
+ * URL of the associated Twitter account.
1982
+ */
1983
+ twitterAccountUrl?: string;
1984
+ /**
1985
+ * Hashtag associated with the Twitter post.
1986
+ */
1987
+ twitterHashtag?: string;
1988
+ /**
1989
+ * URL of the associated Twitter post.
1990
+ */
1991
+ twitterPostUrl?: string;
1992
+ /**
1993
+ * Unique identifier of the Twitter user.
1994
+ */
1995
+ twitterUserId?: string;
1996
+ /**
1997
+ * Twitter username of the user.
1998
+ */
1999
+ twitterUsername?: string;
2000
+ /**
2001
+ * Minimum length of the verification text.
2002
+ */
2003
+ verificationTextMinimumLength?: number | null;
2004
+ /**
2005
+ * Multiplier applied to rewards for verified users.
2006
+ */
2007
+ verifiedMultiplier?: number | null;
2008
+ /**
2009
+ * Placeholder text for verification input fields.
2010
+ */
2011
+ verifyPlaceHolderText?: string | null;
2012
+ /**
2013
+ * Type of wallet associated with the rule.
2014
+ */
2015
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
2016
+ /**
2017
+ * ID of the Youtube channel.
2018
+ */
2019
+ youtubeChannelId?: string | null;
2020
+ /**
2021
+ * ID of the Youtube video.
2022
+ */
2023
+ youtubeVideoId?: string | null;
2024
+ }
2025
+ namespace Metadata {
2026
+ interface Collection {
2027
+ /**
2028
+ * Blockchain address of the collection.
2029
+ */
2030
+ address?: string;
2031
+ /**
2032
+ * Multiplier applied to the rewards for this collection.
2033
+ */
2034
+ multiplier?: number;
2035
+ /**
2036
+ * Blockchain network of the collection.
2037
+ */
2038
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
2039
+ }
2040
+ /**
2041
+ * Object containing details for the call-to-action.
2042
+ */
2043
+ interface Cta {
2044
+ /**
2045
+ * Link for the call-to-action.
2046
+ */
2047
+ href?: string | null;
2048
+ /**
2049
+ * Label for the call-to-action.
2050
+ */
2051
+ label?: string | null;
2052
+ }
2053
+ interface DiscordServersToJoin {
2054
+ /**
2055
+ * ID of the Discord server to join.
2056
+ */
2057
+ id?: string;
2058
+ /**
2059
+ * Array of Discord channels to join.
2060
+ */
2061
+ channels?: Array<DiscordServersToJoin.Channel>;
2062
+ /**
2063
+ * Array of roles to assign in the Discord server.
2064
+ */
2065
+ roles?: Array<DiscordServersToJoin.Role>;
2066
+ }
2067
+ namespace DiscordServersToJoin {
2068
+ interface Channel {
2069
+ /**
2070
+ * ID of the Discord channel.
2071
+ */
2072
+ id?: string;
2073
+ /**
2074
+ * Array of emojis used in the channel.
2075
+ */
2076
+ emojis?: Array<Channel.Emoji>;
2077
+ /**
2078
+ * Phrase of text to be present in the discord message
2079
+ */
2080
+ text?: string;
2081
+ }
2082
+ namespace Channel {
2083
+ interface Emoji {
2084
+ /**
2085
+ * ID of the emoji used in the channel.
2086
+ */
2087
+ id?: string;
2088
+ }
2089
+ }
2090
+ interface Role {
2091
+ /**
2092
+ * ID of the role in the Discord server.
2093
+ */
2094
+ id: string;
2095
+ }
2096
+ }
2097
+ interface DripQuestsToComplete {
2098
+ /**
2099
+ * ID of the drip quest to complete.
2100
+ */
2101
+ id: string;
2102
+ }
2103
+ /**
2104
+ * Liquidity pool details.
2105
+ */
2106
+ interface Liquidity {
2107
+ /**
2108
+ * Calculation type of the liquidity pool.
2109
+ */
2110
+ calculationType?: 'fixed' | 'custom';
2111
+ /**
2112
+ * Custom function to calculate the the reward amount based on the liquidity
2113
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2114
+ * USD.
2115
+ */
2116
+ customFunction?: string;
2117
+ /**
2118
+ * Liquidity provided per day in USD
2119
+ */
2120
+ liquidityPerDay?: number;
2121
+ /**
2122
+ * Blockchain network of the liquidity pool.
2123
+ */
2124
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
2125
+ /**
2126
+ * Indicates if only in-range liquidity is rewarded.
2127
+ */
2128
+ onlyRewardInRangeLiquidity?: boolean;
2129
+ /**
2130
+ * Array of liquidity pools associated with the rule.
2131
+ */
2132
+ pools?: Array<Liquidity.Pool>;
2133
+ /**
2134
+ * Protocol of the liquidity pool.
2135
+ */
2136
+ protocol?: string;
2137
+ }
2138
+ namespace Liquidity {
2139
+ interface Pool {
2140
+ /**
2141
+ * Unique identifier of the liquidity pool.
2142
+ */
2143
+ id: string;
2144
+ }
2145
+ }
2146
+ interface Range {
2147
+ /**
2148
+ * Reward amount for this range.
2149
+ */
2150
+ amount: number;
2151
+ /**
2152
+ * End value of the range.
2153
+ */
2154
+ endRange: number;
2155
+ /**
2156
+ * Start value of the range.
2157
+ */
2158
+ startRange: number;
2159
+ /**
2160
+ * ID of the loyalty badge for this range.
2161
+ */
2162
+ loyaltyBadgeId?: string;
2163
+ /**
2164
+ * Amount of the loyalty multiplier for this range.
2165
+ */
2166
+ loyaltyMultiplierAmount?: number;
2167
+ }
2168
+ /**
2169
+ * Object defining referral requirements.
2170
+ */
2171
+ interface ReferralRequirements {
2172
+ /**
2173
+ * Flag indicating if achieving points is required.
2174
+ */
2175
+ achievePoints?: boolean | null;
2176
+ /**
2177
+ * Flag indicating if completing the profile is required.
2178
+ */
2179
+ completeProfile?: boolean | null;
2180
+ /**
2181
+ * Flag indicating if connecting Discord is required.
2182
+ */
2183
+ connectDiscord?: boolean | null;
2184
+ /**
2185
+ * Flag indicating if connecting email is required.
2186
+ */
2187
+ connectEmail?: boolean | null;
2188
+ /**
2189
+ * Flag indicating if connecting Twitter is required.
2190
+ */
2191
+ connectTwitter?: boolean | null;
2192
+ points?: ReferralRequirements.Points | null;
2193
+ }
2194
+ namespace ReferralRequirements {
2195
+ interface Points {
2196
+ /**
2197
+ * Points required for referral.
2198
+ */
2199
+ amount?: number | null;
2200
+ /**
2201
+ * ID of the loyalty currency for referral.
2202
+ */
2203
+ loyaltyCurrecyId?: string | null;
2204
+ }
2205
+ }
2206
+ /**
2207
+ * Object containing details of the associated smart contract.
2208
+ */
2209
+ interface SmartContract {
2210
+ /**
2211
+ * Mapping of addresses for the smart contract.
2212
+ */
2213
+ addressMapping?: string | null;
2214
+ /**
2215
+ * Object containing details of the amount multiplier from the event.
2216
+ */
2217
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2218
+ /**
2219
+ * ID of the smart contract.
2220
+ */
2221
+ contractId?: string | null;
2222
+ /**
2223
+ * Criteria to evaluate the smart contract event.
2224
+ */
2225
+ criteria?: 'everyEvent' | 'byParameter' | null;
2226
+ /**
2227
+ * Event emitted by the smart contract.
2228
+ */
2229
+ event?: string | null;
2230
+ /**
2231
+ * Array of parameters for the smart contract.
2232
+ */
2233
+ params?: Array<SmartContract.Param> | null;
2234
+ /**
2235
+ * Type of the smart contract interaction.
2236
+ */
2237
+ type?: 'function' | 'event' | null;
2238
+ }
2239
+ namespace SmartContract {
2240
+ /**
2241
+ * Object containing details of the amount multiplier from the event.
2242
+ */
2243
+ interface AmountMultiplier {
2244
+ /**
2245
+ * Mapping of the value for the smart contract.
2246
+ */
2247
+ valueMapping?: string | null;
2248
+ }
2249
+ interface Param {
2250
+ /**
2251
+ * Condition to check for the parameter.
2252
+ */
2253
+ condition?: string | null;
2254
+ /**
2255
+ * Name of the smart contract parameter.
2256
+ */
2257
+ name?: string | null;
2258
+ /**
2259
+ * Value of the parameter.
2260
+ */
2261
+ value?: string | null;
2262
+ }
2263
+ }
2264
+ interface SnapshotProposal {
2265
+ /**
2266
+ * ID of the snapshot proposal.
2267
+ */
2268
+ id: string;
2269
+ /**
2270
+ * Space associated with the snapshot proposal.
2271
+ */
2272
+ space: string;
2273
+ }
2274
+ interface StreakArray {
2275
+ /**
2276
+ * Reward amount for achieving the streak milestone.
2277
+ */
2278
+ streakAmount: number;
2279
+ /**
2280
+ * Milestone required to achieve the streak.
2281
+ */
2282
+ streakMilestone: number;
2283
+ }
2284
+ /**
2285
+ * Metadata for swap loyalty rules
2286
+ */
2287
+ interface Swap {
2288
+ provider?: 'any' | 'relay' | 'lifi';
2289
+ relayReferrerId?: string;
2290
+ requireCrossChainSwap?: boolean;
2291
+ swappedToChain?: 'any' | number | string;
2292
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2293
+ tokenMode?: 'any' | 'specific';
2294
+ trackTokenAmount?: boolean;
2295
+ }
2296
+ namespace Swap {
2297
+ interface SwappedToToken {
2298
+ address: string;
2299
+ chainId: string;
2300
+ }
2301
+ }
2302
+ }
1226
2303
  }
1227
2304
  }
1228
2305
  export interface RuleDeleteResponse {
@@ -1230,12 +2307,12 @@ export interface RuleDeleteResponse {
1230
2307
  deletedAt: string;
1231
2308
  }
1232
2309
  export interface RuleCompleteResponse {
1233
- message: string;
2310
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1234
2311
  }
1235
- export interface RuleStatusResponse {
1236
- data: Array<RuleStatusResponse.Data>;
2312
+ export interface RuleGetStatusResponse {
2313
+ data: Array<RuleGetStatusResponse.Data>;
1237
2314
  }
1238
- export declare namespace RuleStatusResponse {
2315
+ export declare namespace RuleGetStatusResponse {
1239
2316
  interface Data {
1240
2317
  loyaltyRuleId: string;
1241
2318
  status: 'pending' | 'processing' | 'completed' | 'failed';
@@ -1287,7 +2364,7 @@ export interface RuleCreateParams {
1287
2364
  /**
1288
2365
  * Type of loyalty rule being created
1289
2366
  */
1290
- 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';
2367
+ 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';
1291
2368
  /**
1292
2369
  * Unique identifier for the associated website
1293
2370
  */
@@ -1316,6 +2393,10 @@ export interface RuleCreateParams {
1316
2393
  * Optional detailed description of the rule
1317
2394
  */
1318
2395
  description?: string;
2396
+ /**
2397
+ * ID of the external integration
2398
+ */
2399
+ externalIntegrationId?: string | null;
1319
2400
  /**
1320
2401
  * Whether to hide this rule in the user interface
1321
2402
  */
@@ -1323,19 +2404,41 @@ export interface RuleCreateParams {
1323
2404
  /**
1324
2405
  * Interval between rule executions
1325
2406
  */
1326
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
2407
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1327
2408
  /**
1328
2409
  * Whether this rule is mandatory
1329
2410
  */
1330
2411
  isRequired?: boolean;
2412
+ /**
2413
+ * Unique identifier for the loyalty badge
2414
+ */
2415
+ loyaltyBadgeId?: string | null;
1331
2416
  /**
1332
2417
  * Unique identifier for the loyalty rule group
1333
2418
  */
1334
2419
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2420
+ /**
2421
+ * URL for uploading loyalty user allotment via CSV
2422
+ */
2423
+ loyaltyUserAllotmentCsvUrl?: string;
2424
+ /**
2425
+ * The interval for the max amount. Available for the smart contract and external
2426
+ * rules.
2427
+ */
2428
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2429
+ /**
2430
+ * The maximum amount of points a user can earn per interval. Available for the
2431
+ * smart contract and external rules.
2432
+ */
2433
+ maxAmountPerInterval?: number | null;
2434
+ /**
2435
+ * URL of the media to be displayed
2436
+ */
2437
+ mediaUrl?: string | null;
1335
2438
  /**
1336
2439
  * Blockchain network where the rule will apply
1337
2440
  */
1338
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
2441
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
1339
2442
  /**
1340
2443
  * OAuth credentials associated with the rule
1341
2444
  */
@@ -1343,17 +2446,25 @@ export interface RuleCreateParams {
1343
2446
  /**
1344
2447
  * Type of reward issued by the rule
1345
2448
  */
1346
- rewardType?: 'points' | 'multiplier';
2449
+ rewardType?: 'points' | 'multiplier' | 'badge';
2450
+ /**
2451
+ * URL of the Shopify store
2452
+ */
2453
+ shopifyStoreUrl?: string | null;
1347
2454
  /**
1348
- * Identifier for associated subscriptions
2455
+ * Optional subscription id for the rule
1349
2456
  */
1350
- subscriptionIdentifier?: string | null;
2457
+ subscriptionId?: string | null;
1351
2458
  }
1352
2459
  export declare namespace RuleCreateParams {
1353
2460
  /**
1354
2461
  * Additional metadata for the loyalty rule
1355
2462
  */
1356
2463
  interface Metadata {
2464
+ /**
2465
+ * Number of tokens per batch.
2466
+ */
2467
+ batchSize?: number | null;
1357
2468
  /**
1358
2469
  * Text displayed on the action button.
1359
2470
  */
@@ -1378,6 +2489,12 @@ export declare namespace RuleCreateParams {
1378
2489
  * Array of collections associated with the rule.
1379
2490
  */
1380
2491
  collection?: Array<Metadata.Collection>;
2492
+ /**
2493
+ * Conditions for completing the profile.
2494
+ */
2495
+ completeProfileConditions?: {
2496
+ [key: string]: boolean;
2497
+ } | null;
1381
2498
  /**
1382
2499
  * Object containing details for the call-to-action.
1383
2500
  */
@@ -1406,10 +2523,18 @@ export declare namespace RuleCreateParams {
1406
2523
  * Flag indicating whether the verified multiplier is enabled.
1407
2524
  */
1408
2525
  enableVerifiedMultiplier?: boolean;
2526
+ /**
2527
+ * Fill source of the order for the token sale
2528
+ */
2529
+ fillSource?: string;
1409
2530
  /**
1410
2531
  * Percentage reward given to a user for their first referral.
1411
2532
  */
1412
2533
  firstReferralReward?: number | null;
2534
+ /**
2535
+ * Flag indicating whether the fill source is included.
2536
+ */
2537
+ hasFillSource?: boolean;
1413
2538
  /**
1414
2539
  * Indicates if the item has never been sold.
1415
2540
  */
@@ -1430,10 +2555,18 @@ export declare namespace RuleCreateParams {
1430
2555
  * URL of the image associated with the rule.
1431
2556
  */
1432
2557
  imageUrl?: string | null;
2558
+ /**
2559
+ * If enabled, the first transaction done on the platform will complete this rule
2560
+ */
2561
+ isCheckInOnEveryTxn?: boolean;
1433
2562
  /**
1434
2563
  * Indicates if the multiplier has been applied to rewards.
1435
2564
  */
1436
2565
  isMultiplierApplied?: boolean;
2566
+ /**
2567
+ * Flag indicating if the rule is restricted to new users.
2568
+ */
2569
+ isRestrictedToNewUsers?: boolean;
1437
2570
  /**
1438
2571
  * Flag indicating if rewards are applied retroactively.
1439
2572
  */
@@ -1446,6 +2579,10 @@ export declare namespace RuleCreateParams {
1446
2579
  * Optional link associated with the metadata.
1447
2580
  */
1448
2581
  link?: string | null;
2582
+ /**
2583
+ * Liquidity pool details.
2584
+ */
2585
+ liquidity?: Metadata.Liquidity;
1449
2586
  /**
1450
2587
  * Maximum quantity constraint for token holding.
1451
2588
  */
@@ -1470,26 +2607,63 @@ export declare namespace RuleCreateParams {
1470
2607
  * Flag indicating whether to include only non-listed items.
1471
2608
  */
1472
2609
  onlyNonListed?: boolean;
2610
+ /**
2611
+ * Indicates if only existing users are rewarded.
2612
+ */
2613
+ onlyRewardExistingUser?: boolean;
2614
+ /**
2615
+ * give points for only one token ownership per contract
2616
+ */
2617
+ onlyRewardSingleTokenOwnership?: boolean | null;
1473
2618
  /**
1474
2619
  * Promotional code associated with the rule.
1475
2620
  */
1476
2621
  promoCode?: string;
2622
+ /**
2623
+ * URL of the CSV file containing promo codes.
2624
+ */
2625
+ promoCodeCsvUrl?: string;
2626
+ /**
2627
+ * Numbers of the promotional code to be generated.
2628
+ */
2629
+ promoCodeLength?: number | null;
2630
+ /**
2631
+ * Type of the promotional code.
2632
+ */
2633
+ promoCodeType?: 'code' | 'csv' | 'generate';
1477
2634
  /**
1478
2635
  * Array defining ranges and corresponding rewards.
1479
2636
  */
1480
2637
  range?: Array<Metadata.Range>;
1481
2638
  /**
1482
- * Object defining referral requirements.
2639
+ * Object defining referral requirements.
2640
+ */
2641
+ referralRequirements?: Metadata.ReferralRequirements | null;
2642
+ /**
2643
+ * Lump sum reward given to a referrer.
2644
+ */
2645
+ referrerReward?: number | null;
2646
+ /**
2647
+ * Loyalty currency ID of the referrer reward.
2648
+ */
2649
+ referrerRewardLoyaltyCurrencyId?: string | null;
2650
+ /**
2651
+ * Flag indicating if the rule can also reward badges per range.
1483
2652
  */
1484
- referralRequirements?: Metadata.ReferralRequirements | null;
2653
+ rewardBadgePerRange?: boolean;
1485
2654
  /**
1486
- * Lump sum reward given to a referrer.
2655
+ * Flag indicating if the reward is rewarded by batch.
1487
2656
  */
1488
- referrerReward?: number | null;
2657
+ rewardByBatch?: boolean | null;
1489
2658
  /**
1490
2659
  * Flag indicating if rewards are given per impression.
1491
2660
  */
1492
2661
  rewardPerImpression?: boolean | null;
2662
+ /**
2663
+ * Flag indicating if the rule should reward based on value of traded tokens
2664
+ * instead of count.
2665
+ */
2666
+ rewardPerValue?: boolean;
1493
2667
  /**
1494
2668
  * Currency associated with sales.
1495
2669
  */
@@ -1498,6 +2672,10 @@ export declare namespace RuleCreateParams {
1498
2672
  * Percentage reward given for a second-level referral.
1499
2673
  */
1500
2674
  secondReferralReward?: number | null;
2675
+ /**
2676
+ * Flag indicating if the multiplier is skipped.
2677
+ */
2678
+ skipMultiplier?: boolean | null;
1501
2679
  /**
1502
2680
  * Object containing details of the associated smart contract.
1503
2681
  */
@@ -1509,7 +2687,7 @@ export declare namespace RuleCreateParams {
1509
2687
  /**
1510
2688
  * Social media platform associated with the rule.
1511
2689
  */
1512
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
2690
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1513
2691
  /**
1514
2692
  * URL of the social platform's logo.
1515
2693
  */
@@ -1518,10 +2696,18 @@ export declare namespace RuleCreateParams {
1518
2696
  * Name of the social platform.
1519
2697
  */
1520
2698
  socialPlatformName?: string | null;
2699
+ /**
2700
+ * ID of the Steam app.
2701
+ */
2702
+ steamAppId?: string | null;
1521
2703
  /**
1522
2704
  * Array of streak milestones and corresponding rewards.
1523
2705
  */
1524
2706
  streakArray?: Array<Metadata.StreakArray> | null;
2707
+ /**
2708
+ * Metadata for swap loyalty rules
2709
+ */
2710
+ swap?: Metadata.Swap;
1525
2711
  /**
1526
2712
  * ID of the Telegram channel.
1527
2713
  */
@@ -1534,6 +2720,11 @@ export declare namespace RuleCreateParams {
1534
2720
  * Flag indicating if all contracts are tracked.
1535
2721
  */
1536
2722
  trackAllContracts?: boolean | null;
2723
+ /**
2724
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2725
+ * completed once the progress is 100%.
2726
+ */
2727
+ trackProgress?: boolean | null;
1537
2728
  /**
1538
2729
  * URL of the associated Twitter account.
1539
2730
  */
@@ -1569,7 +2760,15 @@ export declare namespace RuleCreateParams {
1569
2760
  /**
1570
2761
  * Type of wallet associated with the rule.
1571
2762
  */
1572
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
2763
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
2764
+ /**
2765
+ * ID of the Youtube channel.
2766
+ */
2767
+ youtubeChannelId?: string | null;
2768
+ /**
2769
+ * ID of the Youtube video.
2770
+ */
2771
+ youtubeVideoId?: string | null;
1573
2772
  }
1574
2773
  namespace Metadata {
1575
2774
  interface Collection {
@@ -1584,7 +2783,7 @@ export declare namespace RuleCreateParams {
1584
2783
  /**
1585
2784
  * Blockchain network of the collection.
1586
2785
  */
1587
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
2786
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
1588
2787
  }
1589
2788
  /**
1590
2789
  * Object containing details for the call-to-action.
@@ -1623,6 +2822,10 @@ export declare namespace RuleCreateParams {
1623
2822
  * Array of emojis used in the channel.
1624
2823
  */
1625
2824
  emojis?: Array<Channel.Emoji>;
2825
+ /**
2826
+ * Phrase of text to be present in the discord message
2827
+ */
2828
+ text?: string;
1626
2829
  }
1627
2830
  namespace Channel {
1628
2831
  interface Emoji {
@@ -1645,6 +2848,49 @@ export declare namespace RuleCreateParams {
1645
2848
  */
1646
2849
  id: string;
1647
2850
  }
2851
+ /**
2852
+ * Liquidity pool details.
2853
+ */
2854
+ interface Liquidity {
2855
+ /**
2856
+ * Calculation type of the liquidity pool.
2857
+ */
2858
+ calculationType?: 'fixed' | 'custom';
2859
+ /**
2860
+ * Custom function to calculate the the reward amount based on the liquidity
2861
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2862
+ * USD.
2863
+ */
2864
+ customFunction?: string;
2865
+ /**
2866
+ * Liquidity provided per day in USD
2867
+ */
2868
+ liquidityPerDay?: number;
2869
+ /**
2870
+ * Blockchain network of the liquidity pool.
2871
+ */
2872
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
2873
+ /**
2874
+ * Indicates if only in-range liquidity is rewarded.
2875
+ */
2876
+ onlyRewardInRangeLiquidity?: boolean;
2877
+ /**
2878
+ * Array of liquidity pools associated with the rule.
2879
+ */
2880
+ pools?: Array<Liquidity.Pool>;
2881
+ /**
2882
+ * Protocol of the liquidity pool.
2883
+ */
2884
+ protocol?: string;
2885
+ }
2886
+ namespace Liquidity {
2887
+ interface Pool {
2888
+ /**
2889
+ * Unique identifier of the liquidity pool.
2890
+ */
2891
+ id: string;
2892
+ }
2893
+ }
1648
2894
  interface Range {
1649
2895
  /**
1650
2896
  * Reward amount for this range.
@@ -1658,6 +2904,14 @@ export declare namespace RuleCreateParams {
1658
2904
  * Start value of the range.
1659
2905
  */
1660
2906
  startRange: number;
2907
+ /**
2908
+ * ID of the loyalty badge for this range.
2909
+ */
2910
+ loyaltyBadgeId?: string;
2911
+ /**
2912
+ * Amount of the loyalty multiplier for this range.
2913
+ */
2914
+ loyaltyMultiplierAmount?: number;
1661
2915
  }
1662
2916
  /**
1663
2917
  * Object defining referral requirements.
@@ -1701,18 +2955,14 @@ export declare namespace RuleCreateParams {
1701
2955
  * Object containing details of the associated smart contract.
1702
2956
  */
1703
2957
  interface SmartContract {
1704
- /**
1705
- * ABI of the smart contract.
1706
- */
1707
- abi?: string | null;
1708
2958
  /**
1709
2959
  * Mapping of addresses for the smart contract.
1710
2960
  */
1711
2961
  addressMapping?: string | null;
1712
2962
  /**
1713
- * Array of bonus details applied to the rule.
2963
+ * Object containing details of the amount multiplier from the event.
1714
2964
  */
1715
- bonus?: Array<SmartContract.Bonus> | null;
2965
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1716
2966
  /**
1717
2967
  * ID of the smart contract.
1718
2968
  */
@@ -1721,58 +2971,28 @@ export declare namespace RuleCreateParams {
1721
2971
  * Criteria to evaluate the smart contract event.
1722
2972
  */
1723
2973
  criteria?: 'everyEvent' | 'byParameter' | null;
1724
- /**
1725
- * Time range applied to the rule.
1726
- */
1727
- customRange?: SmartContract.CustomRange | null;
1728
2974
  /**
1729
2975
  * Event emitted by the smart contract.
1730
2976
  */
1731
2977
  event?: string | null;
1732
- /**
1733
- * Maximum value allowed for the parameter.
1734
- */
1735
- max?: number | null;
1736
2978
  /**
1737
2979
  * Array of parameters for the smart contract.
1738
2980
  */
1739
2981
  params?: Array<SmartContract.Param> | null;
1740
2982
  /**
1741
- * Flag indicating if a bonus is applied.
1742
- */
1743
- withBonus?: boolean | null;
1744
- /**
1745
- * Flag indicating if a custom range is applied.
1746
- */
1747
- withCustomRange?: boolean | null;
1748
- /**
1749
- * Flag indicating if a maximum limit is applied.
2983
+ * Type of the smart contract interaction.
1750
2984
  */
1751
- withMax?: boolean | null;
2985
+ type?: 'function' | 'event' | null;
1752
2986
  }
1753
2987
  namespace SmartContract {
1754
- interface Bonus {
1755
- /**
1756
- * Amount of the bonus.
1757
- */
1758
- amount?: number | null;
1759
- /**
1760
- * Number of times the bonus is applied.
1761
- */
1762
- count?: number | null;
1763
- }
1764
2988
  /**
1765
- * Time range applied to the rule.
2989
+ * Object containing details of the amount multiplier from the event.
1766
2990
  */
1767
- interface CustomRange {
1768
- /**
1769
- * End time of the custom range.
1770
- */
1771
- endsAt?: string | null;
2991
+ interface AmountMultiplier {
1772
2992
  /**
1773
- * Start time of the custom range.
2993
+ * Mapping of the value for the smart contract.
1774
2994
  */
1775
- startsAt?: string | null;
2995
+ valueMapping?: string | null;
1776
2996
  }
1777
2997
  interface Param {
1778
2998
  /**
@@ -1809,6 +3029,24 @@ export declare namespace RuleCreateParams {
1809
3029
  */
1810
3030
  streakMilestone: number;
1811
3031
  }
3032
+ /**
3033
+ * Metadata for swap loyalty rules
3034
+ */
3035
+ interface Swap {
3036
+ provider?: 'any' | 'relay' | 'lifi';
3037
+ relayReferrerId?: string;
3038
+ requireCrossChainSwap?: boolean;
3039
+ swappedToChain?: 'any' | number | string;
3040
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3041
+ tokenMode?: 'any' | 'specific';
3042
+ trackTokenAmount?: boolean;
3043
+ }
3044
+ namespace Swap {
3045
+ interface SwappedToToken {
3046
+ address: string;
3047
+ chainId: string;
3048
+ }
3049
+ }
1812
3050
  }
1813
3051
  interface Collection {
1814
3052
  /**
@@ -1818,7 +3056,11 @@ export declare namespace RuleCreateParams {
1818
3056
  /**
1819
3057
  * Blockchain network for the collection
1820
3058
  */
1821
- network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
3059
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
3060
+ /**
3061
+ * Symbol of the collection.
3062
+ */
3063
+ symbol?: string;
1822
3064
  }
1823
3065
  }
1824
3066
  export interface RuleUpdateParams {
@@ -1826,34 +3068,14 @@ export interface RuleUpdateParams {
1826
3068
  * Reward amount for the loyalty rule
1827
3069
  */
1828
3070
  amount: unknown;
1829
- /**
1830
- * Effective end time of the rule
1831
- */
1832
- effectiveEndTime: string | null;
1833
- /**
1834
- * Effective start time of the rule
1835
- */
1836
- effectiveStartTime: string | null;
1837
3071
  /**
1838
3072
  * End time for the loyalty rule
1839
3073
  */
1840
3074
  endTime: string | null;
1841
- /**
1842
- * Frequency of the rule execution
1843
- */
1844
- frequency: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1845
- /**
1846
- * Additional metadata for the loyalty rule
1847
- */
1848
- metadata: RuleUpdateParams.Metadata;
1849
3075
  /**
1850
3076
  * Name of the loyalty rule
1851
3077
  */
1852
3078
  name: string;
1853
- /**
1854
- * Start time for the loyalty rule
1855
- */
1856
- startTime: string | null;
1857
3079
  /**
1858
3080
  * Blockchain address of the associated collection
1859
3081
  */
@@ -1874,6 +3096,22 @@ export interface RuleUpdateParams {
1874
3096
  * Optional description of the loyalty rule
1875
3097
  */
1876
3098
  description?: string;
3099
+ /**
3100
+ * Effective end time of the rule
3101
+ */
3102
+ effectiveEndTime?: string | null;
3103
+ /**
3104
+ * Effective start time of the rule
3105
+ */
3106
+ effectiveStartTime?: string | null;
3107
+ /**
3108
+ * ID of the external integration
3109
+ */
3110
+ externalIntegrationId?: string | null;
3111
+ /**
3112
+ * Frequency of the rule execution
3113
+ */
3114
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1877
3115
  /**
1878
3116
  * Whether to hide this rule in the user interface
1879
3117
  */
@@ -1881,7 +3119,7 @@ export interface RuleUpdateParams {
1881
3119
  /**
1882
3120
  * Time interval for recurring rule execution
1883
3121
  */
1884
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
3122
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1885
3123
  /**
1886
3124
  * Whether this rule is required for participation
1887
3125
  */
@@ -1890,10 +3128,28 @@ export interface RuleUpdateParams {
1890
3128
  * ID of the rule group section to associate with the rule
1891
3129
  */
1892
3130
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3131
+ /**
3132
+ * The interval for the max amount. Available for the smart contract and external
3133
+ * rules.
3134
+ */
3135
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3136
+ /**
3137
+ * The maximum amount of points a user can earn per interval. Available for the
3138
+ * smart contract and external rules.
3139
+ */
3140
+ maxAmountPerInterval?: number | null;
3141
+ /**
3142
+ * URL of the media to be displayed
3143
+ */
3144
+ mediaUrl?: string | null;
3145
+ /**
3146
+ * Additional metadata for the loyalty rule
3147
+ */
3148
+ metadata?: RuleUpdateParams.Metadata;
1893
3149
  /**
1894
3150
  * Blockchain network where the rule will apply
1895
3151
  */
1896
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
3152
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
1897
3153
  /**
1898
3154
  * ID for associated OAuth credentials
1899
3155
  */
@@ -1901,17 +3157,43 @@ export interface RuleUpdateParams {
1901
3157
  /**
1902
3158
  * Type of reward issued by this rule
1903
3159
  */
1904
- rewardType?: 'points' | 'multiplier';
3160
+ rewardType?: 'points' | 'multiplier' | 'badge';
3161
+ /**
3162
+ * URL of the Shopify store
3163
+ */
3164
+ shopifyStoreUrl?: string | null;
1905
3165
  /**
1906
- * Optional subscription identifier for the rule
3166
+ * Start time for the loyalty rule
3167
+ */
3168
+ startTime?: string | null;
3169
+ /**
3170
+ * Optional subscription id for the rule
1907
3171
  */
1908
- subscriptionIdentifier?: string | null;
3172
+ subscriptionId?: string | null;
1909
3173
  }
1910
3174
  export declare namespace RuleUpdateParams {
3175
+ interface Collection {
3176
+ /**
3177
+ * Blockchain address of the collection
3178
+ */
3179
+ address: string;
3180
+ /**
3181
+ * Blockchain network for the collection
3182
+ */
3183
+ network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
3184
+ /**
3185
+ * Symbol of the collection.
3186
+ */
3187
+ symbol?: string;
3188
+ }
1911
3189
  /**
1912
3190
  * Additional metadata for the loyalty rule
1913
3191
  */
1914
3192
  interface Metadata {
3193
+ /**
3194
+ * Number of tokens per batch.
3195
+ */
3196
+ batchSize?: number | null;
1915
3197
  /**
1916
3198
  * Text displayed on the action button.
1917
3199
  */
@@ -1936,6 +3218,12 @@ export declare namespace RuleUpdateParams {
1936
3218
  * Array of collections associated with the rule.
1937
3219
  */
1938
3220
  collection?: Array<Metadata.Collection>;
3221
+ /**
3222
+ * Conditions for completing the profile.
3223
+ */
3224
+ completeProfileConditions?: {
3225
+ [key: string]: boolean;
3226
+ } | null;
1939
3227
  /**
1940
3228
  * Object containing details for the call-to-action.
1941
3229
  */
@@ -1964,10 +3252,18 @@ export declare namespace RuleUpdateParams {
1964
3252
  * Flag indicating whether the verified multiplier is enabled.
1965
3253
  */
1966
3254
  enableVerifiedMultiplier?: boolean;
3255
+ /**
3256
+ * Fill source of the order for the token sale
3257
+ */
3258
+ fillSource?: string;
1967
3259
  /**
1968
3260
  * Percentage reward given to a user for their first referral.
1969
3261
  */
1970
3262
  firstReferralReward?: number | null;
3263
+ /**
3264
+ * Flag indicating whether the fill source is included.
3265
+ */
3266
+ hasFillSource?: boolean;
1971
3267
  /**
1972
3268
  * Indicates if the item has never been sold.
1973
3269
  */
@@ -1988,10 +3284,18 @@ export declare namespace RuleUpdateParams {
1988
3284
  * URL of the image associated with the rule.
1989
3285
  */
1990
3286
  imageUrl?: string | null;
3287
+ /**
3288
+ * If enabled, the first transaction done on the platform will complete this rule
3289
+ */
3290
+ isCheckInOnEveryTxn?: boolean;
1991
3291
  /**
1992
3292
  * Indicates if the multiplier has been applied to rewards.
1993
3293
  */
1994
3294
  isMultiplierApplied?: boolean;
3295
+ /**
3296
+ * Flag indicating if the rule is restricted to new users.
3297
+ */
3298
+ isRestrictedToNewUsers?: boolean;
1995
3299
  /**
1996
3300
  * Flag indicating if rewards are applied retroactively.
1997
3301
  */
@@ -2004,6 +3308,10 @@ export declare namespace RuleUpdateParams {
2004
3308
  * Optional link associated with the metadata.
2005
3309
  */
2006
3310
  link?: string | null;
3311
+ /**
3312
+ * Liquidity pool details.
3313
+ */
3314
+ liquidity?: Metadata.Liquidity;
2007
3315
  /**
2008
3316
  * Maximum quantity constraint for token holding.
2009
3317
  */
@@ -2028,10 +3336,30 @@ export declare namespace RuleUpdateParams {
2028
3336
  * Flag indicating whether to include only non-listed items.
2029
3337
  */
2030
3338
  onlyNonListed?: boolean;
3339
+ /**
3340
+ * Indicates if only existing users are rewarded.
3341
+ */
3342
+ onlyRewardExistingUser?: boolean;
3343
+ /**
3344
+ * give points for only one token ownership per contract
3345
+ */
3346
+ onlyRewardSingleTokenOwnership?: boolean | null;
2031
3347
  /**
2032
3348
  * Promotional code associated with the rule.
2033
3349
  */
2034
3350
  promoCode?: string;
3351
+ /**
3352
+ * URL of the CSV file containing promo codes.
3353
+ */
3354
+ promoCodeCsvUrl?: string;
3355
+ /**
3356
+ * Numbers of the promotional code to be generated.
3357
+ */
3358
+ promoCodeLength?: number | null;
3359
+ /**
3360
+ * Type of the promotional code.
3361
+ */
3362
+ promoCodeType?: 'code' | 'csv' | 'generate';
2035
3363
  /**
2036
3364
  * Array defining ranges and corresponding rewards.
2037
3365
  */
@@ -2044,10 +3372,27 @@ export declare namespace RuleUpdateParams {
2044
3372
  * Lump sum reward given to a referrer.
2045
3373
  */
2046
3374
  referrerReward?: number | null;
3375
+ /**
3376
+ * Loyalty currency ID of the referrer reward.
3377
+ */
3378
+ referrerRewardLoyaltyCurrencyId?: string | null;
3379
+ /**
3380
+ * Flag indicating if the rule can also reward badges per range.
3381
+ */
3382
+ rewardBadgePerRange?: boolean;
3383
+ /**
3384
+ * Flag indicating if the reward is rewarded by batch.
3385
+ */
3386
+ rewardByBatch?: boolean | null;
2047
3387
  /**
2048
3388
  * Flag indicating if rewards are given per impression.
2049
3389
  */
2050
3390
  rewardPerImpression?: boolean | null;
3391
+ /**
3392
+ * Flag indicating if the rule should reward based on value of traded tokens
3393
+ * instead of count.
3394
+ */
3395
+ rewardPerValue?: boolean;
2051
3396
  /**
2052
3397
  * Currency associated with sales.
2053
3398
  */
@@ -2056,6 +3401,10 @@ export declare namespace RuleUpdateParams {
2056
3401
  * Percentage reward given for a second-level referral.
2057
3402
  */
2058
3403
  secondReferralReward?: number | null;
3404
+ /**
3405
+ * Flag indicating if the multiplier is skipped.
3406
+ */
3407
+ skipMultiplier?: boolean | null;
2059
3408
  /**
2060
3409
  * Object containing details of the associated smart contract.
2061
3410
  */
@@ -2067,7 +3416,7 @@ export declare namespace RuleUpdateParams {
2067
3416
  /**
2068
3417
  * Social media platform associated with the rule.
2069
3418
  */
2070
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
3419
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2071
3420
  /**
2072
3421
  * URL of the social platform's logo.
2073
3422
  */
@@ -2076,10 +3425,18 @@ export declare namespace RuleUpdateParams {
2076
3425
  * Name of the social platform.
2077
3426
  */
2078
3427
  socialPlatformName?: string | null;
3428
+ /**
3429
+ * ID of the Steam app.
3430
+ */
3431
+ steamAppId?: string | null;
2079
3432
  /**
2080
3433
  * Array of streak milestones and corresponding rewards.
2081
3434
  */
2082
3435
  streakArray?: Array<Metadata.StreakArray> | null;
3436
+ /**
3437
+ * Metadata for swap loyalty rules
3438
+ */
3439
+ swap?: Metadata.Swap;
2083
3440
  /**
2084
3441
  * ID of the Telegram channel.
2085
3442
  */
@@ -2092,6 +3449,11 @@ export declare namespace RuleUpdateParams {
2092
3449
  * Flag indicating if all contracts are tracked.
2093
3450
  */
2094
3451
  trackAllContracts?: boolean | null;
3452
+ /**
3453
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3454
+ * completed once the progress is 100%.
3455
+ */
3456
+ trackProgress?: boolean | null;
2095
3457
  /**
2096
3458
  * URL of the associated Twitter account.
2097
3459
  */
@@ -2127,7 +3489,15 @@ export declare namespace RuleUpdateParams {
2127
3489
  /**
2128
3490
  * Type of wallet associated with the rule.
2129
3491
  */
2130
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3492
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
3493
+ /**
3494
+ * ID of the Youtube channel.
3495
+ */
3496
+ youtubeChannelId?: string | null;
3497
+ /**
3498
+ * ID of the Youtube video.
3499
+ */
3500
+ youtubeVideoId?: string | null;
2131
3501
  }
2132
3502
  namespace Metadata {
2133
3503
  interface Collection {
@@ -2142,7 +3512,7 @@ export declare namespace RuleUpdateParams {
2142
3512
  /**
2143
3513
  * Blockchain network of the collection.
2144
3514
  */
2145
- network?: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
3515
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
2146
3516
  }
2147
3517
  /**
2148
3518
  * Object containing details for the call-to-action.
@@ -2181,6 +3551,10 @@ export declare namespace RuleUpdateParams {
2181
3551
  * Array of emojis used in the channel.
2182
3552
  */
2183
3553
  emojis?: Array<Channel.Emoji>;
3554
+ /**
3555
+ * Phrase of text to be present in the discord message
3556
+ */
3557
+ text?: string;
2184
3558
  }
2185
3559
  namespace Channel {
2186
3560
  interface Emoji {
@@ -2203,6 +3577,49 @@ export declare namespace RuleUpdateParams {
2203
3577
  */
2204
3578
  id: string;
2205
3579
  }
3580
+ /**
3581
+ * Liquidity pool details.
3582
+ */
3583
+ interface Liquidity {
3584
+ /**
3585
+ * Calculation type of the liquidity pool.
3586
+ */
3587
+ calculationType?: 'fixed' | 'custom';
3588
+ /**
3589
+ * Custom function to calculate the the reward amount based on the liquidity
3590
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3591
+ * USD.
3592
+ */
3593
+ customFunction?: string;
3594
+ /**
3595
+ * Liquidity provided per day in USD
3596
+ */
3597
+ liquidityPerDay?: number;
3598
+ /**
3599
+ * Blockchain network of the liquidity pool.
3600
+ */
3601
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | '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';
3602
+ /**
3603
+ * Indicates if only in-range liquidity is rewarded.
3604
+ */
3605
+ onlyRewardInRangeLiquidity?: boolean;
3606
+ /**
3607
+ * Array of liquidity pools associated with the rule.
3608
+ */
3609
+ pools?: Array<Liquidity.Pool>;
3610
+ /**
3611
+ * Protocol of the liquidity pool.
3612
+ */
3613
+ protocol?: string;
3614
+ }
3615
+ namespace Liquidity {
3616
+ interface Pool {
3617
+ /**
3618
+ * Unique identifier of the liquidity pool.
3619
+ */
3620
+ id: string;
3621
+ }
3622
+ }
2206
3623
  interface Range {
2207
3624
  /**
2208
3625
  * Reward amount for this range.
@@ -2216,6 +3633,14 @@ export declare namespace RuleUpdateParams {
2216
3633
  * Start value of the range.
2217
3634
  */
2218
3635
  startRange: number;
3636
+ /**
3637
+ * ID of the loyalty badge for this range.
3638
+ */
3639
+ loyaltyBadgeId?: string;
3640
+ /**
3641
+ * Amount of the loyalty multiplier for this range.
3642
+ */
3643
+ loyaltyMultiplierAmount?: number;
2219
3644
  }
2220
3645
  /**
2221
3646
  * Object defining referral requirements.
@@ -2259,18 +3684,14 @@ export declare namespace RuleUpdateParams {
2259
3684
  * Object containing details of the associated smart contract.
2260
3685
  */
2261
3686
  interface SmartContract {
2262
- /**
2263
- * ABI of the smart contract.
2264
- */
2265
- abi?: string | null;
2266
3687
  /**
2267
3688
  * Mapping of addresses for the smart contract.
2268
3689
  */
2269
3690
  addressMapping?: string | null;
2270
3691
  /**
2271
- * Array of bonus details applied to the rule.
3692
+ * Object containing details of the amount multiplier from the event.
2272
3693
  */
2273
- bonus?: Array<SmartContract.Bonus> | null;
3694
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2274
3695
  /**
2275
3696
  * ID of the smart contract.
2276
3697
  */
@@ -2279,58 +3700,28 @@ export declare namespace RuleUpdateParams {
2279
3700
  * Criteria to evaluate the smart contract event.
2280
3701
  */
2281
3702
  criteria?: 'everyEvent' | 'byParameter' | null;
2282
- /**
2283
- * Time range applied to the rule.
2284
- */
2285
- customRange?: SmartContract.CustomRange | null;
2286
3703
  /**
2287
3704
  * Event emitted by the smart contract.
2288
3705
  */
2289
3706
  event?: string | null;
2290
- /**
2291
- * Maximum value allowed for the parameter.
2292
- */
2293
- max?: number | null;
2294
3707
  /**
2295
3708
  * Array of parameters for the smart contract.
2296
3709
  */
2297
3710
  params?: Array<SmartContract.Param> | null;
2298
3711
  /**
2299
- * Flag indicating if a bonus is applied.
2300
- */
2301
- withBonus?: boolean | null;
2302
- /**
2303
- * Flag indicating if a custom range is applied.
2304
- */
2305
- withCustomRange?: boolean | null;
2306
- /**
2307
- * Flag indicating if a maximum limit is applied.
3712
+ * Type of the smart contract interaction.
2308
3713
  */
2309
- withMax?: boolean | null;
3714
+ type?: 'function' | 'event' | null;
2310
3715
  }
2311
3716
  namespace SmartContract {
2312
- interface Bonus {
2313
- /**
2314
- * Amount of the bonus.
2315
- */
2316
- amount?: number | null;
2317
- /**
2318
- * Number of times the bonus is applied.
2319
- */
2320
- count?: number | null;
2321
- }
2322
3717
  /**
2323
- * Time range applied to the rule.
3718
+ * Object containing details of the amount multiplier from the event.
2324
3719
  */
2325
- interface CustomRange {
2326
- /**
2327
- * End time of the custom range.
2328
- */
2329
- endsAt?: string | null;
3720
+ interface AmountMultiplier {
2330
3721
  /**
2331
- * Start time of the custom range.
3722
+ * Mapping of the value for the smart contract.
2332
3723
  */
2333
- startsAt?: string | null;
3724
+ valueMapping?: string | null;
2334
3725
  }
2335
3726
  interface Param {
2336
3727
  /**
@@ -2367,27 +3758,60 @@ export declare namespace RuleUpdateParams {
2367
3758
  */
2368
3759
  streakMilestone: number;
2369
3760
  }
2370
- }
2371
- interface Collection {
2372
- /**
2373
- * Blockchain address of the collection
2374
- */
2375
- address: string;
2376
3761
  /**
2377
- * Blockchain network for the collection
3762
+ * Metadata for swap loyalty rules
2378
3763
  */
2379
- network: 'mainnet' | 'polygon' | 'polygon_mumbai' | 'optimism' | 'arbitrum' | 'binance' | 'bscTestnet' | 'avalanche' | 'avalancheFuji' | 'zksync' | 'fantom' | 'fantomTestnet' | 'base' | 'baseSepolia' | 'skaleNebula' | 'xai' | 'berachainArtio' | 'solana' | 'apechain' | 'flowMainnet' | 'campTestnet' | 'sui' | 'vanar' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli';
3764
+ interface Swap {
3765
+ provider?: 'any' | 'relay' | 'lifi';
3766
+ relayReferrerId?: string;
3767
+ requireCrossChainSwap?: boolean;
3768
+ swappedToChain?: 'any' | number | string;
3769
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3770
+ tokenMode?: 'any' | 'specific';
3771
+ trackTokenAmount?: boolean;
3772
+ }
3773
+ namespace Swap {
3774
+ interface SwappedToToken {
3775
+ address: string;
3776
+ chainId: string;
3777
+ }
3778
+ }
2380
3779
  }
2381
3780
  }
2382
3781
  export interface RuleListParams {
3782
+ /**
3783
+ * IDs of the users to filter results by
3784
+ */
3785
+ allotedToUserId?: string | Array<string>;
3786
+ /**
3787
+ * ID of the user group to filter results by
3788
+ */
3789
+ allotedUserGroupId?: string;
2383
3790
  /**
2384
3791
  * Address of the collection to filter by
2385
3792
  */
2386
3793
  collectionAddress?: string;
2387
3794
  /**
2388
- * Maximum number of records to return (max 1000)
3795
+ * If true this will only return loyalty rule chains
3796
+ */
3797
+ includeLoyaltyRuleChains?: 'true' | 'false';
3798
+ /**
3799
+ * If true this will only return active rules, the rules for which the startTime is
3800
+ * in the past and the endTime is in the future
3801
+ */
3802
+ isActive?: 'true' | 'false';
3803
+ /**
3804
+ * Maximum number of records to return (max 100)
2389
3805
  */
2390
3806
  limit?: number;
3807
+ /**
3808
+ * ID of the loyalty rule group to filter results
3809
+ */
3810
+ loyaltyRuleGroupId?: string;
3811
+ /**
3812
+ * The IDs of the loyalty rule
3813
+ */
3814
+ loyaltyRuleId?: string | Array<string>;
2391
3815
  /**
2392
3816
  * Unique identifier for the organization to filter by
2393
3817
  */
@@ -2401,11 +3825,34 @@ export interface RuleListParams {
2401
3825
  */
2402
3826
  websiteId?: string;
2403
3827
  }
3828
+ export interface RuleDeleteParams {
3829
+ /**
3830
+ * Whether to debit loyalty points
3831
+ */
3832
+ debitLoyaltyPoints?: string;
3833
+ }
2404
3834
  export interface RuleCompleteParams {
3835
+ /**
3836
+ * Override amount for the reward (rounded to nearest whole number). This will
3837
+ * override the rule amount and reward the integer passed.
3838
+ */
3839
+ amount?: number | null;
2405
3840
  /**
2406
3841
  * Link to the comment made by user
2407
3842
  */
2408
3843
  commentLink?: string;
3844
+ /**
3845
+ * Unique key to ensure idempotent requests.
3846
+ */
3847
+ idempotencyKey?: string;
3848
+ /**
3849
+ * ID of the choice selected by the user
3850
+ */
3851
+ loyaltyQuestionChoiceId?: string;
3852
+ /**
3853
+ * Value to compare with the range
3854
+ */
3855
+ rangeValue?: number | null;
2409
3856
  /**
2410
3857
  * Unique identifier for the user
2411
3858
  */
@@ -2414,17 +3861,23 @@ export interface RuleCompleteParams {
2414
3861
  * Optional verification code for completing the loyalty rule
2415
3862
  */
2416
3863
  verificationCode?: string;
3864
+ /**
3865
+ * Flag indicating if only verification is required, this will not create a
3866
+ * transaction and reward the user.
3867
+ */
3868
+ verifyOnly?: string;
2417
3869
  /**
2418
3870
  * Wallet address of the user can only be used if userId is not provided
2419
3871
  */
2420
3872
  walletAddress?: string;
2421
3873
  }
2422
- export interface RuleStatusParams {
2423
- organizationId: string;
2424
- websiteId: string;
3874
+ export interface RuleGetStatusParams {
3875
+ organizationId?: string;
2425
3876
  userId?: string;
3877
+ walletAddress?: string;
3878
+ websiteId?: string;
2426
3879
  }
2427
3880
  export declare namespace Rules {
2428
- export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleStatusResponse as RuleStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleCompleteParams as RuleCompleteParams, type RuleStatusParams as RuleStatusParams, };
3881
+ 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, };
2429
3882
  }
2430
3883
  //# sourceMappingURL=rules.d.ts.map