@snagsolutions/sdk 0.1.0-alpha.14 → 0.1.0-alpha.140

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 (449) hide show
  1. package/CHANGELOG.md +1170 -0
  2. package/README.md +23 -27
  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 +28 -18
  9. package/core.js.map +1 -1
  10. package/core.mjs +29 -19
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +20 -11
  13. package/index.d.ts +20 -11
  14. package/index.d.ts.map +1 -1
  15. package/index.js +21 -11
  16. package/index.js.map +1 -1
  17. package/index.mjs +22 -12
  18. package/index.mjs.map +1 -1
  19. package/package.json +11 -33
  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 +64 -0
  25. package/resources/assets.d.ts.map +1 -0
  26. package/resources/assets.js +25 -0
  27. package/resources/assets.js.map +1 -0
  28. package/resources/assets.mjs +21 -0
  29. package/resources/assets.mjs.map +1 -0
  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 +11 -7
  81. package/resources/index.js.map +1 -1
  82. package/resources/index.mjs +7 -5
  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 +200 -0
  91. package/resources/loyalty/accounts.d.ts.map +1 -1
  92. package/resources/loyalty/accounts.js +28 -0
  93. package/resources/loyalty/accounts.js.map +1 -1
  94. package/resources/loyalty/accounts.mjs +28 -0
  95. package/resources/loyalty/accounts.mjs.map +1 -1
  96. package/resources/loyalty/badges.d.ts +471 -33
  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 +25 -0
  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 +76 -8
  121. package/resources/loyalty/multipliers.d.ts.map +1 -1
  122. package/resources/loyalty/multipliers.js +30 -1
  123. package/resources/loyalty/multipliers.js.map +1 -1
  124. package/resources/loyalty/multipliers.mjs +30 -1
  125. package/resources/loyalty/multipliers.mjs.map +1 -1
  126. package/resources/loyalty/{transaction-entries/questions-responses.d.ts → questions-responses.d.ts} +41 -2
  127. package/resources/loyalty/questions-responses.d.ts.map +1 -0
  128. package/resources/loyalty/{transaction-entries/questions-responses.js → questions-responses.js} +11 -2
  129. package/resources/loyalty/questions-responses.js.map +1 -0
  130. package/resources/loyalty/{transaction-entries/questions-responses.mjs → questions-responses.mjs} +11 -2
  131. package/resources/loyalty/questions-responses.mjs.map +1 -0
  132. package/resources/loyalty/{transaction-entries/questions.d.ts → questions.d.ts} +39 -4
  133. package/resources/loyalty/questions.d.ts.map +1 -0
  134. package/resources/loyalty/questions.js +58 -0
  135. package/resources/loyalty/questions.js.map +1 -0
  136. package/resources/loyalty/questions.mjs +54 -0
  137. package/resources/loyalty/questions.mjs.map +1 -0
  138. package/resources/loyalty/rule-edits.d.ts +2584 -10
  139. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  140. package/resources/loyalty/rule-edits.js +15 -1
  141. package/resources/loyalty/rule-edits.js.map +1 -1
  142. package/resources/loyalty/rule-edits.mjs +15 -1
  143. package/resources/loyalty/rule-edits.mjs.map +1 -1
  144. package/resources/loyalty/rule-groups.d.ts +762 -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 +1760 -230
  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/{transaction-entries/transaction-entries.js → transactions/transactions.js} +35 -25
  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/{assets/minting.d.ts → minting.d.ts} +14 -14
  187. package/resources/minting.d.ts.map +1 -0
  188. package/resources/{assets/minting.js → minting.js} +2 -2
  189. package/resources/minting.js.map +1 -0
  190. package/resources/{assets/minting.mjs → minting.mjs} +2 -2
  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.map +1 -0
  195. package/resources/{assets/referral → referral}/index.mjs +1 -1
  196. package/resources/referral/index.mjs.map +1 -0
  197. package/resources/referral/referral.d.ts +39 -0
  198. package/resources/referral/referral.d.ts.map +1 -0
  199. package/resources/{assets/referral → referral}/referral.js +12 -6
  200. package/resources/referral/referral.js.map +1 -0
  201. package/resources/referral/referral.mjs +25 -0
  202. package/resources/referral/referral.mjs.map +1 -0
  203. package/resources/referral/users.d.ts +84 -0
  204. package/resources/referral/users.d.ts.map +1 -0
  205. package/resources/{assets/referral → referral}/users.js +17 -3
  206. package/resources/referral/users.js.map +1 -0
  207. package/resources/referral/users.mjs +31 -0
  208. package/resources/referral/users.mjs.map +1 -0
  209. package/resources/referral.d.ts +2 -0
  210. package/resources/referral.d.ts.map +1 -0
  211. package/resources/referral.js +19 -0
  212. package/resources/referral.js.map +1 -0
  213. package/resources/referral.mjs +3 -0
  214. package/resources/referral.mjs.map +1 -0
  215. package/resources/users/index.d.ts +2 -3
  216. package/resources/users/index.d.ts.map +1 -1
  217. package/resources/users/index.js +1 -3
  218. package/resources/users/index.js.map +1 -1
  219. package/resources/users/index.mjs +1 -2
  220. package/resources/users/index.mjs.map +1 -1
  221. package/resources/users/metadatas.d.ts +43 -7
  222. package/resources/users/metadatas.d.ts.map +1 -1
  223. package/resources/users/metadatas.js +2 -2
  224. package/resources/users/metadatas.js.map +1 -1
  225. package/resources/users/metadatas.mjs +2 -2
  226. package/resources/users/metadatas.mjs.map +1 -1
  227. package/resources/users/users.d.ts +414 -6
  228. package/resources/users/users.d.ts.map +1 -1
  229. package/resources/users/users.js +77 -4
  230. package/resources/users/users.js.map +1 -1
  231. package/resources/users/users.mjs +77 -4
  232. package/resources/users/users.mjs.map +1 -1
  233. package/resources/users.d.ts +2 -0
  234. package/resources/users.d.ts.map +1 -0
  235. package/resources/users.js +19 -0
  236. package/resources/users.js.map +1 -0
  237. package/resources/users.mjs +3 -0
  238. package/resources/users.mjs.map +1 -0
  239. package/resources/websites/index.d.ts +4 -0
  240. package/resources/websites/index.d.ts.map +1 -0
  241. package/resources/websites/index.js +11 -0
  242. package/resources/websites/index.js.map +1 -0
  243. package/resources/{assets → websites}/index.mjs +1 -4
  244. package/resources/websites/index.mjs.map +1 -0
  245. package/resources/websites/website-collections.d.ts +94 -0
  246. package/resources/websites/website-collections.d.ts.map +1 -0
  247. package/resources/{assets → websites}/website-collections.js +23 -2
  248. package/resources/websites/website-collections.js.map +1 -0
  249. package/resources/websites/website-collections.mjs +42 -0
  250. package/resources/websites/website-collections.mjs.map +1 -0
  251. package/resources/websites/website-user-roles.d.ts +96 -0
  252. package/resources/websites/website-user-roles.d.ts.map +1 -0
  253. package/resources/{assets → websites}/website-user-roles.js +30 -7
  254. package/resources/websites/website-user-roles.js.map +1 -0
  255. package/resources/websites/website-user-roles.mjs +41 -0
  256. package/resources/websites/website-user-roles.mjs.map +1 -0
  257. package/resources/websites/websites.d.ts +223 -0
  258. package/resources/websites/websites.d.ts.map +1 -0
  259. package/resources/{assets/assets.js → websites/websites.js} +21 -27
  260. package/resources/websites/websites.js.map +1 -0
  261. package/resources/websites/websites.mjs +36 -0
  262. package/resources/websites/websites.mjs.map +1 -0
  263. package/resources/websites.d.ts +1 -202
  264. package/resources/websites.d.ts.map +1 -1
  265. package/resources/websites.js +15 -18
  266. package/resources/websites.js.map +1 -1
  267. package/resources/websites.mjs +1 -16
  268. package/resources/websites.mjs.map +1 -1
  269. package/resources.d.ts +2 -0
  270. package/resources.d.ts.map +1 -0
  271. package/resources.js +18 -0
  272. package/resources.js.map +1 -0
  273. package/resources.mjs +2 -0
  274. package/resources.mjs.map +1 -0
  275. package/src/_shims/index.d.ts +2 -0
  276. package/src/_shims/index.js +5 -1
  277. package/src/_shims/index.mjs +5 -1
  278. package/src/core.ts +47 -19
  279. package/src/index.ts +94 -23
  280. package/src/resource.ts +1 -1
  281. package/src/resources/assets.ts +93 -0
  282. package/src/resources/auctions/auctions.ts +436 -0
  283. package/src/resources/auctions/index.ts +18 -0
  284. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  285. package/src/resources/auctions/website-user-attributes/values.ts +165 -0
  286. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
  287. package/src/resources/auctions/website-user-attributes.ts +3 -0
  288. package/src/resources/auctions.ts +3 -0
  289. package/src/resources/auth.ts +74 -0
  290. package/src/resources/index.ts +30 -9
  291. package/src/resources/loyalty/account-streaks.ts +110 -0
  292. package/src/resources/loyalty/accounts.ts +258 -1
  293. package/src/resources/loyalty/badges.ts +567 -39
  294. package/src/resources/loyalty/currencies.ts +25 -0
  295. package/src/resources/loyalty/index.ts +53 -14
  296. package/src/resources/loyalty/loyalty.ts +163 -69
  297. package/src/resources/loyalty/multipliers.ts +87 -12
  298. package/src/resources/loyalty/{transaction-entries/questions-responses.ts → questions-responses.ts} +48 -3
  299. package/src/resources/loyalty/{transaction-entries/questions.ts → questions.ts} +40 -4
  300. package/src/resources/loyalty/rule-edits.ts +3628 -61
  301. package/src/resources/loyalty/rule-groups.ts +1184 -0
  302. package/src/resources/loyalty/rules.ts +2963 -522
  303. package/src/resources/loyalty/transactions/index.ts +18 -0
  304. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  305. package/src/resources/loyalty/transactions/transactions.ts +677 -0
  306. package/src/resources/loyalty/transactions.ts +3 -0
  307. package/src/resources/loyalty.ts +3 -0
  308. package/src/resources/{assets/minting.ts → minting.ts} +49 -31
  309. package/src/resources/referral/index.ts +10 -0
  310. package/src/resources/referral/referral.ts +72 -0
  311. package/src/resources/referral/users.ts +124 -0
  312. package/src/resources/referral.ts +3 -0
  313. package/src/resources/users/index.ts +17 -4
  314. package/src/resources/users/metadatas.ts +77 -15
  315. package/src/resources/users/users.ts +579 -9
  316. package/src/resources/users.ts +3 -0
  317. package/src/resources/websites/index.ts +22 -0
  318. package/src/resources/{assets → websites}/website-collections.ts +66 -30
  319. package/src/resources/{assets → websites}/website-user-roles.ts +63 -40
  320. package/src/resources/websites/websites.ts +311 -0
  321. package/src/resources/websites.ts +1 -257
  322. package/src/resources.ts +1 -0
  323. package/src/version.ts +1 -1
  324. package/version.d.ts +1 -1
  325. package/version.d.ts.map +1 -1
  326. package/version.js +1 -1
  327. package/version.js.map +1 -1
  328. package/version.mjs +1 -1
  329. package/version.mjs.map +1 -1
  330. package/resources/assets/assets.d.ts +0 -153
  331. package/resources/assets/assets.d.ts.map +0 -1
  332. package/resources/assets/assets.js.map +0 -1
  333. package/resources/assets/assets.mjs +0 -42
  334. package/resources/assets/assets.mjs.map +0 -1
  335. package/resources/assets/index.d.ts +0 -7
  336. package/resources/assets/index.d.ts.map +0 -1
  337. package/resources/assets/index.js +0 -17
  338. package/resources/assets/index.js.map +0 -1
  339. package/resources/assets/index.mjs.map +0 -1
  340. package/resources/assets/minting.d.ts.map +0 -1
  341. package/resources/assets/minting.js.map +0 -1
  342. package/resources/assets/minting.mjs.map +0 -1
  343. package/resources/assets/referral/index.d.ts +0 -3
  344. package/resources/assets/referral/index.d.ts.map +0 -1
  345. package/resources/assets/referral/index.js.map +0 -1
  346. package/resources/assets/referral/index.mjs.map +0 -1
  347. package/resources/assets/referral/referral.d.ts +0 -30
  348. package/resources/assets/referral/referral.d.ts.map +0 -1
  349. package/resources/assets/referral/referral.js.map +0 -1
  350. package/resources/assets/referral/referral.mjs +0 -19
  351. package/resources/assets/referral/referral.mjs.map +0 -1
  352. package/resources/assets/referral/users.d.ts +0 -57
  353. package/resources/assets/referral/users.d.ts.map +0 -1
  354. package/resources/assets/referral/users.js.map +0 -1
  355. package/resources/assets/referral/users.mjs +0 -17
  356. package/resources/assets/referral/users.mjs.map +0 -1
  357. package/resources/assets/users.d.ts +0 -285
  358. package/resources/assets/users.d.ts.map +0 -1
  359. package/resources/assets/users.js +0 -34
  360. package/resources/assets/users.js.map +0 -1
  361. package/resources/assets/users.mjs +0 -30
  362. package/resources/assets/users.mjs.map +0 -1
  363. package/resources/assets/website-collections.d.ts +0 -73
  364. package/resources/assets/website-collections.d.ts.map +0 -1
  365. package/resources/assets/website-collections.js.map +0 -1
  366. package/resources/assets/website-collections.mjs +0 -21
  367. package/resources/assets/website-collections.mjs.map +0 -1
  368. package/resources/assets/website-user-roles.d.ts +0 -73
  369. package/resources/assets/website-user-roles.d.ts.map +0 -1
  370. package/resources/assets/website-user-roles.js.map +0 -1
  371. package/resources/assets/website-user-roles.mjs +0 -18
  372. package/resources/assets/website-user-roles.mjs.map +0 -1
  373. package/resources/auction-bids.d.ts +0 -51
  374. package/resources/auction-bids.d.ts.map +0 -1
  375. package/resources/auction-bids.js +0 -20
  376. package/resources/auction-bids.js.map +0 -1
  377. package/resources/auction-bids.mjs +0 -16
  378. package/resources/auction-bids.mjs.map +0 -1
  379. package/resources/drip/drip.d.ts +0 -14
  380. package/resources/drip/drip.d.ts.map +0 -1
  381. package/resources/drip/drip.js +0 -43
  382. package/resources/drip/drip.js.map +0 -1
  383. package/resources/drip/drip.mjs +0 -16
  384. package/resources/drip/drip.mjs.map +0 -1
  385. package/resources/drip/index.d.ts +0 -4
  386. package/resources/drip/index.d.ts.map +0 -1
  387. package/resources/drip/index.js +0 -11
  388. package/resources/drip/index.js.map +0 -1
  389. package/resources/drip/index.mjs +0 -5
  390. package/resources/drip/index.mjs.map +0 -1
  391. package/resources/drip/quests.d.ts +0 -4
  392. package/resources/drip/quests.d.ts.map +0 -1
  393. package/resources/drip/quests.js +0 -9
  394. package/resources/drip/quests.js.map +0 -1
  395. package/resources/drip/quests.mjs +0 -5
  396. package/resources/drip/quests.mjs.map +0 -1
  397. package/resources/drip/status.d.ts +0 -4
  398. package/resources/drip/status.d.ts.map +0 -1
  399. package/resources/drip/status.js +0 -9
  400. package/resources/drip/status.js.map +0 -1
  401. package/resources/drip/status.mjs +0 -5
  402. package/resources/drip/status.mjs.map +0 -1
  403. package/resources/loyalty/transaction-entries/accounts.d.ts +0 -191
  404. package/resources/loyalty/transaction-entries/accounts.d.ts.map +0 -1
  405. package/resources/loyalty/transaction-entries/accounts.js +0 -24
  406. package/resources/loyalty/transaction-entries/accounts.js.map +0 -1
  407. package/resources/loyalty/transaction-entries/accounts.mjs +0 -20
  408. package/resources/loyalty/transaction-entries/accounts.mjs.map +0 -1
  409. package/resources/loyalty/transaction-entries/index.d.ts +0 -5
  410. package/resources/loyalty/transaction-entries/index.d.ts.map +0 -1
  411. package/resources/loyalty/transaction-entries/index.js +0 -13
  412. package/resources/loyalty/transaction-entries/index.js.map +0 -1
  413. package/resources/loyalty/transaction-entries/index.mjs +0 -6
  414. package/resources/loyalty/transaction-entries/index.mjs.map +0 -1
  415. package/resources/loyalty/transaction-entries/questions-responses.d.ts.map +0 -1
  416. package/resources/loyalty/transaction-entries/questions-responses.js.map +0 -1
  417. package/resources/loyalty/transaction-entries/questions-responses.mjs.map +0 -1
  418. package/resources/loyalty/transaction-entries/questions.d.ts.map +0 -1
  419. package/resources/loyalty/transaction-entries/questions.js +0 -27
  420. package/resources/loyalty/transaction-entries/questions.js.map +0 -1
  421. package/resources/loyalty/transaction-entries/questions.mjs +0 -23
  422. package/resources/loyalty/transaction-entries/questions.mjs.map +0 -1
  423. package/resources/loyalty/transaction-entries/transaction-entries.d.ts +0 -300
  424. package/resources/loyalty/transaction-entries/transaction-entries.d.ts.map +0 -1
  425. package/resources/loyalty/transaction-entries/transaction-entries.js.map +0 -1
  426. package/resources/loyalty/transaction-entries/transaction-entries.mjs +0 -39
  427. package/resources/loyalty/transaction-entries/transaction-entries.mjs.map +0 -1
  428. package/resources/users/wallets.d.ts +0 -4
  429. package/resources/users/wallets.d.ts.map +0 -1
  430. package/resources/users/wallets.js +0 -9
  431. package/resources/users/wallets.js.map +0 -1
  432. package/resources/users/wallets.mjs +0 -5
  433. package/resources/users/wallets.mjs.map +0 -1
  434. package/src/resources/assets/assets.ts +0 -294
  435. package/src/resources/assets/index.ts +0 -38
  436. package/src/resources/assets/referral/index.ts +0 -14
  437. package/src/resources/assets/referral/referral.ts +0 -74
  438. package/src/resources/assets/referral/users.ts +0 -99
  439. package/src/resources/assets/users.ts +0 -415
  440. package/src/resources/auction-bids.ts +0 -77
  441. package/src/resources/drip/drip.ts +0 -21
  442. package/src/resources/drip/index.ts +0 -5
  443. package/src/resources/drip/quests.ts +0 -5
  444. package/src/resources/drip/status.ts +0 -5
  445. package/src/resources/loyalty/transaction-entries/accounts.ts +0 -251
  446. package/src/resources/loyalty/transaction-entries/index.ts +0 -34
  447. package/src/resources/loyalty/transaction-entries/transaction-entries.ts +0 -525
  448. package/src/resources/users/wallets.ts +0 -5
  449. /package/resources/{assets/referral → referral}/index.js +0 -0
