@snagsolutions/sdk 0.1.0-alpha.15 → 0.1.0-alpha.150

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 (426) hide show
  1. package/CHANGELOG.md +1243 -45
  2. package/README.md +17 -29
  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 +26 -17
  9. package/core.js.map +1 -1
  10. package/core.mjs +27 -18
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +30 -6
  13. package/index.d.ts +30 -6
  14. package/index.d.ts.map +1 -1
  15. package/index.js +36 -11
  16. package/index.js.map +1 -1
  17. package/index.mjs +36 -11
  18. package/index.mjs.map +1 -1
  19. package/package.json +4 -5
  20. package/resource.d.ts +1 -1
  21. package/resource.d.ts.map +1 -1
  22. package/resource.js.map +1 -1
  23. package/resource.mjs.map +1 -1
  24. package/resources/assets.d.ts +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/{api.js → auctions.js} +2 -2
  69. package/resources/auctions.js.map +1 -0
  70. package/resources/{api.mjs → auctions.mjs} +2 -2
  71. package/resources/auctions.mjs.map +1 -0
  72. package/resources/auth.d.ts +48 -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 +8 -1
  79. package/resources/index.d.ts.map +1 -1
  80. package/resources/index.js +17 -3
  81. package/resources/index.js.map +1 -1
  82. package/resources/index.mjs +8 -1
  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/{api/loyalty → loyalty}/accounts.d.ts +36 -27
  91. package/resources/loyalty/accounts.d.ts.map +1 -0
  92. package/resources/{api/loyalty → loyalty}/accounts.js +17 -4
  93. package/resources/loyalty/accounts.js.map +1 -0
  94. package/resources/loyalty/accounts.mjs +33 -0
  95. package/resources/loyalty/accounts.mjs.map +1 -0
  96. package/resources/{api/loyalty → loyalty}/badges.d.ts +474 -24
  97. package/resources/loyalty/badges.d.ts.map +1 -0
  98. package/resources/{api/loyalty → loyalty}/badges.js +21 -3
  99. package/resources/loyalty/badges.js.map +1 -0
  100. package/resources/{api/loyalty → loyalty}/badges.mjs +21 -3
  101. package/resources/loyalty/badges.mjs.map +1 -0
  102. package/resources/{api/loyalty → loyalty}/currencies.d.ts +27 -2
  103. package/resources/loyalty/currencies.d.ts.map +1 -0
  104. package/resources/loyalty/currencies.js +40 -0
  105. package/resources/loyalty/currencies.js.map +1 -0
  106. package/resources/loyalty/currencies.mjs +36 -0
  107. package/resources/loyalty/currencies.mjs.map +1 -0
  108. package/resources/{api/loyalty → loyalty}/index.d.ts +6 -3
  109. package/resources/loyalty/index.d.ts.map +1 -0
  110. package/resources/{api/loyalty → loyalty}/index.js +7 -1
  111. package/resources/loyalty/index.js.map +1 -0
  112. package/resources/{api/loyalty → loyalty}/index.mjs +4 -1
  113. package/resources/loyalty/index.mjs.map +1 -0
  114. package/resources/loyalty/loyalty.d.ts +50 -0
  115. package/resources/loyalty/loyalty.d.ts.map +1 -0
  116. package/resources/{api/loyalty → loyalty}/loyalty.js +13 -20
  117. package/resources/loyalty/loyalty.js.map +1 -0
  118. package/resources/{api/loyalty → loyalty}/loyalty.mjs +13 -20
  119. package/resources/loyalty/loyalty.mjs.map +1 -0
  120. package/resources/{api/loyalty → loyalty}/multipliers.d.ts +65 -4
  121. package/resources/loyalty/multipliers.d.ts.map +1 -0
  122. package/resources/{api/loyalty → loyalty}/multipliers.js +25 -2
  123. package/resources/loyalty/multipliers.js.map +1 -0
  124. package/resources/{api/loyalty → loyalty}/multipliers.mjs +25 -2
  125. package/resources/loyalty/multipliers.mjs.map +1 -0
  126. package/resources/{api/loyalty → loyalty}/questions-responses.d.ts +41 -2
  127. package/resources/loyalty/questions-responses.d.ts.map +1 -0
  128. package/resources/{api/loyalty → loyalty}/questions-responses.js +11 -2
  129. package/resources/loyalty/questions-responses.js.map +1 -0
  130. package/resources/{api/loyalty → loyalty}/questions-responses.mjs +11 -2
  131. package/resources/loyalty/questions-responses.mjs.map +1 -0
  132. package/resources/{api/loyalty → loyalty}/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 +2904 -0
  139. package/resources/loyalty/rule-edits.d.ts.map +1 -0
  140. package/resources/{api/loyalty → loyalty}/rule-edits.js +15 -1
  141. package/resources/loyalty/rule-edits.js.map +1 -0
  142. package/resources/{api/loyalty → loyalty}/rule-edits.mjs +15 -1
  143. package/resources/loyalty/rule-edits.mjs.map +1 -0
  144. package/resources/{api/loyalty/loyalty.d.ts → loyalty/rule-groups.d.ts} +275 -320
  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/{api/loyalty → loyalty}/rules.d.ts +1743 -224
  151. package/resources/loyalty/rules.d.ts.map +1 -0
  152. package/resources/loyalty/rules.js +77 -0
  153. package/resources/loyalty/rules.js.map +1 -0
  154. package/resources/loyalty/rules.mjs +73 -0
  155. package/resources/loyalty/rules.mjs.map +1 -0
  156. package/resources/loyalty/transactions/index.d.ts +3 -0
  157. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  158. package/resources/loyalty/transactions/index.js +9 -0
  159. package/resources/loyalty/transactions/index.js.map +1 -0
  160. package/resources/loyalty/transactions/index.mjs +4 -0
  161. package/resources/loyalty/transactions/index.mjs.map +1 -0
  162. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  163. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  164. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  165. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  166. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  167. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  168. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  169. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  170. package/resources/loyalty/transactions/transactions.js +76 -0
  171. package/resources/loyalty/transactions/transactions.js.map +1 -0
  172. package/resources/loyalty/transactions/transactions.mjs +49 -0
  173. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  174. package/resources/loyalty/transactions.d.ts +2 -0
  175. package/resources/loyalty/transactions.d.ts.map +1 -0
  176. package/resources/loyalty/transactions.js +19 -0
  177. package/resources/loyalty/transactions.js.map +1 -0
  178. package/resources/loyalty/transactions.mjs +3 -0
  179. package/resources/loyalty/transactions.mjs.map +1 -0
  180. package/resources/loyalty.d.ts.map +1 -0
  181. package/resources/loyalty.js.map +1 -0
  182. package/resources/loyalty.mjs.map +1 -0
  183. package/resources/{api/minting.d.ts → minting.d.ts} +7 -7
  184. package/resources/minting.d.ts.map +1 -0
  185. package/resources/{api/minting.js → minting.js} +1 -1
  186. package/resources/minting.js.map +1 -0
  187. package/resources/{api/minting.mjs → minting.mjs} +1 -1
  188. package/resources/minting.mjs.map +1 -0
  189. package/resources/referral/index.d.ts.map +1 -0
  190. package/resources/referral/index.js.map +1 -0
  191. package/resources/referral/index.mjs.map +1 -0
  192. package/resources/{api/referral → referral}/referral.d.ts +13 -5
  193. package/resources/referral/referral.d.ts.map +1 -0
  194. package/resources/{api/referral → referral}/referral.js +12 -6
  195. package/resources/referral/referral.js.map +1 -0
  196. package/resources/{api/referral → referral}/referral.mjs +12 -6
  197. package/resources/referral/referral.mjs.map +1 -0
  198. package/resources/{api/referral → referral}/users.d.ts +30 -3
  199. package/resources/referral/users.d.ts.map +1 -0
  200. package/resources/{api/referral → referral}/users.js +15 -1
  201. package/resources/referral/users.js.map +1 -0
  202. package/resources/{api/referral → referral}/users.mjs +15 -1
  203. package/resources/referral/users.mjs.map +1 -0
  204. package/resources/referral.d.ts.map +1 -0
  205. package/resources/referral.js.map +1 -0
  206. package/resources/referral.mjs.map +1 -0
  207. package/resources/users/index.d.ts +3 -0
  208. package/resources/users/index.d.ts.map +1 -0
  209. package/resources/users/index.js.map +1 -0
  210. package/resources/users/index.mjs.map +1 -0
  211. package/resources/{api/users → users}/metadatas.d.ts +34 -2
  212. package/resources/users/metadatas.d.ts.map +1 -0
  213. package/resources/{api/users → users}/metadatas.js +2 -2
  214. package/resources/users/metadatas.js.map +1 -0
  215. package/resources/{api/users → users}/metadatas.mjs +2 -2
  216. package/resources/users/metadatas.mjs.map +1 -0
  217. package/resources/users/users.d.ts +422 -0
  218. package/resources/users/users.d.ts.map +1 -0
  219. package/resources/{api/users → users}/users.js +61 -2
  220. package/resources/users/users.js.map +1 -0
  221. package/resources/users/users.mjs +89 -0
  222. package/resources/users/users.mjs.map +1 -0
  223. package/resources/users.d.ts.map +1 -0
  224. package/resources/users.js.map +1 -0
  225. package/resources/users.mjs.map +1 -0
  226. package/resources/websites/index.d.ts +4 -0
  227. package/resources/websites/index.d.ts.map +1 -0
  228. package/resources/websites/index.js +11 -0
  229. package/resources/websites/index.js.map +1 -0
  230. package/resources/{api → websites}/index.mjs +0 -5
  231. package/resources/websites/index.mjs.map +1 -0
  232. package/resources/{api → websites}/website-collections.d.ts +22 -1
  233. package/resources/websites/website-collections.d.ts.map +1 -0
  234. package/resources/{api → websites}/website-collections.js +21 -0
  235. package/resources/websites/website-collections.js.map +1 -0
  236. package/resources/websites/website-collections.mjs +42 -0
  237. package/resources/websites/website-collections.mjs.map +1 -0
  238. package/resources/{api → websites}/website-user-roles.d.ts +23 -0
  239. package/resources/websites/website-user-roles.d.ts.map +1 -0
  240. package/resources/{api → websites}/website-user-roles.js +23 -0
  241. package/resources/websites/website-user-roles.js.map +1 -0
  242. package/resources/websites/website-user-roles.mjs +41 -0
  243. package/resources/websites/website-user-roles.mjs.map +1 -0
  244. package/resources/{api → websites}/websites.d.ts +20 -0
  245. package/resources/websites/websites.d.ts.map +1 -0
  246. package/resources/websites/websites.js +63 -0
  247. package/resources/websites/websites.js.map +1 -0
  248. package/resources/websites/websites.mjs +36 -0
  249. package/resources/websites/websites.mjs.map +1 -0
  250. package/resources/websites.d.ts +2 -0
  251. package/resources/websites.d.ts.map +1 -0
  252. package/resources/websites.js +19 -0
  253. package/resources/websites.js.map +1 -0
  254. package/resources/websites.mjs +3 -0
  255. package/resources/websites.mjs.map +1 -0
  256. package/src/_shims/index.d.ts +2 -0
  257. package/src/_shims/index.js +5 -1
  258. package/src/_shims/index.mjs +5 -1
  259. package/src/core.ts +45 -17
  260. package/src/index.ts +126 -24
  261. package/src/resource.ts +1 -1
  262. package/src/resources/assets.ts +93 -0
  263. package/src/resources/auctions/auctions.ts +436 -0
  264. package/src/resources/auctions/index.ts +18 -0
  265. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  266. package/src/resources/auctions/website-user-attributes/values.ts +165 -0
  267. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
  268. package/src/resources/auctions/website-user-attributes.ts +3 -0
  269. package/src/resources/{api.ts → auctions.ts} +1 -1
  270. package/src/resources/auth.ts +79 -0
  271. package/src/resources/index.ts +37 -8
  272. package/src/resources/loyalty/account-streaks.ts +110 -0
  273. package/src/resources/{api/loyalty → loyalty}/accounts.ts +41 -35
  274. package/src/resources/{api/loyalty → loyalty}/badges.ts +570 -27
  275. package/src/resources/{api/loyalty → loyalty}/currencies.ts +27 -2
  276. package/src/resources/{api/loyalty → loyalty}/index.ts +28 -11
  277. package/src/resources/loyalty/loyalty.ts +259 -0
  278. package/src/resources/{api/loyalty → loyalty}/multipliers.ts +70 -7
  279. package/src/resources/{api/loyalty → loyalty}/questions-responses.ts +48 -3
  280. package/src/resources/{api/loyalty → loyalty}/questions.ts +40 -4
  281. package/src/resources/loyalty/rule-edits.ts +3988 -0
  282. package/src/resources/{api/loyalty/loyalty.ts → loyalty/rule-groups.ts} +437 -550
  283. package/src/resources/{api/loyalty → loyalty}/rules.ts +2906 -530
  284. package/src/resources/loyalty/transactions/index.ts +18 -0
  285. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  286. package/src/resources/loyalty/transactions/transactions.ts +677 -0
  287. package/src/resources/loyalty/transactions.ts +3 -0
  288. package/src/resources/{api/minting.ts → minting.ts} +37 -23
  289. package/src/resources/{api/referral → referral}/referral.ts +15 -13
  290. package/src/resources/{api/referral → referral}/users.ts +35 -4
  291. package/src/resources/{api/users → users}/index.ts +6 -0
  292. package/src/resources/{api/users → users}/metadatas.ts +62 -3
  293. package/src/resources/users/users.ts +603 -0
  294. package/src/resources/websites/index.ts +22 -0
  295. package/src/resources/{api → websites}/website-collections.ts +52 -17
  296. package/src/resources/{api → websites}/website-user-roles.ts +23 -0
  297. package/src/resources/{api → websites}/websites.ts +52 -0
  298. package/src/resources/websites.ts +3 -0
  299. package/src/version.ts +1 -1
  300. package/version.d.ts +1 -1
  301. package/version.d.ts.map +1 -1
  302. package/version.js +1 -1
  303. package/version.js.map +1 -1
  304. package/version.mjs +1 -1
  305. package/version.mjs.map +1 -1
  306. package/resources/api/api.d.ts +0 -365
  307. package/resources/api/api.d.ts.map +0 -1
  308. package/resources/api/api.js +0 -94
  309. package/resources/api/api.js.map +0 -1
  310. package/resources/api/api.mjs +0 -67
  311. package/resources/api/api.mjs.map +0 -1
  312. package/resources/api/index.d.ts +0 -9
  313. package/resources/api/index.d.ts.map +0 -1
  314. package/resources/api/index.js +0 -21
  315. package/resources/api/index.js.map +0 -1
  316. package/resources/api/index.mjs.map +0 -1
  317. package/resources/api/loyalty/accounts.d.ts.map +0 -1
  318. package/resources/api/loyalty/accounts.js.map +0 -1
  319. package/resources/api/loyalty/accounts.mjs +0 -20
  320. package/resources/api/loyalty/accounts.mjs.map +0 -1
  321. package/resources/api/loyalty/badges.d.ts.map +0 -1
  322. package/resources/api/loyalty/badges.js.map +0 -1
  323. package/resources/api/loyalty/badges.mjs.map +0 -1
  324. package/resources/api/loyalty/currencies.d.ts.map +0 -1
  325. package/resources/api/loyalty/currencies.js +0 -21
  326. package/resources/api/loyalty/currencies.js.map +0 -1
  327. package/resources/api/loyalty/currencies.mjs +0 -17
  328. package/resources/api/loyalty/currencies.mjs.map +0 -1
  329. package/resources/api/loyalty/index.d.ts.map +0 -1
  330. package/resources/api/loyalty/index.js.map +0 -1
  331. package/resources/api/loyalty/index.mjs.map +0 -1
  332. package/resources/api/loyalty/loyalty.d.ts.map +0 -1
  333. package/resources/api/loyalty/loyalty.js.map +0 -1
  334. package/resources/api/loyalty/loyalty.mjs.map +0 -1
  335. package/resources/api/loyalty/multipliers.d.ts.map +0 -1
  336. package/resources/api/loyalty/multipliers.js.map +0 -1
  337. package/resources/api/loyalty/multipliers.mjs.map +0 -1
  338. package/resources/api/loyalty/questions-responses.d.ts.map +0 -1
  339. package/resources/api/loyalty/questions-responses.js.map +0 -1
  340. package/resources/api/loyalty/questions-responses.mjs.map +0 -1
  341. package/resources/api/loyalty/questions.d.ts.map +0 -1
  342. package/resources/api/loyalty/questions.js +0 -27
  343. package/resources/api/loyalty/questions.js.map +0 -1
  344. package/resources/api/loyalty/questions.mjs +0 -23
  345. package/resources/api/loyalty/questions.mjs.map +0 -1
  346. package/resources/api/loyalty/rule-edits.d.ts +0 -330
  347. package/resources/api/loyalty/rule-edits.d.ts.map +0 -1
  348. package/resources/api/loyalty/rule-edits.js.map +0 -1
  349. package/resources/api/loyalty/rule-edits.mjs.map +0 -1
  350. package/resources/api/loyalty/rules.d.ts.map +0 -1
  351. package/resources/api/loyalty/rules.js +0 -46
  352. package/resources/api/loyalty/rules.js.map +0 -1
  353. package/resources/api/loyalty/rules.mjs +0 -42
  354. package/resources/api/loyalty/rules.mjs.map +0 -1
  355. package/resources/api/loyalty.d.ts.map +0 -1
  356. package/resources/api/loyalty.js.map +0 -1
  357. package/resources/api/loyalty.mjs.map +0 -1
  358. package/resources/api/minting.d.ts.map +0 -1
  359. package/resources/api/minting.js.map +0 -1
  360. package/resources/api/minting.mjs.map +0 -1
  361. package/resources/api/referral/index.d.ts.map +0 -1
  362. package/resources/api/referral/index.js.map +0 -1
  363. package/resources/api/referral/index.mjs.map +0 -1
  364. package/resources/api/referral/referral.d.ts.map +0 -1
  365. package/resources/api/referral/referral.js.map +0 -1
  366. package/resources/api/referral/referral.mjs.map +0 -1
  367. package/resources/api/referral/users.d.ts.map +0 -1
  368. package/resources/api/referral/users.js.map +0 -1
  369. package/resources/api/referral/users.mjs.map +0 -1
  370. package/resources/api/referral.d.ts.map +0 -1
  371. package/resources/api/referral.js.map +0 -1
  372. package/resources/api/referral.mjs.map +0 -1
  373. package/resources/api/users/index.d.ts +0 -3
  374. package/resources/api/users/index.d.ts.map +0 -1
  375. package/resources/api/users/index.js.map +0 -1
  376. package/resources/api/users/index.mjs.map +0 -1
  377. package/resources/api/users/metadatas.d.ts.map +0 -1
  378. package/resources/api/users/metadatas.js.map +0 -1
  379. package/resources/api/users/metadatas.mjs.map +0 -1
  380. package/resources/api/users/users.d.ts +0 -133
  381. package/resources/api/users/users.d.ts.map +0 -1
  382. package/resources/api/users/users.js.map +0 -1
  383. package/resources/api/users/users.mjs +0 -30
  384. package/resources/api/users/users.mjs.map +0 -1
  385. package/resources/api/users.d.ts.map +0 -1
  386. package/resources/api/users.js.map +0 -1
  387. package/resources/api/users.mjs.map +0 -1
  388. package/resources/api/website-collections.d.ts.map +0 -1
  389. package/resources/api/website-collections.js.map +0 -1
  390. package/resources/api/website-collections.mjs +0 -21
  391. package/resources/api/website-collections.mjs.map +0 -1
  392. package/resources/api/website-user-roles.d.ts.map +0 -1
  393. package/resources/api/website-user-roles.js.map +0 -1
  394. package/resources/api/website-user-roles.mjs +0 -18
  395. package/resources/api/website-user-roles.mjs.map +0 -1
  396. package/resources/api/websites.d.ts.map +0 -1
  397. package/resources/api/websites.js +0 -22
  398. package/resources/api/websites.js.map +0 -1
  399. package/resources/api/websites.mjs +0 -18
  400. package/resources/api/websites.mjs.map +0 -1
  401. package/resources/api.d.ts +0 -2
  402. package/resources/api.d.ts.map +0 -1
  403. package/resources/api.js.map +0 -1
  404. package/resources/api.mjs.map +0 -1
  405. package/src/resources/api/api.ts +0 -629
  406. package/src/resources/api/index.ts +0 -51
  407. package/src/resources/api/loyalty/rule-edits.ts +0 -418
  408. package/src/resources/api/users/users.ts +0 -203
  409. /package/resources/{api/loyalty.d.ts → loyalty.d.ts} +0 -0
  410. /package/resources/{api/loyalty.js → loyalty.js} +0 -0
  411. /package/resources/{api/loyalty.mjs → loyalty.mjs} +0 -0
  412. /package/resources/{api/referral → referral}/index.d.ts +0 -0
  413. /package/resources/{api/referral → referral}/index.js +0 -0
  414. /package/resources/{api/referral → referral}/index.mjs +0 -0
  415. /package/resources/{api/referral.d.ts → referral.d.ts} +0 -0
  416. /package/resources/{api/referral.js → referral.js} +0 -0
  417. /package/resources/{api/referral.mjs → referral.mjs} +0 -0
  418. /package/resources/{api/users → users}/index.js +0 -0
  419. /package/resources/{api/users → users}/index.mjs +0 -0
  420. /package/resources/{api/users.d.ts → users.d.ts} +0 -0
  421. /package/resources/{api/users.js → users.js} +0 -0
  422. /package/resources/{api/users.mjs → users.mjs} +0 -0
  423. /package/src/resources/{api/loyalty.ts → loyalty.ts} +0 -0
  424. /package/src/resources/{api/referral → referral}/index.ts +0 -0
  425. /package/src/resources/{api/referral.ts → referral.ts} +0 -0
  426. /package/src/resources/{api/users.ts → users.ts} +0 -0
