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

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 +1261 -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 +2920 -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} +280 -321
  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 +1778 -239
  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 +4008 -0
  282. package/src/resources/{api/loyalty/loyalty.ts → loyalty/rule-groups.ts} +443 -551
  283. package/src/resources/{api/loyalty → loyalty}/rules.ts +2927 -526
  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
  */
@@ -328,13 +480,23 @@ export namespace RuleCreateResponse {
328
480
  /**
329
481
  * Text to check in the Twitter post, username, or bio.
330
482
  */
331
- checkText?: string | null;
483
+ checkText?: string | Array<string> | null;
332
484
 
333
485
  /**
334
486
  * Array of collections associated with the rule.
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,57 @@ 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 media metadata is required.
702
+ */
703
+ requirePostMediaLink?: boolean | null;
704
+
705
+ /**
706
+ * Flag indicating if the rule can also reward badges per range.
707
+ */
708
+ rewardBadgePerRange?: boolean;
709
+
710
+ /**
711
+ * Flag indicating if the reward is rewarded by batch.
712
+ */
713
+ rewardByBatch?: boolean | null;
714
+
715
+ /**
716
+ * Flag indicating if the reward is rewarded per action.
717
+ */
718
+ rewardPerAction?: boolean | null;
719
+
483
720
  /**
484
721
  * Flag indicating if rewards are given per impression.
485
722
  */
486
723
  rewardPerImpression?: boolean | null;
487
724
 
725
+ /**
726
+ * Flag indicating if the rule should reward based on value of traded tokens
727
+ * instead of count.
728
+ */
729
+ rewardPerValue?: boolean;
730
+
731
+ /**
732
+ * Wallet address of the user can only be used if userId is not provided
733
+ */
734
+ royaltyAddress?: string;
735
+
736
+ /**
737
+ * Royalty percentage of the item.
738
+ */
739
+ royaltyPercentage?: number;
740
+
488
741
  /**
489
742
  * Currency associated with sales.
490
743
  */
@@ -524,6 +777,7 @@ export namespace RuleCreateResponse {
524
777
  | 'Twitch'
525
778
  | 'X(Twitter)'
526
779
  | 'YouTube'
780
+ | 'Google'
527
781
  | null;
528
782
 
529
783
  /**
@@ -536,11 +790,21 @@ export namespace RuleCreateResponse {
536
790
  */
537
791
  socialPlatformName?: string | null;
538
792
 
793
+ /**
794
+ * ID of the Steam app.
795
+ */
796
+ steamAppId?: string | null;
797
+
539
798
  /**
540
799
  * Array of streak milestones and corresponding rewards.
541
800
  */
542
801
  streakArray?: Array<Metadata.StreakArray> | null;
543
802
 
803
+ /**
804
+ * Metadata for swap loyalty rules
805
+ */
806
+ swap?: Metadata.Swap;
807
+
544
808
  /**
545
809
  * ID of the Telegram channel.
546
810
  */
@@ -556,6 +820,12 @@ export namespace RuleCreateResponse {
556
820
  */
557
821
  trackAllContracts?: boolean | null;
558
822
 
823
+ /**
824
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
825
+ * completed once the progress is 100%.
826
+ */
827
+ trackProgress?: boolean | null;
828
+
559
829
  /**
560
830
  * URL of the associated Twitter account.
561
831
  */
@@ -599,7 +869,17 @@ export namespace RuleCreateResponse {
599
869
  /**
600
870
  * Type of wallet associated with the rule.
601
871
  */
602
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
872
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
873
+
874
+ /**
875
+ * ID of the Youtube channel.
876
+ */
877
+ youtubeChannelId?: string | null;
878
+
879
+ /**
880
+ * ID of the Youtube video.
881
+ */
882
+ youtubeVideoId?: string | null;
603
883
  }
604
884
 
605
885
  export namespace Metadata {
@@ -618,39 +898,53 @@ export namespace RuleCreateResponse {
618
898
  * Blockchain network of the collection.
619
899
  */
620
900
  network?:
621
- | 'mainnet'
622
- | 'polygon'
623
- | 'polygon_mumbai'
624
- | 'optimism'
901
+ | 'abstract'
902
+ | 'abstractTestnet'
903
+ | 'apechain'
625
904
  | 'arbitrum'
626
- | 'binance'
627
- | 'bscTestnet'
628
905
  | 'avalanche'
629
906
  | 'avalancheFuji'
630
- | 'zksync'
631
- | 'fantom'
632
- | 'fantomTestnet'
633
907
  | 'base'
634
908
  | 'baseSepolia'
635
- | 'skaleNebula'
636
- | 'xai'
909
+ | 'berachain'
637
910
  | 'berachainArtio'
638
- | 'solana'
639
- | 'apechain'
640
- | 'flowMainnet'
911
+ | 'berachainBepolia'
912
+ | 'binance'
913
+ | 'bscTestnet'
641
914
  | 'campTestnet'
915
+ | 'fantom'
916
+ | 'fantomTestnet'
917
+ | 'flowMainnet'
918
+ | 'mainnet'
919
+ | 'nexusTestnet'
920
+ | 'optimism'
921
+ | 'polygon'
922
+ | 'polygon_mumbai'
923
+ | 'skaleNebula'
924
+ | 'solana'
925
+ | 'sophon'
926
+ | 'sophonTestnet'
642
927
  | 'sui'
643
- | 'vanar'
644
928
  | 'superseed'
645
929
  | 'superseedSepolia'
930
+ | 'vanar'
931
+ | 'xai'
932
+ | 'zksync'
933
+ | 'coti'
934
+ | 'cotiTestnet'
935
+ | 'morph'
936
+ | 'morphTestnet'
937
+ | 'morphHolesky'
938
+ | 'ultra'
939
+ | 'ultraTestnet'
940
+ | 'nitrograph'
646
941
  | 'sepolia'
647
942
  | 'optimism_sepolia'
648
943
  | 'arbitrumSepolia'
649
944
  | 'goerli'
650
945
  | 'optimism_goerli'
651
946
  | 'arbitrumGoerli'
652
- | 'basecamp'
653
- | 'abstract';
947
+ | 'basecamp';
654
948
  }
655
949
 
656
950
  /**
@@ -727,6 +1021,104 @@ export namespace RuleCreateResponse {
727
1021
  id: string;
728
1022
  }
729
1023
 
1024
+ /**
1025
+ * Liquidity pool details.
1026
+ */
1027
+ export interface Liquidity {
1028
+ /**
1029
+ * Calculation type of the liquidity pool.
1030
+ */
1031
+ calculationType?: 'fixed' | 'custom';
1032
+
1033
+ /**
1034
+ * Custom function to calculate the the reward amount based on the liquidity
1035
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1036
+ * USD.
1037
+ */
1038
+ customFunction?: string;
1039
+
1040
+ /**
1041
+ * Liquidity provided per day in USD
1042
+ */
1043
+ liquidityPerDay?: number;
1044
+
1045
+ /**
1046
+ * Blockchain network of the liquidity pool.
1047
+ */
1048
+ network?:
1049
+ | 'abstract'
1050
+ | 'abstractTestnet'
1051
+ | 'apechain'
1052
+ | 'arbitrum'
1053
+ | 'avalanche'
1054
+ | 'avalancheFuji'
1055
+ | 'base'
1056
+ | 'baseSepolia'
1057
+ | 'berachain'
1058
+ | 'berachainArtio'
1059
+ | 'berachainBepolia'
1060
+ | 'binance'
1061
+ | 'bscTestnet'
1062
+ | 'campTestnet'
1063
+ | 'fantom'
1064
+ | 'fantomTestnet'
1065
+ | 'flowMainnet'
1066
+ | 'mainnet'
1067
+ | 'nexusTestnet'
1068
+ | 'optimism'
1069
+ | 'polygon'
1070
+ | 'polygon_mumbai'
1071
+ | 'skaleNebula'
1072
+ | 'solana'
1073
+ | 'sophon'
1074
+ | 'sophonTestnet'
1075
+ | 'sui'
1076
+ | 'superseed'
1077
+ | 'superseedSepolia'
1078
+ | 'vanar'
1079
+ | 'xai'
1080
+ | 'zksync'
1081
+ | 'coti'
1082
+ | 'cotiTestnet'
1083
+ | 'morph'
1084
+ | 'morphTestnet'
1085
+ | 'morphHolesky'
1086
+ | 'ultra'
1087
+ | 'ultraTestnet'
1088
+ | 'nitrograph'
1089
+ | 'sepolia'
1090
+ | 'optimism_sepolia'
1091
+ | 'arbitrumSepolia'
1092
+ | 'goerli'
1093
+ | 'optimism_goerli'
1094
+ | 'arbitrumGoerli'
1095
+ | 'basecamp';
1096
+
1097
+ /**
1098
+ * Indicates if only in-range liquidity is rewarded.
1099
+ */
1100
+ onlyRewardInRangeLiquidity?: boolean;
1101
+
1102
+ /**
1103
+ * Array of liquidity pools associated with the rule.
1104
+ */
1105
+ pools?: Array<Liquidity.Pool>;
1106
+
1107
+ /**
1108
+ * Protocol of the liquidity pool.
1109
+ */
1110
+ protocol?: string;
1111
+ }
1112
+
1113
+ export namespace Liquidity {
1114
+ export interface Pool {
1115
+ /**
1116
+ * Unique identifier of the liquidity pool.
1117
+ */
1118
+ id: string;
1119
+ }
1120
+ }
1121
+
730
1122
  export interface Range {
731
1123
  /**
732
1124
  * Reward amount for this range.
@@ -742,6 +1134,16 @@ export namespace RuleCreateResponse {
742
1134
  * Start value of the range.
743
1135
  */
744
1136
  startRange: number;
1137
+
1138
+ /**
1139
+ * ID of the loyalty badge for this range.
1140
+ */
1141
+ loyaltyBadgeId?: string;
1142
+
1143
+ /**
1144
+ * Amount of the loyalty multiplier for this range.
1145
+ */
1146
+ loyaltyMultiplierAmount?: number;
745
1147
  }
746
1148
 
747
1149
  /**
@@ -794,20 +1196,15 @@ export namespace RuleCreateResponse {
794
1196
  * Object containing details of the associated smart contract.
795
1197
  */
796
1198
  export interface SmartContract {
797
- /**
798
- * ABI of the smart contract.
799
- */
800
- abi?: string | null;
801
-
802
1199
  /**
803
1200
  * Mapping of addresses for the smart contract.
804
1201
  */
805
1202
  addressMapping?: string | null;
806
1203
 
807
1204
  /**
808
- * Array of bonus details applied to the rule.
1205
+ * Object containing details of the amount multiplier from the event.
809
1206
  */
810
- bonus?: Array<SmartContract.Bonus> | null;
1207
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
811
1208
 
812
1209
  /**
813
1210
  * ID of the smart contract.
@@ -819,69 +1216,32 @@ export namespace RuleCreateResponse {
819
1216
  */
820
1217
  criteria?: 'everyEvent' | 'byParameter' | null;
821
1218
 
822
- /**
823
- * Time range applied to the rule.
824
- */
825
- customRange?: SmartContract.CustomRange | null;
826
-
827
1219
  /**
828
1220
  * Event emitted by the smart contract.
829
1221
  */
830
1222
  event?: string | null;
831
1223
 
832
- /**
833
- * Maximum value allowed for the parameter.
834
- */
835
- max?: number | null;
836
-
837
1224
  /**
838
1225
  * Array of parameters for the smart contract.
839
1226
  */
840
1227
  params?: Array<SmartContract.Param> | null;
841
1228
 
842
1229
  /**
843
- * Flag indicating if a bonus is applied.
1230
+ * Type of the smart contract interaction.
844
1231
  */
845
- withBonus?: boolean | null;
1232
+ type?: 'function' | 'event' | null;
1233
+ }
846
1234
 
1235
+ export namespace SmartContract {
847
1236
  /**
848
- * Flag indicating if a custom range is applied.
1237
+ * Object containing details of the amount multiplier from the event.
849
1238
  */
850
- withCustomRange?: boolean | null;
851
-
852
- /**
853
- * Flag indicating if a maximum limit is applied.
854
- */
855
- withMax?: boolean | null;
856
- }
857
-
858
- export namespace SmartContract {
859
- export interface Bonus {
860
- /**
861
- * Amount of the bonus.
862
- */
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
- }
1239
+ export interface AmountMultiplier {
1240
+ /**
1241
+ * Mapping of the value for the smart contract.
1242
+ */
1243
+ valueMapping?: string | null;
1244
+ }
885
1245
 
886
1246
  export interface Param {
887
1247
  /**
@@ -924,6 +1284,33 @@ export namespace RuleCreateResponse {
924
1284
  */
925
1285
  streakMilestone: number;
926
1286
  }
1287
+
1288
+ /**
1289
+ * Metadata for swap loyalty rules
1290
+ */
1291
+ export interface Swap {
1292
+ provider?: 'any' | 'relay' | 'lifi';
1293
+
1294
+ relayReferrerId?: string;
1295
+
1296
+ requireCrossChainSwap?: boolean;
1297
+
1298
+ swappedToChain?: 'any' | number | string;
1299
+
1300
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1301
+
1302
+ tokenMode?: 'any' | 'specific';
1303
+
1304
+ trackTokenAmount?: boolean;
1305
+ }
1306
+
1307
+ export namespace Swap {
1308
+ export interface SwappedToToken {
1309
+ address: string;
1310
+
1311
+ chainId: string;
1312
+ }
1313
+ }
927
1314
  }
928
1315
 
929
1316
  export interface Collection {
@@ -936,39 +1323,58 @@ export namespace RuleCreateResponse {
936
1323
  * Blockchain network for the collection
937
1324
  */
938
1325
  network:
939
- | 'mainnet'
940
- | 'polygon'
941
- | 'polygon_mumbai'
942
- | 'optimism'
1326
+ | 'abstract'
1327
+ | 'abstractTestnet'
1328
+ | 'apechain'
943
1329
  | 'arbitrum'
944
- | 'binance'
945
- | 'bscTestnet'
946
1330
  | 'avalanche'
947
1331
  | 'avalancheFuji'
948
- | 'zksync'
949
- | 'fantom'
950
- | 'fantomTestnet'
951
1332
  | 'base'
952
1333
  | 'baseSepolia'
953
- | 'skaleNebula'
954
- | 'xai'
1334
+ | 'berachain'
955
1335
  | 'berachainArtio'
956
- | 'solana'
957
- | 'apechain'
958
- | 'flowMainnet'
1336
+ | 'berachainBepolia'
1337
+ | 'binance'
1338
+ | 'bscTestnet'
959
1339
  | 'campTestnet'
1340
+ | 'fantom'
1341
+ | 'fantomTestnet'
1342
+ | 'flowMainnet'
1343
+ | 'mainnet'
1344
+ | 'nexusTestnet'
1345
+ | 'optimism'
1346
+ | 'polygon'
1347
+ | 'polygon_mumbai'
1348
+ | 'skaleNebula'
1349
+ | 'solana'
1350
+ | 'sophon'
1351
+ | 'sophonTestnet'
960
1352
  | 'sui'
961
- | 'vanar'
962
1353
  | 'superseed'
963
1354
  | 'superseedSepolia'
1355
+ | 'vanar'
1356
+ | 'xai'
1357
+ | 'zksync'
1358
+ | 'coti'
1359
+ | 'cotiTestnet'
1360
+ | 'morph'
1361
+ | 'morphTestnet'
1362
+ | 'morphHolesky'
1363
+ | 'ultra'
1364
+ | 'ultraTestnet'
1365
+ | 'nitrograph'
964
1366
  | 'sepolia'
965
1367
  | 'optimism_sepolia'
966
1368
  | 'arbitrumSepolia'
967
1369
  | 'goerli'
968
1370
  | 'optimism_goerli'
969
1371
  | 'arbitrumGoerli'
970
- | 'basecamp'
971
- | 'abstract';
1372
+ | 'basecamp';
1373
+
1374
+ /**
1375
+ * Symbol of the collection.
1376
+ */
1377
+ symbol?: string;
972
1378
  }
973
1379
  }
974
1380
 
@@ -1025,6 +1431,11 @@ export interface RuleUpdateResponse {
1025
1431
  */
1026
1432
  effectiveStartTime?: string | null;
1027
1433
 
1434
+ /**
1435
+ * ID of the external integration
1436
+ */
1437
+ externalIntegrationId?: string | null;
1438
+
1028
1439
  /**
1029
1440
  * Frequency of the rule execution
1030
1441
  */
@@ -1038,7 +1449,7 @@ export interface RuleUpdateResponse {
1038
1449
  /**
1039
1450
  * Time interval for recurring rule execution
1040
1451
  */
1041
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
1452
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1042
1453
 
1043
1454
  /**
1044
1455
  * Whether this rule is required for participation
@@ -1050,6 +1461,23 @@ export interface RuleUpdateResponse {
1050
1461
  */
1051
1462
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1052
1463
 
1464
+ /**
1465
+ * The interval for the max amount. Available for the smart contract and external
1466
+ * rules.
1467
+ */
1468
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1469
+
1470
+ /**
1471
+ * The maximum amount of points a user can earn per interval. Available for the
1472
+ * smart contract and external rules.
1473
+ */
1474
+ maxAmountPerInterval?: number | null;
1475
+
1476
+ /**
1477
+ * URL of the media to be displayed
1478
+ */
1479
+ mediaUrl?: string | null;
1480
+
1053
1481
  /**
1054
1482
  * Additional metadata for the loyalty rule
1055
1483
  */
@@ -1059,39 +1487,53 @@ export interface RuleUpdateResponse {
1059
1487
  * Blockchain network where the rule will apply
1060
1488
  */
1061
1489
  network?:
1062
- | 'mainnet'
1063
- | 'polygon'
1064
- | 'polygon_mumbai'
1065
- | 'optimism'
1490
+ | 'abstract'
1491
+ | 'abstractTestnet'
1492
+ | 'apechain'
1066
1493
  | 'arbitrum'
1067
- | 'binance'
1068
- | 'bscTestnet'
1069
1494
  | 'avalanche'
1070
1495
  | 'avalancheFuji'
1071
- | 'zksync'
1072
- | 'fantom'
1073
- | 'fantomTestnet'
1074
1496
  | 'base'
1075
1497
  | 'baseSepolia'
1076
- | 'skaleNebula'
1077
- | 'xai'
1498
+ | 'berachain'
1078
1499
  | 'berachainArtio'
1079
- | 'solana'
1080
- | 'apechain'
1081
- | 'flowMainnet'
1500
+ | 'berachainBepolia'
1501
+ | 'binance'
1502
+ | 'bscTestnet'
1082
1503
  | 'campTestnet'
1504
+ | 'fantom'
1505
+ | 'fantomTestnet'
1506
+ | 'flowMainnet'
1507
+ | 'mainnet'
1508
+ | 'nexusTestnet'
1509
+ | 'optimism'
1510
+ | 'polygon'
1511
+ | 'polygon_mumbai'
1512
+ | 'skaleNebula'
1513
+ | 'solana'
1514
+ | 'sophon'
1515
+ | 'sophonTestnet'
1083
1516
  | 'sui'
1084
- | 'vanar'
1085
1517
  | 'superseed'
1086
1518
  | 'superseedSepolia'
1519
+ | 'vanar'
1520
+ | 'xai'
1521
+ | 'zksync'
1522
+ | 'coti'
1523
+ | 'cotiTestnet'
1524
+ | 'morph'
1525
+ | 'morphTestnet'
1526
+ | 'morphHolesky'
1527
+ | 'ultra'
1528
+ | 'ultraTestnet'
1529
+ | 'nitrograph'
1087
1530
  | 'sepolia'
1088
1531
  | 'optimism_sepolia'
1089
1532
  | 'arbitrumSepolia'
1090
1533
  | 'goerli'
1091
1534
  | 'optimism_goerli'
1092
1535
  | 'arbitrumGoerli'
1093
- | 'basecamp'
1094
- | 'abstract';
1536
+ | 'basecamp';
1095
1537
 
1096
1538
  /**
1097
1539
  * ID for associated OAuth credentials
@@ -1101,7 +1543,17 @@ export interface RuleUpdateResponse {
1101
1543
  /**
1102
1544
  * Type of reward issued by this rule
1103
1545
  */
1104
- rewardType?: 'points' | 'multiplier';
1546
+ rewardType?: 'points' | 'multiplier' | 'badge';
1547
+
1548
+ /**
1549
+ * URL of the Shopify store
1550
+ */
1551
+ shopifyStoreUrl?: string | null;
1552
+
1553
+ /**
1554
+ * Whether to show this rule before the start time
1555
+ */
1556
+ showBeforeStart?: boolean;
1105
1557
 
1106
1558
  /**
1107
1559
  * Start time for the loyalty rule
@@ -1109,9 +1561,9 @@ export interface RuleUpdateResponse {
1109
1561
  startTime?: string | null;
1110
1562
 
1111
1563
  /**
1112
- * Optional subscription identifier for the rule
1564
+ * Optional subscription id for the rule
1113
1565
  */
1114
- subscriptionIdentifier?: string | null;
1566
+ subscriptionId?: string | null;
1115
1567
  }
1116
1568
 
1117
1569
  export namespace RuleUpdateResponse {
@@ -1125,45 +1577,69 @@ export namespace RuleUpdateResponse {
1125
1577
  * Blockchain network for the collection
1126
1578
  */
1127
1579
  network:
1128
- | 'mainnet'
1129
- | 'polygon'
1130
- | 'polygon_mumbai'
1131
- | 'optimism'
1580
+ | 'abstract'
1581
+ | 'abstractTestnet'
1582
+ | 'apechain'
1132
1583
  | 'arbitrum'
1133
- | 'binance'
1134
- | 'bscTestnet'
1135
1584
  | 'avalanche'
1136
1585
  | 'avalancheFuji'
1137
- | 'zksync'
1138
- | 'fantom'
1139
- | 'fantomTestnet'
1140
1586
  | 'base'
1141
1587
  | 'baseSepolia'
1142
- | 'skaleNebula'
1143
- | 'xai'
1588
+ | 'berachain'
1144
1589
  | 'berachainArtio'
1145
- | 'solana'
1146
- | 'apechain'
1147
- | 'flowMainnet'
1590
+ | 'berachainBepolia'
1591
+ | 'binance'
1592
+ | 'bscTestnet'
1148
1593
  | 'campTestnet'
1594
+ | 'fantom'
1595
+ | 'fantomTestnet'
1596
+ | 'flowMainnet'
1597
+ | 'mainnet'
1598
+ | 'nexusTestnet'
1599
+ | 'optimism'
1600
+ | 'polygon'
1601
+ | 'polygon_mumbai'
1602
+ | 'skaleNebula'
1603
+ | 'solana'
1604
+ | 'sophon'
1605
+ | 'sophonTestnet'
1149
1606
  | 'sui'
1150
- | 'vanar'
1151
1607
  | 'superseed'
1152
1608
  | 'superseedSepolia'
1609
+ | 'vanar'
1610
+ | 'xai'
1611
+ | 'zksync'
1612
+ | 'coti'
1613
+ | 'cotiTestnet'
1614
+ | 'morph'
1615
+ | 'morphTestnet'
1616
+ | 'morphHolesky'
1617
+ | 'ultra'
1618
+ | 'ultraTestnet'
1619
+ | 'nitrograph'
1153
1620
  | 'sepolia'
1154
1621
  | 'optimism_sepolia'
1155
1622
  | 'arbitrumSepolia'
1156
1623
  | 'goerli'
1157
1624
  | 'optimism_goerli'
1158
1625
  | 'arbitrumGoerli'
1159
- | 'basecamp'
1160
- | 'abstract';
1626
+ | 'basecamp';
1627
+
1628
+ /**
1629
+ * Symbol of the collection.
1630
+ */
1631
+ symbol?: string;
1161
1632
  }
1162
1633
 
1163
1634
  /**
1164
1635
  * Additional metadata for the loyalty rule
1165
1636
  */
1166
1637
  export interface Metadata {
1638
+ /**
1639
+ * Number of tokens per batch.
1640
+ */
1641
+ batchSize?: number | null;
1642
+
1167
1643
  /**
1168
1644
  * Text displayed on the action button.
1169
1645
  */
@@ -1187,13 +1663,23 @@ export namespace RuleUpdateResponse {
1187
1663
  /**
1188
1664
  * Text to check in the Twitter post, username, or bio.
1189
1665
  */
1190
- checkText?: string | null;
1666
+ checkText?: string | Array<string> | null;
1191
1667
 
1192
1668
  /**
1193
1669
  * Array of collections associated with the rule.
1194
1670
  */
1195
1671
  collection?: Array<Metadata.Collection>;
1196
1672
 
1673
+ /**
1674
+ * Conditions for completing the profile.
1675
+ */
1676
+ completeProfileConditions?: { [key: string]: boolean } | null;
1677
+
1678
+ /**
1679
+ * Description of the external rule condition (only for external rules)
1680
+ */
1681
+ conditionDescription?: string;
1682
+
1197
1683
  /**
1198
1684
  * Object containing details for the call-to-action.
1199
1685
  */
@@ -1204,6 +1690,11 @@ export namespace RuleUpdateResponse {
1204
1690
  */
1205
1691
  customRewardsApiKey?: string;
1206
1692
 
1693
+ /**
1694
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1695
+ */
1696
+ directRpc?: boolean;
1697
+
1207
1698
  /**
1208
1699
  * Array of Discord servers, channels, and roles to join.
1209
1700
  */
@@ -1229,11 +1720,21 @@ export namespace RuleUpdateResponse {
1229
1720
  */
1230
1721
  enableVerifiedMultiplier?: boolean;
1231
1722
 
1723
+ /**
1724
+ * Fill source of the order for the token sale
1725
+ */
1726
+ fillSource?: string;
1727
+
1232
1728
  /**
1233
1729
  * Percentage reward given to a user for their first referral.
1234
1730
  */
1235
1731
  firstReferralReward?: number | null;
1236
1732
 
1733
+ /**
1734
+ * Flag indicating whether the fill source is included.
1735
+ */
1736
+ hasFillSource?: boolean;
1737
+
1237
1738
  /**
1238
1739
  * Indicates if the item has never been sold.
1239
1740
  */
@@ -1259,11 +1760,21 @@ export namespace RuleUpdateResponse {
1259
1760
  */
1260
1761
  imageUrl?: string | null;
1261
1762
 
1763
+ /**
1764
+ * If enabled, the first transaction done on the platform will complete this rule
1765
+ */
1766
+ isCheckInOnEveryTxn?: boolean;
1767
+
1262
1768
  /**
1263
1769
  * Indicates if the multiplier has been applied to rewards.
1264
1770
  */
1265
1771
  isMultiplierApplied?: boolean;
1266
1772
 
1773
+ /**
1774
+ * Flag indicating if the rule is restricted to new users.
1775
+ */
1776
+ isRestrictedToNewUsers?: boolean;
1777
+
1267
1778
  /**
1268
1779
  * Flag indicating if rewards are applied retroactively.
1269
1780
  */
@@ -1279,6 +1790,11 @@ export namespace RuleUpdateResponse {
1279
1790
  */
1280
1791
  link?: string | null;
1281
1792
 
1793
+ /**
1794
+ * Liquidity pool details.
1795
+ */
1796
+ liquidity?: Metadata.Liquidity;
1797
+
1282
1798
  /**
1283
1799
  * Maximum quantity constraint for token holding.
1284
1800
  */
@@ -1324,6 +1840,21 @@ export namespace RuleUpdateResponse {
1324
1840
  */
1325
1841
  promoCode?: string;
1326
1842
 
1843
+ /**
1844
+ * URL of the CSV file containing promo codes.
1845
+ */
1846
+ promoCodeCsvUrl?: string;
1847
+
1848
+ /**
1849
+ * Numbers of the promotional code to be generated.
1850
+ */
1851
+ promoCodeLength?: number | null;
1852
+
1853
+ /**
1854
+ * Type of the promotional code.
1855
+ */
1856
+ promoCodeType?: 'code' | 'csv' | 'generate';
1857
+
1327
1858
  /**
1328
1859
  * Array defining ranges and corresponding rewards.
1329
1860
  */
@@ -1339,11 +1870,57 @@ export namespace RuleUpdateResponse {
1339
1870
  */
1340
1871
  referrerReward?: number | null;
1341
1872
 
1873
+ /**
1874
+ * Loyalty currency ID of the referrer reward.
1875
+ */
1876
+ referrerRewardLoyaltyCurrencyId?: string | null;
1877
+
1878
+ /**
1879
+ * Flag indicating if the post link is required.
1880
+ */
1881
+ requirePostLink?: boolean | null;
1882
+
1883
+ /**
1884
+ * Flag indicating if media metadata is required.
1885
+ */
1886
+ requirePostMediaLink?: boolean | null;
1887
+
1888
+ /**
1889
+ * Flag indicating if the rule can also reward badges per range.
1890
+ */
1891
+ rewardBadgePerRange?: boolean;
1892
+
1893
+ /**
1894
+ * Flag indicating if the reward is rewarded by batch.
1895
+ */
1896
+ rewardByBatch?: boolean | null;
1897
+
1898
+ /**
1899
+ * Flag indicating if the reward is rewarded per action.
1900
+ */
1901
+ rewardPerAction?: boolean | null;
1902
+
1342
1903
  /**
1343
1904
  * Flag indicating if rewards are given per impression.
1344
1905
  */
1345
1906
  rewardPerImpression?: boolean | null;
1346
1907
 
1908
+ /**
1909
+ * Flag indicating if the rule should reward based on value of traded tokens
1910
+ * instead of count.
1911
+ */
1912
+ rewardPerValue?: boolean;
1913
+
1914
+ /**
1915
+ * Wallet address of the user can only be used if userId is not provided
1916
+ */
1917
+ royaltyAddress?: string;
1918
+
1919
+ /**
1920
+ * Royalty percentage of the item.
1921
+ */
1922
+ royaltyPercentage?: number;
1923
+
1347
1924
  /**
1348
1925
  * Currency associated with sales.
1349
1926
  */
@@ -1383,6 +1960,7 @@ export namespace RuleUpdateResponse {
1383
1960
  | 'Twitch'
1384
1961
  | 'X(Twitter)'
1385
1962
  | 'YouTube'
1963
+ | 'Google'
1386
1964
  | null;
1387
1965
 
1388
1966
  /**
@@ -1395,11 +1973,21 @@ export namespace RuleUpdateResponse {
1395
1973
  */
1396
1974
  socialPlatformName?: string | null;
1397
1975
 
1976
+ /**
1977
+ * ID of the Steam app.
1978
+ */
1979
+ steamAppId?: string | null;
1980
+
1398
1981
  /**
1399
1982
  * Array of streak milestones and corresponding rewards.
1400
1983
  */
1401
1984
  streakArray?: Array<Metadata.StreakArray> | null;
1402
1985
 
1986
+ /**
1987
+ * Metadata for swap loyalty rules
1988
+ */
1989
+ swap?: Metadata.Swap;
1990
+
1403
1991
  /**
1404
1992
  * ID of the Telegram channel.
1405
1993
  */
@@ -1415,6 +2003,12 @@ export namespace RuleUpdateResponse {
1415
2003
  */
1416
2004
  trackAllContracts?: boolean | null;
1417
2005
 
2006
+ /**
2007
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2008
+ * completed once the progress is 100%.
2009
+ */
2010
+ trackProgress?: boolean | null;
2011
+
1418
2012
  /**
1419
2013
  * URL of the associated Twitter account.
1420
2014
  */
@@ -1458,7 +2052,17 @@ export namespace RuleUpdateResponse {
1458
2052
  /**
1459
2053
  * Type of wallet associated with the rule.
1460
2054
  */
1461
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
2055
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2056
+
2057
+ /**
2058
+ * ID of the Youtube channel.
2059
+ */
2060
+ youtubeChannelId?: string | null;
2061
+
2062
+ /**
2063
+ * ID of the Youtube video.
2064
+ */
2065
+ youtubeVideoId?: string | null;
1462
2066
  }
1463
2067
 
1464
2068
  export namespace Metadata {
@@ -1477,39 +2081,53 @@ export namespace RuleUpdateResponse {
1477
2081
  * Blockchain network of the collection.
1478
2082
  */
1479
2083
  network?:
1480
- | 'mainnet'
1481
- | 'polygon'
1482
- | 'polygon_mumbai'
1483
- | 'optimism'
2084
+ | 'abstract'
2085
+ | 'abstractTestnet'
2086
+ | 'apechain'
1484
2087
  | 'arbitrum'
1485
- | 'binance'
1486
- | 'bscTestnet'
1487
2088
  | 'avalanche'
1488
2089
  | 'avalancheFuji'
1489
- | 'zksync'
1490
- | 'fantom'
1491
- | 'fantomTestnet'
1492
2090
  | 'base'
1493
2091
  | 'baseSepolia'
1494
- | 'skaleNebula'
1495
- | 'xai'
2092
+ | 'berachain'
1496
2093
  | 'berachainArtio'
1497
- | 'solana'
1498
- | 'apechain'
1499
- | 'flowMainnet'
2094
+ | 'berachainBepolia'
2095
+ | 'binance'
2096
+ | 'bscTestnet'
1500
2097
  | 'campTestnet'
2098
+ | 'fantom'
2099
+ | 'fantomTestnet'
2100
+ | 'flowMainnet'
2101
+ | 'mainnet'
2102
+ | 'nexusTestnet'
2103
+ | 'optimism'
2104
+ | 'polygon'
2105
+ | 'polygon_mumbai'
2106
+ | 'skaleNebula'
2107
+ | 'solana'
2108
+ | 'sophon'
2109
+ | 'sophonTestnet'
1501
2110
  | 'sui'
1502
- | 'vanar'
1503
2111
  | 'superseed'
1504
2112
  | 'superseedSepolia'
2113
+ | 'vanar'
2114
+ | 'xai'
2115
+ | 'zksync'
2116
+ | 'coti'
2117
+ | 'cotiTestnet'
2118
+ | 'morph'
2119
+ | 'morphTestnet'
2120
+ | 'morphHolesky'
2121
+ | 'ultra'
2122
+ | 'ultraTestnet'
2123
+ | 'nitrograph'
1505
2124
  | 'sepolia'
1506
2125
  | 'optimism_sepolia'
1507
2126
  | 'arbitrumSepolia'
1508
2127
  | 'goerli'
1509
2128
  | 'optimism_goerli'
1510
2129
  | 'arbitrumGoerli'
1511
- | 'basecamp'
1512
- | 'abstract';
2130
+ | 'basecamp';
1513
2131
  }
1514
2132
 
1515
2133
  /**
@@ -1586,6 +2204,104 @@ export namespace RuleUpdateResponse {
1586
2204
  id: string;
1587
2205
  }
1588
2206
 
2207
+ /**
2208
+ * Liquidity pool details.
2209
+ */
2210
+ export interface Liquidity {
2211
+ /**
2212
+ * Calculation type of the liquidity pool.
2213
+ */
2214
+ calculationType?: 'fixed' | 'custom';
2215
+
2216
+ /**
2217
+ * Custom function to calculate the the reward amount based on the liquidity
2218
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2219
+ * USD.
2220
+ */
2221
+ customFunction?: string;
2222
+
2223
+ /**
2224
+ * Liquidity provided per day in USD
2225
+ */
2226
+ liquidityPerDay?: number;
2227
+
2228
+ /**
2229
+ * Blockchain network of the liquidity pool.
2230
+ */
2231
+ network?:
2232
+ | 'abstract'
2233
+ | 'abstractTestnet'
2234
+ | 'apechain'
2235
+ | 'arbitrum'
2236
+ | 'avalanche'
2237
+ | 'avalancheFuji'
2238
+ | 'base'
2239
+ | 'baseSepolia'
2240
+ | 'berachain'
2241
+ | 'berachainArtio'
2242
+ | 'berachainBepolia'
2243
+ | 'binance'
2244
+ | 'bscTestnet'
2245
+ | 'campTestnet'
2246
+ | 'fantom'
2247
+ | 'fantomTestnet'
2248
+ | 'flowMainnet'
2249
+ | 'mainnet'
2250
+ | 'nexusTestnet'
2251
+ | 'optimism'
2252
+ | 'polygon'
2253
+ | 'polygon_mumbai'
2254
+ | 'skaleNebula'
2255
+ | 'solana'
2256
+ | 'sophon'
2257
+ | 'sophonTestnet'
2258
+ | 'sui'
2259
+ | 'superseed'
2260
+ | 'superseedSepolia'
2261
+ | 'vanar'
2262
+ | 'xai'
2263
+ | 'zksync'
2264
+ | 'coti'
2265
+ | 'cotiTestnet'
2266
+ | 'morph'
2267
+ | 'morphTestnet'
2268
+ | 'morphHolesky'
2269
+ | 'ultra'
2270
+ | 'ultraTestnet'
2271
+ | 'nitrograph'
2272
+ | 'sepolia'
2273
+ | 'optimism_sepolia'
2274
+ | 'arbitrumSepolia'
2275
+ | 'goerli'
2276
+ | 'optimism_goerli'
2277
+ | 'arbitrumGoerli'
2278
+ | 'basecamp';
2279
+
2280
+ /**
2281
+ * Indicates if only in-range liquidity is rewarded.
2282
+ */
2283
+ onlyRewardInRangeLiquidity?: boolean;
2284
+
2285
+ /**
2286
+ * Array of liquidity pools associated with the rule.
2287
+ */
2288
+ pools?: Array<Liquidity.Pool>;
2289
+
2290
+ /**
2291
+ * Protocol of the liquidity pool.
2292
+ */
2293
+ protocol?: string;
2294
+ }
2295
+
2296
+ export namespace Liquidity {
2297
+ export interface Pool {
2298
+ /**
2299
+ * Unique identifier of the liquidity pool.
2300
+ */
2301
+ id: string;
2302
+ }
2303
+ }
2304
+
1589
2305
  export interface Range {
1590
2306
  /**
1591
2307
  * Reward amount for this range.
@@ -1601,6 +2317,16 @@ export namespace RuleUpdateResponse {
1601
2317
  * Start value of the range.
1602
2318
  */
1603
2319
  startRange: number;
2320
+
2321
+ /**
2322
+ * ID of the loyalty badge for this range.
2323
+ */
2324
+ loyaltyBadgeId?: string;
2325
+
2326
+ /**
2327
+ * Amount of the loyalty multiplier for this range.
2328
+ */
2329
+ loyaltyMultiplierAmount?: number;
1604
2330
  }
1605
2331
 
1606
2332
  /**
@@ -1653,20 +2379,15 @@ export namespace RuleUpdateResponse {
1653
2379
  * Object containing details of the associated smart contract.
1654
2380
  */
1655
2381
  export interface SmartContract {
1656
- /**
1657
- * ABI of the smart contract.
1658
- */
1659
- abi?: string | null;
1660
-
1661
2382
  /**
1662
2383
  * Mapping of addresses for the smart contract.
1663
2384
  */
1664
2385
  addressMapping?: string | null;
1665
2386
 
1666
2387
  /**
1667
- * Array of bonus details applied to the rule.
2388
+ * Object containing details of the amount multiplier from the event.
1668
2389
  */
1669
- bonus?: Array<SmartContract.Bonus> | null;
2390
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1670
2391
 
1671
2392
  /**
1672
2393
  * ID of the smart contract.
@@ -1679,178 +2400,1164 @@ export namespace RuleUpdateResponse {
1679
2400
  criteria?: 'everyEvent' | 'byParameter' | null;
1680
2401
 
1681
2402
  /**
1682
- * Time range applied to the rule.
2403
+ * Event emitted by the smart contract.
1683
2404
  */
1684
- customRange?: SmartContract.CustomRange | null;
2405
+ event?: string | null;
1685
2406
 
1686
2407
  /**
1687
- * Event emitted by the smart contract.
2408
+ * Array of parameters for the smart contract.
1688
2409
  */
1689
- event?: string | null;
2410
+ params?: Array<SmartContract.Param> | null;
1690
2411
 
1691
2412
  /**
1692
- * Maximum value allowed for the parameter.
2413
+ * Type of the smart contract interaction.
1693
2414
  */
1694
- max?: number | null;
2415
+ type?: 'function' | 'event' | null;
2416
+ }
1695
2417
 
2418
+ export namespace SmartContract {
1696
2419
  /**
1697
- * Array of parameters for the smart contract.
2420
+ * Object containing details of the amount multiplier from the event.
1698
2421
  */
1699
- params?: Array<SmartContract.Param> | null;
2422
+ export interface AmountMultiplier {
2423
+ /**
2424
+ * Mapping of the value for the smart contract.
2425
+ */
2426
+ valueMapping?: string | null;
2427
+ }
2428
+
2429
+ export interface Param {
2430
+ /**
2431
+ * Condition to check for the parameter.
2432
+ */
2433
+ condition?: string | null;
2434
+
2435
+ /**
2436
+ * Name of the smart contract parameter.
2437
+ */
2438
+ name?: string | null;
2439
+
2440
+ /**
2441
+ * Value of the parameter.
2442
+ */
2443
+ value?: string | null;
2444
+ }
2445
+ }
2446
+
2447
+ export interface SnapshotProposal {
2448
+ /**
2449
+ * ID of the snapshot proposal.
2450
+ */
2451
+ id: string;
2452
+
2453
+ /**
2454
+ * Space associated with the snapshot proposal.
2455
+ */
2456
+ space: string;
2457
+ }
2458
+
2459
+ export interface StreakArray {
2460
+ /**
2461
+ * Reward amount for achieving the streak milestone.
2462
+ */
2463
+ streakAmount: number;
2464
+
2465
+ /**
2466
+ * Milestone required to achieve the streak.
2467
+ */
2468
+ streakMilestone: number;
2469
+ }
2470
+
2471
+ /**
2472
+ * Metadata for swap loyalty rules
2473
+ */
2474
+ export interface Swap {
2475
+ provider?: 'any' | 'relay' | 'lifi';
2476
+
2477
+ relayReferrerId?: string;
2478
+
2479
+ requireCrossChainSwap?: boolean;
2480
+
2481
+ swappedToChain?: 'any' | number | string;
2482
+
2483
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2484
+
2485
+ tokenMode?: 'any' | 'specific';
2486
+
2487
+ trackTokenAmount?: boolean;
2488
+ }
2489
+
2490
+ export namespace Swap {
2491
+ export interface SwappedToToken {
2492
+ address: string;
2493
+
2494
+ chainId: string;
2495
+ }
2496
+ }
2497
+ }
2498
+ }
2499
+
2500
+ export interface RuleListResponse {
2501
+ data: Array<RuleListResponse.Data>;
2502
+
2503
+ hasNextPage: boolean;
2504
+ }
2505
+
2506
+ export namespace RuleListResponse {
2507
+ export interface Data {
2508
+ /**
2509
+ * Unique identifier for the loyalty rule
2510
+ */
2511
+ id: string;
2512
+
2513
+ /**
2514
+ * Amount associated with the loyalty rule
2515
+ */
2516
+ amount: number;
2517
+
2518
+ /**
2519
+ * Timestamp when the loyalty rule was created
2520
+ */
2521
+ createdAt: string;
2522
+
2523
+ /**
2524
+ * Timestamp when the loyalty rule was deleted (if applicable)
2525
+ */
2526
+ deletedAt: string | null;
2527
+
2528
+ /**
2529
+ * Description of the loyalty rule
2530
+ */
2531
+ description: string;
2532
+
2533
+ /**
2534
+ * End time of the loyalty rule
2535
+ */
2536
+ endTime: string;
2537
+
2538
+ /**
2539
+ * Frequency of the loyalty rule
2540
+ */
2541
+ frequency: string;
2542
+
2543
+ /**
2544
+ * Chains attached to the loyalty rule
2545
+ */
2546
+ loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
2547
+
2548
+ /**
2549
+ * Name of the loyalty rule
2550
+ */
2551
+ name: string;
2552
+
2553
+ /**
2554
+ * Unique identifier for the organization
2555
+ */
2556
+ organizationId: string;
2557
+
2558
+ /**
2559
+ * Type of the reward
2560
+ */
2561
+ rewardType: 'points' | 'multiplier' | 'badge';
2562
+
2563
+ /**
2564
+ * Start time of the loyalty rule
2565
+ */
2566
+ startTime: string;
2567
+
2568
+ /**
2569
+ * Type of the loyalty rule
2570
+ */
2571
+ type: string;
2572
+
2573
+ /**
2574
+ * Timestamp when the loyalty rule was last updated
2575
+ */
2576
+ updatedAt: string;
2577
+
2578
+ /**
2579
+ * Unique identifier for the website
2580
+ */
2581
+ websiteId: string;
2582
+
2583
+ /**
2584
+ * Optional address of the collection
2585
+ */
2586
+ collectionAddress?: string;
2587
+
2588
+ /**
2589
+ * URL of the media associated with the loyalty rule
2590
+ */
2591
+ mediaUrl?: string | null;
2592
+
2593
+ /**
2594
+ * Optional metadata for the loyalty rule
2595
+ */
2596
+ metadata?: { [key: string]: Data.Metadata };
2597
+ }
2598
+
2599
+ export namespace Data {
2600
+ export interface LoyaltyRuleChain {
2601
+ /**
2602
+ * Unique identifier for the rule chain
2603
+ */
2604
+ id: string;
2605
+
2606
+ loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1700
2607
 
1701
2608
  /**
1702
- * Flag indicating if a bonus is applied.
2609
+ * Unique identifier for the loyalty rule
1703
2610
  */
1704
- withBonus?: boolean | null;
2611
+ loyaltyRuleId: string;
1705
2612
 
1706
2613
  /**
1707
- * Flag indicating if a custom range is applied.
2614
+ * Name of the rule chain
1708
2615
  */
1709
- withCustomRange?: boolean | null;
2616
+ name: string;
2617
+ }
2618
+
2619
+ export namespace LoyaltyRuleChain {
2620
+ export interface LoyaltyCondition {
2621
+ /**
2622
+ * Unique identifier for the condition
2623
+ */
2624
+ id: string;
2625
+
2626
+ /**
2627
+ * Amount of the condition
2628
+ */
2629
+ amount: number | null;
2630
+
2631
+ association: Array<LoyaltyCondition.Association>;
2632
+
2633
+ /**
2634
+ * URL of the CSV file
2635
+ */
2636
+ csvUrl: string | null;
2637
+
2638
+ /**
2639
+ * Description of the condition
2640
+ */
2641
+ description: string | null;
2642
+
2643
+ /**
2644
+ * Number of times the condition must be met
2645
+ */
2646
+ repeatCount: number | null;
2647
+
2648
+ /**
2649
+ * Number of times the condition must be met
2650
+ */
2651
+ requiredCount: number | null;
2652
+
2653
+ /**
2654
+ * Type of the condition
2655
+ */
2656
+ type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
2657
+ }
2658
+
2659
+ export namespace LoyaltyCondition {
2660
+ export interface Association {
2661
+ /**
2662
+ * Unique identifier for the association
2663
+ */
2664
+ id: string;
2665
+
2666
+ /**
2667
+ * Unique identifier for the loyalty badge
2668
+ */
2669
+ loyaltyBadgeId: string | null;
2670
+
2671
+ /**
2672
+ * Unique identifier for the loyalty currency
2673
+ */
2674
+ loyaltyCurrencyId: string | null;
2675
+
2676
+ loyaltyRule: Association.LoyaltyRule | null;
2677
+
2678
+ /**
2679
+ * Unique identifier for the loyalty rule group
2680
+ */
2681
+ loyaltyRuleGroupId: string | null;
2682
+
2683
+ /**
2684
+ * Unique identifier for the loyalty rule
2685
+ */
2686
+ loyaltyRuleId: string | null;
2687
+ }
2688
+
2689
+ export namespace Association {
2690
+ export interface LoyaltyRule {
2691
+ /**
2692
+ * Name of the loyalty rule
2693
+ */
2694
+ name: string;
2695
+ }
2696
+ }
2697
+ }
2698
+ }
2699
+
2700
+ export interface Metadata {
2701
+ /**
2702
+ * Number of tokens per batch.
2703
+ */
2704
+ batchSize?: number | null;
2705
+
2706
+ /**
2707
+ * Text displayed on the action button.
2708
+ */
2709
+ buttonText?: string | null;
2710
+
2711
+ /**
2712
+ * Flag indicating if commenting is required.
2713
+ */
2714
+ checkComment?: boolean | null;
2715
+
2716
+ /**
2717
+ * Flag indicating if liking the post is required.
2718
+ */
2719
+ checkLike?: boolean | null;
2720
+
2721
+ /**
2722
+ * Flag indicating if reposting is required.
2723
+ */
2724
+ checkRepost?: boolean | null;
2725
+
2726
+ /**
2727
+ * Text to check in the Twitter post, username, or bio.
2728
+ */
2729
+ checkText?: string | Array<string> | null;
2730
+
2731
+ /**
2732
+ * Array of collections associated with the rule.
2733
+ */
2734
+ collection?: Array<Metadata.Collection>;
2735
+
2736
+ /**
2737
+ * Conditions for completing the profile.
2738
+ */
2739
+ completeProfileConditions?: { [key: string]: boolean } | null;
2740
+
2741
+ /**
2742
+ * Description of the external rule condition (only for external rules)
2743
+ */
2744
+ conditionDescription?: string;
2745
+
2746
+ /**
2747
+ * Object containing details for the call-to-action.
2748
+ */
2749
+ cta?: Metadata.Cta | null;
2750
+
2751
+ /**
2752
+ * API key for custom rewards integration.
2753
+ */
2754
+ customRewardsApiKey?: string;
2755
+
2756
+ /**
2757
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2758
+ */
2759
+ directRpc?: boolean;
2760
+
2761
+ /**
2762
+ * Array of Discord servers, channels, and roles to join.
2763
+ */
2764
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2765
+
2766
+ /**
2767
+ * Array of drip quests required to complete the rule.
2768
+ */
2769
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2770
+
2771
+ /**
2772
+ * Flag indicating whether joining Discord servers is required.
2773
+ */
2774
+ enableJoinDiscordServers?: boolean | null;
2775
+
2776
+ /**
2777
+ * Flag indicating whether streaks are enabled.
2778
+ */
2779
+ enableStreaks?: boolean | null;
2780
+
2781
+ /**
2782
+ * Flag indicating whether the verified multiplier is enabled.
2783
+ */
2784
+ enableVerifiedMultiplier?: boolean;
2785
+
2786
+ /**
2787
+ * Fill source of the order for the token sale
2788
+ */
2789
+ fillSource?: string;
2790
+
2791
+ /**
2792
+ * Percentage reward given to a user for their first referral.
2793
+ */
2794
+ firstReferralReward?: number | null;
2795
+
2796
+ /**
2797
+ * Flag indicating whether the fill source is included.
2798
+ */
2799
+ hasFillSource?: boolean;
2800
+
2801
+ /**
2802
+ * Indicates if the item has never been sold.
2803
+ */
2804
+ hasNeverSold?: boolean;
2805
+
2806
+ /**
2807
+ * Indicates if the full royalty has been paid for items.
2808
+ */
2809
+ hasPaidFullRoyalty?: boolean;
2810
+
2811
+ /**
2812
+ * Flag indicating if the sale currency is included.
2813
+ */
2814
+ hasSaleCurrency?: boolean;
2815
+
2816
+ /**
2817
+ * Indicates if the user has a verified Twitter account.
2818
+ */
2819
+ hasVerifiedTwitter?: boolean;
2820
+
2821
+ /**
2822
+ * URL of the image associated with the rule.
2823
+ */
2824
+ imageUrl?: string | null;
2825
+
2826
+ /**
2827
+ * If enabled, the first transaction done on the platform will complete this rule
2828
+ */
2829
+ isCheckInOnEveryTxn?: boolean;
2830
+
2831
+ /**
2832
+ * Indicates if the multiplier has been applied to rewards.
2833
+ */
2834
+ isMultiplierApplied?: boolean;
2835
+
2836
+ /**
2837
+ * Flag indicating if the rule is restricted to new users.
2838
+ */
2839
+ isRestrictedToNewUsers?: boolean;
2840
+
2841
+ /**
2842
+ * Flag indicating if rewards are applied retroactively.
2843
+ */
2844
+ isRetroactive?: boolean | null;
2845
+
2846
+ /**
2847
+ * Flag indicating if the token hold multiplier is applied.
2848
+ */
2849
+ isTokenHoldMultiplier?: boolean;
2850
+
2851
+ /**
2852
+ * Optional link associated with the metadata.
2853
+ */
2854
+ link?: string | null;
2855
+
2856
+ /**
2857
+ * Liquidity pool details.
2858
+ */
2859
+ liquidity?: Metadata.Liquidity;
2860
+
2861
+ /**
2862
+ * Maximum quantity constraint for token holding.
2863
+ */
2864
+ maxQty?: number | null;
2865
+
2866
+ /**
2867
+ * Minimum quantity constraint for token holding.
2868
+ */
2869
+ minQty?: number | null;
2870
+
2871
+ /**
2872
+ * Array of loyalty currency IDs used for multipliers.
2873
+ */
2874
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2875
+
2876
+ /**
2877
+ * Flag indicating whether to include only known users.
2878
+ */
2879
+ onlyKnownUsers?: boolean;
2880
+
2881
+ /**
2882
+ * Flag indicating whether to include only native tokens.
2883
+ */
2884
+ onlyNative?: boolean;
2885
+
2886
+ /**
2887
+ * Flag indicating whether to include only non-listed items.
2888
+ */
2889
+ onlyNonListed?: boolean;
2890
+
2891
+ /**
2892
+ * Indicates if only existing users are rewarded.
2893
+ */
2894
+ onlyRewardExistingUser?: boolean;
2895
+
2896
+ /**
2897
+ * give points for only one token ownership per contract
2898
+ */
2899
+ onlyRewardSingleTokenOwnership?: boolean | null;
2900
+
2901
+ /**
2902
+ * Promotional code associated with the rule.
2903
+ */
2904
+ promoCode?: string;
2905
+
2906
+ /**
2907
+ * URL of the CSV file containing promo codes.
2908
+ */
2909
+ promoCodeCsvUrl?: string;
2910
+
2911
+ /**
2912
+ * Numbers of the promotional code to be generated.
2913
+ */
2914
+ promoCodeLength?: number | null;
2915
+
2916
+ /**
2917
+ * Type of the promotional code.
2918
+ */
2919
+ promoCodeType?: 'code' | 'csv' | 'generate';
2920
+
2921
+ /**
2922
+ * Array defining ranges and corresponding rewards.
2923
+ */
2924
+ range?: Array<Metadata.Range>;
2925
+
2926
+ /**
2927
+ * Object defining referral requirements.
2928
+ */
2929
+ referralRequirements?: Metadata.ReferralRequirements | null;
2930
+
2931
+ /**
2932
+ * Lump sum reward given to a referrer.
2933
+ */
2934
+ referrerReward?: number | null;
2935
+
2936
+ /**
2937
+ * Loyalty currency ID of the referrer reward.
2938
+ */
2939
+ referrerRewardLoyaltyCurrencyId?: string | null;
2940
+
2941
+ /**
2942
+ * Flag indicating if the post link is required.
2943
+ */
2944
+ requirePostLink?: boolean | null;
2945
+
2946
+ /**
2947
+ * Flag indicating if media metadata is required.
2948
+ */
2949
+ requirePostMediaLink?: boolean | null;
2950
+
2951
+ /**
2952
+ * Flag indicating if the rule can also reward badges per range.
2953
+ */
2954
+ rewardBadgePerRange?: boolean;
2955
+
2956
+ /**
2957
+ * Flag indicating if the reward is rewarded by batch.
2958
+ */
2959
+ rewardByBatch?: boolean | null;
2960
+
2961
+ /**
2962
+ * Flag indicating if the reward is rewarded per action.
2963
+ */
2964
+ rewardPerAction?: boolean | null;
2965
+
2966
+ /**
2967
+ * Flag indicating if rewards are given per impression.
2968
+ */
2969
+ rewardPerImpression?: boolean | null;
2970
+
2971
+ /**
2972
+ * Flag indicating if the rule should reward based on value of traded tokens
2973
+ * instead of count.
2974
+ */
2975
+ rewardPerValue?: boolean;
2976
+
2977
+ /**
2978
+ * Wallet address of the user can only be used if userId is not provided
2979
+ */
2980
+ royaltyAddress?: string;
2981
+
2982
+ /**
2983
+ * Royalty percentage of the item.
2984
+ */
2985
+ royaltyPercentage?: number;
2986
+
2987
+ /**
2988
+ * Currency associated with sales.
2989
+ */
2990
+ saleCurrency?: string;
2991
+
2992
+ /**
2993
+ * Percentage reward given for a second-level referral.
2994
+ */
2995
+ secondReferralReward?: number | null;
2996
+
2997
+ /**
2998
+ * Flag indicating if the multiplier is skipped.
2999
+ */
3000
+ skipMultiplier?: boolean | null;
3001
+
3002
+ /**
3003
+ * Object containing details of the associated smart contract.
3004
+ */
3005
+ smartContract?: Metadata.SmartContract;
3006
+
3007
+ /**
3008
+ * Array of snapshot proposals for the rule.
3009
+ */
3010
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
3011
+
3012
+ /**
3013
+ * Social media platform associated with the rule.
3014
+ */
3015
+ socialPlatform?:
3016
+ | 'Custom'
3017
+ | 'Discord'
3018
+ | 'EpicGames'
3019
+ | 'Instagram'
3020
+ | 'Steam'
3021
+ | 'Telegram'
3022
+ | 'TikTok'
3023
+ | 'Twitch'
3024
+ | 'X(Twitter)'
3025
+ | 'YouTube'
3026
+ | 'Google'
3027
+ | null;
3028
+
3029
+ /**
3030
+ * URL of the social platform's logo.
3031
+ */
3032
+ socialPlatformLogo?: string | null;
3033
+
3034
+ /**
3035
+ * Name of the social platform.
3036
+ */
3037
+ socialPlatformName?: string | null;
3038
+
3039
+ /**
3040
+ * ID of the Steam app.
3041
+ */
3042
+ steamAppId?: string | null;
3043
+
3044
+ /**
3045
+ * Array of streak milestones and corresponding rewards.
3046
+ */
3047
+ streakArray?: Array<Metadata.StreakArray> | null;
3048
+
3049
+ /**
3050
+ * Metadata for swap loyalty rules
3051
+ */
3052
+ swap?: Metadata.Swap;
3053
+
3054
+ /**
3055
+ * ID of the Telegram channel.
3056
+ */
3057
+ telegramChannelId?: string | null;
3058
+
3059
+ /**
3060
+ * Time delay in seconds to verify actions.
3061
+ */
3062
+ timeDelayToVerifySeconds?: string | number | null;
3063
+
3064
+ /**
3065
+ * Flag indicating if all contracts are tracked.
3066
+ */
3067
+ trackAllContracts?: boolean | null;
3068
+
3069
+ /**
3070
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
3071
+ * completed once the progress is 100%.
3072
+ */
3073
+ trackProgress?: boolean | null;
3074
+
3075
+ /**
3076
+ * URL of the associated Twitter account.
3077
+ */
3078
+ twitterAccountUrl?: string;
3079
+
3080
+ /**
3081
+ * Hashtag associated with the Twitter post.
3082
+ */
3083
+ twitterHashtag?: string;
3084
+
3085
+ /**
3086
+ * URL of the associated Twitter post.
3087
+ */
3088
+ twitterPostUrl?: string;
3089
+
3090
+ /**
3091
+ * Unique identifier of the Twitter user.
3092
+ */
3093
+ twitterUserId?: string;
3094
+
3095
+ /**
3096
+ * Twitter username of the user.
3097
+ */
3098
+ twitterUsername?: string;
3099
+
3100
+ /**
3101
+ * Minimum length of the verification text.
3102
+ */
3103
+ verificationTextMinimumLength?: number | null;
3104
+
3105
+ /**
3106
+ * Multiplier applied to rewards for verified users.
3107
+ */
3108
+ verifiedMultiplier?: number | null;
3109
+
3110
+ /**
3111
+ * Placeholder text for verification input fields.
3112
+ */
3113
+ verifyPlaceHolderText?: string | null;
3114
+
3115
+ /**
3116
+ * Type of wallet associated with the rule.
3117
+ */
3118
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
3119
+
3120
+ /**
3121
+ * ID of the Youtube channel.
3122
+ */
3123
+ youtubeChannelId?: string | null;
3124
+
3125
+ /**
3126
+ * ID of the Youtube video.
3127
+ */
3128
+ youtubeVideoId?: string | null;
3129
+ }
3130
+
3131
+ export namespace Metadata {
3132
+ export interface Collection {
3133
+ /**
3134
+ * Blockchain address of the collection.
3135
+ */
3136
+ address?: string;
3137
+
3138
+ /**
3139
+ * Multiplier applied to the rewards for this collection.
3140
+ */
3141
+ multiplier?: number;
3142
+
3143
+ /**
3144
+ * Blockchain network of the collection.
3145
+ */
3146
+ network?:
3147
+ | 'abstract'
3148
+ | 'abstractTestnet'
3149
+ | 'apechain'
3150
+ | 'arbitrum'
3151
+ | 'avalanche'
3152
+ | 'avalancheFuji'
3153
+ | 'base'
3154
+ | 'baseSepolia'
3155
+ | 'berachain'
3156
+ | 'berachainArtio'
3157
+ | 'berachainBepolia'
3158
+ | 'binance'
3159
+ | 'bscTestnet'
3160
+ | 'campTestnet'
3161
+ | 'fantom'
3162
+ | 'fantomTestnet'
3163
+ | 'flowMainnet'
3164
+ | 'mainnet'
3165
+ | 'nexusTestnet'
3166
+ | 'optimism'
3167
+ | 'polygon'
3168
+ | 'polygon_mumbai'
3169
+ | 'skaleNebula'
3170
+ | 'solana'
3171
+ | 'sophon'
3172
+ | 'sophonTestnet'
3173
+ | 'sui'
3174
+ | 'superseed'
3175
+ | 'superseedSepolia'
3176
+ | 'vanar'
3177
+ | 'xai'
3178
+ | 'zksync'
3179
+ | 'coti'
3180
+ | 'cotiTestnet'
3181
+ | 'morph'
3182
+ | 'morphTestnet'
3183
+ | 'morphHolesky'
3184
+ | 'ultra'
3185
+ | 'ultraTestnet'
3186
+ | 'nitrograph'
3187
+ | 'sepolia'
3188
+ | 'optimism_sepolia'
3189
+ | 'arbitrumSepolia'
3190
+ | 'goerli'
3191
+ | 'optimism_goerli'
3192
+ | 'arbitrumGoerli'
3193
+ | 'basecamp';
3194
+ }
3195
+
3196
+ /**
3197
+ * Object containing details for the call-to-action.
3198
+ */
3199
+ export interface Cta {
3200
+ /**
3201
+ * Link for the call-to-action.
3202
+ */
3203
+ href?: string | null;
3204
+
3205
+ /**
3206
+ * Label for the call-to-action.
3207
+ */
3208
+ label?: string | null;
3209
+ }
3210
+
3211
+ export interface DiscordServersToJoin {
3212
+ /**
3213
+ * ID of the Discord server to join.
3214
+ */
3215
+ id?: string;
3216
+
3217
+ /**
3218
+ * Array of Discord channels to join.
3219
+ */
3220
+ channels?: Array<DiscordServersToJoin.Channel>;
3221
+
3222
+ /**
3223
+ * Array of roles to assign in the Discord server.
3224
+ */
3225
+ roles?: Array<DiscordServersToJoin.Role>;
3226
+ }
3227
+
3228
+ export namespace DiscordServersToJoin {
3229
+ export interface Channel {
3230
+ /**
3231
+ * ID of the Discord channel.
3232
+ */
3233
+ id?: string;
3234
+
3235
+ /**
3236
+ * Array of emojis used in the channel.
3237
+ */
3238
+ emojis?: Array<Channel.Emoji>;
3239
+
3240
+ /**
3241
+ * Phrase of text to be present in the discord message
3242
+ */
3243
+ text?: string;
3244
+ }
3245
+
3246
+ export namespace Channel {
3247
+ export interface Emoji {
3248
+ /**
3249
+ * ID of the emoji used in the channel.
3250
+ */
3251
+ id?: string;
3252
+ }
3253
+ }
3254
+
3255
+ export interface Role {
3256
+ /**
3257
+ * ID of the role in the Discord server.
3258
+ */
3259
+ id: string;
3260
+ }
3261
+ }
3262
+
3263
+ export interface DripQuestsToComplete {
3264
+ /**
3265
+ * ID of the drip quest to complete.
3266
+ */
3267
+ id: string;
3268
+ }
3269
+
3270
+ /**
3271
+ * Liquidity pool details.
3272
+ */
3273
+ export interface Liquidity {
3274
+ /**
3275
+ * Calculation type of the liquidity pool.
3276
+ */
3277
+ calculationType?: 'fixed' | 'custom';
3278
+
3279
+ /**
3280
+ * Custom function to calculate the the reward amount based on the liquidity
3281
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
3282
+ * USD.
3283
+ */
3284
+ customFunction?: string;
3285
+
3286
+ /**
3287
+ * Liquidity provided per day in USD
3288
+ */
3289
+ liquidityPerDay?: number;
3290
+
3291
+ /**
3292
+ * Blockchain network of the liquidity pool.
3293
+ */
3294
+ network?:
3295
+ | 'abstract'
3296
+ | 'abstractTestnet'
3297
+ | 'apechain'
3298
+ | 'arbitrum'
3299
+ | 'avalanche'
3300
+ | 'avalancheFuji'
3301
+ | 'base'
3302
+ | 'baseSepolia'
3303
+ | 'berachain'
3304
+ | 'berachainArtio'
3305
+ | 'berachainBepolia'
3306
+ | 'binance'
3307
+ | 'bscTestnet'
3308
+ | 'campTestnet'
3309
+ | 'fantom'
3310
+ | 'fantomTestnet'
3311
+ | 'flowMainnet'
3312
+ | 'mainnet'
3313
+ | 'nexusTestnet'
3314
+ | 'optimism'
3315
+ | 'polygon'
3316
+ | 'polygon_mumbai'
3317
+ | 'skaleNebula'
3318
+ | 'solana'
3319
+ | 'sophon'
3320
+ | 'sophonTestnet'
3321
+ | 'sui'
3322
+ | 'superseed'
3323
+ | 'superseedSepolia'
3324
+ | 'vanar'
3325
+ | 'xai'
3326
+ | 'zksync'
3327
+ | 'coti'
3328
+ | 'cotiTestnet'
3329
+ | 'morph'
3330
+ | 'morphTestnet'
3331
+ | 'morphHolesky'
3332
+ | 'ultra'
3333
+ | 'ultraTestnet'
3334
+ | 'nitrograph'
3335
+ | 'sepolia'
3336
+ | 'optimism_sepolia'
3337
+ | 'arbitrumSepolia'
3338
+ | 'goerli'
3339
+ | 'optimism_goerli'
3340
+ | 'arbitrumGoerli'
3341
+ | 'basecamp';
3342
+
3343
+ /**
3344
+ * Indicates if only in-range liquidity is rewarded.
3345
+ */
3346
+ onlyRewardInRangeLiquidity?: boolean;
3347
+
3348
+ /**
3349
+ * Array of liquidity pools associated with the rule.
3350
+ */
3351
+ pools?: Array<Liquidity.Pool>;
3352
+
3353
+ /**
3354
+ * Protocol of the liquidity pool.
3355
+ */
3356
+ protocol?: string;
3357
+ }
3358
+
3359
+ export namespace Liquidity {
3360
+ export interface Pool {
3361
+ /**
3362
+ * Unique identifier of the liquidity pool.
3363
+ */
3364
+ id: string;
3365
+ }
3366
+ }
3367
+
3368
+ export interface Range {
3369
+ /**
3370
+ * Reward amount for this range.
3371
+ */
3372
+ amount: number;
3373
+
3374
+ /**
3375
+ * End value of the range.
3376
+ */
3377
+ endRange: number;
3378
+
3379
+ /**
3380
+ * Start value of the range.
3381
+ */
3382
+ startRange: number;
3383
+
3384
+ /**
3385
+ * ID of the loyalty badge for this range.
3386
+ */
3387
+ loyaltyBadgeId?: string;
3388
+
3389
+ /**
3390
+ * Amount of the loyalty multiplier for this range.
3391
+ */
3392
+ loyaltyMultiplierAmount?: number;
3393
+ }
3394
+
3395
+ /**
3396
+ * Object defining referral requirements.
3397
+ */
3398
+ export interface ReferralRequirements {
3399
+ /**
3400
+ * Flag indicating if achieving points is required.
3401
+ */
3402
+ achievePoints?: boolean | null;
3403
+
3404
+ /**
3405
+ * Flag indicating if completing the profile is required.
3406
+ */
3407
+ completeProfile?: boolean | null;
3408
+
3409
+ /**
3410
+ * Flag indicating if connecting Discord is required.
3411
+ */
3412
+ connectDiscord?: boolean | null;
3413
+
3414
+ /**
3415
+ * Flag indicating if connecting email is required.
3416
+ */
3417
+ connectEmail?: boolean | null;
3418
+
3419
+ /**
3420
+ * Flag indicating if connecting Twitter is required.
3421
+ */
3422
+ connectTwitter?: boolean | null;
3423
+
3424
+ points?: ReferralRequirements.Points | null;
3425
+ }
3426
+
3427
+ export namespace ReferralRequirements {
3428
+ export interface Points {
3429
+ /**
3430
+ * Points required for referral.
3431
+ */
3432
+ amount?: number | null;
3433
+
3434
+ /**
3435
+ * ID of the loyalty currency for referral.
3436
+ */
3437
+ loyaltyCurrecyId?: string | null;
3438
+ }
3439
+ }
1710
3440
 
1711
3441
  /**
1712
- * Flag indicating if a maximum limit is applied.
3442
+ * Object containing details of the associated smart contract.
1713
3443
  */
1714
- withMax?: boolean | null;
1715
- }
1716
-
1717
- export namespace SmartContract {
1718
- export interface Bonus {
3444
+ export interface SmartContract {
1719
3445
  /**
1720
- * Amount of the bonus.
3446
+ * Mapping of addresses for the smart contract.
1721
3447
  */
1722
- amount?: number | null;
3448
+ addressMapping?: string | null;
1723
3449
 
1724
3450
  /**
1725
- * Number of times the bonus is applied.
3451
+ * Object containing details of the amount multiplier from the event.
1726
3452
  */
1727
- count?: number | null;
1728
- }
3453
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1729
3454
 
1730
- /**
1731
- * Time range applied to the rule.
1732
- */
1733
- export interface CustomRange {
1734
3455
  /**
1735
- * End time of the custom range.
3456
+ * ID of the smart contract.
1736
3457
  */
1737
- endsAt?: string | null;
3458
+ contractId?: string | null;
1738
3459
 
1739
3460
  /**
1740
- * Start time of the custom range.
3461
+ * Criteria to evaluate the smart contract event.
1741
3462
  */
1742
- startsAt?: string | null;
1743
- }
3463
+ criteria?: 'everyEvent' | 'byParameter' | null;
1744
3464
 
1745
- export interface Param {
1746
3465
  /**
1747
- * Condition to check for the parameter.
3466
+ * Event emitted by the smart contract.
1748
3467
  */
1749
- condition?: string | null;
3468
+ event?: string | null;
1750
3469
 
1751
3470
  /**
1752
- * Name of the smart contract parameter.
3471
+ * Array of parameters for the smart contract.
1753
3472
  */
1754
- name?: string | null;
3473
+ params?: Array<SmartContract.Param> | null;
1755
3474
 
1756
3475
  /**
1757
- * Value of the parameter.
3476
+ * Type of the smart contract interaction.
1758
3477
  */
1759
- value?: string | null;
3478
+ type?: 'function' | 'event' | null;
1760
3479
  }
1761
- }
1762
3480
 
1763
- export interface SnapshotProposal {
1764
- /**
1765
- * ID of the snapshot proposal.
1766
- */
1767
- id: string;
3481
+ export namespace SmartContract {
3482
+ /**
3483
+ * Object containing details of the amount multiplier from the event.
3484
+ */
3485
+ export interface AmountMultiplier {
3486
+ /**
3487
+ * Mapping of the value for the smart contract.
3488
+ */
3489
+ valueMapping?: string | null;
3490
+ }
1768
3491
 
1769
- /**
1770
- * Space associated with the snapshot proposal.
1771
- */
1772
- space: string;
1773
- }
3492
+ export interface Param {
3493
+ /**
3494
+ * Condition to check for the parameter.
3495
+ */
3496
+ condition?: string | null;
1774
3497
 
1775
- export interface StreakArray {
1776
- /**
1777
- * Reward amount for achieving the streak milestone.
1778
- */
1779
- streakAmount: number;
3498
+ /**
3499
+ * Name of the smart contract parameter.
3500
+ */
3501
+ name?: string | null;
1780
3502
 
1781
- /**
1782
- * Milestone required to achieve the streak.
1783
- */
1784
- streakMilestone: number;
1785
- }
1786
- }
1787
- }
3503
+ /**
3504
+ * Value of the parameter.
3505
+ */
3506
+ value?: string | null;
3507
+ }
3508
+ }
1788
3509
 
1789
- export interface RuleListResponse {
1790
- data: Array<RuleListResponse.Data>;
3510
+ export interface SnapshotProposal {
3511
+ /**
3512
+ * ID of the snapshot proposal.
3513
+ */
3514
+ id: string;
1791
3515
 
1792
- hasNextPage: boolean;
1793
- }
3516
+ /**
3517
+ * Space associated with the snapshot proposal.
3518
+ */
3519
+ space: string;
3520
+ }
1794
3521
 
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;
3522
+ export interface StreakArray {
3523
+ /**
3524
+ * Reward amount for achieving the streak milestone.
3525
+ */
3526
+ streakAmount: number;
1804
3527
 
1805
- /**
1806
- * Amount associated with the loyalty rule
1807
- */
1808
- amount: number;
3528
+ /**
3529
+ * Milestone required to achieve the streak.
3530
+ */
3531
+ streakMilestone: number;
3532
+ }
1809
3533
 
1810
- /**
1811
- * Timestamp when the loyalty rule was created
1812
- */
1813
- createdAt: string;
3534
+ /**
3535
+ * Metadata for swap loyalty rules
3536
+ */
3537
+ export interface Swap {
3538
+ provider?: 'any' | 'relay' | 'lifi';
1814
3539
 
1815
- /**
1816
- * Timestamp when the loyalty rule was deleted (if applicable)
1817
- */
1818
- deletedAt: string | null;
3540
+ relayReferrerId?: string;
1819
3541
 
1820
- /**
1821
- * Frequency of the loyalty rule
1822
- */
1823
- frequency: string;
3542
+ requireCrossChainSwap?: boolean;
1824
3543
 
1825
- /**
1826
- * Unique identifier for the organization
1827
- */
1828
- organizationId: string;
3544
+ swappedToChain?: 'any' | number | string;
1829
3545
 
1830
- /**
1831
- * Type of the loyalty rule
1832
- */
1833
- type: string;
3546
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1834
3547
 
1835
- /**
1836
- * Timestamp when the loyalty rule was last updated
1837
- */
1838
- updatedAt: string;
3548
+ tokenMode?: 'any' | 'specific';
1839
3549
 
1840
- /**
1841
- * Unique identifier for the website
1842
- */
1843
- websiteId: string;
3550
+ trackTokenAmount?: boolean;
3551
+ }
1844
3552
 
1845
- /**
1846
- * Optional address of the collection
1847
- */
1848
- collectionAddress?: string;
3553
+ export namespace Swap {
3554
+ export interface SwappedToToken {
3555
+ address: string;
1849
3556
 
1850
- /**
1851
- * Optional metadata for the loyalty rule
1852
- */
1853
- metadata?: Record<string, unknown>;
3557
+ chainId: string;
3558
+ }
3559
+ }
3560
+ }
1854
3561
  }
1855
3562
  }
1856
3563
 
@@ -1861,7 +3568,9 @@ export interface RuleDeleteResponse {
1861
3568
  }
1862
3569
 
1863
3570
  export interface RuleCompleteResponse {
1864
- message: string;
3571
+ message:
3572
+ | 'Completion request added to queue'
3573
+ | 'Link click being verified, come back later to check the status';
1865
3574
  }
1866
3575
 
1867
3576
  export interface RuleGetStatusResponse {
@@ -1987,7 +3696,19 @@ export interface RuleCreateParams {
1987
3696
  | 'twitter_like'
1988
3697
  | 'twitter_post_hashtag'
1989
3698
  | 'quiz'
1990
- | 'poll';
3699
+ | 'poll'
3700
+ | 'steam_wishlist'
3701
+ | 'liquidity_uniswap_v2'
3702
+ | 'liquidity_uniswap_v3'
3703
+ | 'points_airdrop'
3704
+ | 'youtube_subscribers'
3705
+ | 'youtube_comment'
3706
+ | 'shopify_spend'
3707
+ | 'swap'
3708
+ | 'tiktok_post'
3709
+ | 'post_impressions'
3710
+ | 'discord_join'
3711
+ | 'connected_youtube';
1991
3712
 
1992
3713
  /**
1993
3714
  * Unique identifier for the associated website
@@ -2024,6 +3745,13 @@ export interface RuleCreateParams {
2024
3745
  */
2025
3746
  description?: string;
2026
3747
 
3748
+ duplicatedFromId?: string | null;
3749
+
3750
+ /**
3751
+ * ID of the external integration
3752
+ */
3753
+ externalIntegrationId?: string | null;
3754
+
2027
3755
  /**
2028
3756
  * Whether to hide this rule in the user interface
2029
3757
  */
@@ -2032,55 +3760,96 @@ export interface RuleCreateParams {
2032
3760
  /**
2033
3761
  * Interval between rule executions
2034
3762
  */
2035
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
3763
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2036
3764
 
2037
3765
  /**
2038
3766
  * Whether this rule is mandatory
2039
3767
  */
2040
3768
  isRequired?: boolean;
2041
3769
 
3770
+ /**
3771
+ * Unique identifier for the loyalty badge
3772
+ */
3773
+ loyaltyBadgeId?: string | null;
3774
+
2042
3775
  /**
2043
3776
  * Unique identifier for the loyalty rule group
2044
3777
  */
2045
3778
  loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2046
3779
 
3780
+ /**
3781
+ * URL for uploading loyalty user allotment via CSV
3782
+ */
3783
+ loyaltyUserAllotmentCsvUrl?: string;
3784
+
3785
+ /**
3786
+ * The interval for the max amount. Available for the smart contract and external
3787
+ * rules.
3788
+ */
3789
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3790
+
3791
+ /**
3792
+ * The maximum amount of points a user can earn per interval. Available for the
3793
+ * smart contract and external rules.
3794
+ */
3795
+ maxAmountPerInterval?: number | null;
3796
+
3797
+ /**
3798
+ * URL of the media to be displayed
3799
+ */
3800
+ mediaUrl?: string | null;
3801
+
2047
3802
  /**
2048
3803
  * Blockchain network where the rule will apply
2049
3804
  */
2050
3805
  network?:
2051
- | 'mainnet'
2052
- | 'polygon'
2053
- | 'polygon_mumbai'
2054
- | 'optimism'
3806
+ | 'abstract'
3807
+ | 'abstractTestnet'
3808
+ | 'apechain'
2055
3809
  | 'arbitrum'
2056
- | 'binance'
2057
- | 'bscTestnet'
2058
3810
  | 'avalanche'
2059
3811
  | 'avalancheFuji'
2060
- | 'zksync'
2061
- | 'fantom'
2062
- | 'fantomTestnet'
2063
3812
  | 'base'
2064
3813
  | 'baseSepolia'
2065
- | 'skaleNebula'
2066
- | 'xai'
3814
+ | 'berachain'
2067
3815
  | 'berachainArtio'
2068
- | 'solana'
2069
- | 'apechain'
2070
- | 'flowMainnet'
3816
+ | 'berachainBepolia'
3817
+ | 'binance'
3818
+ | 'bscTestnet'
2071
3819
  | 'campTestnet'
3820
+ | 'fantom'
3821
+ | 'fantomTestnet'
3822
+ | 'flowMainnet'
3823
+ | 'mainnet'
3824
+ | 'nexusTestnet'
3825
+ | 'optimism'
3826
+ | 'polygon'
3827
+ | 'polygon_mumbai'
3828
+ | 'skaleNebula'
3829
+ | 'solana'
3830
+ | 'sophon'
3831
+ | 'sophonTestnet'
2072
3832
  | 'sui'
2073
- | 'vanar'
2074
3833
  | 'superseed'
2075
3834
  | 'superseedSepolia'
3835
+ | 'vanar'
3836
+ | 'xai'
3837
+ | 'zksync'
3838
+ | 'coti'
3839
+ | 'cotiTestnet'
3840
+ | 'morph'
3841
+ | 'morphTestnet'
3842
+ | 'morphHolesky'
3843
+ | 'ultra'
3844
+ | 'ultraTestnet'
3845
+ | 'nitrograph'
2076
3846
  | 'sepolia'
2077
3847
  | 'optimism_sepolia'
2078
3848
  | 'arbitrumSepolia'
2079
3849
  | 'goerli'
2080
3850
  | 'optimism_goerli'
2081
3851
  | 'arbitrumGoerli'
2082
- | 'basecamp'
2083
- | 'abstract';
3852
+ | 'basecamp';
2084
3853
 
2085
3854
  /**
2086
3855
  * OAuth credentials associated with the rule
@@ -2090,12 +3859,22 @@ export interface RuleCreateParams {
2090
3859
  /**
2091
3860
  * Type of reward issued by the rule
2092
3861
  */
2093
- rewardType?: 'points' | 'multiplier';
3862
+ rewardType?: 'points' | 'multiplier' | 'badge';
3863
+
3864
+ /**
3865
+ * URL of the Shopify store
3866
+ */
3867
+ shopifyStoreUrl?: string | null;
2094
3868
 
2095
3869
  /**
2096
- * Identifier for associated subscriptions
3870
+ * Whether to show this rule before the start time
2097
3871
  */
2098
- subscriptionIdentifier?: string | null;
3872
+ showBeforeStart?: boolean;
3873
+
3874
+ /**
3875
+ * Optional subscription id for the rule
3876
+ */
3877
+ subscriptionId?: string | null;
2099
3878
  }
2100
3879
 
2101
3880
  export namespace RuleCreateParams {
@@ -2103,6 +3882,11 @@ export namespace RuleCreateParams {
2103
3882
  * Additional metadata for the loyalty rule
2104
3883
  */
2105
3884
  export interface Metadata {
3885
+ /**
3886
+ * Number of tokens per batch.
3887
+ */
3888
+ batchSize?: number | null;
3889
+
2106
3890
  /**
2107
3891
  * Text displayed on the action button.
2108
3892
  */
@@ -2126,13 +3910,23 @@ export namespace RuleCreateParams {
2126
3910
  /**
2127
3911
  * Text to check in the Twitter post, username, or bio.
2128
3912
  */
2129
- checkText?: string | null;
3913
+ checkText?: string | Array<string> | null;
2130
3914
 
2131
3915
  /**
2132
3916
  * Array of collections associated with the rule.
2133
3917
  */
2134
3918
  collection?: Array<Metadata.Collection>;
2135
3919
 
3920
+ /**
3921
+ * Conditions for completing the profile.
3922
+ */
3923
+ completeProfileConditions?: { [key: string]: boolean } | null;
3924
+
3925
+ /**
3926
+ * Description of the external rule condition (only for external rules)
3927
+ */
3928
+ conditionDescription?: string;
3929
+
2136
3930
  /**
2137
3931
  * Object containing details for the call-to-action.
2138
3932
  */
@@ -2143,6 +3937,11 @@ export namespace RuleCreateParams {
2143
3937
  */
2144
3938
  customRewardsApiKey?: string;
2145
3939
 
3940
+ /**
3941
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3942
+ */
3943
+ directRpc?: boolean;
3944
+
2146
3945
  /**
2147
3946
  * Array of Discord servers, channels, and roles to join.
2148
3947
  */
@@ -2168,11 +3967,21 @@ export namespace RuleCreateParams {
2168
3967
  */
2169
3968
  enableVerifiedMultiplier?: boolean;
2170
3969
 
3970
+ /**
3971
+ * Fill source of the order for the token sale
3972
+ */
3973
+ fillSource?: string;
3974
+
2171
3975
  /**
2172
3976
  * Percentage reward given to a user for their first referral.
2173
3977
  */
2174
3978
  firstReferralReward?: number | null;
2175
3979
 
3980
+ /**
3981
+ * Flag indicating whether the fill source is included.
3982
+ */
3983
+ hasFillSource?: boolean;
3984
+
2176
3985
  /**
2177
3986
  * Indicates if the item has never been sold.
2178
3987
  */
@@ -2198,11 +4007,21 @@ export namespace RuleCreateParams {
2198
4007
  */
2199
4008
  imageUrl?: string | null;
2200
4009
 
4010
+ /**
4011
+ * If enabled, the first transaction done on the platform will complete this rule
4012
+ */
4013
+ isCheckInOnEveryTxn?: boolean;
4014
+
2201
4015
  /**
2202
4016
  * Indicates if the multiplier has been applied to rewards.
2203
4017
  */
2204
4018
  isMultiplierApplied?: boolean;
2205
4019
 
4020
+ /**
4021
+ * Flag indicating if the rule is restricted to new users.
4022
+ */
4023
+ isRestrictedToNewUsers?: boolean;
4024
+
2206
4025
  /**
2207
4026
  * Flag indicating if rewards are applied retroactively.
2208
4027
  */
@@ -2218,6 +4037,11 @@ export namespace RuleCreateParams {
2218
4037
  */
2219
4038
  link?: string | null;
2220
4039
 
4040
+ /**
4041
+ * Liquidity pool details.
4042
+ */
4043
+ liquidity?: Metadata.Liquidity;
4044
+
2221
4045
  /**
2222
4046
  * Maximum quantity constraint for token holding.
2223
4047
  */
@@ -2263,6 +4087,21 @@ export namespace RuleCreateParams {
2263
4087
  */
2264
4088
  promoCode?: string;
2265
4089
 
4090
+ /**
4091
+ * URL of the CSV file containing promo codes.
4092
+ */
4093
+ promoCodeCsvUrl?: string;
4094
+
4095
+ /**
4096
+ * Numbers of the promotional code to be generated.
4097
+ */
4098
+ promoCodeLength?: number | null;
4099
+
4100
+ /**
4101
+ * Type of the promotional code.
4102
+ */
4103
+ promoCodeType?: 'code' | 'csv' | 'generate';
4104
+
2266
4105
  /**
2267
4106
  * Array defining ranges and corresponding rewards.
2268
4107
  */
@@ -2278,11 +4117,57 @@ export namespace RuleCreateParams {
2278
4117
  */
2279
4118
  referrerReward?: number | null;
2280
4119
 
4120
+ /**
4121
+ * Loyalty currency ID of the referrer reward.
4122
+ */
4123
+ referrerRewardLoyaltyCurrencyId?: string | null;
4124
+
4125
+ /**
4126
+ * Flag indicating if the post link is required.
4127
+ */
4128
+ requirePostLink?: boolean | null;
4129
+
4130
+ /**
4131
+ * Flag indicating if media metadata is required.
4132
+ */
4133
+ requirePostMediaLink?: boolean | null;
4134
+
4135
+ /**
4136
+ * Flag indicating if the rule can also reward badges per range.
4137
+ */
4138
+ rewardBadgePerRange?: boolean;
4139
+
4140
+ /**
4141
+ * Flag indicating if the reward is rewarded by batch.
4142
+ */
4143
+ rewardByBatch?: boolean | null;
4144
+
4145
+ /**
4146
+ * Flag indicating if the reward is rewarded per action.
4147
+ */
4148
+ rewardPerAction?: boolean | null;
4149
+
2281
4150
  /**
2282
4151
  * Flag indicating if rewards are given per impression.
2283
4152
  */
2284
4153
  rewardPerImpression?: boolean | null;
2285
4154
 
4155
+ /**
4156
+ * Flag indicating if the rule should reward based on value of traded tokens
4157
+ * instead of count.
4158
+ */
4159
+ rewardPerValue?: boolean;
4160
+
4161
+ /**
4162
+ * Wallet address of the user can only be used if userId is not provided
4163
+ */
4164
+ royaltyAddress?: string;
4165
+
4166
+ /**
4167
+ * Royalty percentage of the item.
4168
+ */
4169
+ royaltyPercentage?: number;
4170
+
2286
4171
  /**
2287
4172
  * Currency associated with sales.
2288
4173
  */
@@ -2322,6 +4207,7 @@ export namespace RuleCreateParams {
2322
4207
  | 'Twitch'
2323
4208
  | 'X(Twitter)'
2324
4209
  | 'YouTube'
4210
+ | 'Google'
2325
4211
  | null;
2326
4212
 
2327
4213
  /**
@@ -2334,11 +4220,21 @@ export namespace RuleCreateParams {
2334
4220
  */
2335
4221
  socialPlatformName?: string | null;
2336
4222
 
4223
+ /**
4224
+ * ID of the Steam app.
4225
+ */
4226
+ steamAppId?: string | null;
4227
+
2337
4228
  /**
2338
4229
  * Array of streak milestones and corresponding rewards.
2339
4230
  */
2340
4231
  streakArray?: Array<Metadata.StreakArray> | null;
2341
4232
 
4233
+ /**
4234
+ * Metadata for swap loyalty rules
4235
+ */
4236
+ swap?: Metadata.Swap;
4237
+
2342
4238
  /**
2343
4239
  * ID of the Telegram channel.
2344
4240
  */
@@ -2354,6 +4250,12 @@ export namespace RuleCreateParams {
2354
4250
  */
2355
4251
  trackAllContracts?: boolean | null;
2356
4252
 
4253
+ /**
4254
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
4255
+ * completed once the progress is 100%.
4256
+ */
4257
+ trackProgress?: boolean | null;
4258
+
2357
4259
  /**
2358
4260
  * URL of the associated Twitter account.
2359
4261
  */
@@ -2387,17 +4289,27 @@ export namespace RuleCreateParams {
2387
4289
  /**
2388
4290
  * Multiplier applied to rewards for verified users.
2389
4291
  */
2390
- verifiedMultiplier?: number | null;
4292
+ verifiedMultiplier?: number | null;
4293
+
4294
+ /**
4295
+ * Placeholder text for verification input fields.
4296
+ */
4297
+ verifyPlaceHolderText?: string | null;
4298
+
4299
+ /**
4300
+ * Type of wallet associated with the rule.
4301
+ */
4302
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2391
4303
 
2392
4304
  /**
2393
- * Placeholder text for verification input fields.
4305
+ * ID of the Youtube channel.
2394
4306
  */
2395
- verifyPlaceHolderText?: string | null;
4307
+ youtubeChannelId?: string | null;
2396
4308
 
2397
4309
  /**
2398
- * Type of wallet associated with the rule.
4310
+ * ID of the Youtube video.
2399
4311
  */
2400
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
4312
+ youtubeVideoId?: string | null;
2401
4313
  }
2402
4314
 
2403
4315
  export namespace Metadata {
@@ -2416,39 +4328,53 @@ export namespace RuleCreateParams {
2416
4328
  * Blockchain network of the collection.
2417
4329
  */
2418
4330
  network?:
2419
- | 'mainnet'
2420
- | 'polygon'
2421
- | 'polygon_mumbai'
2422
- | 'optimism'
4331
+ | 'abstract'
4332
+ | 'abstractTestnet'
4333
+ | 'apechain'
2423
4334
  | 'arbitrum'
2424
- | 'binance'
2425
- | 'bscTestnet'
2426
4335
  | 'avalanche'
2427
4336
  | 'avalancheFuji'
2428
- | 'zksync'
2429
- | 'fantom'
2430
- | 'fantomTestnet'
2431
4337
  | 'base'
2432
4338
  | 'baseSepolia'
2433
- | 'skaleNebula'
2434
- | 'xai'
4339
+ | 'berachain'
2435
4340
  | 'berachainArtio'
2436
- | 'solana'
2437
- | 'apechain'
2438
- | 'flowMainnet'
4341
+ | 'berachainBepolia'
4342
+ | 'binance'
4343
+ | 'bscTestnet'
2439
4344
  | 'campTestnet'
4345
+ | 'fantom'
4346
+ | 'fantomTestnet'
4347
+ | 'flowMainnet'
4348
+ | 'mainnet'
4349
+ | 'nexusTestnet'
4350
+ | 'optimism'
4351
+ | 'polygon'
4352
+ | 'polygon_mumbai'
4353
+ | 'skaleNebula'
4354
+ | 'solana'
4355
+ | 'sophon'
4356
+ | 'sophonTestnet'
2440
4357
  | 'sui'
2441
- | 'vanar'
2442
4358
  | 'superseed'
2443
4359
  | 'superseedSepolia'
4360
+ | 'vanar'
4361
+ | 'xai'
4362
+ | 'zksync'
4363
+ | 'coti'
4364
+ | 'cotiTestnet'
4365
+ | 'morph'
4366
+ | 'morphTestnet'
4367
+ | 'morphHolesky'
4368
+ | 'ultra'
4369
+ | 'ultraTestnet'
4370
+ | 'nitrograph'
2444
4371
  | 'sepolia'
2445
4372
  | 'optimism_sepolia'
2446
4373
  | 'arbitrumSepolia'
2447
4374
  | 'goerli'
2448
4375
  | 'optimism_goerli'
2449
4376
  | 'arbitrumGoerli'
2450
- | 'basecamp'
2451
- | 'abstract';
4377
+ | 'basecamp';
2452
4378
  }
2453
4379
 
2454
4380
  /**
@@ -2525,6 +4451,104 @@ export namespace RuleCreateParams {
2525
4451
  id: string;
2526
4452
  }
2527
4453
 
4454
+ /**
4455
+ * Liquidity pool details.
4456
+ */
4457
+ export interface Liquidity {
4458
+ /**
4459
+ * Calculation type of the liquidity pool.
4460
+ */
4461
+ calculationType?: 'fixed' | 'custom';
4462
+
4463
+ /**
4464
+ * Custom function to calculate the the reward amount based on the liquidity
4465
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
4466
+ * USD.
4467
+ */
4468
+ customFunction?: string;
4469
+
4470
+ /**
4471
+ * Liquidity provided per day in USD
4472
+ */
4473
+ liquidityPerDay?: number;
4474
+
4475
+ /**
4476
+ * Blockchain network of the liquidity pool.
4477
+ */
4478
+ network?:
4479
+ | 'abstract'
4480
+ | 'abstractTestnet'
4481
+ | 'apechain'
4482
+ | 'arbitrum'
4483
+ | 'avalanche'
4484
+ | 'avalancheFuji'
4485
+ | 'base'
4486
+ | 'baseSepolia'
4487
+ | 'berachain'
4488
+ | 'berachainArtio'
4489
+ | 'berachainBepolia'
4490
+ | 'binance'
4491
+ | 'bscTestnet'
4492
+ | 'campTestnet'
4493
+ | 'fantom'
4494
+ | 'fantomTestnet'
4495
+ | 'flowMainnet'
4496
+ | 'mainnet'
4497
+ | 'nexusTestnet'
4498
+ | 'optimism'
4499
+ | 'polygon'
4500
+ | 'polygon_mumbai'
4501
+ | 'skaleNebula'
4502
+ | 'solana'
4503
+ | 'sophon'
4504
+ | 'sophonTestnet'
4505
+ | 'sui'
4506
+ | 'superseed'
4507
+ | 'superseedSepolia'
4508
+ | 'vanar'
4509
+ | 'xai'
4510
+ | 'zksync'
4511
+ | 'coti'
4512
+ | 'cotiTestnet'
4513
+ | 'morph'
4514
+ | 'morphTestnet'
4515
+ | 'morphHolesky'
4516
+ | 'ultra'
4517
+ | 'ultraTestnet'
4518
+ | 'nitrograph'
4519
+ | 'sepolia'
4520
+ | 'optimism_sepolia'
4521
+ | 'arbitrumSepolia'
4522
+ | 'goerli'
4523
+ | 'optimism_goerli'
4524
+ | 'arbitrumGoerli'
4525
+ | 'basecamp';
4526
+
4527
+ /**
4528
+ * Indicates if only in-range liquidity is rewarded.
4529
+ */
4530
+ onlyRewardInRangeLiquidity?: boolean;
4531
+
4532
+ /**
4533
+ * Array of liquidity pools associated with the rule.
4534
+ */
4535
+ pools?: Array<Liquidity.Pool>;
4536
+
4537
+ /**
4538
+ * Protocol of the liquidity pool.
4539
+ */
4540
+ protocol?: string;
4541
+ }
4542
+
4543
+ export namespace Liquidity {
4544
+ export interface Pool {
4545
+ /**
4546
+ * Unique identifier of the liquidity pool.
4547
+ */
4548
+ id: string;
4549
+ }
4550
+ }
4551
+
2528
4552
  export interface Range {
2529
4553
  /**
2530
4554
  * Reward amount for this range.
@@ -2540,6 +4564,16 @@ export namespace RuleCreateParams {
2540
4564
  * Start value of the range.
2541
4565
  */
2542
4566
  startRange: number;
4567
+
4568
+ /**
4569
+ * ID of the loyalty badge for this range.
4570
+ */
4571
+ loyaltyBadgeId?: string;
4572
+
4573
+ /**
4574
+ * Amount of the loyalty multiplier for this range.
4575
+ */
4576
+ loyaltyMultiplierAmount?: number;
2543
4577
  }
2544
4578
 
2545
4579
  /**
@@ -2592,20 +4626,15 @@ export namespace RuleCreateParams {
2592
4626
  * Object containing details of the associated smart contract.
2593
4627
  */
2594
4628
  export interface SmartContract {
2595
- /**
2596
- * ABI of the smart contract.
2597
- */
2598
- abi?: string | null;
2599
-
2600
4629
  /**
2601
4630
  * Mapping of addresses for the smart contract.
2602
4631
  */
2603
4632
  addressMapping?: string | null;
2604
4633
 
2605
4634
  /**
2606
- * Array of bonus details applied to the rule.
4635
+ * Object containing details of the amount multiplier from the event.
2607
4636
  */
2608
- bonus?: Array<SmartContract.Bonus> | null;
4637
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2609
4638
 
2610
4639
  /**
2611
4640
  * ID of the smart contract.
@@ -2617,68 +4646,31 @@ export namespace RuleCreateParams {
2617
4646
  */
2618
4647
  criteria?: 'everyEvent' | 'byParameter' | null;
2619
4648
 
2620
- /**
2621
- * Time range applied to the rule.
2622
- */
2623
- customRange?: SmartContract.CustomRange | null;
2624
-
2625
4649
  /**
2626
4650
  * Event emitted by the smart contract.
2627
4651
  */
2628
4652
  event?: string | null;
2629
4653
 
2630
- /**
2631
- * Maximum value allowed for the parameter.
2632
- */
2633
- max?: number | null;
2634
-
2635
4654
  /**
2636
4655
  * Array of parameters for the smart contract.
2637
4656
  */
2638
4657
  params?: Array<SmartContract.Param> | null;
2639
4658
 
2640
4659
  /**
2641
- * Flag indicating if a bonus is applied.
4660
+ * Type of the smart contract interaction.
2642
4661
  */
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.
2652
- */
2653
- withMax?: boolean | null;
4662
+ type?: 'function' | 'event' | null;
2654
4663
  }
2655
4664
 
2656
4665
  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
4666
  /**
2670
- * Time range applied to the rule.
4667
+ * Object containing details of the amount multiplier from the event.
2671
4668
  */
2672
- export interface CustomRange {
2673
- /**
2674
- * End time of the custom range.
2675
- */
2676
- endsAt?: string | null;
2677
-
4669
+ export interface AmountMultiplier {
2678
4670
  /**
2679
- * Start time of the custom range.
4671
+ * Mapping of the value for the smart contract.
2680
4672
  */
2681
- startsAt?: string | null;
4673
+ valueMapping?: string | null;
2682
4674
  }
2683
4675
 
2684
4676
  export interface Param {
@@ -2722,6 +4714,33 @@ export namespace RuleCreateParams {
2722
4714
  */
2723
4715
  streakMilestone: number;
2724
4716
  }
4717
+
4718
+ /**
4719
+ * Metadata for swap loyalty rules
4720
+ */
4721
+ export interface Swap {
4722
+ provider?: 'any' | 'relay' | 'lifi';
4723
+
4724
+ relayReferrerId?: string;
4725
+
4726
+ requireCrossChainSwap?: boolean;
4727
+
4728
+ swappedToChain?: 'any' | number | string;
4729
+
4730
+ swappedToTokens?: Array<Swap.SwappedToToken>;
4731
+
4732
+ tokenMode?: 'any' | 'specific';
4733
+
4734
+ trackTokenAmount?: boolean;
4735
+ }
4736
+
4737
+ export namespace Swap {
4738
+ export interface SwappedToToken {
4739
+ address: string;
4740
+
4741
+ chainId: string;
4742
+ }
4743
+ }
2725
4744
  }
2726
4745
 
2727
4746
  export interface Collection {
@@ -2734,39 +4753,58 @@ export namespace RuleCreateParams {
2734
4753
  * Blockchain network for the collection
2735
4754
  */
2736
4755
  network:
2737
- | 'mainnet'
2738
- | 'polygon'
2739
- | 'polygon_mumbai'
2740
- | 'optimism'
4756
+ | 'abstract'
4757
+ | 'abstractTestnet'
4758
+ | 'apechain'
2741
4759
  | 'arbitrum'
2742
- | 'binance'
2743
- | 'bscTestnet'
2744
4760
  | 'avalanche'
2745
4761
  | 'avalancheFuji'
2746
- | 'zksync'
2747
- | 'fantom'
2748
- | 'fantomTestnet'
2749
4762
  | 'base'
2750
4763
  | 'baseSepolia'
2751
- | 'skaleNebula'
2752
- | 'xai'
4764
+ | 'berachain'
2753
4765
  | 'berachainArtio'
2754
- | 'solana'
2755
- | 'apechain'
2756
- | 'flowMainnet'
4766
+ | 'berachainBepolia'
4767
+ | 'binance'
4768
+ | 'bscTestnet'
2757
4769
  | 'campTestnet'
4770
+ | 'fantom'
4771
+ | 'fantomTestnet'
4772
+ | 'flowMainnet'
4773
+ | 'mainnet'
4774
+ | 'nexusTestnet'
4775
+ | 'optimism'
4776
+ | 'polygon'
4777
+ | 'polygon_mumbai'
4778
+ | 'skaleNebula'
4779
+ | 'solana'
4780
+ | 'sophon'
4781
+ | 'sophonTestnet'
2758
4782
  | 'sui'
2759
- | 'vanar'
2760
4783
  | 'superseed'
2761
4784
  | 'superseedSepolia'
4785
+ | 'vanar'
4786
+ | 'xai'
4787
+ | 'zksync'
4788
+ | 'coti'
4789
+ | 'cotiTestnet'
4790
+ | 'morph'
4791
+ | 'morphTestnet'
4792
+ | 'morphHolesky'
4793
+ | 'ultra'
4794
+ | 'ultraTestnet'
4795
+ | 'nitrograph'
2762
4796
  | 'sepolia'
2763
4797
  | 'optimism_sepolia'
2764
4798
  | 'arbitrumSepolia'
2765
4799
  | 'goerli'
2766
4800
  | 'optimism_goerli'
2767
4801
  | 'arbitrumGoerli'
2768
- | 'basecamp'
2769
- | 'abstract';
4802
+ | 'basecamp';
4803
+
4804
+ /**
4805
+ * Symbol of the collection.
4806
+ */
4807
+ symbol?: string;
2770
4808
  }
2771
4809
  }
2772
4810
 
@@ -2821,6 +4859,11 @@ export interface RuleUpdateParams {
2821
4859
  */
2822
4860
  effectiveStartTime?: string | null;
2823
4861
 
4862
+ /**
4863
+ * ID of the external integration
4864
+ */
4865
+ externalIntegrationId?: string | null;
4866
+
2824
4867
  /**
2825
4868
  * Frequency of the rule execution
2826
4869
  */
@@ -2834,7 +4877,7 @@ export interface RuleUpdateParams {
2834
4877
  /**
2835
4878
  * Time interval for recurring rule execution
2836
4879
  */
2837
- interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | null;
4880
+ interval?: 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2838
4881
 
2839
4882
  /**
2840
4883
  * Whether this rule is required for participation
@@ -2846,6 +4889,23 @@ export interface RuleUpdateParams {
2846
4889
  */
2847
4890
  loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
2848
4891
 
4892
+ /**
4893
+ * The interval for the max amount. Available for the smart contract and external
4894
+ * rules.
4895
+ */
4896
+ maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
4897
+
4898
+ /**
4899
+ * The maximum amount of points a user can earn per interval. Available for the
4900
+ * smart contract and external rules.
4901
+ */
4902
+ maxAmountPerInterval?: number | null;
4903
+
4904
+ /**
4905
+ * URL of the media to be displayed
4906
+ */
4907
+ mediaUrl?: string | null;
4908
+
2849
4909
  /**
2850
4910
  * Additional metadata for the loyalty rule
2851
4911
  */
@@ -2855,39 +4915,53 @@ export interface RuleUpdateParams {
2855
4915
  * Blockchain network where the rule will apply
2856
4916
  */
2857
4917
  network?:
2858
- | 'mainnet'
2859
- | 'polygon'
2860
- | 'polygon_mumbai'
2861
- | 'optimism'
4918
+ | 'abstract'
4919
+ | 'abstractTestnet'
4920
+ | 'apechain'
2862
4921
  | 'arbitrum'
2863
- | 'binance'
2864
- | 'bscTestnet'
2865
4922
  | 'avalanche'
2866
4923
  | 'avalancheFuji'
2867
- | 'zksync'
2868
- | 'fantom'
2869
- | 'fantomTestnet'
2870
4924
  | 'base'
2871
4925
  | 'baseSepolia'
2872
- | 'skaleNebula'
2873
- | 'xai'
4926
+ | 'berachain'
2874
4927
  | 'berachainArtio'
2875
- | 'solana'
2876
- | 'apechain'
2877
- | 'flowMainnet'
4928
+ | 'berachainBepolia'
4929
+ | 'binance'
4930
+ | 'bscTestnet'
2878
4931
  | 'campTestnet'
4932
+ | 'fantom'
4933
+ | 'fantomTestnet'
4934
+ | 'flowMainnet'
4935
+ | 'mainnet'
4936
+ | 'nexusTestnet'
4937
+ | 'optimism'
4938
+ | 'polygon'
4939
+ | 'polygon_mumbai'
4940
+ | 'skaleNebula'
4941
+ | 'solana'
4942
+ | 'sophon'
4943
+ | 'sophonTestnet'
2879
4944
  | 'sui'
2880
- | 'vanar'
2881
4945
  | 'superseed'
2882
4946
  | 'superseedSepolia'
4947
+ | 'vanar'
4948
+ | 'xai'
4949
+ | 'zksync'
4950
+ | 'coti'
4951
+ | 'cotiTestnet'
4952
+ | 'morph'
4953
+ | 'morphTestnet'
4954
+ | 'morphHolesky'
4955
+ | 'ultra'
4956
+ | 'ultraTestnet'
4957
+ | 'nitrograph'
2883
4958
  | 'sepolia'
2884
4959
  | 'optimism_sepolia'
2885
4960
  | 'arbitrumSepolia'
2886
4961
  | 'goerli'
2887
4962
  | 'optimism_goerli'
2888
4963
  | 'arbitrumGoerli'
2889
- | 'basecamp'
2890
- | 'abstract';
4964
+ | 'basecamp';
2891
4965
 
2892
4966
  /**
2893
4967
  * ID for associated OAuth credentials
@@ -2897,7 +4971,17 @@ export interface RuleUpdateParams {
2897
4971
  /**
2898
4972
  * Type of reward issued by this rule
2899
4973
  */
2900
- rewardType?: 'points' | 'multiplier';
4974
+ rewardType?: 'points' | 'multiplier' | 'badge';
4975
+
4976
+ /**
4977
+ * URL of the Shopify store
4978
+ */
4979
+ shopifyStoreUrl?: string | null;
4980
+
4981
+ /**
4982
+ * Whether to show this rule before the start time
4983
+ */
4984
+ showBeforeStart?: boolean;
2901
4985
 
2902
4986
  /**
2903
4987
  * Start time for the loyalty rule
@@ -2905,9 +4989,9 @@ export interface RuleUpdateParams {
2905
4989
  startTime?: string | null;
2906
4990
 
2907
4991
  /**
2908
- * Optional subscription identifier for the rule
4992
+ * Optional subscription id for the rule
2909
4993
  */
2910
- subscriptionIdentifier?: string | null;
4994
+ subscriptionId?: string | null;
2911
4995
  }
2912
4996
 
2913
4997
  export namespace RuleUpdateParams {
@@ -2921,45 +5005,69 @@ export namespace RuleUpdateParams {
2921
5005
  * Blockchain network for the collection
2922
5006
  */
2923
5007
  network:
2924
- | 'mainnet'
2925
- | 'polygon'
2926
- | 'polygon_mumbai'
2927
- | 'optimism'
5008
+ | 'abstract'
5009
+ | 'abstractTestnet'
5010
+ | 'apechain'
2928
5011
  | 'arbitrum'
2929
- | 'binance'
2930
- | 'bscTestnet'
2931
5012
  | 'avalanche'
2932
5013
  | 'avalancheFuji'
2933
- | 'zksync'
2934
- | 'fantom'
2935
- | 'fantomTestnet'
2936
5014
  | 'base'
2937
5015
  | 'baseSepolia'
2938
- | 'skaleNebula'
2939
- | 'xai'
5016
+ | 'berachain'
2940
5017
  | 'berachainArtio'
2941
- | 'solana'
2942
- | 'apechain'
2943
- | 'flowMainnet'
5018
+ | 'berachainBepolia'
5019
+ | 'binance'
5020
+ | 'bscTestnet'
2944
5021
  | 'campTestnet'
5022
+ | 'fantom'
5023
+ | 'fantomTestnet'
5024
+ | 'flowMainnet'
5025
+ | 'mainnet'
5026
+ | 'nexusTestnet'
5027
+ | 'optimism'
5028
+ | 'polygon'
5029
+ | 'polygon_mumbai'
5030
+ | 'skaleNebula'
5031
+ | 'solana'
5032
+ | 'sophon'
5033
+ | 'sophonTestnet'
2945
5034
  | 'sui'
2946
- | 'vanar'
2947
5035
  | 'superseed'
2948
5036
  | 'superseedSepolia'
5037
+ | 'vanar'
5038
+ | 'xai'
5039
+ | 'zksync'
5040
+ | 'coti'
5041
+ | 'cotiTestnet'
5042
+ | 'morph'
5043
+ | 'morphTestnet'
5044
+ | 'morphHolesky'
5045
+ | 'ultra'
5046
+ | 'ultraTestnet'
5047
+ | 'nitrograph'
2949
5048
  | 'sepolia'
2950
5049
  | 'optimism_sepolia'
2951
5050
  | 'arbitrumSepolia'
2952
5051
  | 'goerli'
2953
5052
  | 'optimism_goerli'
2954
5053
  | 'arbitrumGoerli'
2955
- | 'basecamp'
2956
- | 'abstract';
5054
+ | 'basecamp';
5055
+
5056
+ /**
5057
+ * Symbol of the collection.
5058
+ */
5059
+ symbol?: string;
2957
5060
  }
2958
5061
 
2959
5062
  /**
2960
5063
  * Additional metadata for the loyalty rule
2961
5064
  */
2962
5065
  export interface Metadata {
5066
+ /**
5067
+ * Number of tokens per batch.
5068
+ */
5069
+ batchSize?: number | null;
5070
+
2963
5071
  /**
2964
5072
  * Text displayed on the action button.
2965
5073
  */
@@ -2983,13 +5091,23 @@ export namespace RuleUpdateParams {
2983
5091
  /**
2984
5092
  * Text to check in the Twitter post, username, or bio.
2985
5093
  */
2986
- checkText?: string | null;
5094
+ checkText?: string | Array<string> | null;
2987
5095
 
2988
5096
  /**
2989
5097
  * Array of collections associated with the rule.
2990
5098
  */
2991
5099
  collection?: Array<Metadata.Collection>;
2992
5100
 
5101
+ /**
5102
+ * Conditions for completing the profile.
5103
+ */
5104
+ completeProfileConditions?: { [key: string]: boolean } | null;
5105
+
5106
+ /**
5107
+ * Description of the external rule condition (only for external rules)
5108
+ */
5109
+ conditionDescription?: string;
5110
+
2993
5111
  /**
2994
5112
  * Object containing details for the call-to-action.
2995
5113
  */
@@ -3000,6 +5118,11 @@ export namespace RuleUpdateParams {
3000
5118
  */
3001
5119
  customRewardsApiKey?: string;
3002
5120
 
5121
+ /**
5122
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
5123
+ */
5124
+ directRpc?: boolean;
5125
+
3003
5126
  /**
3004
5127
  * Array of Discord servers, channels, and roles to join.
3005
5128
  */
@@ -3025,11 +5148,21 @@ export namespace RuleUpdateParams {
3025
5148
  */
3026
5149
  enableVerifiedMultiplier?: boolean;
3027
5150
 
5151
+ /**
5152
+ * Fill source of the order for the token sale
5153
+ */
5154
+ fillSource?: string;
5155
+
3028
5156
  /**
3029
5157
  * Percentage reward given to a user for their first referral.
3030
5158
  */
3031
5159
  firstReferralReward?: number | null;
3032
5160
 
5161
+ /**
5162
+ * Flag indicating whether the fill source is included.
5163
+ */
5164
+ hasFillSource?: boolean;
5165
+
3033
5166
  /**
3034
5167
  * Indicates if the item has never been sold.
3035
5168
  */
@@ -3055,11 +5188,21 @@ export namespace RuleUpdateParams {
3055
5188
  */
3056
5189
  imageUrl?: string | null;
3057
5190
 
5191
+ /**
5192
+ * If enabled, the first transaction done on the platform will complete this rule
5193
+ */
5194
+ isCheckInOnEveryTxn?: boolean;
5195
+
3058
5196
  /**
3059
5197
  * Indicates if the multiplier has been applied to rewards.
3060
5198
  */
3061
5199
  isMultiplierApplied?: boolean;
3062
5200
 
5201
+ /**
5202
+ * Flag indicating if the rule is restricted to new users.
5203
+ */
5204
+ isRestrictedToNewUsers?: boolean;
5205
+
3063
5206
  /**
3064
5207
  * Flag indicating if rewards are applied retroactively.
3065
5208
  */
@@ -3075,6 +5218,11 @@ export namespace RuleUpdateParams {
3075
5218
  */
3076
5219
  link?: string | null;
3077
5220
 
5221
+ /**
5222
+ * Liquidity pool details.
5223
+ */
5224
+ liquidity?: Metadata.Liquidity;
5225
+
3078
5226
  /**
3079
5227
  * Maximum quantity constraint for token holding.
3080
5228
  */
@@ -3120,6 +5268,21 @@ export namespace RuleUpdateParams {
3120
5268
  */
3121
5269
  promoCode?: string;
3122
5270
 
5271
+ /**
5272
+ * URL of the CSV file containing promo codes.
5273
+ */
5274
+ promoCodeCsvUrl?: string;
5275
+
5276
+ /**
5277
+ * Numbers of the promotional code to be generated.
5278
+ */
5279
+ promoCodeLength?: number | null;
5280
+
5281
+ /**
5282
+ * Type of the promotional code.
5283
+ */
5284
+ promoCodeType?: 'code' | 'csv' | 'generate';
5285
+
3123
5286
  /**
3124
5287
  * Array defining ranges and corresponding rewards.
3125
5288
  */
@@ -3135,11 +5298,57 @@ export namespace RuleUpdateParams {
3135
5298
  */
3136
5299
  referrerReward?: number | null;
3137
5300
 
5301
+ /**
5302
+ * Loyalty currency ID of the referrer reward.
5303
+ */
5304
+ referrerRewardLoyaltyCurrencyId?: string | null;
5305
+
5306
+ /**
5307
+ * Flag indicating if the post link is required.
5308
+ */
5309
+ requirePostLink?: boolean | null;
5310
+
5311
+ /**
5312
+ * Flag indicating if media metadata is required.
5313
+ */
5314
+ requirePostMediaLink?: boolean | null;
5315
+
5316
+ /**
5317
+ * Flag indicating if the rule can also reward badges per range.
5318
+ */
5319
+ rewardBadgePerRange?: boolean;
5320
+
5321
+ /**
5322
+ * Flag indicating if the reward is rewarded by batch.
5323
+ */
5324
+ rewardByBatch?: boolean | null;
5325
+
5326
+ /**
5327
+ * Flag indicating if the reward is rewarded per action.
5328
+ */
5329
+ rewardPerAction?: boolean | null;
5330
+
3138
5331
  /**
3139
5332
  * Flag indicating if rewards are given per impression.
3140
5333
  */
3141
5334
  rewardPerImpression?: boolean | null;
3142
5335
 
5336
+ /**
5337
+ * Flag indicating if the rule should reward based on value of traded tokens
5338
+ * instead of count.
5339
+ */
5340
+ rewardPerValue?: boolean;
5341
+
5342
+ /**
5343
+ * Wallet address of the user can only be used if userId is not provided
5344
+ */
5345
+ royaltyAddress?: string;
5346
+
5347
+ /**
5348
+ * Royalty percentage of the item.
5349
+ */
5350
+ royaltyPercentage?: number;
5351
+
3143
5352
  /**
3144
5353
  * Currency associated with sales.
3145
5354
  */
@@ -3179,6 +5388,7 @@ export namespace RuleUpdateParams {
3179
5388
  | 'Twitch'
3180
5389
  | 'X(Twitter)'
3181
5390
  | 'YouTube'
5391
+ | 'Google'
3182
5392
  | null;
3183
5393
 
3184
5394
  /**
@@ -3191,11 +5401,21 @@ export namespace RuleUpdateParams {
3191
5401
  */
3192
5402
  socialPlatformName?: string | null;
3193
5403
 
5404
+ /**
5405
+ * ID of the Steam app.
5406
+ */
5407
+ steamAppId?: string | null;
5408
+
3194
5409
  /**
3195
5410
  * Array of streak milestones and corresponding rewards.
3196
5411
  */
3197
5412
  streakArray?: Array<Metadata.StreakArray> | null;
3198
5413
 
5414
+ /**
5415
+ * Metadata for swap loyalty rules
5416
+ */
5417
+ swap?: Metadata.Swap;
5418
+
3199
5419
  /**
3200
5420
  * ID of the Telegram channel.
3201
5421
  */
@@ -3211,6 +5431,12 @@ export namespace RuleUpdateParams {
3211
5431
  */
3212
5432
  trackAllContracts?: boolean | null;
3213
5433
 
5434
+ /**
5435
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
5436
+ * completed once the progress is 100%.
5437
+ */
5438
+ trackProgress?: boolean | null;
5439
+
3214
5440
  /**
3215
5441
  * URL of the associated Twitter account.
3216
5442
  */
@@ -3254,7 +5480,17 @@ export namespace RuleUpdateParams {
3254
5480
  /**
3255
5481
  * Type of wallet associated with the rule.
3256
5482
  */
3257
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
5483
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
5484
+
5485
+ /**
5486
+ * ID of the Youtube channel.
5487
+ */
5488
+ youtubeChannelId?: string | null;
5489
+
5490
+ /**
5491
+ * ID of the Youtube video.
5492
+ */
5493
+ youtubeVideoId?: string | null;
3258
5494
  }
3259
5495
 
3260
5496
  export namespace Metadata {
@@ -3273,39 +5509,53 @@ export namespace RuleUpdateParams {
3273
5509
  * Blockchain network of the collection.
3274
5510
  */
3275
5511
  network?:
3276
- | 'mainnet'
3277
- | 'polygon'
3278
- | 'polygon_mumbai'
3279
- | 'optimism'
5512
+ | 'abstract'
5513
+ | 'abstractTestnet'
5514
+ | 'apechain'
3280
5515
  | 'arbitrum'
3281
- | 'binance'
3282
- | 'bscTestnet'
3283
5516
  | 'avalanche'
3284
5517
  | 'avalancheFuji'
3285
- | 'zksync'
3286
- | 'fantom'
3287
- | 'fantomTestnet'
3288
5518
  | 'base'
3289
5519
  | 'baseSepolia'
3290
- | 'skaleNebula'
3291
- | 'xai'
5520
+ | 'berachain'
3292
5521
  | 'berachainArtio'
3293
- | 'solana'
3294
- | 'apechain'
3295
- | 'flowMainnet'
5522
+ | 'berachainBepolia'
5523
+ | 'binance'
5524
+ | 'bscTestnet'
3296
5525
  | 'campTestnet'
5526
+ | 'fantom'
5527
+ | 'fantomTestnet'
5528
+ | 'flowMainnet'
5529
+ | 'mainnet'
5530
+ | 'nexusTestnet'
5531
+ | 'optimism'
5532
+ | 'polygon'
5533
+ | 'polygon_mumbai'
5534
+ | 'skaleNebula'
5535
+ | 'solana'
5536
+ | 'sophon'
5537
+ | 'sophonTestnet'
3297
5538
  | 'sui'
3298
- | 'vanar'
3299
5539
  | 'superseed'
3300
5540
  | 'superseedSepolia'
5541
+ | 'vanar'
5542
+ | 'xai'
5543
+ | 'zksync'
5544
+ | 'coti'
5545
+ | 'cotiTestnet'
5546
+ | 'morph'
5547
+ | 'morphTestnet'
5548
+ | 'morphHolesky'
5549
+ | 'ultra'
5550
+ | 'ultraTestnet'
5551
+ | 'nitrograph'
3301
5552
  | 'sepolia'
3302
5553
  | 'optimism_sepolia'
3303
5554
  | 'arbitrumSepolia'
3304
5555
  | 'goerli'
3305
5556
  | 'optimism_goerli'
3306
5557
  | 'arbitrumGoerli'
3307
- | 'basecamp'
3308
- | 'abstract';
5558
+ | 'basecamp';
3309
5559
  }
3310
5560
 
3311
5561
  /**
@@ -3382,6 +5632,104 @@ export namespace RuleUpdateParams {
3382
5632
  id: string;
3383
5633
  }
3384
5634
 
5635
+ /**
5636
+ * Liquidity pool details.
5637
+ */
5638
+ export interface Liquidity {
5639
+ /**
5640
+ * Calculation type of the liquidity pool.
5641
+ */
5642
+ calculationType?: 'fixed' | 'custom';
5643
+
5644
+ /**
5645
+ * Custom function to calculate the the reward amount based on the liquidity
5646
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
5647
+ * USD.
5648
+ */
5649
+ customFunction?: string;
5650
+
5651
+ /**
5652
+ * Liquidity provided per day in USD
5653
+ */
5654
+ liquidityPerDay?: number;
5655
+
5656
+ /**
5657
+ * Blockchain network of the liquidity pool.
5658
+ */
5659
+ network?:
5660
+ | 'abstract'
5661
+ | 'abstractTestnet'
5662
+ | 'apechain'
5663
+ | 'arbitrum'
5664
+ | 'avalanche'
5665
+ | 'avalancheFuji'
5666
+ | 'base'
5667
+ | 'baseSepolia'
5668
+ | 'berachain'
5669
+ | 'berachainArtio'
5670
+ | 'berachainBepolia'
5671
+ | 'binance'
5672
+ | 'bscTestnet'
5673
+ | 'campTestnet'
5674
+ | 'fantom'
5675
+ | 'fantomTestnet'
5676
+ | 'flowMainnet'
5677
+ | 'mainnet'
5678
+ | 'nexusTestnet'
5679
+ | 'optimism'
5680
+ | 'polygon'
5681
+ | 'polygon_mumbai'
5682
+ | 'skaleNebula'
5683
+ | 'solana'
5684
+ | 'sophon'
5685
+ | 'sophonTestnet'
5686
+ | 'sui'
5687
+ | 'superseed'
5688
+ | 'superseedSepolia'
5689
+ | 'vanar'
5690
+ | 'xai'
5691
+ | 'zksync'
5692
+ | 'coti'
5693
+ | 'cotiTestnet'
5694
+ | 'morph'
5695
+ | 'morphTestnet'
5696
+ | 'morphHolesky'
5697
+ | 'ultra'
5698
+ | 'ultraTestnet'
5699
+ | 'nitrograph'
5700
+ | 'sepolia'
5701
+ | 'optimism_sepolia'
5702
+ | 'arbitrumSepolia'
5703
+ | 'goerli'
5704
+ | 'optimism_goerli'
5705
+ | 'arbitrumGoerli'
5706
+ | 'basecamp';
5707
+
5708
+ /**
5709
+ * Indicates if only in-range liquidity is rewarded.
5710
+ */
5711
+ onlyRewardInRangeLiquidity?: boolean;
5712
+
5713
+ /**
5714
+ * Array of liquidity pools associated with the rule.
5715
+ */
5716
+ pools?: Array<Liquidity.Pool>;
5717
+
5718
+ /**
5719
+ * Protocol of the liquidity pool.
5720
+ */
5721
+ protocol?: string;
5722
+ }
5723
+
5724
+ export namespace Liquidity {
5725
+ export interface Pool {
5726
+ /**
5727
+ * Unique identifier of the liquidity pool.
5728
+ */
5729
+ id: string;
5730
+ }
5731
+ }
5732
+
3385
5733
  export interface Range {
3386
5734
  /**
3387
5735
  * Reward amount for this range.
@@ -3397,6 +5745,16 @@ export namespace RuleUpdateParams {
3397
5745
  * Start value of the range.
3398
5746
  */
3399
5747
  startRange: number;
5748
+
5749
+ /**
5750
+ * ID of the loyalty badge for this range.
5751
+ */
5752
+ loyaltyBadgeId?: string;
5753
+
5754
+ /**
5755
+ * Amount of the loyalty multiplier for this range.
5756
+ */
5757
+ loyaltyMultiplierAmount?: number;
3400
5758
  }
3401
5759
 
3402
5760
  /**
@@ -3449,20 +5807,15 @@ export namespace RuleUpdateParams {
3449
5807
  * Object containing details of the associated smart contract.
3450
5808
  */
3451
5809
  export interface SmartContract {
3452
- /**
3453
- * ABI of the smart contract.
3454
- */
3455
- abi?: string | null;
3456
-
3457
5810
  /**
3458
5811
  * Mapping of addresses for the smart contract.
3459
5812
  */
3460
5813
  addressMapping?: string | null;
3461
5814
 
3462
5815
  /**
3463
- * Array of bonus details applied to the rule.
5816
+ * Object containing details of the amount multiplier from the event.
3464
5817
  */
3465
- bonus?: Array<SmartContract.Bonus> | null;
5818
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
3466
5819
 
3467
5820
  /**
3468
5821
  * ID of the smart contract.
@@ -3474,68 +5827,31 @@ export namespace RuleUpdateParams {
3474
5827
  */
3475
5828
  criteria?: 'everyEvent' | 'byParameter' | null;
3476
5829
 
3477
- /**
3478
- * Time range applied to the rule.
3479
- */
3480
- customRange?: SmartContract.CustomRange | null;
3481
-
3482
5830
  /**
3483
5831
  * Event emitted by the smart contract.
3484
5832
  */
3485
5833
  event?: string | null;
3486
5834
 
3487
- /**
3488
- * Maximum value allowed for the parameter.
3489
- */
3490
- max?: number | null;
3491
-
3492
5835
  /**
3493
5836
  * Array of parameters for the smart contract.
3494
5837
  */
3495
5838
  params?: Array<SmartContract.Param> | null;
3496
5839
 
3497
5840
  /**
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.
5841
+ * Type of the smart contract interaction.
3509
5842
  */
3510
- withMax?: boolean | null;
5843
+ type?: 'function' | 'event' | null;
3511
5844
  }
3512
5845
 
3513
5846
  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
5847
  /**
3527
- * Time range applied to the rule.
5848
+ * Object containing details of the amount multiplier from the event.
3528
5849
  */
3529
- export interface CustomRange {
5850
+ export interface AmountMultiplier {
3530
5851
  /**
3531
- * End time of the custom range.
5852
+ * Mapping of the value for the smart contract.
3532
5853
  */
3533
- endsAt?: string | null;
3534
-
3535
- /**
3536
- * Start time of the custom range.
3537
- */
3538
- startsAt?: string | null;
5854
+ valueMapping?: string | null;
3539
5855
  }
3540
5856
 
3541
5857
  export interface Param {
@@ -3579,17 +5895,71 @@ export namespace RuleUpdateParams {
3579
5895
  */
3580
5896
  streakMilestone: number;
3581
5897
  }
5898
+
5899
+ /**
5900
+ * Metadata for swap loyalty rules
5901
+ */
5902
+ export interface Swap {
5903
+ provider?: 'any' | 'relay' | 'lifi';
5904
+
5905
+ relayReferrerId?: string;
5906
+
5907
+ requireCrossChainSwap?: boolean;
5908
+
5909
+ swappedToChain?: 'any' | number | string;
5910
+
5911
+ swappedToTokens?: Array<Swap.SwappedToToken>;
5912
+
5913
+ tokenMode?: 'any' | 'specific';
5914
+
5915
+ trackTokenAmount?: boolean;
5916
+ }
5917
+
5918
+ export namespace Swap {
5919
+ export interface SwappedToToken {
5920
+ address: string;
5921
+
5922
+ chainId: string;
5923
+ }
5924
+ }
3582
5925
  }
3583
5926
  }
3584
5927
 
3585
5928
  export interface RuleListParams {
5929
+ /**
5930
+ * IDs of the users to filter results by
5931
+ */
5932
+ allotedToUserId?: string | Array<string>;
5933
+
5934
+ /**
5935
+ * ID of the user group to filter results by
5936
+ */
5937
+ allotedUserGroupId?: string;
5938
+
3586
5939
  /**
3587
5940
  * Address of the collection to filter by
3588
5941
  */
3589
5942
  collectionAddress?: string;
3590
5943
 
3591
5944
  /**
3592
- * Maximum number of records to return (max 1000)
5945
+ * If true this will only return loyalty rule chains
5946
+ */
5947
+ includeLoyaltyRuleChains?: 'true' | 'false';
5948
+
5949
+ /**
5950
+ * If true this will only return active rules, the rules for which the startTime is
5951
+ * in the past and the endTime is in the future
5952
+ */
5953
+ isActive?: 'true' | 'false';
5954
+
5955
+ /**
5956
+ * If true this will only return special rules, special rules are the rules that
5957
+ * are used for anti sybil as honey pot
5958
+ */
5959
+ isSpecial?: 'true' | 'false';
5960
+
5961
+ /**
5962
+ * Maximum number of records to return (max 100)
3593
5963
  */
3594
5964
  limit?: number;
3595
5965
 
@@ -3598,6 +5968,11 @@ export interface RuleListParams {
3598
5968
  */
3599
5969
  loyaltyRuleGroupId?: string;
3600
5970
 
5971
+ /**
5972
+ * The IDs of the loyalty rule
5973
+ */
5974
+ loyaltyRuleId?: string | Array<string>;
5975
+
3601
5976
  /**
3602
5977
  * Unique identifier for the organization to filter by
3603
5978
  */
@@ -3614,17 +5989,40 @@ export interface RuleListParams {
3614
5989
  websiteId?: string;
3615
5990
  }
3616
5991
 
5992
+ export interface RuleDeleteParams {
5993
+ /**
5994
+ * Whether to debit loyalty points
5995
+ */
5996
+ debitLoyaltyPoints?: string;
5997
+ }
5998
+
3617
5999
  export interface RuleCompleteParams {
3618
6000
  /**
3619
- * Link to the comment made by user
6001
+ * Override amount for the reward (rounded to nearest whole number). This will
6002
+ * override the rule amount and reward the integer passed.
6003
+ */
6004
+ amount?: number | null;
6005
+
6006
+ /**
6007
+ * Link to the post/comment made by user
6008
+ */
6009
+ contentUrl?: string;
6010
+
6011
+ /**
6012
+ * Unique key to ensure idempotent requests.
3620
6013
  */
3621
- commentLink?: string;
6014
+ idempotencyKey?: string;
3622
6015
 
3623
6016
  /**
3624
6017
  * ID of the choice selected by the user
3625
6018
  */
3626
6019
  loyaltyQuestionChoiceId?: string;
3627
6020
 
6021
+ /**
6022
+ * Value to compare with the range
6023
+ */
6024
+ rangeValue?: number | null;
6025
+
3628
6026
  /**
3629
6027
  * Unique identifier for the user
3630
6028
  */
@@ -3637,7 +6035,7 @@ export interface RuleCompleteParams {
3637
6035
 
3638
6036
  /**
3639
6037
  * Flag indicating if only verification is required, this will not create a
3640
- * transaction and reward the user
6038
+ * transaction and reward the user.
3641
6039
  */
3642
6040
  verifyOnly?: string;
3643
6041
 
@@ -3648,11 +6046,13 @@ export interface RuleCompleteParams {
3648
6046
  }
3649
6047
 
3650
6048
  export interface RuleGetStatusParams {
3651
- organizationId: string;
3652
-
3653
- websiteId: string;
6049
+ organizationId?: string;
3654
6050
 
3655
6051
  userId?: string;
6052
+
6053
+ walletAddress?: string;
6054
+
6055
+ websiteId?: string;
3656
6056
  }
3657
6057
 
3658
6058
  export declare namespace Rules {
@@ -3666,6 +6066,7 @@ export declare namespace Rules {
3666
6066
  type RuleCreateParams as RuleCreateParams,
3667
6067
  type RuleUpdateParams as RuleUpdateParams,
3668
6068
  type RuleListParams as RuleListParams,
6069
+ type RuleDeleteParams as RuleDeleteParams,
3669
6070
  type RuleCompleteParams as RuleCompleteParams,
3670
6071
  type RuleGetStatusParams as RuleGetStatusParams,
3671
6072
  };