@snagsolutions/sdk 0.1.0-alpha.12 → 0.1.0-alpha.120

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 +1048 -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 +23 -9
  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 +26 -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 +2521 -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 +747 -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 +1775 -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 +111 -8
  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 +97 -24
  281. package/src/resource.ts +1 -1
  282. package/src/resources/assets.ts +31 -9
  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 +26 -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 +3542 -63
  302. package/src/resources/loyalty/rule-groups.ts +1161 -0
  303. package/src/resources/loyalty/rules.ts +2955 -574
  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 +163 -7
  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
  */
@@ -176,6 +273,10 @@ export declare namespace RuleCreateResponse {
176
273
  * API key for custom rewards integration.
177
274
  */
178
275
  customRewardsApiKey?: string;
276
+ /**
277
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
278
+ */
279
+ directRpc?: boolean;
179
280
  /**
180
281
  * Array of Discord servers, channels, and roles to join.
181
282
  */
@@ -196,10 +297,18 @@ export declare namespace RuleCreateResponse {
196
297
  * Flag indicating whether the verified multiplier is enabled.
197
298
  */
198
299
  enableVerifiedMultiplier?: boolean;
300
+ /**
301
+ * Fill source of the order for the token sale
302
+ */
303
+ fillSource?: string;
199
304
  /**
200
305
  * Percentage reward given to a user for their first referral.
201
306
  */
202
307
  firstReferralReward?: number | null;
308
+ /**
309
+ * Flag indicating whether the fill source is included.
310
+ */
311
+ hasFillSource?: boolean;
203
312
  /**
204
313
  * Indicates if the item has never been sold.
205
314
  */
@@ -220,10 +329,18 @@ export declare namespace RuleCreateResponse {
220
329
  * URL of the image associated with the rule.
221
330
  */
222
331
  imageUrl?: string | null;
332
+ /**
333
+ * If enabled, the first transaction done on the platform will complete this rule
334
+ */
335
+ isCheckInOnEveryTxn?: boolean;
223
336
  /**
224
337
  * Indicates if the multiplier has been applied to rewards.
225
338
  */
226
339
  isMultiplierApplied?: boolean;
340
+ /**
341
+ * Flag indicating if the rule is restricted to new users.
342
+ */
343
+ isRestrictedToNewUsers?: boolean;
227
344
  /**
228
345
  * Flag indicating if rewards are applied retroactively.
229
346
  */
@@ -236,6 +353,10 @@ export declare namespace RuleCreateResponse {
236
353
  * Optional link associated with the metadata.
237
354
  */
238
355
  link?: string | null;
356
+ /**
357
+ * Liquidity pool details.
358
+ */
359
+ liquidity?: Metadata.Liquidity;
239
360
  /**
240
361
  * Maximum quantity constraint for token holding.
241
362
  */
@@ -260,10 +381,30 @@ export declare namespace RuleCreateResponse {
260
381
  * Flag indicating whether to include only non-listed items.
261
382
  */
262
383
  onlyNonListed?: boolean;
384
+ /**
385
+ * Indicates if only existing users are rewarded.
386
+ */
387
+ onlyRewardExistingUser?: boolean;
388
+ /**
389
+ * give points for only one token ownership per contract
390
+ */
391
+ onlyRewardSingleTokenOwnership?: boolean | null;
263
392
  /**
264
393
  * Promotional code associated with the rule.
265
394
  */
266
395
  promoCode?: string;
396
+ /**
397
+ * URL of the CSV file containing promo codes.
398
+ */
399
+ promoCodeCsvUrl?: string;
400
+ /**
401
+ * Numbers of the promotional code to be generated.
402
+ */
403
+ promoCodeLength?: number | null;
404
+ /**
405
+ * Type of the promotional code.
406
+ */
407
+ promoCodeType?: 'code' | 'csv' | 'generate';
267
408
  /**
268
409
  * Array defining ranges and corresponding rewards.
269
410
  */
@@ -276,10 +417,31 @@ export declare namespace RuleCreateResponse {
276
417
  * Lump sum reward given to a referrer.
277
418
  */
278
419
  referrerReward?: number | null;
420
+ /**
421
+ * Loyalty currency ID of the referrer reward.
422
+ */
423
+ referrerRewardLoyaltyCurrencyId?: string | null;
424
+ /**
425
+ * Flag indicating if the post link is required.
426
+ */
427
+ requirePostLink?: boolean | null;
428
+ /**
429
+ * Flag indicating if the rule can also reward badges per range.
430
+ */
431
+ rewardBadgePerRange?: boolean;
432
+ /**
433
+ * Flag indicating if the reward is rewarded by batch.
434
+ */
435
+ rewardByBatch?: boolean | null;
279
436
  /**
280
437
  * Flag indicating if rewards are given per impression.
281
438
  */
282
439
  rewardPerImpression?: boolean | null;
440
+ /**
441
+ * Flag indicating if the rule should reward based on value of traded tokens
442
+ * instead of count.
443
+ */
444
+ rewardPerValue?: boolean;
283
445
  /**
284
446
  * Currency associated with sales.
285
447
  */
@@ -288,6 +450,10 @@ export declare namespace RuleCreateResponse {
288
450
  * Percentage reward given for a second-level referral.
289
451
  */
290
452
  secondReferralReward?: number | null;
453
+ /**
454
+ * Flag indicating if the multiplier is skipped.
455
+ */
456
+ skipMultiplier?: boolean | null;
291
457
  /**
292
458
  * Object containing details of the associated smart contract.
293
459
  */
@@ -299,7 +465,7 @@ export declare namespace RuleCreateResponse {
299
465
  /**
300
466
  * Social media platform associated with the rule.
301
467
  */
302
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
468
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
303
469
  /**
304
470
  * URL of the social platform's logo.
305
471
  */
@@ -308,10 +474,18 @@ export declare namespace RuleCreateResponse {
308
474
  * Name of the social platform.
309
475
  */
310
476
  socialPlatformName?: string | null;
477
+ /**
478
+ * ID of the Steam app.
479
+ */
480
+ steamAppId?: string | null;
311
481
  /**
312
482
  * Array of streak milestones and corresponding rewards.
313
483
  */
314
484
  streakArray?: Array<Metadata.StreakArray> | null;
485
+ /**
486
+ * Metadata for swap loyalty rules
487
+ */
488
+ swap?: Metadata.Swap;
315
489
  /**
316
490
  * ID of the Telegram channel.
317
491
  */
@@ -324,6 +498,11 @@ export declare namespace RuleCreateResponse {
324
498
  * Flag indicating if all contracts are tracked.
325
499
  */
326
500
  trackAllContracts?: boolean | null;
501
+ /**
502
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
503
+ * completed once the progress is 100%.
504
+ */
505
+ trackProgress?: boolean | null;
327
506
  /**
328
507
  * URL of the associated Twitter account.
329
508
  */
@@ -359,7 +538,15 @@ export declare namespace RuleCreateResponse {
359
538
  /**
360
539
  * Type of wallet associated with the rule.
361
540
  */
362
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
541
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
542
+ /**
543
+ * ID of the Youtube channel.
544
+ */
545
+ youtubeChannelId?: string | null;
546
+ /**
547
+ * ID of the Youtube video.
548
+ */
549
+ youtubeVideoId?: string | null;
363
550
  }
364
551
  namespace Metadata {
365
552
  interface Collection {
@@ -374,7 +561,7 @@ export declare namespace RuleCreateResponse {
374
561
  /**
375
562
  * Blockchain network of the collection.
376
563
  */
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';
564
+ 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
565
  }
379
566
  /**
380
567
  * Object containing details for the call-to-action.
@@ -413,6 +600,10 @@ export declare namespace RuleCreateResponse {
413
600
  * Array of emojis used in the channel.
414
601
  */
415
602
  emojis?: Array<Channel.Emoji>;
603
+ /**
604
+ * Phrase of text to be present in the discord message
605
+ */
606
+ text?: string;
416
607
  }
417
608
  namespace Channel {
418
609
  interface Emoji {
@@ -435,6 +626,49 @@ export declare namespace RuleCreateResponse {
435
626
  */
436
627
  id: string;
437
628
  }
629
+ /**
630
+ * Liquidity pool details.
631
+ */
632
+ interface Liquidity {
633
+ /**
634
+ * Calculation type of the liquidity pool.
635
+ */
636
+ calculationType?: 'fixed' | 'custom';
637
+ /**
638
+ * Custom function to calculate the the reward amount based on the liquidity
639
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
640
+ * USD.
641
+ */
642
+ customFunction?: string;
643
+ /**
644
+ * Liquidity provided per day in USD
645
+ */
646
+ liquidityPerDay?: number;
647
+ /**
648
+ * Blockchain network of the liquidity pool.
649
+ */
650
+ 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';
651
+ /**
652
+ * Indicates if only in-range liquidity is rewarded.
653
+ */
654
+ onlyRewardInRangeLiquidity?: boolean;
655
+ /**
656
+ * Array of liquidity pools associated with the rule.
657
+ */
658
+ pools?: Array<Liquidity.Pool>;
659
+ /**
660
+ * Protocol of the liquidity pool.
661
+ */
662
+ protocol?: string;
663
+ }
664
+ namespace Liquidity {
665
+ interface Pool {
666
+ /**
667
+ * Unique identifier of the liquidity pool.
668
+ */
669
+ id: string;
670
+ }
671
+ }
438
672
  interface Range {
439
673
  /**
440
674
  * Reward amount for this range.
@@ -448,6 +682,14 @@ export declare namespace RuleCreateResponse {
448
682
  * Start value of the range.
449
683
  */
450
684
  startRange: number;
685
+ /**
686
+ * ID of the loyalty badge for this range.
687
+ */
688
+ loyaltyBadgeId?: string;
689
+ /**
690
+ * Amount of the loyalty multiplier for this range.
691
+ */
692
+ loyaltyMultiplierAmount?: number;
451
693
  }
452
694
  /**
453
695
  * Object defining referral requirements.
@@ -491,18 +733,14 @@ export declare namespace RuleCreateResponse {
491
733
  * Object containing details of the associated smart contract.
492
734
  */
493
735
  interface SmartContract {
494
- /**
495
- * ABI of the smart contract.
496
- */
497
- abi?: string | null;
498
736
  /**
499
737
  * Mapping of addresses for the smart contract.
500
738
  */
501
739
  addressMapping?: string | null;
502
740
  /**
503
- * Array of bonus details applied to the rule.
741
+ * Object containing details of the amount multiplier from the event.
504
742
  */
505
- bonus?: Array<SmartContract.Bonus> | null;
743
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
506
744
  /**
507
745
  * ID of the smart contract.
508
746
  */
@@ -511,58 +749,28 @@ export declare namespace RuleCreateResponse {
511
749
  * Criteria to evaluate the smart contract event.
512
750
  */
513
751
  criteria?: 'everyEvent' | 'byParameter' | null;
514
- /**
515
- * Time range applied to the rule.
516
- */
517
- customRange?: SmartContract.CustomRange | null;
518
752
  /**
519
753
  * Event emitted by the smart contract.
520
754
  */
521
755
  event?: string | null;
522
- /**
523
- * Maximum value allowed for the parameter.
524
- */
525
- max?: number | null;
526
756
  /**
527
757
  * Array of parameters for the smart contract.
528
758
  */
529
759
  params?: Array<SmartContract.Param> | null;
530
760
  /**
531
- * Flag indicating if a bonus is applied.
532
- */
533
- withBonus?: boolean | null;
534
- /**
535
- * Flag indicating if a custom range is applied.
761
+ * Type of the smart contract interaction.
536
762
  */
537
- withCustomRange?: boolean | null;
538
- /**
539
- * Flag indicating if a maximum limit is applied.
540
- */
541
- withMax?: boolean | null;
763
+ type?: 'function' | 'event' | null;
542
764
  }
543
765
  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
766
  /**
555
- * Time range applied to the rule.
767
+ * Object containing details of the amount multiplier from the event.
556
768
  */
557
- interface CustomRange {
769
+ interface AmountMultiplier {
558
770
  /**
559
- * End time of the custom range.
771
+ * Mapping of the value for the smart contract.
560
772
  */
561
- endsAt?: string | null;
562
- /**
563
- * Start time of the custom range.
564
- */
565
- startsAt?: string | null;
773
+ valueMapping?: string | null;
566
774
  }
567
775
  interface Param {
568
776
  /**
@@ -599,6 +807,24 @@ export declare namespace RuleCreateResponse {
599
807
  */
600
808
  streakMilestone: number;
601
809
  }
810
+ /**
811
+ * Metadata for swap loyalty rules
812
+ */
813
+ interface Swap {
814
+ provider?: 'any' | 'relay' | 'lifi';
815
+ relayReferrerId?: string;
816
+ requireCrossChainSwap?: boolean;
817
+ swappedToChain?: 'any' | number | string;
818
+ swappedToTokens?: Array<Swap.SwappedToToken>;
819
+ tokenMode?: 'any' | 'specific';
820
+ trackTokenAmount?: boolean;
821
+ }
822
+ namespace Swap {
823
+ interface SwappedToToken {
824
+ address: string;
825
+ chainId: string;
826
+ }
827
+ }
602
828
  }
603
829
  interface Collection {
604
830
  /**
@@ -608,7 +834,11 @@ export declare namespace RuleCreateResponse {
608
834
  /**
609
835
  * Blockchain network for the collection
610
836
  */
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';
837
+ 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';
838
+ /**
839
+ * Symbol of the collection.
840
+ */
841
+ symbol?: string;
612
842
  }
613
843
  }
614
844
  export interface RuleUpdateResponse {
@@ -617,34 +847,14 @@ export interface RuleUpdateResponse {
617
847
  * Reward amount for the loyalty rule
618
848
  */
619
849
  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
850
  /**
629
851
  * End time for the loyalty rule
630
852
  */
631
853
  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
854
  /**
641
855
  * Name of the loyalty rule
642
856
  */
643
857
  name: string;
644
- /**
645
- * Start time for the loyalty rule
646
- */
647
- startTime: string | null;
648
858
  /**
649
859
  * Blockchain address of the associated collection
650
860
  */
@@ -665,6 +875,22 @@ export interface RuleUpdateResponse {
665
875
  * Optional description of the loyalty rule
666
876
  */
667
877
  description?: string;
878
+ /**
879
+ * Effective end time of the rule
880
+ */
881
+ effectiveEndTime?: string | null;
882
+ /**
883
+ * Effective start time of the rule
884
+ */
885
+ effectiveStartTime?: string | null;
886
+ /**
887
+ * ID of the external integration
888
+ */
889
+ externalIntegrationId?: string | null;
890
+ /**
891
+ * Frequency of the rule execution
892
+ */
893
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
668
894
  /**
669
895
  * Whether to hide this rule in the user interface
670
896
  */
@@ -672,7 +898,7 @@ export interface RuleUpdateResponse {
672
898
  /**
673
899
  * Time interval for recurring rule execution
674
900
  */
675
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
901
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
676
902
  /**
677
903
  * Whether this rule is required for participation
678
904
  */
@@ -681,10 +907,28 @@ export interface RuleUpdateResponse {
681
907
  * ID of the rule group section to associate with the rule
682
908
  */
683
909
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
910
+ /**
911
+ * The interval for the max amount. Available for the smart contract and external
912
+ * rules.
913
+ */
914
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
915
+ /**
916
+ * The maximum amount of points a user can earn per interval. Available for the
917
+ * smart contract and external rules.
918
+ */
919
+ maxAmountPerInterval?: number | null;
920
+ /**
921
+ * URL of the media to be displayed
922
+ */
923
+ mediaUrl?: string | null;
924
+ /**
925
+ * Additional metadata for the loyalty rule
926
+ */
927
+ metadata?: RuleUpdateResponse.Metadata;
684
928
  /**
685
929
  * Blockchain network where the rule will apply
686
930
  */
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';
931
+ 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
932
  /**
689
933
  * ID for associated OAuth credentials
690
934
  */
@@ -692,17 +936,43 @@ export interface RuleUpdateResponse {
692
936
  /**
693
937
  * Type of reward issued by this rule
694
938
  */
695
- rewardType?: 'points' | 'multiplier';
939
+ rewardType?: 'points' | 'multiplier' | 'badge';
940
+ /**
941
+ * URL of the Shopify store
942
+ */
943
+ shopifyStoreUrl?: string | null;
944
+ /**
945
+ * Start time for the loyalty rule
946
+ */
947
+ startTime?: string | null;
696
948
  /**
697
- * Optional subscription identifier for the rule
949
+ * Optional subscription id for the rule
698
950
  */
699
- subscriptionIdentifier?: string | null;
951
+ subscriptionId?: string | null;
700
952
  }
701
953
  export declare namespace RuleUpdateResponse {
954
+ interface Collection {
955
+ /**
956
+ * Blockchain address of the collection
957
+ */
958
+ address: string;
959
+ /**
960
+ * Blockchain network for the collection
961
+ */
962
+ 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';
963
+ /**
964
+ * Symbol of the collection.
965
+ */
966
+ symbol?: string;
967
+ }
702
968
  /**
703
969
  * Additional metadata for the loyalty rule
704
970
  */
705
971
  interface Metadata {
972
+ /**
973
+ * Number of tokens per batch.
974
+ */
975
+ batchSize?: number | null;
706
976
  /**
707
977
  * Text displayed on the action button.
708
978
  */
@@ -727,6 +997,12 @@ export declare namespace RuleUpdateResponse {
727
997
  * Array of collections associated with the rule.
728
998
  */
729
999
  collection?: Array<Metadata.Collection>;
1000
+ /**
1001
+ * Conditions for completing the profile.
1002
+ */
1003
+ completeProfileConditions?: {
1004
+ [key: string]: boolean;
1005
+ } | null;
730
1006
  /**
731
1007
  * Object containing details for the call-to-action.
732
1008
  */
@@ -735,6 +1011,10 @@ export declare namespace RuleUpdateResponse {
735
1011
  * API key for custom rewards integration.
736
1012
  */
737
1013
  customRewardsApiKey?: string;
1014
+ /**
1015
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1016
+ */
1017
+ directRpc?: boolean;
738
1018
  /**
739
1019
  * Array of Discord servers, channels, and roles to join.
740
1020
  */
@@ -755,10 +1035,18 @@ export declare namespace RuleUpdateResponse {
755
1035
  * Flag indicating whether the verified multiplier is enabled.
756
1036
  */
757
1037
  enableVerifiedMultiplier?: boolean;
1038
+ /**
1039
+ * Fill source of the order for the token sale
1040
+ */
1041
+ fillSource?: string;
758
1042
  /**
759
1043
  * Percentage reward given to a user for their first referral.
760
1044
  */
761
1045
  firstReferralReward?: number | null;
1046
+ /**
1047
+ * Flag indicating whether the fill source is included.
1048
+ */
1049
+ hasFillSource?: boolean;
762
1050
  /**
763
1051
  * Indicates if the item has never been sold.
764
1052
  */
@@ -779,10 +1067,18 @@ export declare namespace RuleUpdateResponse {
779
1067
  * URL of the image associated with the rule.
780
1068
  */
781
1069
  imageUrl?: string | null;
1070
+ /**
1071
+ * If enabled, the first transaction done on the platform will complete this rule
1072
+ */
1073
+ isCheckInOnEveryTxn?: boolean;
782
1074
  /**
783
1075
  * Indicates if the multiplier has been applied to rewards.
784
1076
  */
785
1077
  isMultiplierApplied?: boolean;
1078
+ /**
1079
+ * Flag indicating if the rule is restricted to new users.
1080
+ */
1081
+ isRestrictedToNewUsers?: boolean;
786
1082
  /**
787
1083
  * Flag indicating if rewards are applied retroactively.
788
1084
  */
@@ -795,6 +1091,10 @@ export declare namespace RuleUpdateResponse {
795
1091
  * Optional link associated with the metadata.
796
1092
  */
797
1093
  link?: string | null;
1094
+ /**
1095
+ * Liquidity pool details.
1096
+ */
1097
+ liquidity?: Metadata.Liquidity;
798
1098
  /**
799
1099
  * Maximum quantity constraint for token holding.
800
1100
  */
@@ -819,10 +1119,30 @@ export declare namespace RuleUpdateResponse {
819
1119
  * Flag indicating whether to include only non-listed items.
820
1120
  */
821
1121
  onlyNonListed?: boolean;
1122
+ /**
1123
+ * Indicates if only existing users are rewarded.
1124
+ */
1125
+ onlyRewardExistingUser?: boolean;
1126
+ /**
1127
+ * give points for only one token ownership per contract
1128
+ */
1129
+ onlyRewardSingleTokenOwnership?: boolean | null;
822
1130
  /**
823
1131
  * Promotional code associated with the rule.
824
1132
  */
825
1133
  promoCode?: string;
1134
+ /**
1135
+ * URL of the CSV file containing promo codes.
1136
+ */
1137
+ promoCodeCsvUrl?: string;
1138
+ /**
1139
+ * Numbers of the promotional code to be generated.
1140
+ */
1141
+ promoCodeLength?: number | null;
1142
+ /**
1143
+ * Type of the promotional code.
1144
+ */
1145
+ promoCodeType?: 'code' | 'csv' | 'generate';
826
1146
  /**
827
1147
  * Array defining ranges and corresponding rewards.
828
1148
  */
@@ -835,10 +1155,31 @@ export declare namespace RuleUpdateResponse {
835
1155
  * Lump sum reward given to a referrer.
836
1156
  */
837
1157
  referrerReward?: number | null;
1158
+ /**
1159
+ * Loyalty currency ID of the referrer reward.
1160
+ */
1161
+ referrerRewardLoyaltyCurrencyId?: string | null;
1162
+ /**
1163
+ * Flag indicating if the post link is required.
1164
+ */
1165
+ requirePostLink?: boolean | null;
1166
+ /**
1167
+ * Flag indicating if the rule can also reward badges per range.
1168
+ */
1169
+ rewardBadgePerRange?: boolean;
1170
+ /**
1171
+ * Flag indicating if the reward is rewarded by batch.
1172
+ */
1173
+ rewardByBatch?: boolean | null;
838
1174
  /**
839
1175
  * Flag indicating if rewards are given per impression.
840
1176
  */
841
1177
  rewardPerImpression?: boolean | null;
1178
+ /**
1179
+ * Flag indicating if the rule should reward based on value of traded tokens
1180
+ * instead of count.
1181
+ */
1182
+ rewardPerValue?: boolean;
842
1183
  /**
843
1184
  * Currency associated with sales.
844
1185
  */
@@ -847,6 +1188,10 @@ export declare namespace RuleUpdateResponse {
847
1188
  * Percentage reward given for a second-level referral.
848
1189
  */
849
1190
  secondReferralReward?: number | null;
1191
+ /**
1192
+ * Flag indicating if the multiplier is skipped.
1193
+ */
1194
+ skipMultiplier?: boolean | null;
850
1195
  /**
851
1196
  * Object containing details of the associated smart contract.
852
1197
  */
@@ -858,7 +1203,7 @@ export declare namespace RuleUpdateResponse {
858
1203
  /**
859
1204
  * Social media platform associated with the rule.
860
1205
  */
861
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
1206
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
862
1207
  /**
863
1208
  * URL of the social platform's logo.
864
1209
  */
@@ -867,10 +1212,18 @@ export declare namespace RuleUpdateResponse {
867
1212
  * Name of the social platform.
868
1213
  */
869
1214
  socialPlatformName?: string | null;
1215
+ /**
1216
+ * ID of the Steam app.
1217
+ */
1218
+ steamAppId?: string | null;
870
1219
  /**
871
1220
  * Array of streak milestones and corresponding rewards.
872
1221
  */
873
1222
  streakArray?: Array<Metadata.StreakArray> | null;
1223
+ /**
1224
+ * Metadata for swap loyalty rules
1225
+ */
1226
+ swap?: Metadata.Swap;
874
1227
  /**
875
1228
  * ID of the Telegram channel.
876
1229
  */
@@ -883,6 +1236,11 @@ export declare namespace RuleUpdateResponse {
883
1236
  * Flag indicating if all contracts are tracked.
884
1237
  */
885
1238
  trackAllContracts?: boolean | null;
1239
+ /**
1240
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1241
+ * completed once the progress is 100%.
1242
+ */
1243
+ trackProgress?: boolean | null;
886
1244
  /**
887
1245
  * URL of the associated Twitter account.
888
1246
  */
@@ -918,7 +1276,15 @@ export declare namespace RuleUpdateResponse {
918
1276
  /**
919
1277
  * Type of wallet associated with the rule.
920
1278
  */
921
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
1279
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
1280
+ /**
1281
+ * ID of the Youtube channel.
1282
+ */
1283
+ youtubeChannelId?: string | null;
1284
+ /**
1285
+ * ID of the Youtube video.
1286
+ */
1287
+ youtubeVideoId?: string | null;
922
1288
  }
923
1289
  namespace Metadata {
924
1290
  interface Collection {
@@ -933,7 +1299,7 @@ export declare namespace RuleUpdateResponse {
933
1299
  /**
934
1300
  * Blockchain network of the collection.
935
1301
  */
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';
1302
+ 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
1303
  }
938
1304
  /**
939
1305
  * Object containing details for the call-to-action.
@@ -972,6 +1338,10 @@ export declare namespace RuleUpdateResponse {
972
1338
  * Array of emojis used in the channel.
973
1339
  */
974
1340
  emojis?: Array<Channel.Emoji>;
1341
+ /**
1342
+ * Phrase of text to be present in the discord message
1343
+ */
1344
+ text?: string;
975
1345
  }
976
1346
  namespace Channel {
977
1347
  interface Emoji {
@@ -994,6 +1364,49 @@ export declare namespace RuleUpdateResponse {
994
1364
  */
995
1365
  id: string;
996
1366
  }
1367
+ /**
1368
+ * Liquidity pool details.
1369
+ */
1370
+ interface Liquidity {
1371
+ /**
1372
+ * Calculation type of the liquidity pool.
1373
+ */
1374
+ calculationType?: 'fixed' | 'custom';
1375
+ /**
1376
+ * Custom function to calculate the the reward amount based on the liquidity
1377
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1378
+ * USD.
1379
+ */
1380
+ customFunction?: string;
1381
+ /**
1382
+ * Liquidity provided per day in USD
1383
+ */
1384
+ liquidityPerDay?: number;
1385
+ /**
1386
+ * Blockchain network of the liquidity pool.
1387
+ */
1388
+ 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';
1389
+ /**
1390
+ * Indicates if only in-range liquidity is rewarded.
1391
+ */
1392
+ onlyRewardInRangeLiquidity?: boolean;
1393
+ /**
1394
+ * Array of liquidity pools associated with the rule.
1395
+ */
1396
+ pools?: Array<Liquidity.Pool>;
1397
+ /**
1398
+ * Protocol of the liquidity pool.
1399
+ */
1400
+ protocol?: string;
1401
+ }
1402
+ namespace Liquidity {
1403
+ interface Pool {
1404
+ /**
1405
+ * Unique identifier of the liquidity pool.
1406
+ */
1407
+ id: string;
1408
+ }
1409
+ }
997
1410
  interface Range {
998
1411
  /**
999
1412
  * Reward amount for this range.
@@ -1007,6 +1420,14 @@ export declare namespace RuleUpdateResponse {
1007
1420
  * Start value of the range.
1008
1421
  */
1009
1422
  startRange: number;
1423
+ /**
1424
+ * ID of the loyalty badge for this range.
1425
+ */
1426
+ loyaltyBadgeId?: string;
1427
+ /**
1428
+ * Amount of the loyalty multiplier for this range.
1429
+ */
1430
+ loyaltyMultiplierAmount?: number;
1010
1431
  }
1011
1432
  /**
1012
1433
  * Object defining referral requirements.
@@ -1050,18 +1471,14 @@ export declare namespace RuleUpdateResponse {
1050
1471
  * Object containing details of the associated smart contract.
1051
1472
  */
1052
1473
  interface SmartContract {
1053
- /**
1054
- * ABI of the smart contract.
1055
- */
1056
- abi?: string | null;
1057
1474
  /**
1058
1475
  * Mapping of addresses for the smart contract.
1059
1476
  */
1060
1477
  addressMapping?: string | null;
1061
1478
  /**
1062
- * Array of bonus details applied to the rule.
1479
+ * Object containing details of the amount multiplier from the event.
1063
1480
  */
1064
- bonus?: Array<SmartContract.Bonus> | null;
1481
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1065
1482
  /**
1066
1483
  * ID of the smart contract.
1067
1484
  */
@@ -1070,58 +1487,28 @@ export declare namespace RuleUpdateResponse {
1070
1487
  * Criteria to evaluate the smart contract event.
1071
1488
  */
1072
1489
  criteria?: 'everyEvent' | 'byParameter' | null;
1073
- /**
1074
- * Time range applied to the rule.
1075
- */
1076
- customRange?: SmartContract.CustomRange | null;
1077
1490
  /**
1078
1491
  * Event emitted by the smart contract.
1079
1492
  */
1080
1493
  event?: string | null;
1081
- /**
1082
- * Maximum value allowed for the parameter.
1083
- */
1084
- max?: number | null;
1085
1494
  /**
1086
1495
  * Array of parameters for the smart contract.
1087
1496
  */
1088
1497
  params?: Array<SmartContract.Param> | null;
1089
1498
  /**
1090
- * Flag indicating if a bonus is applied.
1499
+ * Type of the smart contract interaction.
1091
1500
  */
1092
- withBonus?: boolean | null;
1501
+ type?: 'function' | 'event' | null;
1502
+ }
1503
+ namespace SmartContract {
1093
1504
  /**
1094
- * Flag indicating if a custom range is applied.
1505
+ * Object containing details of the amount multiplier from the event.
1095
1506
  */
1096
- withCustomRange?: boolean | null;
1097
- /**
1098
- * Flag indicating if a maximum limit is applied.
1099
- */
1100
- withMax?: boolean | null;
1101
- }
1102
- 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
- /**
1114
- * Time range applied to the rule.
1115
- */
1116
- interface CustomRange {
1117
- /**
1118
- * End time of the custom range.
1119
- */
1120
- endsAt?: string | null;
1507
+ interface AmountMultiplier {
1121
1508
  /**
1122
- * Start time of the custom range.
1509
+ * Mapping of the value for the smart contract.
1123
1510
  */
1124
- startsAt?: string | null;
1511
+ valueMapping?: string | null;
1125
1512
  }
1126
1513
  interface Param {
1127
1514
  /**
@@ -1158,16 +1545,24 @@ export declare namespace RuleUpdateResponse {
1158
1545
  */
1159
1546
  streakMilestone: number;
1160
1547
  }
1161
- }
1162
- interface Collection {
1163
1548
  /**
1164
- * Blockchain address of the collection
1165
- */
1166
- address: string;
1167
- /**
1168
- * Blockchain network for the collection
1549
+ * Metadata for swap loyalty rules
1169
1550
  */
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';
1551
+ interface Swap {
1552
+ provider?: 'any' | 'relay' | 'lifi';
1553
+ relayReferrerId?: string;
1554
+ requireCrossChainSwap?: boolean;
1555
+ swappedToChain?: 'any' | number | string;
1556
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1557
+ tokenMode?: 'any' | 'specific';
1558
+ trackTokenAmount?: boolean;
1559
+ }
1560
+ namespace Swap {
1561
+ interface SwappedToToken {
1562
+ address: string;
1563
+ chainId: string;
1564
+ }
1565
+ }
1171
1566
  }
1172
1567
  }
1173
1568
  export interface RuleListResponse {
@@ -1175,9 +1570,6 @@ export interface RuleListResponse {
1175
1570
  hasNextPage: boolean;
1176
1571
  }
1177
1572
  export declare namespace RuleListResponse {
1178
- /**
1179
- * Schema for a loyalty rule
1180
- */
1181
1573
  interface Data {
1182
1574
  /**
1183
1575
  * Unique identifier for the loyalty rule
@@ -1195,14 +1587,38 @@ export declare namespace RuleListResponse {
1195
1587
  * Timestamp when the loyalty rule was deleted (if applicable)
1196
1588
  */
1197
1589
  deletedAt: string | null;
1590
+ /**
1591
+ * Description of the loyalty rule
1592
+ */
1593
+ description: string;
1594
+ /**
1595
+ * End time of the loyalty rule
1596
+ */
1597
+ endTime: string;
1198
1598
  /**
1199
1599
  * Frequency of the loyalty rule
1200
1600
  */
1201
1601
  frequency: string;
1602
+ /**
1603
+ * Chains attached to the loyalty rule
1604
+ */
1605
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1606
+ /**
1607
+ * Name of the loyalty rule
1608
+ */
1609
+ name: string;
1202
1610
  /**
1203
1611
  * Unique identifier for the organization
1204
1612
  */
1205
1613
  organizationId: string;
1614
+ /**
1615
+ * Type of the reward
1616
+ */
1617
+ rewardType: 'points' | 'multiplier' | 'badge';
1618
+ /**
1619
+ * Start time of the loyalty rule
1620
+ */
1621
+ startTime: string;
1206
1622
  /**
1207
1623
  * Type of the loyalty rule
1208
1624
  */
@@ -1219,10 +1635,695 @@ export declare namespace RuleListResponse {
1219
1635
  * Optional address of the collection
1220
1636
  */
1221
1637
  collectionAddress?: string;
1638
+ /**
1639
+ * URL of the media associated with the loyalty rule
1640
+ */
1641
+ mediaUrl?: string | null;
1222
1642
  /**
1223
1643
  * Optional metadata for the loyalty rule
1224
1644
  */
1225
- metadata?: Record<string, unknown>;
1645
+ metadata?: {
1646
+ [key: string]: Data.Metadata;
1647
+ };
1648
+ }
1649
+ namespace Data {
1650
+ interface LoyaltyRuleChain {
1651
+ /**
1652
+ * Unique identifier for the rule chain
1653
+ */
1654
+ id: string;
1655
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1656
+ /**
1657
+ * Unique identifier for the loyalty rule
1658
+ */
1659
+ loyaltyRuleId: string;
1660
+ /**
1661
+ * Name of the rule chain
1662
+ */
1663
+ name: string;
1664
+ }
1665
+ namespace LoyaltyRuleChain {
1666
+ interface LoyaltyCondition {
1667
+ /**
1668
+ * Unique identifier for the condition
1669
+ */
1670
+ id: string;
1671
+ /**
1672
+ * Amount of the condition
1673
+ */
1674
+ amount: number | null;
1675
+ association: Array<LoyaltyCondition.Association>;
1676
+ /**
1677
+ * URL of the CSV file
1678
+ */
1679
+ csvUrl: string | null;
1680
+ /**
1681
+ * Description of the condition
1682
+ */
1683
+ description: string | null;
1684
+ /**
1685
+ * Number of times the condition must be met
1686
+ */
1687
+ repeatCount: number | null;
1688
+ /**
1689
+ * Number of times the condition must be met
1690
+ */
1691
+ requiredCount: number | null;
1692
+ /**
1693
+ * Type of the condition
1694
+ */
1695
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1696
+ }
1697
+ namespace LoyaltyCondition {
1698
+ interface Association {
1699
+ /**
1700
+ * Unique identifier for the association
1701
+ */
1702
+ id: string;
1703
+ /**
1704
+ * Unique identifier for the loyalty badge
1705
+ */
1706
+ loyaltyBadgeId: string | null;
1707
+ /**
1708
+ * Unique identifier for the loyalty currency
1709
+ */
1710
+ loyaltyCurrencyId: string | null;
1711
+ loyaltyRule: Association.LoyaltyRule | null;
1712
+ /**
1713
+ * Unique identifier for the loyalty rule group
1714
+ */
1715
+ loyaltyRuleGroupId: string | null;
1716
+ /**
1717
+ * Unique identifier for the loyalty rule
1718
+ */
1719
+ loyaltyRuleId: string | null;
1720
+ }
1721
+ namespace Association {
1722
+ interface LoyaltyRule {
1723
+ /**
1724
+ * Name of the loyalty rule
1725
+ */
1726
+ name: string;
1727
+ }
1728
+ }
1729
+ }
1730
+ }
1731
+ interface Metadata {
1732
+ /**
1733
+ * Number of tokens per batch.
1734
+ */
1735
+ batchSize?: number | null;
1736
+ /**
1737
+ * Text displayed on the action button.
1738
+ */
1739
+ buttonText?: string | null;
1740
+ /**
1741
+ * Flag indicating if commenting is required.
1742
+ */
1743
+ checkComment?: boolean | null;
1744
+ /**
1745
+ * Flag indicating if liking the post is required.
1746
+ */
1747
+ checkLike?: boolean | null;
1748
+ /**
1749
+ * Flag indicating if reposting is required.
1750
+ */
1751
+ checkRepost?: boolean | null;
1752
+ /**
1753
+ * Text to check in the Twitter post, username, or bio.
1754
+ */
1755
+ checkText?: string | null;
1756
+ /**
1757
+ * Array of collections associated with the rule.
1758
+ */
1759
+ collection?: Array<Metadata.Collection>;
1760
+ /**
1761
+ * Conditions for completing the profile.
1762
+ */
1763
+ completeProfileConditions?: {
1764
+ [key: string]: boolean;
1765
+ } | null;
1766
+ /**
1767
+ * Object containing details for the call-to-action.
1768
+ */
1769
+ cta?: Metadata.Cta | null;
1770
+ /**
1771
+ * API key for custom rewards integration.
1772
+ */
1773
+ customRewardsApiKey?: string;
1774
+ /**
1775
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1776
+ */
1777
+ directRpc?: boolean;
1778
+ /**
1779
+ * Array of Discord servers, channels, and roles to join.
1780
+ */
1781
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1782
+ /**
1783
+ * Array of drip quests required to complete the rule.
1784
+ */
1785
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1786
+ /**
1787
+ * Flag indicating whether joining Discord servers is required.
1788
+ */
1789
+ enableJoinDiscordServers?: boolean | null;
1790
+ /**
1791
+ * Flag indicating whether streaks are enabled.
1792
+ */
1793
+ enableStreaks?: boolean | null;
1794
+ /**
1795
+ * Flag indicating whether the verified multiplier is enabled.
1796
+ */
1797
+ enableVerifiedMultiplier?: boolean;
1798
+ /**
1799
+ * Fill source of the order for the token sale
1800
+ */
1801
+ fillSource?: string;
1802
+ /**
1803
+ * Percentage reward given to a user for their first referral.
1804
+ */
1805
+ firstReferralReward?: number | null;
1806
+ /**
1807
+ * Flag indicating whether the fill source is included.
1808
+ */
1809
+ hasFillSource?: boolean;
1810
+ /**
1811
+ * Indicates if the item has never been sold.
1812
+ */
1813
+ hasNeverSold?: boolean;
1814
+ /**
1815
+ * Indicates if the full royalty has been paid for items.
1816
+ */
1817
+ hasPaidFullRoyalty?: boolean;
1818
+ /**
1819
+ * Flag indicating if the sale currency is included.
1820
+ */
1821
+ hasSaleCurrency?: boolean;
1822
+ /**
1823
+ * Indicates if the user has a verified Twitter account.
1824
+ */
1825
+ hasVerifiedTwitter?: boolean;
1826
+ /**
1827
+ * URL of the image associated with the rule.
1828
+ */
1829
+ imageUrl?: string | null;
1830
+ /**
1831
+ * If enabled, the first transaction done on the platform will complete this rule
1832
+ */
1833
+ isCheckInOnEveryTxn?: boolean;
1834
+ /**
1835
+ * Indicates if the multiplier has been applied to rewards.
1836
+ */
1837
+ isMultiplierApplied?: boolean;
1838
+ /**
1839
+ * Flag indicating if the rule is restricted to new users.
1840
+ */
1841
+ isRestrictedToNewUsers?: boolean;
1842
+ /**
1843
+ * Flag indicating if rewards are applied retroactively.
1844
+ */
1845
+ isRetroactive?: boolean | null;
1846
+ /**
1847
+ * Flag indicating if the token hold multiplier is applied.
1848
+ */
1849
+ isTokenHoldMultiplier?: boolean;
1850
+ /**
1851
+ * Optional link associated with the metadata.
1852
+ */
1853
+ link?: string | null;
1854
+ /**
1855
+ * Liquidity pool details.
1856
+ */
1857
+ liquidity?: Metadata.Liquidity;
1858
+ /**
1859
+ * Maximum quantity constraint for token holding.
1860
+ */
1861
+ maxQty?: number | null;
1862
+ /**
1863
+ * Minimum quantity constraint for token holding.
1864
+ */
1865
+ minQty?: number | null;
1866
+ /**
1867
+ * Array of loyalty currency IDs used for multipliers.
1868
+ */
1869
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1870
+ /**
1871
+ * Flag indicating whether to include only known users.
1872
+ */
1873
+ onlyKnownUsers?: boolean;
1874
+ /**
1875
+ * Flag indicating whether to include only native tokens.
1876
+ */
1877
+ onlyNative?: boolean;
1878
+ /**
1879
+ * Flag indicating whether to include only non-listed items.
1880
+ */
1881
+ onlyNonListed?: boolean;
1882
+ /**
1883
+ * Indicates if only existing users are rewarded.
1884
+ */
1885
+ onlyRewardExistingUser?: boolean;
1886
+ /**
1887
+ * give points for only one token ownership per contract
1888
+ */
1889
+ onlyRewardSingleTokenOwnership?: boolean | null;
1890
+ /**
1891
+ * Promotional code associated with the rule.
1892
+ */
1893
+ promoCode?: string;
1894
+ /**
1895
+ * URL of the CSV file containing promo codes.
1896
+ */
1897
+ promoCodeCsvUrl?: string;
1898
+ /**
1899
+ * Numbers of the promotional code to be generated.
1900
+ */
1901
+ promoCodeLength?: number | null;
1902
+ /**
1903
+ * Type of the promotional code.
1904
+ */
1905
+ promoCodeType?: 'code' | 'csv' | 'generate';
1906
+ /**
1907
+ * Array defining ranges and corresponding rewards.
1908
+ */
1909
+ range?: Array<Metadata.Range>;
1910
+ /**
1911
+ * Object defining referral requirements.
1912
+ */
1913
+ referralRequirements?: Metadata.ReferralRequirements | null;
1914
+ /**
1915
+ * Lump sum reward given to a referrer.
1916
+ */
1917
+ referrerReward?: number | null;
1918
+ /**
1919
+ * Loyalty currency ID of the referrer reward.
1920
+ */
1921
+ referrerRewardLoyaltyCurrencyId?: string | null;
1922
+ /**
1923
+ * Flag indicating if the post link is required.
1924
+ */
1925
+ requirePostLink?: boolean | null;
1926
+ /**
1927
+ * Flag indicating if the rule can also reward badges per range.
1928
+ */
1929
+ rewardBadgePerRange?: boolean;
1930
+ /**
1931
+ * Flag indicating if the reward is rewarded by batch.
1932
+ */
1933
+ rewardByBatch?: boolean | null;
1934
+ /**
1935
+ * Flag indicating if rewards are given per impression.
1936
+ */
1937
+ rewardPerImpression?: boolean | null;
1938
+ /**
1939
+ * Flag indicating if the rule should reward based on value of traded tokens
1940
+ * instead of count.
1941
+ */
1942
+ rewardPerValue?: boolean;
1943
+ /**
1944
+ * Currency associated with sales.
1945
+ */
1946
+ saleCurrency?: string;
1947
+ /**
1948
+ * Percentage reward given for a second-level referral.
1949
+ */
1950
+ secondReferralReward?: number | null;
1951
+ /**
1952
+ * Flag indicating if the multiplier is skipped.
1953
+ */
1954
+ skipMultiplier?: boolean | null;
1955
+ /**
1956
+ * Object containing details of the associated smart contract.
1957
+ */
1958
+ smartContract?: Metadata.SmartContract;
1959
+ /**
1960
+ * Array of snapshot proposals for the rule.
1961
+ */
1962
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
1963
+ /**
1964
+ * Social media platform associated with the rule.
1965
+ */
1966
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1967
+ /**
1968
+ * URL of the social platform's logo.
1969
+ */
1970
+ socialPlatformLogo?: string | null;
1971
+ /**
1972
+ * Name of the social platform.
1973
+ */
1974
+ socialPlatformName?: string | null;
1975
+ /**
1976
+ * ID of the Steam app.
1977
+ */
1978
+ steamAppId?: string | null;
1979
+ /**
1980
+ * Array of streak milestones and corresponding rewards.
1981
+ */
1982
+ streakArray?: Array<Metadata.StreakArray> | null;
1983
+ /**
1984
+ * Metadata for swap loyalty rules
1985
+ */
1986
+ swap?: Metadata.Swap;
1987
+ /**
1988
+ * ID of the Telegram channel.
1989
+ */
1990
+ telegramChannelId?: string | null;
1991
+ /**
1992
+ * Time delay in seconds to verify actions.
1993
+ */
1994
+ timeDelayToVerifySeconds?: string | number | null;
1995
+ /**
1996
+ * Flag indicating if all contracts are tracked.
1997
+ */
1998
+ trackAllContracts?: boolean | null;
1999
+ /**
2000
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2001
+ * completed once the progress is 100%.
2002
+ */
2003
+ trackProgress?: boolean | null;
2004
+ /**
2005
+ * URL of the associated Twitter account.
2006
+ */
2007
+ twitterAccountUrl?: string;
2008
+ /**
2009
+ * Hashtag associated with the Twitter post.
2010
+ */
2011
+ twitterHashtag?: string;
2012
+ /**
2013
+ * URL of the associated Twitter post.
2014
+ */
2015
+ twitterPostUrl?: string;
2016
+ /**
2017
+ * Unique identifier of the Twitter user.
2018
+ */
2019
+ twitterUserId?: string;
2020
+ /**
2021
+ * Twitter username of the user.
2022
+ */
2023
+ twitterUsername?: string;
2024
+ /**
2025
+ * Minimum length of the verification text.
2026
+ */
2027
+ verificationTextMinimumLength?: number | null;
2028
+ /**
2029
+ * Multiplier applied to rewards for verified users.
2030
+ */
2031
+ verifiedMultiplier?: number | null;
2032
+ /**
2033
+ * Placeholder text for verification input fields.
2034
+ */
2035
+ verifyPlaceHolderText?: string | null;
2036
+ /**
2037
+ * Type of wallet associated with the rule.
2038
+ */
2039
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
2040
+ /**
2041
+ * ID of the Youtube channel.
2042
+ */
2043
+ youtubeChannelId?: string | null;
2044
+ /**
2045
+ * ID of the Youtube video.
2046
+ */
2047
+ youtubeVideoId?: string | null;
2048
+ }
2049
+ namespace Metadata {
2050
+ interface Collection {
2051
+ /**
2052
+ * Blockchain address of the collection.
2053
+ */
2054
+ address?: string;
2055
+ /**
2056
+ * Multiplier applied to the rewards for this collection.
2057
+ */
2058
+ multiplier?: number;
2059
+ /**
2060
+ * Blockchain network of the collection.
2061
+ */
2062
+ 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';
2063
+ }
2064
+ /**
2065
+ * Object containing details for the call-to-action.
2066
+ */
2067
+ interface Cta {
2068
+ /**
2069
+ * Link for the call-to-action.
2070
+ */
2071
+ href?: string | null;
2072
+ /**
2073
+ * Label for the call-to-action.
2074
+ */
2075
+ label?: string | null;
2076
+ }
2077
+ interface DiscordServersToJoin {
2078
+ /**
2079
+ * ID of the Discord server to join.
2080
+ */
2081
+ id?: string;
2082
+ /**
2083
+ * Array of Discord channels to join.
2084
+ */
2085
+ channels?: Array<DiscordServersToJoin.Channel>;
2086
+ /**
2087
+ * Array of roles to assign in the Discord server.
2088
+ */
2089
+ roles?: Array<DiscordServersToJoin.Role>;
2090
+ }
2091
+ namespace DiscordServersToJoin {
2092
+ interface Channel {
2093
+ /**
2094
+ * ID of the Discord channel.
2095
+ */
2096
+ id?: string;
2097
+ /**
2098
+ * Array of emojis used in the channel.
2099
+ */
2100
+ emojis?: Array<Channel.Emoji>;
2101
+ /**
2102
+ * Phrase of text to be present in the discord message
2103
+ */
2104
+ text?: string;
2105
+ }
2106
+ namespace Channel {
2107
+ interface Emoji {
2108
+ /**
2109
+ * ID of the emoji used in the channel.
2110
+ */
2111
+ id?: string;
2112
+ }
2113
+ }
2114
+ interface Role {
2115
+ /**
2116
+ * ID of the role in the Discord server.
2117
+ */
2118
+ id: string;
2119
+ }
2120
+ }
2121
+ interface DripQuestsToComplete {
2122
+ /**
2123
+ * ID of the drip quest to complete.
2124
+ */
2125
+ id: string;
2126
+ }
2127
+ /**
2128
+ * Liquidity pool details.
2129
+ */
2130
+ interface Liquidity {
2131
+ /**
2132
+ * Calculation type of the liquidity pool.
2133
+ */
2134
+ calculationType?: 'fixed' | 'custom';
2135
+ /**
2136
+ * Custom function to calculate the the reward amount based on the liquidity
2137
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2138
+ * USD.
2139
+ */
2140
+ customFunction?: string;
2141
+ /**
2142
+ * Liquidity provided per day in USD
2143
+ */
2144
+ liquidityPerDay?: number;
2145
+ /**
2146
+ * Blockchain network of the liquidity pool.
2147
+ */
2148
+ 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';
2149
+ /**
2150
+ * Indicates if only in-range liquidity is rewarded.
2151
+ */
2152
+ onlyRewardInRangeLiquidity?: boolean;
2153
+ /**
2154
+ * Array of liquidity pools associated with the rule.
2155
+ */
2156
+ pools?: Array<Liquidity.Pool>;
2157
+ /**
2158
+ * Protocol of the liquidity pool.
2159
+ */
2160
+ protocol?: string;
2161
+ }
2162
+ namespace Liquidity {
2163
+ interface Pool {
2164
+ /**
2165
+ * Unique identifier of the liquidity pool.
2166
+ */
2167
+ id: string;
2168
+ }
2169
+ }
2170
+ interface Range {
2171
+ /**
2172
+ * Reward amount for this range.
2173
+ */
2174
+ amount: number;
2175
+ /**
2176
+ * End value of the range.
2177
+ */
2178
+ endRange: number;
2179
+ /**
2180
+ * Start value of the range.
2181
+ */
2182
+ startRange: number;
2183
+ /**
2184
+ * ID of the loyalty badge for this range.
2185
+ */
2186
+ loyaltyBadgeId?: string;
2187
+ /**
2188
+ * Amount of the loyalty multiplier for this range.
2189
+ */
2190
+ loyaltyMultiplierAmount?: number;
2191
+ }
2192
+ /**
2193
+ * Object defining referral requirements.
2194
+ */
2195
+ interface ReferralRequirements {
2196
+ /**
2197
+ * Flag indicating if achieving points is required.
2198
+ */
2199
+ achievePoints?: boolean | null;
2200
+ /**
2201
+ * Flag indicating if completing the profile is required.
2202
+ */
2203
+ completeProfile?: boolean | null;
2204
+ /**
2205
+ * Flag indicating if connecting Discord is required.
2206
+ */
2207
+ connectDiscord?: boolean | null;
2208
+ /**
2209
+ * Flag indicating if connecting email is required.
2210
+ */
2211
+ connectEmail?: boolean | null;
2212
+ /**
2213
+ * Flag indicating if connecting Twitter is required.
2214
+ */
2215
+ connectTwitter?: boolean | null;
2216
+ points?: ReferralRequirements.Points | null;
2217
+ }
2218
+ namespace ReferralRequirements {
2219
+ interface Points {
2220
+ /**
2221
+ * Points required for referral.
2222
+ */
2223
+ amount?: number | null;
2224
+ /**
2225
+ * ID of the loyalty currency for referral.
2226
+ */
2227
+ loyaltyCurrecyId?: string | null;
2228
+ }
2229
+ }
2230
+ /**
2231
+ * Object containing details of the associated smart contract.
2232
+ */
2233
+ interface SmartContract {
2234
+ /**
2235
+ * Mapping of addresses for the smart contract.
2236
+ */
2237
+ addressMapping?: string | null;
2238
+ /**
2239
+ * Object containing details of the amount multiplier from the event.
2240
+ */
2241
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2242
+ /**
2243
+ * ID of the smart contract.
2244
+ */
2245
+ contractId?: string | null;
2246
+ /**
2247
+ * Criteria to evaluate the smart contract event.
2248
+ */
2249
+ criteria?: 'everyEvent' | 'byParameter' | null;
2250
+ /**
2251
+ * Event emitted by the smart contract.
2252
+ */
2253
+ event?: string | null;
2254
+ /**
2255
+ * Array of parameters for the smart contract.
2256
+ */
2257
+ params?: Array<SmartContract.Param> | null;
2258
+ /**
2259
+ * Type of the smart contract interaction.
2260
+ */
2261
+ type?: 'function' | 'event' | null;
2262
+ }
2263
+ namespace SmartContract {
2264
+ /**
2265
+ * Object containing details of the amount multiplier from the event.
2266
+ */
2267
+ interface AmountMultiplier {
2268
+ /**
2269
+ * Mapping of the value for the smart contract.
2270
+ */
2271
+ valueMapping?: string | null;
2272
+ }
2273
+ interface Param {
2274
+ /**
2275
+ * Condition to check for the parameter.
2276
+ */
2277
+ condition?: string | null;
2278
+ /**
2279
+ * Name of the smart contract parameter.
2280
+ */
2281
+ name?: string | null;
2282
+ /**
2283
+ * Value of the parameter.
2284
+ */
2285
+ value?: string | null;
2286
+ }
2287
+ }
2288
+ interface SnapshotProposal {
2289
+ /**
2290
+ * ID of the snapshot proposal.
2291
+ */
2292
+ id: string;
2293
+ /**
2294
+ * Space associated with the snapshot proposal.
2295
+ */
2296
+ space: string;
2297
+ }
2298
+ interface StreakArray {
2299
+ /**
2300
+ * Reward amount for achieving the streak milestone.
2301
+ */
2302
+ streakAmount: number;
2303
+ /**
2304
+ * Milestone required to achieve the streak.
2305
+ */
2306
+ streakMilestone: number;
2307
+ }
2308
+ /**
2309
+ * Metadata for swap loyalty rules
2310
+ */
2311
+ interface Swap {
2312
+ provider?: 'any' | 'relay' | 'lifi';
2313
+ relayReferrerId?: string;
2314
+ requireCrossChainSwap?: boolean;
2315
+ swappedToChain?: 'any' | number | string;
2316
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2317
+ tokenMode?: 'any' | 'specific';
2318
+ trackTokenAmount?: boolean;
2319
+ }
2320
+ namespace Swap {
2321
+ interface SwappedToToken {
2322
+ address: string;
2323
+ chainId: string;
2324
+ }
2325
+ }
2326
+ }
1226
2327
  }
1227
2328
  }
1228
2329
  export interface RuleDeleteResponse {
@@ -1230,12 +2331,12 @@ export interface RuleDeleteResponse {
1230
2331
  deletedAt: string;
1231
2332
  }
1232
2333
  export interface RuleCompleteResponse {
1233
- message: string;
2334
+ message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
1234
2335
  }
1235
- export interface RuleStatusResponse {
1236
- data: Array<RuleStatusResponse.Data>;
2336
+ export interface RuleGetStatusResponse {
2337
+ data: Array<RuleGetStatusResponse.Data>;
1237
2338
  }
1238
- export declare namespace RuleStatusResponse {
2339
+ export declare namespace RuleGetStatusResponse {
1239
2340
  interface Data {
1240
2341
  loyaltyRuleId: string;
1241
2342
  status: 'pending' | 'processing' | 'completed' | 'failed';
@@ -1287,7 +2388,7 @@ export interface RuleCreateParams {
1287
2388
  /**
1288
2389
  * Type of loyalty rule being created
1289
2390
  */
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';
2391
+ 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
2392
  /**
1292
2393
  * Unique identifier for the associated website
1293
2394
  */
@@ -1316,6 +2417,10 @@ export interface RuleCreateParams {
1316
2417
  * Optional detailed description of the rule
1317
2418
  */
1318
2419
  description?: string;
2420
+ /**
2421
+ * ID of the external integration
2422
+ */
2423
+ externalIntegrationId?: string | null;
1319
2424
  /**
1320
2425
  * Whether to hide this rule in the user interface
1321
2426
  */
@@ -1323,19 +2428,41 @@ export interface RuleCreateParams {
1323
2428
  /**
1324
2429
  * Interval between rule executions
1325
2430
  */
1326
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
2431
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1327
2432
  /**
1328
2433
  * Whether this rule is mandatory
1329
2434
  */
1330
2435
  isRequired?: boolean;
2436
+ /**
2437
+ * Unique identifier for the loyalty badge
2438
+ */
2439
+ loyaltyBadgeId?: string | null;
1331
2440
  /**
1332
2441
  * Unique identifier for the loyalty rule group
1333
2442
  */
1334
2443
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2444
+ /**
2445
+ * URL for uploading loyalty user allotment via CSV
2446
+ */
2447
+ loyaltyUserAllotmentCsvUrl?: string;
2448
+ /**
2449
+ * The interval for the max amount. Available for the smart contract and external
2450
+ * rules.
2451
+ */
2452
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2453
+ /**
2454
+ * The maximum amount of points a user can earn per interval. Available for the
2455
+ * smart contract and external rules.
2456
+ */
2457
+ maxAmountPerInterval?: number | null;
2458
+ /**
2459
+ * URL of the media to be displayed
2460
+ */
2461
+ mediaUrl?: string | null;
1335
2462
  /**
1336
2463
  * Blockchain network where the rule will apply
1337
2464
  */
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';
2465
+ 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
2466
  /**
1340
2467
  * OAuth credentials associated with the rule
1341
2468
  */
@@ -1343,17 +2470,25 @@ export interface RuleCreateParams {
1343
2470
  /**
1344
2471
  * Type of reward issued by the rule
1345
2472
  */
1346
- rewardType?: 'points' | 'multiplier';
2473
+ rewardType?: 'points' | 'multiplier' | 'badge';
1347
2474
  /**
1348
- * Identifier for associated subscriptions
2475
+ * URL of the Shopify store
1349
2476
  */
1350
- subscriptionIdentifier?: string | null;
2477
+ shopifyStoreUrl?: string | null;
2478
+ /**
2479
+ * Optional subscription id for the rule
2480
+ */
2481
+ subscriptionId?: string | null;
1351
2482
  }
1352
2483
  export declare namespace RuleCreateParams {
1353
2484
  /**
1354
2485
  * Additional metadata for the loyalty rule
1355
2486
  */
1356
2487
  interface Metadata {
2488
+ /**
2489
+ * Number of tokens per batch.
2490
+ */
2491
+ batchSize?: number | null;
1357
2492
  /**
1358
2493
  * Text displayed on the action button.
1359
2494
  */
@@ -1378,6 +2513,12 @@ export declare namespace RuleCreateParams {
1378
2513
  * Array of collections associated with the rule.
1379
2514
  */
1380
2515
  collection?: Array<Metadata.Collection>;
2516
+ /**
2517
+ * Conditions for completing the profile.
2518
+ */
2519
+ completeProfileConditions?: {
2520
+ [key: string]: boolean;
2521
+ } | null;
1381
2522
  /**
1382
2523
  * Object containing details for the call-to-action.
1383
2524
  */
@@ -1386,6 +2527,10 @@ export declare namespace RuleCreateParams {
1386
2527
  * API key for custom rewards integration.
1387
2528
  */
1388
2529
  customRewardsApiKey?: string;
2530
+ /**
2531
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2532
+ */
2533
+ directRpc?: boolean;
1389
2534
  /**
1390
2535
  * Array of Discord servers, channels, and roles to join.
1391
2536
  */
@@ -1406,10 +2551,18 @@ export declare namespace RuleCreateParams {
1406
2551
  * Flag indicating whether the verified multiplier is enabled.
1407
2552
  */
1408
2553
  enableVerifiedMultiplier?: boolean;
2554
+ /**
2555
+ * Fill source of the order for the token sale
2556
+ */
2557
+ fillSource?: string;
1409
2558
  /**
1410
2559
  * Percentage reward given to a user for their first referral.
1411
2560
  */
1412
2561
  firstReferralReward?: number | null;
2562
+ /**
2563
+ * Flag indicating whether the fill source is included.
2564
+ */
2565
+ hasFillSource?: boolean;
1413
2566
  /**
1414
2567
  * Indicates if the item has never been sold.
1415
2568
  */
@@ -1430,10 +2583,18 @@ export declare namespace RuleCreateParams {
1430
2583
  * URL of the image associated with the rule.
1431
2584
  */
1432
2585
  imageUrl?: string | null;
2586
+ /**
2587
+ * If enabled, the first transaction done on the platform will complete this rule
2588
+ */
2589
+ isCheckInOnEveryTxn?: boolean;
1433
2590
  /**
1434
2591
  * Indicates if the multiplier has been applied to rewards.
1435
2592
  */
1436
2593
  isMultiplierApplied?: boolean;
2594
+ /**
2595
+ * Flag indicating if the rule is restricted to new users.
2596
+ */
2597
+ isRestrictedToNewUsers?: boolean;
1437
2598
  /**
1438
2599
  * Flag indicating if rewards are applied retroactively.
1439
2600
  */
@@ -1446,6 +2607,10 @@ export declare namespace RuleCreateParams {
1446
2607
  * Optional link associated with the metadata.
1447
2608
  */
1448
2609
  link?: string | null;
2610
+ /**
2611
+ * Liquidity pool details.
2612
+ */
2613
+ liquidity?: Metadata.Liquidity;
1449
2614
  /**
1450
2615
  * Maximum quantity constraint for token holding.
1451
2616
  */
@@ -1470,10 +2635,30 @@ export declare namespace RuleCreateParams {
1470
2635
  * Flag indicating whether to include only non-listed items.
1471
2636
  */
1472
2637
  onlyNonListed?: boolean;
2638
+ /**
2639
+ * Indicates if only existing users are rewarded.
2640
+ */
2641
+ onlyRewardExistingUser?: boolean;
2642
+ /**
2643
+ * give points for only one token ownership per contract
2644
+ */
2645
+ onlyRewardSingleTokenOwnership?: boolean | null;
1473
2646
  /**
1474
2647
  * Promotional code associated with the rule.
1475
2648
  */
1476
2649
  promoCode?: string;
2650
+ /**
2651
+ * URL of the CSV file containing promo codes.
2652
+ */
2653
+ promoCodeCsvUrl?: string;
2654
+ /**
2655
+ * Numbers of the promotional code to be generated.
2656
+ */
2657
+ promoCodeLength?: number | null;
2658
+ /**
2659
+ * Type of the promotional code.
2660
+ */
2661
+ promoCodeType?: 'code' | 'csv' | 'generate';
1477
2662
  /**
1478
2663
  * Array defining ranges and corresponding rewards.
1479
2664
  */
@@ -1486,10 +2671,31 @@ export declare namespace RuleCreateParams {
1486
2671
  * Lump sum reward given to a referrer.
1487
2672
  */
1488
2673
  referrerReward?: number | null;
2674
+ /**
2675
+ * Loyalty currency ID of the referrer reward.
2676
+ */
2677
+ referrerRewardLoyaltyCurrencyId?: string | null;
2678
+ /**
2679
+ * Flag indicating if the post link is required.
2680
+ */
2681
+ requirePostLink?: boolean | null;
2682
+ /**
2683
+ * Flag indicating if the rule can also reward badges per range.
2684
+ */
2685
+ rewardBadgePerRange?: boolean;
2686
+ /**
2687
+ * Flag indicating if the reward is rewarded by batch.
2688
+ */
2689
+ rewardByBatch?: boolean | null;
1489
2690
  /**
1490
2691
  * Flag indicating if rewards are given per impression.
1491
2692
  */
1492
2693
  rewardPerImpression?: boolean | null;
2694
+ /**
2695
+ * Flag indicating if the rule should reward based on value of traded tokens
2696
+ * instead of count.
2697
+ */
2698
+ rewardPerValue?: boolean;
1493
2699
  /**
1494
2700
  * Currency associated with sales.
1495
2701
  */
@@ -1498,6 +2704,10 @@ export declare namespace RuleCreateParams {
1498
2704
  * Percentage reward given for a second-level referral.
1499
2705
  */
1500
2706
  secondReferralReward?: number | null;
2707
+ /**
2708
+ * Flag indicating if the multiplier is skipped.
2709
+ */
2710
+ skipMultiplier?: boolean | null;
1501
2711
  /**
1502
2712
  * Object containing details of the associated smart contract.
1503
2713
  */
@@ -1509,7 +2719,7 @@ export declare namespace RuleCreateParams {
1509
2719
  /**
1510
2720
  * Social media platform associated with the rule.
1511
2721
  */
1512
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
2722
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1513
2723
  /**
1514
2724
  * URL of the social platform's logo.
1515
2725
  */
@@ -1518,10 +2728,18 @@ export declare namespace RuleCreateParams {
1518
2728
  * Name of the social platform.
1519
2729
  */
1520
2730
  socialPlatformName?: string | null;
2731
+ /**
2732
+ * ID of the Steam app.
2733
+ */
2734
+ steamAppId?: string | null;
1521
2735
  /**
1522
2736
  * Array of streak milestones and corresponding rewards.
1523
2737
  */
1524
2738
  streakArray?: Array<Metadata.StreakArray> | null;
2739
+ /**
2740
+ * Metadata for swap loyalty rules
2741
+ */
2742
+ swap?: Metadata.Swap;
1525
2743
  /**
1526
2744
  * ID of the Telegram channel.
1527
2745
  */
@@ -1534,6 +2752,11 @@ export declare namespace RuleCreateParams {
1534
2752
  * Flag indicating if all contracts are tracked.
1535
2753
  */
1536
2754
  trackAllContracts?: boolean | null;
2755
+ /**
2756
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2757
+ * completed once the progress is 100%.
2758
+ */
2759
+ trackProgress?: boolean | null;
1537
2760
  /**
1538
2761
  * URL of the associated Twitter account.
1539
2762
  */
@@ -1569,7 +2792,15 @@ export declare namespace RuleCreateParams {
1569
2792
  /**
1570
2793
  * Type of wallet associated with the rule.
1571
2794
  */
1572
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
2795
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
2796
+ /**
2797
+ * ID of the Youtube channel.
2798
+ */
2799
+ youtubeChannelId?: string | null;
2800
+ /**
2801
+ * ID of the Youtube video.
2802
+ */
2803
+ youtubeVideoId?: string | null;
1573
2804
  }
1574
2805
  namespace Metadata {
1575
2806
  interface Collection {
@@ -1584,7 +2815,7 @@ export declare namespace RuleCreateParams {
1584
2815
  /**
1585
2816
  * Blockchain network of the collection.
1586
2817
  */
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';
2818
+ 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
2819
  }
1589
2820
  /**
1590
2821
  * Object containing details for the call-to-action.
@@ -1623,6 +2854,10 @@ export declare namespace RuleCreateParams {
1623
2854
  * Array of emojis used in the channel.
1624
2855
  */
1625
2856
  emojis?: Array<Channel.Emoji>;
2857
+ /**
2858
+ * Phrase of text to be present in the discord message
2859
+ */
2860
+ text?: string;
1626
2861
  }
1627
2862
  namespace Channel {
1628
2863
  interface Emoji {
@@ -1645,6 +2880,49 @@ export declare namespace RuleCreateParams {
1645
2880
  */
1646
2881
  id: string;
1647
2882
  }
2883
+ /**
2884
+ * Liquidity pool details.
2885
+ */
2886
+ interface Liquidity {
2887
+ /**
2888
+ * Calculation type of the liquidity pool.
2889
+ */
2890
+ calculationType?: 'fixed' | 'custom';
2891
+ /**
2892
+ * Custom function to calculate the the reward amount based on the liquidity
2893
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2894
+ * USD.
2895
+ */
2896
+ customFunction?: string;
2897
+ /**
2898
+ * Liquidity provided per day in USD
2899
+ */
2900
+ liquidityPerDay?: number;
2901
+ /**
2902
+ * Blockchain network of the liquidity pool.
2903
+ */
2904
+ 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';
2905
+ /**
2906
+ * Indicates if only in-range liquidity is rewarded.
2907
+ */
2908
+ onlyRewardInRangeLiquidity?: boolean;
2909
+ /**
2910
+ * Array of liquidity pools associated with the rule.
2911
+ */
2912
+ pools?: Array<Liquidity.Pool>;
2913
+ /**
2914
+ * Protocol of the liquidity pool.
2915
+ */
2916
+ protocol?: string;
2917
+ }
2918
+ namespace Liquidity {
2919
+ interface Pool {
2920
+ /**
2921
+ * Unique identifier of the liquidity pool.
2922
+ */
2923
+ id: string;
2924
+ }
2925
+ }
1648
2926
  interface Range {
1649
2927
  /**
1650
2928
  * Reward amount for this range.
@@ -1658,6 +2936,14 @@ export declare namespace RuleCreateParams {
1658
2936
  * Start value of the range.
1659
2937
  */
1660
2938
  startRange: number;
2939
+ /**
2940
+ * ID of the loyalty badge for this range.
2941
+ */
2942
+ loyaltyBadgeId?: string;
2943
+ /**
2944
+ * Amount of the loyalty multiplier for this range.
2945
+ */
2946
+ loyaltyMultiplierAmount?: number;
1661
2947
  }
1662
2948
  /**
1663
2949
  * Object defining referral requirements.
@@ -1701,18 +2987,14 @@ export declare namespace RuleCreateParams {
1701
2987
  * Object containing details of the associated smart contract.
1702
2988
  */
1703
2989
  interface SmartContract {
1704
- /**
1705
- * ABI of the smart contract.
1706
- */
1707
- abi?: string | null;
1708
2990
  /**
1709
2991
  * Mapping of addresses for the smart contract.
1710
2992
  */
1711
2993
  addressMapping?: string | null;
1712
2994
  /**
1713
- * Array of bonus details applied to the rule.
2995
+ * Object containing details of the amount multiplier from the event.
1714
2996
  */
1715
- bonus?: Array<SmartContract.Bonus> | null;
2997
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1716
2998
  /**
1717
2999
  * ID of the smart contract.
1718
3000
  */
@@ -1721,58 +3003,28 @@ export declare namespace RuleCreateParams {
1721
3003
  * Criteria to evaluate the smart contract event.
1722
3004
  */
1723
3005
  criteria?: 'everyEvent' | 'byParameter' | null;
1724
- /**
1725
- * Time range applied to the rule.
1726
- */
1727
- customRange?: SmartContract.CustomRange | null;
1728
3006
  /**
1729
3007
  * Event emitted by the smart contract.
1730
3008
  */
1731
3009
  event?: string | null;
1732
- /**
1733
- * Maximum value allowed for the parameter.
1734
- */
1735
- max?: number | null;
1736
3010
  /**
1737
3011
  * Array of parameters for the smart contract.
1738
3012
  */
1739
3013
  params?: Array<SmartContract.Param> | null;
1740
3014
  /**
1741
- * Flag indicating if a bonus is applied.
3015
+ * Type of the smart contract interaction.
1742
3016
  */
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.
1750
- */
1751
- withMax?: boolean | null;
3017
+ type?: 'function' | 'event' | null;
1752
3018
  }
1753
3019
  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
3020
  /**
1765
- * Time range applied to the rule.
3021
+ * Object containing details of the amount multiplier from the event.
1766
3022
  */
1767
- interface CustomRange {
1768
- /**
1769
- * End time of the custom range.
1770
- */
1771
- endsAt?: string | null;
3023
+ interface AmountMultiplier {
1772
3024
  /**
1773
- * Start time of the custom range.
3025
+ * Mapping of the value for the smart contract.
1774
3026
  */
1775
- startsAt?: string | null;
3027
+ valueMapping?: string | null;
1776
3028
  }
1777
3029
  interface Param {
1778
3030
  /**
@@ -1809,6 +3061,24 @@ export declare namespace RuleCreateParams {
1809
3061
  */
1810
3062
  streakMilestone: number;
1811
3063
  }
3064
+ /**
3065
+ * Metadata for swap loyalty rules
3066
+ */
3067
+ interface Swap {
3068
+ provider?: 'any' | 'relay' | 'lifi';
3069
+ relayReferrerId?: string;
3070
+ requireCrossChainSwap?: boolean;
3071
+ swappedToChain?: 'any' | number | string;
3072
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3073
+ tokenMode?: 'any' | 'specific';
3074
+ trackTokenAmount?: boolean;
3075
+ }
3076
+ namespace Swap {
3077
+ interface SwappedToToken {
3078
+ address: string;
3079
+ chainId: string;
3080
+ }
3081
+ }
1812
3082
  }
1813
3083
  interface Collection {
1814
3084
  /**
@@ -1818,7 +3088,11 @@ export declare namespace RuleCreateParams {
1818
3088
  /**
1819
3089
  * Blockchain network for the collection
1820
3090
  */
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';
3091
+ 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';
3092
+ /**
3093
+ * Symbol of the collection.
3094
+ */
3095
+ symbol?: string;
1822
3096
  }
1823
3097
  }
1824
3098
  export interface RuleUpdateParams {
@@ -1826,34 +3100,14 @@ export interface RuleUpdateParams {
1826
3100
  * Reward amount for the loyalty rule
1827
3101
  */
1828
3102
  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
3103
  /**
1838
3104
  * End time for the loyalty rule
1839
3105
  */
1840
3106
  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
3107
  /**
1850
3108
  * Name of the loyalty rule
1851
3109
  */
1852
3110
  name: string;
1853
- /**
1854
- * Start time for the loyalty rule
1855
- */
1856
- startTime: string | null;
1857
3111
  /**
1858
3112
  * Blockchain address of the associated collection
1859
3113
  */
@@ -1874,6 +3128,22 @@ export interface RuleUpdateParams {
1874
3128
  * Optional description of the loyalty rule
1875
3129
  */
1876
3130
  description?: string;
3131
+ /**
3132
+ * Effective end time of the rule
3133
+ */
3134
+ effectiveEndTime?: string | null;
3135
+ /**
3136
+ * Effective start time of the rule
3137
+ */
3138
+ effectiveStartTime?: string | null;
3139
+ /**
3140
+ * ID of the external integration
3141
+ */
3142
+ externalIntegrationId?: string | null;
3143
+ /**
3144
+ * Frequency of the rule execution
3145
+ */
3146
+ frequency?: 'none' | 'once' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1877
3147
  /**
1878
3148
  * Whether to hide this rule in the user interface
1879
3149
  */
@@ -1881,7 +3151,7 @@ export interface RuleUpdateParams {
1881
3151
  /**
1882
3152
  * Time interval for recurring rule execution
1883
3153
  */
1884
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | null;
3154
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1885
3155
  /**
1886
3156
  * Whether this rule is required for participation
1887
3157
  */
@@ -1890,10 +3160,28 @@ export interface RuleUpdateParams {
1890
3160
  * ID of the rule group section to associate with the rule
1891
3161
  */
1892
3162
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3163
+ /**
3164
+ * The interval for the max amount. Available for the smart contract and external
3165
+ * rules.
3166
+ */
3167
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3168
+ /**
3169
+ * The maximum amount of points a user can earn per interval. Available for the
3170
+ * smart contract and external rules.
3171
+ */
3172
+ maxAmountPerInterval?: number | null;
3173
+ /**
3174
+ * URL of the media to be displayed
3175
+ */
3176
+ mediaUrl?: string | null;
3177
+ /**
3178
+ * Additional metadata for the loyalty rule
3179
+ */
3180
+ metadata?: RuleUpdateParams.Metadata;
1893
3181
  /**
1894
3182
  * Blockchain network where the rule will apply
1895
3183
  */
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';
3184
+ 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
3185
  /**
1898
3186
  * ID for associated OAuth credentials
1899
3187
  */
@@ -1901,17 +3189,43 @@ export interface RuleUpdateParams {
1901
3189
  /**
1902
3190
  * Type of reward issued by this rule
1903
3191
  */
1904
- rewardType?: 'points' | 'multiplier';
3192
+ rewardType?: 'points' | 'multiplier' | 'badge';
3193
+ /**
3194
+ * URL of the Shopify store
3195
+ */
3196
+ shopifyStoreUrl?: string | null;
1905
3197
  /**
1906
- * Optional subscription identifier for the rule
3198
+ * Start time for the loyalty rule
3199
+ */
3200
+ startTime?: string | null;
3201
+ /**
3202
+ * Optional subscription id for the rule
1907
3203
  */
1908
- subscriptionIdentifier?: string | null;
3204
+ subscriptionId?: string | null;
1909
3205
  }
1910
3206
  export declare namespace RuleUpdateParams {
3207
+ interface Collection {
3208
+ /**
3209
+ * Blockchain address of the collection
3210
+ */
3211
+ address: string;
3212
+ /**
3213
+ * Blockchain network for the collection
3214
+ */
3215
+ 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';
3216
+ /**
3217
+ * Symbol of the collection.
3218
+ */
3219
+ symbol?: string;
3220
+ }
1911
3221
  /**
1912
3222
  * Additional metadata for the loyalty rule
1913
3223
  */
1914
3224
  interface Metadata {
3225
+ /**
3226
+ * Number of tokens per batch.
3227
+ */
3228
+ batchSize?: number | null;
1915
3229
  /**
1916
3230
  * Text displayed on the action button.
1917
3231
  */
@@ -1936,6 +3250,12 @@ export declare namespace RuleUpdateParams {
1936
3250
  * Array of collections associated with the rule.
1937
3251
  */
1938
3252
  collection?: Array<Metadata.Collection>;
3253
+ /**
3254
+ * Conditions for completing the profile.
3255
+ */
3256
+ completeProfileConditions?: {
3257
+ [key: string]: boolean;
3258
+ } | null;
1939
3259
  /**
1940
3260
  * Object containing details for the call-to-action.
1941
3261
  */
@@ -1944,6 +3264,10 @@ export declare namespace RuleUpdateParams {
1944
3264
  * API key for custom rewards integration.
1945
3265
  */
1946
3266
  customRewardsApiKey?: string;
3267
+ /**
3268
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3269
+ */
3270
+ directRpc?: boolean;
1947
3271
  /**
1948
3272
  * Array of Discord servers, channels, and roles to join.
1949
3273
  */
@@ -1964,10 +3288,18 @@ export declare namespace RuleUpdateParams {
1964
3288
  * Flag indicating whether the verified multiplier is enabled.
1965
3289
  */
1966
3290
  enableVerifiedMultiplier?: boolean;
3291
+ /**
3292
+ * Fill source of the order for the token sale
3293
+ */
3294
+ fillSource?: string;
1967
3295
  /**
1968
3296
  * Percentage reward given to a user for their first referral.
1969
3297
  */
1970
3298
  firstReferralReward?: number | null;
3299
+ /**
3300
+ * Flag indicating whether the fill source is included.
3301
+ */
3302
+ hasFillSource?: boolean;
1971
3303
  /**
1972
3304
  * Indicates if the item has never been sold.
1973
3305
  */
@@ -1988,10 +3320,18 @@ export declare namespace RuleUpdateParams {
1988
3320
  * URL of the image associated with the rule.
1989
3321
  */
1990
3322
  imageUrl?: string | null;
3323
+ /**
3324
+ * If enabled, the first transaction done on the platform will complete this rule
3325
+ */
3326
+ isCheckInOnEveryTxn?: boolean;
1991
3327
  /**
1992
3328
  * Indicates if the multiplier has been applied to rewards.
1993
3329
  */
1994
3330
  isMultiplierApplied?: boolean;
3331
+ /**
3332
+ * Flag indicating if the rule is restricted to new users.
3333
+ */
3334
+ isRestrictedToNewUsers?: boolean;
1995
3335
  /**
1996
3336
  * Flag indicating if rewards are applied retroactively.
1997
3337
  */
@@ -2004,6 +3344,10 @@ export declare namespace RuleUpdateParams {
2004
3344
  * Optional link associated with the metadata.
2005
3345
  */
2006
3346
  link?: string | null;
3347
+ /**
3348
+ * Liquidity pool details.
3349
+ */
3350
+ liquidity?: Metadata.Liquidity;
2007
3351
  /**
2008
3352
  * Maximum quantity constraint for token holding.
2009
3353
  */
@@ -2028,10 +3372,30 @@ export declare namespace RuleUpdateParams {
2028
3372
  * Flag indicating whether to include only non-listed items.
2029
3373
  */
2030
3374
  onlyNonListed?: boolean;
3375
+ /**
3376
+ * Indicates if only existing users are rewarded.
3377
+ */
3378
+ onlyRewardExistingUser?: boolean;
3379
+ /**
3380
+ * give points for only one token ownership per contract
3381
+ */
3382
+ onlyRewardSingleTokenOwnership?: boolean | null;
2031
3383
  /**
2032
3384
  * Promotional code associated with the rule.
2033
3385
  */
2034
3386
  promoCode?: string;
3387
+ /**
3388
+ * URL of the CSV file containing promo codes.
3389
+ */
3390
+ promoCodeCsvUrl?: string;
3391
+ /**
3392
+ * Numbers of the promotional code to be generated.
3393
+ */
3394
+ promoCodeLength?: number | null;
3395
+ /**
3396
+ * Type of the promotional code.
3397
+ */
3398
+ promoCodeType?: 'code' | 'csv' | 'generate';
2035
3399
  /**
2036
3400
  * Array defining ranges and corresponding rewards.
2037
3401
  */
@@ -2044,10 +3408,31 @@ export declare namespace RuleUpdateParams {
2044
3408
  * Lump sum reward given to a referrer.
2045
3409
  */
2046
3410
  referrerReward?: number | null;
3411
+ /**
3412
+ * Loyalty currency ID of the referrer reward.
3413
+ */
3414
+ referrerRewardLoyaltyCurrencyId?: string | null;
3415
+ /**
3416
+ * Flag indicating if the post link is required.
3417
+ */
3418
+ requirePostLink?: boolean | null;
3419
+ /**
3420
+ * Flag indicating if the rule can also reward badges per range.
3421
+ */
3422
+ rewardBadgePerRange?: boolean;
3423
+ /**
3424
+ * Flag indicating if the reward is rewarded by batch.
3425
+ */
3426
+ rewardByBatch?: boolean | null;
2047
3427
  /**
2048
3428
  * Flag indicating if rewards are given per impression.
2049
3429
  */
2050
3430
  rewardPerImpression?: boolean | null;
3431
+ /**
3432
+ * Flag indicating if the rule should reward based on value of traded tokens
3433
+ * instead of count.
3434
+ */
3435
+ rewardPerValue?: boolean;
2051
3436
  /**
2052
3437
  * Currency associated with sales.
2053
3438
  */
@@ -2056,6 +3441,10 @@ export declare namespace RuleUpdateParams {
2056
3441
  * Percentage reward given for a second-level referral.
2057
3442
  */
2058
3443
  secondReferralReward?: number | null;
3444
+ /**
3445
+ * Flag indicating if the multiplier is skipped.
3446
+ */
3447
+ skipMultiplier?: boolean | null;
2059
3448
  /**
2060
3449
  * Object containing details of the associated smart contract.
2061
3450
  */
@@ -2067,7 +3456,7 @@ export declare namespace RuleUpdateParams {
2067
3456
  /**
2068
3457
  * Social media platform associated with the rule.
2069
3458
  */
2070
- socialPlatform?: 'Twitch' | 'TikTok' | 'X(Twitter)' | 'Instagram' | 'EpicGames' | 'YouTube' | 'Discord' | 'Custom' | null;
3459
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2071
3460
  /**
2072
3461
  * URL of the social platform's logo.
2073
3462
  */
@@ -2076,10 +3465,18 @@ export declare namespace RuleUpdateParams {
2076
3465
  * Name of the social platform.
2077
3466
  */
2078
3467
  socialPlatformName?: string | null;
3468
+ /**
3469
+ * ID of the Steam app.
3470
+ */
3471
+ steamAppId?: string | null;
2079
3472
  /**
2080
3473
  * Array of streak milestones and corresponding rewards.
2081
3474
  */
2082
3475
  streakArray?: Array<Metadata.StreakArray> | null;
3476
+ /**
3477
+ * Metadata for swap loyalty rules
3478
+ */
3479
+ swap?: Metadata.Swap;
2083
3480
  /**
2084
3481
  * ID of the Telegram channel.
2085
3482
  */
@@ -2092,6 +3489,11 @@ export declare namespace RuleUpdateParams {
2092
3489
  * Flag indicating if all contracts are tracked.
2093
3490
  */
2094
3491
  trackAllContracts?: boolean | null;
3492
+ /**
3493
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3494
+ * completed once the progress is 100%.
3495
+ */
3496
+ trackProgress?: boolean | null;
2095
3497
  /**
2096
3498
  * URL of the associated Twitter account.
2097
3499
  */
@@ -2127,7 +3529,15 @@ export declare namespace RuleUpdateParams {
2127
3529
  /**
2128
3530
  * Type of wallet associated with the rule.
2129
3531
  */
2130
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
3532
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | null;
3533
+ /**
3534
+ * ID of the Youtube channel.
3535
+ */
3536
+ youtubeChannelId?: string | null;
3537
+ /**
3538
+ * ID of the Youtube video.
3539
+ */
3540
+ youtubeVideoId?: string | null;
2131
3541
  }
2132
3542
  namespace Metadata {
2133
3543
  interface Collection {
@@ -2142,7 +3552,7 @@ export declare namespace RuleUpdateParams {
2142
3552
  /**
2143
3553
  * Blockchain network of the collection.
2144
3554
  */
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';
3555
+ 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
3556
  }
2147
3557
  /**
2148
3558
  * Object containing details for the call-to-action.
@@ -2181,6 +3591,10 @@ export declare namespace RuleUpdateParams {
2181
3591
  * Array of emojis used in the channel.
2182
3592
  */
2183
3593
  emojis?: Array<Channel.Emoji>;
3594
+ /**
3595
+ * Phrase of text to be present in the discord message
3596
+ */
3597
+ text?: string;
2184
3598
  }
2185
3599
  namespace Channel {
2186
3600
  interface Emoji {
@@ -2203,6 +3617,49 @@ export declare namespace RuleUpdateParams {
2203
3617
  */
2204
3618
  id: string;
2205
3619
  }
3620
+ /**
3621
+ * Liquidity pool details.
3622
+ */
3623
+ interface Liquidity {
3624
+ /**
3625
+ * Calculation type of the liquidity pool.
3626
+ */
3627
+ calculationType?: 'fixed' | 'custom';
3628
+ /**
3629
+ * Custom function to calculate the the reward amount based on the liquidity
3630
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3631
+ * USD.
3632
+ */
3633
+ customFunction?: string;
3634
+ /**
3635
+ * Liquidity provided per day in USD
3636
+ */
3637
+ liquidityPerDay?: number;
3638
+ /**
3639
+ * Blockchain network of the liquidity pool.
3640
+ */
3641
+ 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';
3642
+ /**
3643
+ * Indicates if only in-range liquidity is rewarded.
3644
+ */
3645
+ onlyRewardInRangeLiquidity?: boolean;
3646
+ /**
3647
+ * Array of liquidity pools associated with the rule.
3648
+ */
3649
+ pools?: Array<Liquidity.Pool>;
3650
+ /**
3651
+ * Protocol of the liquidity pool.
3652
+ */
3653
+ protocol?: string;
3654
+ }
3655
+ namespace Liquidity {
3656
+ interface Pool {
3657
+ /**
3658
+ * Unique identifier of the liquidity pool.
3659
+ */
3660
+ id: string;
3661
+ }
3662
+ }
2206
3663
  interface Range {
2207
3664
  /**
2208
3665
  * Reward amount for this range.
@@ -2216,6 +3673,14 @@ export declare namespace RuleUpdateParams {
2216
3673
  * Start value of the range.
2217
3674
  */
2218
3675
  startRange: number;
3676
+ /**
3677
+ * ID of the loyalty badge for this range.
3678
+ */
3679
+ loyaltyBadgeId?: string;
3680
+ /**
3681
+ * Amount of the loyalty multiplier for this range.
3682
+ */
3683
+ loyaltyMultiplierAmount?: number;
2219
3684
  }
2220
3685
  /**
2221
3686
  * Object defining referral requirements.
@@ -2259,18 +3724,14 @@ export declare namespace RuleUpdateParams {
2259
3724
  * Object containing details of the associated smart contract.
2260
3725
  */
2261
3726
  interface SmartContract {
2262
- /**
2263
- * ABI of the smart contract.
2264
- */
2265
- abi?: string | null;
2266
3727
  /**
2267
3728
  * Mapping of addresses for the smart contract.
2268
3729
  */
2269
3730
  addressMapping?: string | null;
2270
3731
  /**
2271
- * Array of bonus details applied to the rule.
3732
+ * Object containing details of the amount multiplier from the event.
2272
3733
  */
2273
- bonus?: Array<SmartContract.Bonus> | null;
3734
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2274
3735
  /**
2275
3736
  * ID of the smart contract.
2276
3737
  */
@@ -2279,58 +3740,28 @@ export declare namespace RuleUpdateParams {
2279
3740
  * Criteria to evaluate the smart contract event.
2280
3741
  */
2281
3742
  criteria?: 'everyEvent' | 'byParameter' | null;
2282
- /**
2283
- * Time range applied to the rule.
2284
- */
2285
- customRange?: SmartContract.CustomRange | null;
2286
3743
  /**
2287
3744
  * Event emitted by the smart contract.
2288
3745
  */
2289
3746
  event?: string | null;
2290
- /**
2291
- * Maximum value allowed for the parameter.
2292
- */
2293
- max?: number | null;
2294
3747
  /**
2295
3748
  * Array of parameters for the smart contract.
2296
3749
  */
2297
3750
  params?: Array<SmartContract.Param> | null;
2298
3751
  /**
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.
3752
+ * Type of the smart contract interaction.
2308
3753
  */
2309
- withMax?: boolean | null;
3754
+ type?: 'function' | 'event' | null;
2310
3755
  }
2311
3756
  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
3757
  /**
2323
- * Time range applied to the rule.
3758
+ * Object containing details of the amount multiplier from the event.
2324
3759
  */
2325
- interface CustomRange {
2326
- /**
2327
- * End time of the custom range.
2328
- */
2329
- endsAt?: string | null;
3760
+ interface AmountMultiplier {
2330
3761
  /**
2331
- * Start time of the custom range.
3762
+ * Mapping of the value for the smart contract.
2332
3763
  */
2333
- startsAt?: string | null;
3764
+ valueMapping?: string | null;
2334
3765
  }
2335
3766
  interface Param {
2336
3767
  /**
@@ -2367,27 +3798,60 @@ export declare namespace RuleUpdateParams {
2367
3798
  */
2368
3799
  streakMilestone: number;
2369
3800
  }
2370
- }
2371
- interface Collection {
2372
- /**
2373
- * Blockchain address of the collection
2374
- */
2375
- address: string;
2376
3801
  /**
2377
- * Blockchain network for the collection
3802
+ * Metadata for swap loyalty rules
2378
3803
  */
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';
3804
+ interface Swap {
3805
+ provider?: 'any' | 'relay' | 'lifi';
3806
+ relayReferrerId?: string;
3807
+ requireCrossChainSwap?: boolean;
3808
+ swappedToChain?: 'any' | number | string;
3809
+ swappedToTokens?: Array<Swap.SwappedToToken>;
3810
+ tokenMode?: 'any' | 'specific';
3811
+ trackTokenAmount?: boolean;
3812
+ }
3813
+ namespace Swap {
3814
+ interface SwappedToToken {
3815
+ address: string;
3816
+ chainId: string;
3817
+ }
3818
+ }
2380
3819
  }
2381
3820
  }
2382
3821
  export interface RuleListParams {
3822
+ /**
3823
+ * IDs of the users to filter results by
3824
+ */
3825
+ allotedToUserId?: string | Array<string>;
3826
+ /**
3827
+ * ID of the user group to filter results by
3828
+ */
3829
+ allotedUserGroupId?: string;
2383
3830
  /**
2384
3831
  * Address of the collection to filter by
2385
3832
  */
2386
3833
  collectionAddress?: string;
2387
3834
  /**
2388
- * Maximum number of records to return (max 1000)
3835
+ * If true this will only return loyalty rule chains
3836
+ */
3837
+ includeLoyaltyRuleChains?: 'true' | 'false';
3838
+ /**
3839
+ * If true this will only return active rules, the rules for which the startTime is
3840
+ * in the past and the endTime is in the future
3841
+ */
3842
+ isActive?: 'true' | 'false';
3843
+ /**
3844
+ * Maximum number of records to return (max 100)
2389
3845
  */
2390
3846
  limit?: number;
3847
+ /**
3848
+ * ID of the loyalty rule group to filter results
3849
+ */
3850
+ loyaltyRuleGroupId?: string;
3851
+ /**
3852
+ * The IDs of the loyalty rule
3853
+ */
3854
+ loyaltyRuleId?: string | Array<string>;
2391
3855
  /**
2392
3856
  * Unique identifier for the organization to filter by
2393
3857
  */
@@ -2401,11 +3865,34 @@ export interface RuleListParams {
2401
3865
  */
2402
3866
  websiteId?: string;
2403
3867
  }
3868
+ export interface RuleDeleteParams {
3869
+ /**
3870
+ * Whether to debit loyalty points
3871
+ */
3872
+ debitLoyaltyPoints?: string;
3873
+ }
2404
3874
  export interface RuleCompleteParams {
2405
3875
  /**
2406
- * Link to the comment made by user
3876
+ * Override amount for the reward (rounded to nearest whole number). This will
3877
+ * override the rule amount and reward the integer passed.
3878
+ */
3879
+ amount?: number | null;
3880
+ /**
3881
+ * Link to the post/comment made by user
3882
+ */
3883
+ contentUrl?: string;
3884
+ /**
3885
+ * Unique key to ensure idempotent requests.
3886
+ */
3887
+ idempotencyKey?: string;
3888
+ /**
3889
+ * ID of the choice selected by the user
3890
+ */
3891
+ loyaltyQuestionChoiceId?: string;
3892
+ /**
3893
+ * Value to compare with the range
2407
3894
  */
2408
- commentLink?: string;
3895
+ rangeValue?: number | null;
2409
3896
  /**
2410
3897
  * Unique identifier for the user
2411
3898
  */
@@ -2414,17 +3901,23 @@ export interface RuleCompleteParams {
2414
3901
  * Optional verification code for completing the loyalty rule
2415
3902
  */
2416
3903
  verificationCode?: string;
3904
+ /**
3905
+ * Flag indicating if only verification is required, this will not create a
3906
+ * transaction and reward the user.
3907
+ */
3908
+ verifyOnly?: string;
2417
3909
  /**
2418
3910
  * Wallet address of the user can only be used if userId is not provided
2419
3911
  */
2420
3912
  walletAddress?: string;
2421
3913
  }
2422
- export interface RuleStatusParams {
2423
- organizationId: string;
2424
- websiteId: string;
3914
+ export interface RuleGetStatusParams {
3915
+ organizationId?: string;
2425
3916
  userId?: string;
3917
+ walletAddress?: string;
3918
+ websiteId?: string;
2426
3919
  }
2427
3920
  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, };
3921
+ 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
3922
  }
2430
3923
  //# sourceMappingURL=rules.d.ts.map