@@ -7,6 +7,24 @@ import * as Core from '../../core';
7
7
  export class Rules extends APIResource {
8
8
  /**
9
9
  * Create a new Loyalty Rule
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const rule = await client.loyalty.rules.create({
14
+ * amount: '10.5',
15
+ * effectiveEndTime: '2024-12-31T23:59:00Z',
16
+ * effectiveStartTime: '2024-01-01T00:00:00Z',
17
+ * endTime: '2024-12-31T23:59:00Z',
18
+ * frequency: 'daily',
19
+ * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
20
+ * metadata: {},
21
+ * name: 'Referral Bonus Rule',
22
+ * organizationId: '123e4567-e89b-12d3-a456-426614174001',
23
+ * startTime: '2024-01-01T00:00:00Z',
24
+ * type: 'Bonus',
25
+ * websiteId: '123e4567-e89b-12d3-a456-426614174002',
26
+ * });
27
+ * ```
10
28
  */
11
29
  create(body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse> {
12
30
  return this._client.post('/api/loyalty/rules', { body, ...options });
@@ -14,6 +32,18 @@ export class Rules extends APIResource {
14
32
 
15
33
  /**
16
34
  * Update an existing Loyalty Rule
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const rule = await client.loyalty.rules.update(
39
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
40
+ * {
41
+ * amount: '10.5',
42
+ * endTime: '2024-12-31T23:59:00Z',
43
+ * name: 'Daily Rewards Program',
44
+ * },
45
+ * );
46
+ * ```
17
47
  */
18
48
  update(
19
49
  id: string,
@@ -25,6 +55,11 @@ export class Rules extends APIResource {
25
55
 
26
56
  /**
27
57
  * Retrieve configured loyalty rules with optional pagination and filters
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const rules = await client.loyalty.rules.list();
62
+ * ```
28
63
  */
29
64
  list(query?: RuleListParams, options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
30
65
  list(options?: Core.RequestOptions): Core.APIPromise<RuleListResponse>;
@@ -40,9 +75,30 @@ export class Rules extends APIResource {
40
75
 
41
76
  /**
42
77
  * Delete an existing Loyalty Rule
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const rule = await client.loyalty.rules.delete(
82
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
83
+ * );
84
+ * ```
43
85
  */
44
- delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse> {
45
- return this._client.delete(`/api/loyalty/rules/${id}`, options);
86
+ delete(
87
+ id: string,
88
+ params?: RuleDeleteParams,
89
+ options?: Core.RequestOptions,
90
+ ): Core.APIPromise<RuleDeleteResponse>;
91
+ delete(id: string, options?: Core.RequestOptions): Core.APIPromise<RuleDeleteResponse>;
92
+ delete(
93
+ id: string,
94
+ params: RuleDeleteParams | Core.RequestOptions = {},
95
+ options?: Core.RequestOptions,
96
+ ): Core.APIPromise<RuleDeleteResponse> {
97
+ if (isRequestOptions(params)) {
98
+ return this.delete(id, {}, params);
99
+ }
100
+ const { debitLoyaltyPoints } = params;
101
+ return this._client.delete(`/api/loyalty/rules/${id}`, { query: { debitLoyaltyPoints }, ...options });
46
102
  }
47
103
 
48
104
  /**
@@ -50,7 +106,15 @@ export class Rules extends APIResource {
50
106
  * endpoint currently only supports following rule types code_entry, text_input,
51
107
  * link_click, discord_member, connect_wallet, check_in, external_rule,
52
108
  * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
53
- * drip_x_text_in_comment, drip_x_tweet, telegram_join
109
+ * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
110
+ * youtube_subscribers, youtube_comment, steam_wishlist
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const response = await client.loyalty.rules.complete(
115
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
116
+ * );
117
+ * ```
54
118
  */
55
119
  complete(
56
120
  id: string,
@@ -71,8 +135,24 @@ export class Rules extends APIResource {
71
135
 
72
136
  /**
73
137
  * This will return the processing status of quests for a specific user
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const response = await client.loyalty.rules.getStatus();
142
+ * ```
74
143
  */
75
- status(query: RuleStatusParams, options?: Core.RequestOptions): Core.APIPromise<RuleStatusResponse> {
144
+ getStatus(
145
+ query?: RuleGetStatusParams,
146
+ options?: Core.RequestOptions,
147
+ ): Core.APIPromise<RuleGetStatusResponse>;
148
+ getStatus(options?: Core.RequestOptions): Core.APIPromise<RuleGetStatusResponse>;
149
+ getStatus(
150
+ query: RuleGetStatusParams | Core.RequestOptions = {},
151
+ options?: Core.RequestOptions,
152
+ ): Core.APIPromise<RuleGetStatusResponse> {
153
+ if (isRequestOptions(query)) {
154
+ return this.getStatus({}, query);
155
+ }
76
156
  return this._client.get('/api/loyalty/rules/status', { query, ...options });
77
157
  }
78
158
  }
@@ -186,7 +266,19 @@ export interface RuleCreateResponse {
186
266
  | 'twitter_like'
187
267
  | 'twitter_post_hashtag'
188
268
  | 'quiz'
189
- | 'poll';
269
+ | 'poll'
270
+ | 'steam_wishlist'
271
+ | 'liquidity_uniswap_v2'
272
+ | 'liquidity_uniswap_v3'
273
+ | 'points_airdrop'
274
+ | 'youtube_subscribers'
275
+ | 'youtube_comment'
276
+ | 'shopify_spend'
277
+ | 'swap'
278
+ | 'tiktok_post'
279
+ | 'post_impressions'
280
+ | 'discord_join'
281
+ | 'connected_youtube';
190
282
 
191
283
  /**
192
284
  * Unique identifier for the associated website
@@ -223,6 +315,13 @@ export interface RuleCreateResponse {
223
315
  */
224
316
  description?: string;
225
317
 
318
+ duplicatedFromId?: string | null;
319
+
320
+ /**
321
+ * ID of the external integration
322
+ */
323
+ externalIntegrationId?: string | null;
324
+
226
325
  /**
227
326
  * Whether to hide this rule in the user interface
228
327
  */
@@ -231,51 +330,96 @@ export interface RuleCreateResponse {
231
330
  /**
232
331
  * Interval between rule executions
233
332
  */
234
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | null;
333
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
235
334
 
236
335
  /**
237
336
  * Whether this rule is mandatory
238
337
  */
239
338
  isRequired?: boolean;
240
339
 
340
+ /**
341
+ * Unique identifier for the loyalty badge
342
+ */
343
+ loyaltyBadgeId?: string | null;
344
+
241
345
  /**
242
346
  * Unique identifier for the loyalty rule group
243
347
  */
244
348
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
245
349
 
350
+ /**
351
+ * URL for uploading loyalty user allotment via CSV
352
+ */
353
+ loyaltyUserAllotmentCsvUrl?: string;
354
+
355
+ /**
356
+ * The interval for the max amount. Available for the smart contract and external
357
+ * rules.
358
+ */
359
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
360
+
361
+ /**
362
+ * The maximum amount of points a user can earn per interval. Available for the
363
+ * smart contract and external rules.
364
+ */
365
+ maxAmountPerInterval?: number | null;
366
+
367
+ /**
368
+ * URL of the media to be displayed
369
+ */
370
+ mediaUrl?: string | null;
371
+
246
372
  /**
247
373
  * Blockchain network where the rule will apply
248
374
  */
249
375
  network?:
250
- | 'mainnet'
251
- | 'polygon'
252
- | 'polygon_mumbai'
253
- | 'optimism'
376
+ | 'abstract'
377
+ | 'abstractTestnet'
378
+ | 'apechain'
254
379
  | 'arbitrum'
255
- | 'binance'
256
- | 'bscTestnet'
257
380
  | 'avalanche'
258
381
  | 'avalancheFuji'
259
- | 'zksync'
260
- | 'fantom'
261
- | 'fantomTestnet'
262
382
  | 'base'
263
383
  | 'baseSepolia'
264
- | 'skaleNebula'
265
- | 'xai'
384
+ | 'berachain'
266
385
  | 'berachainArtio'
267
- | 'solana'
268
- | 'apechain'
269
- | 'flowMainnet'
386
+ | 'berachainBepolia'
387
+ | 'binance'
388
+ | 'bscTestnet'
270
389
  | 'campTestnet'
390
+ | 'fantom'
391
+ | 'fantomTestnet'
392
+ | 'flowMainnet'
393
+ | 'mainnet'
394
+ | 'nexusTestnet'
395
+ | 'optimism'
396
+ | 'polygon'
397
+ | 'polygon_mumbai'
398
+ | 'skaleNebula'
399
+ | 'solana'
400
+ | 'sophon'
401
+ | 'sophonTestnet'
271
402
  | 'sui'
403
+ | 'superseed'
404
+ | 'superseedSepolia'
272
405
  | 'vanar'
406
+ | 'xai'
407
+ | 'zksync'
408
+ | 'coti'
409
+ | 'cotiTestnet'
410
+ | 'morph'
411
+ | 'morphTestnet'
412
+ | 'morphHolesky'
413
+ | 'ultra'
414
+ | 'ultraTestnet'
415
+ | 'nitrograph'
273
416
  | 'sepolia'
274
417
  | 'optimism_sepolia'
275
418
  | 'arbitrumSepolia'
276
419
  | 'goerli'
277
420
  | 'optimism_goerli'
278
- | 'arbitrumGoerli';
421
+ | 'arbitrumGoerli'
422
+ | 'basecamp';
279
423
 
280
424
  /**
281
425
  * OAuth credentials associated with the rule
@@ -285,12 +429,22 @@ export interface RuleCreateResponse {
285
429
  /**
286
430
  * Type of reward issued by the rule
287
431
  */
288
- rewardType?: 'points' | 'multiplier';
432
+ rewardType?: 'points' | 'multiplier' | 'badge';
289
433
 
290
434
  /**
291
- * Identifier for associated subscriptions
435
+ * URL of the Shopify store
292
436
  */
293
- subscriptionIdentifier?: string | null;
437
+ shopifyStoreUrl?: string | null;
438
+
439
+ /**
440
+ * Whether to show this rule before the start time
441
+ */
442
+ showBeforeStart?: boolean;
443
+
444
+ /**
445
+ * Optional subscription id for the rule
446
+ */
447
+ subscriptionId?: string | null;
294
448
  }
295
449
 
296
450
  export namespace RuleCreateResponse {
@@ -298,6 +452,11 @@ export namespace RuleCreateResponse {
298
452
  * Additional metadata for the loyalty rule
299
453
  */
300
454
  export interface Metadata {
455
+ /**
456
+ * Number of tokens per batch.
457
+ */
458
+ batchSize?: number | null;
459
+
301
460
  /**
302
461
  * Text displayed on the action button.
303
462
  */
@@ -328,6 +487,16 @@ export namespace RuleCreateResponse {
328
487
  */
329
488
  collection?: Array<Metadata.Collection>;
330
489
 
490
+ /**
491
+ * Conditions for completing the profile.
492
+ */
493
+ completeProfileConditions?: { [key: string]: boolean } | null;
494
+
495
+ /**
496
+ * Description of the external rule condition (only for external rules)
497
+ */
498
+ conditionDescription?: string;
499
+
331
500
  /**
332
501
  * Object containing details for the call-to-action.
333
502
  */
@@ -338,6 +507,11 @@ export namespace RuleCreateResponse {
338
507
  */
339
508
  customRewardsApiKey?: string;
340
509
 
510
+ /**
511
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
512
+ */
513
+ directRpc?: boolean;
514
+
341
515
  /**
342
516
  * Array of Discord servers, channels, and roles to join.
343
517
  */
@@ -363,11 +537,21 @@ export namespace RuleCreateResponse {
363
537
  */
364
538
  enableVerifiedMultiplier?: boolean;
365
539
 
540
+ /**
541
+ * Fill source of the order for the token sale
542
+ */
543
+ fillSource?: string;
544
+
366
545
  /**
367
546
  * Percentage reward given to a user for their first referral.
368
547
  */
369
548
  firstReferralReward?: number | null;
370
549
 
550
+ /**
551
+ * Flag indicating whether the fill source is included.
552
+ */
553
+ hasFillSource?: boolean;
554
+
371
555
  /**
372
556
  * Indicates if the item has never been sold.
373
557
  */
@@ -393,11 +577,21 @@ export namespace RuleCreateResponse {
393
577
  */
394
578
  imageUrl?: string | null;
395
579
 
580
+ /**
581
+ * If enabled, the first transaction done on the platform will complete this rule
582
+ */
583
+ isCheckInOnEveryTxn?: boolean;
584
+
396
585
  /**
397
586
  * Indicates if the multiplier has been applied to rewards.
398
587
  */
399
588
  isMultiplierApplied?: boolean;
400
589
 
590
+ /**
591
+ * Flag indicating if the rule is restricted to new users.
592
+ */
593
+ isRestrictedToNewUsers?: boolean;
594
+
401
595
  /**
402
596
  * Flag indicating if rewards are applied retroactively.
403
597
  */
@@ -413,6 +607,11 @@ export namespace RuleCreateResponse {
413
607
  */
414
608
  link?: string | null;
415
609
 
610
+ /**
611
+ * Liquidity pool details.
612
+ */
613
+ liquidity?: Metadata.Liquidity;
614
+
416
615
  /**
417
616
  * Maximum quantity constraint for token holding.
418
617
  */
@@ -443,6 +642,11 @@ export namespace RuleCreateResponse {
443
642
  */
444
643
  onlyNonListed?: boolean;
445
644
 
645
+ /**
646
+ * Indicates if only existing users are rewarded.
647
+ */
648
+ onlyRewardExistingUser?: boolean;
649
+
446
650
  /**
447
651
  * give points for only one token ownership per contract
448
652
  */
@@ -453,6 +657,21 @@ export namespace RuleCreateResponse {
453
657
  */
454
658
  promoCode?: string;
455
659
 
660
+ /**
661
+ * URL of the CSV file containing promo codes.
662
+ */
663
+ promoCodeCsvUrl?: string;
664
+
665
+ /**
666
+ * Numbers of the promotional code to be generated.
667
+ */
668
+ promoCodeLength?: number | null;
669
+
670
+ /**
671
+ * Type of the promotional code.
672
+ */
673
+ promoCodeType?: 'code' | 'csv' | 'generate';
674
+
456
675
  /**
457
676
  * Array defining ranges and corresponding rewards.
458
677
  */
@@ -468,11 +687,52 @@ export namespace RuleCreateResponse {
468
687
  */
469
688
  referrerReward?: number | null;
470
689
 
690
+ /**
691
+ * Loyalty currency ID of the referrer reward.
692
+ */
693
+ referrerRewardLoyaltyCurrencyId?: string | null;
694
+
695
+ /**
696
+ * Flag indicating if the post link is required.
697
+ */
698
+ requirePostLink?: boolean | null;
699
+
700
+ /**
701
+ * Flag indicating if the rule can also reward badges per range.
702
+ */
703
+ rewardBadgePerRange?: boolean;
704
+
705
+ /**
706
+ * Flag indicating if the reward is rewarded by batch.
707
+ */
708
+ rewardByBatch?: boolean | null;
709
+
710
+ /**
711
+ * Flag indicating if the reward is rewarded per action.
712
+ */
713
+ rewardPerAction?: boolean | null;
714
+
471
715
  /**
472
716
  * Flag indicating if rewards are given per impression.
473
717
  */
474
718
  rewardPerImpression?: boolean | null;
475
719
 
720
+ /**
721
+ * Flag indicating if the rule should reward based on value of traded tokens
722
+ * instead of count.
723
+ */
724
+ rewardPerValue?: boolean;
725
+
726
+ /**
727
+ * Wallet address of the user can only be used if userId is not provided
728
+ */
729
+ royaltyAddress?: string;
730
+
731
+ /**
732
+ * Royalty percentage of the item.
733
+ */
734
+ royaltyPercentage?: number;
735
+
476
736
  /**
477
737
  * Currency associated with sales.
478
738
  */
@@ -512,6 +772,7 @@ export namespace RuleCreateResponse {
512
772
  | 'Twitch'
513
773
  | 'X(Twitter)'
514
774
  | 'YouTube'
775
+ | 'Google'
515
776
  | null;
516
777
 
517
778
  /**
@@ -524,11 +785,21 @@ export namespace RuleCreateResponse {
524
785
  */
525
786
  socialPlatformName?: string | null;
526
787
 
788
+ /**
789
+ * ID of the Steam app.
790
+ */
791
+ steamAppId?: string | null;
792
+
527
793
  /**
528
794
  * Array of streak milestones and corresponding rewards.
529
795
  */
530
796
  streakArray?: Array<Metadata.StreakArray> | null;
531
797
 
798
+ /**
799
+ * Metadata for swap loyalty rules
800
+ */
801
+ swap?: Metadata.Swap;
802
+
532
803
  /**
533
804
  * ID of the Telegram channel.
534
805
  */
@@ -544,6 +815,12 @@ export namespace RuleCreateResponse {
544
815
  */
545
816
  trackAllContracts?: boolean | null;
546
817
 
818
+ /**
819
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
820
+ * completed once the progress is 100%.
821
+ */
822
+ trackProgress?: boolean | null;
823
+
547
824
  /**
548
825
  * URL of the associated Twitter account.
549
826
  */
@@ -587,7 +864,17 @@ export namespace RuleCreateResponse {
587
864
  /**
588
865
  * Type of wallet associated with the rule.
589
866
  */
590
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
867
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
868
+
869
+ /**
870
+ * ID of the Youtube channel.
871
+ */
872
+ youtubeChannelId?: string | null;
873
+
874
+ /**
875
+ * ID of the Youtube video.
876
+ */
877
+ youtubeVideoId?: string | null;
591
878
  }
592
879
 
593
880
  export namespace Metadata {
@@ -606,35 +893,53 @@ export namespace RuleCreateResponse {
606
893
  * Blockchain network of the collection.
607
894
  */
608
895
  network?:
609
- | 'mainnet'
610
- | 'polygon'
611
- | 'polygon_mumbai'
612
- | 'optimism'
896
+ | 'abstract'
897
+ | 'abstractTestnet'
898
+ | 'apechain'
613
899
  | 'arbitrum'
614
- | 'binance'
615
- | 'bscTestnet'
616
900
  | 'avalanche'
617
901
  | 'avalancheFuji'
618
- | 'zksync'
619
- | 'fantom'
620
- | 'fantomTestnet'
621
902
  | 'base'
622
903
  | 'baseSepolia'
623
- | 'skaleNebula'
624
- | 'xai'
904
+ | 'berachain'
625
905
  | 'berachainArtio'
626
- | 'solana'
627
- | 'apechain'
628
- | 'flowMainnet'
906
+ | 'berachainBepolia'
907
+ | 'binance'
908
+ | 'bscTestnet'
629
909
  | 'campTestnet'
910
+ | 'fantom'
911
+ | 'fantomTestnet'
912
+ | 'flowMainnet'
913
+ | 'mainnet'
914
+ | 'nexusTestnet'
915
+ | 'optimism'
916
+ | 'polygon'
917
+ | 'polygon_mumbai'
918
+ | 'skaleNebula'
919
+ | 'solana'
920
+ | 'sophon'
921
+ | 'sophonTestnet'
630
922
  | 'sui'
923
+ | 'superseed'
924
+ | 'superseedSepolia'
631
925
  | 'vanar'
926
+ | 'xai'
927
+ | 'zksync'
928
+ | 'coti'
929
+ | 'cotiTestnet'
930
+ | 'morph'
931
+ | 'morphTestnet'
932
+ | 'morphHolesky'
933
+ | 'ultra'
934
+ | 'ultraTestnet'
935
+ | 'nitrograph'
632
936
  | 'sepolia'
633
937
  | 'optimism_sepolia'
634
938
  | 'arbitrumSepolia'
635
939
  | 'goerli'
636
940
  | 'optimism_goerli'
637
- | 'arbitrumGoerli';
941
+ | 'arbitrumGoerli'
942
+ | 'basecamp';
638
943
  }
639
944
 
640
945
  /**
@@ -711,6 +1016,104 @@ export namespace RuleCreateResponse {
711
1016
  id: string;
712
1017
  }
713
1018
 
1019
+ /**
1020
+ * Liquidity pool details.
1021
+ */
1022
+ export interface Liquidity {
1023
+ /**
1024
+ * Calculation type of the liquidity pool.
1025
+ */
1026
+ calculationType?: 'fixed' | 'custom';
1027
+
1028
+ /**
1029
+ * Custom function to calculate the the reward amount based on the liquidity
1030
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1031
+ * USD.
1032
+ */
1033
+ customFunction?: string;
1034
+
1035
+ /**
1036
+ * Liquidity provided per day in USD
1037
+ */
1038
+ liquidityPerDay?: number;
1039
+
1040
+ /**
1041
+ * Blockchain network of the liquidity pool.
1042
+ */
1043
+ network?:
1044
+ | 'abstract'
1045
+ | 'abstractTestnet'
1046
+ | 'apechain'
1047
+ | 'arbitrum'
1048
+ | 'avalanche'
1049
+ | 'avalancheFuji'
1050
+ | 'base'
1051
+ | 'baseSepolia'
1052
+ | 'berachain'
1053
+ | 'berachainArtio'
1054
+ | 'berachainBepolia'
1055
+ | 'binance'
1056
+ | 'bscTestnet'
1057
+ | 'campTestnet'
1058
+ | 'fantom'
1059
+ | 'fantomTestnet'
1060
+ | 'flowMainnet'
1061
+ | 'mainnet'
1062
+ | 'nexusTestnet'
1063
+ | 'optimism'
1064
+ | 'polygon'
1065
+ | 'polygon_mumbai'
1066
+ | 'skaleNebula'
1067
+ | 'solana'
1068
+ | 'sophon'
1069
+ | 'sophonTestnet'
1070
+ | 'sui'
1071
+ | 'superseed'
1072
+ | 'superseedSepolia'
1073
+ | 'vanar'
1074
+ | 'xai'
1075
+ | 'zksync'
1076
+ | 'coti'
1077
+ | 'cotiTestnet'
1078
+ | 'morph'
1079
+ | 'morphTestnet'
1080
+ | 'morphHolesky'
1081
+ | 'ultra'
1082
+ | 'ultraTestnet'
1083
+ | 'nitrograph'
1084
+ | 'sepolia'
1085
+ | 'optimism_sepolia'
1086
+ | 'arbitrumSepolia'
1087
+ | 'goerli'
1088
+ | 'optimism_goerli'
1089
+ | 'arbitrumGoerli'
1090
+ | 'basecamp';
1091
+
1092
+ /**
1093
+ * Indicates if only in-range liquidity is rewarded.
1094
+ */
1095
+ onlyRewardInRangeLiquidity?: boolean;
1096
+
1097
+ /**
1098
+ * Array of liquidity pools associated with the rule.
1099
+ */
1100
+ pools?: Array<Liquidity.Pool>;
1101
+
1102
+ /**
1103
+ * Protocol of the liquidity pool.
1104
+ */
1105
+ protocol?: string;
1106
+ }
1107
+
1108
+ export namespace Liquidity {
1109
+ export interface Pool {
1110
+ /**
1111
+ * Unique identifier of the liquidity pool.
1112
+ */
1113
+ id: string;
1114
+ }
1115
+ }
1116
+
714
1117
  export interface Range {
715
1118
  /**
716
1119
  * Reward amount for this range.
@@ -726,6 +1129,16 @@ export namespace RuleCreateResponse {
726
1129
  * Start value of the range.
727
1130
  */
728
1131
  startRange: number;
1132
+
1133
+ /**
1134
+ * ID of the loyalty badge for this range.
1135
+ */
1136
+ loyaltyBadgeId?: string;
1137
+
1138
+ /**
1139
+ * Amount of the loyalty multiplier for this range.
1140
+ */
1141
+ loyaltyMultiplierAmount?: number;
729
1142
  }
730
1143
 
731
1144
  /**
@@ -778,20 +1191,15 @@ export namespace RuleCreateResponse {
778
1191
  * Object containing details of the associated smart contract.
779
1192
  */
780
1193
  export interface SmartContract {
781
- /**
782
- * ABI of the smart contract.
783
- */
784
- abi?: string | null;
785
-
786
1194
  /**
787
1195
  * Mapping of addresses for the smart contract.
788
1196
  */
789
1197
  addressMapping?: string | null;
790
1198
 
791
1199
  /**
792
- * Array of bonus details applied to the rule.
1200
+ * Object containing details of the amount multiplier from the event.
793
1201
  */
794
- bonus?: Array<SmartContract.Bonus> | null;
1202
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
795
1203
 
796
1204
  /**
797
1205
  * ID of the smart contract.
@@ -803,75 +1211,38 @@ export namespace RuleCreateResponse {
803
1211
  */
804
1212
  criteria?: 'everyEvent' | 'byParameter' | null;
805
1213
 
806
- /**
807
- * Time range applied to the rule.
808
- */
809
- customRange?: SmartContract.CustomRange | null;
810
-
811
1214
  /**
812
1215
  * Event emitted by the smart contract.
813
1216
  */
814
1217
  event?: string | null;
815
1218
 
816
- /**
817
- * Maximum value allowed for the parameter.
818
- */
819
- max?: number | null;
820
-
821
1219
  /**
822
1220
  * Array of parameters for the smart contract.
823
1221
  */
824
1222
  params?: Array<SmartContract.Param> | null;
825
1223
 
826
1224
  /**
827
- * Flag indicating if a bonus is applied.
828
- */
829
- withBonus?: boolean | null;
830
-
831
- /**
832
- * Flag indicating if a custom range is applied.
833
- */
834
- withCustomRange?: boolean | null;
835
-
836
- /**
837
- * Flag indicating if a maximum limit is applied.
1225
+ * Type of the smart contract interaction.
838
1226
  */
839
- withMax?: boolean | null;
1227
+ type?: 'function' | 'event' | null;
840
1228
  }
841
1229
 
842
1230
  export namespace SmartContract {
843
- export interface Bonus {
1231
+ /**
1232
+ * Object containing details of the amount multiplier from the event.
1233
+ */
1234
+ export interface AmountMultiplier {
844
1235
  /**
845
- * Amount of the bonus.
1236
+ * Mapping of the value for the smart contract.
846
1237
  */
847
- amount?: number | null;
1238
+ valueMapping?: string | null;
1239
+ }
848
1240
 
1241
+ export interface Param {
849
1242
  /**
850
- * Number of times the bonus is applied.
1243
+ * Condition to check for the parameter.
851
1244
  */
852
- count?: number | null;
853
- }
854
-
855
- /**
856
- * Time range applied to the rule.
857
- */
858
- export interface CustomRange {
859
- /**
860
- * End time of the custom range.
861
- */
862
- endsAt?: string | null;
863
-
864
- /**
865
- * Start time of the custom range.
866
- */
867
- startsAt?: string | null;
868
- }
869
-
870
- export interface Param {
871
- /**
872
- * Condition to check for the parameter.
873
- */
874
- condition?: string | null;
1245
+ condition?: string | null;
875
1246
 
876
1247
  /**
877
1248
  * Name of the smart contract parameter.
@@ -908,6 +1279,33 @@ export namespace RuleCreateResponse {
908
1279
  */
909
1280
  streakMilestone: number;
910
1281
  }
1282
+
1283
+ /**
1284
+ * Metadata for swap loyalty rules
1285
+ */
1286
+ export interface Swap {
1287
+ provider?: 'any' | 'relay' | 'lifi';
1288
+
1289
+ relayReferrerId?: string;
1290
+
1291
+ requireCrossChainSwap?: boolean;
1292
+
1293
+ swappedToChain?: 'any' | number | string;
1294
+
1295
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1296
+
1297
+ tokenMode?: 'any' | 'specific';
1298
+
1299
+ trackTokenAmount?: boolean;
1300
+ }
1301
+
1302
+ export namespace Swap {
1303
+ export interface SwappedToToken {
1304
+ address: string;
1305
+
1306
+ chainId: string;
1307
+ }
1308
+ }
911
1309
  }
912
1310
 
913
1311
  export interface Collection {
@@ -920,35 +1318,58 @@ export namespace RuleCreateResponse {
920
1318
  * Blockchain network for the collection
921
1319
  */
922
1320
  network:
923
- | 'mainnet'
924
- | 'polygon'
925
- | 'polygon_mumbai'
926
- | 'optimism'
1321
+ | 'abstract'
1322
+ | 'abstractTestnet'
1323
+ | 'apechain'
927
1324
  | 'arbitrum'
928
- | 'binance'
929
- | 'bscTestnet'
930
1325
  | 'avalanche'
931
1326
  | 'avalancheFuji'
932
- | 'zksync'
933
- | 'fantom'
934
- | 'fantomTestnet'
935
1327
  | 'base'
936
1328
  | 'baseSepolia'
937
- | 'skaleNebula'
938
- | 'xai'
1329
+ | 'berachain'
939
1330
  | 'berachainArtio'
940
- | 'solana'
941
- | 'apechain'
942
- | 'flowMainnet'
1331
+ | 'berachainBepolia'
1332
+ | 'binance'
1333
+ | 'bscTestnet'
943
1334
  | 'campTestnet'
1335
+ | 'fantom'
1336
+ | 'fantomTestnet'
1337
+ | 'flowMainnet'
1338
+ | 'mainnet'
1339
+ | 'nexusTestnet'
1340
+ | 'optimism'
1341
+ | 'polygon'
1342
+ | 'polygon_mumbai'
1343
+ | 'skaleNebula'
1344
+ | 'solana'
1345
+ | 'sophon'
1346
+ | 'sophonTestnet'
944
1347
  | 'sui'
1348
+ | 'superseed'
1349
+ | 'superseedSepolia'
945
1350
  | 'vanar'
1351
+ | 'xai'
1352
+ | 'zksync'
1353
+ | 'coti'
1354
+ | 'cotiTestnet'
1355
+ | 'morph'
1356
+ | 'morphTestnet'
1357
+ | 'morphHolesky'
1358
+ | 'ultra'
1359
+ | 'ultraTestnet'
1360
+ | 'nitrograph'
946
1361
  | 'sepolia'
947
1362
  | 'optimism_sepolia'
948
1363
  | 'arbitrumSepolia'
949
1364
  | 'goerli'
950
1365
  | 'optimism_goerli'
951
- | 'arbitrumGoerli';
1366
+ | 'arbitrumGoerli'
1367
+ | 'basecamp';
1368
+
1369
+ /**
1370
+ * Symbol of the collection.
1371
+ */
1372
+ symbol?: string;
952
1373
  }
953
1374
  }
954
1375
 
@@ -1005,6 +1426,11 @@ export interface RuleUpdateResponse {
1005
1426
  */
1006
1427
  effectiveStartTime?: string | null;
1007
1428
 
1429
+ /**
1430
+ * ID of the external integration
1431
+ */
1432
+ externalIntegrationId?: string | null;
1433
+
1008
1434
  /**
1009
1435
  * Frequency of the rule execution
1010
1436
  */
@@ -1018,7 +1444,7 @@ export interface RuleUpdateResponse {
1018
1444
  /**
1019
1445
  * Time interval for recurring rule execution
1020
1446
  */
1021
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | null;
1447
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1022
1448
 
1023
1449
  /**
1024
1450
  * Whether this rule is required for participation
@@ -1030,6 +1456,23 @@ export interface RuleUpdateResponse {
1030
1456
  */
1031
1457
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1032
1458
 
1459
+ /**
1460
+ * The interval for the max amount. Available for the smart contract and external
1461
+ * rules.
1462
+ */
1463
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1464
+
1465
+ /**
1466
+ * The maximum amount of points a user can earn per interval. Available for the
1467
+ * smart contract and external rules.
1468
+ */
1469
+ maxAmountPerInterval?: number | null;
1470
+
1471
+ /**
1472
+ * URL of the media to be displayed
1473
+ */
1474
+ mediaUrl?: string | null;
1475
+
1033
1476
  /**
1034
1477
  * Additional metadata for the loyalty rule
1035
1478
  */
@@ -1039,35 +1482,53 @@ export interface RuleUpdateResponse {
1039
1482
  * Blockchain network where the rule will apply
1040
1483
  */
1041
1484
  network?:
1042
- | 'mainnet'
1043
- | 'polygon'
1044
- | 'polygon_mumbai'
1045
- | 'optimism'
1485
+ | 'abstract'
1486
+ | 'abstractTestnet'
1487
+ | 'apechain'
1046
1488
  | 'arbitrum'
1047
- | 'binance'
1048
- | 'bscTestnet'
1049
1489
  | 'avalanche'
1050
1490
  | 'avalancheFuji'
1051
- | 'zksync'
1052
- | 'fantom'
1053
- | 'fantomTestnet'
1054
1491
  | 'base'
1055
1492
  | 'baseSepolia'
1056
- | 'skaleNebula'
1057
- | 'xai'
1493
+ | 'berachain'
1058
1494
  | 'berachainArtio'
1059
- | 'solana'
1060
- | 'apechain'
1061
- | 'flowMainnet'
1495
+ | 'berachainBepolia'
1496
+ | 'binance'
1497
+ | 'bscTestnet'
1062
1498
  | 'campTestnet'
1499
+ | 'fantom'
1500
+ | 'fantomTestnet'
1501
+ | 'flowMainnet'
1502
+ | 'mainnet'
1503
+ | 'nexusTestnet'
1504
+ | 'optimism'
1505
+ | 'polygon'
1506
+ | 'polygon_mumbai'
1507
+ | 'skaleNebula'
1508
+ | 'solana'
1509
+ | 'sophon'
1510
+ | 'sophonTestnet'
1063
1511
  | 'sui'
1512
+ | 'superseed'
1513
+ | 'superseedSepolia'
1064
1514
  | 'vanar'
1515
+ | 'xai'
1516
+ | 'zksync'
1517
+ | 'coti'
1518
+ | 'cotiTestnet'
1519
+ | 'morph'
1520
+ | 'morphTestnet'
1521
+ | 'morphHolesky'
1522
+ | 'ultra'
1523
+ | 'ultraTestnet'
1524
+ | 'nitrograph'
1065
1525
  | 'sepolia'
1066
1526
  | 'optimism_sepolia'
1067
1527
  | 'arbitrumSepolia'
1068
1528
  | 'goerli'
1069
1529
  | 'optimism_goerli'
1070
- | 'arbitrumGoerli';
1530
+ | 'arbitrumGoerli'
1531
+ | 'basecamp';
1071
1532
 
1072
1533
  /**
1073
1534
  * ID for associated OAuth credentials
@@ -1077,7 +1538,17 @@ export interface RuleUpdateResponse {
1077
1538
  /**
1078
1539
  * Type of reward issued by this rule
1079
1540
  */
1080
- rewardType?: 'points' | 'multiplier';
1541
+ rewardType?: 'points' | 'multiplier' | 'badge';
1542
+
1543
+ /**
1544
+ * URL of the Shopify store
1545
+ */
1546
+ shopifyStoreUrl?: string | null;
1547
+
1548
+ /**
1549
+ * Whether to show this rule before the start time
1550
+ */
1551
+ showBeforeStart?: boolean;
1081
1552
 
1082
1553
  /**
1083
1554
  * Start time for the loyalty rule
@@ -1085,9 +1556,9 @@ export interface RuleUpdateResponse {
1085
1556
  startTime?: string | null;
1086
1557
 
1087
1558
  /**
1088
- * Optional subscription identifier for the rule
1559
+ * Optional subscription id for the rule
1089
1560
  */
1090
- subscriptionIdentifier?: string | null;
1561
+ subscriptionId?: string | null;
1091
1562
  }
1092
1563
 
1093
1564
  export namespace RuleUpdateResponse {
@@ -1101,41 +1572,69 @@ export namespace RuleUpdateResponse {
1101
1572
  * Blockchain network for the collection
1102
1573
  */
1103
1574
  network:
1104
- | 'mainnet'
1105
- | 'polygon'
1106
- | 'polygon_mumbai'
1107
- | 'optimism'
1575
+ | 'abstract'
1576
+ | 'abstractTestnet'
1577
+ | 'apechain'
1108
1578
  | 'arbitrum'
1109
- | 'binance'
1110
- | 'bscTestnet'
1111
1579
  | 'avalanche'
1112
1580
  | 'avalancheFuji'
1113
- | 'zksync'
1114
- | 'fantom'
1115
- | 'fantomTestnet'
1116
1581
  | 'base'
1117
1582
  | 'baseSepolia'
1118
- | 'skaleNebula'
1119
- | 'xai'
1583
+ | 'berachain'
1120
1584
  | 'berachainArtio'
1121
- | 'solana'
1122
- | 'apechain'
1123
- | 'flowMainnet'
1585
+ | 'berachainBepolia'
1586
+ | 'binance'
1587
+ | 'bscTestnet'
1124
1588
  | 'campTestnet'
1589
+ | 'fantom'
1590
+ | 'fantomTestnet'
1591
+ | 'flowMainnet'
1592
+ | 'mainnet'
1593
+ | 'nexusTestnet'
1594
+ | 'optimism'
1595
+ | 'polygon'
1596
+ | 'polygon_mumbai'
1597
+ | 'skaleNebula'
1598
+ | 'solana'
1599
+ | 'sophon'
1600
+ | 'sophonTestnet'
1125
1601
  | 'sui'
1602
+ | 'superseed'
1603
+ | 'superseedSepolia'
1126
1604
  | 'vanar'
1605
+ | 'xai'
1606
+ | 'zksync'
1607
+ | 'coti'
1608
+ | 'cotiTestnet'
1609
+ | 'morph'
1610
+ | 'morphTestnet'
1611
+ | 'morphHolesky'
1612
+ | 'ultra'
1613
+ | 'ultraTestnet'
1614
+ | 'nitrograph'
1127
1615
  | 'sepolia'
1128
1616
  | 'optimism_sepolia'
1129
1617
  | 'arbitrumSepolia'
1130
1618
  | 'goerli'
1131
1619
  | 'optimism_goerli'
1132
- | 'arbitrumGoerli';
1620
+ | 'arbitrumGoerli'
1621
+ | 'basecamp';
1622
+
1623
+ /**
1624
+ * Symbol of the collection.
1625
+ */
1626
+ symbol?: string;
1133
1627
  }
1134
1628
 
1135
1629
  /**
1136
1630
  * Additional metadata for the loyalty rule
1137
1631
  */
1138
1632
  export interface Metadata {
1633
+ /**
1634
+ * Number of tokens per batch.
1635
+ */
1636
+ batchSize?: number | null;
1637
+
1139
1638
  /**
1140
1639
  * Text displayed on the action button.
1141
1640
  */
@@ -1166,6 +1665,16 @@ export namespace RuleUpdateResponse {
1166
1665
  */
1167
1666
  collection?: Array<Metadata.Collection>;
1168
1667
 
1668
+ /**
1669
+ * Conditions for completing the profile.
1670
+ */
1671
+ completeProfileConditions?: { [key: string]: boolean } | null;
1672
+
1673
+ /**
1674
+ * Description of the external rule condition (only for external rules)
1675
+ */
1676
+ conditionDescription?: string;
1677
+
1169
1678
  /**
1170
1679
  * Object containing details for the call-to-action.
1171
1680
  */
@@ -1176,6 +1685,11 @@ export namespace RuleUpdateResponse {
1176
1685
  */
1177
1686
  customRewardsApiKey?: string;
1178
1687
 
1688
+ /**
1689
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1690
+ */
1691
+ directRpc?: boolean;
1692
+
1179
1693
  /**
1180
1694
  * Array of Discord servers, channels, and roles to join.
1181
1695
  */
@@ -1201,11 +1715,21 @@ export namespace RuleUpdateResponse {
1201
1715
  */
1202
1716
  enableVerifiedMultiplier?: boolean;
1203
1717
 
1718
+ /**
1719
+ * Fill source of the order for the token sale
1720
+ */
1721
+ fillSource?: string;
1722
+
1204
1723
  /**
1205
1724
  * Percentage reward given to a user for their first referral.
1206
1725
  */
1207
1726
  firstReferralReward?: number | null;
1208
1727
 
1728
+ /**
1729
+ * Flag indicating whether the fill source is included.
1730
+ */
1731
+ hasFillSource?: boolean;
1732
+
1209
1733
  /**
1210
1734
  * Indicates if the item has never been sold.
1211
1735
  */
@@ -1231,11 +1755,21 @@ export namespace RuleUpdateResponse {
1231
1755
  */
1232
1756
  imageUrl?: string | null;
1233
1757
 
1758
+ /**
1759
+ * If enabled, the first transaction done on the platform will complete this rule
1760
+ */
1761
+ isCheckInOnEveryTxn?: boolean;
1762
+
1234
1763
  /**
1235
1764
  * Indicates if the multiplier has been applied to rewards.
1236
1765
  */
1237
1766
  isMultiplierApplied?: boolean;
1238
1767
 
1768
+ /**
1769
+ * Flag indicating if the rule is restricted to new users.
1770
+ */
1771
+ isRestrictedToNewUsers?: boolean;
1772
+
1239
1773
  /**
1240
1774
  * Flag indicating if rewards are applied retroactively.
1241
1775
  */
@@ -1251,6 +1785,11 @@ export namespace RuleUpdateResponse {
1251
1785
  */
1252
1786
  link?: string | null;
1253
1787
 
1788
+ /**
1789
+ * Liquidity pool details.
1790
+ */
1791
+ liquidity?: Metadata.Liquidity;
1792
+
1254
1793
  /**
1255
1794
  * Maximum quantity constraint for token holding.
1256
1795
  */
@@ -1281,6 +1820,11 @@ export namespace RuleUpdateResponse {
1281
1820
  */
1282
1821
  onlyNonListed?: boolean;
1283
1822
 
1823
+ /**
1824
+ * Indicates if only existing users are rewarded.
1825
+ */
1826
+ onlyRewardExistingUser?: boolean;
1827
+
1284
1828
  /**
1285
1829
  * give points for only one token ownership per contract
1286
1830
  */
@@ -1291,6 +1835,21 @@ export namespace RuleUpdateResponse {
1291
1835
  */
1292
1836
  promoCode?: string;
1293
1837
 
1838
+ /**
1839
+ * URL of the CSV file containing promo codes.
1840
+ */
1841
+ promoCodeCsvUrl?: string;
1842
+
1843
+ /**
1844
+ * Numbers of the promotional code to be generated.
1845
+ */
1846
+ promoCodeLength?: number | null;
1847
+
1848
+ /**
1849
+ * Type of the promotional code.
1850
+ */
1851
+ promoCodeType?: 'code' | 'csv' | 'generate';
1852
+
1294
1853
  /**
1295
1854
  * Array defining ranges and corresponding rewards.
1296
1855
  */
@@ -1306,11 +1865,52 @@ export namespace RuleUpdateResponse {
1306
1865
  */
1307
1866
  referrerReward?: number | null;
1308
1867
 
1868
+ /**
1869
+ * Loyalty currency ID of the referrer reward.
1870
+ */
1871
+ referrerRewardLoyaltyCurrencyId?: string | null;
1872
+
1873
+ /**
1874
+ * Flag indicating if the post link is required.
1875
+ */
1876
+ requirePostLink?: boolean | null;
1877
+
1878
+ /**
1879
+ * Flag indicating if the rule can also reward badges per range.
1880
+ */
1881
+ rewardBadgePerRange?: boolean;
1882
+
1883
+ /**
1884
+ * Flag indicating if the reward is rewarded by batch.
1885
+ */
1886
+ rewardByBatch?: boolean | null;
1887
+
1888
+ /**
1889
+ * Flag indicating if the reward is rewarded per action.
1890
+ */
1891
+ rewardPerAction?: boolean | null;
1892
+
1309
1893
  /**
1310
1894
  * Flag indicating if rewards are given per impression.
1311
1895
  */
1312
1896
  rewardPerImpression?: boolean | null;
1313
1897
 
1898
+ /**
1899
+ * Flag indicating if the rule should reward based on value of traded tokens
1900
+ * instead of count.
1901
+ */
1902
+ rewardPerValue?: boolean;
1903
+
1904
+ /**
1905
+ * Wallet address of the user can only be used if userId is not provided
1906
+ */
1907
+ royaltyAddress?: string;
1908
+
1909
+ /**
1910
+ * Royalty percentage of the item.
1911
+ */
1912
+ royaltyPercentage?: number;
1913
+
1314
1914
  /**
1315
1915
  * Currency associated with sales.
1316
1916
  */
@@ -1350,6 +1950,7 @@ export namespace RuleUpdateResponse {
1350
1950
  | 'Twitch'
1351
1951
  | 'X(Twitter)'
1352
1952
  | 'YouTube'
1953
+ | 'Google'
1353
1954
  | null;
1354
1955
 
1355
1956
  /**
@@ -1362,11 +1963,21 @@ export namespace RuleUpdateResponse {
1362
1963
  */
1363
1964
  socialPlatformName?: string | null;
1364
1965
 
1966
+ /**
1967
+ * ID of the Steam app.
1968
+ */
1969
+ steamAppId?: string | null;
1970
+
1365
1971
  /**
1366
1972
  * Array of streak milestones and corresponding rewards.
1367
1973
  */
1368
1974
  streakArray?: Array<Metadata.StreakArray> | null;
1369
1975
 
1976
+ /**
1977
+ * Metadata for swap loyalty rules
1978
+ */
1979
+ swap?: Metadata.Swap;
1980
+
1370
1981
  /**
1371
1982
  * ID of the Telegram channel.
1372
1983
  */
@@ -1382,6 +1993,12 @@ export namespace RuleUpdateResponse {
1382
1993
  */
1383
1994
  trackAllContracts?: boolean | null;
1384
1995
 
1996
+ /**
1997
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1998
+ * completed once the progress is 100%.
1999
+ */
2000
+ trackProgress?: boolean | null;
2001
+
1385
2002
  /**
1386
2003
  * URL of the associated Twitter account.
1387
2004
  */
@@ -1425,7 +2042,17 @@ export namespace RuleUpdateResponse {
1425
2042
  /**
1426
2043
  * Type of wallet associated with the rule.
1427
2044
  */
1428
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
2045
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2046
+
2047
+ /**
2048
+ * ID of the Youtube channel.
2049
+ */
2050
+ youtubeChannelId?: string | null;
2051
+
2052
+ /**
2053
+ * ID of the Youtube video.
2054
+ */
2055
+ youtubeVideoId?: string | null;
1429
2056
  }
1430
2057
 
1431
2058
  export namespace Metadata {
@@ -1444,35 +2071,53 @@ export namespace RuleUpdateResponse {
1444
2071
  * Blockchain network of the collection.
1445
2072
  */
1446
2073
  network?:
1447
- | 'mainnet'
1448
- | 'polygon'
1449
- | 'polygon_mumbai'
1450
- | 'optimism'
2074
+ | 'abstract'
2075
+ | 'abstractTestnet'
2076
+ | 'apechain'
1451
2077
  | 'arbitrum'
1452
- | 'binance'
1453
- | 'bscTestnet'
1454
2078
  | 'avalanche'
1455
2079
  | 'avalancheFuji'
1456
- | 'zksync'
1457
- | 'fantom'
1458
- | 'fantomTestnet'
1459
2080
  | 'base'
1460
2081
  | 'baseSepolia'
1461
- | 'skaleNebula'
1462
- | 'xai'
2082
+ | 'berachain'
1463
2083
  | 'berachainArtio'
1464
- | 'solana'
1465
- | 'apechain'
1466
- | 'flowMainnet'
2084
+ | 'berachainBepolia'
2085
+ | 'binance'
2086
+ | 'bscTestnet'
1467
2087
  | 'campTestnet'
2088
+ | 'fantom'
2089
+ | 'fantomTestnet'
2090
+ | 'flowMainnet'
2091
+ | 'mainnet'
2092
+ | 'nexusTestnet'
2093
+ | 'optimism'
2094
+ | 'polygon'
2095
+ | 'polygon_mumbai'
2096
+ | 'skaleNebula'
2097
+ | 'solana'
2098
+ | 'sophon'
2099
+ | 'sophonTestnet'
1468
2100
  | 'sui'
2101
+ | 'superseed'
2102
+ | 'superseedSepolia'
1469
2103
  | 'vanar'
2104
+ | 'xai'
2105
+ | 'zksync'
2106
+ | 'coti'
2107
+ | 'cotiTestnet'
2108
+ | 'morph'
2109
+ | 'morphTestnet'
2110
+ | 'morphHolesky'
2111
+ | 'ultra'
2112
+ | 'ultraTestnet'
2113
+ | 'nitrograph'
1470
2114
  | 'sepolia'
1471
2115
  | 'optimism_sepolia'
1472
2116
  | 'arbitrumSepolia'
1473
2117
  | 'goerli'
1474
2118
  | 'optimism_goerli'
1475
- | 'arbitrumGoerli';
2119
+ | 'arbitrumGoerli'
2120
+ | 'basecamp';
1476
2121
  }
1477
2122
 
1478
2123
  /**
@@ -1549,26 +2194,134 @@ export namespace RuleUpdateResponse {
1549
2194
  id: string;
1550
2195
  }
1551
2196
 
1552
- export interface Range {
2197
+ /**
2198
+ * Liquidity pool details.
2199
+ */
2200
+ export interface Liquidity {
1553
2201
  /**
1554
- * Reward amount for this range.
2202
+ * Calculation type of the liquidity pool.
1555
2203
  */
1556
- amount: number;
2204
+ calculationType?: 'fixed' | 'custom';
1557
2205
 
1558
2206
  /**
1559
- * End value of the range.
2207
+ * Custom function to calculate the the reward amount based on the liquidity
2208
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2209
+ * USD.
1560
2210
  */
1561
- endRange: number;
2211
+ customFunction?: string;
1562
2212
 
1563
2213
  /**
1564
- * Start value of the range.
2214
+ * Liquidity provided per day in USD
1565
2215
  */
1566
- startRange: number;
1567
- }
2216
+ liquidityPerDay?: number;
1568
2217
 
1569
- /**
1570
- * Object defining referral requirements.
1571
- */
2218
+ /**
2219
+ * Blockchain network of the liquidity pool.
2220
+ */
2221
+ network?:
2222
+ | 'abstract'
2223
+ | 'abstractTestnet'
2224
+ | 'apechain'
2225
+ | 'arbitrum'
2226
+ | 'avalanche'
2227
+ | 'avalancheFuji'
2228
+ | 'base'
2229
+ | 'baseSepolia'
2230
+ | 'berachain'
2231
+ | 'berachainArtio'
2232
+ | 'berachainBepolia'
2233
+ | 'binance'
2234
+ | 'bscTestnet'
2235
+ | 'campTestnet'
2236
+ | 'fantom'
2237
+ | 'fantomTestnet'
2238
+ | 'flowMainnet'
2239
+ | 'mainnet'
2240
+ | 'nexusTestnet'
2241
+ | 'optimism'
2242
+ | 'polygon'
2243
+ | 'polygon_mumbai'
2244
+ | 'skaleNebula'
2245
+ | 'solana'
2246
+ | 'sophon'
2247
+ | 'sophonTestnet'
2248
+ | 'sui'
2249
+ | 'superseed'
2250
+ | 'superseedSepolia'
2251
+ | 'vanar'
2252
+ | 'xai'
2253
+ | 'zksync'
2254
+ | 'coti'
2255
+ | 'cotiTestnet'
2256
+ | 'morph'
2257
+ | 'morphTestnet'
2258
+ | 'morphHolesky'
2259
+ | 'ultra'
2260
+ | 'ultraTestnet'
2261
+ | 'nitrograph'
2262
+ | 'sepolia'
2263
+ | 'optimism_sepolia'
2264
+ | 'arbitrumSepolia'
2265
+ | 'goerli'
2266
+ | 'optimism_goerli'
2267
+ | 'arbitrumGoerli'
2268
+ | 'basecamp';
2269
+
2270
+ /**
2271
+ * Indicates if only in-range liquidity is rewarded.
2272
+ */
2273
+ onlyRewardInRangeLiquidity?: boolean;
2274
+
2275
+ /**
2276
+ * Array of liquidity pools associated with the rule.
2277
+ */
2278
+ pools?: Array<Liquidity.Pool>;
2279
+
2280
+ /**
2281
+ * Protocol of the liquidity pool.
2282
+ */
2283
+ protocol?: string;
2284
+ }
2285
+
2286
+ export namespace Liquidity {
2287
+ export interface Pool {
2288
+ /**
2289
+ * Unique identifier of the liquidity pool.
2290
+ */
2291
+ id: string;
2292
+ }
2293
+ }
2294
+
2295
+ export interface Range {
2296
+ /**
2297
+ * Reward amount for this range.
2298
+ */
2299
+ amount: number;
2300
+
2301
+ /**
2302
+ * End value of the range.
2303
+ */
2304
+ endRange: number;
2305
+
2306
+ /**
2307
+ * Start value of the range.
2308
+ */
2309
+ startRange: number;
2310
+
2311
+ /**
2312
+ * ID of the loyalty badge for this range.
2313
+ */
2314
+ loyaltyBadgeId?: string;
2315
+
2316
+ /**
2317
+ * Amount of the loyalty multiplier for this range.
2318
+ */
2319
+ loyaltyMultiplierAmount?: number;
2320
+ }
2321
+
2322
+ /**
2323
+ * Object defining referral requirements.
2324
+ */
1572
2325
  export interface ReferralRequirements {
1573
2326
  /**
1574
2327
  * Flag indicating if achieving points is required.
@@ -1616,20 +2369,15 @@ export namespace RuleUpdateResponse {
1616
2369
  * Object containing details of the associated smart contract.
1617
2370
  */
1618
2371
  export interface SmartContract {
1619
- /**
1620
- * ABI of the smart contract.
1621
- */
1622
- abi?: string | null;
1623
-
1624
2372
  /**
1625
2373
  * Mapping of addresses for the smart contract.
1626
2374
  */
1627
2375
  addressMapping?: string | null;
1628
2376
 
1629
2377
  /**
1630
- * Array of bonus details applied to the rule.
2378
+ * Object containing details of the amount multiplier from the event.
1631
2379
  */
1632
- bonus?: Array<SmartContract.Bonus> | null;
2380
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1633
2381
 
1634
2382
  /**
1635
2383
  * ID of the smart contract.
@@ -1642,178 +2390,1159 @@ export namespace RuleUpdateResponse {
1642
2390
  criteria?: 'everyEvent' | 'byParameter' | null;
1643
2391
 
1644
2392
  /**
1645
- * Time range applied to the rule.
2393
+ * Event emitted by the smart contract.
1646
2394
  */
1647
- customRange?: SmartContract.CustomRange | null;
2395
+ event?: string | null;
1648
2396
 
1649
2397
  /**
1650
- * Event emitted by the smart contract.
2398
+ * Array of parameters for the smart contract.
1651
2399
  */
1652
- event?: string | null;
2400
+ params?: Array<SmartContract.Param> | null;
2401
+
2402
+ /**
2403
+ * Type of the smart contract interaction.
2404
+ */
2405
+ type?: 'function' | 'event' | null;
2406
+ }
2407
+
2408
+ export namespace SmartContract {
2409
+ /**
2410
+ * Object containing details of the amount multiplier from the event.
2411
+ */
2412
+ export interface AmountMultiplier {
2413
+ /**
2414
+ * Mapping of the value for the smart contract.
2415
+ */
2416
+ valueMapping?: string | null;
2417
+ }
2418
+
2419
+ export interface Param {
2420
+ /**
2421
+ * Condition to check for the parameter.
2422
+ */
2423
+ condition?: string | null;
2424
+
2425
+ /**
2426
+ * Name of the smart contract parameter.
2427
+ */
2428
+ name?: string | null;
2429
+
2430
+ /**
2431
+ * Value of the parameter.
2432
+ */
2433
+ value?: string | null;
2434
+ }
2435
+ }
2436
+
2437
+ export interface SnapshotProposal {
2438
+ /**
2439
+ * ID of the snapshot proposal.
2440
+ */
2441
+ id: string;
2442
+
2443
+ /**
2444
+ * Space associated with the snapshot proposal.
2445
+ */
2446
+ space: string;
2447
+ }
2448
+
2449
+ export interface StreakArray {
2450
+ /**
2451
+ * Reward amount for achieving the streak milestone.
2452
+ */
2453
+ streakAmount: number;
2454
+
2455
+ /**
2456
+ * Milestone required to achieve the streak.
2457
+ */
2458
+ streakMilestone: number;
2459
+ }
2460
+
2461
+ /**
2462
+ * Metadata for swap loyalty rules
2463
+ */
2464
+ export interface Swap {
2465
+ provider?: 'any' | 'relay' | 'lifi';
2466
+
2467
+ relayReferrerId?: string;
2468
+
2469
+ requireCrossChainSwap?: boolean;
2470
+
2471
+ swappedToChain?: 'any' | number | string;
2472
+
2473
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2474
+
2475
+ tokenMode?: 'any' | 'specific';
2476
+
2477
+ trackTokenAmount?: boolean;
2478
+ }
2479
+
2480
+ export namespace Swap {
2481
+ export interface SwappedToToken {
2482
+ address: string;
2483
+
2484
+ chainId: string;
2485
+ }
2486
+ }
2487
+ }
2488
+ }
2489
+
2490
+ export interface RuleListResponse {
2491
+ data: Array<RuleListResponse.Data>;
2492
+
2493
+ hasNextPage: boolean;
2494
+ }
2495
+
2496
+ export namespace RuleListResponse {
2497
+ export interface Data {
2498
+ /**
2499
+ * Unique identifier for the loyalty rule
2500
+ */
2501
+ id: string;
2502
+
2503
+ /**
2504
+ * Amount associated with the loyalty rule
2505
+ */
2506
+ amount: number;
2507
+
2508
+ /**
2509
+ * Timestamp when the loyalty rule was created
2510
+ */
2511
+ createdAt: string;
2512
+
2513
+ /**
2514
+ * Timestamp when the loyalty rule was deleted (if applicable)
2515
+ */
2516
+ deletedAt: string | null;
2517
+
2518
+ /**
2519
+ * Description of the loyalty rule
2520
+ */
2521
+ description: string;
2522
+
2523
+ /**
2524
+ * End time of the loyalty rule
2525
+ */
2526
+ endTime: string;
2527
+
2528
+ /**
2529
+ * Frequency of the loyalty rule
2530
+ */
2531
+ frequency: string;
2532
+
2533
+ /**
2534
+ * Chains attached to the loyalty rule
2535
+ */
2536
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
2537
+
2538
+ /**
2539
+ * Name of the loyalty rule
2540
+ */
2541
+ name: string;
2542
+
2543
+ /**
2544
+ * Unique identifier for the organization
2545
+ */
2546
+ organizationId: string;
2547
+
2548
+ /**
2549
+ * Type of the reward
2550
+ */
2551
+ rewardType: 'points' | 'multiplier' | 'badge';
2552
+
2553
+ /**
2554
+ * Start time of the loyalty rule
2555
+ */
2556
+ startTime: string;
2557
+
2558
+ /**
2559
+ * Type of the loyalty rule
2560
+ */
2561
+ type: string;
2562
+
2563
+ /**
2564
+ * Timestamp when the loyalty rule was last updated
2565
+ */
2566
+ updatedAt: string;
2567
+
2568
+ /**
2569
+ * Unique identifier for the website
2570
+ */
2571
+ websiteId: string;
2572
+
2573
+ /**
2574
+ * Optional address of the collection
2575
+ */
2576
+ collectionAddress?: string;
2577
+
2578
+ /**
2579
+ * URL of the media associated with the loyalty rule
2580
+ */
2581
+ mediaUrl?: string | null;
2582
+
2583
+ /**
2584
+ * Optional metadata for the loyalty rule
2585
+ */
2586
+ metadata?: { [key: string]: Data.Metadata };
2587
+ }
2588
+
2589
+ export namespace Data {
2590
+ export interface LoyaltyRuleChain {
2591
+ /**
2592
+ * Unique identifier for the rule chain
2593
+ */
2594
+ id: string;
2595
+
2596
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
2597
+
2598
+ /**
2599
+ * Unique identifier for the loyalty rule
2600
+ */
2601
+ loyaltyRuleId: string;
1653
2602
 
1654
2603
  /**
1655
- * Maximum value allowed for the parameter.
2604
+ * Name of the rule chain
1656
2605
  */
1657
- max?: number | null;
2606
+ name: string;
2607
+ }
2608
+
2609
+ export namespace LoyaltyRuleChain {
2610
+ export interface LoyaltyCondition {
2611
+ /**
2612
+ * Unique identifier for the condition
2613
+ */
2614
+ id: string;
2615
+
2616
+ /**
2617
+ * Amount of the condition
2618
+ */
2619
+ amount: number | null;
2620
+
2621
+ association: Array<LoyaltyCondition.Association>;
2622
+
2623
+ /**
2624
+ * URL of the CSV file
2625
+ */
2626
+ csvUrl: string | null;
2627
+
2628
+ /**
2629
+ * Description of the condition
2630
+ */
2631
+ description: string | null;
2632
+
2633
+ /**
2634
+ * Number of times the condition must be met
2635
+ */
2636
+ repeatCount: number | null;
2637
+
2638
+ /**
2639
+ * Number of times the condition must be met
2640
+ */
2641
+ requiredCount: number | null;
2642
+
2643
+ /**
2644
+ * Type of the condition
2645
+ */
2646
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
2647
+ }
2648
+
2649
+ export namespace LoyaltyCondition {
2650
+ export interface Association {
2651
+ /**
2652
+ * Unique identifier for the association
2653
+ */
2654
+ id: string;
2655
+
2656
+ /**
2657
+ * Unique identifier for the loyalty badge
2658
+ */
2659
+ loyaltyBadgeId: string | null;
2660
+
2661
+ /**
2662
+ * Unique identifier for the loyalty currency
2663
+ */
2664
+ loyaltyCurrencyId: string | null;
2665
+
2666
+ loyaltyRule: Association.LoyaltyRule | null;
2667
+
2668
+ /**
2669
+ * Unique identifier for the loyalty rule group
2670
+ */
2671
+ loyaltyRuleGroupId: string | null;
2672
+
2673
+ /**
2674
+ * Unique identifier for the loyalty rule
2675
+ */
2676
+ loyaltyRuleId: string | null;
2677
+ }
2678
+
2679
+ export namespace Association {
2680
+ export interface LoyaltyRule {
2681
+ /**
2682
+ * Name of the loyalty rule
2683
+ */
2684
+ name: string;
2685
+ }
2686
+ }
2687
+ }
2688
+ }
2689
+
2690
+ export interface Metadata {
2691
+ /**
2692
+ * Number of tokens per batch.
2693
+ */
2694
+ batchSize?: number | null;
2695
+
2696
+ /**
2697
+ * Text displayed on the action button.
2698
+ */
2699
+ buttonText?: string | null;
2700
+
2701
+ /**
2702
+ * Flag indicating if commenting is required.
2703
+ */
2704
+ checkComment?: boolean | null;
2705
+
2706
+ /**
2707
+ * Flag indicating if liking the post is required.
2708
+ */
2709
+ checkLike?: boolean | null;
2710
+
2711
+ /**
2712
+ * Flag indicating if reposting is required.
2713
+ */
2714
+ checkRepost?: boolean | null;
2715
+
2716
+ /**
2717
+ * Text to check in the Twitter post, username, or bio.
2718
+ */
2719
+ checkText?: string | null;
2720
+
2721
+ /**
2722
+ * Array of collections associated with the rule.
2723
+ */
2724
+ collection?: Array<Metadata.Collection>;
2725
+
2726
+ /**
2727
+ * Conditions for completing the profile.
2728
+ */
2729
+ completeProfileConditions?: { [key: string]: boolean } | null;
2730
+
2731
+ /**
2732
+ * Description of the external rule condition (only for external rules)
2733
+ */
2734
+ conditionDescription?: string;
2735
+
2736
+ /**
2737
+ * Object containing details for the call-to-action.
2738
+ */
2739
+ cta?: Metadata.Cta | null;
2740
+
2741
+ /**
2742
+ * API key for custom rewards integration.
2743
+ */
2744
+ customRewardsApiKey?: string;
2745
+
2746
+ /**
2747
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2748
+ */
2749
+ directRpc?: boolean;
2750
+
2751
+ /**
2752
+ * Array of Discord servers, channels, and roles to join.
2753
+ */
2754
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2755
+
2756
+ /**
2757
+ * Array of drip quests required to complete the rule.
2758
+ */
2759
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2760
+
2761
+ /**
2762
+ * Flag indicating whether joining Discord servers is required.
2763
+ */
2764
+ enableJoinDiscordServers?: boolean | null;
2765
+
2766
+ /**
2767
+ * Flag indicating whether streaks are enabled.
2768
+ */
2769
+ enableStreaks?: boolean | null;
2770
+
2771
+ /**
2772
+ * Flag indicating whether the verified multiplier is enabled.
2773
+ */
2774
+ enableVerifiedMultiplier?: boolean;
2775
+
2776
+ /**
2777
+ * Fill source of the order for the token sale
2778
+ */
2779
+ fillSource?: string;
2780
+
2781
+ /**
2782
+ * Percentage reward given to a user for their first referral.
2783
+ */
2784
+ firstReferralReward?: number | null;
2785
+
2786
+ /**
2787
+ * Flag indicating whether the fill source is included.
2788
+ */
2789
+ hasFillSource?: boolean;
2790
+
2791
+ /**
2792
+ * Indicates if the item has never been sold.
2793
+ */
2794
+ hasNeverSold?: boolean;
2795
+
2796
+ /**
2797
+ * Indicates if the full royalty has been paid for items.
2798
+ */
2799
+ hasPaidFullRoyalty?: boolean;
2800
+
2801
+ /**
2802
+ * Flag indicating if the sale currency is included.
2803
+ */
2804
+ hasSaleCurrency?: boolean;
2805
+
2806
+ /**
2807
+ * Indicates if the user has a verified Twitter account.
2808
+ */
2809
+ hasVerifiedTwitter?: boolean;
2810
+
2811
+ /**
2812
+ * URL of the image associated with the rule.
2813
+ */
2814
+ imageUrl?: string | null;
2815
+
2816
+ /**
2817
+ * If enabled, the first transaction done on the platform will complete this rule
2818
+ */
2819
+ isCheckInOnEveryTxn?: boolean;
2820
+
2821
+ /**
2822
+ * Indicates if the multiplier has been applied to rewards.
2823
+ */
2824
+ isMultiplierApplied?: boolean;
2825
+
2826
+ /**
2827
+ * Flag indicating if the rule is restricted to new users.
2828
+ */
2829
+ isRestrictedToNewUsers?: boolean;
2830
+
2831
+ /**
2832
+ * Flag indicating if rewards are applied retroactively.
2833
+ */
2834
+ isRetroactive?: boolean | null;
2835
+
2836
+ /**
2837
+ * Flag indicating if the token hold multiplier is applied.
2838
+ */
2839
+ isTokenHoldMultiplier?: boolean;
2840
+
2841
+ /**
2842
+ * Optional link associated with the metadata.
2843
+ */
2844
+ link?: string | null;
2845
+
2846
+ /**
2847
+ * Liquidity pool details.
2848
+ */
2849
+ liquidity?: Metadata.Liquidity;
2850
+
2851
+ /**
2852
+ * Maximum quantity constraint for token holding.
2853
+ */
2854
+ maxQty?: number | null;
2855
+
2856
+ /**
2857
+ * Minimum quantity constraint for token holding.
2858
+ */
2859
+ minQty?: number | null;
2860
+
2861
+ /**
2862
+ * Array of loyalty currency IDs used for multipliers.
2863
+ */
2864
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2865
+
2866
+ /**
2867
+ * Flag indicating whether to include only known users.
2868
+ */
2869
+ onlyKnownUsers?: boolean;
2870
+
2871
+ /**
2872
+ * Flag indicating whether to include only native tokens.
2873
+ */
2874
+ onlyNative?: boolean;
2875
+
2876
+ /**
2877
+ * Flag indicating whether to include only non-listed items.
2878
+ */
2879
+ onlyNonListed?: boolean;
2880
+
2881
+ /**
2882
+ * Indicates if only existing users are rewarded.
2883
+ */
2884
+ onlyRewardExistingUser?: boolean;
2885
+
2886
+ /**
2887
+ * give points for only one token ownership per contract
2888
+ */
2889
+ onlyRewardSingleTokenOwnership?: boolean | null;
2890
+
2891
+ /**
2892
+ * Promotional code associated with the rule.
2893
+ */
2894
+ promoCode?: string;
2895
+
2896
+ /**
2897
+ * URL of the CSV file containing promo codes.
2898
+ */
2899
+ promoCodeCsvUrl?: string;
2900
+
2901
+ /**
2902
+ * Numbers of the promotional code to be generated.
2903
+ */
2904
+ promoCodeLength?: number | null;
2905
+
2906
+ /**
2907
+ * Type of the promotional code.
2908
+ */
2909
+ promoCodeType?: 'code' | 'csv' | 'generate';
2910
+
2911
+ /**
2912
+ * Array defining ranges and corresponding rewards.
2913
+ */
2914
+ range?: Array<Metadata.Range>;
2915
+
2916
+ /**
2917
+ * Object defining referral requirements.
2918
+ */
2919
+ referralRequirements?: Metadata.ReferralRequirements | null;
2920
+
2921
+ /**
2922
+ * Lump sum reward given to a referrer.
2923
+ */
2924
+ referrerReward?: number | null;
2925
+
2926
+ /**
2927
+ * Loyalty currency ID of the referrer reward.
2928
+ */
2929
+ referrerRewardLoyaltyCurrencyId?: string | null;
2930
+
2931
+ /**
2932
+ * Flag indicating if the post link is required.
2933
+ */
2934
+ requirePostLink?: boolean | null;
2935
+
2936
+ /**
2937
+ * Flag indicating if the rule can also reward badges per range.
2938
+ */
2939
+ rewardBadgePerRange?: boolean;
2940
+
2941
+ /**
2942
+ * Flag indicating if the reward is rewarded by batch.
2943
+ */
2944
+ rewardByBatch?: boolean | null;
2945
+
2946
+ /**
2947
+ * Flag indicating if the reward is rewarded per action.
2948
+ */
2949
+ rewardPerAction?: boolean | null;
2950
+
2951
+ /**
2952
+ * Flag indicating if rewards are given per impression.
2953
+ */
2954
+ rewardPerImpression?: boolean | null;
2955
+
2956
+ /**
2957
+ * Flag indicating if the rule should reward based on value of traded tokens
2958
+ * instead of count.
2959
+ */
2960
+ rewardPerValue?: boolean;
2961
+
2962
+ /**
2963
+ * Wallet address of the user can only be used if userId is not provided
2964
+ */
2965
+ royaltyAddress?: string;
2966
+
2967
+ /**
2968
+ * Royalty percentage of the item.
2969
+ */
2970
+ royaltyPercentage?: number;
2971
+
2972
+ /**
2973
+ * Currency associated with sales.
2974
+ */
2975
+ saleCurrency?: string;
2976
+
2977
+ /**
2978
+ * Percentage reward given for a second-level referral.
2979
+ */
2980
+ secondReferralReward?: number | null;
2981
+
2982
+ /**
2983
+ * Flag indicating if the multiplier is skipped.
2984
+ */
2985
+ skipMultiplier?: boolean | null;
2986
+
2987
+ /**
2988
+ * Object containing details of the associated smart contract.
2989
+ */
2990
+ smartContract?: Metadata.SmartContract;
2991
+
2992
+ /**
2993
+ * Array of snapshot proposals for the rule.
2994
+ */
2995
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2996
+
2997
+ /**
2998
+ * Social media platform associated with the rule.
2999
+ */
3000
+ socialPlatform?:
3001
+ | 'Custom'
3002
+ | 'Discord'
3003
+ | 'EpicGames'
3004
+ | 'Instagram'
3005
+ | 'Steam'
3006
+ | 'Telegram'
3007
+ | 'TikTok'
3008
+ | 'Twitch'
3009
+ | 'X(Twitter)'
3010
+ | 'YouTube'
3011
+ | 'Google'
3012
+ | null;
3013
+
3014
+ /**
3015
+ * URL of the social platform's logo.
3016
+ */
3017
+ socialPlatformLogo?: string | null;
3018
+
3019
+ /**
3020
+ * Name of the social platform.
3021
+ */
3022
+ socialPlatformName?: string | null;
3023
+
3024
+ /**
3025
+ * ID of the Steam app.
3026
+ */
3027
+ steamAppId?: string | null;
3028
+
3029
+ /**
3030
+ * Array of streak milestones and corresponding rewards.
3031
+ */
3032
+ streakArray?: Array<Metadata.StreakArray> | null;
3033
+
3034
+ /**
3035
+ * Metadata for swap loyalty rules
3036
+ */
3037
+ swap?: Metadata.Swap;
3038
+
3039
+ /**
3040
+ * ID of the Telegram channel.
3041
+ */
3042
+ telegramChannelId?: string | null;
3043
+
3044
+ /**
3045
+ * Time delay in seconds to verify actions.
3046
+ */
3047
+ timeDelayToVerifySeconds?: string | number | null;
3048
+
3049
+ /**
3050
+ * Flag indicating if all contracts are tracked.
3051
+ */
3052
+ trackAllContracts?: boolean | null;
3053
+
3054
+ /**
3055
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3056
+ * completed once the progress is 100%.
3057
+ */
3058
+ trackProgress?: boolean | null;
3059
+
3060
+ /**
3061
+ * URL of the associated Twitter account.
3062
+ */
3063
+ twitterAccountUrl?: string;
3064
+
3065
+ /**
3066
+ * Hashtag associated with the Twitter post.
3067
+ */
3068
+ twitterHashtag?: string;
3069
+
3070
+ /**
3071
+ * URL of the associated Twitter post.
3072
+ */
3073
+ twitterPostUrl?: string;
3074
+
3075
+ /**
3076
+ * Unique identifier of the Twitter user.
3077
+ */
3078
+ twitterUserId?: string;
3079
+
3080
+ /**
3081
+ * Twitter username of the user.
3082
+ */
3083
+ twitterUsername?: string;
3084
+
3085
+ /**
3086
+ * Minimum length of the verification text.
3087
+ */
3088
+ verificationTextMinimumLength?: number | null;
3089
+
3090
+ /**
3091
+ * Multiplier applied to rewards for verified users.
3092
+ */
3093
+ verifiedMultiplier?: number | null;
3094
+
3095
+ /**
3096
+ * Placeholder text for verification input fields.
3097
+ */
3098
+ verifyPlaceHolderText?: string | null;
3099
+
3100
+ /**
3101
+ * Type of wallet associated with the rule.
3102
+ */
3103
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
3104
+
3105
+ /**
3106
+ * ID of the Youtube channel.
3107
+ */
3108
+ youtubeChannelId?: string | null;
3109
+
3110
+ /**
3111
+ * ID of the Youtube video.
3112
+ */
3113
+ youtubeVideoId?: string | null;
3114
+ }
3115
+
3116
+ export namespace Metadata {
3117
+ export interface Collection {
3118
+ /**
3119
+ * Blockchain address of the collection.
3120
+ */
3121
+ address?: string;
3122
+
3123
+ /**
3124
+ * Multiplier applied to the rewards for this collection.
3125
+ */
3126
+ multiplier?: number;
3127
+
3128
+ /**
3129
+ * Blockchain network of the collection.
3130
+ */
3131
+ network?:
3132
+ | 'abstract'
3133
+ | 'abstractTestnet'
3134
+ | 'apechain'
3135
+ | 'arbitrum'
3136
+ | 'avalanche'
3137
+ | 'avalancheFuji'
3138
+ | 'base'
3139
+ | 'baseSepolia'
3140
+ | 'berachain'
3141
+ | 'berachainArtio'
3142
+ | 'berachainBepolia'
3143
+ | 'binance'
3144
+ | 'bscTestnet'
3145
+ | 'campTestnet'
3146
+ | 'fantom'
3147
+ | 'fantomTestnet'
3148
+ | 'flowMainnet'
3149
+ | 'mainnet'
3150
+ | 'nexusTestnet'
3151
+ | 'optimism'
3152
+ | 'polygon'
3153
+ | 'polygon_mumbai'
3154
+ | 'skaleNebula'
3155
+ | 'solana'
3156
+ | 'sophon'
3157
+ | 'sophonTestnet'
3158
+ | 'sui'
3159
+ | 'superseed'
3160
+ | 'superseedSepolia'
3161
+ | 'vanar'
3162
+ | 'xai'
3163
+ | 'zksync'
3164
+ | 'coti'
3165
+ | 'cotiTestnet'
3166
+ | 'morph'
3167
+ | 'morphTestnet'
3168
+ | 'morphHolesky'
3169
+ | 'ultra'
3170
+ | 'ultraTestnet'
3171
+ | 'nitrograph'
3172
+ | 'sepolia'
3173
+ | 'optimism_sepolia'
3174
+ | 'arbitrumSepolia'
3175
+ | 'goerli'
3176
+ | 'optimism_goerli'
3177
+ | 'arbitrumGoerli'
3178
+ | 'basecamp';
3179
+ }
3180
+
3181
+ /**
3182
+ * Object containing details for the call-to-action.
3183
+ */
3184
+ export interface Cta {
3185
+ /**
3186
+ * Link for the call-to-action.
3187
+ */
3188
+ href?: string | null;
3189
+
3190
+ /**
3191
+ * Label for the call-to-action.
3192
+ */
3193
+ label?: string | null;
3194
+ }
3195
+
3196
+ export interface DiscordServersToJoin {
3197
+ /**
3198
+ * ID of the Discord server to join.
3199
+ */
3200
+ id?: string;
3201
+
3202
+ /**
3203
+ * Array of Discord channels to join.
3204
+ */
3205
+ channels?: Array<DiscordServersToJoin.Channel>;
3206
+
3207
+ /**
3208
+ * Array of roles to assign in the Discord server.
3209
+ */
3210
+ roles?: Array<DiscordServersToJoin.Role>;
3211
+ }
3212
+
3213
+ export namespace DiscordServersToJoin {
3214
+ export interface Channel {
3215
+ /**
3216
+ * ID of the Discord channel.
3217
+ */
3218
+ id?: string;
3219
+
3220
+ /**
3221
+ * Array of emojis used in the channel.
3222
+ */
3223
+ emojis?: Array<Channel.Emoji>;
3224
+
3225
+ /**
3226
+ * Phrase of text to be present in the discord message
3227
+ */
3228
+ text?: string;
3229
+ }
3230
+
3231
+ export namespace Channel {
3232
+ export interface Emoji {
3233
+ /**
3234
+ * ID of the emoji used in the channel.
3235
+ */
3236
+ id?: string;
3237
+ }
3238
+ }
3239
+
3240
+ export interface Role {
3241
+ /**
3242
+ * ID of the role in the Discord server.
3243
+ */
3244
+ id: string;
3245
+ }
3246
+ }
3247
+
3248
+ export interface DripQuestsToComplete {
3249
+ /**
3250
+ * ID of the drip quest to complete.
3251
+ */
3252
+ id: string;
3253
+ }
3254
+
3255
+ /**
3256
+ * Liquidity pool details.
3257
+ */
3258
+ export interface Liquidity {
3259
+ /**
3260
+ * Calculation type of the liquidity pool.
3261
+ */
3262
+ calculationType?: 'fixed' | 'custom';
3263
+
3264
+ /**
3265
+ * Custom function to calculate the the reward amount based on the liquidity
3266
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3267
+ * USD.
3268
+ */
3269
+ customFunction?: string;
3270
+
3271
+ /**
3272
+ * Liquidity provided per day in USD
3273
+ */
3274
+ liquidityPerDay?: number;
3275
+
3276
+ /**
3277
+ * Blockchain network of the liquidity pool.
3278
+ */
3279
+ network?:
3280
+ | 'abstract'
3281
+ | 'abstractTestnet'
3282
+ | 'apechain'
3283
+ | 'arbitrum'
3284
+ | 'avalanche'
3285
+ | 'avalancheFuji'
3286
+ | 'base'
3287
+ | 'baseSepolia'
3288
+ | 'berachain'
3289
+ | 'berachainArtio'
3290
+ | 'berachainBepolia'
3291
+ | 'binance'
3292
+ | 'bscTestnet'
3293
+ | 'campTestnet'
3294
+ | 'fantom'
3295
+ | 'fantomTestnet'
3296
+ | 'flowMainnet'
3297
+ | 'mainnet'
3298
+ | 'nexusTestnet'
3299
+ | 'optimism'
3300
+ | 'polygon'
3301
+ | 'polygon_mumbai'
3302
+ | 'skaleNebula'
3303
+ | 'solana'
3304
+ | 'sophon'
3305
+ | 'sophonTestnet'
3306
+ | 'sui'
3307
+ | 'superseed'
3308
+ | 'superseedSepolia'
3309
+ | 'vanar'
3310
+ | 'xai'
3311
+ | 'zksync'
3312
+ | 'coti'
3313
+ | 'cotiTestnet'
3314
+ | 'morph'
3315
+ | 'morphTestnet'
3316
+ | 'morphHolesky'
3317
+ | 'ultra'
3318
+ | 'ultraTestnet'
3319
+ | 'nitrograph'
3320
+ | 'sepolia'
3321
+ | 'optimism_sepolia'
3322
+ | 'arbitrumSepolia'
3323
+ | 'goerli'
3324
+ | 'optimism_goerli'
3325
+ | 'arbitrumGoerli'
3326
+ | 'basecamp';
3327
+
3328
+ /**
3329
+ * Indicates if only in-range liquidity is rewarded.
3330
+ */
3331
+ onlyRewardInRangeLiquidity?: boolean;
3332
+
3333
+ /**
3334
+ * Array of liquidity pools associated with the rule.
3335
+ */
3336
+ pools?: Array<Liquidity.Pool>;
3337
+
3338
+ /**
3339
+ * Protocol of the liquidity pool.
3340
+ */
3341
+ protocol?: string;
3342
+ }
3343
+
3344
+ export namespace Liquidity {
3345
+ export interface Pool {
3346
+ /**
3347
+ * Unique identifier of the liquidity pool.
3348
+ */
3349
+ id: string;
3350
+ }
3351
+ }
3352
+
3353
+ export interface Range {
3354
+ /**
3355
+ * Reward amount for this range.
3356
+ */
3357
+ amount: number;
3358
+
3359
+ /**
3360
+ * End value of the range.
3361
+ */
3362
+ endRange: number;
3363
+
3364
+ /**
3365
+ * Start value of the range.
3366
+ */
3367
+ startRange: number;
3368
+
3369
+ /**
3370
+ * ID of the loyalty badge for this range.
3371
+ */
3372
+ loyaltyBadgeId?: string;
3373
+
3374
+ /**
3375
+ * Amount of the loyalty multiplier for this range.
3376
+ */
3377
+ loyaltyMultiplierAmount?: number;
3378
+ }
3379
+
3380
+ /**
3381
+ * Object defining referral requirements.
3382
+ */
3383
+ export interface ReferralRequirements {
3384
+ /**
3385
+ * Flag indicating if achieving points is required.
3386
+ */
3387
+ achievePoints?: boolean | null;
3388
+
3389
+ /**
3390
+ * Flag indicating if completing the profile is required.
3391
+ */
3392
+ completeProfile?: boolean | null;
3393
+
3394
+ /**
3395
+ * Flag indicating if connecting Discord is required.
3396
+ */
3397
+ connectDiscord?: boolean | null;
3398
+
3399
+ /**
3400
+ * Flag indicating if connecting email is required.
3401
+ */
3402
+ connectEmail?: boolean | null;
3403
+
3404
+ /**
3405
+ * Flag indicating if connecting Twitter is required.
3406
+ */
3407
+ connectTwitter?: boolean | null;
1658
3408
 
1659
- /**
1660
- * Array of parameters for the smart contract.
1661
- */
1662
- params?: Array<SmartContract.Param> | null;
3409
+ points?: ReferralRequirements.Points | null;
3410
+ }
1663
3411
 
1664
- /**
1665
- * Flag indicating if a bonus is applied.
1666
- */
1667
- withBonus?: boolean | null;
3412
+ export namespace ReferralRequirements {
3413
+ export interface Points {
3414
+ /**
3415
+ * Points required for referral.
3416
+ */
3417
+ amount?: number | null;
1668
3418
 
1669
- /**
1670
- * Flag indicating if a custom range is applied.
1671
- */
1672
- withCustomRange?: boolean | null;
3419
+ /**
3420
+ * ID of the loyalty currency for referral.
3421
+ */
3422
+ loyaltyCurrecyId?: string | null;
3423
+ }
3424
+ }
1673
3425
 
1674
3426
  /**
1675
- * Flag indicating if a maximum limit is applied.
3427
+ * Object containing details of the associated smart contract.
1676
3428
  */
1677
- withMax?: boolean | null;
1678
- }
1679
-
1680
- export namespace SmartContract {
1681
- export interface Bonus {
3429
+ export interface SmartContract {
1682
3430
  /**
1683
- * Amount of the bonus.
3431
+ * Mapping of addresses for the smart contract.
1684
3432
  */
1685
- amount?: number | null;
3433
+ addressMapping?: string | null;
1686
3434
 
1687
3435
  /**
1688
- * Number of times the bonus is applied.
3436
+ * Object containing details of the amount multiplier from the event.
1689
3437
  */
1690
- count?: number | null;
1691
- }
3438
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1692
3439
 
1693
- /**
1694
- * Time range applied to the rule.
1695
- */
1696
- export interface CustomRange {
1697
3440
  /**
1698
- * End time of the custom range.
3441
+ * ID of the smart contract.
1699
3442
  */
1700
- endsAt?: string | null;
3443
+ contractId?: string | null;
1701
3444
 
1702
3445
  /**
1703
- * Start time of the custom range.
3446
+ * Criteria to evaluate the smart contract event.
1704
3447
  */
1705
- startsAt?: string | null;
1706
- }
3448
+ criteria?: 'everyEvent' | 'byParameter' | null;
1707
3449
 
1708
- export interface Param {
1709
3450
  /**
1710
- * Condition to check for the parameter.
3451
+ * Event emitted by the smart contract.
1711
3452
  */
1712
- condition?: string | null;
3453
+ event?: string | null;
1713
3454
 
1714
3455
  /**
1715
- * Name of the smart contract parameter.
3456
+ * Array of parameters for the smart contract.
1716
3457
  */
1717
- name?: string | null;
3458
+ params?: Array<SmartContract.Param> | null;
1718
3459
 
1719
3460
  /**
1720
- * Value of the parameter.
3461
+ * Type of the smart contract interaction.
1721
3462
  */
1722
- value?: string | null;
3463
+ type?: 'function' | 'event' | null;
1723
3464
  }
1724
- }
1725
3465
 
1726
- export interface SnapshotProposal {
1727
- /**
1728
- * ID of the snapshot proposal.
1729
- */
1730
- id: string;
3466
+ export namespace SmartContract {
3467
+ /**
3468
+ * Object containing details of the amount multiplier from the event.
3469
+ */
3470
+ export interface AmountMultiplier {
3471
+ /**
3472
+ * Mapping of the value for the smart contract.
3473
+ */
3474
+ valueMapping?: string | null;
3475
+ }
1731
3476
 
1732
- /**
1733
- * Space associated with the snapshot proposal.
1734
- */
1735
- space: string;
1736
- }
3477
+ export interface Param {
3478
+ /**
3479
+ * Condition to check for the parameter.
3480
+ */
3481
+ condition?: string | null;
1737
3482
 
1738
- export interface StreakArray {
1739
- /**
1740
- * Reward amount for achieving the streak milestone.
1741
- */
1742
- streakAmount: number;
3483
+ /**
3484
+ * Name of the smart contract parameter.
3485
+ */
3486
+ name?: string | null;
1743
3487
 
1744
- /**
1745
- * Milestone required to achieve the streak.
1746
- */
1747
- streakMilestone: number;
1748
- }
1749
- }
1750
- }
3488
+ /**
3489
+ * Value of the parameter.
3490
+ */
3491
+ value?: string | null;
3492
+ }
3493
+ }
1751
3494
 
1752
- export interface RuleListResponse {
1753
- data: Array<RuleListResponse.Data>;
3495
+ export interface SnapshotProposal {
3496
+ /**
3497
+ * ID of the snapshot proposal.
3498
+ */
3499
+ id: string;
1754
3500
 
1755
- hasNextPage: boolean;
1756
- }
3501
+ /**
3502
+ * Space associated with the snapshot proposal.
3503
+ */
3504
+ space: string;
3505
+ }
1757
3506
 
1758
- export namespace RuleListResponse {
1759
- /**
1760
- * Schema for a loyalty rule
1761
- */
1762
- export interface Data {
1763
- /**
1764
- * Unique identifier for the loyalty rule
1765
- */
1766
- id: string;
3507
+ export interface StreakArray {
3508
+ /**
3509
+ * Reward amount for achieving the streak milestone.
3510
+ */
3511
+ streakAmount: number;
1767
3512
 
1768
- /**
1769
- * Amount associated with the loyalty rule
1770
- */
1771
- amount: number;
3513
+ /**
3514
+ * Milestone required to achieve the streak.
3515
+ */
3516
+ streakMilestone: number;
3517
+ }
1772
3518
 
1773
- /**
1774
- * Timestamp when the loyalty rule was created
1775
- */
1776
- createdAt: string;
3519
+ /**
3520
+ * Metadata for swap loyalty rules
3521
+ */
3522
+ export interface Swap {
3523
+ provider?: 'any' | 'relay' | 'lifi';
1777
3524
 
1778
- /**
1779
- * Timestamp when the loyalty rule was deleted (if applicable)
1780
- */
1781
- deletedAt: string | null;
3525
+ relayReferrerId?: string;
1782
3526
 
1783
- /**
1784
- * Frequency of the loyalty rule
1785
- */
1786
- frequency: string;
3527
+ requireCrossChainSwap?: boolean;
1787
3528
 
1788
- /**
1789
- * Unique identifier for the organization
1790
- */
1791
- organizationId: string;
3529
+ swappedToChain?: 'any' | number | string;
1792
3530
 
1793
- /**
1794
- * Type of the loyalty rule
1795
- */
1796
- type: string;
3531
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1797
3532
 
1798
- /**
1799
- * Timestamp when the loyalty rule was last updated
1800
- */
1801
- updatedAt: string;
3533
+ tokenMode?: 'any' | 'specific';
1802
3534
 
1803
- /**
1804
- * Unique identifier for the website
1805
- */
1806
- websiteId: string;
3535
+ trackTokenAmount?: boolean;
3536
+ }
1807
3537
 
1808
- /**
1809
- * Optional address of the collection
1810
- */
1811
- collectionAddress?: string;
3538
+ export namespace Swap {
3539
+ export interface SwappedToToken {
3540
+ address: string;
1812
3541
 
1813
- /**
1814
- * Optional metadata for the loyalty rule
1815
- */
1816
- metadata?: Record<string, unknown>;
3542
+ chainId: string;
3543
+ }
3544
+ }
3545
+ }
1817
3546
  }
1818
3547
  }
1819
3548
 
@@ -1824,14 +3553,16 @@ export interface RuleDeleteResponse {
1824
3553
  }
1825
3554
 
1826
3555
  export interface RuleCompleteResponse {
1827
- message: string;
3556
+ message:
3557
+ | 'Completion request added to queue'
3558
+ | 'Link click being verified, come back later to check the status';
1828
3559
  }
1829
3560
 
1830
- export interface RuleStatusResponse {
1831
- data: Array<RuleStatusResponse.Data>;
3561
+ export interface RuleGetStatusResponse {
3562
+ data: Array<RuleGetStatusResponse.Data>;
1832
3563
  }
1833
3564
 
1834
- export namespace RuleStatusResponse {
3565
+ export namespace RuleGetStatusResponse {
1835
3566
  export interface Data {
1836
3567
  loyaltyRuleId: string;
1837
3568
 
@@ -1950,7 +3681,19 @@ export interface RuleCreateParams {
1950
3681
  | 'twitter_like'
1951
3682
  | 'twitter_post_hashtag'
1952
3683
  | 'quiz'
1953
- | 'poll';
3684
+ | 'poll'
3685
+ | 'steam_wishlist'
3686
+ | 'liquidity_uniswap_v2'
3687
+ | 'liquidity_uniswap_v3'
3688
+ | 'points_airdrop'
3689
+ | 'youtube_subscribers'
3690
+ | 'youtube_comment'
3691
+ | 'shopify_spend'
3692
+ | 'swap'
3693
+ | 'tiktok_post'
3694
+ | 'post_impressions'
3695
+ | 'discord_join'
3696
+ | 'connected_youtube';
1954
3697
 
1955
3698
  /**
1956
3699
  * Unique identifier for the associated website
@@ -1987,6 +3730,13 @@ export interface RuleCreateParams {
1987
3730
  */
1988
3731
  description?: string;
1989
3732
 
3733
+ duplicatedFromId?: string | null;
3734
+
3735
+ /**
3736
+ * ID of the external integration
3737
+ */
3738
+ externalIntegrationId?: string | null;
3739
+
1990
3740
  /**
1991
3741
  * Whether to hide this rule in the user interface
1992
3742
  */
@@ -1995,51 +3745,96 @@ export interface RuleCreateParams {
1995
3745
  /**
1996
3746
  * Interval between rule executions
1997
3747
  */
1998
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | null;
3748
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1999
3749
 
2000
3750
  /**
2001
3751
  * Whether this rule is mandatory
2002
3752
  */
2003
3753
  isRequired?: boolean;
2004
3754
 
3755
+ /**
3756
+ * Unique identifier for the loyalty badge
3757
+ */
3758
+ loyaltyBadgeId?: string | null;
3759
+
2005
3760
  /**
2006
3761
  * Unique identifier for the loyalty rule group
2007
3762
  */
2008
3763
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2009
3764
 
3765
+ /**
3766
+ * URL for uploading loyalty user allotment via CSV
3767
+ */
3768
+ loyaltyUserAllotmentCsvUrl?: string;
3769
+
3770
+ /**
3771
+ * The interval for the max amount. Available for the smart contract and external
3772
+ * rules.
3773
+ */
3774
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3775
+
3776
+ /**
3777
+ * The maximum amount of points a user can earn per interval. Available for the
3778
+ * smart contract and external rules.
3779
+ */
3780
+ maxAmountPerInterval?: number | null;
3781
+
3782
+ /**
3783
+ * URL of the media to be displayed
3784
+ */
3785
+ mediaUrl?: string | null;
3786
+
2010
3787
  /**
2011
3788
  * Blockchain network where the rule will apply
2012
3789
  */
2013
3790
  network?:
2014
- | 'mainnet'
2015
- | 'polygon'
2016
- | 'polygon_mumbai'
2017
- | 'optimism'
3791
+ | 'abstract'
3792
+ | 'abstractTestnet'
3793
+ | 'apechain'
2018
3794
  | 'arbitrum'
2019
- | 'binance'
2020
- | 'bscTestnet'
2021
3795
  | 'avalanche'
2022
3796
  | 'avalancheFuji'
2023
- | 'zksync'
2024
- | 'fantom'
2025
- | 'fantomTestnet'
2026
3797
  | 'base'
2027
3798
  | 'baseSepolia'
2028
- | 'skaleNebula'
2029
- | 'xai'
3799
+ | 'berachain'
2030
3800
  | 'berachainArtio'
2031
- | 'solana'
2032
- | 'apechain'
2033
- | 'flowMainnet'
3801
+ | 'berachainBepolia'
3802
+ | 'binance'
3803
+ | 'bscTestnet'
2034
3804
  | 'campTestnet'
3805
+ | 'fantom'
3806
+ | 'fantomTestnet'
3807
+ | 'flowMainnet'
3808
+ | 'mainnet'
3809
+ | 'nexusTestnet'
3810
+ | 'optimism'
3811
+ | 'polygon'
3812
+ | 'polygon_mumbai'
3813
+ | 'skaleNebula'
3814
+ | 'solana'
3815
+ | 'sophon'
3816
+ | 'sophonTestnet'
2035
3817
  | 'sui'
3818
+ | 'superseed'
3819
+ | 'superseedSepolia'
2036
3820
  | 'vanar'
3821
+ | 'xai'
3822
+ | 'zksync'
3823
+ | 'coti'
3824
+ | 'cotiTestnet'
3825
+ | 'morph'
3826
+ | 'morphTestnet'
3827
+ | 'morphHolesky'
3828
+ | 'ultra'
3829
+ | 'ultraTestnet'
3830
+ | 'nitrograph'
2037
3831
  | 'sepolia'
2038
3832
  | 'optimism_sepolia'
2039
3833
  | 'arbitrumSepolia'
2040
3834
  | 'goerli'
2041
3835
  | 'optimism_goerli'
2042
- | 'arbitrumGoerli';
3836
+ | 'arbitrumGoerli'
3837
+ | 'basecamp';
2043
3838
 
2044
3839
  /**
2045
3840
  * OAuth credentials associated with the rule
@@ -2049,12 +3844,22 @@ export interface RuleCreateParams {
2049
3844
  /**
2050
3845
  * Type of reward issued by the rule
2051
3846
  */
2052
- rewardType?: 'points' | 'multiplier';
3847
+ rewardType?: 'points' | 'multiplier' | 'badge';
3848
+
3849
+ /**
3850
+ * URL of the Shopify store
3851
+ */
3852
+ shopifyStoreUrl?: string | null;
3853
+
3854
+ /**
3855
+ * Whether to show this rule before the start time
3856
+ */
3857
+ showBeforeStart?: boolean;
2053
3858
 
2054
3859
  /**
2055
- * Identifier for associated subscriptions
3860
+ * Optional subscription id for the rule
2056
3861
  */
2057
- subscriptionIdentifier?: string | null;
3862
+ subscriptionId?: string | null;
2058
3863
  }
2059
3864
 
2060
3865
  export namespace RuleCreateParams {
@@ -2062,6 +3867,11 @@ export namespace RuleCreateParams {
2062
3867
  * Additional metadata for the loyalty rule
2063
3868
  */
2064
3869
  export interface Metadata {
3870
+ /**
3871
+ * Number of tokens per batch.
3872
+ */
3873
+ batchSize?: number | null;
3874
+
2065
3875
  /**
2066
3876
  * Text displayed on the action button.
2067
3877
  */
@@ -2092,6 +3902,16 @@ export namespace RuleCreateParams {
2092
3902
  */
2093
3903
  collection?: Array<Metadata.Collection>;
2094
3904
 
3905
+ /**
3906
+ * Conditions for completing the profile.
3907
+ */
3908
+ completeProfileConditions?: { [key: string]: boolean } | null;
3909
+
3910
+ /**
3911
+ * Description of the external rule condition (only for external rules)
3912
+ */
3913
+ conditionDescription?: string;
3914
+
2095
3915
  /**
2096
3916
  * Object containing details for the call-to-action.
2097
3917
  */
@@ -2102,6 +3922,11 @@ export namespace RuleCreateParams {
2102
3922
  */
2103
3923
  customRewardsApiKey?: string;
2104
3924
 
3925
+ /**
3926
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3927
+ */
3928
+ directRpc?: boolean;
3929
+
2105
3930
  /**
2106
3931
  * Array of Discord servers, channels, and roles to join.
2107
3932
  */
@@ -2127,11 +3952,21 @@ export namespace RuleCreateParams {
2127
3952
  */
2128
3953
  enableVerifiedMultiplier?: boolean;
2129
3954
 
3955
+ /**
3956
+ * Fill source of the order for the token sale
3957
+ */
3958
+ fillSource?: string;
3959
+
2130
3960
  /**
2131
3961
  * Percentage reward given to a user for their first referral.
2132
3962
  */
2133
3963
  firstReferralReward?: number | null;
2134
3964
 
3965
+ /**
3966
+ * Flag indicating whether the fill source is included.
3967
+ */
3968
+ hasFillSource?: boolean;
3969
+
2135
3970
  /**
2136
3971
  * Indicates if the item has never been sold.
2137
3972
  */
@@ -2157,11 +3992,21 @@ export namespace RuleCreateParams {
2157
3992
  */
2158
3993
  imageUrl?: string | null;
2159
3994
 
3995
+ /**
3996
+ * If enabled, the first transaction done on the platform will complete this rule
3997
+ */
3998
+ isCheckInOnEveryTxn?: boolean;
3999
+
2160
4000
  /**
2161
4001
  * Indicates if the multiplier has been applied to rewards.
2162
4002
  */
2163
4003
  isMultiplierApplied?: boolean;
2164
4004
 
4005
+ /**
4006
+ * Flag indicating if the rule is restricted to new users.
4007
+ */
4008
+ isRestrictedToNewUsers?: boolean;
4009
+
2165
4010
  /**
2166
4011
  * Flag indicating if rewards are applied retroactively.
2167
4012
  */
@@ -2177,6 +4022,11 @@ export namespace RuleCreateParams {
2177
4022
  */
2178
4023
  link?: string | null;
2179
4024
 
4025
+ /**
4026
+ * Liquidity pool details.
4027
+ */
4028
+ liquidity?: Metadata.Liquidity;
4029
+
2180
4030
  /**
2181
4031
  * Maximum quantity constraint for token holding.
2182
4032
  */
@@ -2207,6 +4057,11 @@ export namespace RuleCreateParams {
2207
4057
  */
2208
4058
  onlyNonListed?: boolean;
2209
4059
 
4060
+ /**
4061
+ * Indicates if only existing users are rewarded.
4062
+ */
4063
+ onlyRewardExistingUser?: boolean;
4064
+
2210
4065
  /**
2211
4066
  * give points for only one token ownership per contract
2212
4067
  */
@@ -2217,25 +4072,81 @@ export namespace RuleCreateParams {
2217
4072
  */
2218
4073
  promoCode?: string;
2219
4074
 
4075
+ /**
4076
+ * URL of the CSV file containing promo codes.
4077
+ */
4078
+ promoCodeCsvUrl?: string;
4079
+
4080
+ /**
4081
+ * Numbers of the promotional code to be generated.
4082
+ */
4083
+ promoCodeLength?: number | null;
4084
+
4085
+ /**
4086
+ * Type of the promotional code.
4087
+ */
4088
+ promoCodeType?: 'code' | 'csv' | 'generate';
4089
+
2220
4090
  /**
2221
4091
  * Array defining ranges and corresponding rewards.
2222
4092
  */
2223
- range?: Array<Metadata.Range>;
4093
+ range?: Array<Metadata.Range>;
4094
+
4095
+ /**
4096
+ * Object defining referral requirements.
4097
+ */
4098
+ referralRequirements?: Metadata.ReferralRequirements | null;
4099
+
4100
+ /**
4101
+ * Lump sum reward given to a referrer.
4102
+ */
4103
+ referrerReward?: number | null;
4104
+
4105
+ /**
4106
+ * Loyalty currency ID of the referrer reward.
4107
+ */
4108
+ referrerRewardLoyaltyCurrencyId?: string | null;
4109
+
4110
+ /**
4111
+ * Flag indicating if the post link is required.
4112
+ */
4113
+ requirePostLink?: boolean | null;
4114
+
4115
+ /**
4116
+ * Flag indicating if the rule can also reward badges per range.
4117
+ */
4118
+ rewardBadgePerRange?: boolean;
4119
+
4120
+ /**
4121
+ * Flag indicating if the reward is rewarded by batch.
4122
+ */
4123
+ rewardByBatch?: boolean | null;
4124
+
4125
+ /**
4126
+ * Flag indicating if the reward is rewarded per action.
4127
+ */
4128
+ rewardPerAction?: boolean | null;
4129
+
4130
+ /**
4131
+ * Flag indicating if rewards are given per impression.
4132
+ */
4133
+ rewardPerImpression?: boolean | null;
2224
4134
 
2225
4135
  /**
2226
- * Object defining referral requirements.
4136
+ * Flag indicating if the rule should reward based on value of traded tokens
4137
+ * instead of count.
2227
4138
  */
2228
- referralRequirements?: Metadata.ReferralRequirements | null;
4139
+ rewardPerValue?: boolean;
2229
4140
 
2230
4141
  /**
2231
- * Lump sum reward given to a referrer.
4142
+ * Wallet address of the user can only be used if userId is not provided
2232
4143
  */
2233
- referrerReward?: number | null;
4144
+ royaltyAddress?: string;
2234
4145
 
2235
4146
  /**
2236
- * Flag indicating if rewards are given per impression.
4147
+ * Royalty percentage of the item.
2237
4148
  */
2238
- rewardPerImpression?: boolean | null;
4149
+ royaltyPercentage?: number;
2239
4150
 
2240
4151
  /**
2241
4152
  * Currency associated with sales.
@@ -2276,6 +4187,7 @@ export namespace RuleCreateParams {
2276
4187
  | 'Twitch'
2277
4188
  | 'X(Twitter)'
2278
4189
  | 'YouTube'
4190
+ | 'Google'
2279
4191
  | null;
2280
4192
 
2281
4193
  /**
@@ -2288,11 +4200,21 @@ export namespace RuleCreateParams {
2288
4200
  */
2289
4201
  socialPlatformName?: string | null;
2290
4202
 
4203
+ /**
4204
+ * ID of the Steam app.
4205
+ */
4206
+ steamAppId?: string | null;
4207
+
2291
4208
  /**
2292
4209
  * Array of streak milestones and corresponding rewards.
2293
4210
  */
2294
4211
  streakArray?: Array<Metadata.StreakArray> | null;
2295
4212
 
4213
+ /**
4214
+ * Metadata for swap loyalty rules
4215
+ */
4216
+ swap?: Metadata.Swap;
4217
+
2296
4218
  /**
2297
4219
  * ID of the Telegram channel.
2298
4220
  */
@@ -2308,6 +4230,12 @@ export namespace RuleCreateParams {
2308
4230
  */
2309
4231
  trackAllContracts?: boolean | null;
2310
4232
 
4233
+ /**
4234
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4235
+ * completed once the progress is 100%.
4236
+ */
4237
+ trackProgress?: boolean | null;
4238
+
2311
4239
  /**
2312
4240
  * URL of the associated Twitter account.
2313
4241
  */
@@ -2351,7 +4279,17 @@ export namespace RuleCreateParams {
2351
4279
  /**
2352
4280
  * Type of wallet associated with the rule.
2353
4281
  */
2354
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4282
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
4283
+
4284
+ /**
4285
+ * ID of the Youtube channel.
4286
+ */
4287
+ youtubeChannelId?: string | null;
4288
+
4289
+ /**
4290
+ * ID of the Youtube video.
4291
+ */
4292
+ youtubeVideoId?: string | null;
2355
4293
  }
2356
4294
 
2357
4295
  export namespace Metadata {
@@ -2370,35 +4308,53 @@ export namespace RuleCreateParams {
2370
4308
  * Blockchain network of the collection.
2371
4309
  */
2372
4310
  network?:
2373
- | 'mainnet'
2374
- | 'polygon'
2375
- | 'polygon_mumbai'
2376
- | 'optimism'
4311
+ | 'abstract'
4312
+ | 'abstractTestnet'
4313
+ | 'apechain'
2377
4314
  | 'arbitrum'
2378
- | 'binance'
2379
- | 'bscTestnet'
2380
4315
  | 'avalanche'
2381
4316
  | 'avalancheFuji'
2382
- | 'zksync'
2383
- | 'fantom'
2384
- | 'fantomTestnet'
2385
4317
  | 'base'
2386
4318
  | 'baseSepolia'
2387
- | 'skaleNebula'
2388
- | 'xai'
4319
+ | 'berachain'
2389
4320
  | 'berachainArtio'
2390
- | 'solana'
2391
- | 'apechain'
2392
- | 'flowMainnet'
4321
+ | 'berachainBepolia'
4322
+ | 'binance'
4323
+ | 'bscTestnet'
2393
4324
  | 'campTestnet'
4325
+ | 'fantom'
4326
+ | 'fantomTestnet'
4327
+ | 'flowMainnet'
4328
+ | 'mainnet'
4329
+ | 'nexusTestnet'
4330
+ | 'optimism'
4331
+ | 'polygon'
4332
+ | 'polygon_mumbai'
4333
+ | 'skaleNebula'
4334
+ | 'solana'
4335
+ | 'sophon'
4336
+ | 'sophonTestnet'
2394
4337
  | 'sui'
4338
+ | 'superseed'
4339
+ | 'superseedSepolia'
2395
4340
  | 'vanar'
4341
+ | 'xai'
4342
+ | 'zksync'
4343
+ | 'coti'
4344
+ | 'cotiTestnet'
4345
+ | 'morph'
4346
+ | 'morphTestnet'
4347
+ | 'morphHolesky'
4348
+ | 'ultra'
4349
+ | 'ultraTestnet'
4350
+ | 'nitrograph'
2396
4351
  | 'sepolia'
2397
4352
  | 'optimism_sepolia'
2398
4353
  | 'arbitrumSepolia'
2399
4354
  | 'goerli'
2400
4355
  | 'optimism_goerli'
2401
- | 'arbitrumGoerli';
4356
+ | 'arbitrumGoerli'
4357
+ | 'basecamp';
2402
4358
  }
2403
4359
 
2404
4360
  /**
@@ -2475,6 +4431,104 @@ export namespace RuleCreateParams {
2475
4431
  id: string;
2476
4432
  }
2477
4433
 
4434
+ /**
4435
+ * Liquidity pool details.
4436
+ */
4437
+ export interface Liquidity {
4438
+ /**
4439
+ * Calculation type of the liquidity pool.
4440
+ */
4441
+ calculationType?: 'fixed' | 'custom';
4442
+
4443
+ /**
4444
+ * Custom function to calculate the the reward amount based on the liquidity
4445
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4446
+ * USD.
4447
+ */
4448
+ customFunction?: string;
4449
+
4450
+ /**
4451
+ * Liquidity provided per day in USD
4452
+ */
4453
+ liquidityPerDay?: number;
4454
+
4455
+ /**
4456
+ * Blockchain network of the liquidity pool.
4457
+ */
4458
+ network?:
4459
+ | 'abstract'
4460
+ | 'abstractTestnet'
4461
+ | 'apechain'
4462
+ | 'arbitrum'
4463
+ | 'avalanche'
4464
+ | 'avalancheFuji'
4465
+ | 'base'
4466
+ | 'baseSepolia'
4467
+ | 'berachain'
4468
+ | 'berachainArtio'
4469
+ | 'berachainBepolia'
4470
+ | 'binance'
4471
+ | 'bscTestnet'
4472
+ | 'campTestnet'
4473
+ | 'fantom'
4474
+ | 'fantomTestnet'
4475
+ | 'flowMainnet'
4476
+ | 'mainnet'
4477
+ | 'nexusTestnet'
4478
+ | 'optimism'
4479
+ | 'polygon'
4480
+ | 'polygon_mumbai'
4481
+ | 'skaleNebula'
4482
+ | 'solana'
4483
+ | 'sophon'
4484
+ | 'sophonTestnet'
4485
+ | 'sui'
4486
+ | 'superseed'
4487
+ | 'superseedSepolia'
4488
+ | 'vanar'
4489
+ | 'xai'
4490
+ | 'zksync'
4491
+ | 'coti'
4492
+ | 'cotiTestnet'
4493
+ | 'morph'
4494
+ | 'morphTestnet'
4495
+ | 'morphHolesky'
4496
+ | 'ultra'
4497
+ | 'ultraTestnet'
4498
+ | 'nitrograph'
4499
+ | 'sepolia'
4500
+ | 'optimism_sepolia'
4501
+ | 'arbitrumSepolia'
4502
+ | 'goerli'
4503
+ | 'optimism_goerli'
4504
+ | 'arbitrumGoerli'
4505
+ | 'basecamp';
4506
+
4507
+ /**
4508
+ * Indicates if only in-range liquidity is rewarded.
4509
+ */
4510
+ onlyRewardInRangeLiquidity?: boolean;
4511
+
4512
+ /**
4513
+ * Array of liquidity pools associated with the rule.
4514
+ */
4515
+ pools?: Array<Liquidity.Pool>;
4516
+
4517
+ /**
4518
+ * Protocol of the liquidity pool.
4519
+ */
4520
+ protocol?: string;
4521
+ }
4522
+
4523
+ export namespace Liquidity {
4524
+ export interface Pool {
4525
+ /**
4526
+ * Unique identifier of the liquidity pool.
4527
+ */
4528
+ id: string;
4529
+ }
4530
+ }
4531
+
2478
4532
  export interface Range {
2479
4533
  /**
2480
4534
  * Reward amount for this range.
@@ -2490,6 +4544,16 @@ export namespace RuleCreateParams {
2490
4544
  * Start value of the range.
2491
4545
  */
2492
4546
  startRange: number;
4547
+
4548
+ /**
4549
+ * ID of the loyalty badge for this range.
4550
+ */
4551
+ loyaltyBadgeId?: string;
4552
+
4553
+ /**
4554
+ * Amount of the loyalty multiplier for this range.
4555
+ */
4556
+ loyaltyMultiplierAmount?: number;
2493
4557
  }
2494
4558
 
2495
4559
  /**
@@ -2542,20 +4606,15 @@ export namespace RuleCreateParams {
2542
4606
  * Object containing details of the associated smart contract.
2543
4607
  */
2544
4608
  export interface SmartContract {
2545
- /**
2546
- * ABI of the smart contract.
2547
- */
2548
- abi?: string | null;
2549
-
2550
4609
  /**
2551
4610
  * Mapping of addresses for the smart contract.
2552
4611
  */
2553
4612
  addressMapping?: string | null;
2554
4613
 
2555
4614
  /**
2556
- * Array of bonus details applied to the rule.
4615
+ * Object containing details of the amount multiplier from the event.
2557
4616
  */
2558
- bonus?: Array<SmartContract.Bonus> | null;
4617
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2559
4618
 
2560
4619
  /**
2561
4620
  * ID of the smart contract.
@@ -2567,68 +4626,31 @@ export namespace RuleCreateParams {
2567
4626
  */
2568
4627
  criteria?: 'everyEvent' | 'byParameter' | null;
2569
4628
 
2570
- /**
2571
- * Time range applied to the rule.
2572
- */
2573
- customRange?: SmartContract.CustomRange | null;
2574
-
2575
4629
  /**
2576
4630
  * Event emitted by the smart contract.
2577
4631
  */
2578
4632
  event?: string | null;
2579
4633
 
2580
- /**
2581
- * Maximum value allowed for the parameter.
2582
- */
2583
- max?: number | null;
2584
-
2585
4634
  /**
2586
4635
  * Array of parameters for the smart contract.
2587
4636
  */
2588
4637
  params?: Array<SmartContract.Param> | null;
2589
4638
 
2590
4639
  /**
2591
- * Flag indicating if a bonus is applied.
2592
- */
2593
- withBonus?: boolean | null;
2594
-
2595
- /**
2596
- * Flag indicating if a custom range is applied.
2597
- */
2598
- withCustomRange?: boolean | null;
2599
-
2600
- /**
2601
- * Flag indicating if a maximum limit is applied.
4640
+ * Type of the smart contract interaction.
2602
4641
  */
2603
- withMax?: boolean | null;
4642
+ type?: 'function' | 'event' | null;
2604
4643
  }
2605
4644
 
2606
4645
  export namespace SmartContract {
2607
- export interface Bonus {
2608
- /**
2609
- * Amount of the bonus.
2610
- */
2611
- amount?: number | null;
2612
-
2613
- /**
2614
- * Number of times the bonus is applied.
2615
- */
2616
- count?: number | null;
2617
- }
2618
-
2619
4646
  /**
2620
- * Time range applied to the rule.
4647
+ * Object containing details of the amount multiplier from the event.
2621
4648
  */
2622
- export interface CustomRange {
4649
+ export interface AmountMultiplier {
2623
4650
  /**
2624
- * End time of the custom range.
4651
+ * Mapping of the value for the smart contract.
2625
4652
  */
2626
- endsAt?: string | null;
2627
-
2628
- /**
2629
- * Start time of the custom range.
2630
- */
2631
- startsAt?: string | null;
4653
+ valueMapping?: string | null;
2632
4654
  }
2633
4655
 
2634
4656
  export interface Param {
@@ -2672,6 +4694,33 @@ export namespace RuleCreateParams {
2672
4694
  */
2673
4695
  streakMilestone: number;
2674
4696
  }
4697
+
4698
+ /**
4699
+ * Metadata for swap loyalty rules
4700
+ */
4701
+ export interface Swap {
4702
+ provider?: 'any' | 'relay' | 'lifi';
4703
+
4704
+ relayReferrerId?: string;
4705
+
4706
+ requireCrossChainSwap?: boolean;
4707
+
4708
+ swappedToChain?: 'any' | number | string;
4709
+
4710
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4711
+
4712
+ tokenMode?: 'any' | 'specific';
4713
+
4714
+ trackTokenAmount?: boolean;
4715
+ }
4716
+
4717
+ export namespace Swap {
4718
+ export interface SwappedToToken {
4719
+ address: string;
4720
+
4721
+ chainId: string;
4722
+ }
4723
+ }
2675
4724
  }
2676
4725
 
2677
4726
  export interface Collection {
@@ -2684,35 +4733,58 @@ export namespace RuleCreateParams {
2684
4733
  * Blockchain network for the collection
2685
4734
  */
2686
4735
  network:
2687
- | 'mainnet'
2688
- | 'polygon'
2689
- | 'polygon_mumbai'
2690
- | 'optimism'
4736
+ | 'abstract'
4737
+ | 'abstractTestnet'
4738
+ | 'apechain'
2691
4739
  | 'arbitrum'
2692
- | 'binance'
2693
- | 'bscTestnet'
2694
4740
  | 'avalanche'
2695
4741
  | 'avalancheFuji'
2696
- | 'zksync'
2697
- | 'fantom'
2698
- | 'fantomTestnet'
2699
4742
  | 'base'
2700
4743
  | 'baseSepolia'
2701
- | 'skaleNebula'
2702
- | 'xai'
4744
+ | 'berachain'
2703
4745
  | 'berachainArtio'
2704
- | 'solana'
2705
- | 'apechain'
2706
- | 'flowMainnet'
4746
+ | 'berachainBepolia'
4747
+ | 'binance'
4748
+ | 'bscTestnet'
2707
4749
  | 'campTestnet'
4750
+ | 'fantom'
4751
+ | 'fantomTestnet'
4752
+ | 'flowMainnet'
4753
+ | 'mainnet'
4754
+ | 'nexusTestnet'
4755
+ | 'optimism'
4756
+ | 'polygon'
4757
+ | 'polygon_mumbai'
4758
+ | 'skaleNebula'
4759
+ | 'solana'
4760
+ | 'sophon'
4761
+ | 'sophonTestnet'
2708
4762
  | 'sui'
4763
+ | 'superseed'
4764
+ | 'superseedSepolia'
2709
4765
  | 'vanar'
4766
+ | 'xai'
4767
+ | 'zksync'
4768
+ | 'coti'
4769
+ | 'cotiTestnet'
4770
+ | 'morph'
4771
+ | 'morphTestnet'
4772
+ | 'morphHolesky'
4773
+ | 'ultra'
4774
+ | 'ultraTestnet'
4775
+ | 'nitrograph'
2710
4776
  | 'sepolia'
2711
4777
  | 'optimism_sepolia'
2712
4778
  | 'arbitrumSepolia'
2713
4779
  | 'goerli'
2714
4780
  | 'optimism_goerli'
2715
- | 'arbitrumGoerli';
4781
+ | 'arbitrumGoerli'
4782
+ | 'basecamp';
4783
+
4784
+ /**
4785
+ * Symbol of the collection.
4786
+ */
4787
+ symbol?: string;
2716
4788
  }
2717
4789
  }
2718
4790
 
@@ -2767,6 +4839,11 @@ export interface RuleUpdateParams {
2767
4839
  */
2768
4840
  effectiveStartTime?: string | null;
2769
4841
 
4842
+ /**
4843
+ * ID of the external integration
4844
+ */
4845
+ externalIntegrationId?: string | null;
4846
+
2770
4847
  /**
2771
4848
  * Frequency of the rule execution
2772
4849
  */
@@ -2780,7 +4857,7 @@ export interface RuleUpdateParams {
2780
4857
  /**
2781
4858
  * Time interval for recurring rule execution
2782
4859
  */
2783
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | null;
4860
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
2784
4861
 
2785
4862
  /**
2786
4863
  * Whether this rule is required for participation
@@ -2792,6 +4869,23 @@ export interface RuleUpdateParams {
2792
4869
  */
2793
4870
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
2794
4871
 
4872
+ /**
4873
+ * The interval for the max amount. Available for the smart contract and external
4874
+ * rules.
4875
+ */
4876
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
4877
+
4878
+ /**
4879
+ * The maximum amount of points a user can earn per interval. Available for the
4880
+ * smart contract and external rules.
4881
+ */
4882
+ maxAmountPerInterval?: number | null;
4883
+
4884
+ /**
4885
+ * URL of the media to be displayed
4886
+ */
4887
+ mediaUrl?: string | null;
4888
+
2795
4889
  /**
2796
4890
  * Additional metadata for the loyalty rule
2797
4891
  */
@@ -2801,35 +4895,53 @@ export interface RuleUpdateParams {
2801
4895
  * Blockchain network where the rule will apply
2802
4896
  */
2803
4897
  network?:
2804
- | 'mainnet'
2805
- | 'polygon'
2806
- | 'polygon_mumbai'
2807
- | 'optimism'
4898
+ | 'abstract'
4899
+ | 'abstractTestnet'
4900
+ | 'apechain'
2808
4901
  | 'arbitrum'
2809
- | 'binance'
2810
- | 'bscTestnet'
2811
4902
  | 'avalanche'
2812
4903
  | 'avalancheFuji'
2813
- | 'zksync'
2814
- | 'fantom'
2815
- | 'fantomTestnet'
2816
4904
  | 'base'
2817
4905
  | 'baseSepolia'
2818
- | 'skaleNebula'
2819
- | 'xai'
4906
+ | 'berachain'
2820
4907
  | 'berachainArtio'
2821
- | 'solana'
2822
- | 'apechain'
2823
- | 'flowMainnet'
4908
+ | 'berachainBepolia'
4909
+ | 'binance'
4910
+ | 'bscTestnet'
2824
4911
  | 'campTestnet'
4912
+ | 'fantom'
4913
+ | 'fantomTestnet'
4914
+ | 'flowMainnet'
4915
+ | 'mainnet'
4916
+ | 'nexusTestnet'
4917
+ | 'optimism'
4918
+ | 'polygon'
4919
+ | 'polygon_mumbai'
4920
+ | 'skaleNebula'
4921
+ | 'solana'
4922
+ | 'sophon'
4923
+ | 'sophonTestnet'
2825
4924
  | 'sui'
4925
+ | 'superseed'
4926
+ | 'superseedSepolia'
2826
4927
  | 'vanar'
4928
+ | 'xai'
4929
+ | 'zksync'
4930
+ | 'coti'
4931
+ | 'cotiTestnet'
4932
+ | 'morph'
4933
+ | 'morphTestnet'
4934
+ | 'morphHolesky'
4935
+ | 'ultra'
4936
+ | 'ultraTestnet'
4937
+ | 'nitrograph'
2827
4938
  | 'sepolia'
2828
4939
  | 'optimism_sepolia'
2829
4940
  | 'arbitrumSepolia'
2830
4941
  | 'goerli'
2831
4942
  | 'optimism_goerli'
2832
- | 'arbitrumGoerli';
4943
+ | 'arbitrumGoerli'
4944
+ | 'basecamp';
2833
4945
 
2834
4946
  /**
2835
4947
  * ID for associated OAuth credentials
@@ -2839,7 +4951,17 @@ export interface RuleUpdateParams {
2839
4951
  /**
2840
4952
  * Type of reward issued by this rule
2841
4953
  */
2842
- rewardType?: 'points' | 'multiplier';
4954
+ rewardType?: 'points' | 'multiplier' | 'badge';
4955
+
4956
+ /**
4957
+ * URL of the Shopify store
4958
+ */
4959
+ shopifyStoreUrl?: string | null;
4960
+
4961
+ /**
4962
+ * Whether to show this rule before the start time
4963
+ */
4964
+ showBeforeStart?: boolean;
2843
4965
 
2844
4966
  /**
2845
4967
  * Start time for the loyalty rule
@@ -2847,9 +4969,9 @@ export interface RuleUpdateParams {
2847
4969
  startTime?: string | null;
2848
4970
 
2849
4971
  /**
2850
- * Optional subscription identifier for the rule
4972
+ * Optional subscription id for the rule
2851
4973
  */
2852
- subscriptionIdentifier?: string | null;
4974
+ subscriptionId?: string | null;
2853
4975
  }
2854
4976
 
2855
4977
  export namespace RuleUpdateParams {
@@ -2863,41 +4985,69 @@ export namespace RuleUpdateParams {
2863
4985
  * Blockchain network for the collection
2864
4986
  */
2865
4987
  network:
2866
- | 'mainnet'
2867
- | 'polygon'
2868
- | 'polygon_mumbai'
2869
- | 'optimism'
4988
+ | 'abstract'
4989
+ | 'abstractTestnet'
4990
+ | 'apechain'
2870
4991
  | 'arbitrum'
2871
- | 'binance'
2872
- | 'bscTestnet'
2873
4992
  | 'avalanche'
2874
4993
  | 'avalancheFuji'
2875
- | 'zksync'
2876
- | 'fantom'
2877
- | 'fantomTestnet'
2878
4994
  | 'base'
2879
4995
  | 'baseSepolia'
2880
- | 'skaleNebula'
2881
- | 'xai'
4996
+ | 'berachain'
2882
4997
  | 'berachainArtio'
4998
+ | 'berachainBepolia'
4999
+ | 'binance'
5000
+ | 'bscTestnet'
5001
+ | 'campTestnet'
5002
+ | 'fantom'
5003
+ | 'fantomTestnet'
5004
+ | 'flowMainnet'
5005
+ | 'mainnet'
5006
+ | 'nexusTestnet'
5007
+ | 'optimism'
5008
+ | 'polygon'
5009
+ | 'polygon_mumbai'
5010
+ | 'skaleNebula'
2883
5011
  | 'solana'
2884
- | 'apechain'
2885
- | 'flowMainnet'
2886
- | 'campTestnet'
5012
+ | 'sophon'
5013
+ | 'sophonTestnet'
2887
5014
  | 'sui'
5015
+ | 'superseed'
5016
+ | 'superseedSepolia'
2888
5017
  | 'vanar'
5018
+ | 'xai'
5019
+ | 'zksync'
5020
+ | 'coti'
5021
+ | 'cotiTestnet'
5022
+ | 'morph'
5023
+ | 'morphTestnet'
5024
+ | 'morphHolesky'
5025
+ | 'ultra'
5026
+ | 'ultraTestnet'
5027
+ | 'nitrograph'
2889
5028
  | 'sepolia'
2890
5029
  | 'optimism_sepolia'
2891
5030
  | 'arbitrumSepolia'
2892
5031
  | 'goerli'
2893
5032
  | 'optimism_goerli'
2894
- | 'arbitrumGoerli';
5033
+ | 'arbitrumGoerli'
5034
+ | 'basecamp';
5035
+
5036
+ /**
5037
+ * Symbol of the collection.
5038
+ */
5039
+ symbol?: string;
2895
5040
  }
2896
5041
 
2897
5042
  /**
2898
5043
  * Additional metadata for the loyalty rule
2899
5044
  */
2900
5045
  export interface Metadata {
5046
+ /**
5047
+ * Number of tokens per batch.
5048
+ */
5049
+ batchSize?: number | null;
5050
+
2901
5051
  /**
2902
5052
  * Text displayed on the action button.
2903
5053
  */
@@ -2928,6 +5078,16 @@ export namespace RuleUpdateParams {
2928
5078
  */
2929
5079
  collection?: Array<Metadata.Collection>;
2930
5080
 
5081
+ /**
5082
+ * Conditions for completing the profile.
5083
+ */
5084
+ completeProfileConditions?: { [key: string]: boolean } | null;
5085
+
5086
+ /**
5087
+ * Description of the external rule condition (only for external rules)
5088
+ */
5089
+ conditionDescription?: string;
5090
+
2931
5091
  /**
2932
5092
  * Object containing details for the call-to-action.
2933
5093
  */
@@ -2938,6 +5098,11 @@ export namespace RuleUpdateParams {
2938
5098
  */
2939
5099
  customRewardsApiKey?: string;
2940
5100
 
5101
+ /**
5102
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
5103
+ */
5104
+ directRpc?: boolean;
5105
+
2941
5106
  /**
2942
5107
  * Array of Discord servers, channels, and roles to join.
2943
5108
  */
@@ -2963,11 +5128,21 @@ export namespace RuleUpdateParams {
2963
5128
  */
2964
5129
  enableVerifiedMultiplier?: boolean;
2965
5130
 
5131
+ /**
5132
+ * Fill source of the order for the token sale
5133
+ */
5134
+ fillSource?: string;
5135
+
2966
5136
  /**
2967
5137
  * Percentage reward given to a user for their first referral.
2968
5138
  */
2969
5139
  firstReferralReward?: number | null;
2970
5140
 
5141
+ /**
5142
+ * Flag indicating whether the fill source is included.
5143
+ */
5144
+ hasFillSource?: boolean;
5145
+
2971
5146
  /**
2972
5147
  * Indicates if the item has never been sold.
2973
5148
  */
@@ -2993,11 +5168,21 @@ export namespace RuleUpdateParams {
2993
5168
  */
2994
5169
  imageUrl?: string | null;
2995
5170
 
5171
+ /**
5172
+ * If enabled, the first transaction done on the platform will complete this rule
5173
+ */
5174
+ isCheckInOnEveryTxn?: boolean;
5175
+
2996
5176
  /**
2997
5177
  * Indicates if the multiplier has been applied to rewards.
2998
5178
  */
2999
5179
  isMultiplierApplied?: boolean;
3000
5180
 
5181
+ /**
5182
+ * Flag indicating if the rule is restricted to new users.
5183
+ */
5184
+ isRestrictedToNewUsers?: boolean;
5185
+
3001
5186
  /**
3002
5187
  * Flag indicating if rewards are applied retroactively.
3003
5188
  */
@@ -3013,6 +5198,11 @@ export namespace RuleUpdateParams {
3013
5198
  */
3014
5199
  link?: string | null;
3015
5200
 
5201
+ /**
5202
+ * Liquidity pool details.
5203
+ */
5204
+ liquidity?: Metadata.Liquidity;
5205
+
3016
5206
  /**
3017
5207
  * Maximum quantity constraint for token holding.
3018
5208
  */
@@ -3043,6 +5233,11 @@ export namespace RuleUpdateParams {
3043
5233
  */
3044
5234
  onlyNonListed?: boolean;
3045
5235
 
5236
+ /**
5237
+ * Indicates if only existing users are rewarded.
5238
+ */
5239
+ onlyRewardExistingUser?: boolean;
5240
+
3046
5241
  /**
3047
5242
  * give points for only one token ownership per contract
3048
5243
  */
@@ -3053,6 +5248,21 @@ export namespace RuleUpdateParams {
3053
5248
  */
3054
5249
  promoCode?: string;
3055
5250
 
5251
+ /**
5252
+ * URL of the CSV file containing promo codes.
5253
+ */
5254
+ promoCodeCsvUrl?: string;
5255
+
5256
+ /**
5257
+ * Numbers of the promotional code to be generated.
5258
+ */
5259
+ promoCodeLength?: number | null;
5260
+
5261
+ /**
5262
+ * Type of the promotional code.
5263
+ */
5264
+ promoCodeType?: 'code' | 'csv' | 'generate';
5265
+
3056
5266
  /**
3057
5267
  * Array defining ranges and corresponding rewards.
3058
5268
  */
@@ -3068,11 +5278,52 @@ export namespace RuleUpdateParams {
3068
5278
  */
3069
5279
  referrerReward?: number | null;
3070
5280
 
5281
+ /**
5282
+ * Loyalty currency ID of the referrer reward.
5283
+ */
5284
+ referrerRewardLoyaltyCurrencyId?: string | null;
5285
+
5286
+ /**
5287
+ * Flag indicating if the post link is required.
5288
+ */
5289
+ requirePostLink?: boolean | null;
5290
+
5291
+ /**
5292
+ * Flag indicating if the rule can also reward badges per range.
5293
+ */
5294
+ rewardBadgePerRange?: boolean;
5295
+
5296
+ /**
5297
+ * Flag indicating if the reward is rewarded by batch.
5298
+ */
5299
+ rewardByBatch?: boolean | null;
5300
+
5301
+ /**
5302
+ * Flag indicating if the reward is rewarded per action.
5303
+ */
5304
+ rewardPerAction?: boolean | null;
5305
+
3071
5306
  /**
3072
5307
  * Flag indicating if rewards are given per impression.
3073
5308
  */
3074
5309
  rewardPerImpression?: boolean | null;
3075
5310
 
5311
+ /**
5312
+ * Flag indicating if the rule should reward based on value of traded tokens
5313
+ * instead of count.
5314
+ */
5315
+ rewardPerValue?: boolean;
5316
+
5317
+ /**
5318
+ * Wallet address of the user can only be used if userId is not provided
5319
+ */
5320
+ royaltyAddress?: string;
5321
+
5322
+ /**
5323
+ * Royalty percentage of the item.
5324
+ */
5325
+ royaltyPercentage?: number;
5326
+
3076
5327
  /**
3077
5328
  * Currency associated with sales.
3078
5329
  */
@@ -3112,6 +5363,7 @@ export namespace RuleUpdateParams {
3112
5363
  | 'Twitch'
3113
5364
  | 'X(Twitter)'
3114
5365
  | 'YouTube'
5366
+ | 'Google'
3115
5367
  | null;
3116
5368
 
3117
5369
  /**
@@ -3124,11 +5376,21 @@ export namespace RuleUpdateParams {
3124
5376
  */
3125
5377
  socialPlatformName?: string | null;
3126
5378
 
5379
+ /**
5380
+ * ID of the Steam app.
5381
+ */
5382
+ steamAppId?: string | null;
5383
+
3127
5384
  /**
3128
5385
  * Array of streak milestones and corresponding rewards.
3129
5386
  */
3130
5387
  streakArray?: Array<Metadata.StreakArray> | null;
3131
5388
 
5389
+ /**
5390
+ * Metadata for swap loyalty rules
5391
+ */
5392
+ swap?: Metadata.Swap;
5393
+
3132
5394
  /**
3133
5395
  * ID of the Telegram channel.
3134
5396
  */
@@ -3144,6 +5406,12 @@ export namespace RuleUpdateParams {
3144
5406
  */
3145
5407
  trackAllContracts?: boolean | null;
3146
5408
 
5409
+ /**
5410
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
5411
+ * completed once the progress is 100%.
5412
+ */
5413
+ trackProgress?: boolean | null;
5414
+
3147
5415
  /**
3148
5416
  * URL of the associated Twitter account.
3149
5417
  */
@@ -3187,7 +5455,17 @@ export namespace RuleUpdateParams {
3187
5455
  /**
3188
5456
  * Type of wallet associated with the rule.
3189
5457
  */
3190
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
5458
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
5459
+
5460
+ /**
5461
+ * ID of the Youtube channel.
5462
+ */
5463
+ youtubeChannelId?: string | null;
5464
+
5465
+ /**
5466
+ * ID of the Youtube video.
5467
+ */
5468
+ youtubeVideoId?: string | null;
3191
5469
  }
3192
5470
 
3193
5471
  export namespace Metadata {
@@ -3206,35 +5484,53 @@ export namespace RuleUpdateParams {
3206
5484
  * Blockchain network of the collection.
3207
5485
  */
3208
5486
  network?:
3209
- | 'mainnet'
3210
- | 'polygon'
3211
- | 'polygon_mumbai'
3212
- | 'optimism'
5487
+ | 'abstract'
5488
+ | 'abstractTestnet'
5489
+ | 'apechain'
3213
5490
  | 'arbitrum'
3214
- | 'binance'
3215
- | 'bscTestnet'
3216
5491
  | 'avalanche'
3217
5492
  | 'avalancheFuji'
3218
- | 'zksync'
3219
- | 'fantom'
3220
- | 'fantomTestnet'
3221
5493
  | 'base'
3222
5494
  | 'baseSepolia'
3223
- | 'skaleNebula'
3224
- | 'xai'
5495
+ | 'berachain'
3225
5496
  | 'berachainArtio'
3226
- | 'solana'
3227
- | 'apechain'
3228
- | 'flowMainnet'
5497
+ | 'berachainBepolia'
5498
+ | 'binance'
5499
+ | 'bscTestnet'
3229
5500
  | 'campTestnet'
5501
+ | 'fantom'
5502
+ | 'fantomTestnet'
5503
+ | 'flowMainnet'
5504
+ | 'mainnet'
5505
+ | 'nexusTestnet'
5506
+ | 'optimism'
5507
+ | 'polygon'
5508
+ | 'polygon_mumbai'
5509
+ | 'skaleNebula'
5510
+ | 'solana'
5511
+ | 'sophon'
5512
+ | 'sophonTestnet'
3230
5513
  | 'sui'
5514
+ | 'superseed'
5515
+ | 'superseedSepolia'
3231
5516
  | 'vanar'
5517
+ | 'xai'
5518
+ | 'zksync'
5519
+ | 'coti'
5520
+ | 'cotiTestnet'
5521
+ | 'morph'
5522
+ | 'morphTestnet'
5523
+ | 'morphHolesky'
5524
+ | 'ultra'
5525
+ | 'ultraTestnet'
5526
+ | 'nitrograph'
3232
5527
  | 'sepolia'
3233
5528
  | 'optimism_sepolia'
3234
5529
  | 'arbitrumSepolia'
3235
5530
  | 'goerli'
3236
5531
  | 'optimism_goerli'
3237
- | 'arbitrumGoerli';
5532
+ | 'arbitrumGoerli'
5533
+ | 'basecamp';
3238
5534
  }
3239
5535
 
3240
5536
  /**
@@ -3311,6 +5607,104 @@ export namespace RuleUpdateParams {
3311
5607
  id: string;
3312
5608
  }
3313
5609
 
5610
+ /**
5611
+ * Liquidity pool details.
5612
+ */
5613
+ export interface Liquidity {
5614
+ /**
5615
+ * Calculation type of the liquidity pool.
5616
+ */
5617
+ calculationType?: 'fixed' | 'custom';
5618
+
5619
+ /**
5620
+ * Custom function to calculate the the reward amount based on the liquidity
5621
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
5622
+ * USD.
5623
+ */
5624
+ customFunction?: string;
5625
+
5626
+ /**
5627
+ * Liquidity provided per day in USD
5628
+ */
5629
+ liquidityPerDay?: number;
5630
+
5631
+ /**
5632
+ * Blockchain network of the liquidity pool.
5633
+ */
5634
+ network?:
5635
+ | 'abstract'
5636
+ | 'abstractTestnet'
5637
+ | 'apechain'
5638
+ | 'arbitrum'
5639
+ | 'avalanche'
5640
+ | 'avalancheFuji'
5641
+ | 'base'
5642
+ | 'baseSepolia'
5643
+ | 'berachain'
5644
+ | 'berachainArtio'
5645
+ | 'berachainBepolia'
5646
+ | 'binance'
5647
+ | 'bscTestnet'
5648
+ | 'campTestnet'
5649
+ | 'fantom'
5650
+ | 'fantomTestnet'
5651
+ | 'flowMainnet'
5652
+ | 'mainnet'
5653
+ | 'nexusTestnet'
5654
+ | 'optimism'
5655
+ | 'polygon'
5656
+ | 'polygon_mumbai'
5657
+ | 'skaleNebula'
5658
+ | 'solana'
5659
+ | 'sophon'
5660
+ | 'sophonTestnet'
5661
+ | 'sui'
5662
+ | 'superseed'
5663
+ | 'superseedSepolia'
5664
+ | 'vanar'
5665
+ | 'xai'
5666
+ | 'zksync'
5667
+ | 'coti'
5668
+ | 'cotiTestnet'
5669
+ | 'morph'
5670
+ | 'morphTestnet'
5671
+ | 'morphHolesky'
5672
+ | 'ultra'
5673
+ | 'ultraTestnet'
5674
+ | 'nitrograph'
5675
+ | 'sepolia'
5676
+ | 'optimism_sepolia'
5677
+ | 'arbitrumSepolia'
5678
+ | 'goerli'
5679
+ | 'optimism_goerli'
5680
+ | 'arbitrumGoerli'
5681
+ | 'basecamp';
5682
+
5683
+ /**
5684
+ * Indicates if only in-range liquidity is rewarded.
5685
+ */
5686
+ onlyRewardInRangeLiquidity?: boolean;
5687
+
5688
+ /**
5689
+ * Array of liquidity pools associated with the rule.
5690
+ */
5691
+ pools?: Array<Liquidity.Pool>;
5692
+
5693
+ /**
5694
+ * Protocol of the liquidity pool.
5695
+ */
5696
+ protocol?: string;
5697
+ }
5698
+
5699
+ export namespace Liquidity {
5700
+ export interface Pool {
5701
+ /**
5702
+ * Unique identifier of the liquidity pool.
5703
+ */
5704
+ id: string;
5705
+ }
5706
+ }
5707
+
3314
5708
  export interface Range {
3315
5709
  /**
3316
5710
  * Reward amount for this range.
@@ -3326,6 +5720,16 @@ export namespace RuleUpdateParams {
3326
5720
  * Start value of the range.
3327
5721
  */
3328
5722
  startRange: number;
5723
+
5724
+ /**
5725
+ * ID of the loyalty badge for this range.
5726
+ */
5727
+ loyaltyBadgeId?: string;
5728
+
5729
+ /**
5730
+ * Amount of the loyalty multiplier for this range.
5731
+ */
5732
+ loyaltyMultiplierAmount?: number;
3329
5733
  }
3330
5734
 
3331
5735
  /**
@@ -3378,20 +5782,15 @@ export namespace RuleUpdateParams {
3378
5782
  * Object containing details of the associated smart contract.
3379
5783
  */
3380
5784
  export interface SmartContract {
3381
- /**
3382
- * ABI of the smart contract.
3383
- */
3384
- abi?: string | null;
3385
-
3386
5785
  /**
3387
5786
  * Mapping of addresses for the smart contract.
3388
5787
  */
3389
5788
  addressMapping?: string | null;
3390
5789
 
3391
5790
  /**
3392
- * Array of bonus details applied to the rule.
5791
+ * Object containing details of the amount multiplier from the event.
3393
5792
  */
3394
- bonus?: Array<SmartContract.Bonus> | null;
5793
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3395
5794
 
3396
5795
  /**
3397
5796
  * ID of the smart contract.
@@ -3403,68 +5802,31 @@ export namespace RuleUpdateParams {
3403
5802
  */
3404
5803
  criteria?: 'everyEvent' | 'byParameter' | null;
3405
5804
 
3406
- /**
3407
- * Time range applied to the rule.
3408
- */
3409
- customRange?: SmartContract.CustomRange | null;
3410
-
3411
5805
  /**
3412
5806
  * Event emitted by the smart contract.
3413
5807
  */
3414
5808
  event?: string | null;
3415
5809
 
3416
- /**
3417
- * Maximum value allowed for the parameter.
3418
- */
3419
- max?: number | null;
3420
-
3421
5810
  /**
3422
5811
  * Array of parameters for the smart contract.
3423
5812
  */
3424
5813
  params?: Array<SmartContract.Param> | null;
3425
5814
 
3426
5815
  /**
3427
- * Flag indicating if a bonus is applied.
3428
- */
3429
- withBonus?: boolean | null;
3430
-
3431
- /**
3432
- * Flag indicating if a custom range is applied.
5816
+ * Type of the smart contract interaction.
3433
5817
  */
3434
- withCustomRange?: boolean | null;
3435
-
3436
- /**
3437
- * Flag indicating if a maximum limit is applied.
3438
- */
3439
- withMax?: boolean | null;
5818
+ type?: 'function' | 'event' | null;
3440
5819
  }
3441
5820
 
3442
5821
  export namespace SmartContract {
3443
- export interface Bonus {
3444
- /**
3445
- * Amount of the bonus.
3446
- */
3447
- amount?: number | null;
3448
-
3449
- /**
3450
- * Number of times the bonus is applied.
3451
- */
3452
- count?: number | null;
3453
- }
3454
-
3455
5822
  /**
3456
- * Time range applied to the rule.
5823
+ * Object containing details of the amount multiplier from the event.
3457
5824
  */
3458
- export interface CustomRange {
3459
- /**
3460
- * End time of the custom range.
3461
- */
3462
- endsAt?: string | null;
3463
-
5825
+ export interface AmountMultiplier {
3464
5826
  /**
3465
- * Start time of the custom range.
5827
+ * Mapping of the value for the smart contract.
3466
5828
  */
3467
- startsAt?: string | null;
5829
+ valueMapping?: string | null;
3468
5830
  }
3469
5831
 
3470
5832
  export interface Param {
@@ -3508,17 +5870,65 @@ export namespace RuleUpdateParams {
3508
5870
  */
3509
5871
  streakMilestone: number;
3510
5872
  }
5873
+
5874
+ /**
5875
+ * Metadata for swap loyalty rules
5876
+ */
5877
+ export interface Swap {
5878
+ provider?: 'any' | 'relay' | 'lifi';
5879
+
5880
+ relayReferrerId?: string;
5881
+
5882
+ requireCrossChainSwap?: boolean;
5883
+
5884
+ swappedToChain?: 'any' | number | string;
5885
+
5886
+ swappedToTokens?: Array<Swap.SwappedToToken>;
5887
+
5888
+ tokenMode?: 'any' | 'specific';
5889
+
5890
+ trackTokenAmount?: boolean;
5891
+ }
5892
+
5893
+ export namespace Swap {
5894
+ export interface SwappedToToken {
5895
+ address: string;
5896
+
5897
+ chainId: string;
5898
+ }
5899
+ }
3511
5900
  }
3512
5901
  }
3513
5902
 
3514
5903
  export interface RuleListParams {
5904
+ /**
5905
+ * IDs of the users to filter results by
5906
+ */
5907
+ allotedToUserId?: string | Array<string>;
5908
+
5909
+ /**
5910
+ * ID of the user group to filter results by
5911
+ */
5912
+ allotedUserGroupId?: string;
5913
+
3515
5914
  /**
3516
5915
  * Address of the collection to filter by
3517
5916
  */
3518
5917
  collectionAddress?: string;
3519
5918
 
3520
5919
  /**
3521
- * Maximum number of records to return (max 1000)
5920
+ * If true this will only return loyalty rule chains
5921
+ */
5922
+ includeLoyaltyRuleChains?: 'true' | 'false';
5923
+
5924
+ /**
5925
+ * If true this will only return active rules, the rules for which the startTime is
5926
+ * in the past and the endTime is in the future
5927
+ */
5928
+ isActive?: 'true' | 'false';
5929
+
5930
+ /**
5931
+ * Maximum number of records to return (max 100)
3522
5932
  */
3523
5933
  limit?: number;
3524
5934
 
@@ -3527,6 +5937,11 @@ export interface RuleListParams {
3527
5937
  */
3528
5938
  loyaltyRuleGroupId?: string;
3529
5939
 
5940
+ /**
5941
+ * The IDs of the loyalty rule
5942
+ */
5943
+ loyaltyRuleId?: string | Array<string>;
5944
+
3530
5945
  /**
3531
5946
  * Unique identifier for the organization to filter by
3532
5947
  */
@@ -3543,17 +5958,40 @@ export interface RuleListParams {
3543
5958
  websiteId?: string;
3544
5959
  }
3545
5960
 
5961
+ export interface RuleDeleteParams {
5962
+ /**
5963
+ * Whether to debit loyalty points
5964
+ */
5965
+ debitLoyaltyPoints?: string;
5966
+ }
5967
+
3546
5968
  export interface RuleCompleteParams {
3547
5969
  /**
3548
- * Link to the comment made by user
5970
+ * Override amount for the reward (rounded to nearest whole number). This will
5971
+ * override the rule amount and reward the integer passed.
5972
+ */
5973
+ amount?: number | null;
5974
+
5975
+ /**
5976
+ * Link to the post/comment made by user
5977
+ */
5978
+ contentUrl?: string;
5979
+
5980
+ /**
5981
+ * Unique key to ensure idempotent requests.
3549
5982
  */
3550
- commentLink?: string;
5983
+ idempotencyKey?: string;
3551
5984
 
3552
5985
  /**
3553
5986
  * ID of the choice selected by the user
3554
5987
  */
3555
5988
  loyaltyQuestionChoiceId?: string;
3556
5989
 
5990
+ /**
5991
+ * Value to compare with the range
5992
+ */
5993
+ rangeValue?: number | null;
5994
+
3557
5995
  /**
3558
5996
  * Unique identifier for the user
3559
5997
  */
@@ -3566,7 +6004,7 @@ export interface RuleCompleteParams {
3566
6004
 
3567
6005
  /**
3568
6006
  * Flag indicating if only verification is required, this will not create a
3569
- * transaction and reward the user
6007
+ * transaction and reward the user.
3570
6008
  */
3571
6009
  verifyOnly?: string;
3572
6010
 
@@ -3576,12 +6014,14 @@ export interface RuleCompleteParams {
3576
6014
  walletAddress?: string;
3577
6015
  }
3578
6016
 
3579
- export interface RuleStatusParams {
3580
- organizationId: string;
3581
-
3582
- websiteId: string;
6017
+ export interface RuleGetStatusParams {
6018
+ organizationId?: string;
3583
6019
 
3584
6020
  userId?: string;
6021
+
6022
+ walletAddress?: string;
6023
+
6024
+ websiteId?: string;
3585
6025
  }
3586
6026
 
3587
6027
  export declare namespace Rules {
@@ -3591,11 +6031,12 @@ export declare namespace Rules {
3591
6031
  type RuleListResponse as RuleListResponse,
3592
6032
  type RuleDeleteResponse as RuleDeleteResponse,
3593
6033
  type RuleCompleteResponse as RuleCompleteResponse,
3594
- type RuleStatusResponse as RuleStatusResponse,
6034
+ type RuleGetStatusResponse as RuleGetStatusResponse,
3595
6035
  type RuleCreateParams as RuleCreateParams,
3596
6036
  type RuleUpdateParams as RuleUpdateParams,
3597
6037
  type RuleListParams as RuleListParams,
6038
+ type RuleDeleteParams as RuleDeleteParams,
3598
6039
  type RuleCompleteParams as RuleCompleteParams,
3599
- type RuleStatusParams as RuleStatusParams,
6040
+ type RuleGetStatusParams as RuleGetStatusParams,
3600
6041
  };
3601
6042
  }