@@ -1,12 +1,30 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../../resource';
4
- import { isRequestOptions } from '../../../core';
5
- import * as Core from '../../../core';
3
+ import { APIResource } from '../../resource';
4
+ import { isRequestOptions } from '../../core';
5
+ import * as Core from '../../core';
6
6
 
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, DiscordMessages
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,11 +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
144
  getStatus(
76
- query: RuleGetStatusParams,
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 = {},
77
151
  options?: Core.RequestOptions,
78
152
  ): Core.APIPromise<RuleGetStatusResponse> {
153
+ if (isRequestOptions(query)) {
154
+ return this.getStatus({}, query);
155
+ }
79
156
  return this._client.get('/api/loyalty/rules/status', { query, ...options });
80
157
  }
81
158
  }
@@ -189,7 +266,19 @@ export interface RuleCreateResponse {
189
266
  | 'twitter_like'
190
267
  | 'twitter_post_hashtag'
191
268
  | 'quiz'
192
- | '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';
193
282
 
194
283
  /**
195
284
  * Unique identifier for the associated website
@@ -226,6 +315,13 @@ export interface RuleCreateResponse {
226
315
  */
227
316
  description?: string;
228
317
 
318
+ duplicatedFromId?: string | null;
319
+
320
+ /**
321
+ * ID of the external integration
322
+ */
323
+ externalIntegrationId?: string | null;
324
+
229
325
  /**
230
326
  * Whether to hide this rule in the user interface
231
327
  */
@@ -234,55 +330,96 @@ export interface RuleCreateResponse {
234
330
  /**
235
331
  * Interval between rule executions
236
332
  */
237
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
333
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
238
334
 
239
335
  /**
240
336
  * Whether this rule is mandatory
241
337
  */
242
338
  isRequired?: boolean;
243
339
 
340
+ /**
341
+ * Unique identifier for the loyalty badge
342
+ */
343
+ loyaltyBadgeId?: string | null;
344
+
244
345
  /**
245
346
  * Unique identifier for the loyalty rule group
246
347
  */
247
348
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
248
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
+
249
372
  /**
250
373
  * Blockchain network where the rule will apply
251
374
  */
252
375
  network?:
253
- | 'mainnet'
254
- | 'polygon'
255
- | 'polygon_mumbai'
256
- | 'optimism'
376
+ | 'abstract'
377
+ | 'abstractTestnet'
378
+ | 'apechain'
257
379
  | 'arbitrum'
258
- | 'binance'
259
- | 'bscTestnet'
260
380
  | 'avalanche'
261
381
  | 'avalancheFuji'
262
- | 'zksync'
263
- | 'fantom'
264
- | 'fantomTestnet'
265
382
  | 'base'
266
383
  | 'baseSepolia'
267
- | 'skaleNebula'
268
- | 'xai'
384
+ | 'berachain'
269
385
  | 'berachainArtio'
270
- | 'solana'
271
- | 'apechain'
272
- | 'flowMainnet'
386
+ | 'berachainBepolia'
387
+ | 'binance'
388
+ | 'bscTestnet'
273
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'
274
402
  | 'sui'
275
- | 'vanar'
276
403
  | 'superseed'
277
404
  | 'superseedSepolia'
405
+ | 'vanar'
406
+ | 'xai'
407
+ | 'zksync'
408
+ | 'coti'
409
+ | 'cotiTestnet'
410
+ | 'morph'
411
+ | 'morphTestnet'
412
+ | 'morphHolesky'
413
+ | 'ultra'
414
+ | 'ultraTestnet'
415
+ | 'nitrograph'
278
416
  | 'sepolia'
279
417
  | 'optimism_sepolia'
280
418
  | 'arbitrumSepolia'
281
419
  | 'goerli'
282
420
  | 'optimism_goerli'
283
421
  | 'arbitrumGoerli'
284
- | 'basecamp'
285
- | 'abstract';
422
+ | 'basecamp';
286
423
 
287
424
  /**
288
425
  * OAuth credentials associated with the rule
@@ -292,12 +429,22 @@ export interface RuleCreateResponse {
292
429
  /**
293
430
  * Type of reward issued by the rule
294
431
  */
295
- rewardType?: 'points' | 'multiplier';
432
+ rewardType?: 'points' | 'multiplier' | 'badge';
433
+
434
+ /**
435
+ * URL of the Shopify store
436
+ */
437
+ shopifyStoreUrl?: string | null;
438
+
439
+ /**
440
+ * Whether to show this rule before the start time
441
+ */
442
+ showBeforeStart?: boolean;
296
443
 
297
444
  /**
298
- * Identifier for associated subscriptions
445
+ * Optional subscription id for the rule
299
446
  */
300
- subscriptionIdentifier?: string | null;
447
+ subscriptionId?: string | null;
301
448
  }
302
449
 
303
450
  export namespace RuleCreateResponse {
@@ -305,6 +452,11 @@ export namespace RuleCreateResponse {
305
452
  * Additional metadata for the loyalty rule
306
453
  */
307
454
  export interface Metadata {
455
+ /**
456
+ * Number of tokens per batch.
457
+ */
458
+ batchSize?: number | null;
459
+
308
460
  /**
309
461
  * Text displayed on the action button.
310
462
  */
@@ -335,6 +487,16 @@ export namespace RuleCreateResponse {
335
487
  */
336
488
  collection?: Array<Metadata.Collection>;
337
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
+
338
500
  /**
339
501
  * Object containing details for the call-to-action.
340
502
  */
@@ -345,6 +507,11 @@ export namespace RuleCreateResponse {
345
507
  */
346
508
  customRewardsApiKey?: string;
347
509
 
510
+ /**
511
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
512
+ */
513
+ directRpc?: boolean;
514
+
348
515
  /**
349
516
  * Array of Discord servers, channels, and roles to join.
350
517
  */
@@ -370,11 +537,21 @@ export namespace RuleCreateResponse {
370
537
  */
371
538
  enableVerifiedMultiplier?: boolean;
372
539
 
540
+ /**
541
+ * Fill source of the order for the token sale
542
+ */
543
+ fillSource?: string;
544
+
373
545
  /**
374
546
  * Percentage reward given to a user for their first referral.
375
547
  */
376
548
  firstReferralReward?: number | null;
377
549
 
550
+ /**
551
+ * Flag indicating whether the fill source is included.
552
+ */
553
+ hasFillSource?: boolean;
554
+
378
555
  /**
379
556
  * Indicates if the item has never been sold.
380
557
  */
@@ -400,11 +577,21 @@ export namespace RuleCreateResponse {
400
577
  */
401
578
  imageUrl?: string | null;
402
579
 
580
+ /**
581
+ * If enabled, the first transaction done on the platform will complete this rule
582
+ */
583
+ isCheckInOnEveryTxn?: boolean;
584
+
403
585
  /**
404
586
  * Indicates if the multiplier has been applied to rewards.
405
587
  */
406
588
  isMultiplierApplied?: boolean;
407
589
 
590
+ /**
591
+ * Flag indicating if the rule is restricted to new users.
592
+ */
593
+ isRestrictedToNewUsers?: boolean;
594
+
408
595
  /**
409
596
  * Flag indicating if rewards are applied retroactively.
410
597
  */
@@ -420,6 +607,11 @@ export namespace RuleCreateResponse {
420
607
  */
421
608
  link?: string | null;
422
609
 
610
+ /**
611
+ * Liquidity pool details.
612
+ */
613
+ liquidity?: Metadata.Liquidity;
614
+
423
615
  /**
424
616
  * Maximum quantity constraint for token holding.
425
617
  */
@@ -465,6 +657,21 @@ export namespace RuleCreateResponse {
465
657
  */
466
658
  promoCode?: string;
467
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
+
468
675
  /**
469
676
  * Array defining ranges and corresponding rewards.
470
677
  */
@@ -480,11 +687,52 @@ export namespace RuleCreateResponse {
480
687
  */
481
688
  referrerReward?: number | null;
482
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
+
483
715
  /**
484
716
  * Flag indicating if rewards are given per impression.
485
717
  */
486
718
  rewardPerImpression?: boolean | null;
487
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
+
488
736
  /**
489
737
  * Currency associated with sales.
490
738
  */
@@ -524,6 +772,7 @@ export namespace RuleCreateResponse {
524
772
  | 'Twitch'
525
773
  | 'X(Twitter)'
526
774
  | 'YouTube'
775
+ | 'Google'
527
776
  | null;
528
777
 
529
778
  /**
@@ -536,11 +785,21 @@ export namespace RuleCreateResponse {
536
785
  */
537
786
  socialPlatformName?: string | null;
538
787
 
788
+ /**
789
+ * ID of the Steam app.
790
+ */
791
+ steamAppId?: string | null;
792
+
539
793
  /**
540
794
  * Array of streak milestones and corresponding rewards.
541
795
  */
542
796
  streakArray?: Array<Metadata.StreakArray> | null;
543
797
 
798
+ /**
799
+ * Metadata for swap loyalty rules
800
+ */
801
+ swap?: Metadata.Swap;
802
+
544
803
  /**
545
804
  * ID of the Telegram channel.
546
805
  */
@@ -556,6 +815,12 @@ export namespace RuleCreateResponse {
556
815
  */
557
816
  trackAllContracts?: boolean | null;
558
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
+
559
824
  /**
560
825
  * URL of the associated Twitter account.
561
826
  */
@@ -599,7 +864,17 @@ export namespace RuleCreateResponse {
599
864
  /**
600
865
  * Type of wallet associated with the rule.
601
866
  */
602
- 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;
603
878
  }
604
879
 
605
880
  export namespace Metadata {
@@ -618,39 +893,53 @@ export namespace RuleCreateResponse {
618
893
  * Blockchain network of the collection.
619
894
  */
620
895
  network?:
621
- | 'mainnet'
622
- | 'polygon'
623
- | 'polygon_mumbai'
624
- | 'optimism'
896
+ | 'abstract'
897
+ | 'abstractTestnet'
898
+ | 'apechain'
625
899
  | 'arbitrum'
626
- | 'binance'
627
- | 'bscTestnet'
628
900
  | 'avalanche'
629
901
  | 'avalancheFuji'
630
- | 'zksync'
631
- | 'fantom'
632
- | 'fantomTestnet'
633
902
  | 'base'
634
903
  | 'baseSepolia'
635
- | 'skaleNebula'
636
- | 'xai'
904
+ | 'berachain'
637
905
  | 'berachainArtio'
638
- | 'solana'
639
- | 'apechain'
640
- | 'flowMainnet'
906
+ | 'berachainBepolia'
907
+ | 'binance'
908
+ | 'bscTestnet'
641
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'
642
922
  | 'sui'
643
- | 'vanar'
644
923
  | 'superseed'
645
924
  | 'superseedSepolia'
925
+ | 'vanar'
926
+ | 'xai'
927
+ | 'zksync'
928
+ | 'coti'
929
+ | 'cotiTestnet'
930
+ | 'morph'
931
+ | 'morphTestnet'
932
+ | 'morphHolesky'
933
+ | 'ultra'
934
+ | 'ultraTestnet'
935
+ | 'nitrograph'
646
936
  | 'sepolia'
647
937
  | 'optimism_sepolia'
648
938
  | 'arbitrumSepolia'
649
939
  | 'goerli'
650
940
  | 'optimism_goerli'
651
941
  | 'arbitrumGoerli'
652
- | 'basecamp'
653
- | 'abstract';
942
+ | 'basecamp';
654
943
  }
655
944
 
656
945
  /**
@@ -727,6 +1016,104 @@ export namespace RuleCreateResponse {
727
1016
  id: string;
728
1017
  }
729
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
+
730
1117
  export interface Range {
731
1118
  /**
732
1119
  * Reward amount for this range.
@@ -742,6 +1129,16 @@ export namespace RuleCreateResponse {
742
1129
  * Start value of the range.
743
1130
  */
744
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;
745
1142
  }
746
1143
 
747
1144
  /**
@@ -794,20 +1191,15 @@ export namespace RuleCreateResponse {
794
1191
  * Object containing details of the associated smart contract.
795
1192
  */
796
1193
  export interface SmartContract {
797
- /**
798
- * ABI of the smart contract.
799
- */
800
- abi?: string | null;
801
-
802
1194
  /**
803
1195
  * Mapping of addresses for the smart contract.
804
1196
  */
805
1197
  addressMapping?: string | null;
806
1198
 
807
1199
  /**
808
- * Array of bonus details applied to the rule.
1200
+ * Object containing details of the amount multiplier from the event.
809
1201
  */
810
- bonus?: Array<SmartContract.Bonus> | null;
1202
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
811
1203
 
812
1204
  /**
813
1205
  * ID of the smart contract.
@@ -819,69 +1211,32 @@ export namespace RuleCreateResponse {
819
1211
  */
820
1212
  criteria?: 'everyEvent' | 'byParameter' | null;
821
1213
 
822
- /**
823
- * Time range applied to the rule.
824
- */
825
- customRange?: SmartContract.CustomRange | null;
826
-
827
1214
  /**
828
1215
  * Event emitted by the smart contract.
829
1216
  */
830
1217
  event?: string | null;
831
1218
 
832
- /**
833
- * Maximum value allowed for the parameter.
834
- */
835
- max?: number | null;
836
-
837
1219
  /**
838
1220
  * Array of parameters for the smart contract.
839
1221
  */
840
1222
  params?: Array<SmartContract.Param> | null;
841
1223
 
842
1224
  /**
843
- * Flag indicating if a bonus is applied.
844
- */
845
- withBonus?: boolean | null;
846
-
847
- /**
848
- * Flag indicating if a custom range is applied.
849
- */
850
- withCustomRange?: boolean | null;
851
-
852
- /**
853
- * Flag indicating if a maximum limit is applied.
1225
+ * Type of the smart contract interaction.
854
1226
  */
855
- withMax?: boolean | null;
1227
+ type?: 'function' | 'event' | null;
856
1228
  }
857
1229
 
858
1230
  export namespace SmartContract {
859
- export interface Bonus {
1231
+ /**
1232
+ * Object containing details of the amount multiplier from the event.
1233
+ */
1234
+ export interface AmountMultiplier {
860
1235
  /**
861
- * Amount of the bonus.
1236
+ * Mapping of the value for the smart contract.
862
1237
  */
863
- amount?: number | null;
864
-
865
- /**
866
- * Number of times the bonus is applied.
867
- */
868
- count?: number | null;
869
- }
870
-
871
- /**
872
- * Time range applied to the rule.
873
- */
874
- export interface CustomRange {
875
- /**
876
- * End time of the custom range.
877
- */
878
- endsAt?: string | null;
879
-
880
- /**
881
- * Start time of the custom range.
882
- */
883
- startsAt?: string | null;
884
- }
1238
+ valueMapping?: string | null;
1239
+ }
885
1240
 
886
1241
  export interface Param {
887
1242
  /**
@@ -924,6 +1279,33 @@ export namespace RuleCreateResponse {
924
1279
  */
925
1280
  streakMilestone: number;
926
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
+ }
927
1309
  }
928
1310
 
929
1311
  export interface Collection {
@@ -936,39 +1318,58 @@ export namespace RuleCreateResponse {
936
1318
  * Blockchain network for the collection
937
1319
  */
938
1320
  network:
939
- | 'mainnet'
940
- | 'polygon'
941
- | 'polygon_mumbai'
942
- | 'optimism'
1321
+ | 'abstract'
1322
+ | 'abstractTestnet'
1323
+ | 'apechain'
943
1324
  | 'arbitrum'
944
- | 'binance'
945
- | 'bscTestnet'
946
1325
  | 'avalanche'
947
1326
  | 'avalancheFuji'
948
- | 'zksync'
949
- | 'fantom'
950
- | 'fantomTestnet'
951
1327
  | 'base'
952
1328
  | 'baseSepolia'
953
- | 'skaleNebula'
954
- | 'xai'
1329
+ | 'berachain'
955
1330
  | 'berachainArtio'
956
- | 'solana'
957
- | 'apechain'
958
- | 'flowMainnet'
1331
+ | 'berachainBepolia'
1332
+ | 'binance'
1333
+ | 'bscTestnet'
959
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'
960
1347
  | 'sui'
961
- | 'vanar'
962
1348
  | 'superseed'
963
1349
  | 'superseedSepolia'
1350
+ | 'vanar'
1351
+ | 'xai'
1352
+ | 'zksync'
1353
+ | 'coti'
1354
+ | 'cotiTestnet'
1355
+ | 'morph'
1356
+ | 'morphTestnet'
1357
+ | 'morphHolesky'
1358
+ | 'ultra'
1359
+ | 'ultraTestnet'
1360
+ | 'nitrograph'
964
1361
  | 'sepolia'
965
1362
  | 'optimism_sepolia'
966
1363
  | 'arbitrumSepolia'
967
1364
  | 'goerli'
968
1365
  | 'optimism_goerli'
969
1366
  | 'arbitrumGoerli'
970
- | 'basecamp'
971
- | 'abstract';
1367
+ | 'basecamp';
1368
+
1369
+ /**
1370
+ * Symbol of the collection.
1371
+ */
1372
+ symbol?: string;
972
1373
  }
973
1374
  }
974
1375
 
@@ -1025,6 +1426,11 @@ export interface RuleUpdateResponse {
1025
1426
  */
1026
1427
  effectiveStartTime?: string | null;
1027
1428
 
1429
+ /**
1430
+ * ID of the external integration
1431
+ */
1432
+ externalIntegrationId?: string | null;
1433
+
1028
1434
  /**
1029
1435
  * Frequency of the rule execution
1030
1436
  */
@@ -1038,7 +1444,7 @@ export interface RuleUpdateResponse {
1038
1444
  /**
1039
1445
  * Time interval for recurring rule execution
1040
1446
  */
1041
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1447
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1042
1448
 
1043
1449
  /**
1044
1450
  * Whether this rule is required for participation
@@ -1050,6 +1456,23 @@ export interface RuleUpdateResponse {
1050
1456
  */
1051
1457
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1052
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
+
1053
1476
  /**
1054
1477
  * Additional metadata for the loyalty rule
1055
1478
  */
@@ -1059,39 +1482,53 @@ export interface RuleUpdateResponse {
1059
1482
  * Blockchain network where the rule will apply
1060
1483
  */
1061
1484
  network?:
1062
- | 'mainnet'
1063
- | 'polygon'
1064
- | 'polygon_mumbai'
1065
- | 'optimism'
1485
+ | 'abstract'
1486
+ | 'abstractTestnet'
1487
+ | 'apechain'
1066
1488
  | 'arbitrum'
1067
- | 'binance'
1068
- | 'bscTestnet'
1069
1489
  | 'avalanche'
1070
1490
  | 'avalancheFuji'
1071
- | 'zksync'
1072
- | 'fantom'
1073
- | 'fantomTestnet'
1074
1491
  | 'base'
1075
1492
  | 'baseSepolia'
1076
- | 'skaleNebula'
1077
- | 'xai'
1493
+ | 'berachain'
1078
1494
  | 'berachainArtio'
1079
- | 'solana'
1080
- | 'apechain'
1081
- | 'flowMainnet'
1495
+ | 'berachainBepolia'
1496
+ | 'binance'
1497
+ | 'bscTestnet'
1082
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'
1083
1511
  | 'sui'
1084
- | 'vanar'
1085
1512
  | 'superseed'
1086
1513
  | 'superseedSepolia'
1514
+ | 'vanar'
1515
+ | 'xai'
1516
+ | 'zksync'
1517
+ | 'coti'
1518
+ | 'cotiTestnet'
1519
+ | 'morph'
1520
+ | 'morphTestnet'
1521
+ | 'morphHolesky'
1522
+ | 'ultra'
1523
+ | 'ultraTestnet'
1524
+ | 'nitrograph'
1087
1525
  | 'sepolia'
1088
1526
  | 'optimism_sepolia'
1089
1527
  | 'arbitrumSepolia'
1090
1528
  | 'goerli'
1091
1529
  | 'optimism_goerli'
1092
1530
  | 'arbitrumGoerli'
1093
- | 'basecamp'
1094
- | 'abstract';
1531
+ | 'basecamp';
1095
1532
 
1096
1533
  /**
1097
1534
  * ID for associated OAuth credentials
@@ -1101,7 +1538,17 @@ export interface RuleUpdateResponse {
1101
1538
  /**
1102
1539
  * Type of reward issued by this rule
1103
1540
  */
1104
- 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;
1105
1552
 
1106
1553
  /**
1107
1554
  * Start time for the loyalty rule
@@ -1109,9 +1556,9 @@ export interface RuleUpdateResponse {
1109
1556
  startTime?: string | null;
1110
1557
 
1111
1558
  /**
1112
- * Optional subscription identifier for the rule
1559
+ * Optional subscription id for the rule
1113
1560
  */
1114
- subscriptionIdentifier?: string | null;
1561
+ subscriptionId?: string | null;
1115
1562
  }
1116
1563
 
1117
1564
  export namespace RuleUpdateResponse {
@@ -1125,45 +1572,69 @@ export namespace RuleUpdateResponse {
1125
1572
  * Blockchain network for the collection
1126
1573
  */
1127
1574
  network:
1128
- | 'mainnet'
1129
- | 'polygon'
1130
- | 'polygon_mumbai'
1131
- | 'optimism'
1575
+ | 'abstract'
1576
+ | 'abstractTestnet'
1577
+ | 'apechain'
1132
1578
  | 'arbitrum'
1133
- | 'binance'
1134
- | 'bscTestnet'
1135
1579
  | 'avalanche'
1136
1580
  | 'avalancheFuji'
1137
- | 'zksync'
1138
- | 'fantom'
1139
- | 'fantomTestnet'
1140
1581
  | 'base'
1141
1582
  | 'baseSepolia'
1142
- | 'skaleNebula'
1143
- | 'xai'
1583
+ | 'berachain'
1144
1584
  | 'berachainArtio'
1145
- | 'solana'
1146
- | 'apechain'
1147
- | 'flowMainnet'
1585
+ | 'berachainBepolia'
1586
+ | 'binance'
1587
+ | 'bscTestnet'
1148
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'
1149
1601
  | 'sui'
1150
- | 'vanar'
1151
1602
  | 'superseed'
1152
1603
  | 'superseedSepolia'
1604
+ | 'vanar'
1605
+ | 'xai'
1606
+ | 'zksync'
1607
+ | 'coti'
1608
+ | 'cotiTestnet'
1609
+ | 'morph'
1610
+ | 'morphTestnet'
1611
+ | 'morphHolesky'
1612
+ | 'ultra'
1613
+ | 'ultraTestnet'
1614
+ | 'nitrograph'
1153
1615
  | 'sepolia'
1154
1616
  | 'optimism_sepolia'
1155
1617
  | 'arbitrumSepolia'
1156
1618
  | 'goerli'
1157
1619
  | 'optimism_goerli'
1158
1620
  | 'arbitrumGoerli'
1159
- | 'basecamp'
1160
- | 'abstract';
1621
+ | 'basecamp';
1622
+
1623
+ /**
1624
+ * Symbol of the collection.
1625
+ */
1626
+ symbol?: string;
1161
1627
  }
1162
1628
 
1163
1629
  /**
1164
1630
  * Additional metadata for the loyalty rule
1165
1631
  */
1166
1632
  export interface Metadata {
1633
+ /**
1634
+ * Number of tokens per batch.
1635
+ */
1636
+ batchSize?: number | null;
1637
+
1167
1638
  /**
1168
1639
  * Text displayed on the action button.
1169
1640
  */
@@ -1194,6 +1665,16 @@ export namespace RuleUpdateResponse {
1194
1665
  */
1195
1666
  collection?: Array<Metadata.Collection>;
1196
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
+
1197
1678
  /**
1198
1679
  * Object containing details for the call-to-action.
1199
1680
  */
@@ -1204,6 +1685,11 @@ export namespace RuleUpdateResponse {
1204
1685
  */
1205
1686
  customRewardsApiKey?: string;
1206
1687
 
1688
+ /**
1689
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1690
+ */
1691
+ directRpc?: boolean;
1692
+
1207
1693
  /**
1208
1694
  * Array of Discord servers, channels, and roles to join.
1209
1695
  */
@@ -1229,11 +1715,21 @@ export namespace RuleUpdateResponse {
1229
1715
  */
1230
1716
  enableVerifiedMultiplier?: boolean;
1231
1717
 
1718
+ /**
1719
+ * Fill source of the order for the token sale
1720
+ */
1721
+ fillSource?: string;
1722
+
1232
1723
  /**
1233
1724
  * Percentage reward given to a user for their first referral.
1234
1725
  */
1235
1726
  firstReferralReward?: number | null;
1236
1727
 
1728
+ /**
1729
+ * Flag indicating whether the fill source is included.
1730
+ */
1731
+ hasFillSource?: boolean;
1732
+
1237
1733
  /**
1238
1734
  * Indicates if the item has never been sold.
1239
1735
  */
@@ -1259,11 +1755,21 @@ export namespace RuleUpdateResponse {
1259
1755
  */
1260
1756
  imageUrl?: string | null;
1261
1757
 
1758
+ /**
1759
+ * If enabled, the first transaction done on the platform will complete this rule
1760
+ */
1761
+ isCheckInOnEveryTxn?: boolean;
1762
+
1262
1763
  /**
1263
1764
  * Indicates if the multiplier has been applied to rewards.
1264
1765
  */
1265
1766
  isMultiplierApplied?: boolean;
1266
1767
 
1768
+ /**
1769
+ * Flag indicating if the rule is restricted to new users.
1770
+ */
1771
+ isRestrictedToNewUsers?: boolean;
1772
+
1267
1773
  /**
1268
1774
  * Flag indicating if rewards are applied retroactively.
1269
1775
  */
@@ -1279,6 +1785,11 @@ export namespace RuleUpdateResponse {
1279
1785
  */
1280
1786
  link?: string | null;
1281
1787
 
1788
+ /**
1789
+ * Liquidity pool details.
1790
+ */
1791
+ liquidity?: Metadata.Liquidity;
1792
+
1282
1793
  /**
1283
1794
  * Maximum quantity constraint for token holding.
1284
1795
  */
@@ -1324,6 +1835,21 @@ export namespace RuleUpdateResponse {
1324
1835
  */
1325
1836
  promoCode?: string;
1326
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
+
1327
1853
  /**
1328
1854
  * Array defining ranges and corresponding rewards.
1329
1855
  */
@@ -1339,11 +1865,52 @@ export namespace RuleUpdateResponse {
1339
1865
  */
1340
1866
  referrerReward?: number | null;
1341
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
+
1342
1893
  /**
1343
1894
  * Flag indicating if rewards are given per impression.
1344
1895
  */
1345
1896
  rewardPerImpression?: boolean | null;
1346
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
+
1347
1914
  /**
1348
1915
  * Currency associated with sales.
1349
1916
  */
@@ -1383,6 +1950,7 @@ export namespace RuleUpdateResponse {
1383
1950
  | 'Twitch'
1384
1951
  | 'X(Twitter)'
1385
1952
  | 'YouTube'
1953
+ | 'Google'
1386
1954
  | null;
1387
1955
 
1388
1956
  /**
@@ -1395,11 +1963,21 @@ export namespace RuleUpdateResponse {
1395
1963
  */
1396
1964
  socialPlatformName?: string | null;
1397
1965
 
1966
+ /**
1967
+ * ID of the Steam app.
1968
+ */
1969
+ steamAppId?: string | null;
1970
+
1398
1971
  /**
1399
1972
  * Array of streak milestones and corresponding rewards.
1400
1973
  */
1401
1974
  streakArray?: Array<Metadata.StreakArray> | null;
1402
1975
 
1976
+ /**
1977
+ * Metadata for swap loyalty rules
1978
+ */
1979
+ swap?: Metadata.Swap;
1980
+
1403
1981
  /**
1404
1982
  * ID of the Telegram channel.
1405
1983
  */
@@ -1415,6 +1993,12 @@ export namespace RuleUpdateResponse {
1415
1993
  */
1416
1994
  trackAllContracts?: boolean | null;
1417
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
+
1418
2002
  /**
1419
2003
  * URL of the associated Twitter account.
1420
2004
  */
@@ -1458,7 +2042,17 @@ export namespace RuleUpdateResponse {
1458
2042
  /**
1459
2043
  * Type of wallet associated with the rule.
1460
2044
  */
1461
- 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;
1462
2056
  }
1463
2057
 
1464
2058
  export namespace Metadata {
@@ -1477,39 +2071,53 @@ export namespace RuleUpdateResponse {
1477
2071
  * Blockchain network of the collection.
1478
2072
  */
1479
2073
  network?:
1480
- | 'mainnet'
1481
- | 'polygon'
1482
- | 'polygon_mumbai'
1483
- | 'optimism'
2074
+ | 'abstract'
2075
+ | 'abstractTestnet'
2076
+ | 'apechain'
1484
2077
  | 'arbitrum'
1485
- | 'binance'
1486
- | 'bscTestnet'
1487
2078
  | 'avalanche'
1488
2079
  | 'avalancheFuji'
1489
- | 'zksync'
1490
- | 'fantom'
1491
- | 'fantomTestnet'
1492
2080
  | 'base'
1493
2081
  | 'baseSepolia'
1494
- | 'skaleNebula'
1495
- | 'xai'
2082
+ | 'berachain'
1496
2083
  | 'berachainArtio'
1497
- | 'solana'
1498
- | 'apechain'
1499
- | 'flowMainnet'
2084
+ | 'berachainBepolia'
2085
+ | 'binance'
2086
+ | 'bscTestnet'
1500
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'
1501
2100
  | 'sui'
1502
- | 'vanar'
1503
2101
  | 'superseed'
1504
2102
  | 'superseedSepolia'
2103
+ | 'vanar'
2104
+ | 'xai'
2105
+ | 'zksync'
2106
+ | 'coti'
2107
+ | 'cotiTestnet'
2108
+ | 'morph'
2109
+ | 'morphTestnet'
2110
+ | 'morphHolesky'
2111
+ | 'ultra'
2112
+ | 'ultraTestnet'
2113
+ | 'nitrograph'
1505
2114
  | 'sepolia'
1506
2115
  | 'optimism_sepolia'
1507
2116
  | 'arbitrumSepolia'
1508
2117
  | 'goerli'
1509
2118
  | 'optimism_goerli'
1510
2119
  | 'arbitrumGoerli'
1511
- | 'basecamp'
1512
- | 'abstract';
2120
+ | 'basecamp';
1513
2121
  }
1514
2122
 
1515
2123
  /**
@@ -1586,22 +2194,130 @@ export namespace RuleUpdateResponse {
1586
2194
  id: string;
1587
2195
  }
1588
2196
 
1589
- export interface Range {
2197
+ /**
2198
+ * Liquidity pool details.
2199
+ */
2200
+ export interface Liquidity {
1590
2201
  /**
1591
- * Reward amount for this range.
2202
+ * Calculation type of the liquidity pool.
1592
2203
  */
1593
- amount: number;
2204
+ calculationType?: 'fixed' | 'custom';
1594
2205
 
1595
2206
  /**
1596
- * 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.
1597
2210
  */
1598
- endRange: number;
2211
+ customFunction?: string;
1599
2212
 
1600
2213
  /**
1601
- * Start value of the range.
2214
+ * Liquidity provided per day in USD
1602
2215
  */
1603
- startRange: number;
1604
- }
2216
+ liquidityPerDay?: number;
2217
+
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
+ }
1605
2321
 
1606
2322
  /**
1607
2323
  * Object defining referral requirements.
@@ -1653,20 +2369,15 @@ export namespace RuleUpdateResponse {
1653
2369
  * Object containing details of the associated smart contract.
1654
2370
  */
1655
2371
  export interface SmartContract {
1656
- /**
1657
- * ABI of the smart contract.
1658
- */
1659
- abi?: string | null;
1660
-
1661
2372
  /**
1662
2373
  * Mapping of addresses for the smart contract.
1663
2374
  */
1664
2375
  addressMapping?: string | null;
1665
2376
 
1666
2377
  /**
1667
- * Array of bonus details applied to the rule.
2378
+ * Object containing details of the amount multiplier from the event.
1668
2379
  */
1669
- bonus?: Array<SmartContract.Bonus> | null;
2380
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1670
2381
 
1671
2382
  /**
1672
2383
  * ID of the smart contract.
@@ -1679,178 +2390,1159 @@ export namespace RuleUpdateResponse {
1679
2390
  criteria?: 'everyEvent' | 'byParameter' | null;
1680
2391
 
1681
2392
  /**
1682
- * Time range applied to the rule.
2393
+ * Event emitted by the smart contract.
1683
2394
  */
1684
- customRange?: SmartContract.CustomRange | null;
2395
+ event?: string | null;
1685
2396
 
1686
2397
  /**
1687
- * Event emitted by the smart contract.
2398
+ * Array of parameters for the smart contract.
1688
2399
  */
1689
- event?: string | null;
2400
+ params?: Array<SmartContract.Param> | null;
1690
2401
 
1691
2402
  /**
1692
- * Maximum value allowed for the parameter.
2403
+ * Type of the smart contract interaction.
1693
2404
  */
1694
- max?: number | null;
2405
+ type?: 'function' | 'event' | null;
2406
+ }
1695
2407
 
2408
+ export namespace SmartContract {
1696
2409
  /**
1697
- * Array of parameters for the smart contract.
2410
+ * Object containing details of the amount multiplier from the event.
1698
2411
  */
1699
- params?: Array<SmartContract.Param> | null;
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;
2602
+
2603
+ /**
2604
+ * Name of the rule chain
2605
+ */
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;
3408
+
3409
+ points?: ReferralRequirements.Points | null;
3410
+ }
1700
3411
 
1701
- /**
1702
- * Flag indicating if a bonus is applied.
1703
- */
1704
- withBonus?: boolean | null;
3412
+ export namespace ReferralRequirements {
3413
+ export interface Points {
3414
+ /**
3415
+ * Points required for referral.
3416
+ */
3417
+ amount?: number | null;
1705
3418
 
1706
- /**
1707
- * Flag indicating if a custom range is applied.
1708
- */
1709
- withCustomRange?: boolean | null;
3419
+ /**
3420
+ * ID of the loyalty currency for referral.
3421
+ */
3422
+ loyaltyCurrecyId?: string | null;
3423
+ }
3424
+ }
1710
3425
 
1711
3426
  /**
1712
- * Flag indicating if a maximum limit is applied.
3427
+ * Object containing details of the associated smart contract.
1713
3428
  */
1714
- withMax?: boolean | null;
1715
- }
1716
-
1717
- export namespace SmartContract {
1718
- export interface Bonus {
3429
+ export interface SmartContract {
1719
3430
  /**
1720
- * Amount of the bonus.
3431
+ * Mapping of addresses for the smart contract.
1721
3432
  */
1722
- amount?: number | null;
3433
+ addressMapping?: string | null;
1723
3434
 
1724
3435
  /**
1725
- * Number of times the bonus is applied.
3436
+ * Object containing details of the amount multiplier from the event.
1726
3437
  */
1727
- count?: number | null;
1728
- }
3438
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1729
3439
 
1730
- /**
1731
- * Time range applied to the rule.
1732
- */
1733
- export interface CustomRange {
1734
3440
  /**
1735
- * End time of the custom range.
3441
+ * ID of the smart contract.
1736
3442
  */
1737
- endsAt?: string | null;
3443
+ contractId?: string | null;
1738
3444
 
1739
3445
  /**
1740
- * Start time of the custom range.
3446
+ * Criteria to evaluate the smart contract event.
1741
3447
  */
1742
- startsAt?: string | null;
1743
- }
3448
+ criteria?: 'everyEvent' | 'byParameter' | null;
1744
3449
 
1745
- export interface Param {
1746
3450
  /**
1747
- * Condition to check for the parameter.
3451
+ * Event emitted by the smart contract.
1748
3452
  */
1749
- condition?: string | null;
3453
+ event?: string | null;
1750
3454
 
1751
3455
  /**
1752
- * Name of the smart contract parameter.
3456
+ * Array of parameters for the smart contract.
1753
3457
  */
1754
- name?: string | null;
3458
+ params?: Array<SmartContract.Param> | null;
1755
3459
 
1756
3460
  /**
1757
- * Value of the parameter.
3461
+ * Type of the smart contract interaction.
1758
3462
  */
1759
- value?: string | null;
3463
+ type?: 'function' | 'event' | null;
1760
3464
  }
1761
- }
1762
3465
 
1763
- export interface SnapshotProposal {
1764
- /**
1765
- * ID of the snapshot proposal.
1766
- */
1767
- 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
+ }
1768
3476
 
1769
- /**
1770
- * Space associated with the snapshot proposal.
1771
- */
1772
- space: string;
1773
- }
3477
+ export interface Param {
3478
+ /**
3479
+ * Condition to check for the parameter.
3480
+ */
3481
+ condition?: string | null;
1774
3482
 
1775
- export interface StreakArray {
1776
- /**
1777
- * Reward amount for achieving the streak milestone.
1778
- */
1779
- streakAmount: number;
3483
+ /**
3484
+ * Name of the smart contract parameter.
3485
+ */
3486
+ name?: string | null;
1780
3487
 
1781
- /**
1782
- * Milestone required to achieve the streak.
1783
- */
1784
- streakMilestone: number;
1785
- }
1786
- }
1787
- }
3488
+ /**
3489
+ * Value of the parameter.
3490
+ */
3491
+ value?: string | null;
3492
+ }
3493
+ }
1788
3494
 
1789
- export interface RuleListResponse {
1790
- data: Array<RuleListResponse.Data>;
3495
+ export interface SnapshotProposal {
3496
+ /**
3497
+ * ID of the snapshot proposal.
3498
+ */
3499
+ id: string;
1791
3500
 
1792
- hasNextPage: boolean;
1793
- }
3501
+ /**
3502
+ * Space associated with the snapshot proposal.
3503
+ */
3504
+ space: string;
3505
+ }
1794
3506
 
1795
- export namespace RuleListResponse {
1796
- /**
1797
- * Schema for a loyalty rule
1798
- */
1799
- export interface Data {
1800
- /**
1801
- * Unique identifier for the loyalty rule
1802
- */
1803
- id: string;
3507
+ export interface StreakArray {
3508
+ /**
3509
+ * Reward amount for achieving the streak milestone.
3510
+ */
3511
+ streakAmount: number;
1804
3512
 
1805
- /**
1806
- * Amount associated with the loyalty rule
1807
- */
1808
- amount: number;
3513
+ /**
3514
+ * Milestone required to achieve the streak.
3515
+ */
3516
+ streakMilestone: number;
3517
+ }
1809
3518
 
1810
- /**
1811
- * Timestamp when the loyalty rule was created
1812
- */
1813
- createdAt: string;
3519
+ /**
3520
+ * Metadata for swap loyalty rules
3521
+ */
3522
+ export interface Swap {
3523
+ provider?: 'any' | 'relay' | 'lifi';
1814
3524
 
1815
- /**
1816
- * Timestamp when the loyalty rule was deleted (if applicable)
1817
- */
1818
- deletedAt: string | null;
3525
+ relayReferrerId?: string;
1819
3526
 
1820
- /**
1821
- * Frequency of the loyalty rule
1822
- */
1823
- frequency: string;
3527
+ requireCrossChainSwap?: boolean;
1824
3528
 
1825
- /**
1826
- * Unique identifier for the organization
1827
- */
1828
- organizationId: string;
3529
+ swappedToChain?: 'any' | number | string;
1829
3530
 
1830
- /**
1831
- * Type of the loyalty rule
1832
- */
1833
- type: string;
3531
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1834
3532
 
1835
- /**
1836
- * Timestamp when the loyalty rule was last updated
1837
- */
1838
- updatedAt: string;
3533
+ tokenMode?: 'any' | 'specific';
1839
3534
 
1840
- /**
1841
- * Unique identifier for the website
1842
- */
1843
- websiteId: string;
3535
+ trackTokenAmount?: boolean;
3536
+ }
1844
3537
 
1845
- /**
1846
- * Optional address of the collection
1847
- */
1848
- collectionAddress?: string;
3538
+ export namespace Swap {
3539
+ export interface SwappedToToken {
3540
+ address: string;
1849
3541
 
1850
- /**
1851
- * Optional metadata for the loyalty rule
1852
- */
1853
- metadata?: Record<string, unknown>;
3542
+ chainId: string;
3543
+ }
3544
+ }
3545
+ }
1854
3546
  }
1855
3547
  }
1856
3548
 
@@ -1861,7 +3553,9 @@ export interface RuleDeleteResponse {
1861
3553
  }
1862
3554
 
1863
3555
  export interface RuleCompleteResponse {
1864
- message: string;
3556
+ message:
3557
+ | 'Completion request added to queue'
3558
+ | 'Link click being verified, come back later to check the status';
1865
3559
  }
1866
3560
 
1867
3561
  export interface RuleGetStatusResponse {
@@ -1987,7 +3681,19 @@ export interface RuleCreateParams {
1987
3681
  | 'twitter_like'
1988
3682
  | 'twitter_post_hashtag'
1989
3683
  | 'quiz'
1990
- | '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';
1991
3697
 
1992
3698
  /**
1993
3699
  * Unique identifier for the associated website
@@ -2024,6 +3730,13 @@ export interface RuleCreateParams {
2024
3730
  */
2025
3731
  description?: string;
2026
3732
 
3733
+ duplicatedFromId?: string | null;
3734
+
3735
+ /**
3736
+ * ID of the external integration
3737
+ */
3738
+ externalIntegrationId?: string | null;
3739
+
2027
3740
  /**
2028
3741
  * Whether to hide this rule in the user interface
2029
3742
  */
@@ -2032,55 +3745,96 @@ export interface RuleCreateParams {
2032
3745
  /**
2033
3746
  * Interval between rule executions
2034
3747
  */
2035
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3748
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2036
3749
 
2037
3750
  /**
2038
3751
  * Whether this rule is mandatory
2039
3752
  */
2040
3753
  isRequired?: boolean;
2041
3754
 
3755
+ /**
3756
+ * Unique identifier for the loyalty badge
3757
+ */
3758
+ loyaltyBadgeId?: string | null;
3759
+
2042
3760
  /**
2043
3761
  * Unique identifier for the loyalty rule group
2044
3762
  */
2045
3763
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2046
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
+
2047
3787
  /**
2048
3788
  * Blockchain network where the rule will apply
2049
3789
  */
2050
3790
  network?:
2051
- | 'mainnet'
2052
- | 'polygon'
2053
- | 'polygon_mumbai'
2054
- | 'optimism'
3791
+ | 'abstract'
3792
+ | 'abstractTestnet'
3793
+ | 'apechain'
2055
3794
  | 'arbitrum'
2056
- | 'binance'
2057
- | 'bscTestnet'
2058
3795
  | 'avalanche'
2059
3796
  | 'avalancheFuji'
2060
- | 'zksync'
2061
- | 'fantom'
2062
- | 'fantomTestnet'
2063
3797
  | 'base'
2064
3798
  | 'baseSepolia'
2065
- | 'skaleNebula'
2066
- | 'xai'
3799
+ | 'berachain'
2067
3800
  | 'berachainArtio'
2068
- | 'solana'
2069
- | 'apechain'
2070
- | 'flowMainnet'
3801
+ | 'berachainBepolia'
3802
+ | 'binance'
3803
+ | 'bscTestnet'
2071
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'
2072
3817
  | 'sui'
2073
- | 'vanar'
2074
3818
  | 'superseed'
2075
3819
  | 'superseedSepolia'
3820
+ | 'vanar'
3821
+ | 'xai'
3822
+ | 'zksync'
3823
+ | 'coti'
3824
+ | 'cotiTestnet'
3825
+ | 'morph'
3826
+ | 'morphTestnet'
3827
+ | 'morphHolesky'
3828
+ | 'ultra'
3829
+ | 'ultraTestnet'
3830
+ | 'nitrograph'
2076
3831
  | 'sepolia'
2077
3832
  | 'optimism_sepolia'
2078
3833
  | 'arbitrumSepolia'
2079
3834
  | 'goerli'
2080
3835
  | 'optimism_goerli'
2081
3836
  | 'arbitrumGoerli'
2082
- | 'basecamp'
2083
- | 'abstract';
3837
+ | 'basecamp';
2084
3838
 
2085
3839
  /**
2086
3840
  * OAuth credentials associated with the rule
@@ -2090,12 +3844,22 @@ export interface RuleCreateParams {
2090
3844
  /**
2091
3845
  * Type of reward issued by the rule
2092
3846
  */
2093
- 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;
2094
3858
 
2095
3859
  /**
2096
- * Identifier for associated subscriptions
3860
+ * Optional subscription id for the rule
2097
3861
  */
2098
- subscriptionIdentifier?: string | null;
3862
+ subscriptionId?: string | null;
2099
3863
  }
2100
3864
 
2101
3865
  export namespace RuleCreateParams {
@@ -2103,6 +3867,11 @@ export namespace RuleCreateParams {
2103
3867
  * Additional metadata for the loyalty rule
2104
3868
  */
2105
3869
  export interface Metadata {
3870
+ /**
3871
+ * Number of tokens per batch.
3872
+ */
3873
+ batchSize?: number | null;
3874
+
2106
3875
  /**
2107
3876
  * Text displayed on the action button.
2108
3877
  */
@@ -2133,6 +3902,16 @@ export namespace RuleCreateParams {
2133
3902
  */
2134
3903
  collection?: Array<Metadata.Collection>;
2135
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
+
2136
3915
  /**
2137
3916
  * Object containing details for the call-to-action.
2138
3917
  */
@@ -2143,6 +3922,11 @@ export namespace RuleCreateParams {
2143
3922
  */
2144
3923
  customRewardsApiKey?: string;
2145
3924
 
3925
+ /**
3926
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3927
+ */
3928
+ directRpc?: boolean;
3929
+
2146
3930
  /**
2147
3931
  * Array of Discord servers, channels, and roles to join.
2148
3932
  */
@@ -2168,11 +3952,21 @@ export namespace RuleCreateParams {
2168
3952
  */
2169
3953
  enableVerifiedMultiplier?: boolean;
2170
3954
 
3955
+ /**
3956
+ * Fill source of the order for the token sale
3957
+ */
3958
+ fillSource?: string;
3959
+
2171
3960
  /**
2172
3961
  * Percentage reward given to a user for their first referral.
2173
3962
  */
2174
3963
  firstReferralReward?: number | null;
2175
3964
 
3965
+ /**
3966
+ * Flag indicating whether the fill source is included.
3967
+ */
3968
+ hasFillSource?: boolean;
3969
+
2176
3970
  /**
2177
3971
  * Indicates if the item has never been sold.
2178
3972
  */
@@ -2198,11 +3992,21 @@ export namespace RuleCreateParams {
2198
3992
  */
2199
3993
  imageUrl?: string | null;
2200
3994
 
3995
+ /**
3996
+ * If enabled, the first transaction done on the platform will complete this rule
3997
+ */
3998
+ isCheckInOnEveryTxn?: boolean;
3999
+
2201
4000
  /**
2202
4001
  * Indicates if the multiplier has been applied to rewards.
2203
4002
  */
2204
4003
  isMultiplierApplied?: boolean;
2205
4004
 
4005
+ /**
4006
+ * Flag indicating if the rule is restricted to new users.
4007
+ */
4008
+ isRestrictedToNewUsers?: boolean;
4009
+
2206
4010
  /**
2207
4011
  * Flag indicating if rewards are applied retroactively.
2208
4012
  */
@@ -2218,6 +4022,11 @@ export namespace RuleCreateParams {
2218
4022
  */
2219
4023
  link?: string | null;
2220
4024
 
4025
+ /**
4026
+ * Liquidity pool details.
4027
+ */
4028
+ liquidity?: Metadata.Liquidity;
4029
+
2221
4030
  /**
2222
4031
  * Maximum quantity constraint for token holding.
2223
4032
  */
@@ -2263,6 +4072,21 @@ export namespace RuleCreateParams {
2263
4072
  */
2264
4073
  promoCode?: string;
2265
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
+
2266
4090
  /**
2267
4091
  * Array defining ranges and corresponding rewards.
2268
4092
  */
@@ -2278,11 +4102,52 @@ export namespace RuleCreateParams {
2278
4102
  */
2279
4103
  referrerReward?: number | null;
2280
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
+
2281
4130
  /**
2282
4131
  * Flag indicating if rewards are given per impression.
2283
4132
  */
2284
4133
  rewardPerImpression?: boolean | null;
2285
4134
 
4135
+ /**
4136
+ * Flag indicating if the rule should reward based on value of traded tokens
4137
+ * instead of count.
4138
+ */
4139
+ rewardPerValue?: boolean;
4140
+
4141
+ /**
4142
+ * Wallet address of the user can only be used if userId is not provided
4143
+ */
4144
+ royaltyAddress?: string;
4145
+
4146
+ /**
4147
+ * Royalty percentage of the item.
4148
+ */
4149
+ royaltyPercentage?: number;
4150
+
2286
4151
  /**
2287
4152
  * Currency associated with sales.
2288
4153
  */
@@ -2322,6 +4187,7 @@ export namespace RuleCreateParams {
2322
4187
  | 'Twitch'
2323
4188
  | 'X(Twitter)'
2324
4189
  | 'YouTube'
4190
+ | 'Google'
2325
4191
  | null;
2326
4192
 
2327
4193
  /**
@@ -2334,11 +4200,21 @@ export namespace RuleCreateParams {
2334
4200
  */
2335
4201
  socialPlatformName?: string | null;
2336
4202
 
4203
+ /**
4204
+ * ID of the Steam app.
4205
+ */
4206
+ steamAppId?: string | null;
4207
+
2337
4208
  /**
2338
4209
  * Array of streak milestones and corresponding rewards.
2339
4210
  */
2340
4211
  streakArray?: Array<Metadata.StreakArray> | null;
2341
4212
 
4213
+ /**
4214
+ * Metadata for swap loyalty rules
4215
+ */
4216
+ swap?: Metadata.Swap;
4217
+
2342
4218
  /**
2343
4219
  * ID of the Telegram channel.
2344
4220
  */
@@ -2350,9 +4226,15 @@ export namespace RuleCreateParams {
2350
4226
  timeDelayToVerifySeconds?: string | number | null;
2351
4227
 
2352
4228
  /**
2353
- * Flag indicating if all contracts are tracked.
4229
+ * Flag indicating if all contracts are tracked.
4230
+ */
4231
+ trackAllContracts?: boolean | null;
4232
+
4233
+ /**
4234
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4235
+ * completed once the progress is 100%.
2354
4236
  */
2355
- trackAllContracts?: boolean | null;
4237
+ trackProgress?: boolean | null;
2356
4238
 
2357
4239
  /**
2358
4240
  * URL of the associated Twitter account.
@@ -2397,7 +4279,17 @@ export namespace RuleCreateParams {
2397
4279
  /**
2398
4280
  * Type of wallet associated with the rule.
2399
4281
  */
2400
- 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;
2401
4293
  }
2402
4294
 
2403
4295
  export namespace Metadata {
@@ -2416,39 +4308,53 @@ export namespace RuleCreateParams {
2416
4308
  * Blockchain network of the collection.
2417
4309
  */
2418
4310
  network?:
2419
- | 'mainnet'
2420
- | 'polygon'
2421
- | 'polygon_mumbai'
2422
- | 'optimism'
4311
+ | 'abstract'
4312
+ | 'abstractTestnet'
4313
+ | 'apechain'
2423
4314
  | 'arbitrum'
2424
- | 'binance'
2425
- | 'bscTestnet'
2426
4315
  | 'avalanche'
2427
4316
  | 'avalancheFuji'
2428
- | 'zksync'
2429
- | 'fantom'
2430
- | 'fantomTestnet'
2431
4317
  | 'base'
2432
4318
  | 'baseSepolia'
2433
- | 'skaleNebula'
2434
- | 'xai'
4319
+ | 'berachain'
2435
4320
  | 'berachainArtio'
2436
- | 'solana'
2437
- | 'apechain'
2438
- | 'flowMainnet'
4321
+ | 'berachainBepolia'
4322
+ | 'binance'
4323
+ | 'bscTestnet'
2439
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'
2440
4337
  | 'sui'
2441
- | 'vanar'
2442
4338
  | 'superseed'
2443
4339
  | 'superseedSepolia'
4340
+ | 'vanar'
4341
+ | 'xai'
4342
+ | 'zksync'
4343
+ | 'coti'
4344
+ | 'cotiTestnet'
4345
+ | 'morph'
4346
+ | 'morphTestnet'
4347
+ | 'morphHolesky'
4348
+ | 'ultra'
4349
+ | 'ultraTestnet'
4350
+ | 'nitrograph'
2444
4351
  | 'sepolia'
2445
4352
  | 'optimism_sepolia'
2446
4353
  | 'arbitrumSepolia'
2447
4354
  | 'goerli'
2448
4355
  | 'optimism_goerli'
2449
4356
  | 'arbitrumGoerli'
2450
- | 'basecamp'
2451
- | 'abstract';
4357
+ | 'basecamp';
2452
4358
  }
2453
4359
 
2454
4360
  /**
@@ -2525,6 +4431,104 @@ export namespace RuleCreateParams {
2525
4431
  id: string;
2526
4432
  }
2527
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
+
2528
4532
  export interface Range {
2529
4533
  /**
2530
4534
  * Reward amount for this range.
@@ -2540,6 +4544,16 @@ export namespace RuleCreateParams {
2540
4544
  * Start value of the range.
2541
4545
  */
2542
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;
2543
4557
  }
2544
4558
 
2545
4559
  /**
@@ -2592,20 +4606,15 @@ export namespace RuleCreateParams {
2592
4606
  * Object containing details of the associated smart contract.
2593
4607
  */
2594
4608
  export interface SmartContract {
2595
- /**
2596
- * ABI of the smart contract.
2597
- */
2598
- abi?: string | null;
2599
-
2600
4609
  /**
2601
4610
  * Mapping of addresses for the smart contract.
2602
4611
  */
2603
4612
  addressMapping?: string | null;
2604
4613
 
2605
4614
  /**
2606
- * Array of bonus details applied to the rule.
4615
+ * Object containing details of the amount multiplier from the event.
2607
4616
  */
2608
- bonus?: Array<SmartContract.Bonus> | null;
4617
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2609
4618
 
2610
4619
  /**
2611
4620
  * ID of the smart contract.
@@ -2617,68 +4626,31 @@ export namespace RuleCreateParams {
2617
4626
  */
2618
4627
  criteria?: 'everyEvent' | 'byParameter' | null;
2619
4628
 
2620
- /**
2621
- * Time range applied to the rule.
2622
- */
2623
- customRange?: SmartContract.CustomRange | null;
2624
-
2625
4629
  /**
2626
4630
  * Event emitted by the smart contract.
2627
4631
  */
2628
4632
  event?: string | null;
2629
4633
 
2630
- /**
2631
- * Maximum value allowed for the parameter.
2632
- */
2633
- max?: number | null;
2634
-
2635
4634
  /**
2636
4635
  * Array of parameters for the smart contract.
2637
4636
  */
2638
4637
  params?: Array<SmartContract.Param> | null;
2639
4638
 
2640
4639
  /**
2641
- * Flag indicating if a bonus is applied.
2642
- */
2643
- withBonus?: boolean | null;
2644
-
2645
- /**
2646
- * Flag indicating if a custom range is applied.
2647
- */
2648
- withCustomRange?: boolean | null;
2649
-
2650
- /**
2651
- * Flag indicating if a maximum limit is applied.
4640
+ * Type of the smart contract interaction.
2652
4641
  */
2653
- withMax?: boolean | null;
4642
+ type?: 'function' | 'event' | null;
2654
4643
  }
2655
4644
 
2656
4645
  export namespace SmartContract {
2657
- export interface Bonus {
2658
- /**
2659
- * Amount of the bonus.
2660
- */
2661
- amount?: number | null;
2662
-
2663
- /**
2664
- * Number of times the bonus is applied.
2665
- */
2666
- count?: number | null;
2667
- }
2668
-
2669
4646
  /**
2670
- * Time range applied to the rule.
4647
+ * Object containing details of the amount multiplier from the event.
2671
4648
  */
2672
- export interface CustomRange {
2673
- /**
2674
- * End time of the custom range.
2675
- */
2676
- endsAt?: string | null;
2677
-
4649
+ export interface AmountMultiplier {
2678
4650
  /**
2679
- * Start time of the custom range.
4651
+ * Mapping of the value for the smart contract.
2680
4652
  */
2681
- startsAt?: string | null;
4653
+ valueMapping?: string | null;
2682
4654
  }
2683
4655
 
2684
4656
  export interface Param {
@@ -2722,6 +4694,33 @@ export namespace RuleCreateParams {
2722
4694
  */
2723
4695
  streakMilestone: number;
2724
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
+ }
2725
4724
  }
2726
4725
 
2727
4726
  export interface Collection {
@@ -2734,39 +4733,58 @@ export namespace RuleCreateParams {
2734
4733
  * Blockchain network for the collection
2735
4734
  */
2736
4735
  network:
2737
- | 'mainnet'
2738
- | 'polygon'
2739
- | 'polygon_mumbai'
2740
- | 'optimism'
4736
+ | 'abstract'
4737
+ | 'abstractTestnet'
4738
+ | 'apechain'
2741
4739
  | 'arbitrum'
2742
- | 'binance'
2743
- | 'bscTestnet'
2744
4740
  | 'avalanche'
2745
4741
  | 'avalancheFuji'
2746
- | 'zksync'
2747
- | 'fantom'
2748
- | 'fantomTestnet'
2749
4742
  | 'base'
2750
4743
  | 'baseSepolia'
2751
- | 'skaleNebula'
2752
- | 'xai'
4744
+ | 'berachain'
2753
4745
  | 'berachainArtio'
2754
- | 'solana'
2755
- | 'apechain'
2756
- | 'flowMainnet'
4746
+ | 'berachainBepolia'
4747
+ | 'binance'
4748
+ | 'bscTestnet'
2757
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'
2758
4762
  | 'sui'
2759
- | 'vanar'
2760
4763
  | 'superseed'
2761
4764
  | 'superseedSepolia'
4765
+ | 'vanar'
4766
+ | 'xai'
4767
+ | 'zksync'
4768
+ | 'coti'
4769
+ | 'cotiTestnet'
4770
+ | 'morph'
4771
+ | 'morphTestnet'
4772
+ | 'morphHolesky'
4773
+ | 'ultra'
4774
+ | 'ultraTestnet'
4775
+ | 'nitrograph'
2762
4776
  | 'sepolia'
2763
4777
  | 'optimism_sepolia'
2764
4778
  | 'arbitrumSepolia'
2765
4779
  | 'goerli'
2766
4780
  | 'optimism_goerli'
2767
4781
  | 'arbitrumGoerli'
2768
- | 'basecamp'
2769
- | 'abstract';
4782
+ | 'basecamp';
4783
+
4784
+ /**
4785
+ * Symbol of the collection.
4786
+ */
4787
+ symbol?: string;
2770
4788
  }
2771
4789
  }
2772
4790
 
@@ -2821,6 +4839,11 @@ export interface RuleUpdateParams {
2821
4839
  */
2822
4840
  effectiveStartTime?: string | null;
2823
4841
 
4842
+ /**
4843
+ * ID of the external integration
4844
+ */
4845
+ externalIntegrationId?: string | null;
4846
+
2824
4847
  /**
2825
4848
  * Frequency of the rule execution
2826
4849
  */
@@ -2834,7 +4857,7 @@ export interface RuleUpdateParams {
2834
4857
  /**
2835
4858
  * Time interval for recurring rule execution
2836
4859
  */
2837
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
4860
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2838
4861
 
2839
4862
  /**
2840
4863
  * Whether this rule is required for participation
@@ -2846,6 +4869,23 @@ export interface RuleUpdateParams {
2846
4869
  */
2847
4870
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
2848
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
+
2849
4889
  /**
2850
4890
  * Additional metadata for the loyalty rule
2851
4891
  */
@@ -2855,39 +4895,53 @@ export interface RuleUpdateParams {
2855
4895
  * Blockchain network where the rule will apply
2856
4896
  */
2857
4897
  network?:
2858
- | 'mainnet'
2859
- | 'polygon'
2860
- | 'polygon_mumbai'
2861
- | 'optimism'
4898
+ | 'abstract'
4899
+ | 'abstractTestnet'
4900
+ | 'apechain'
2862
4901
  | 'arbitrum'
2863
- | 'binance'
2864
- | 'bscTestnet'
2865
4902
  | 'avalanche'
2866
4903
  | 'avalancheFuji'
2867
- | 'zksync'
2868
- | 'fantom'
2869
- | 'fantomTestnet'
2870
4904
  | 'base'
2871
4905
  | 'baseSepolia'
2872
- | 'skaleNebula'
2873
- | 'xai'
4906
+ | 'berachain'
2874
4907
  | 'berachainArtio'
2875
- | 'solana'
2876
- | 'apechain'
2877
- | 'flowMainnet'
4908
+ | 'berachainBepolia'
4909
+ | 'binance'
4910
+ | 'bscTestnet'
2878
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'
2879
4924
  | 'sui'
2880
- | 'vanar'
2881
4925
  | 'superseed'
2882
4926
  | 'superseedSepolia'
4927
+ | 'vanar'
4928
+ | 'xai'
4929
+ | 'zksync'
4930
+ | 'coti'
4931
+ | 'cotiTestnet'
4932
+ | 'morph'
4933
+ | 'morphTestnet'
4934
+ | 'morphHolesky'
4935
+ | 'ultra'
4936
+ | 'ultraTestnet'
4937
+ | 'nitrograph'
2883
4938
  | 'sepolia'
2884
4939
  | 'optimism_sepolia'
2885
4940
  | 'arbitrumSepolia'
2886
4941
  | 'goerli'
2887
4942
  | 'optimism_goerli'
2888
4943
  | 'arbitrumGoerli'
2889
- | 'basecamp'
2890
- | 'abstract';
4944
+ | 'basecamp';
2891
4945
 
2892
4946
  /**
2893
4947
  * ID for associated OAuth credentials
@@ -2897,7 +4951,17 @@ export interface RuleUpdateParams {
2897
4951
  /**
2898
4952
  * Type of reward issued by this rule
2899
4953
  */
2900
- 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;
2901
4965
 
2902
4966
  /**
2903
4967
  * Start time for the loyalty rule
@@ -2905,9 +4969,9 @@ export interface RuleUpdateParams {
2905
4969
  startTime?: string | null;
2906
4970
 
2907
4971
  /**
2908
- * Optional subscription identifier for the rule
4972
+ * Optional subscription id for the rule
2909
4973
  */
2910
- subscriptionIdentifier?: string | null;
4974
+ subscriptionId?: string | null;
2911
4975
  }
2912
4976
 
2913
4977
  export namespace RuleUpdateParams {
@@ -2921,45 +4985,69 @@ export namespace RuleUpdateParams {
2921
4985
  * Blockchain network for the collection
2922
4986
  */
2923
4987
  network:
2924
- | 'mainnet'
2925
- | 'polygon'
2926
- | 'polygon_mumbai'
2927
- | 'optimism'
4988
+ | 'abstract'
4989
+ | 'abstractTestnet'
4990
+ | 'apechain'
2928
4991
  | 'arbitrum'
2929
- | 'binance'
2930
- | 'bscTestnet'
2931
4992
  | 'avalanche'
2932
4993
  | 'avalancheFuji'
2933
- | 'zksync'
2934
- | 'fantom'
2935
- | 'fantomTestnet'
2936
4994
  | 'base'
2937
4995
  | 'baseSepolia'
2938
- | 'skaleNebula'
2939
- | 'xai'
4996
+ | 'berachain'
2940
4997
  | 'berachainArtio'
2941
- | 'solana'
2942
- | 'apechain'
2943
- | 'flowMainnet'
4998
+ | 'berachainBepolia'
4999
+ | 'binance'
5000
+ | 'bscTestnet'
2944
5001
  | 'campTestnet'
5002
+ | 'fantom'
5003
+ | 'fantomTestnet'
5004
+ | 'flowMainnet'
5005
+ | 'mainnet'
5006
+ | 'nexusTestnet'
5007
+ | 'optimism'
5008
+ | 'polygon'
5009
+ | 'polygon_mumbai'
5010
+ | 'skaleNebula'
5011
+ | 'solana'
5012
+ | 'sophon'
5013
+ | 'sophonTestnet'
2945
5014
  | 'sui'
2946
- | 'vanar'
2947
5015
  | 'superseed'
2948
5016
  | 'superseedSepolia'
5017
+ | 'vanar'
5018
+ | 'xai'
5019
+ | 'zksync'
5020
+ | 'coti'
5021
+ | 'cotiTestnet'
5022
+ | 'morph'
5023
+ | 'morphTestnet'
5024
+ | 'morphHolesky'
5025
+ | 'ultra'
5026
+ | 'ultraTestnet'
5027
+ | 'nitrograph'
2949
5028
  | 'sepolia'
2950
5029
  | 'optimism_sepolia'
2951
5030
  | 'arbitrumSepolia'
2952
5031
  | 'goerli'
2953
5032
  | 'optimism_goerli'
2954
5033
  | 'arbitrumGoerli'
2955
- | 'basecamp'
2956
- | 'abstract';
5034
+ | 'basecamp';
5035
+
5036
+ /**
5037
+ * Symbol of the collection.
5038
+ */
5039
+ symbol?: string;
2957
5040
  }
2958
5041
 
2959
5042
  /**
2960
5043
  * Additional metadata for the loyalty rule
2961
5044
  */
2962
5045
  export interface Metadata {
5046
+ /**
5047
+ * Number of tokens per batch.
5048
+ */
5049
+ batchSize?: number | null;
5050
+
2963
5051
  /**
2964
5052
  * Text displayed on the action button.
2965
5053
  */
@@ -2990,6 +5078,16 @@ export namespace RuleUpdateParams {
2990
5078
  */
2991
5079
  collection?: Array<Metadata.Collection>;
2992
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
+
2993
5091
  /**
2994
5092
  * Object containing details for the call-to-action.
2995
5093
  */
@@ -3000,6 +5098,11 @@ export namespace RuleUpdateParams {
3000
5098
  */
3001
5099
  customRewardsApiKey?: string;
3002
5100
 
5101
+ /**
5102
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
5103
+ */
5104
+ directRpc?: boolean;
5105
+
3003
5106
  /**
3004
5107
  * Array of Discord servers, channels, and roles to join.
3005
5108
  */
@@ -3025,11 +5128,21 @@ export namespace RuleUpdateParams {
3025
5128
  */
3026
5129
  enableVerifiedMultiplier?: boolean;
3027
5130
 
5131
+ /**
5132
+ * Fill source of the order for the token sale
5133
+ */
5134
+ fillSource?: string;
5135
+
3028
5136
  /**
3029
5137
  * Percentage reward given to a user for their first referral.
3030
5138
  */
3031
5139
  firstReferralReward?: number | null;
3032
5140
 
5141
+ /**
5142
+ * Flag indicating whether the fill source is included.
5143
+ */
5144
+ hasFillSource?: boolean;
5145
+
3033
5146
  /**
3034
5147
  * Indicates if the item has never been sold.
3035
5148
  */
@@ -3055,11 +5168,21 @@ export namespace RuleUpdateParams {
3055
5168
  */
3056
5169
  imageUrl?: string | null;
3057
5170
 
5171
+ /**
5172
+ * If enabled, the first transaction done on the platform will complete this rule
5173
+ */
5174
+ isCheckInOnEveryTxn?: boolean;
5175
+
3058
5176
  /**
3059
5177
  * Indicates if the multiplier has been applied to rewards.
3060
5178
  */
3061
5179
  isMultiplierApplied?: boolean;
3062
5180
 
5181
+ /**
5182
+ * Flag indicating if the rule is restricted to new users.
5183
+ */
5184
+ isRestrictedToNewUsers?: boolean;
5185
+
3063
5186
  /**
3064
5187
  * Flag indicating if rewards are applied retroactively.
3065
5188
  */
@@ -3075,6 +5198,11 @@ export namespace RuleUpdateParams {
3075
5198
  */
3076
5199
  link?: string | null;
3077
5200
 
5201
+ /**
5202
+ * Liquidity pool details.
5203
+ */
5204
+ liquidity?: Metadata.Liquidity;
5205
+
3078
5206
  /**
3079
5207
  * Maximum quantity constraint for token holding.
3080
5208
  */
@@ -3120,6 +5248,21 @@ export namespace RuleUpdateParams {
3120
5248
  */
3121
5249
  promoCode?: string;
3122
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
+
3123
5266
  /**
3124
5267
  * Array defining ranges and corresponding rewards.
3125
5268
  */
@@ -3135,11 +5278,52 @@ export namespace RuleUpdateParams {
3135
5278
  */
3136
5279
  referrerReward?: number | null;
3137
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
+
3138
5306
  /**
3139
5307
  * Flag indicating if rewards are given per impression.
3140
5308
  */
3141
5309
  rewardPerImpression?: boolean | null;
3142
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
+
3143
5327
  /**
3144
5328
  * Currency associated with sales.
3145
5329
  */
@@ -3179,6 +5363,7 @@ export namespace RuleUpdateParams {
3179
5363
  | 'Twitch'
3180
5364
  | 'X(Twitter)'
3181
5365
  | 'YouTube'
5366
+ | 'Google'
3182
5367
  | null;
3183
5368
 
3184
5369
  /**
@@ -3191,11 +5376,21 @@ export namespace RuleUpdateParams {
3191
5376
  */
3192
5377
  socialPlatformName?: string | null;
3193
5378
 
5379
+ /**
5380
+ * ID of the Steam app.
5381
+ */
5382
+ steamAppId?: string | null;
5383
+
3194
5384
  /**
3195
5385
  * Array of streak milestones and corresponding rewards.
3196
5386
  */
3197
5387
  streakArray?: Array<Metadata.StreakArray> | null;
3198
5388
 
5389
+ /**
5390
+ * Metadata for swap loyalty rules
5391
+ */
5392
+ swap?: Metadata.Swap;
5393
+
3199
5394
  /**
3200
5395
  * ID of the Telegram channel.
3201
5396
  */
@@ -3211,6 +5406,12 @@ export namespace RuleUpdateParams {
3211
5406
  */
3212
5407
  trackAllContracts?: boolean | null;
3213
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
+
3214
5415
  /**
3215
5416
  * URL of the associated Twitter account.
3216
5417
  */
@@ -3254,7 +5455,17 @@ export namespace RuleUpdateParams {
3254
5455
  /**
3255
5456
  * Type of wallet associated with the rule.
3256
5457
  */
3257
- 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;
3258
5469
  }
3259
5470
 
3260
5471
  export namespace Metadata {
@@ -3273,39 +5484,53 @@ export namespace RuleUpdateParams {
3273
5484
  * Blockchain network of the collection.
3274
5485
  */
3275
5486
  network?:
3276
- | 'mainnet'
3277
- | 'polygon'
3278
- | 'polygon_mumbai'
3279
- | 'optimism'
5487
+ | 'abstract'
5488
+ | 'abstractTestnet'
5489
+ | 'apechain'
3280
5490
  | 'arbitrum'
3281
- | 'binance'
3282
- | 'bscTestnet'
3283
5491
  | 'avalanche'
3284
5492
  | 'avalancheFuji'
3285
- | 'zksync'
3286
- | 'fantom'
3287
- | 'fantomTestnet'
3288
5493
  | 'base'
3289
5494
  | 'baseSepolia'
3290
- | 'skaleNebula'
3291
- | 'xai'
5495
+ | 'berachain'
3292
5496
  | 'berachainArtio'
3293
- | 'solana'
3294
- | 'apechain'
3295
- | 'flowMainnet'
5497
+ | 'berachainBepolia'
5498
+ | 'binance'
5499
+ | 'bscTestnet'
3296
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'
3297
5513
  | 'sui'
3298
- | 'vanar'
3299
5514
  | 'superseed'
3300
5515
  | 'superseedSepolia'
5516
+ | 'vanar'
5517
+ | 'xai'
5518
+ | 'zksync'
5519
+ | 'coti'
5520
+ | 'cotiTestnet'
5521
+ | 'morph'
5522
+ | 'morphTestnet'
5523
+ | 'morphHolesky'
5524
+ | 'ultra'
5525
+ | 'ultraTestnet'
5526
+ | 'nitrograph'
3301
5527
  | 'sepolia'
3302
5528
  | 'optimism_sepolia'
3303
5529
  | 'arbitrumSepolia'
3304
5530
  | 'goerli'
3305
5531
  | 'optimism_goerli'
3306
5532
  | 'arbitrumGoerli'
3307
- | 'basecamp'
3308
- | 'abstract';
5533
+ | 'basecamp';
3309
5534
  }
3310
5535
 
3311
5536
  /**
@@ -3382,6 +5607,104 @@ export namespace RuleUpdateParams {
3382
5607
  id: string;
3383
5608
  }
3384
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
+
3385
5708
  export interface Range {
3386
5709
  /**
3387
5710
  * Reward amount for this range.
@@ -3397,6 +5720,16 @@ export namespace RuleUpdateParams {
3397
5720
  * Start value of the range.
3398
5721
  */
3399
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;
3400
5733
  }
3401
5734
 
3402
5735
  /**
@@ -3449,20 +5782,15 @@ export namespace RuleUpdateParams {
3449
5782
  * Object containing details of the associated smart contract.
3450
5783
  */
3451
5784
  export interface SmartContract {
3452
- /**
3453
- * ABI of the smart contract.
3454
- */
3455
- abi?: string | null;
3456
-
3457
5785
  /**
3458
5786
  * Mapping of addresses for the smart contract.
3459
5787
  */
3460
5788
  addressMapping?: string | null;
3461
5789
 
3462
5790
  /**
3463
- * Array of bonus details applied to the rule.
5791
+ * Object containing details of the amount multiplier from the event.
3464
5792
  */
3465
- bonus?: Array<SmartContract.Bonus> | null;
5793
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3466
5794
 
3467
5795
  /**
3468
5796
  * ID of the smart contract.
@@ -3474,68 +5802,31 @@ export namespace RuleUpdateParams {
3474
5802
  */
3475
5803
  criteria?: 'everyEvent' | 'byParameter' | null;
3476
5804
 
3477
- /**
3478
- * Time range applied to the rule.
3479
- */
3480
- customRange?: SmartContract.CustomRange | null;
3481
-
3482
5805
  /**
3483
5806
  * Event emitted by the smart contract.
3484
5807
  */
3485
5808
  event?: string | null;
3486
5809
 
3487
- /**
3488
- * Maximum value allowed for the parameter.
3489
- */
3490
- max?: number | null;
3491
-
3492
5810
  /**
3493
5811
  * Array of parameters for the smart contract.
3494
5812
  */
3495
5813
  params?: Array<SmartContract.Param> | null;
3496
5814
 
3497
5815
  /**
3498
- * Flag indicating if a bonus is applied.
3499
- */
3500
- withBonus?: boolean | null;
3501
-
3502
- /**
3503
- * Flag indicating if a custom range is applied.
3504
- */
3505
- withCustomRange?: boolean | null;
3506
-
3507
- /**
3508
- * Flag indicating if a maximum limit is applied.
5816
+ * Type of the smart contract interaction.
3509
5817
  */
3510
- withMax?: boolean | null;
5818
+ type?: 'function' | 'event' | null;
3511
5819
  }
3512
5820
 
3513
5821
  export namespace SmartContract {
3514
- export interface Bonus {
3515
- /**
3516
- * Amount of the bonus.
3517
- */
3518
- amount?: number | null;
3519
-
3520
- /**
3521
- * Number of times the bonus is applied.
3522
- */
3523
- count?: number | null;
3524
- }
3525
-
3526
5822
  /**
3527
- * Time range applied to the rule.
5823
+ * Object containing details of the amount multiplier from the event.
3528
5824
  */
3529
- export interface CustomRange {
5825
+ export interface AmountMultiplier {
3530
5826
  /**
3531
- * End time of the custom range.
5827
+ * Mapping of the value for the smart contract.
3532
5828
  */
3533
- endsAt?: string | null;
3534
-
3535
- /**
3536
- * Start time of the custom range.
3537
- */
3538
- startsAt?: string | null;
5829
+ valueMapping?: string | null;
3539
5830
  }
3540
5831
 
3541
5832
  export interface Param {
@@ -3579,17 +5870,71 @@ export namespace RuleUpdateParams {
3579
5870
  */
3580
5871
  streakMilestone: number;
3581
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
+ }
3582
5900
  }
3583
5901
  }
3584
5902
 
3585
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
+
3586
5914
  /**
3587
5915
  * Address of the collection to filter by
3588
5916
  */
3589
5917
  collectionAddress?: string;
3590
5918
 
3591
5919
  /**
3592
- * 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
+ * If true this will only return special rules, special rules are the rules that
5932
+ * are used for anti sybil as honey pot
5933
+ */
5934
+ isSpecial?: 'true' | 'false';
5935
+
5936
+ /**
5937
+ * Maximum number of records to return (max 100)
3593
5938
  */
3594
5939
  limit?: number;
3595
5940
 
@@ -3598,6 +5943,11 @@ export interface RuleListParams {
3598
5943
  */
3599
5944
  loyaltyRuleGroupId?: string;
3600
5945
 
5946
+ /**
5947
+ * The IDs of the loyalty rule
5948
+ */
5949
+ loyaltyRuleId?: string | Array<string>;
5950
+
3601
5951
  /**
3602
5952
  * Unique identifier for the organization to filter by
3603
5953
  */
@@ -3614,17 +5964,40 @@ export interface RuleListParams {
3614
5964
  websiteId?: string;
3615
5965
  }
3616
5966
 
5967
+ export interface RuleDeleteParams {
5968
+ /**
5969
+ * Whether to debit loyalty points
5970
+ */
5971
+ debitLoyaltyPoints?: string;
5972
+ }
5973
+
3617
5974
  export interface RuleCompleteParams {
3618
5975
  /**
3619
- * Link to the comment made by user
5976
+ * Override amount for the reward (rounded to nearest whole number). This will
5977
+ * override the rule amount and reward the integer passed.
5978
+ */
5979
+ amount?: number | null;
5980
+
5981
+ /**
5982
+ * Link to the post/comment made by user
5983
+ */
5984
+ contentUrl?: string;
5985
+
5986
+ /**
5987
+ * Unique key to ensure idempotent requests.
3620
5988
  */
3621
- commentLink?: string;
5989
+ idempotencyKey?: string;
3622
5990
 
3623
5991
  /**
3624
5992
  * ID of the choice selected by the user
3625
5993
  */
3626
5994
  loyaltyQuestionChoiceId?: string;
3627
5995
 
5996
+ /**
5997
+ * Value to compare with the range
5998
+ */
5999
+ rangeValue?: number | null;
6000
+
3628
6001
  /**
3629
6002
  * Unique identifier for the user
3630
6003
  */
@@ -3637,7 +6010,7 @@ export interface RuleCompleteParams {
3637
6010
 
3638
6011
  /**
3639
6012
  * Flag indicating if only verification is required, this will not create a
3640
- * transaction and reward the user
6013
+ * transaction and reward the user.
3641
6014
  */
3642
6015
  verifyOnly?: string;
3643
6016
 
@@ -3648,11 +6021,13 @@ export interface RuleCompleteParams {
3648
6021
  }
3649
6022
 
3650
6023
  export interface RuleGetStatusParams {
3651
- organizationId: string;
3652
-
3653
- websiteId: string;
6024
+ organizationId?: string;
3654
6025
 
3655
6026
  userId?: string;
6027
+
6028
+ walletAddress?: string;
6029
+
6030
+ websiteId?: string;
3656
6031
  }
3657
6032
 
3658
6033
  export declare namespace Rules {
@@ -3666,6 +6041,7 @@ export declare namespace Rules {
3666
6041
  type RuleCreateParams as RuleCreateParams,
3667
6042
  type RuleUpdateParams as RuleUpdateParams,
3668
6043
  type RuleListParams as RuleListParams,
6044
+ type RuleDeleteParams as RuleDeleteParams,
3669
6045
  type RuleCompleteParams as RuleCompleteParams,
3670
6046
  type RuleGetStatusParams as RuleGetStatusParams,
3671
6047
  };