@snagsolutions/sdk 0.1.0-alpha.11 → 0.1.0-alpha.110

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