@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
@@ -0,0 +1,2920 @@
1
+ import { APIResource } from "../../resource.js";
2
+ import * as Core from "../../core.js";
3
+ export declare class RuleEdits extends APIResource {
4
+ /**
5
+ * Retrieve configured loyalty rule edits with optional pagination and filters
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const ruleEdits = await client.loyalty.ruleEdits.list({
10
+ * loyaltyRuleId: true,
11
+ * });
12
+ * ```
13
+ */
14
+ list(query: RuleEditListParams, options?: Core.RequestOptions): Core.APIPromise<RuleEditListResponse>;
15
+ /**
16
+ * Restore a loyalty rule from a rule edit
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const response = await client.loyalty.ruleEdits.restore(
21
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
22
+ * );
23
+ * ```
24
+ */
25
+ restore(id: string, body?: RuleEditRestoreParams | null | undefined, options?: Core.RequestOptions): Core.APIPromise<RuleEditRestoreResponse>;
26
+ }
27
+ export interface RuleEditListResponse {
28
+ data: Array<RuleEditListResponse.Data>;
29
+ hasNextPage: boolean;
30
+ }
31
+ export declare namespace RuleEditListResponse {
32
+ interface Data {
33
+ /**
34
+ * Unique identifier for the rule edit
35
+ */
36
+ id: string;
37
+ /**
38
+ * Type of action that was made on the rule
39
+ */
40
+ action: 'create' | 'update' | 'delete' | 'restore';
41
+ /**
42
+ * Data that was changed on the rule
43
+ */
44
+ data: Data.Data;
45
+ /**
46
+ * Timestamp of when the rule edit was made
47
+ */
48
+ editedAt: string;
49
+ /**
50
+ * User ID of the user who made the edit
51
+ */
52
+ editedByUserId: string;
53
+ /**
54
+ * ID of the loyalty rule
55
+ */
56
+ loyaltyRuleId: string;
57
+ /**
58
+ * Unique identifier for the organization
59
+ */
60
+ organizationId: string;
61
+ /**
62
+ * Unique identifier for the website
63
+ */
64
+ websiteId: string;
65
+ /**
66
+ * Comment that was made on the edit
67
+ */
68
+ comment?: string;
69
+ /**
70
+ * Previous data of the rule before the edit
71
+ */
72
+ previousData?: Data.PreviousData;
73
+ }
74
+ namespace Data {
75
+ /**
76
+ * Data that was changed on the rule
77
+ */
78
+ interface Data {
79
+ /**
80
+ * Unique identifier for the loyalty rule
81
+ */
82
+ id: string;
83
+ /**
84
+ * Amount associated with the loyalty rule
85
+ */
86
+ amount: number;
87
+ /**
88
+ * Timestamp when the loyalty rule was created
89
+ */
90
+ createdAt: string;
91
+ /**
92
+ * Timestamp when the loyalty rule was deleted (if applicable)
93
+ */
94
+ deletedAt: string | null;
95
+ /**
96
+ * Description of the loyalty rule
97
+ */
98
+ description: string;
99
+ /**
100
+ * End time of the loyalty rule
101
+ */
102
+ endTime: string;
103
+ /**
104
+ * Frequency of the loyalty rule
105
+ */
106
+ frequency: string;
107
+ /**
108
+ * Name of the loyalty rule
109
+ */
110
+ name: string;
111
+ /**
112
+ * Unique identifier for the organization
113
+ */
114
+ organizationId: string;
115
+ /**
116
+ * Type of the reward
117
+ */
118
+ rewardType: 'points' | 'multiplier' | 'badge';
119
+ /**
120
+ * Start time of the loyalty rule
121
+ */
122
+ startTime: string;
123
+ /**
124
+ * Type of the loyalty rule
125
+ */
126
+ type: string;
127
+ /**
128
+ * Timestamp when the loyalty rule was last updated
129
+ */
130
+ updatedAt: string;
131
+ /**
132
+ * Unique identifier for the website
133
+ */
134
+ websiteId: string;
135
+ /**
136
+ * Optional address of the collection
137
+ */
138
+ collectionAddress?: string;
139
+ /**
140
+ * URL of the media associated with the loyalty rule
141
+ */
142
+ mediaUrl?: string | null;
143
+ /**
144
+ * Optional metadata for the loyalty rule
145
+ */
146
+ metadata?: {
147
+ [key: string]: Data.Metadata;
148
+ };
149
+ }
150
+ namespace Data {
151
+ interface Metadata {
152
+ /**
153
+ * Number of tokens per batch.
154
+ */
155
+ batchSize?: number | null;
156
+ /**
157
+ * Text displayed on the action button.
158
+ */
159
+ buttonText?: string | null;
160
+ /**
161
+ * Flag indicating if commenting is required.
162
+ */
163
+ checkComment?: boolean | null;
164
+ /**
165
+ * Flag indicating if liking the post is required.
166
+ */
167
+ checkLike?: boolean | null;
168
+ /**
169
+ * Flag indicating if reposting is required.
170
+ */
171
+ checkRepost?: boolean | null;
172
+ /**
173
+ * Text to check in the Twitter post, username, or bio.
174
+ */
175
+ checkText?: string | Array<string> | null;
176
+ /**
177
+ * Array of collections associated with the rule.
178
+ */
179
+ collection?: Array<Metadata.Collection>;
180
+ /**
181
+ * Conditions for completing the profile.
182
+ */
183
+ completeProfileConditions?: {
184
+ [key: string]: boolean;
185
+ } | null;
186
+ /**
187
+ * Description of the external rule condition (only for external rules)
188
+ */
189
+ conditionDescription?: string;
190
+ /**
191
+ * Object containing details for the call-to-action.
192
+ */
193
+ cta?: Metadata.Cta | null;
194
+ /**
195
+ * API key for custom rewards integration.
196
+ */
197
+ customRewardsApiKey?: string;
198
+ /**
199
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
200
+ */
201
+ directRpc?: boolean;
202
+ /**
203
+ * Array of Discord servers, channels, and roles to join.
204
+ */
205
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
206
+ /**
207
+ * Array of drip quests required to complete the rule.
208
+ */
209
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
210
+ /**
211
+ * Flag indicating whether joining Discord servers is required.
212
+ */
213
+ enableJoinDiscordServers?: boolean | null;
214
+ /**
215
+ * Flag indicating whether streaks are enabled.
216
+ */
217
+ enableStreaks?: boolean | null;
218
+ /**
219
+ * Flag indicating whether the verified multiplier is enabled.
220
+ */
221
+ enableVerifiedMultiplier?: boolean;
222
+ /**
223
+ * Fill source of the order for the token sale
224
+ */
225
+ fillSource?: string;
226
+ /**
227
+ * Percentage reward given to a user for their first referral.
228
+ */
229
+ firstReferralReward?: number | null;
230
+ /**
231
+ * Flag indicating whether the fill source is included.
232
+ */
233
+ hasFillSource?: boolean;
234
+ /**
235
+ * Indicates if the item has never been sold.
236
+ */
237
+ hasNeverSold?: boolean;
238
+ /**
239
+ * Indicates if the full royalty has been paid for items.
240
+ */
241
+ hasPaidFullRoyalty?: boolean;
242
+ /**
243
+ * Flag indicating if the sale currency is included.
244
+ */
245
+ hasSaleCurrency?: boolean;
246
+ /**
247
+ * Indicates if the user has a verified Twitter account.
248
+ */
249
+ hasVerifiedTwitter?: boolean;
250
+ /**
251
+ * URL of the image associated with the rule.
252
+ */
253
+ imageUrl?: string | null;
254
+ /**
255
+ * If enabled, the first transaction done on the platform will complete this rule
256
+ */
257
+ isCheckInOnEveryTxn?: boolean;
258
+ /**
259
+ * Indicates if the multiplier has been applied to rewards.
260
+ */
261
+ isMultiplierApplied?: boolean;
262
+ /**
263
+ * Flag indicating if the rule is restricted to new users.
264
+ */
265
+ isRestrictedToNewUsers?: boolean;
266
+ /**
267
+ * Flag indicating if rewards are applied retroactively.
268
+ */
269
+ isRetroactive?: boolean | null;
270
+ /**
271
+ * Flag indicating if the token hold multiplier is applied.
272
+ */
273
+ isTokenHoldMultiplier?: boolean;
274
+ /**
275
+ * Optional link associated with the metadata.
276
+ */
277
+ link?: string | null;
278
+ /**
279
+ * Liquidity pool details.
280
+ */
281
+ liquidity?: Metadata.Liquidity;
282
+ /**
283
+ * Maximum quantity constraint for token holding.
284
+ */
285
+ maxQty?: number | null;
286
+ /**
287
+ * Minimum quantity constraint for token holding.
288
+ */
289
+ minQty?: number | null;
290
+ /**
291
+ * Array of loyalty currency IDs used for multipliers.
292
+ */
293
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
294
+ /**
295
+ * Flag indicating whether to include only known users.
296
+ */
297
+ onlyKnownUsers?: boolean;
298
+ /**
299
+ * Flag indicating whether to include only native tokens.
300
+ */
301
+ onlyNative?: boolean;
302
+ /**
303
+ * Flag indicating whether to include only non-listed items.
304
+ */
305
+ onlyNonListed?: boolean;
306
+ /**
307
+ * Indicates if only existing users are rewarded.
308
+ */
309
+ onlyRewardExistingUser?: boolean;
310
+ /**
311
+ * give points for only one token ownership per contract
312
+ */
313
+ onlyRewardSingleTokenOwnership?: boolean | null;
314
+ /**
315
+ * Promotional code associated with the rule.
316
+ */
317
+ promoCode?: string;
318
+ /**
319
+ * URL of the CSV file containing promo codes.
320
+ */
321
+ promoCodeCsvUrl?: string;
322
+ /**
323
+ * Numbers of the promotional code to be generated.
324
+ */
325
+ promoCodeLength?: number | null;
326
+ /**
327
+ * Type of the promotional code.
328
+ */
329
+ promoCodeType?: 'code' | 'csv' | 'generate';
330
+ /**
331
+ * Array defining ranges and corresponding rewards.
332
+ */
333
+ range?: Array<Metadata.Range>;
334
+ /**
335
+ * Object defining referral requirements.
336
+ */
337
+ referralRequirements?: Metadata.ReferralRequirements | null;
338
+ /**
339
+ * Lump sum reward given to a referrer.
340
+ */
341
+ referrerReward?: number | null;
342
+ /**
343
+ * Loyalty currency ID of the referrer reward.
344
+ */
345
+ referrerRewardLoyaltyCurrencyId?: string | null;
346
+ /**
347
+ * Flag indicating if the post link is required.
348
+ */
349
+ requirePostLink?: boolean | null;
350
+ /**
351
+ * Flag indicating if media metadata is required.
352
+ */
353
+ requirePostMediaLink?: boolean | null;
354
+ /**
355
+ * Flag indicating if the rule can also reward badges per range.
356
+ */
357
+ rewardBadgePerRange?: boolean;
358
+ /**
359
+ * Flag indicating if the reward is rewarded by batch.
360
+ */
361
+ rewardByBatch?: boolean | null;
362
+ /**
363
+ * Flag indicating if the reward is rewarded per action.
364
+ */
365
+ rewardPerAction?: boolean | null;
366
+ /**
367
+ * Flag indicating if rewards are given per impression.
368
+ */
369
+ rewardPerImpression?: boolean | null;
370
+ /**
371
+ * Flag indicating if the rule should reward based on value of traded tokens
372
+ * instead of count.
373
+ */
374
+ rewardPerValue?: boolean;
375
+ /**
376
+ * Wallet address of the user can only be used if userId is not provided
377
+ */
378
+ royaltyAddress?: string;
379
+ /**
380
+ * Royalty percentage of the item.
381
+ */
382
+ royaltyPercentage?: number;
383
+ /**
384
+ * Currency associated with sales.
385
+ */
386
+ saleCurrency?: string;
387
+ /**
388
+ * Percentage reward given for a second-level referral.
389
+ */
390
+ secondReferralReward?: number | null;
391
+ /**
392
+ * Flag indicating if the multiplier is skipped.
393
+ */
394
+ skipMultiplier?: boolean | null;
395
+ /**
396
+ * Object containing details of the associated smart contract.
397
+ */
398
+ smartContract?: Metadata.SmartContract;
399
+ /**
400
+ * Array of snapshot proposals for the rule.
401
+ */
402
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
403
+ /**
404
+ * Social media platform associated with the rule.
405
+ */
406
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
407
+ /**
408
+ * URL of the social platform's logo.
409
+ */
410
+ socialPlatformLogo?: string | null;
411
+ /**
412
+ * Name of the social platform.
413
+ */
414
+ socialPlatformName?: string | null;
415
+ /**
416
+ * ID of the Steam app.
417
+ */
418
+ steamAppId?: string | null;
419
+ /**
420
+ * Array of streak milestones and corresponding rewards.
421
+ */
422
+ streakArray?: Array<Metadata.StreakArray> | null;
423
+ /**
424
+ * Metadata for swap loyalty rules
425
+ */
426
+ swap?: Metadata.Swap;
427
+ /**
428
+ * ID of the Telegram channel.
429
+ */
430
+ telegramChannelId?: string | null;
431
+ /**
432
+ * Time delay in seconds to verify actions.
433
+ */
434
+ timeDelayToVerifySeconds?: string | number | null;
435
+ /**
436
+ * Flag indicating if all contracts are tracked.
437
+ */
438
+ trackAllContracts?: boolean | null;
439
+ /**
440
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
441
+ * completed once the progress is 100%.
442
+ */
443
+ trackProgress?: boolean | null;
444
+ /**
445
+ * URL of the associated Twitter account.
446
+ */
447
+ twitterAccountUrl?: string;
448
+ /**
449
+ * Hashtag associated with the Twitter post.
450
+ */
451
+ twitterHashtag?: string;
452
+ /**
453
+ * URL of the associated Twitter post.
454
+ */
455
+ twitterPostUrl?: string;
456
+ /**
457
+ * Unique identifier of the Twitter user.
458
+ */
459
+ twitterUserId?: string;
460
+ /**
461
+ * Twitter username of the user.
462
+ */
463
+ twitterUsername?: string;
464
+ /**
465
+ * Minimum length of the verification text.
466
+ */
467
+ verificationTextMinimumLength?: number | null;
468
+ /**
469
+ * Multiplier applied to rewards for verified users.
470
+ */
471
+ verifiedMultiplier?: number | null;
472
+ /**
473
+ * Placeholder text for verification input fields.
474
+ */
475
+ verifyPlaceHolderText?: string | null;
476
+ /**
477
+ * Type of wallet associated with the rule.
478
+ */
479
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
480
+ /**
481
+ * ID of the Youtube channel.
482
+ */
483
+ youtubeChannelId?: string | null;
484
+ /**
485
+ * ID of the Youtube video.
486
+ */
487
+ youtubeVideoId?: string | null;
488
+ }
489
+ namespace Metadata {
490
+ interface Collection {
491
+ /**
492
+ * Blockchain address of the collection.
493
+ */
494
+ address?: string;
495
+ /**
496
+ * Multiplier applied to the rewards for this collection.
497
+ */
498
+ multiplier?: number;
499
+ /**
500
+ * Blockchain network of the collection.
501
+ */
502
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
503
+ }
504
+ /**
505
+ * Object containing details for the call-to-action.
506
+ */
507
+ interface Cta {
508
+ /**
509
+ * Link for the call-to-action.
510
+ */
511
+ href?: string | null;
512
+ /**
513
+ * Label for the call-to-action.
514
+ */
515
+ label?: string | null;
516
+ }
517
+ interface DiscordServersToJoin {
518
+ /**
519
+ * ID of the Discord server to join.
520
+ */
521
+ id?: string;
522
+ /**
523
+ * Array of Discord channels to join.
524
+ */
525
+ channels?: Array<DiscordServersToJoin.Channel>;
526
+ /**
527
+ * Array of roles to assign in the Discord server.
528
+ */
529
+ roles?: Array<DiscordServersToJoin.Role>;
530
+ }
531
+ namespace DiscordServersToJoin {
532
+ interface Channel {
533
+ /**
534
+ * ID of the Discord channel.
535
+ */
536
+ id?: string;
537
+ /**
538
+ * Array of emojis used in the channel.
539
+ */
540
+ emojis?: Array<Channel.Emoji>;
541
+ /**
542
+ * Phrase of text to be present in the discord message
543
+ */
544
+ text?: string;
545
+ }
546
+ namespace Channel {
547
+ interface Emoji {
548
+ /**
549
+ * ID of the emoji used in the channel.
550
+ */
551
+ id?: string;
552
+ }
553
+ }
554
+ interface Role {
555
+ /**
556
+ * ID of the role in the Discord server.
557
+ */
558
+ id: string;
559
+ }
560
+ }
561
+ interface DripQuestsToComplete {
562
+ /**
563
+ * ID of the drip quest to complete.
564
+ */
565
+ id: string;
566
+ }
567
+ /**
568
+ * Liquidity pool details.
569
+ */
570
+ interface Liquidity {
571
+ /**
572
+ * Calculation type of the liquidity pool.
573
+ */
574
+ calculationType?: 'fixed' | 'custom';
575
+ /**
576
+ * Custom function to calculate the the reward amount based on the liquidity
577
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
578
+ * USD.
579
+ */
580
+ customFunction?: string;
581
+ /**
582
+ * Liquidity provided per day in USD
583
+ */
584
+ liquidityPerDay?: number;
585
+ /**
586
+ * Blockchain network of the liquidity pool.
587
+ */
588
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
589
+ /**
590
+ * Indicates if only in-range liquidity is rewarded.
591
+ */
592
+ onlyRewardInRangeLiquidity?: boolean;
593
+ /**
594
+ * Array of liquidity pools associated with the rule.
595
+ */
596
+ pools?: Array<Liquidity.Pool>;
597
+ /**
598
+ * Protocol of the liquidity pool.
599
+ */
600
+ protocol?: string;
601
+ }
602
+ namespace Liquidity {
603
+ interface Pool {
604
+ /**
605
+ * Unique identifier of the liquidity pool.
606
+ */
607
+ id: string;
608
+ }
609
+ }
610
+ interface Range {
611
+ /**
612
+ * Reward amount for this range.
613
+ */
614
+ amount: number;
615
+ /**
616
+ * End value of the range.
617
+ */
618
+ endRange: number;
619
+ /**
620
+ * Start value of the range.
621
+ */
622
+ startRange: number;
623
+ /**
624
+ * ID of the loyalty badge for this range.
625
+ */
626
+ loyaltyBadgeId?: string;
627
+ /**
628
+ * Amount of the loyalty multiplier for this range.
629
+ */
630
+ loyaltyMultiplierAmount?: number;
631
+ }
632
+ /**
633
+ * Object defining referral requirements.
634
+ */
635
+ interface ReferralRequirements {
636
+ /**
637
+ * Flag indicating if achieving points is required.
638
+ */
639
+ achievePoints?: boolean | null;
640
+ /**
641
+ * Flag indicating if completing the profile is required.
642
+ */
643
+ completeProfile?: boolean | null;
644
+ /**
645
+ * Flag indicating if connecting Discord is required.
646
+ */
647
+ connectDiscord?: boolean | null;
648
+ /**
649
+ * Flag indicating if connecting email is required.
650
+ */
651
+ connectEmail?: boolean | null;
652
+ /**
653
+ * Flag indicating if connecting Twitter is required.
654
+ */
655
+ connectTwitter?: boolean | null;
656
+ points?: ReferralRequirements.Points | null;
657
+ }
658
+ namespace ReferralRequirements {
659
+ interface Points {
660
+ /**
661
+ * Points required for referral.
662
+ */
663
+ amount?: number | null;
664
+ /**
665
+ * ID of the loyalty currency for referral.
666
+ */
667
+ loyaltyCurrecyId?: string | null;
668
+ }
669
+ }
670
+ /**
671
+ * Object containing details of the associated smart contract.
672
+ */
673
+ interface SmartContract {
674
+ /**
675
+ * Mapping of addresses for the smart contract.
676
+ */
677
+ addressMapping?: string | null;
678
+ /**
679
+ * Object containing details of the amount multiplier from the event.
680
+ */
681
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
682
+ /**
683
+ * ID of the smart contract.
684
+ */
685
+ contractId?: string | null;
686
+ /**
687
+ * Criteria to evaluate the smart contract event.
688
+ */
689
+ criteria?: 'everyEvent' | 'byParameter' | null;
690
+ /**
691
+ * Event emitted by the smart contract.
692
+ */
693
+ event?: string | null;
694
+ /**
695
+ * Array of parameters for the smart contract.
696
+ */
697
+ params?: Array<SmartContract.Param> | null;
698
+ /**
699
+ * Type of the smart contract interaction.
700
+ */
701
+ type?: 'function' | 'event' | null;
702
+ }
703
+ namespace SmartContract {
704
+ /**
705
+ * Object containing details of the amount multiplier from the event.
706
+ */
707
+ interface AmountMultiplier {
708
+ /**
709
+ * Mapping of the value for the smart contract.
710
+ */
711
+ valueMapping?: string | null;
712
+ }
713
+ interface Param {
714
+ /**
715
+ * Condition to check for the parameter.
716
+ */
717
+ condition?: string | null;
718
+ /**
719
+ * Name of the smart contract parameter.
720
+ */
721
+ name?: string | null;
722
+ /**
723
+ * Value of the parameter.
724
+ */
725
+ value?: string | null;
726
+ }
727
+ }
728
+ interface SnapshotProposal {
729
+ /**
730
+ * ID of the snapshot proposal.
731
+ */
732
+ id: string;
733
+ /**
734
+ * Space associated with the snapshot proposal.
735
+ */
736
+ space: string;
737
+ }
738
+ interface StreakArray {
739
+ /**
740
+ * Reward amount for achieving the streak milestone.
741
+ */
742
+ streakAmount: number;
743
+ /**
744
+ * Milestone required to achieve the streak.
745
+ */
746
+ streakMilestone: number;
747
+ }
748
+ /**
749
+ * Metadata for swap loyalty rules
750
+ */
751
+ interface Swap {
752
+ provider?: 'any' | 'relay' | 'lifi';
753
+ relayReferrerId?: string;
754
+ requireCrossChainSwap?: boolean;
755
+ swappedToChain?: 'any' | number | string;
756
+ swappedToTokens?: Array<Swap.SwappedToToken>;
757
+ tokenMode?: 'any' | 'specific';
758
+ trackTokenAmount?: boolean;
759
+ }
760
+ namespace Swap {
761
+ interface SwappedToToken {
762
+ address: string;
763
+ chainId: string;
764
+ }
765
+ }
766
+ }
767
+ }
768
+ /**
769
+ * Previous data of the rule before the edit
770
+ */
771
+ interface PreviousData {
772
+ /**
773
+ * Unique identifier for the loyalty rule
774
+ */
775
+ id: string;
776
+ /**
777
+ * Amount associated with the loyalty rule
778
+ */
779
+ amount: number;
780
+ /**
781
+ * Timestamp when the loyalty rule was created
782
+ */
783
+ createdAt: string;
784
+ /**
785
+ * Timestamp when the loyalty rule was deleted (if applicable)
786
+ */
787
+ deletedAt: string | null;
788
+ /**
789
+ * Description of the loyalty rule
790
+ */
791
+ description: string;
792
+ /**
793
+ * End time of the loyalty rule
794
+ */
795
+ endTime: string;
796
+ /**
797
+ * Frequency of the loyalty rule
798
+ */
799
+ frequency: string;
800
+ /**
801
+ * Name of the loyalty rule
802
+ */
803
+ name: string;
804
+ /**
805
+ * Unique identifier for the organization
806
+ */
807
+ organizationId: string;
808
+ /**
809
+ * Type of the reward
810
+ */
811
+ rewardType: 'points' | 'multiplier' | 'badge';
812
+ /**
813
+ * Start time of the loyalty rule
814
+ */
815
+ startTime: string;
816
+ /**
817
+ * Type of the loyalty rule
818
+ */
819
+ type: string;
820
+ /**
821
+ * Timestamp when the loyalty rule was last updated
822
+ */
823
+ updatedAt: string;
824
+ /**
825
+ * Unique identifier for the website
826
+ */
827
+ websiteId: string;
828
+ /**
829
+ * Optional address of the collection
830
+ */
831
+ collectionAddress?: string;
832
+ /**
833
+ * URL of the media associated with the loyalty rule
834
+ */
835
+ mediaUrl?: string | null;
836
+ /**
837
+ * Optional metadata for the loyalty rule
838
+ */
839
+ metadata?: {
840
+ [key: string]: PreviousData.Metadata;
841
+ };
842
+ }
843
+ namespace PreviousData {
844
+ interface Metadata {
845
+ /**
846
+ * Number of tokens per batch.
847
+ */
848
+ batchSize?: number | null;
849
+ /**
850
+ * Text displayed on the action button.
851
+ */
852
+ buttonText?: string | null;
853
+ /**
854
+ * Flag indicating if commenting is required.
855
+ */
856
+ checkComment?: boolean | null;
857
+ /**
858
+ * Flag indicating if liking the post is required.
859
+ */
860
+ checkLike?: boolean | null;
861
+ /**
862
+ * Flag indicating if reposting is required.
863
+ */
864
+ checkRepost?: boolean | null;
865
+ /**
866
+ * Text to check in the Twitter post, username, or bio.
867
+ */
868
+ checkText?: string | Array<string> | null;
869
+ /**
870
+ * Array of collections associated with the rule.
871
+ */
872
+ collection?: Array<Metadata.Collection>;
873
+ /**
874
+ * Conditions for completing the profile.
875
+ */
876
+ completeProfileConditions?: {
877
+ [key: string]: boolean;
878
+ } | null;
879
+ /**
880
+ * Description of the external rule condition (only for external rules)
881
+ */
882
+ conditionDescription?: string;
883
+ /**
884
+ * Object containing details for the call-to-action.
885
+ */
886
+ cta?: Metadata.Cta | null;
887
+ /**
888
+ * API key for custom rewards integration.
889
+ */
890
+ customRewardsApiKey?: string;
891
+ /**
892
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
893
+ */
894
+ directRpc?: boolean;
895
+ /**
896
+ * Array of Discord servers, channels, and roles to join.
897
+ */
898
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
899
+ /**
900
+ * Array of drip quests required to complete the rule.
901
+ */
902
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
903
+ /**
904
+ * Flag indicating whether joining Discord servers is required.
905
+ */
906
+ enableJoinDiscordServers?: boolean | null;
907
+ /**
908
+ * Flag indicating whether streaks are enabled.
909
+ */
910
+ enableStreaks?: boolean | null;
911
+ /**
912
+ * Flag indicating whether the verified multiplier is enabled.
913
+ */
914
+ enableVerifiedMultiplier?: boolean;
915
+ /**
916
+ * Fill source of the order for the token sale
917
+ */
918
+ fillSource?: string;
919
+ /**
920
+ * Percentage reward given to a user for their first referral.
921
+ */
922
+ firstReferralReward?: number | null;
923
+ /**
924
+ * Flag indicating whether the fill source is included.
925
+ */
926
+ hasFillSource?: boolean;
927
+ /**
928
+ * Indicates if the item has never been sold.
929
+ */
930
+ hasNeverSold?: boolean;
931
+ /**
932
+ * Indicates if the full royalty has been paid for items.
933
+ */
934
+ hasPaidFullRoyalty?: boolean;
935
+ /**
936
+ * Flag indicating if the sale currency is included.
937
+ */
938
+ hasSaleCurrency?: boolean;
939
+ /**
940
+ * Indicates if the user has a verified Twitter account.
941
+ */
942
+ hasVerifiedTwitter?: boolean;
943
+ /**
944
+ * URL of the image associated with the rule.
945
+ */
946
+ imageUrl?: string | null;
947
+ /**
948
+ * If enabled, the first transaction done on the platform will complete this rule
949
+ */
950
+ isCheckInOnEveryTxn?: boolean;
951
+ /**
952
+ * Indicates if the multiplier has been applied to rewards.
953
+ */
954
+ isMultiplierApplied?: boolean;
955
+ /**
956
+ * Flag indicating if the rule is restricted to new users.
957
+ */
958
+ isRestrictedToNewUsers?: boolean;
959
+ /**
960
+ * Flag indicating if rewards are applied retroactively.
961
+ */
962
+ isRetroactive?: boolean | null;
963
+ /**
964
+ * Flag indicating if the token hold multiplier is applied.
965
+ */
966
+ isTokenHoldMultiplier?: boolean;
967
+ /**
968
+ * Optional link associated with the metadata.
969
+ */
970
+ link?: string | null;
971
+ /**
972
+ * Liquidity pool details.
973
+ */
974
+ liquidity?: Metadata.Liquidity;
975
+ /**
976
+ * Maximum quantity constraint for token holding.
977
+ */
978
+ maxQty?: number | null;
979
+ /**
980
+ * Minimum quantity constraint for token holding.
981
+ */
982
+ minQty?: number | null;
983
+ /**
984
+ * Array of loyalty currency IDs used for multipliers.
985
+ */
986
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
987
+ /**
988
+ * Flag indicating whether to include only known users.
989
+ */
990
+ onlyKnownUsers?: boolean;
991
+ /**
992
+ * Flag indicating whether to include only native tokens.
993
+ */
994
+ onlyNative?: boolean;
995
+ /**
996
+ * Flag indicating whether to include only non-listed items.
997
+ */
998
+ onlyNonListed?: boolean;
999
+ /**
1000
+ * Indicates if only existing users are rewarded.
1001
+ */
1002
+ onlyRewardExistingUser?: boolean;
1003
+ /**
1004
+ * give points for only one token ownership per contract
1005
+ */
1006
+ onlyRewardSingleTokenOwnership?: boolean | null;
1007
+ /**
1008
+ * Promotional code associated with the rule.
1009
+ */
1010
+ promoCode?: string;
1011
+ /**
1012
+ * URL of the CSV file containing promo codes.
1013
+ */
1014
+ promoCodeCsvUrl?: string;
1015
+ /**
1016
+ * Numbers of the promotional code to be generated.
1017
+ */
1018
+ promoCodeLength?: number | null;
1019
+ /**
1020
+ * Type of the promotional code.
1021
+ */
1022
+ promoCodeType?: 'code' | 'csv' | 'generate';
1023
+ /**
1024
+ * Array defining ranges and corresponding rewards.
1025
+ */
1026
+ range?: Array<Metadata.Range>;
1027
+ /**
1028
+ * Object defining referral requirements.
1029
+ */
1030
+ referralRequirements?: Metadata.ReferralRequirements | null;
1031
+ /**
1032
+ * Lump sum reward given to a referrer.
1033
+ */
1034
+ referrerReward?: number | null;
1035
+ /**
1036
+ * Loyalty currency ID of the referrer reward.
1037
+ */
1038
+ referrerRewardLoyaltyCurrencyId?: string | null;
1039
+ /**
1040
+ * Flag indicating if the post link is required.
1041
+ */
1042
+ requirePostLink?: boolean | null;
1043
+ /**
1044
+ * Flag indicating if media metadata is required.
1045
+ */
1046
+ requirePostMediaLink?: boolean | null;
1047
+ /**
1048
+ * Flag indicating if the rule can also reward badges per range.
1049
+ */
1050
+ rewardBadgePerRange?: boolean;
1051
+ /**
1052
+ * Flag indicating if the reward is rewarded by batch.
1053
+ */
1054
+ rewardByBatch?: boolean | null;
1055
+ /**
1056
+ * Flag indicating if the reward is rewarded per action.
1057
+ */
1058
+ rewardPerAction?: boolean | null;
1059
+ /**
1060
+ * Flag indicating if rewards are given per impression.
1061
+ */
1062
+ rewardPerImpression?: boolean | null;
1063
+ /**
1064
+ * Flag indicating if the rule should reward based on value of traded tokens
1065
+ * instead of count.
1066
+ */
1067
+ rewardPerValue?: boolean;
1068
+ /**
1069
+ * Wallet address of the user can only be used if userId is not provided
1070
+ */
1071
+ royaltyAddress?: string;
1072
+ /**
1073
+ * Royalty percentage of the item.
1074
+ */
1075
+ royaltyPercentage?: number;
1076
+ /**
1077
+ * Currency associated with sales.
1078
+ */
1079
+ saleCurrency?: string;
1080
+ /**
1081
+ * Percentage reward given for a second-level referral.
1082
+ */
1083
+ secondReferralReward?: number | null;
1084
+ /**
1085
+ * Flag indicating if the multiplier is skipped.
1086
+ */
1087
+ skipMultiplier?: boolean | null;
1088
+ /**
1089
+ * Object containing details of the associated smart contract.
1090
+ */
1091
+ smartContract?: Metadata.SmartContract;
1092
+ /**
1093
+ * Array of snapshot proposals for the rule.
1094
+ */
1095
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
1096
+ /**
1097
+ * Social media platform associated with the rule.
1098
+ */
1099
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1100
+ /**
1101
+ * URL of the social platform's logo.
1102
+ */
1103
+ socialPlatformLogo?: string | null;
1104
+ /**
1105
+ * Name of the social platform.
1106
+ */
1107
+ socialPlatformName?: string | null;
1108
+ /**
1109
+ * ID of the Steam app.
1110
+ */
1111
+ steamAppId?: string | null;
1112
+ /**
1113
+ * Array of streak milestones and corresponding rewards.
1114
+ */
1115
+ streakArray?: Array<Metadata.StreakArray> | null;
1116
+ /**
1117
+ * Metadata for swap loyalty rules
1118
+ */
1119
+ swap?: Metadata.Swap;
1120
+ /**
1121
+ * ID of the Telegram channel.
1122
+ */
1123
+ telegramChannelId?: string | null;
1124
+ /**
1125
+ * Time delay in seconds to verify actions.
1126
+ */
1127
+ timeDelayToVerifySeconds?: string | number | null;
1128
+ /**
1129
+ * Flag indicating if all contracts are tracked.
1130
+ */
1131
+ trackAllContracts?: boolean | null;
1132
+ /**
1133
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1134
+ * completed once the progress is 100%.
1135
+ */
1136
+ trackProgress?: boolean | null;
1137
+ /**
1138
+ * URL of the associated Twitter account.
1139
+ */
1140
+ twitterAccountUrl?: string;
1141
+ /**
1142
+ * Hashtag associated with the Twitter post.
1143
+ */
1144
+ twitterHashtag?: string;
1145
+ /**
1146
+ * URL of the associated Twitter post.
1147
+ */
1148
+ twitterPostUrl?: string;
1149
+ /**
1150
+ * Unique identifier of the Twitter user.
1151
+ */
1152
+ twitterUserId?: string;
1153
+ /**
1154
+ * Twitter username of the user.
1155
+ */
1156
+ twitterUsername?: string;
1157
+ /**
1158
+ * Minimum length of the verification text.
1159
+ */
1160
+ verificationTextMinimumLength?: number | null;
1161
+ /**
1162
+ * Multiplier applied to rewards for verified users.
1163
+ */
1164
+ verifiedMultiplier?: number | null;
1165
+ /**
1166
+ * Placeholder text for verification input fields.
1167
+ */
1168
+ verifyPlaceHolderText?: string | null;
1169
+ /**
1170
+ * Type of wallet associated with the rule.
1171
+ */
1172
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
1173
+ /**
1174
+ * ID of the Youtube channel.
1175
+ */
1176
+ youtubeChannelId?: string | null;
1177
+ /**
1178
+ * ID of the Youtube video.
1179
+ */
1180
+ youtubeVideoId?: string | null;
1181
+ }
1182
+ namespace Metadata {
1183
+ interface Collection {
1184
+ /**
1185
+ * Blockchain address of the collection.
1186
+ */
1187
+ address?: string;
1188
+ /**
1189
+ * Multiplier applied to the rewards for this collection.
1190
+ */
1191
+ multiplier?: number;
1192
+ /**
1193
+ * Blockchain network of the collection.
1194
+ */
1195
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1196
+ }
1197
+ /**
1198
+ * Object containing details for the call-to-action.
1199
+ */
1200
+ interface Cta {
1201
+ /**
1202
+ * Link for the call-to-action.
1203
+ */
1204
+ href?: string | null;
1205
+ /**
1206
+ * Label for the call-to-action.
1207
+ */
1208
+ label?: string | null;
1209
+ }
1210
+ interface DiscordServersToJoin {
1211
+ /**
1212
+ * ID of the Discord server to join.
1213
+ */
1214
+ id?: string;
1215
+ /**
1216
+ * Array of Discord channels to join.
1217
+ */
1218
+ channels?: Array<DiscordServersToJoin.Channel>;
1219
+ /**
1220
+ * Array of roles to assign in the Discord server.
1221
+ */
1222
+ roles?: Array<DiscordServersToJoin.Role>;
1223
+ }
1224
+ namespace DiscordServersToJoin {
1225
+ interface Channel {
1226
+ /**
1227
+ * ID of the Discord channel.
1228
+ */
1229
+ id?: string;
1230
+ /**
1231
+ * Array of emojis used in the channel.
1232
+ */
1233
+ emojis?: Array<Channel.Emoji>;
1234
+ /**
1235
+ * Phrase of text to be present in the discord message
1236
+ */
1237
+ text?: string;
1238
+ }
1239
+ namespace Channel {
1240
+ interface Emoji {
1241
+ /**
1242
+ * ID of the emoji used in the channel.
1243
+ */
1244
+ id?: string;
1245
+ }
1246
+ }
1247
+ interface Role {
1248
+ /**
1249
+ * ID of the role in the Discord server.
1250
+ */
1251
+ id: string;
1252
+ }
1253
+ }
1254
+ interface DripQuestsToComplete {
1255
+ /**
1256
+ * ID of the drip quest to complete.
1257
+ */
1258
+ id: string;
1259
+ }
1260
+ /**
1261
+ * Liquidity pool details.
1262
+ */
1263
+ interface Liquidity {
1264
+ /**
1265
+ * Calculation type of the liquidity pool.
1266
+ */
1267
+ calculationType?: 'fixed' | 'custom';
1268
+ /**
1269
+ * Custom function to calculate the the reward amount based on the liquidity
1270
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
1271
+ * USD.
1272
+ */
1273
+ customFunction?: string;
1274
+ /**
1275
+ * Liquidity provided per day in USD
1276
+ */
1277
+ liquidityPerDay?: number;
1278
+ /**
1279
+ * Blockchain network of the liquidity pool.
1280
+ */
1281
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1282
+ /**
1283
+ * Indicates if only in-range liquidity is rewarded.
1284
+ */
1285
+ onlyRewardInRangeLiquidity?: boolean;
1286
+ /**
1287
+ * Array of liquidity pools associated with the rule.
1288
+ */
1289
+ pools?: Array<Liquidity.Pool>;
1290
+ /**
1291
+ * Protocol of the liquidity pool.
1292
+ */
1293
+ protocol?: string;
1294
+ }
1295
+ namespace Liquidity {
1296
+ interface Pool {
1297
+ /**
1298
+ * Unique identifier of the liquidity pool.
1299
+ */
1300
+ id: string;
1301
+ }
1302
+ }
1303
+ interface Range {
1304
+ /**
1305
+ * Reward amount for this range.
1306
+ */
1307
+ amount: number;
1308
+ /**
1309
+ * End value of the range.
1310
+ */
1311
+ endRange: number;
1312
+ /**
1313
+ * Start value of the range.
1314
+ */
1315
+ startRange: number;
1316
+ /**
1317
+ * ID of the loyalty badge for this range.
1318
+ */
1319
+ loyaltyBadgeId?: string;
1320
+ /**
1321
+ * Amount of the loyalty multiplier for this range.
1322
+ */
1323
+ loyaltyMultiplierAmount?: number;
1324
+ }
1325
+ /**
1326
+ * Object defining referral requirements.
1327
+ */
1328
+ interface ReferralRequirements {
1329
+ /**
1330
+ * Flag indicating if achieving points is required.
1331
+ */
1332
+ achievePoints?: boolean | null;
1333
+ /**
1334
+ * Flag indicating if completing the profile is required.
1335
+ */
1336
+ completeProfile?: boolean | null;
1337
+ /**
1338
+ * Flag indicating if connecting Discord is required.
1339
+ */
1340
+ connectDiscord?: boolean | null;
1341
+ /**
1342
+ * Flag indicating if connecting email is required.
1343
+ */
1344
+ connectEmail?: boolean | null;
1345
+ /**
1346
+ * Flag indicating if connecting Twitter is required.
1347
+ */
1348
+ connectTwitter?: boolean | null;
1349
+ points?: ReferralRequirements.Points | null;
1350
+ }
1351
+ namespace ReferralRequirements {
1352
+ interface Points {
1353
+ /**
1354
+ * Points required for referral.
1355
+ */
1356
+ amount?: number | null;
1357
+ /**
1358
+ * ID of the loyalty currency for referral.
1359
+ */
1360
+ loyaltyCurrecyId?: string | null;
1361
+ }
1362
+ }
1363
+ /**
1364
+ * Object containing details of the associated smart contract.
1365
+ */
1366
+ interface SmartContract {
1367
+ /**
1368
+ * Mapping of addresses for the smart contract.
1369
+ */
1370
+ addressMapping?: string | null;
1371
+ /**
1372
+ * Object containing details of the amount multiplier from the event.
1373
+ */
1374
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
1375
+ /**
1376
+ * ID of the smart contract.
1377
+ */
1378
+ contractId?: string | null;
1379
+ /**
1380
+ * Criteria to evaluate the smart contract event.
1381
+ */
1382
+ criteria?: 'everyEvent' | 'byParameter' | null;
1383
+ /**
1384
+ * Event emitted by the smart contract.
1385
+ */
1386
+ event?: string | null;
1387
+ /**
1388
+ * Array of parameters for the smart contract.
1389
+ */
1390
+ params?: Array<SmartContract.Param> | null;
1391
+ /**
1392
+ * Type of the smart contract interaction.
1393
+ */
1394
+ type?: 'function' | 'event' | null;
1395
+ }
1396
+ namespace SmartContract {
1397
+ /**
1398
+ * Object containing details of the amount multiplier from the event.
1399
+ */
1400
+ interface AmountMultiplier {
1401
+ /**
1402
+ * Mapping of the value for the smart contract.
1403
+ */
1404
+ valueMapping?: string | null;
1405
+ }
1406
+ interface Param {
1407
+ /**
1408
+ * Condition to check for the parameter.
1409
+ */
1410
+ condition?: string | null;
1411
+ /**
1412
+ * Name of the smart contract parameter.
1413
+ */
1414
+ name?: string | null;
1415
+ /**
1416
+ * Value of the parameter.
1417
+ */
1418
+ value?: string | null;
1419
+ }
1420
+ }
1421
+ interface SnapshotProposal {
1422
+ /**
1423
+ * ID of the snapshot proposal.
1424
+ */
1425
+ id: string;
1426
+ /**
1427
+ * Space associated with the snapshot proposal.
1428
+ */
1429
+ space: string;
1430
+ }
1431
+ interface StreakArray {
1432
+ /**
1433
+ * Reward amount for achieving the streak milestone.
1434
+ */
1435
+ streakAmount: number;
1436
+ /**
1437
+ * Milestone required to achieve the streak.
1438
+ */
1439
+ streakMilestone: number;
1440
+ }
1441
+ /**
1442
+ * Metadata for swap loyalty rules
1443
+ */
1444
+ interface Swap {
1445
+ provider?: 'any' | 'relay' | 'lifi';
1446
+ relayReferrerId?: string;
1447
+ requireCrossChainSwap?: boolean;
1448
+ swappedToChain?: 'any' | number | string;
1449
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1450
+ tokenMode?: 'any' | 'specific';
1451
+ trackTokenAmount?: boolean;
1452
+ }
1453
+ namespace Swap {
1454
+ interface SwappedToToken {
1455
+ address: string;
1456
+ chainId: string;
1457
+ }
1458
+ }
1459
+ }
1460
+ }
1461
+ }
1462
+ }
1463
+ export interface RuleEditRestoreResponse {
1464
+ /**
1465
+ * Unique identifier for the rule edit
1466
+ */
1467
+ id: string;
1468
+ /**
1469
+ * Type of action that was made on the rule
1470
+ */
1471
+ action: 'create' | 'update' | 'delete' | 'restore';
1472
+ /**
1473
+ * Data that was changed on the rule
1474
+ */
1475
+ data: RuleEditRestoreResponse.Data;
1476
+ /**
1477
+ * Timestamp of when the rule edit was made
1478
+ */
1479
+ editedAt: string;
1480
+ /**
1481
+ * User ID of the user who made the edit
1482
+ */
1483
+ editedByUserId: string;
1484
+ /**
1485
+ * ID of the loyalty rule
1486
+ */
1487
+ loyaltyRuleId: string;
1488
+ /**
1489
+ * Unique identifier for the organization
1490
+ */
1491
+ organizationId: string;
1492
+ /**
1493
+ * Unique identifier for the website
1494
+ */
1495
+ websiteId: string;
1496
+ /**
1497
+ * Comment that was made on the edit
1498
+ */
1499
+ comment?: string;
1500
+ /**
1501
+ * Previous data of the rule before the edit
1502
+ */
1503
+ previousData?: RuleEditRestoreResponse.PreviousData;
1504
+ }
1505
+ export declare namespace RuleEditRestoreResponse {
1506
+ /**
1507
+ * Data that was changed on the rule
1508
+ */
1509
+ interface Data {
1510
+ /**
1511
+ * Unique identifier for the loyalty rule
1512
+ */
1513
+ id: string;
1514
+ /**
1515
+ * Amount associated with the loyalty rule
1516
+ */
1517
+ amount: number;
1518
+ /**
1519
+ * Timestamp when the loyalty rule was created
1520
+ */
1521
+ createdAt: string;
1522
+ /**
1523
+ * Timestamp when the loyalty rule was deleted (if applicable)
1524
+ */
1525
+ deletedAt: string | null;
1526
+ /**
1527
+ * Description of the loyalty rule
1528
+ */
1529
+ description: string;
1530
+ /**
1531
+ * End time of the loyalty rule
1532
+ */
1533
+ endTime: string;
1534
+ /**
1535
+ * Frequency of the loyalty rule
1536
+ */
1537
+ frequency: string;
1538
+ /**
1539
+ * Name of the loyalty rule
1540
+ */
1541
+ name: string;
1542
+ /**
1543
+ * Unique identifier for the organization
1544
+ */
1545
+ organizationId: string;
1546
+ /**
1547
+ * Type of the reward
1548
+ */
1549
+ rewardType: 'points' | 'multiplier' | 'badge';
1550
+ /**
1551
+ * Start time of the loyalty rule
1552
+ */
1553
+ startTime: string;
1554
+ /**
1555
+ * Type of the loyalty rule
1556
+ */
1557
+ type: string;
1558
+ /**
1559
+ * Timestamp when the loyalty rule was last updated
1560
+ */
1561
+ updatedAt: string;
1562
+ /**
1563
+ * Unique identifier for the website
1564
+ */
1565
+ websiteId: string;
1566
+ /**
1567
+ * Optional address of the collection
1568
+ */
1569
+ collectionAddress?: string;
1570
+ /**
1571
+ * URL of the media associated with the loyalty rule
1572
+ */
1573
+ mediaUrl?: string | null;
1574
+ /**
1575
+ * Optional metadata for the loyalty rule
1576
+ */
1577
+ metadata?: {
1578
+ [key: string]: Data.Metadata;
1579
+ };
1580
+ }
1581
+ namespace Data {
1582
+ interface Metadata {
1583
+ /**
1584
+ * Number of tokens per batch.
1585
+ */
1586
+ batchSize?: number | null;
1587
+ /**
1588
+ * Text displayed on the action button.
1589
+ */
1590
+ buttonText?: string | null;
1591
+ /**
1592
+ * Flag indicating if commenting is required.
1593
+ */
1594
+ checkComment?: boolean | null;
1595
+ /**
1596
+ * Flag indicating if liking the post is required.
1597
+ */
1598
+ checkLike?: boolean | null;
1599
+ /**
1600
+ * Flag indicating if reposting is required.
1601
+ */
1602
+ checkRepost?: boolean | null;
1603
+ /**
1604
+ * Text to check in the Twitter post, username, or bio.
1605
+ */
1606
+ checkText?: string | Array<string> | null;
1607
+ /**
1608
+ * Array of collections associated with the rule.
1609
+ */
1610
+ collection?: Array<Metadata.Collection>;
1611
+ /**
1612
+ * Conditions for completing the profile.
1613
+ */
1614
+ completeProfileConditions?: {
1615
+ [key: string]: boolean;
1616
+ } | null;
1617
+ /**
1618
+ * Description of the external rule condition (only for external rules)
1619
+ */
1620
+ conditionDescription?: string;
1621
+ /**
1622
+ * Object containing details for the call-to-action.
1623
+ */
1624
+ cta?: Metadata.Cta | null;
1625
+ /**
1626
+ * API key for custom rewards integration.
1627
+ */
1628
+ customRewardsApiKey?: string;
1629
+ /**
1630
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1631
+ */
1632
+ directRpc?: boolean;
1633
+ /**
1634
+ * Array of Discord servers, channels, and roles to join.
1635
+ */
1636
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1637
+ /**
1638
+ * Array of drip quests required to complete the rule.
1639
+ */
1640
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1641
+ /**
1642
+ * Flag indicating whether joining Discord servers is required.
1643
+ */
1644
+ enableJoinDiscordServers?: boolean | null;
1645
+ /**
1646
+ * Flag indicating whether streaks are enabled.
1647
+ */
1648
+ enableStreaks?: boolean | null;
1649
+ /**
1650
+ * Flag indicating whether the verified multiplier is enabled.
1651
+ */
1652
+ enableVerifiedMultiplier?: boolean;
1653
+ /**
1654
+ * Fill source of the order for the token sale
1655
+ */
1656
+ fillSource?: string;
1657
+ /**
1658
+ * Percentage reward given to a user for their first referral.
1659
+ */
1660
+ firstReferralReward?: number | null;
1661
+ /**
1662
+ * Flag indicating whether the fill source is included.
1663
+ */
1664
+ hasFillSource?: boolean;
1665
+ /**
1666
+ * Indicates if the item has never been sold.
1667
+ */
1668
+ hasNeverSold?: boolean;
1669
+ /**
1670
+ * Indicates if the full royalty has been paid for items.
1671
+ */
1672
+ hasPaidFullRoyalty?: boolean;
1673
+ /**
1674
+ * Flag indicating if the sale currency is included.
1675
+ */
1676
+ hasSaleCurrency?: boolean;
1677
+ /**
1678
+ * Indicates if the user has a verified Twitter account.
1679
+ */
1680
+ hasVerifiedTwitter?: boolean;
1681
+ /**
1682
+ * URL of the image associated with the rule.
1683
+ */
1684
+ imageUrl?: string | null;
1685
+ /**
1686
+ * If enabled, the first transaction done on the platform will complete this rule
1687
+ */
1688
+ isCheckInOnEveryTxn?: boolean;
1689
+ /**
1690
+ * Indicates if the multiplier has been applied to rewards.
1691
+ */
1692
+ isMultiplierApplied?: boolean;
1693
+ /**
1694
+ * Flag indicating if the rule is restricted to new users.
1695
+ */
1696
+ isRestrictedToNewUsers?: boolean;
1697
+ /**
1698
+ * Flag indicating if rewards are applied retroactively.
1699
+ */
1700
+ isRetroactive?: boolean | null;
1701
+ /**
1702
+ * Flag indicating if the token hold multiplier is applied.
1703
+ */
1704
+ isTokenHoldMultiplier?: boolean;
1705
+ /**
1706
+ * Optional link associated with the metadata.
1707
+ */
1708
+ link?: string | null;
1709
+ /**
1710
+ * Liquidity pool details.
1711
+ */
1712
+ liquidity?: Metadata.Liquidity;
1713
+ /**
1714
+ * Maximum quantity constraint for token holding.
1715
+ */
1716
+ maxQty?: number | null;
1717
+ /**
1718
+ * Minimum quantity constraint for token holding.
1719
+ */
1720
+ minQty?: number | null;
1721
+ /**
1722
+ * Array of loyalty currency IDs used for multipliers.
1723
+ */
1724
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
1725
+ /**
1726
+ * Flag indicating whether to include only known users.
1727
+ */
1728
+ onlyKnownUsers?: boolean;
1729
+ /**
1730
+ * Flag indicating whether to include only native tokens.
1731
+ */
1732
+ onlyNative?: boolean;
1733
+ /**
1734
+ * Flag indicating whether to include only non-listed items.
1735
+ */
1736
+ onlyNonListed?: boolean;
1737
+ /**
1738
+ * Indicates if only existing users are rewarded.
1739
+ */
1740
+ onlyRewardExistingUser?: boolean;
1741
+ /**
1742
+ * give points for only one token ownership per contract
1743
+ */
1744
+ onlyRewardSingleTokenOwnership?: boolean | null;
1745
+ /**
1746
+ * Promotional code associated with the rule.
1747
+ */
1748
+ promoCode?: string;
1749
+ /**
1750
+ * URL of the CSV file containing promo codes.
1751
+ */
1752
+ promoCodeCsvUrl?: string;
1753
+ /**
1754
+ * Numbers of the promotional code to be generated.
1755
+ */
1756
+ promoCodeLength?: number | null;
1757
+ /**
1758
+ * Type of the promotional code.
1759
+ */
1760
+ promoCodeType?: 'code' | 'csv' | 'generate';
1761
+ /**
1762
+ * Array defining ranges and corresponding rewards.
1763
+ */
1764
+ range?: Array<Metadata.Range>;
1765
+ /**
1766
+ * Object defining referral requirements.
1767
+ */
1768
+ referralRequirements?: Metadata.ReferralRequirements | null;
1769
+ /**
1770
+ * Lump sum reward given to a referrer.
1771
+ */
1772
+ referrerReward?: number | null;
1773
+ /**
1774
+ * Loyalty currency ID of the referrer reward.
1775
+ */
1776
+ referrerRewardLoyaltyCurrencyId?: string | null;
1777
+ /**
1778
+ * Flag indicating if the post link is required.
1779
+ */
1780
+ requirePostLink?: boolean | null;
1781
+ /**
1782
+ * Flag indicating if media metadata is required.
1783
+ */
1784
+ requirePostMediaLink?: boolean | null;
1785
+ /**
1786
+ * Flag indicating if the rule can also reward badges per range.
1787
+ */
1788
+ rewardBadgePerRange?: boolean;
1789
+ /**
1790
+ * Flag indicating if the reward is rewarded by batch.
1791
+ */
1792
+ rewardByBatch?: boolean | null;
1793
+ /**
1794
+ * Flag indicating if the reward is rewarded per action.
1795
+ */
1796
+ rewardPerAction?: boolean | null;
1797
+ /**
1798
+ * Flag indicating if rewards are given per impression.
1799
+ */
1800
+ rewardPerImpression?: boolean | null;
1801
+ /**
1802
+ * Flag indicating if the rule should reward based on value of traded tokens
1803
+ * instead of count.
1804
+ */
1805
+ rewardPerValue?: boolean;
1806
+ /**
1807
+ * Wallet address of the user can only be used if userId is not provided
1808
+ */
1809
+ royaltyAddress?: string;
1810
+ /**
1811
+ * Royalty percentage of the item.
1812
+ */
1813
+ royaltyPercentage?: number;
1814
+ /**
1815
+ * Currency associated with sales.
1816
+ */
1817
+ saleCurrency?: string;
1818
+ /**
1819
+ * Percentage reward given for a second-level referral.
1820
+ */
1821
+ secondReferralReward?: number | null;
1822
+ /**
1823
+ * Flag indicating if the multiplier is skipped.
1824
+ */
1825
+ skipMultiplier?: boolean | null;
1826
+ /**
1827
+ * Object containing details of the associated smart contract.
1828
+ */
1829
+ smartContract?: Metadata.SmartContract;
1830
+ /**
1831
+ * Array of snapshot proposals for the rule.
1832
+ */
1833
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
1834
+ /**
1835
+ * Social media platform associated with the rule.
1836
+ */
1837
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
1838
+ /**
1839
+ * URL of the social platform's logo.
1840
+ */
1841
+ socialPlatformLogo?: string | null;
1842
+ /**
1843
+ * Name of the social platform.
1844
+ */
1845
+ socialPlatformName?: string | null;
1846
+ /**
1847
+ * ID of the Steam app.
1848
+ */
1849
+ steamAppId?: string | null;
1850
+ /**
1851
+ * Array of streak milestones and corresponding rewards.
1852
+ */
1853
+ streakArray?: Array<Metadata.StreakArray> | null;
1854
+ /**
1855
+ * Metadata for swap loyalty rules
1856
+ */
1857
+ swap?: Metadata.Swap;
1858
+ /**
1859
+ * ID of the Telegram channel.
1860
+ */
1861
+ telegramChannelId?: string | null;
1862
+ /**
1863
+ * Time delay in seconds to verify actions.
1864
+ */
1865
+ timeDelayToVerifySeconds?: string | number | null;
1866
+ /**
1867
+ * Flag indicating if all contracts are tracked.
1868
+ */
1869
+ trackAllContracts?: boolean | null;
1870
+ /**
1871
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
1872
+ * completed once the progress is 100%.
1873
+ */
1874
+ trackProgress?: boolean | null;
1875
+ /**
1876
+ * URL of the associated Twitter account.
1877
+ */
1878
+ twitterAccountUrl?: string;
1879
+ /**
1880
+ * Hashtag associated with the Twitter post.
1881
+ */
1882
+ twitterHashtag?: string;
1883
+ /**
1884
+ * URL of the associated Twitter post.
1885
+ */
1886
+ twitterPostUrl?: string;
1887
+ /**
1888
+ * Unique identifier of the Twitter user.
1889
+ */
1890
+ twitterUserId?: string;
1891
+ /**
1892
+ * Twitter username of the user.
1893
+ */
1894
+ twitterUsername?: string;
1895
+ /**
1896
+ * Minimum length of the verification text.
1897
+ */
1898
+ verificationTextMinimumLength?: number | null;
1899
+ /**
1900
+ * Multiplier applied to rewards for verified users.
1901
+ */
1902
+ verifiedMultiplier?: number | null;
1903
+ /**
1904
+ * Placeholder text for verification input fields.
1905
+ */
1906
+ verifyPlaceHolderText?: string | null;
1907
+ /**
1908
+ * Type of wallet associated with the rule.
1909
+ */
1910
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
1911
+ /**
1912
+ * ID of the Youtube channel.
1913
+ */
1914
+ youtubeChannelId?: string | null;
1915
+ /**
1916
+ * ID of the Youtube video.
1917
+ */
1918
+ youtubeVideoId?: string | null;
1919
+ }
1920
+ namespace Metadata {
1921
+ interface Collection {
1922
+ /**
1923
+ * Blockchain address of the collection.
1924
+ */
1925
+ address?: string;
1926
+ /**
1927
+ * Multiplier applied to the rewards for this collection.
1928
+ */
1929
+ multiplier?: number;
1930
+ /**
1931
+ * Blockchain network of the collection.
1932
+ */
1933
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
1934
+ }
1935
+ /**
1936
+ * Object containing details for the call-to-action.
1937
+ */
1938
+ interface Cta {
1939
+ /**
1940
+ * Link for the call-to-action.
1941
+ */
1942
+ href?: string | null;
1943
+ /**
1944
+ * Label for the call-to-action.
1945
+ */
1946
+ label?: string | null;
1947
+ }
1948
+ interface DiscordServersToJoin {
1949
+ /**
1950
+ * ID of the Discord server to join.
1951
+ */
1952
+ id?: string;
1953
+ /**
1954
+ * Array of Discord channels to join.
1955
+ */
1956
+ channels?: Array<DiscordServersToJoin.Channel>;
1957
+ /**
1958
+ * Array of roles to assign in the Discord server.
1959
+ */
1960
+ roles?: Array<DiscordServersToJoin.Role>;
1961
+ }
1962
+ namespace DiscordServersToJoin {
1963
+ interface Channel {
1964
+ /**
1965
+ * ID of the Discord channel.
1966
+ */
1967
+ id?: string;
1968
+ /**
1969
+ * Array of emojis used in the channel.
1970
+ */
1971
+ emojis?: Array<Channel.Emoji>;
1972
+ /**
1973
+ * Phrase of text to be present in the discord message
1974
+ */
1975
+ text?: string;
1976
+ }
1977
+ namespace Channel {
1978
+ interface Emoji {
1979
+ /**
1980
+ * ID of the emoji used in the channel.
1981
+ */
1982
+ id?: string;
1983
+ }
1984
+ }
1985
+ interface Role {
1986
+ /**
1987
+ * ID of the role in the Discord server.
1988
+ */
1989
+ id: string;
1990
+ }
1991
+ }
1992
+ interface DripQuestsToComplete {
1993
+ /**
1994
+ * ID of the drip quest to complete.
1995
+ */
1996
+ id: string;
1997
+ }
1998
+ /**
1999
+ * Liquidity pool details.
2000
+ */
2001
+ interface Liquidity {
2002
+ /**
2003
+ * Calculation type of the liquidity pool.
2004
+ */
2005
+ calculationType?: 'fixed' | 'custom';
2006
+ /**
2007
+ * Custom function to calculate the the reward amount based on the liquidity
2008
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2009
+ * USD.
2010
+ */
2011
+ customFunction?: string;
2012
+ /**
2013
+ * Liquidity provided per day in USD
2014
+ */
2015
+ liquidityPerDay?: number;
2016
+ /**
2017
+ * Blockchain network of the liquidity pool.
2018
+ */
2019
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
2020
+ /**
2021
+ * Indicates if only in-range liquidity is rewarded.
2022
+ */
2023
+ onlyRewardInRangeLiquidity?: boolean;
2024
+ /**
2025
+ * Array of liquidity pools associated with the rule.
2026
+ */
2027
+ pools?: Array<Liquidity.Pool>;
2028
+ /**
2029
+ * Protocol of the liquidity pool.
2030
+ */
2031
+ protocol?: string;
2032
+ }
2033
+ namespace Liquidity {
2034
+ interface Pool {
2035
+ /**
2036
+ * Unique identifier of the liquidity pool.
2037
+ */
2038
+ id: string;
2039
+ }
2040
+ }
2041
+ interface Range {
2042
+ /**
2043
+ * Reward amount for this range.
2044
+ */
2045
+ amount: number;
2046
+ /**
2047
+ * End value of the range.
2048
+ */
2049
+ endRange: number;
2050
+ /**
2051
+ * Start value of the range.
2052
+ */
2053
+ startRange: number;
2054
+ /**
2055
+ * ID of the loyalty badge for this range.
2056
+ */
2057
+ loyaltyBadgeId?: string;
2058
+ /**
2059
+ * Amount of the loyalty multiplier for this range.
2060
+ */
2061
+ loyaltyMultiplierAmount?: number;
2062
+ }
2063
+ /**
2064
+ * Object defining referral requirements.
2065
+ */
2066
+ interface ReferralRequirements {
2067
+ /**
2068
+ * Flag indicating if achieving points is required.
2069
+ */
2070
+ achievePoints?: boolean | null;
2071
+ /**
2072
+ * Flag indicating if completing the profile is required.
2073
+ */
2074
+ completeProfile?: boolean | null;
2075
+ /**
2076
+ * Flag indicating if connecting Discord is required.
2077
+ */
2078
+ connectDiscord?: boolean | null;
2079
+ /**
2080
+ * Flag indicating if connecting email is required.
2081
+ */
2082
+ connectEmail?: boolean | null;
2083
+ /**
2084
+ * Flag indicating if connecting Twitter is required.
2085
+ */
2086
+ connectTwitter?: boolean | null;
2087
+ points?: ReferralRequirements.Points | null;
2088
+ }
2089
+ namespace ReferralRequirements {
2090
+ interface Points {
2091
+ /**
2092
+ * Points required for referral.
2093
+ */
2094
+ amount?: number | null;
2095
+ /**
2096
+ * ID of the loyalty currency for referral.
2097
+ */
2098
+ loyaltyCurrecyId?: string | null;
2099
+ }
2100
+ }
2101
+ /**
2102
+ * Object containing details of the associated smart contract.
2103
+ */
2104
+ interface SmartContract {
2105
+ /**
2106
+ * Mapping of addresses for the smart contract.
2107
+ */
2108
+ addressMapping?: string | null;
2109
+ /**
2110
+ * Object containing details of the amount multiplier from the event.
2111
+ */
2112
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2113
+ /**
2114
+ * ID of the smart contract.
2115
+ */
2116
+ contractId?: string | null;
2117
+ /**
2118
+ * Criteria to evaluate the smart contract event.
2119
+ */
2120
+ criteria?: 'everyEvent' | 'byParameter' | null;
2121
+ /**
2122
+ * Event emitted by the smart contract.
2123
+ */
2124
+ event?: string | null;
2125
+ /**
2126
+ * Array of parameters for the smart contract.
2127
+ */
2128
+ params?: Array<SmartContract.Param> | null;
2129
+ /**
2130
+ * Type of the smart contract interaction.
2131
+ */
2132
+ type?: 'function' | 'event' | null;
2133
+ }
2134
+ namespace SmartContract {
2135
+ /**
2136
+ * Object containing details of the amount multiplier from the event.
2137
+ */
2138
+ interface AmountMultiplier {
2139
+ /**
2140
+ * Mapping of the value for the smart contract.
2141
+ */
2142
+ valueMapping?: string | null;
2143
+ }
2144
+ interface Param {
2145
+ /**
2146
+ * Condition to check for the parameter.
2147
+ */
2148
+ condition?: string | null;
2149
+ /**
2150
+ * Name of the smart contract parameter.
2151
+ */
2152
+ name?: string | null;
2153
+ /**
2154
+ * Value of the parameter.
2155
+ */
2156
+ value?: string | null;
2157
+ }
2158
+ }
2159
+ interface SnapshotProposal {
2160
+ /**
2161
+ * ID of the snapshot proposal.
2162
+ */
2163
+ id: string;
2164
+ /**
2165
+ * Space associated with the snapshot proposal.
2166
+ */
2167
+ space: string;
2168
+ }
2169
+ interface StreakArray {
2170
+ /**
2171
+ * Reward amount for achieving the streak milestone.
2172
+ */
2173
+ streakAmount: number;
2174
+ /**
2175
+ * Milestone required to achieve the streak.
2176
+ */
2177
+ streakMilestone: number;
2178
+ }
2179
+ /**
2180
+ * Metadata for swap loyalty rules
2181
+ */
2182
+ interface Swap {
2183
+ provider?: 'any' | 'relay' | 'lifi';
2184
+ relayReferrerId?: string;
2185
+ requireCrossChainSwap?: boolean;
2186
+ swappedToChain?: 'any' | number | string;
2187
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2188
+ tokenMode?: 'any' | 'specific';
2189
+ trackTokenAmount?: boolean;
2190
+ }
2191
+ namespace Swap {
2192
+ interface SwappedToToken {
2193
+ address: string;
2194
+ chainId: string;
2195
+ }
2196
+ }
2197
+ }
2198
+ }
2199
+ /**
2200
+ * Previous data of the rule before the edit
2201
+ */
2202
+ interface PreviousData {
2203
+ /**
2204
+ * Unique identifier for the loyalty rule
2205
+ */
2206
+ id: string;
2207
+ /**
2208
+ * Amount associated with the loyalty rule
2209
+ */
2210
+ amount: number;
2211
+ /**
2212
+ * Timestamp when the loyalty rule was created
2213
+ */
2214
+ createdAt: string;
2215
+ /**
2216
+ * Timestamp when the loyalty rule was deleted (if applicable)
2217
+ */
2218
+ deletedAt: string | null;
2219
+ /**
2220
+ * Description of the loyalty rule
2221
+ */
2222
+ description: string;
2223
+ /**
2224
+ * End time of the loyalty rule
2225
+ */
2226
+ endTime: string;
2227
+ /**
2228
+ * Frequency of the loyalty rule
2229
+ */
2230
+ frequency: string;
2231
+ /**
2232
+ * Name of the loyalty rule
2233
+ */
2234
+ name: string;
2235
+ /**
2236
+ * Unique identifier for the organization
2237
+ */
2238
+ organizationId: string;
2239
+ /**
2240
+ * Type of the reward
2241
+ */
2242
+ rewardType: 'points' | 'multiplier' | 'badge';
2243
+ /**
2244
+ * Start time of the loyalty rule
2245
+ */
2246
+ startTime: string;
2247
+ /**
2248
+ * Type of the loyalty rule
2249
+ */
2250
+ type: string;
2251
+ /**
2252
+ * Timestamp when the loyalty rule was last updated
2253
+ */
2254
+ updatedAt: string;
2255
+ /**
2256
+ * Unique identifier for the website
2257
+ */
2258
+ websiteId: string;
2259
+ /**
2260
+ * Optional address of the collection
2261
+ */
2262
+ collectionAddress?: string;
2263
+ /**
2264
+ * URL of the media associated with the loyalty rule
2265
+ */
2266
+ mediaUrl?: string | null;
2267
+ /**
2268
+ * Optional metadata for the loyalty rule
2269
+ */
2270
+ metadata?: {
2271
+ [key: string]: PreviousData.Metadata;
2272
+ };
2273
+ }
2274
+ namespace PreviousData {
2275
+ interface Metadata {
2276
+ /**
2277
+ * Number of tokens per batch.
2278
+ */
2279
+ batchSize?: number | null;
2280
+ /**
2281
+ * Text displayed on the action button.
2282
+ */
2283
+ buttonText?: string | null;
2284
+ /**
2285
+ * Flag indicating if commenting is required.
2286
+ */
2287
+ checkComment?: boolean | null;
2288
+ /**
2289
+ * Flag indicating if liking the post is required.
2290
+ */
2291
+ checkLike?: boolean | null;
2292
+ /**
2293
+ * Flag indicating if reposting is required.
2294
+ */
2295
+ checkRepost?: boolean | null;
2296
+ /**
2297
+ * Text to check in the Twitter post, username, or bio.
2298
+ */
2299
+ checkText?: string | Array<string> | null;
2300
+ /**
2301
+ * Array of collections associated with the rule.
2302
+ */
2303
+ collection?: Array<Metadata.Collection>;
2304
+ /**
2305
+ * Conditions for completing the profile.
2306
+ */
2307
+ completeProfileConditions?: {
2308
+ [key: string]: boolean;
2309
+ } | null;
2310
+ /**
2311
+ * Description of the external rule condition (only for external rules)
2312
+ */
2313
+ conditionDescription?: string;
2314
+ /**
2315
+ * Object containing details for the call-to-action.
2316
+ */
2317
+ cta?: Metadata.Cta | null;
2318
+ /**
2319
+ * API key for custom rewards integration.
2320
+ */
2321
+ customRewardsApiKey?: string;
2322
+ /**
2323
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2324
+ */
2325
+ directRpc?: boolean;
2326
+ /**
2327
+ * Array of Discord servers, channels, and roles to join.
2328
+ */
2329
+ discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2330
+ /**
2331
+ * Array of drip quests required to complete the rule.
2332
+ */
2333
+ dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2334
+ /**
2335
+ * Flag indicating whether joining Discord servers is required.
2336
+ */
2337
+ enableJoinDiscordServers?: boolean | null;
2338
+ /**
2339
+ * Flag indicating whether streaks are enabled.
2340
+ */
2341
+ enableStreaks?: boolean | null;
2342
+ /**
2343
+ * Flag indicating whether the verified multiplier is enabled.
2344
+ */
2345
+ enableVerifiedMultiplier?: boolean;
2346
+ /**
2347
+ * Fill source of the order for the token sale
2348
+ */
2349
+ fillSource?: string;
2350
+ /**
2351
+ * Percentage reward given to a user for their first referral.
2352
+ */
2353
+ firstReferralReward?: number | null;
2354
+ /**
2355
+ * Flag indicating whether the fill source is included.
2356
+ */
2357
+ hasFillSource?: boolean;
2358
+ /**
2359
+ * Indicates if the item has never been sold.
2360
+ */
2361
+ hasNeverSold?: boolean;
2362
+ /**
2363
+ * Indicates if the full royalty has been paid for items.
2364
+ */
2365
+ hasPaidFullRoyalty?: boolean;
2366
+ /**
2367
+ * Flag indicating if the sale currency is included.
2368
+ */
2369
+ hasSaleCurrency?: boolean;
2370
+ /**
2371
+ * Indicates if the user has a verified Twitter account.
2372
+ */
2373
+ hasVerifiedTwitter?: boolean;
2374
+ /**
2375
+ * URL of the image associated with the rule.
2376
+ */
2377
+ imageUrl?: string | null;
2378
+ /**
2379
+ * If enabled, the first transaction done on the platform will complete this rule
2380
+ */
2381
+ isCheckInOnEveryTxn?: boolean;
2382
+ /**
2383
+ * Indicates if the multiplier has been applied to rewards.
2384
+ */
2385
+ isMultiplierApplied?: boolean;
2386
+ /**
2387
+ * Flag indicating if the rule is restricted to new users.
2388
+ */
2389
+ isRestrictedToNewUsers?: boolean;
2390
+ /**
2391
+ * Flag indicating if rewards are applied retroactively.
2392
+ */
2393
+ isRetroactive?: boolean | null;
2394
+ /**
2395
+ * Flag indicating if the token hold multiplier is applied.
2396
+ */
2397
+ isTokenHoldMultiplier?: boolean;
2398
+ /**
2399
+ * Optional link associated with the metadata.
2400
+ */
2401
+ link?: string | null;
2402
+ /**
2403
+ * Liquidity pool details.
2404
+ */
2405
+ liquidity?: Metadata.Liquidity;
2406
+ /**
2407
+ * Maximum quantity constraint for token holding.
2408
+ */
2409
+ maxQty?: number | null;
2410
+ /**
2411
+ * Minimum quantity constraint for token holding.
2412
+ */
2413
+ minQty?: number | null;
2414
+ /**
2415
+ * Array of loyalty currency IDs used for multipliers.
2416
+ */
2417
+ multiplierLoyaltyCurrencyIds?: Array<string> | null;
2418
+ /**
2419
+ * Flag indicating whether to include only known users.
2420
+ */
2421
+ onlyKnownUsers?: boolean;
2422
+ /**
2423
+ * Flag indicating whether to include only native tokens.
2424
+ */
2425
+ onlyNative?: boolean;
2426
+ /**
2427
+ * Flag indicating whether to include only non-listed items.
2428
+ */
2429
+ onlyNonListed?: boolean;
2430
+ /**
2431
+ * Indicates if only existing users are rewarded.
2432
+ */
2433
+ onlyRewardExistingUser?: boolean;
2434
+ /**
2435
+ * give points for only one token ownership per contract
2436
+ */
2437
+ onlyRewardSingleTokenOwnership?: boolean | null;
2438
+ /**
2439
+ * Promotional code associated with the rule.
2440
+ */
2441
+ promoCode?: string;
2442
+ /**
2443
+ * URL of the CSV file containing promo codes.
2444
+ */
2445
+ promoCodeCsvUrl?: string;
2446
+ /**
2447
+ * Numbers of the promotional code to be generated.
2448
+ */
2449
+ promoCodeLength?: number | null;
2450
+ /**
2451
+ * Type of the promotional code.
2452
+ */
2453
+ promoCodeType?: 'code' | 'csv' | 'generate';
2454
+ /**
2455
+ * Array defining ranges and corresponding rewards.
2456
+ */
2457
+ range?: Array<Metadata.Range>;
2458
+ /**
2459
+ * Object defining referral requirements.
2460
+ */
2461
+ referralRequirements?: Metadata.ReferralRequirements | null;
2462
+ /**
2463
+ * Lump sum reward given to a referrer.
2464
+ */
2465
+ referrerReward?: number | null;
2466
+ /**
2467
+ * Loyalty currency ID of the referrer reward.
2468
+ */
2469
+ referrerRewardLoyaltyCurrencyId?: string | null;
2470
+ /**
2471
+ * Flag indicating if the post link is required.
2472
+ */
2473
+ requirePostLink?: boolean | null;
2474
+ /**
2475
+ * Flag indicating if media metadata is required.
2476
+ */
2477
+ requirePostMediaLink?: boolean | null;
2478
+ /**
2479
+ * Flag indicating if the rule can also reward badges per range.
2480
+ */
2481
+ rewardBadgePerRange?: boolean;
2482
+ /**
2483
+ * Flag indicating if the reward is rewarded by batch.
2484
+ */
2485
+ rewardByBatch?: boolean | null;
2486
+ /**
2487
+ * Flag indicating if the reward is rewarded per action.
2488
+ */
2489
+ rewardPerAction?: boolean | null;
2490
+ /**
2491
+ * Flag indicating if rewards are given per impression.
2492
+ */
2493
+ rewardPerImpression?: boolean | null;
2494
+ /**
2495
+ * Flag indicating if the rule should reward based on value of traded tokens
2496
+ * instead of count.
2497
+ */
2498
+ rewardPerValue?: boolean;
2499
+ /**
2500
+ * Wallet address of the user can only be used if userId is not provided
2501
+ */
2502
+ royaltyAddress?: string;
2503
+ /**
2504
+ * Royalty percentage of the item.
2505
+ */
2506
+ royaltyPercentage?: number;
2507
+ /**
2508
+ * Currency associated with sales.
2509
+ */
2510
+ saleCurrency?: string;
2511
+ /**
2512
+ * Percentage reward given for a second-level referral.
2513
+ */
2514
+ secondReferralReward?: number | null;
2515
+ /**
2516
+ * Flag indicating if the multiplier is skipped.
2517
+ */
2518
+ skipMultiplier?: boolean | null;
2519
+ /**
2520
+ * Object containing details of the associated smart contract.
2521
+ */
2522
+ smartContract?: Metadata.SmartContract;
2523
+ /**
2524
+ * Array of snapshot proposals for the rule.
2525
+ */
2526
+ snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2527
+ /**
2528
+ * Social media platform associated with the rule.
2529
+ */
2530
+ socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | null;
2531
+ /**
2532
+ * URL of the social platform's logo.
2533
+ */
2534
+ socialPlatformLogo?: string | null;
2535
+ /**
2536
+ * Name of the social platform.
2537
+ */
2538
+ socialPlatformName?: string | null;
2539
+ /**
2540
+ * ID of the Steam app.
2541
+ */
2542
+ steamAppId?: string | null;
2543
+ /**
2544
+ * Array of streak milestones and corresponding rewards.
2545
+ */
2546
+ streakArray?: Array<Metadata.StreakArray> | null;
2547
+ /**
2548
+ * Metadata for swap loyalty rules
2549
+ */
2550
+ swap?: Metadata.Swap;
2551
+ /**
2552
+ * ID of the Telegram channel.
2553
+ */
2554
+ telegramChannelId?: string | null;
2555
+ /**
2556
+ * Time delay in seconds to verify actions.
2557
+ */
2558
+ timeDelayToVerifySeconds?: string | number | null;
2559
+ /**
2560
+ * Flag indicating if all contracts are tracked.
2561
+ */
2562
+ trackAllContracts?: boolean | null;
2563
+ /**
2564
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
2565
+ * completed once the progress is 100%.
2566
+ */
2567
+ trackProgress?: boolean | null;
2568
+ /**
2569
+ * URL of the associated Twitter account.
2570
+ */
2571
+ twitterAccountUrl?: string;
2572
+ /**
2573
+ * Hashtag associated with the Twitter post.
2574
+ */
2575
+ twitterHashtag?: string;
2576
+ /**
2577
+ * URL of the associated Twitter post.
2578
+ */
2579
+ twitterPostUrl?: string;
2580
+ /**
2581
+ * Unique identifier of the Twitter user.
2582
+ */
2583
+ twitterUserId?: string;
2584
+ /**
2585
+ * Twitter username of the user.
2586
+ */
2587
+ twitterUsername?: string;
2588
+ /**
2589
+ * Minimum length of the verification text.
2590
+ */
2591
+ verificationTextMinimumLength?: number | null;
2592
+ /**
2593
+ * Multiplier applied to rewards for verified users.
2594
+ */
2595
+ verifiedMultiplier?: number | null;
2596
+ /**
2597
+ * Placeholder text for verification input fields.
2598
+ */
2599
+ verifyPlaceHolderText?: string | null;
2600
+ /**
2601
+ * Type of wallet associated with the rule.
2602
+ */
2603
+ walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | null;
2604
+ /**
2605
+ * ID of the Youtube channel.
2606
+ */
2607
+ youtubeChannelId?: string | null;
2608
+ /**
2609
+ * ID of the Youtube video.
2610
+ */
2611
+ youtubeVideoId?: string | null;
2612
+ }
2613
+ namespace Metadata {
2614
+ interface Collection {
2615
+ /**
2616
+ * Blockchain address of the collection.
2617
+ */
2618
+ address?: string;
2619
+ /**
2620
+ * Multiplier applied to the rewards for this collection.
2621
+ */
2622
+ multiplier?: number;
2623
+ /**
2624
+ * Blockchain network of the collection.
2625
+ */
2626
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
2627
+ }
2628
+ /**
2629
+ * Object containing details for the call-to-action.
2630
+ */
2631
+ interface Cta {
2632
+ /**
2633
+ * Link for the call-to-action.
2634
+ */
2635
+ href?: string | null;
2636
+ /**
2637
+ * Label for the call-to-action.
2638
+ */
2639
+ label?: string | null;
2640
+ }
2641
+ interface DiscordServersToJoin {
2642
+ /**
2643
+ * ID of the Discord server to join.
2644
+ */
2645
+ id?: string;
2646
+ /**
2647
+ * Array of Discord channels to join.
2648
+ */
2649
+ channels?: Array<DiscordServersToJoin.Channel>;
2650
+ /**
2651
+ * Array of roles to assign in the Discord server.
2652
+ */
2653
+ roles?: Array<DiscordServersToJoin.Role>;
2654
+ }
2655
+ namespace DiscordServersToJoin {
2656
+ interface Channel {
2657
+ /**
2658
+ * ID of the Discord channel.
2659
+ */
2660
+ id?: string;
2661
+ /**
2662
+ * Array of emojis used in the channel.
2663
+ */
2664
+ emojis?: Array<Channel.Emoji>;
2665
+ /**
2666
+ * Phrase of text to be present in the discord message
2667
+ */
2668
+ text?: string;
2669
+ }
2670
+ namespace Channel {
2671
+ interface Emoji {
2672
+ /**
2673
+ * ID of the emoji used in the channel.
2674
+ */
2675
+ id?: string;
2676
+ }
2677
+ }
2678
+ interface Role {
2679
+ /**
2680
+ * ID of the role in the Discord server.
2681
+ */
2682
+ id: string;
2683
+ }
2684
+ }
2685
+ interface DripQuestsToComplete {
2686
+ /**
2687
+ * ID of the drip quest to complete.
2688
+ */
2689
+ id: string;
2690
+ }
2691
+ /**
2692
+ * Liquidity pool details.
2693
+ */
2694
+ interface Liquidity {
2695
+ /**
2696
+ * Calculation type of the liquidity pool.
2697
+ */
2698
+ calculationType?: 'fixed' | 'custom';
2699
+ /**
2700
+ * Custom function to calculate the the reward amount based on the liquidity
2701
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
2702
+ * USD.
2703
+ */
2704
+ customFunction?: string;
2705
+ /**
2706
+ * Liquidity provided per day in USD
2707
+ */
2708
+ liquidityPerDay?: number;
2709
+ /**
2710
+ * Blockchain network of the liquidity pool.
2711
+ */
2712
+ network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp';
2713
+ /**
2714
+ * Indicates if only in-range liquidity is rewarded.
2715
+ */
2716
+ onlyRewardInRangeLiquidity?: boolean;
2717
+ /**
2718
+ * Array of liquidity pools associated with the rule.
2719
+ */
2720
+ pools?: Array<Liquidity.Pool>;
2721
+ /**
2722
+ * Protocol of the liquidity pool.
2723
+ */
2724
+ protocol?: string;
2725
+ }
2726
+ namespace Liquidity {
2727
+ interface Pool {
2728
+ /**
2729
+ * Unique identifier of the liquidity pool.
2730
+ */
2731
+ id: string;
2732
+ }
2733
+ }
2734
+ interface Range {
2735
+ /**
2736
+ * Reward amount for this range.
2737
+ */
2738
+ amount: number;
2739
+ /**
2740
+ * End value of the range.
2741
+ */
2742
+ endRange: number;
2743
+ /**
2744
+ * Start value of the range.
2745
+ */
2746
+ startRange: number;
2747
+ /**
2748
+ * ID of the loyalty badge for this range.
2749
+ */
2750
+ loyaltyBadgeId?: string;
2751
+ /**
2752
+ * Amount of the loyalty multiplier for this range.
2753
+ */
2754
+ loyaltyMultiplierAmount?: number;
2755
+ }
2756
+ /**
2757
+ * Object defining referral requirements.
2758
+ */
2759
+ interface ReferralRequirements {
2760
+ /**
2761
+ * Flag indicating if achieving points is required.
2762
+ */
2763
+ achievePoints?: boolean | null;
2764
+ /**
2765
+ * Flag indicating if completing the profile is required.
2766
+ */
2767
+ completeProfile?: boolean | null;
2768
+ /**
2769
+ * Flag indicating if connecting Discord is required.
2770
+ */
2771
+ connectDiscord?: boolean | null;
2772
+ /**
2773
+ * Flag indicating if connecting email is required.
2774
+ */
2775
+ connectEmail?: boolean | null;
2776
+ /**
2777
+ * Flag indicating if connecting Twitter is required.
2778
+ */
2779
+ connectTwitter?: boolean | null;
2780
+ points?: ReferralRequirements.Points | null;
2781
+ }
2782
+ namespace ReferralRequirements {
2783
+ interface Points {
2784
+ /**
2785
+ * Points required for referral.
2786
+ */
2787
+ amount?: number | null;
2788
+ /**
2789
+ * ID of the loyalty currency for referral.
2790
+ */
2791
+ loyaltyCurrecyId?: string | null;
2792
+ }
2793
+ }
2794
+ /**
2795
+ * Object containing details of the associated smart contract.
2796
+ */
2797
+ interface SmartContract {
2798
+ /**
2799
+ * Mapping of addresses for the smart contract.
2800
+ */
2801
+ addressMapping?: string | null;
2802
+ /**
2803
+ * Object containing details of the amount multiplier from the event.
2804
+ */
2805
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
2806
+ /**
2807
+ * ID of the smart contract.
2808
+ */
2809
+ contractId?: string | null;
2810
+ /**
2811
+ * Criteria to evaluate the smart contract event.
2812
+ */
2813
+ criteria?: 'everyEvent' | 'byParameter' | null;
2814
+ /**
2815
+ * Event emitted by the smart contract.
2816
+ */
2817
+ event?: string | null;
2818
+ /**
2819
+ * Array of parameters for the smart contract.
2820
+ */
2821
+ params?: Array<SmartContract.Param> | null;
2822
+ /**
2823
+ * Type of the smart contract interaction.
2824
+ */
2825
+ type?: 'function' | 'event' | null;
2826
+ }
2827
+ namespace SmartContract {
2828
+ /**
2829
+ * Object containing details of the amount multiplier from the event.
2830
+ */
2831
+ interface AmountMultiplier {
2832
+ /**
2833
+ * Mapping of the value for the smart contract.
2834
+ */
2835
+ valueMapping?: string | null;
2836
+ }
2837
+ interface Param {
2838
+ /**
2839
+ * Condition to check for the parameter.
2840
+ */
2841
+ condition?: string | null;
2842
+ /**
2843
+ * Name of the smart contract parameter.
2844
+ */
2845
+ name?: string | null;
2846
+ /**
2847
+ * Value of the parameter.
2848
+ */
2849
+ value?: string | null;
2850
+ }
2851
+ }
2852
+ interface SnapshotProposal {
2853
+ /**
2854
+ * ID of the snapshot proposal.
2855
+ */
2856
+ id: string;
2857
+ /**
2858
+ * Space associated with the snapshot proposal.
2859
+ */
2860
+ space: string;
2861
+ }
2862
+ interface StreakArray {
2863
+ /**
2864
+ * Reward amount for achieving the streak milestone.
2865
+ */
2866
+ streakAmount: number;
2867
+ /**
2868
+ * Milestone required to achieve the streak.
2869
+ */
2870
+ streakMilestone: number;
2871
+ }
2872
+ /**
2873
+ * Metadata for swap loyalty rules
2874
+ */
2875
+ interface Swap {
2876
+ provider?: 'any' | 'relay' | 'lifi';
2877
+ relayReferrerId?: string;
2878
+ requireCrossChainSwap?: boolean;
2879
+ swappedToChain?: 'any' | number | string;
2880
+ swappedToTokens?: Array<Swap.SwappedToToken>;
2881
+ tokenMode?: 'any' | 'specific';
2882
+ trackTokenAmount?: boolean;
2883
+ }
2884
+ namespace Swap {
2885
+ interface SwappedToToken {
2886
+ address: string;
2887
+ chainId: string;
2888
+ }
2889
+ }
2890
+ }
2891
+ }
2892
+ }
2893
+ export interface RuleEditListParams {
2894
+ /**
2895
+ * ID of the loyalty rule
2896
+ */
2897
+ loyaltyRuleId: boolean;
2898
+ /**
2899
+ * Maximum number of edits to return
2900
+ */
2901
+ limit?: number;
2902
+ /**
2903
+ * Unique identifier for the organization to filter by
2904
+ */
2905
+ organizationId?: string;
2906
+ /**
2907
+ * Pagination cursor to start after a specific rule edit ID
2908
+ */
2909
+ startingAfter?: string;
2910
+ /**
2911
+ * Unique identifier for the website to filter by
2912
+ */
2913
+ websiteId?: string;
2914
+ }
2915
+ export interface RuleEditRestoreParams {
2916
+ }
2917
+ export declare namespace RuleEdits {
2918
+ export { type RuleEditListResponse as RuleEditListResponse, type RuleEditRestoreResponse as RuleEditRestoreResponse, type RuleEditListParams as RuleEditListParams, type RuleEditRestoreParams as RuleEditRestoreParams, };
2919
+ }
2920
+ //# sourceMappingURL=rule-edits.d.ts.map