@snagsolutions/sdk 0.1.0-alpha.230 → 0.1.0-alpha.232

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 (786) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +42 -112
  3. package/_shims/MultipartBody.d.ts +9 -0
  4. package/_shims/MultipartBody.d.ts.map +1 -0
  5. package/_shims/MultipartBody.js +16 -0
  6. package/_shims/MultipartBody.js.map +1 -0
  7. package/_shims/MultipartBody.mjs +12 -0
  8. package/_shims/MultipartBody.mjs.map +1 -0
  9. package/_shims/README.md +46 -0
  10. package/_shims/auto/runtime-bun.d.ts +5 -0
  11. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  12. package/_shims/auto/runtime-bun.js +21 -0
  13. package/_shims/auto/runtime-bun.js.map +1 -0
  14. package/_shims/auto/runtime-bun.mjs +2 -0
  15. package/_shims/auto/runtime-bun.mjs.map +1 -0
  16. package/_shims/auto/runtime-node.d.ts +5 -0
  17. package/_shims/auto/runtime-node.d.ts.map +1 -0
  18. package/_shims/auto/runtime-node.js +21 -0
  19. package/_shims/auto/runtime-node.js.map +1 -0
  20. package/_shims/auto/runtime-node.mjs +2 -0
  21. package/_shims/auto/runtime-node.mjs.map +1 -0
  22. package/_shims/auto/runtime.d.ts +5 -0
  23. package/_shims/auto/runtime.d.ts.map +1 -0
  24. package/_shims/auto/runtime.js +21 -0
  25. package/_shims/auto/runtime.js.map +1 -0
  26. package/_shims/auto/runtime.mjs +2 -0
  27. package/_shims/auto/runtime.mjs.map +1 -0
  28. package/_shims/auto/types-node.d.ts +5 -0
  29. package/_shims/auto/types-node.d.ts.map +1 -0
  30. package/_shims/auto/types-node.js +21 -0
  31. package/_shims/auto/types-node.js.map +1 -0
  32. package/_shims/auto/types-node.mjs +2 -0
  33. package/_shims/auto/types-node.mjs.map +1 -0
  34. package/_shims/auto/types.d.ts +101 -0
  35. package/_shims/auto/types.js +3 -0
  36. package/_shims/auto/types.mjs +3 -0
  37. package/_shims/bun-runtime.d.ts +6 -0
  38. package/_shims/bun-runtime.d.ts.map +1 -0
  39. package/_shims/bun-runtime.js +14 -0
  40. package/_shims/bun-runtime.js.map +1 -0
  41. package/_shims/bun-runtime.mjs +10 -0
  42. package/_shims/bun-runtime.mjs.map +1 -0
  43. package/_shims/index.d.ts +83 -0
  44. package/_shims/index.js +17 -0
  45. package/_shims/index.mjs +11 -0
  46. package/_shims/manual-types.d.ts +12 -0
  47. package/_shims/manual-types.js +3 -0
  48. package/_shims/manual-types.mjs +3 -0
  49. package/_shims/node-runtime.d.ts +3 -0
  50. package/_shims/node-runtime.d.ts.map +1 -0
  51. package/_shims/node-runtime.js +89 -0
  52. package/_shims/node-runtime.js.map +1 -0
  53. package/_shims/node-runtime.mjs +56 -0
  54. package/_shims/node-runtime.mjs.map +1 -0
  55. package/_shims/node-types.d.ts +42 -0
  56. package/_shims/node-types.js +3 -0
  57. package/_shims/node-types.mjs +3 -0
  58. package/_shims/registry.d.ts +37 -0
  59. package/_shims/registry.d.ts.map +1 -0
  60. package/_shims/registry.js +41 -0
  61. package/_shims/registry.js.map +1 -0
  62. package/_shims/registry.mjs +37 -0
  63. package/_shims/registry.mjs.map +1 -0
  64. package/_shims/web-runtime.d.ts +5 -0
  65. package/_shims/web-runtime.d.ts.map +1 -0
  66. package/_shims/web-runtime.js +78 -0
  67. package/_shims/web-runtime.js.map +1 -0
  68. package/_shims/web-runtime.mjs +71 -0
  69. package/_shims/web-runtime.mjs.map +1 -0
  70. package/_shims/web-types.d.ts +83 -0
  71. package/_shims/web-types.js +3 -0
  72. package/_shims/web-types.mjs +3 -0
  73. package/core.d.ts +255 -0
  74. package/core.d.ts.map +1 -0
  75. package/core.js +929 -0
  76. package/core.js.map +1 -0
  77. package/core.mjs +897 -0
  78. package/core.mjs.map +1 -0
  79. package/error.d.ts +46 -1
  80. package/error.d.ts.map +1 -1
  81. package/error.js +110 -3
  82. package/error.js.map +1 -1
  83. package/error.mjs +96 -1
  84. package/error.mjs.map +1 -1
  85. package/index.d.mts +138 -6
  86. package/index.d.ts +137 -5
  87. package/index.d.ts.map +1 -1
  88. package/index.js +136 -12
  89. package/index.js.map +1 -1
  90. package/index.mjs +109 -5
  91. package/index.mjs.map +1 -1
  92. package/internal/qs/formats.d.ts +0 -1
  93. package/internal/qs/formats.d.ts.map +1 -1
  94. package/internal/qs/formats.js +2 -4
  95. package/internal/qs/formats.js.map +1 -1
  96. package/internal/qs/formats.mjs +1 -2
  97. package/internal/qs/formats.mjs.map +1 -1
  98. package/internal/qs/index.d.ts.map +1 -1
  99. package/internal/qs/stringify.d.ts.map +1 -1
  100. package/internal/qs/stringify.js +19 -16
  101. package/internal/qs/stringify.js.map +1 -1
  102. package/internal/qs/stringify.mjs +19 -17
  103. package/internal/qs/stringify.mjs.map +1 -1
  104. package/internal/qs/utils.d.ts +0 -1
  105. package/internal/qs/utils.d.ts.map +1 -1
  106. package/internal/qs/utils.js +21 -22
  107. package/internal/qs/utils.js.map +1 -1
  108. package/internal/qs/utils.mjs +12 -12
  109. package/internal/qs/utils.mjs.map +1 -1
  110. package/package.json +65 -101
  111. package/resource.d.ts +5 -1
  112. package/resource.d.ts.map +1 -1
  113. package/resource.js +8 -3
  114. package/resource.js.map +1 -1
  115. package/resource.mjs +6 -1
  116. package/resource.mjs.map +1 -1
  117. package/resources/assets.d.ts +3 -4
  118. package/resources/assets.d.ts.map +1 -1
  119. package/resources/assets.js +1 -1
  120. package/resources/assets.js.map +1 -1
  121. package/resources/assets.mjs +1 -1
  122. package/resources/assets.mjs.map +1 -1
  123. package/resources/auctions/auctions.d.ts +6 -6
  124. package/resources/auctions/auctions.d.ts.map +1 -1
  125. package/resources/auctions/auctions.js +29 -11
  126. package/resources/auctions/auctions.js.map +1 -1
  127. package/resources/auctions/auctions.mjs +5 -9
  128. package/resources/auctions/auctions.mjs.map +1 -1
  129. package/resources/auctions/index.d.ts.map +1 -1
  130. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -1
  131. package/resources/auctions/website-user-attributes/values.d.ts +4 -5
  132. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -1
  133. package/resources/auctions/website-user-attributes/values.js +1 -1
  134. package/resources/auctions/website-user-attributes/values.js.map +1 -1
  135. package/resources/auctions/website-user-attributes/values.mjs +1 -1
  136. package/resources/auctions/website-user-attributes/values.mjs.map +1 -1
  137. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +6 -6
  138. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -1
  139. package/resources/auctions/website-user-attributes/website-user-attributes.js +31 -15
  140. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -1
  141. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +7 -13
  142. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -1
  143. package/resources/auctions/website-user-attributes.d.ts.map +1 -1
  144. package/resources/auctions/website-user-attributes.js +15 -2
  145. package/resources/auctions/website-user-attributes.js.map +1 -1
  146. package/resources/auctions.d.ts.map +1 -1
  147. package/resources/auctions.js +15 -2
  148. package/resources/auctions.js.map +1 -1
  149. package/resources/auth.d.ts +52 -5
  150. package/resources/auth.d.ts.map +1 -1
  151. package/resources/auth.js +11 -5
  152. package/resources/auth.js.map +1 -1
  153. package/resources/auth.mjs +11 -5
  154. package/resources/auth.mjs.map +1 -1
  155. package/resources/index.d.ts +1 -1
  156. package/resources/index.d.ts.map +1 -1
  157. package/resources/index.js.map +1 -1
  158. package/resources/index.mjs +1 -1
  159. package/resources/index.mjs.map +1 -1
  160. package/resources/loyalty/account-streaks.d.ts +3 -4
  161. package/resources/loyalty/account-streaks.d.ts.map +1 -1
  162. package/resources/loyalty/account-streaks.js +1 -1
  163. package/resources/loyalty/account-streaks.js.map +1 -1
  164. package/resources/loyalty/account-streaks.mjs +1 -1
  165. package/resources/loyalty/account-streaks.mjs.map +1 -1
  166. package/resources/loyalty/accounts.d.ts +5 -5
  167. package/resources/loyalty/accounts.d.ts.map +1 -1
  168. package/resources/loyalty/accounts.js +6 -11
  169. package/resources/loyalty/accounts.js.map +1 -1
  170. package/resources/loyalty/accounts.mjs +6 -11
  171. package/resources/loyalty/accounts.mjs.map +1 -1
  172. package/resources/loyalty/badges.d.ts +12 -9
  173. package/resources/loyalty/badges.d.ts.map +1 -1
  174. package/resources/loyalty/badges.js +18 -44
  175. package/resources/loyalty/badges.js.map +1 -1
  176. package/resources/loyalty/badges.mjs +18 -44
  177. package/resources/loyalty/badges.mjs.map +1 -1
  178. package/resources/loyalty/currencies.d.ts +4 -5
  179. package/resources/loyalty/currencies.d.ts.map +1 -1
  180. package/resources/loyalty/currencies.js +1 -1
  181. package/resources/loyalty/currencies.js.map +1 -1
  182. package/resources/loyalty/currencies.mjs +1 -1
  183. package/resources/loyalty/currencies.mjs.map +1 -1
  184. package/resources/loyalty/index.d.ts.map +1 -1
  185. package/resources/loyalty/loyalty.d.ts +1 -1
  186. package/resources/loyalty/loyalty.d.ts.map +1 -1
  187. package/resources/loyalty/loyalty.js +35 -13
  188. package/resources/loyalty/loyalty.js.map +1 -1
  189. package/resources/loyalty/loyalty.mjs +1 -1
  190. package/resources/loyalty/multipliers.d.ts +10 -9
  191. package/resources/loyalty/multipliers.d.ts.map +1 -1
  192. package/resources/loyalty/multipliers.js +14 -26
  193. package/resources/loyalty/multipliers.js.map +1 -1
  194. package/resources/loyalty/multipliers.mjs +14 -26
  195. package/resources/loyalty/multipliers.mjs.map +1 -1
  196. package/resources/loyalty/questions-responses.d.ts +5 -5
  197. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  198. package/resources/loyalty/questions-responses.js +5 -11
  199. package/resources/loyalty/questions-responses.js.map +1 -1
  200. package/resources/loyalty/questions-responses.mjs +5 -11
  201. package/resources/loyalty/questions-responses.mjs.map +1 -1
  202. package/resources/loyalty/questions.d.ts +5 -6
  203. package/resources/loyalty/questions.d.ts.map +1 -1
  204. package/resources/loyalty/questions.js +2 -3
  205. package/resources/loyalty/questions.js.map +1 -1
  206. package/resources/loyalty/questions.mjs +2 -3
  207. package/resources/loyalty/questions.mjs.map +1 -1
  208. package/resources/loyalty/rule-edits.d.ts +4 -5
  209. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  210. package/resources/loyalty/rule-edits.js +2 -3
  211. package/resources/loyalty/rule-edits.js.map +1 -1
  212. package/resources/loyalty/rule-edits.mjs +2 -3
  213. package/resources/loyalty/rule-edits.mjs.map +1 -1
  214. package/resources/loyalty/rule-groups.d.ts +8 -7
  215. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  216. package/resources/loyalty/rule-groups.js +10 -24
  217. package/resources/loyalty/rule-groups.js.map +1 -1
  218. package/resources/loyalty/rule-groups.mjs +10 -24
  219. package/resources/loyalty/rule-groups.mjs.map +1 -1
  220. package/resources/loyalty/rules.d.ts +12 -9
  221. package/resources/loyalty/rules.d.ts.map +1 -1
  222. package/resources/loyalty/rules.js +18 -48
  223. package/resources/loyalty/rules.js.map +1 -1
  224. package/resources/loyalty/rules.mjs +18 -48
  225. package/resources/loyalty/rules.mjs.map +1 -1
  226. package/resources/loyalty/transactions/index.d.ts.map +1 -1
  227. package/resources/loyalty/transactions/posts.d.ts +5 -5
  228. package/resources/loyalty/transactions/posts.d.ts.map +1 -1
  229. package/resources/loyalty/transactions/posts.js +6 -14
  230. package/resources/loyalty/transactions/posts.js.map +1 -1
  231. package/resources/loyalty/transactions/posts.mjs +6 -14
  232. package/resources/loyalty/transactions/posts.mjs.map +1 -1
  233. package/resources/loyalty/transactions/rule-statuses.d.ts +5 -5
  234. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -1
  235. package/resources/loyalty/transactions/rule-statuses.js +5 -10
  236. package/resources/loyalty/transactions/rule-statuses.js.map +1 -1
  237. package/resources/loyalty/transactions/rule-statuses.mjs +5 -10
  238. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -1
  239. package/resources/loyalty/transactions/transactions.d.ts +8 -8
  240. package/resources/loyalty/transactions/transactions.d.ts.map +1 -1
  241. package/resources/loyalty/transactions/transactions.js +30 -14
  242. package/resources/loyalty/transactions/transactions.js.map +1 -1
  243. package/resources/loyalty/transactions/transactions.mjs +5 -11
  244. package/resources/loyalty/transactions/transactions.mjs.map +1 -1
  245. package/resources/loyalty/transactions.d.ts.map +1 -1
  246. package/resources/loyalty/transactions.js +15 -2
  247. package/resources/loyalty/transactions.js.map +1 -1
  248. package/resources/loyalty.d.ts.map +1 -1
  249. package/resources/loyalty.js +15 -2
  250. package/resources/loyalty.js.map +1 -1
  251. package/resources/minting/allowlist.d.ts +4 -5
  252. package/resources/minting/allowlist.d.ts.map +1 -1
  253. package/resources/minting/allowlist.js +1 -1
  254. package/resources/minting/allowlist.js.map +1 -1
  255. package/resources/minting/allowlist.mjs +1 -1
  256. package/resources/minting/allowlist.mjs.map +1 -1
  257. package/resources/minting/contracts.d.ts +5 -5
  258. package/resources/minting/contracts.d.ts.map +1 -1
  259. package/resources/minting/contracts.js +5 -9
  260. package/resources/minting/contracts.js.map +1 -1
  261. package/resources/minting/contracts.mjs +5 -9
  262. package/resources/minting/contracts.mjs.map +1 -1
  263. package/resources/minting/index.d.ts.map +1 -1
  264. package/resources/minting/minting.d.ts +4 -5
  265. package/resources/minting/minting.d.ts.map +1 -1
  266. package/resources/minting/minting.js +27 -5
  267. package/resources/minting/minting.js.map +1 -1
  268. package/resources/minting/minting.mjs +1 -1
  269. package/resources/minting/minting.mjs.map +1 -1
  270. package/resources/minting/status.d.ts +4 -5
  271. package/resources/minting/status.d.ts.map +1 -1
  272. package/resources/minting/status.js +3 -4
  273. package/resources/minting/status.js.map +1 -1
  274. package/resources/minting/status.mjs +3 -4
  275. package/resources/minting/status.mjs.map +1 -1
  276. package/resources/minting.d.ts.map +1 -1
  277. package/resources/minting.js +15 -2
  278. package/resources/minting.js.map +1 -1
  279. package/resources/referral/index.d.ts.map +1 -1
  280. package/resources/referral/referral.d.ts +3 -4
  281. package/resources/referral/referral.d.ts.map +1 -1
  282. package/resources/referral/referral.js +25 -3
  283. package/resources/referral/referral.js.map +1 -1
  284. package/resources/referral/referral.mjs +1 -1
  285. package/resources/referral/referral.mjs.map +1 -1
  286. package/resources/referral/users.d.ts +5 -5
  287. package/resources/referral/users.d.ts.map +1 -1
  288. package/resources/referral/users.js +5 -9
  289. package/resources/referral/users.js.map +1 -1
  290. package/resources/referral/users.mjs +5 -9
  291. package/resources/referral/users.mjs.map +1 -1
  292. package/resources/referral.d.ts.map +1 -1
  293. package/resources/referral.js +15 -2
  294. package/resources/referral.js.map +1 -1
  295. package/resources/token-claims.d.ts +10 -9
  296. package/resources/token-claims.d.ts.map +1 -1
  297. package/resources/token-claims.js +16 -16
  298. package/resources/token-claims.js.map +1 -1
  299. package/resources/token-claims.mjs +16 -16
  300. package/resources/token-claims.mjs.map +1 -1
  301. package/resources/users/index.d.ts.map +1 -1
  302. package/resources/users/metadatas.d.ts +6 -5
  303. package/resources/users/metadatas.d.ts.map +1 -1
  304. package/resources/users/metadatas.js +8 -17
  305. package/resources/users/metadatas.js.map +1 -1
  306. package/resources/users/metadatas.mjs +8 -17
  307. package/resources/users/metadatas.mjs.map +1 -1
  308. package/resources/users/users.d.ts +13 -9
  309. package/resources/users/users.d.ts.map +1 -1
  310. package/resources/users/users.js +29 -11
  311. package/resources/users/users.js.map +1 -1
  312. package/resources/users/users.mjs +5 -9
  313. package/resources/users/users.mjs.map +1 -1
  314. package/resources/users.d.ts.map +1 -1
  315. package/resources/users.js +15 -2
  316. package/resources/users.js.map +1 -1
  317. package/resources/websites/index.d.ts.map +1 -1
  318. package/resources/websites/website-collections.d.ts +4 -5
  319. package/resources/websites/website-collections.d.ts.map +1 -1
  320. package/resources/websites/website-collections.js +2 -3
  321. package/resources/websites/website-collections.js.map +1 -1
  322. package/resources/websites/website-collections.mjs +2 -3
  323. package/resources/websites/website-collections.mjs.map +1 -1
  324. package/resources/websites/website-user-roles.d.ts +4 -5
  325. package/resources/websites/website-user-roles.d.ts.map +1 -1
  326. package/resources/websites/website-user-roles.js +1 -1
  327. package/resources/websites/website-user-roles.js.map +1 -1
  328. package/resources/websites/website-user-roles.mjs +1 -1
  329. package/resources/websites/website-user-roles.mjs.map +1 -1
  330. package/resources/websites/websites.d.ts +5 -5
  331. package/resources/websites/websites.d.ts.map +1 -1
  332. package/resources/websites/websites.js +30 -13
  333. package/resources/websites/websites.js.map +1 -1
  334. package/resources/websites/websites.mjs +5 -10
  335. package/resources/websites/websites.mjs.map +1 -1
  336. package/resources/websites.d.ts.map +1 -1
  337. package/resources/websites.js +15 -2
  338. package/resources/websites.js.map +1 -1
  339. package/resources.d.ts.map +1 -1
  340. package/resources.js +15 -2
  341. package/resources.js.map +1 -1
  342. package/shims/node.d.ts +30 -0
  343. package/shims/node.d.ts.map +1 -0
  344. package/shims/node.js +31 -0
  345. package/shims/node.js.map +1 -0
  346. package/shims/node.mjs +5 -0
  347. package/shims/node.mjs.map +1 -0
  348. package/shims/web.d.ts +26 -0
  349. package/shims/web.d.ts.map +1 -0
  350. package/shims/web.js +31 -0
  351. package/shims/web.js.map +1 -0
  352. package/shims/web.mjs +5 -0
  353. package/shims/web.mjs.map +1 -0
  354. package/src/_shims/MultipartBody.ts +9 -0
  355. package/src/_shims/README.md +46 -0
  356. package/src/_shims/auto/runtime-bun.ts +4 -0
  357. package/src/_shims/auto/runtime-node.ts +4 -0
  358. package/src/_shims/auto/runtime.ts +4 -0
  359. package/src/_shims/auto/types-node.ts +4 -0
  360. package/src/_shims/auto/types.d.ts +101 -0
  361. package/src/_shims/auto/types.js +3 -0
  362. package/src/_shims/auto/types.mjs +3 -0
  363. package/src/_shims/bun-runtime.ts +14 -0
  364. package/src/_shims/index.d.ts +83 -0
  365. package/src/_shims/index.js +17 -0
  366. package/src/_shims/index.mjs +11 -0
  367. package/src/_shims/manual-types.d.ts +12 -0
  368. package/src/_shims/manual-types.js +3 -0
  369. package/src/_shims/manual-types.mjs +3 -0
  370. package/src/_shims/node-runtime.ts +81 -0
  371. package/src/_shims/node-types.d.ts +42 -0
  372. package/src/_shims/node-types.js +3 -0
  373. package/src/_shims/node-types.mjs +3 -0
  374. package/src/_shims/registry.ts +67 -0
  375. package/src/_shims/web-runtime.ts +103 -0
  376. package/src/_shims/web-types.d.ts +83 -0
  377. package/src/_shims/web-types.js +3 -0
  378. package/src/_shims/web-types.mjs +3 -0
  379. package/src/core.ts +1243 -0
  380. package/src/error.ts +130 -2
  381. package/src/index.ts +342 -5
  382. package/src/internal/qs/formats.ts +1 -2
  383. package/src/internal/qs/stringify.ts +20 -17
  384. package/src/internal/qs/utils.ts +14 -14
  385. package/src/resource.ts +11 -2
  386. package/src/resources/assets.ts +6 -4
  387. package/src/resources/auctions/auctions.ts +17 -9
  388. package/src/resources/auctions/website-user-attributes/values.ts +4 -5
  389. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +20 -13
  390. package/src/resources/auth.ts +107 -8
  391. package/src/resources/index.ts +7 -1
  392. package/src/resources/loyalty/account-streaks.ts +4 -5
  393. package/src/resources/loyalty/accounts.ts +14 -10
  394. package/src/resources/loyalty/badges.ts +53 -22
  395. package/src/resources/loyalty/currencies.ts +4 -5
  396. package/src/resources/loyalty/loyalty.ts +1 -1
  397. package/src/resources/loyalty/multipliers.ts +35 -19
  398. package/src/resources/loyalty/questions-responses.ts +16 -8
  399. package/src/resources/loyalty/questions.ts +7 -9
  400. package/src/resources/loyalty/rule-edits.ts +6 -8
  401. package/src/resources/loyalty/rule-groups.ts +34 -15
  402. package/src/resources/loyalty/rules.ts +56 -22
  403. package/src/resources/loyalty/transactions/posts.ts +17 -9
  404. package/src/resources/loyalty/transactions/rule-statuses.ts +15 -7
  405. package/src/resources/loyalty/transactions/transactions.ts +24 -14
  406. package/src/resources/minting/allowlist.ts +7 -5
  407. package/src/resources/minting/contracts.ts +12 -7
  408. package/src/resources/minting/minting.ts +8 -6
  409. package/src/resources/minting/status.ts +10 -8
  410. package/src/resources/referral/referral.ts +4 -5
  411. package/src/resources/referral/users.ts +12 -7
  412. package/src/resources/token-claims.ts +39 -26
  413. package/src/resources/users/metadatas.ts +19 -9
  414. package/src/resources/users/users.ts +30 -11
  415. package/src/resources/websites/website-collections.ts +6 -8
  416. package/src/resources/websites/website-user-roles.ts +8 -6
  417. package/src/resources/websites/websites.ts +12 -7
  418. package/src/shims/node.ts +50 -0
  419. package/src/shims/web.ts +50 -0
  420. package/src/tsconfig.json +2 -2
  421. package/src/uploads.ts +255 -2
  422. package/src/version.ts +1 -1
  423. package/uploads.d.ts +74 -1
  424. package/uploads.d.ts.map +1 -1
  425. package/uploads.js +168 -3
  426. package/uploads.js.map +1 -1
  427. package/uploads.mjs +157 -1
  428. package/uploads.mjs.map +1 -1
  429. package/version.d.ts +1 -1
  430. package/version.js +1 -1
  431. package/version.mjs +1 -1
  432. package/api-promise.d.mts +0 -2
  433. package/api-promise.d.mts.map +0 -1
  434. package/api-promise.d.ts +0 -2
  435. package/api-promise.d.ts.map +0 -1
  436. package/api-promise.js +0 -6
  437. package/api-promise.js.map +0 -1
  438. package/api-promise.mjs +0 -2
  439. package/api-promise.mjs.map +0 -1
  440. package/client.d.mts +0 -202
  441. package/client.d.mts.map +0 -1
  442. package/client.d.ts +0 -202
  443. package/client.d.ts.map +0 -1
  444. package/client.js +0 -478
  445. package/client.js.map +0 -1
  446. package/client.mjs +0 -474
  447. package/client.mjs.map +0 -1
  448. package/core/api-promise.d.mts +0 -46
  449. package/core/api-promise.d.mts.map +0 -1
  450. package/core/api-promise.d.ts +0 -46
  451. package/core/api-promise.d.ts.map +0 -1
  452. package/core/api-promise.js +0 -74
  453. package/core/api-promise.js.map +0 -1
  454. package/core/api-promise.mjs +0 -70
  455. package/core/api-promise.mjs.map +0 -1
  456. package/core/error.d.mts +0 -46
  457. package/core/error.d.mts.map +0 -1
  458. package/core/error.d.ts +0 -46
  459. package/core/error.d.ts.map +0 -1
  460. package/core/error.js +0 -113
  461. package/core/error.js.map +0 -1
  462. package/core/error.mjs +0 -97
  463. package/core/error.mjs.map +0 -1
  464. package/core/resource.d.mts +0 -6
  465. package/core/resource.d.mts.map +0 -1
  466. package/core/resource.d.ts +0 -6
  467. package/core/resource.d.ts.map +0 -1
  468. package/core/resource.js +0 -11
  469. package/core/resource.js.map +0 -1
  470. package/core/resource.mjs +0 -7
  471. package/core/resource.mjs.map +0 -1
  472. package/core/uploads.d.mts +0 -3
  473. package/core/uploads.d.mts.map +0 -1
  474. package/core/uploads.d.ts +0 -3
  475. package/core/uploads.d.ts.map +0 -1
  476. package/core/uploads.js +0 -6
  477. package/core/uploads.js.map +0 -1
  478. package/core/uploads.mjs +0 -2
  479. package/core/uploads.mjs.map +0 -1
  480. package/error.d.mts +0 -2
  481. package/error.d.mts.map +0 -1
  482. package/index.d.mts.map +0 -1
  483. package/internal/builtin-types.d.mts +0 -73
  484. package/internal/builtin-types.d.mts.map +0 -1
  485. package/internal/builtin-types.d.ts +0 -73
  486. package/internal/builtin-types.d.ts.map +0 -1
  487. package/internal/builtin-types.js +0 -4
  488. package/internal/builtin-types.js.map +0 -1
  489. package/internal/builtin-types.mjs +0 -3
  490. package/internal/builtin-types.mjs.map +0 -1
  491. package/internal/detect-platform.d.mts +0 -15
  492. package/internal/detect-platform.d.mts.map +0 -1
  493. package/internal/detect-platform.d.ts +0 -15
  494. package/internal/detect-platform.d.ts.map +0 -1
  495. package/internal/detect-platform.js +0 -162
  496. package/internal/detect-platform.js.map +0 -1
  497. package/internal/detect-platform.mjs +0 -157
  498. package/internal/detect-platform.mjs.map +0 -1
  499. package/internal/errors.d.mts +0 -3
  500. package/internal/errors.d.mts.map +0 -1
  501. package/internal/errors.d.ts +0 -3
  502. package/internal/errors.d.ts.map +0 -1
  503. package/internal/errors.js +0 -41
  504. package/internal/errors.js.map +0 -1
  505. package/internal/errors.mjs +0 -36
  506. package/internal/errors.mjs.map +0 -1
  507. package/internal/headers.d.mts +0 -20
  508. package/internal/headers.d.mts.map +0 -1
  509. package/internal/headers.d.ts +0 -20
  510. package/internal/headers.d.ts.map +0 -1
  511. package/internal/headers.js +0 -79
  512. package/internal/headers.js.map +0 -1
  513. package/internal/headers.mjs +0 -74
  514. package/internal/headers.mjs.map +0 -1
  515. package/internal/parse.d.mts +0 -12
  516. package/internal/parse.d.mts.map +0 -1
  517. package/internal/parse.d.ts +0 -12
  518. package/internal/parse.d.ts.map +0 -1
  519. package/internal/parse.js +0 -40
  520. package/internal/parse.js.map +0 -1
  521. package/internal/parse.mjs +0 -37
  522. package/internal/parse.mjs.map +0 -1
  523. package/internal/qs/formats.d.mts +0 -7
  524. package/internal/qs/formats.d.mts.map +0 -1
  525. package/internal/qs/index.d.mts +0 -10
  526. package/internal/qs/index.d.mts.map +0 -1
  527. package/internal/qs/stringify.d.mts +0 -3
  528. package/internal/qs/stringify.d.mts.map +0 -1
  529. package/internal/qs/types.d.mts +0 -57
  530. package/internal/qs/types.d.mts.map +0 -1
  531. package/internal/qs/utils.d.mts +0 -15
  532. package/internal/qs/utils.d.mts.map +0 -1
  533. package/internal/request-options.d.mts +0 -75
  534. package/internal/request-options.d.mts.map +0 -1
  535. package/internal/request-options.d.ts +0 -75
  536. package/internal/request-options.d.ts.map +0 -1
  537. package/internal/request-options.js +0 -14
  538. package/internal/request-options.js.map +0 -1
  539. package/internal/request-options.mjs +0 -10
  540. package/internal/request-options.mjs.map +0 -1
  541. package/internal/shim-types.d.mts +0 -17
  542. package/internal/shim-types.d.mts.map +0 -1
  543. package/internal/shim-types.d.ts +0 -17
  544. package/internal/shim-types.d.ts.map +0 -1
  545. package/internal/shim-types.js +0 -4
  546. package/internal/shim-types.js.map +0 -1
  547. package/internal/shim-types.mjs +0 -3
  548. package/internal/shim-types.mjs.map +0 -1
  549. package/internal/shims.d.mts +0 -20
  550. package/internal/shims.d.mts.map +0 -1
  551. package/internal/shims.d.ts +0 -20
  552. package/internal/shims.d.ts.map +0 -1
  553. package/internal/shims.js +0 -92
  554. package/internal/shims.js.map +0 -1
  555. package/internal/shims.mjs +0 -85
  556. package/internal/shims.mjs.map +0 -1
  557. package/internal/to-file.d.mts +0 -45
  558. package/internal/to-file.d.mts.map +0 -1
  559. package/internal/to-file.d.ts +0 -45
  560. package/internal/to-file.d.ts.map +0 -1
  561. package/internal/to-file.js +0 -91
  562. package/internal/to-file.js.map +0 -1
  563. package/internal/to-file.mjs +0 -88
  564. package/internal/to-file.mjs.map +0 -1
  565. package/internal/tslib.js +0 -81
  566. package/internal/tslib.mjs +0 -17
  567. package/internal/types.d.mts +0 -69
  568. package/internal/types.d.mts.map +0 -1
  569. package/internal/types.d.ts +0 -69
  570. package/internal/types.d.ts.map +0 -1
  571. package/internal/types.js +0 -4
  572. package/internal/types.js.map +0 -1
  573. package/internal/types.mjs +0 -3
  574. package/internal/types.mjs.map +0 -1
  575. package/internal/uploads.d.mts +0 -42
  576. package/internal/uploads.d.mts.map +0 -1
  577. package/internal/uploads.d.ts +0 -42
  578. package/internal/uploads.d.ts.map +0 -1
  579. package/internal/uploads.js +0 -141
  580. package/internal/uploads.js.map +0 -1
  581. package/internal/uploads.mjs +0 -131
  582. package/internal/uploads.mjs.map +0 -1
  583. package/internal/utils/base64.d.mts +0 -3
  584. package/internal/utils/base64.d.mts.map +0 -1
  585. package/internal/utils/base64.d.ts +0 -3
  586. package/internal/utils/base64.d.ts.map +0 -1
  587. package/internal/utils/base64.js +0 -38
  588. package/internal/utils/base64.js.map +0 -1
  589. package/internal/utils/base64.mjs +0 -33
  590. package/internal/utils/base64.mjs.map +0 -1
  591. package/internal/utils/bytes.d.mts +0 -4
  592. package/internal/utils/bytes.d.mts.map +0 -1
  593. package/internal/utils/bytes.d.ts +0 -4
  594. package/internal/utils/bytes.d.ts.map +0 -1
  595. package/internal/utils/bytes.js +0 -31
  596. package/internal/utils/bytes.js.map +0 -1
  597. package/internal/utils/bytes.mjs +0 -26
  598. package/internal/utils/bytes.mjs.map +0 -1
  599. package/internal/utils/env.d.mts +0 -9
  600. package/internal/utils/env.d.mts.map +0 -1
  601. package/internal/utils/env.d.ts +0 -9
  602. package/internal/utils/env.d.ts.map +0 -1
  603. package/internal/utils/env.js +0 -22
  604. package/internal/utils/env.js.map +0 -1
  605. package/internal/utils/env.mjs +0 -18
  606. package/internal/utils/env.mjs.map +0 -1
  607. package/internal/utils/log.d.mts +0 -37
  608. package/internal/utils/log.d.mts.map +0 -1
  609. package/internal/utils/log.d.ts +0 -37
  610. package/internal/utils/log.d.ts.map +0 -1
  611. package/internal/utils/log.js +0 -86
  612. package/internal/utils/log.js.map +0 -1
  613. package/internal/utils/log.mjs +0 -80
  614. package/internal/utils/log.mjs.map +0 -1
  615. package/internal/utils/path.d.mts +0 -15
  616. package/internal/utils/path.d.mts.map +0 -1
  617. package/internal/utils/path.d.ts +0 -15
  618. package/internal/utils/path.d.ts.map +0 -1
  619. package/internal/utils/path.js +0 -79
  620. package/internal/utils/path.js.map +0 -1
  621. package/internal/utils/path.mjs +0 -74
  622. package/internal/utils/path.mjs.map +0 -1
  623. package/internal/utils/sleep.d.mts +0 -2
  624. package/internal/utils/sleep.d.mts.map +0 -1
  625. package/internal/utils/sleep.d.ts +0 -2
  626. package/internal/utils/sleep.d.ts.map +0 -1
  627. package/internal/utils/sleep.js +0 -7
  628. package/internal/utils/sleep.js.map +0 -1
  629. package/internal/utils/sleep.mjs +0 -3
  630. package/internal/utils/sleep.mjs.map +0 -1
  631. package/internal/utils/uuid.d.mts +0 -5
  632. package/internal/utils/uuid.d.mts.map +0 -1
  633. package/internal/utils/uuid.d.ts +0 -5
  634. package/internal/utils/uuid.d.ts.map +0 -1
  635. package/internal/utils/uuid.js +0 -19
  636. package/internal/utils/uuid.js.map +0 -1
  637. package/internal/utils/uuid.mjs +0 -15
  638. package/internal/utils/uuid.mjs.map +0 -1
  639. package/internal/utils/values.d.mts +0 -18
  640. package/internal/utils/values.d.mts.map +0 -1
  641. package/internal/utils/values.d.ts +0 -18
  642. package/internal/utils/values.d.ts.map +0 -1
  643. package/internal/utils/values.js +0 -112
  644. package/internal/utils/values.js.map +0 -1
  645. package/internal/utils/values.mjs +0 -94
  646. package/internal/utils/values.mjs.map +0 -1
  647. package/internal/utils.d.mts +0 -7
  648. package/internal/utils.d.mts.map +0 -1
  649. package/internal/utils.d.ts +0 -7
  650. package/internal/utils.d.ts.map +0 -1
  651. package/internal/utils.js +0 -11
  652. package/internal/utils.js.map +0 -1
  653. package/internal/utils.mjs +0 -8
  654. package/internal/utils.mjs.map +0 -1
  655. package/resource.d.mts +0 -2
  656. package/resource.d.mts.map +0 -1
  657. package/resources/assets.d.mts +0 -65
  658. package/resources/assets.d.mts.map +0 -1
  659. package/resources/auctions/auctions.d.mts +0 -368
  660. package/resources/auctions/auctions.d.mts.map +0 -1
  661. package/resources/auctions/index.d.mts +0 -3
  662. package/resources/auctions/index.d.mts.map +0 -1
  663. package/resources/auctions/website-user-attributes/index.d.mts +0 -3
  664. package/resources/auctions/website-user-attributes/index.d.mts.map +0 -1
  665. package/resources/auctions/website-user-attributes/values.d.mts +0 -127
  666. package/resources/auctions/website-user-attributes/values.d.mts.map +0 -1
  667. package/resources/auctions/website-user-attributes/website-user-attributes.d.mts +0 -136
  668. package/resources/auctions/website-user-attributes/website-user-attributes.d.mts.map +0 -1
  669. package/resources/auctions/website-user-attributes.d.mts +0 -2
  670. package/resources/auctions/website-user-attributes.d.mts.map +0 -1
  671. package/resources/auctions.d.mts +0 -2
  672. package/resources/auctions.d.mts.map +0 -1
  673. package/resources/auth.d.mts +0 -53
  674. package/resources/auth.d.mts.map +0 -1
  675. package/resources/index.d.mts +0 -10
  676. package/resources/index.d.mts.map +0 -1
  677. package/resources/loyalty/account-streaks.d.mts +0 -97
  678. package/resources/loyalty/account-streaks.d.mts.map +0 -1
  679. package/resources/loyalty/accounts.d.mts +0 -238
  680. package/resources/loyalty/accounts.d.mts.map +0 -1
  681. package/resources/loyalty/badges.d.mts +0 -1398
  682. package/resources/loyalty/badges.d.mts.map +0 -1
  683. package/resources/loyalty/currencies.d.mts +0 -272
  684. package/resources/loyalty/currencies.d.mts.map +0 -1
  685. package/resources/loyalty/index.d.mts +0 -13
  686. package/resources/loyalty/index.d.mts.map +0 -1
  687. package/resources/loyalty/loyalty.d.mts +0 -50
  688. package/resources/loyalty/loyalty.d.mts.map +0 -1
  689. package/resources/loyalty/multipliers.d.mts +0 -221
  690. package/resources/loyalty/multipliers.d.mts.map +0 -1
  691. package/resources/loyalty/questions-responses.d.mts +0 -148
  692. package/resources/loyalty/questions-responses.d.mts.map +0 -1
  693. package/resources/loyalty/questions.d.mts +0 -205
  694. package/resources/loyalty/questions.d.mts.map +0 -1
  695. package/resources/loyalty/rule-edits.d.mts +0 -3165
  696. package/resources/loyalty/rule-edits.d.mts.map +0 -1
  697. package/resources/loyalty/rule-groups.d.mts +0 -826
  698. package/resources/loyalty/rule-groups.d.mts.map +0 -1
  699. package/resources/loyalty/rules.d.mts +0 -4543
  700. package/resources/loyalty/rules.d.mts.map +0 -1
  701. package/resources/loyalty/transactions/index.d.mts +0 -4
  702. package/resources/loyalty/transactions/index.d.mts.map +0 -1
  703. package/resources/loyalty/transactions/posts.d.mts +0 -145
  704. package/resources/loyalty/transactions/posts.d.mts.map +0 -1
  705. package/resources/loyalty/transactions/rule-statuses.d.mts +0 -121
  706. package/resources/loyalty/transactions/rule-statuses.d.mts.map +0 -1
  707. package/resources/loyalty/transactions/transactions.d.mts +0 -564
  708. package/resources/loyalty/transactions/transactions.d.mts.map +0 -1
  709. package/resources/loyalty/transactions.d.mts +0 -2
  710. package/resources/loyalty/transactions.d.mts.map +0 -1
  711. package/resources/loyalty.d.mts +0 -2
  712. package/resources/loyalty.d.mts.map +0 -1
  713. package/resources/minting/allowlist.d.mts +0 -85
  714. package/resources/minting/allowlist.d.mts.map +0 -1
  715. package/resources/minting/contracts.d.mts +0 -165
  716. package/resources/minting/contracts.d.mts.map +0 -1
  717. package/resources/minting/index.d.mts +0 -5
  718. package/resources/minting/index.d.mts.map +0 -1
  719. package/resources/minting/minting.d.mts +0 -143
  720. package/resources/minting/minting.d.mts.map +0 -1
  721. package/resources/minting/status.d.mts +0 -45
  722. package/resources/minting/status.d.mts.map +0 -1
  723. package/resources/minting.d.mts +0 -2
  724. package/resources/minting.d.mts.map +0 -1
  725. package/resources/referral/index.d.mts +0 -3
  726. package/resources/referral/index.d.mts.map +0 -1
  727. package/resources/referral/referral.d.mts +0 -41
  728. package/resources/referral/referral.d.mts.map +0 -1
  729. package/resources/referral/users.d.mts +0 -84
  730. package/resources/referral/users.d.mts.map +0 -1
  731. package/resources/referral.d.mts +0 -2
  732. package/resources/referral.d.mts.map +0 -1
  733. package/resources/token-claims.d.mts +0 -159
  734. package/resources/token-claims.d.mts.map +0 -1
  735. package/resources/users/index.d.mts +0 -3
  736. package/resources/users/index.d.mts.map +0 -1
  737. package/resources/users/metadatas.d.mts +0 -174
  738. package/resources/users/metadatas.d.mts.map +0 -1
  739. package/resources/users/users.d.mts +0 -465
  740. package/resources/users/users.d.mts.map +0 -1
  741. package/resources/users.d.mts +0 -2
  742. package/resources/users.d.mts.map +0 -1
  743. package/resources/websites/index.d.mts +0 -4
  744. package/resources/websites/index.d.mts.map +0 -1
  745. package/resources/websites/website-collections.d.mts +0 -95
  746. package/resources/websites/website-collections.d.mts.map +0 -1
  747. package/resources/websites/website-user-roles.d.mts +0 -97
  748. package/resources/websites/website-user-roles.d.mts.map +0 -1
  749. package/resources/websites/websites.d.mts +0 -329
  750. package/resources/websites/websites.d.mts.map +0 -1
  751. package/resources/websites.d.mts +0 -2
  752. package/resources/websites.d.mts.map +0 -1
  753. package/resources.d.mts +0 -2
  754. package/resources.d.mts.map +0 -1
  755. package/src/api-promise.ts +0 -2
  756. package/src/client.ts +0 -868
  757. package/src/core/README.md +0 -3
  758. package/src/core/api-promise.ts +0 -92
  759. package/src/core/error.ts +0 -130
  760. package/src/core/resource.ts +0 -11
  761. package/src/core/uploads.ts +0 -2
  762. package/src/internal/README.md +0 -3
  763. package/src/internal/builtin-types.ts +0 -93
  764. package/src/internal/detect-platform.ts +0 -196
  765. package/src/internal/errors.ts +0 -33
  766. package/src/internal/headers.ts +0 -97
  767. package/src/internal/parse.ts +0 -56
  768. package/src/internal/request-options.ts +0 -91
  769. package/src/internal/shim-types.ts +0 -26
  770. package/src/internal/shims.ts +0 -107
  771. package/src/internal/to-file.ts +0 -154
  772. package/src/internal/types.ts +0 -95
  773. package/src/internal/uploads.ts +0 -187
  774. package/src/internal/utils/base64.ts +0 -40
  775. package/src/internal/utils/bytes.ts +0 -32
  776. package/src/internal/utils/env.ts +0 -18
  777. package/src/internal/utils/log.ts +0 -127
  778. package/src/internal/utils/path.ts +0 -88
  779. package/src/internal/utils/sleep.ts +0 -3
  780. package/src/internal/utils/uuid.ts +0 -17
  781. package/src/internal/utils/values.ts +0 -105
  782. package/src/internal/utils.ts +0 -8
  783. package/uploads.d.mts +0 -2
  784. package/uploads.d.mts.map +0 -1
  785. package/version.d.mts +0 -2
  786. package/version.d.mts.map +0 -1
@@ -1,4543 +0,0 @@
1
- import { APIResource } from "../../core/resource.mjs";
2
- import { APIPromise } from "../../core/api-promise.mjs";
3
- import { RequestOptions } from "../../internal/request-options.mjs";
4
- export declare class Rules extends APIResource {
5
- /**
6
- * Create a new Loyalty Rule
7
- *
8
- * @example
9
- * ```ts
10
- * const rule = await client.loyalty.rules.create({
11
- * amount: '10.5',
12
- * effectiveEndTime: '2024-12-31T23:59:00Z',
13
- * effectiveStartTime: '2024-01-01T00:00:00Z',
14
- * endTime: '2024-12-31T23:59:00Z',
15
- * frequency: 'daily',
16
- * loyaltyCurrencyId: '456e1234-e89b-12d3-a456-426614174003',
17
- * metadata: {},
18
- * name: 'Referral Bonus Rule',
19
- * organizationId: '123e4567-e89b-12d3-a456-426614174001',
20
- * startTime: '2024-01-01T00:00:00Z',
21
- * type: 'Bonus',
22
- * websiteId: '123e4567-e89b-12d3-a456-426614174002',
23
- * });
24
- * ```
25
- */
26
- create(body: RuleCreateParams, options?: RequestOptions): APIPromise<RuleCreateResponse>;
27
- /**
28
- * Update an existing Loyalty Rule
29
- *
30
- * @example
31
- * ```ts
32
- * const rule = await client.loyalty.rules.update(
33
- * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
34
- * {
35
- * amount: '10.5',
36
- * endTime: '2024-12-31T23:59:00Z',
37
- * name: 'Daily Rewards Program',
38
- * },
39
- * );
40
- * ```
41
- */
42
- update(id: string, body: RuleUpdateParams, options?: RequestOptions): APIPromise<RuleUpdateResponse>;
43
- /**
44
- * Retrieve configured loyalty rules with optional pagination and filters
45
- *
46
- * @example
47
- * ```ts
48
- * const rules = await client.loyalty.rules.list();
49
- * ```
50
- */
51
- list(query?: RuleListParams | null | undefined, options?: RequestOptions): APIPromise<RuleListResponse>;
52
- /**
53
- * Delete an existing Loyalty Rule
54
- *
55
- * @example
56
- * ```ts
57
- * const rule = await client.loyalty.rules.delete(
58
- * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
59
- * );
60
- * ```
61
- */
62
- delete(id: string, params?: RuleDeleteParams | null | undefined, options?: RequestOptions): APIPromise<RuleDeleteResponse>;
63
- /**
64
- * Verify a loyalty rule based on user action and reward them if applicable. This
65
- * endpoint currently only supports following rule types code_entry, text_input,
66
- * link_click, discord_member, connect_wallet, check_in, external_rule,
67
- * drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name,
68
- * drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages,
69
- * youtube_subscribers, youtube_comment, steam_wishlist, discord_role_grant
70
- *
71
- * @example
72
- * ```ts
73
- * const response = await client.loyalty.rules.complete(
74
- * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
75
- * );
76
- * ```
77
- */
78
- complete(id: string, body?: RuleCompleteParams | null | undefined, options?: RequestOptions): APIPromise<RuleCompleteResponse>;
79
- /**
80
- * This will return the processing status of quests for a specific user and also
81
- * the progress of the loyalty rule
82
- *
83
- * @example
84
- * ```ts
85
- * const response = await client.loyalty.rules.getStatus();
86
- * ```
87
- */
88
- getStatus(query?: RuleGetStatusParams | null | undefined, options?: RequestOptions): APIPromise<RuleGetStatusResponse>;
89
- }
90
- export interface RuleCreateResponse {
91
- id: string;
92
- /**
93
- * Reward amount associated with the rule
94
- */
95
- amount: unknown;
96
- /**
97
- * The effective end time of the rule
98
- */
99
- effectiveEndTime: string | null;
100
- /**
101
- * The effective start time of the rule
102
- */
103
- effectiveStartTime: string | null;
104
- /**
105
- * When the rule becomes inactive
106
- */
107
- endTime: string | null;
108
- /**
109
- * Execution frequency of the loyalty rule
110
- */
111
- frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
112
- /**
113
- * Unique identifier for the loyalty currency
114
- */
115
- loyaltyCurrencyId: string;
116
- /**
117
- * Additional metadata for the loyalty rule
118
- */
119
- metadata: RuleCreateResponse.Metadata;
120
- /**
121
- * Name of the loyalty rule
122
- */
123
- name: string;
124
- /**
125
- * Unique identifier for the organization creating the rule
126
- */
127
- organizationId: string;
128
- /**
129
- * When the rule becomes active
130
- */
131
- startTime: string | null;
132
- /**
133
- * Type of loyalty rule being created
134
- */
135
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post';
136
- /**
137
- * Unique identifier for the associated website
138
- */
139
- websiteId: string;
140
- /**
141
- * URL of the background asset to be displayed
142
- */
143
- backgroundAssetUrl?: string;
144
- /**
145
- * The type of claim for the reward
146
- */
147
- claimType?: 'manual' | 'auto' | null;
148
- /**
149
- * Blockchain address of the associated collection
150
- */
151
- collectionAddress?: string;
152
- /**
153
- * List of associated collections
154
- */
155
- collections?: Array<RuleCreateResponse.Collection> | null;
156
- /**
157
- * The IDs of the contracts
158
- */
159
- contractIds?: Array<string> | null;
160
- /**
161
- * URL for fetching custom rewards
162
- */
163
- customRewardsApiUrl?: string | null;
164
- /**
165
- * URL for uploading custom rewards via CSV
166
- */
167
- customRewardsCsvUrl?: string | null;
168
- /**
169
- * Optional detailed description of the rule
170
- */
171
- description?: string;
172
- duplicatedFromId?: string | null;
173
- /**
174
- * ID of the external integration
175
- */
176
- externalIntegrationId?: string | null;
177
- /**
178
- * Optional stratus function id for the rule
179
- */
180
- functionId?: string | null;
181
- /**
182
- * Whether to hide this rule in the user interface
183
- */
184
- hideInUi?: boolean;
185
- /**
186
- * Interval between rule executions
187
- */
188
- interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
189
- /**
190
- * Whether this rule is mandatory
191
- */
192
- isRequired?: boolean;
193
- /**
194
- * Unique identifier for the loyalty badge
195
- */
196
- loyaltyBadgeId?: string | null;
197
- /**
198
- * Unique identifier for the loyalty rule group
199
- */
200
- loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
201
- /**
202
- * URL for uploading loyalty user allotment via CSV
203
- */
204
- loyaltyUserAllotmentCsvUrl?: string;
205
- /**
206
- * The interval for the max amount. Available for the smart contract and external
207
- * rules.
208
- */
209
- maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
210
- /**
211
- * The maximum amount of points a user can earn per interval. Available for the
212
- * smart contract and external rules.
213
- */
214
- maxAmountPerInterval?: number | null;
215
- /**
216
- * URL of the media to be displayed
217
- */
218
- mediaUrl?: string | null;
219
- /**
220
- * Blockchain network where the rule will apply
221
- */
222
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
223
- /**
224
- * OAuth credentials associated with the rule
225
- */
226
- oauthCredentialsId?: string | null;
227
- /**
228
- * The lifetime of the reward
229
- */
230
- rewardLifetime?: 'permanent' | 'dynamic' | null;
231
- /**
232
- * Type of reward issued by the rule
233
- */
234
- rewardType?: 'points' | 'multiplier' | 'badge';
235
- /**
236
- * URL of the Shopify store
237
- */
238
- shopifyStoreUrl?: string | null;
239
- /**
240
- * Whether to show this rule before the start time
241
- */
242
- showBeforeStart?: boolean;
243
- /**
244
- * Optional stratus subscription id for the rule
245
- */
246
- subscriptionId?: string | null;
247
- }
248
- export declare namespace RuleCreateResponse {
249
- /**
250
- * Additional metadata for the loyalty rule
251
- */
252
- interface Metadata {
253
- /**
254
- * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
255
- * only.
256
- */
257
- allowMultipleRedemptions?: boolean;
258
- /**
259
- * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
260
- * any rule completions count as check-in.
261
- */
262
- autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
263
- /**
264
- * Number of tokens per batch.
265
- */
266
- batchSize?: number | null;
267
- /**
268
- * Text displayed on the action button.
269
- */
270
- buttonText?: string | null;
271
- /**
272
- * Flag indicating if commenting is required.
273
- */
274
- checkComment?: boolean | null;
275
- /**
276
- * Flag indicating if liking the post is required.
277
- */
278
- checkLike?: boolean | null;
279
- /**
280
- * Flag indicating if reposting is required.
281
- */
282
- checkRepost?: boolean | null;
283
- /**
284
- * Text to check in the Twitter post, username, or bio.
285
- */
286
- checkText?: string | Array<string> | null;
287
- /**
288
- * Array of collections associated with the rule.
289
- */
290
- collection?: Array<Metadata.Collection>;
291
- /**
292
- * Conditions for completing the profile.
293
- */
294
- completeProfileConditions?: {
295
- [key: string]: boolean;
296
- } | null;
297
- /**
298
- * Description of the external rule condition (only for external rules)
299
- */
300
- conditionDescription?: string;
301
- /**
302
- * Object containing details for the call-to-action.
303
- */
304
- cta?: Metadata.Cta | null;
305
- /**
306
- * API key for custom rewards integration.
307
- */
308
- customRewardsApiKey?: string;
309
- /**
310
- * Flag indicating if the rule should use direct RPC to get the balance of tokens.
311
- */
312
- directRpc?: boolean;
313
- /**
314
- * Array of Discord servers, channels, and roles to join.
315
- */
316
- discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
317
- /**
318
- * Array of drip quests required to complete the rule.
319
- */
320
- dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
321
- /**
322
- * Flag indicating whether joining Discord servers is required.
323
- */
324
- enableJoinDiscordServers?: boolean | null;
325
- /**
326
- * Flag indicating whether streaks are enabled.
327
- */
328
- enableStreaks?: boolean | null;
329
- /**
330
- * Flag indicating whether the verified multiplier is enabled.
331
- */
332
- enableVerifiedMultiplier?: boolean;
333
- /**
334
- * Type of ERC20 token for the loyalty rule.
335
- */
336
- erc20Type?: 'erc20' | 'native';
337
- /**
338
- * Fill source of the order for the token sale
339
- */
340
- fillSource?: string;
341
- /**
342
- * Percentage reward given to a user for their first referral.
343
- */
344
- firstReferralReward?: number | null;
345
- /**
346
- * Name of the GitHub branch to check for PR merge.
347
- */
348
- githubBranchName?: string | null;
349
- /**
350
- * URL of the GitHub repository to check for star.
351
- */
352
- githubRepoUrl?: string | null;
353
- /**
354
- * Flag indicating whether the fill source is included.
355
- */
356
- hasFillSource?: boolean;
357
- /**
358
- * Indicates if the item has never been sold.
359
- */
360
- hasNeverSold?: boolean;
361
- /**
362
- * Indicates if the full royalty has been paid for items.
363
- */
364
- hasPaidFullRoyalty?: boolean;
365
- /**
366
- * Flag indicating if the sale currency is included.
367
- */
368
- hasSaleCurrency?: boolean;
369
- /**
370
- * Indicates if the user has a verified Twitter account.
371
- */
372
- hasVerifiedTwitter?: boolean;
373
- /**
374
- * URL of the image associated with the rule.
375
- */
376
- imageUrl?: string | null;
377
- /**
378
- * If enabled, the first transaction done on the platform will complete this rule
379
- */
380
- isCheckInOnEveryTxn?: boolean;
381
- /**
382
- * Indicates if the multiplier has been applied to rewards.
383
- */
384
- isMultiplierApplied?: boolean;
385
- /**
386
- * Flag indicating if the rule is restricted to new users.
387
- */
388
- isRestrictedToNewUsers?: boolean;
389
- /**
390
- * Flag indicating if rewards are applied retroactively.
391
- */
392
- isRetroactive?: boolean | null;
393
- /**
394
- * Flag indicating if the token hold multiplier is applied.
395
- */
396
- isTokenHoldMultiplier?: boolean;
397
- /**
398
- * Optional link associated with the metadata.
399
- */
400
- link?: string | null;
401
- /**
402
- * Liquidity pool details.
403
- */
404
- liquidity?: Metadata.Liquidity;
405
- /**
406
- * Maximum quantity constraint for token holding.
407
- */
408
- maxQty?: number | null;
409
- /**
410
- * Minimum follower count for the rule. Accepts both number and string values.
411
- */
412
- minimumFollowerCount?: number | null;
413
- /**
414
- * Minimum quantity constraint for token holding.
415
- */
416
- minQty?: number | null;
417
- /**
418
- * Array of loyalty currency IDs used for multipliers.
419
- */
420
- multiplierLoyaltyCurrencyIds?: Array<string> | null;
421
- /**
422
- * Flag indicating whether to include only known users.
423
- */
424
- onlyKnownUsers?: boolean;
425
- /**
426
- * Flag indicating whether to include only native tokens.
427
- */
428
- onlyNative?: boolean;
429
- /**
430
- * Flag indicating whether to include only non-listed items.
431
- */
432
- onlyNonListed?: boolean;
433
- /**
434
- * Indicates if only existing users are rewarded.
435
- */
436
- onlyRewardExistingUser?: boolean;
437
- /**
438
- * give points for only one token ownership per contract
439
- */
440
- onlyRewardSingleTokenOwnership?: boolean | null;
441
- /**
442
- * Pre-generated text template that will be used to prefill the post content.
443
- */
444
- preGeneratedPostText?: string | null;
445
- /**
446
- * Promotional code associated with the rule.
447
- */
448
- promoCode?: string;
449
- /**
450
- * URL of the CSV file containing promo codes.
451
- */
452
- promoCodeCsvUrl?: string;
453
- /**
454
- * Numbers of the promotional code to be generated.
455
- */
456
- promoCodeLength?: number | null;
457
- /**
458
- * Type of the promotional code.
459
- */
460
- promoCodeType?: 'code' | 'csv' | 'generate';
461
- /**
462
- * Array defining ranges and corresponding rewards.
463
- */
464
- range?: Array<Metadata.Range>;
465
- /**
466
- * ID of the Reddit post.
467
- */
468
- redditPostId?: string | null;
469
- /**
470
- * Object defining referral requirements.
471
- */
472
- referralRequirements?: Metadata.ReferralRequirements | null;
473
- /**
474
- * Lump sum reward given to a referrer.
475
- */
476
- referrerReward?: number | null;
477
- /**
478
- * Loyalty currency ID of the referrer reward.
479
- */
480
- referrerRewardLoyaltyCurrencyId?: string | null;
481
- /**
482
- * Flag indicating if the post link is required.
483
- */
484
- requirePostLink?: boolean | null;
485
- /**
486
- * Flag indicating if media metadata is required.
487
- */
488
- requirePostMediaLink?: boolean | null;
489
- /**
490
- * Flag indicating if the rule can also reward badges per range.
491
- */
492
- rewardBadgePerRange?: boolean;
493
- /**
494
- * Flag indicating if the reward is rewarded by batch.
495
- */
496
- rewardByBatch?: boolean | null;
497
- /**
498
- * Criteria to evaluate the reward.
499
- */
500
- rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
501
- /**
502
- * Flag indicating if the reward is rewarded per action.
503
- */
504
- rewardPerAction?: boolean | null;
505
- /**
506
- * Flag indicating if rewards are given per impression.
507
- */
508
- rewardPerImpression?: boolean | null;
509
- /**
510
- * Flag indicating if the rule should reward based on value of traded tokens
511
- * instead of count.
512
- */
513
- rewardPerValue?: boolean;
514
- /**
515
- * Flag indicating if the rule should reward quality posts.
516
- */
517
- rewardQualityPosts?: boolean;
518
- robinhoodSymbols?: Array<string> | null;
519
- /**
520
- * Wallet address of the user can only be used if userId is not provided
521
- */
522
- royaltyAddress?: string;
523
- /**
524
- * Royalty percentage of the item.
525
- */
526
- royaltyPercentage?: number;
527
- /**
528
- * Currency associated with sales.
529
- */
530
- saleCurrency?: string;
531
- /**
532
- * Percentage reward given for a second-level referral.
533
- */
534
- secondReferralReward?: number | null;
535
- /**
536
- * Flag indicating if the multiplier is skipped.
537
- */
538
- skipMultiplier?: boolean | null;
539
- /**
540
- * Object containing details of the associated smart contract.
541
- */
542
- smartContract?: Metadata.SmartContract;
543
- /**
544
- * Array of snapshot proposals for the rule.
545
- */
546
- snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
547
- /**
548
- * Social media platform associated with the rule.
549
- */
550
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
551
- /**
552
- * URL of the social platform's logo.
553
- */
554
- socialPlatformLogo?: string | null;
555
- /**
556
- * Name of the social platform.
557
- */
558
- socialPlatformName?: string | null;
559
- /**
560
- * ID of the Steam app.
561
- */
562
- steamAppId?: string | null;
563
- /**
564
- * Array of streak milestones and corresponding rewards.
565
- */
566
- streakArray?: Array<Metadata.StreakArray> | null;
567
- /**
568
- * Metadata for swap loyalty rules
569
- */
570
- swap?: Metadata.Swap;
571
- /**
572
- * ID of the Telegram channel.
573
- */
574
- telegramChannelId?: string | null;
575
- /**
576
- * Time delay in seconds to verify actions.
577
- */
578
- timeDelayToVerifySeconds?: string | number | null;
579
- /**
580
- * Flag indicating if all contracts are tracked.
581
- */
582
- trackAllContracts?: boolean | null;
583
- /**
584
- * Flag indicating if the progress is tracked. If enabled, the rule can only be
585
- * completed once the progress is 100%.
586
- */
587
- trackProgress?: boolean | null;
588
- /**
589
- * URL of the associated Twitter account.
590
- */
591
- twitterAccountUrl?: string;
592
- /**
593
- * Hashtag associated with the Twitter post.
594
- */
595
- twitterHashtag?: string;
596
- /**
597
- * URL of the associated Twitter post.
598
- */
599
- twitterPostUrl?: string;
600
- /**
601
- * Unique identifier of the Twitter user.
602
- */
603
- twitterUserId?: string;
604
- /**
605
- * Twitter username of the user.
606
- */
607
- twitterUsername?: string;
608
- /**
609
- * Minimum length of the verification text.
610
- */
611
- verificationTextMinimumLength?: number | null;
612
- /**
613
- * Multiplier applied to rewards for verified users.
614
- */
615
- verifiedMultiplier?: number | null;
616
- /**
617
- * Placeholder text for verification input fields.
618
- */
619
- verifyPlaceHolderText?: string | null;
620
- /**
621
- * Type of wallet associated with the rule.
622
- */
623
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
624
- /**
625
- * ID of the Youtube channel.
626
- */
627
- youtubeChannelId?: string | null;
628
- /**
629
- * ID of the Youtube video.
630
- */
631
- youtubeVideoId?: string | null;
632
- }
633
- namespace Metadata {
634
- interface Collection {
635
- /**
636
- * Blockchain address of the collection.
637
- */
638
- address?: string;
639
- /**
640
- * Multiplier applied to the rewards for this collection.
641
- */
642
- multiplier?: number;
643
- /**
644
- * Blockchain network of the collection.
645
- */
646
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
647
- }
648
- /**
649
- * Object containing details for the call-to-action.
650
- */
651
- interface Cta {
652
- /**
653
- * Link for the call-to-action.
654
- */
655
- href?: string | null;
656
- /**
657
- * Label for the call-to-action.
658
- */
659
- label?: string | null;
660
- }
661
- interface DiscordServersToJoin {
662
- /**
663
- * ID of the Discord server to join.
664
- */
665
- id?: string;
666
- /**
667
- * Array of Discord channels to join.
668
- */
669
- channels?: Array<DiscordServersToJoin.Channel>;
670
- /**
671
- * Array of roles to assign in the Discord server.
672
- */
673
- roles?: Array<DiscordServersToJoin.Role>;
674
- }
675
- namespace DiscordServersToJoin {
676
- interface Channel {
677
- /**
678
- * ID of the Discord channel.
679
- */
680
- id?: string;
681
- /**
682
- * Array of emojis used in the channel.
683
- */
684
- emojis?: Array<Channel.Emoji>;
685
- /**
686
- * Phrase of text to be present in the discord message
687
- */
688
- text?: string;
689
- }
690
- namespace Channel {
691
- interface Emoji {
692
- /**
693
- * ID of the emoji used in the channel.
694
- */
695
- id?: string;
696
- }
697
- }
698
- interface Role {
699
- /**
700
- * ID of the role in the Discord server.
701
- */
702
- id: string;
703
- }
704
- }
705
- interface DripQuestsToComplete {
706
- /**
707
- * ID of the drip quest to complete.
708
- */
709
- id: string;
710
- }
711
- /**
712
- * Liquidity pool details.
713
- */
714
- interface Liquidity {
715
- /**
716
- * Calculation type of the liquidity pool.
717
- */
718
- calculationType?: 'fixed' | 'custom';
719
- /**
720
- * Custom function to calculate the the reward amount based on the liquidity
721
- * provided per day. X is the reward amount, Y is the liquidity provided per day in
722
- * USD.
723
- */
724
- customFunction?: string;
725
- /**
726
- * Liquidity provided per day in USD
727
- */
728
- liquidityPerDay?: number;
729
- /**
730
- * Blockchain network of the liquidity pool.
731
- */
732
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
733
- /**
734
- * Indicates if only in-range liquidity is rewarded.
735
- */
736
- onlyRewardInRangeLiquidity?: boolean;
737
- /**
738
- * Array of liquidity pools associated with the rule.
739
- */
740
- pools?: Array<Liquidity.Pool>;
741
- /**
742
- * Protocol of the liquidity pool.
743
- */
744
- protocol?: string;
745
- }
746
- namespace Liquidity {
747
- interface Pool {
748
- /**
749
- * Unique identifier of the liquidity pool.
750
- */
751
- id: string;
752
- }
753
- }
754
- interface Range {
755
- /**
756
- * Reward amount for this range.
757
- */
758
- amount: number;
759
- /**
760
- * End value of the range.
761
- */
762
- endRange: number;
763
- /**
764
- * Start value of the range.
765
- */
766
- startRange: number;
767
- /**
768
- * ID of the loyalty badge for this range.
769
- */
770
- loyaltyBadgeId?: string;
771
- /**
772
- * Amount of the loyalty multiplier for this range.
773
- */
774
- loyaltyMultiplierAmount?: number;
775
- }
776
- /**
777
- * Object defining referral requirements.
778
- */
779
- interface ReferralRequirements {
780
- /**
781
- * Flag indicating if achieving points is required.
782
- */
783
- achievePoints?: boolean | null;
784
- /**
785
- * Flag indicating if completing the profile is required.
786
- */
787
- completeProfile?: boolean | null;
788
- /**
789
- * Flag indicating if connecting Discord is required.
790
- */
791
- connectDiscord?: boolean | null;
792
- /**
793
- * Flag indicating if connecting email is required.
794
- */
795
- connectEmail?: boolean | null;
796
- /**
797
- * Flag indicating if connecting Twitter is required.
798
- */
799
- connectTwitter?: boolean | null;
800
- points?: ReferralRequirements.Points | null;
801
- }
802
- namespace ReferralRequirements {
803
- interface Points {
804
- /**
805
- * Points required for referral.
806
- */
807
- amount?: number | null;
808
- /**
809
- * ID of the loyalty currency for referral.
810
- */
811
- loyaltyCurrecyId?: string | null;
812
- }
813
- }
814
- /**
815
- * Object containing details of the associated smart contract.
816
- */
817
- interface SmartContract {
818
- /**
819
- * Mapping of addresses for the smart contract.
820
- */
821
- addressMapping?: string | null;
822
- /**
823
- * Object containing details of the amount multiplier from the event.
824
- */
825
- amountMultiplier?: SmartContract.AmountMultiplier | null;
826
- /**
827
- * ID of the smart contract.
828
- */
829
- contractId?: string | null;
830
- /**
831
- * Criteria to evaluate the smart contract event.
832
- */
833
- criteria?: 'everyEvent' | 'byParameter' | null;
834
- /**
835
- * Event emitted by the smart contract.
836
- */
837
- event?: string | null;
838
- /**
839
- * Array of parameters for the smart contract.
840
- */
841
- params?: Array<SmartContract.Param> | null;
842
- /**
843
- * Type of the smart contract interaction.
844
- */
845
- type?: 'function' | 'event' | null;
846
- }
847
- namespace SmartContract {
848
- /**
849
- * Object containing details of the amount multiplier from the event.
850
- */
851
- interface AmountMultiplier {
852
- /**
853
- * Mapping of the value for the smart contract.
854
- */
855
- valueMapping?: string | null;
856
- }
857
- interface Param {
858
- /**
859
- * Condition to check for the parameter.
860
- */
861
- condition?: string | null;
862
- /**
863
- * Name of the smart contract parameter.
864
- */
865
- name?: string | null;
866
- /**
867
- * Value of the parameter.
868
- */
869
- value?: string | null;
870
- }
871
- }
872
- interface SnapshotProposal {
873
- /**
874
- * ID of the snapshot proposal.
875
- */
876
- id: string;
877
- /**
878
- * Space associated with the snapshot proposal.
879
- */
880
- space: string;
881
- }
882
- interface StreakArray {
883
- /**
884
- * Reward amount for achieving the streak milestone.
885
- */
886
- streakAmount: number;
887
- /**
888
- * Milestone required to achieve the streak.
889
- */
890
- streakMilestone: number;
891
- }
892
- /**
893
- * Metadata for swap loyalty rules
894
- */
895
- interface Swap {
896
- from?: Swap.From;
897
- provider?: 'any' | 'relay' | 'lifi';
898
- relayReferrerId?: string;
899
- requireCrossChainSwap?: boolean;
900
- to?: Swap.To;
901
- }
902
- namespace Swap {
903
- interface From {
904
- chain?: 'any' | number | string;
905
- mode?: 'any' | 'specific';
906
- tokens?: Array<From.Token>;
907
- trackAmount?: boolean;
908
- }
909
- namespace From {
910
- interface Token {
911
- address: string;
912
- chainId: string;
913
- }
914
- }
915
- interface To {
916
- chain?: 'any' | number | string;
917
- mode?: 'any' | 'specific';
918
- tokens?: Array<To.Token>;
919
- trackAmount?: boolean;
920
- }
921
- namespace To {
922
- interface Token {
923
- address: string;
924
- chainId: string;
925
- }
926
- }
927
- }
928
- }
929
- interface Collection {
930
- /**
931
- * Blockchain address of the collection
932
- */
933
- address: string;
934
- /**
935
- * Blockchain network for the collection
936
- */
937
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
938
- /**
939
- * Symbol of the collection.
940
- */
941
- symbol?: string;
942
- }
943
- }
944
- export interface RuleUpdateResponse {
945
- id: string;
946
- /**
947
- * Reward amount for the loyalty rule
948
- */
949
- amount: unknown;
950
- /**
951
- * End time for the loyalty rule
952
- */
953
- endTime: string | null;
954
- /**
955
- * Name of the loyalty rule
956
- */
957
- name: string;
958
- /**
959
- * The type of claim for the reward
960
- */
961
- claimType?: 'manual' | 'auto' | null;
962
- /**
963
- * Blockchain address of the associated collection
964
- */
965
- collectionAddress?: string | null;
966
- /**
967
- * List of associated collections
968
- */
969
- collections?: Array<RuleUpdateResponse.Collection> | null;
970
- /**
971
- * The IDs of the contracts
972
- */
973
- contractIds?: Array<string> | null;
974
- /**
975
- * API URL for custom rewards integration
976
- */
977
- customRewardsApiUrl?: string | null;
978
- /**
979
- * URL for uploading custom rewards via CSV
980
- */
981
- customRewardsCsvUrl?: string | null;
982
- /**
983
- * Optional description of the loyalty rule
984
- */
985
- description?: string;
986
- /**
987
- * Effective end time of the rule
988
- */
989
- effectiveEndTime?: string | null;
990
- /**
991
- * Effective start time of the rule
992
- */
993
- effectiveStartTime?: string | null;
994
- /**
995
- * ID of the external integration
996
- */
997
- externalIntegrationId?: string | null;
998
- /**
999
- * Frequency of the rule execution
1000
- */
1001
- frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
1002
- /**
1003
- * Optional stratus function id for the rule
1004
- */
1005
- functionId?: string | null;
1006
- /**
1007
- * Whether to hide this rule in the user interface
1008
- */
1009
- hideInUi?: boolean;
1010
- /**
1011
- * Time interval for recurring rule execution
1012
- */
1013
- interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
1014
- /**
1015
- * Whether this rule is required for participation
1016
- */
1017
- isRequired?: boolean;
1018
- /**
1019
- * ID of the rule group section to associate with the rule
1020
- */
1021
- loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
1022
- /**
1023
- * The interval for the max amount. Available for the smart contract and external
1024
- * rules.
1025
- */
1026
- maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
1027
- /**
1028
- * The maximum amount of points a user can earn per interval. Available for the
1029
- * smart contract and external rules.
1030
- */
1031
- maxAmountPerInterval?: number | null;
1032
- /**
1033
- * URL of the media to be displayed
1034
- */
1035
- mediaUrl?: string | null;
1036
- /**
1037
- * Additional metadata for the loyalty rule
1038
- */
1039
- metadata?: RuleUpdateResponse.Metadata;
1040
- /**
1041
- * Blockchain network where the rule will apply
1042
- */
1043
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1044
- /**
1045
- * ID for associated OAuth credentials
1046
- */
1047
- oauthCredentialsId?: string | null;
1048
- /**
1049
- * The lifetime of the reward
1050
- */
1051
- rewardLifetime?: 'permanent' | 'dynamic' | null;
1052
- /**
1053
- * Type of reward issued by this rule
1054
- */
1055
- rewardType?: 'points' | 'multiplier' | 'badge';
1056
- /**
1057
- * URL of the Shopify store
1058
- */
1059
- shopifyStoreUrl?: string | null;
1060
- /**
1061
- * Whether to show this rule before the start time
1062
- */
1063
- showBeforeStart?: boolean;
1064
- /**
1065
- * Start time for the loyalty rule
1066
- */
1067
- startTime?: string | null;
1068
- /**
1069
- * Optional stratus subscription id for the rule
1070
- */
1071
- subscriptionId?: string | null;
1072
- }
1073
- export declare namespace RuleUpdateResponse {
1074
- interface Collection {
1075
- /**
1076
- * Blockchain address of the collection
1077
- */
1078
- address: string;
1079
- /**
1080
- * Blockchain network for the collection
1081
- */
1082
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1083
- /**
1084
- * Symbol of the collection.
1085
- */
1086
- symbol?: string;
1087
- }
1088
- /**
1089
- * Additional metadata for the loyalty rule
1090
- */
1091
- interface Metadata {
1092
- /**
1093
- * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
1094
- * only.
1095
- */
1096
- allowMultipleRedemptions?: boolean;
1097
- /**
1098
- * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
1099
- * any rule completions count as check-in.
1100
- */
1101
- autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
1102
- /**
1103
- * Number of tokens per batch.
1104
- */
1105
- batchSize?: number | null;
1106
- /**
1107
- * Text displayed on the action button.
1108
- */
1109
- buttonText?: string | null;
1110
- /**
1111
- * Flag indicating if commenting is required.
1112
- */
1113
- checkComment?: boolean | null;
1114
- /**
1115
- * Flag indicating if liking the post is required.
1116
- */
1117
- checkLike?: boolean | null;
1118
- /**
1119
- * Flag indicating if reposting is required.
1120
- */
1121
- checkRepost?: boolean | null;
1122
- /**
1123
- * Text to check in the Twitter post, username, or bio.
1124
- */
1125
- checkText?: string | Array<string> | null;
1126
- /**
1127
- * Array of collections associated with the rule.
1128
- */
1129
- collection?: Array<Metadata.Collection>;
1130
- /**
1131
- * Conditions for completing the profile.
1132
- */
1133
- completeProfileConditions?: {
1134
- [key: string]: boolean;
1135
- } | null;
1136
- /**
1137
- * Description of the external rule condition (only for external rules)
1138
- */
1139
- conditionDescription?: string;
1140
- /**
1141
- * Object containing details for the call-to-action.
1142
- */
1143
- cta?: Metadata.Cta | null;
1144
- /**
1145
- * API key for custom rewards integration.
1146
- */
1147
- customRewardsApiKey?: string;
1148
- /**
1149
- * Flag indicating if the rule should use direct RPC to get the balance of tokens.
1150
- */
1151
- directRpc?: boolean;
1152
- /**
1153
- * Array of Discord servers, channels, and roles to join.
1154
- */
1155
- discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
1156
- /**
1157
- * Array of drip quests required to complete the rule.
1158
- */
1159
- dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
1160
- /**
1161
- * Flag indicating whether joining Discord servers is required.
1162
- */
1163
- enableJoinDiscordServers?: boolean | null;
1164
- /**
1165
- * Flag indicating whether streaks are enabled.
1166
- */
1167
- enableStreaks?: boolean | null;
1168
- /**
1169
- * Flag indicating whether the verified multiplier is enabled.
1170
- */
1171
- enableVerifiedMultiplier?: boolean;
1172
- /**
1173
- * Type of ERC20 token for the loyalty rule.
1174
- */
1175
- erc20Type?: 'erc20' | 'native';
1176
- /**
1177
- * Fill source of the order for the token sale
1178
- */
1179
- fillSource?: string;
1180
- /**
1181
- * Percentage reward given to a user for their first referral.
1182
- */
1183
- firstReferralReward?: number | null;
1184
- /**
1185
- * Name of the GitHub branch to check for PR merge.
1186
- */
1187
- githubBranchName?: string | null;
1188
- /**
1189
- * URL of the GitHub repository to check for star.
1190
- */
1191
- githubRepoUrl?: string | null;
1192
- /**
1193
- * Flag indicating whether the fill source is included.
1194
- */
1195
- hasFillSource?: boolean;
1196
- /**
1197
- * Indicates if the item has never been sold.
1198
- */
1199
- hasNeverSold?: boolean;
1200
- /**
1201
- * Indicates if the full royalty has been paid for items.
1202
- */
1203
- hasPaidFullRoyalty?: boolean;
1204
- /**
1205
- * Flag indicating if the sale currency is included.
1206
- */
1207
- hasSaleCurrency?: boolean;
1208
- /**
1209
- * Indicates if the user has a verified Twitter account.
1210
- */
1211
- hasVerifiedTwitter?: boolean;
1212
- /**
1213
- * URL of the image associated with the rule.
1214
- */
1215
- imageUrl?: string | null;
1216
- /**
1217
- * If enabled, the first transaction done on the platform will complete this rule
1218
- */
1219
- isCheckInOnEveryTxn?: boolean;
1220
- /**
1221
- * Indicates if the multiplier has been applied to rewards.
1222
- */
1223
- isMultiplierApplied?: boolean;
1224
- /**
1225
- * Flag indicating if the rule is restricted to new users.
1226
- */
1227
- isRestrictedToNewUsers?: boolean;
1228
- /**
1229
- * Flag indicating if rewards are applied retroactively.
1230
- */
1231
- isRetroactive?: boolean | null;
1232
- /**
1233
- * Flag indicating if the token hold multiplier is applied.
1234
- */
1235
- isTokenHoldMultiplier?: boolean;
1236
- /**
1237
- * Optional link associated with the metadata.
1238
- */
1239
- link?: string | null;
1240
- /**
1241
- * Liquidity pool details.
1242
- */
1243
- liquidity?: Metadata.Liquidity;
1244
- /**
1245
- * Maximum quantity constraint for token holding.
1246
- */
1247
- maxQty?: number | null;
1248
- /**
1249
- * Minimum follower count for the rule. Accepts both number and string values.
1250
- */
1251
- minimumFollowerCount?: number | null;
1252
- /**
1253
- * Minimum quantity constraint for token holding.
1254
- */
1255
- minQty?: number | null;
1256
- /**
1257
- * Array of loyalty currency IDs used for multipliers.
1258
- */
1259
- multiplierLoyaltyCurrencyIds?: Array<string> | null;
1260
- /**
1261
- * Flag indicating whether to include only known users.
1262
- */
1263
- onlyKnownUsers?: boolean;
1264
- /**
1265
- * Flag indicating whether to include only native tokens.
1266
- */
1267
- onlyNative?: boolean;
1268
- /**
1269
- * Flag indicating whether to include only non-listed items.
1270
- */
1271
- onlyNonListed?: boolean;
1272
- /**
1273
- * Indicates if only existing users are rewarded.
1274
- */
1275
- onlyRewardExistingUser?: boolean;
1276
- /**
1277
- * give points for only one token ownership per contract
1278
- */
1279
- onlyRewardSingleTokenOwnership?: boolean | null;
1280
- /**
1281
- * Pre-generated text template that will be used to prefill the post content.
1282
- */
1283
- preGeneratedPostText?: string | null;
1284
- /**
1285
- * Promotional code associated with the rule.
1286
- */
1287
- promoCode?: string;
1288
- /**
1289
- * URL of the CSV file containing promo codes.
1290
- */
1291
- promoCodeCsvUrl?: string;
1292
- /**
1293
- * Numbers of the promotional code to be generated.
1294
- */
1295
- promoCodeLength?: number | null;
1296
- /**
1297
- * Type of the promotional code.
1298
- */
1299
- promoCodeType?: 'code' | 'csv' | 'generate';
1300
- /**
1301
- * Array defining ranges and corresponding rewards.
1302
- */
1303
- range?: Array<Metadata.Range>;
1304
- /**
1305
- * ID of the Reddit post.
1306
- */
1307
- redditPostId?: string | null;
1308
- /**
1309
- * Object defining referral requirements.
1310
- */
1311
- referralRequirements?: Metadata.ReferralRequirements | null;
1312
- /**
1313
- * Lump sum reward given to a referrer.
1314
- */
1315
- referrerReward?: number | null;
1316
- /**
1317
- * Loyalty currency ID of the referrer reward.
1318
- */
1319
- referrerRewardLoyaltyCurrencyId?: string | null;
1320
- /**
1321
- * Flag indicating if the post link is required.
1322
- */
1323
- requirePostLink?: boolean | null;
1324
- /**
1325
- * Flag indicating if media metadata is required.
1326
- */
1327
- requirePostMediaLink?: boolean | null;
1328
- /**
1329
- * Flag indicating if the rule can also reward badges per range.
1330
- */
1331
- rewardBadgePerRange?: boolean;
1332
- /**
1333
- * Flag indicating if the reward is rewarded by batch.
1334
- */
1335
- rewardByBatch?: boolean | null;
1336
- /**
1337
- * Criteria to evaluate the reward.
1338
- */
1339
- rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
1340
- /**
1341
- * Flag indicating if the reward is rewarded per action.
1342
- */
1343
- rewardPerAction?: boolean | null;
1344
- /**
1345
- * Flag indicating if rewards are given per impression.
1346
- */
1347
- rewardPerImpression?: boolean | null;
1348
- /**
1349
- * Flag indicating if the rule should reward based on value of traded tokens
1350
- * instead of count.
1351
- */
1352
- rewardPerValue?: boolean;
1353
- /**
1354
- * Flag indicating if the rule should reward quality posts.
1355
- */
1356
- rewardQualityPosts?: boolean;
1357
- robinhoodSymbols?: Array<string> | null;
1358
- /**
1359
- * Wallet address of the user can only be used if userId is not provided
1360
- */
1361
- royaltyAddress?: string;
1362
- /**
1363
- * Royalty percentage of the item.
1364
- */
1365
- royaltyPercentage?: number;
1366
- /**
1367
- * Currency associated with sales.
1368
- */
1369
- saleCurrency?: string;
1370
- /**
1371
- * Percentage reward given for a second-level referral.
1372
- */
1373
- secondReferralReward?: number | null;
1374
- /**
1375
- * Flag indicating if the multiplier is skipped.
1376
- */
1377
- skipMultiplier?: boolean | null;
1378
- /**
1379
- * Object containing details of the associated smart contract.
1380
- */
1381
- smartContract?: Metadata.SmartContract;
1382
- /**
1383
- * Array of snapshot proposals for the rule.
1384
- */
1385
- snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
1386
- /**
1387
- * Social media platform associated with the rule.
1388
- */
1389
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
1390
- /**
1391
- * URL of the social platform's logo.
1392
- */
1393
- socialPlatformLogo?: string | null;
1394
- /**
1395
- * Name of the social platform.
1396
- */
1397
- socialPlatformName?: string | null;
1398
- /**
1399
- * ID of the Steam app.
1400
- */
1401
- steamAppId?: string | null;
1402
- /**
1403
- * Array of streak milestones and corresponding rewards.
1404
- */
1405
- streakArray?: Array<Metadata.StreakArray> | null;
1406
- /**
1407
- * Metadata for swap loyalty rules
1408
- */
1409
- swap?: Metadata.Swap;
1410
- /**
1411
- * ID of the Telegram channel.
1412
- */
1413
- telegramChannelId?: string | null;
1414
- /**
1415
- * Time delay in seconds to verify actions.
1416
- */
1417
- timeDelayToVerifySeconds?: string | number | null;
1418
- /**
1419
- * Flag indicating if all contracts are tracked.
1420
- */
1421
- trackAllContracts?: boolean | null;
1422
- /**
1423
- * Flag indicating if the progress is tracked. If enabled, the rule can only be
1424
- * completed once the progress is 100%.
1425
- */
1426
- trackProgress?: boolean | null;
1427
- /**
1428
- * URL of the associated Twitter account.
1429
- */
1430
- twitterAccountUrl?: string;
1431
- /**
1432
- * Hashtag associated with the Twitter post.
1433
- */
1434
- twitterHashtag?: string;
1435
- /**
1436
- * URL of the associated Twitter post.
1437
- */
1438
- twitterPostUrl?: string;
1439
- /**
1440
- * Unique identifier of the Twitter user.
1441
- */
1442
- twitterUserId?: string;
1443
- /**
1444
- * Twitter username of the user.
1445
- */
1446
- twitterUsername?: string;
1447
- /**
1448
- * Minimum length of the verification text.
1449
- */
1450
- verificationTextMinimumLength?: number | null;
1451
- /**
1452
- * Multiplier applied to rewards for verified users.
1453
- */
1454
- verifiedMultiplier?: number | null;
1455
- /**
1456
- * Placeholder text for verification input fields.
1457
- */
1458
- verifyPlaceHolderText?: string | null;
1459
- /**
1460
- * Type of wallet associated with the rule.
1461
- */
1462
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
1463
- /**
1464
- * ID of the Youtube channel.
1465
- */
1466
- youtubeChannelId?: string | null;
1467
- /**
1468
- * ID of the Youtube video.
1469
- */
1470
- youtubeVideoId?: string | null;
1471
- }
1472
- namespace Metadata {
1473
- interface Collection {
1474
- /**
1475
- * Blockchain address of the collection.
1476
- */
1477
- address?: string;
1478
- /**
1479
- * Multiplier applied to the rewards for this collection.
1480
- */
1481
- multiplier?: number;
1482
- /**
1483
- * Blockchain network of the collection.
1484
- */
1485
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1486
- }
1487
- /**
1488
- * Object containing details for the call-to-action.
1489
- */
1490
- interface Cta {
1491
- /**
1492
- * Link for the call-to-action.
1493
- */
1494
- href?: string | null;
1495
- /**
1496
- * Label for the call-to-action.
1497
- */
1498
- label?: string | null;
1499
- }
1500
- interface DiscordServersToJoin {
1501
- /**
1502
- * ID of the Discord server to join.
1503
- */
1504
- id?: string;
1505
- /**
1506
- * Array of Discord channels to join.
1507
- */
1508
- channels?: Array<DiscordServersToJoin.Channel>;
1509
- /**
1510
- * Array of roles to assign in the Discord server.
1511
- */
1512
- roles?: Array<DiscordServersToJoin.Role>;
1513
- }
1514
- namespace DiscordServersToJoin {
1515
- interface Channel {
1516
- /**
1517
- * ID of the Discord channel.
1518
- */
1519
- id?: string;
1520
- /**
1521
- * Array of emojis used in the channel.
1522
- */
1523
- emojis?: Array<Channel.Emoji>;
1524
- /**
1525
- * Phrase of text to be present in the discord message
1526
- */
1527
- text?: string;
1528
- }
1529
- namespace Channel {
1530
- interface Emoji {
1531
- /**
1532
- * ID of the emoji used in the channel.
1533
- */
1534
- id?: string;
1535
- }
1536
- }
1537
- interface Role {
1538
- /**
1539
- * ID of the role in the Discord server.
1540
- */
1541
- id: string;
1542
- }
1543
- }
1544
- interface DripQuestsToComplete {
1545
- /**
1546
- * ID of the drip quest to complete.
1547
- */
1548
- id: string;
1549
- }
1550
- /**
1551
- * Liquidity pool details.
1552
- */
1553
- interface Liquidity {
1554
- /**
1555
- * Calculation type of the liquidity pool.
1556
- */
1557
- calculationType?: 'fixed' | 'custom';
1558
- /**
1559
- * Custom function to calculate the the reward amount based on the liquidity
1560
- * provided per day. X is the reward amount, Y is the liquidity provided per day in
1561
- * USD.
1562
- */
1563
- customFunction?: string;
1564
- /**
1565
- * Liquidity provided per day in USD
1566
- */
1567
- liquidityPerDay?: number;
1568
- /**
1569
- * Blockchain network of the liquidity pool.
1570
- */
1571
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
1572
- /**
1573
- * Indicates if only in-range liquidity is rewarded.
1574
- */
1575
- onlyRewardInRangeLiquidity?: boolean;
1576
- /**
1577
- * Array of liquidity pools associated with the rule.
1578
- */
1579
- pools?: Array<Liquidity.Pool>;
1580
- /**
1581
- * Protocol of the liquidity pool.
1582
- */
1583
- protocol?: string;
1584
- }
1585
- namespace Liquidity {
1586
- interface Pool {
1587
- /**
1588
- * Unique identifier of the liquidity pool.
1589
- */
1590
- id: string;
1591
- }
1592
- }
1593
- interface Range {
1594
- /**
1595
- * Reward amount for this range.
1596
- */
1597
- amount: number;
1598
- /**
1599
- * End value of the range.
1600
- */
1601
- endRange: number;
1602
- /**
1603
- * Start value of the range.
1604
- */
1605
- startRange: number;
1606
- /**
1607
- * ID of the loyalty badge for this range.
1608
- */
1609
- loyaltyBadgeId?: string;
1610
- /**
1611
- * Amount of the loyalty multiplier for this range.
1612
- */
1613
- loyaltyMultiplierAmount?: number;
1614
- }
1615
- /**
1616
- * Object defining referral requirements.
1617
- */
1618
- interface ReferralRequirements {
1619
- /**
1620
- * Flag indicating if achieving points is required.
1621
- */
1622
- achievePoints?: boolean | null;
1623
- /**
1624
- * Flag indicating if completing the profile is required.
1625
- */
1626
- completeProfile?: boolean | null;
1627
- /**
1628
- * Flag indicating if connecting Discord is required.
1629
- */
1630
- connectDiscord?: boolean | null;
1631
- /**
1632
- * Flag indicating if connecting email is required.
1633
- */
1634
- connectEmail?: boolean | null;
1635
- /**
1636
- * Flag indicating if connecting Twitter is required.
1637
- */
1638
- connectTwitter?: boolean | null;
1639
- points?: ReferralRequirements.Points | null;
1640
- }
1641
- namespace ReferralRequirements {
1642
- interface Points {
1643
- /**
1644
- * Points required for referral.
1645
- */
1646
- amount?: number | null;
1647
- /**
1648
- * ID of the loyalty currency for referral.
1649
- */
1650
- loyaltyCurrecyId?: string | null;
1651
- }
1652
- }
1653
- /**
1654
- * Object containing details of the associated smart contract.
1655
- */
1656
- interface SmartContract {
1657
- /**
1658
- * Mapping of addresses for the smart contract.
1659
- */
1660
- addressMapping?: string | null;
1661
- /**
1662
- * Object containing details of the amount multiplier from the event.
1663
- */
1664
- amountMultiplier?: SmartContract.AmountMultiplier | null;
1665
- /**
1666
- * ID of the smart contract.
1667
- */
1668
- contractId?: string | null;
1669
- /**
1670
- * Criteria to evaluate the smart contract event.
1671
- */
1672
- criteria?: 'everyEvent' | 'byParameter' | null;
1673
- /**
1674
- * Event emitted by the smart contract.
1675
- */
1676
- event?: string | null;
1677
- /**
1678
- * Array of parameters for the smart contract.
1679
- */
1680
- params?: Array<SmartContract.Param> | null;
1681
- /**
1682
- * Type of the smart contract interaction.
1683
- */
1684
- type?: 'function' | 'event' | null;
1685
- }
1686
- namespace SmartContract {
1687
- /**
1688
- * Object containing details of the amount multiplier from the event.
1689
- */
1690
- interface AmountMultiplier {
1691
- /**
1692
- * Mapping of the value for the smart contract.
1693
- */
1694
- valueMapping?: string | null;
1695
- }
1696
- interface Param {
1697
- /**
1698
- * Condition to check for the parameter.
1699
- */
1700
- condition?: string | null;
1701
- /**
1702
- * Name of the smart contract parameter.
1703
- */
1704
- name?: string | null;
1705
- /**
1706
- * Value of the parameter.
1707
- */
1708
- value?: string | null;
1709
- }
1710
- }
1711
- interface SnapshotProposal {
1712
- /**
1713
- * ID of the snapshot proposal.
1714
- */
1715
- id: string;
1716
- /**
1717
- * Space associated with the snapshot proposal.
1718
- */
1719
- space: string;
1720
- }
1721
- interface StreakArray {
1722
- /**
1723
- * Reward amount for achieving the streak milestone.
1724
- */
1725
- streakAmount: number;
1726
- /**
1727
- * Milestone required to achieve the streak.
1728
- */
1729
- streakMilestone: number;
1730
- }
1731
- /**
1732
- * Metadata for swap loyalty rules
1733
- */
1734
- interface Swap {
1735
- from?: Swap.From;
1736
- provider?: 'any' | 'relay' | 'lifi';
1737
- relayReferrerId?: string;
1738
- requireCrossChainSwap?: boolean;
1739
- to?: Swap.To;
1740
- }
1741
- namespace Swap {
1742
- interface From {
1743
- chain?: 'any' | number | string;
1744
- mode?: 'any' | 'specific';
1745
- tokens?: Array<From.Token>;
1746
- trackAmount?: boolean;
1747
- }
1748
- namespace From {
1749
- interface Token {
1750
- address: string;
1751
- chainId: string;
1752
- }
1753
- }
1754
- interface To {
1755
- chain?: 'any' | number | string;
1756
- mode?: 'any' | 'specific';
1757
- tokens?: Array<To.Token>;
1758
- trackAmount?: boolean;
1759
- }
1760
- namespace To {
1761
- interface Token {
1762
- address: string;
1763
- chainId: string;
1764
- }
1765
- }
1766
- }
1767
- }
1768
- }
1769
- export interface RuleListResponse {
1770
- data: Array<RuleListResponse.Data>;
1771
- hasNextPage: boolean;
1772
- }
1773
- export declare namespace RuleListResponse {
1774
- interface Data {
1775
- /**
1776
- * Unique identifier for the loyalty rule
1777
- */
1778
- id: string;
1779
- /**
1780
- * Amount associated with the loyalty rule
1781
- */
1782
- amount: number | null;
1783
- /**
1784
- * Timestamp when the loyalty rule was created
1785
- */
1786
- createdAt: string;
1787
- /**
1788
- * Timestamp when the loyalty rule was deleted (if applicable)
1789
- */
1790
- deletedAt: string | null;
1791
- /**
1792
- * Description of the loyalty rule
1793
- */
1794
- description: string;
1795
- /**
1796
- * End time of the loyalty rule
1797
- */
1798
- endTime: string | null;
1799
- /**
1800
- * Frequency of the loyalty rule
1801
- */
1802
- frequency: string;
1803
- /**
1804
- * Chains attached to the loyalty rule
1805
- */
1806
- loyaltyRuleChain: Array<Data.LoyaltyRuleChain>;
1807
- /**
1808
- * Name of the loyalty rule
1809
- */
1810
- name: string;
1811
- /**
1812
- * Unique identifier for the organization
1813
- */
1814
- organizationId: string;
1815
- /**
1816
- * Type of the reward
1817
- */
1818
- rewardType: 'points' | 'multiplier' | 'badge';
1819
- /**
1820
- * Start time of the loyalty rule
1821
- */
1822
- startTime: string | null;
1823
- /**
1824
- * Type of the loyalty rule
1825
- */
1826
- type: string;
1827
- /**
1828
- * Timestamp when the loyalty rule was last updated
1829
- */
1830
- updatedAt: string;
1831
- /**
1832
- * Unique identifier for the website
1833
- */
1834
- websiteId: string;
1835
- /**
1836
- * Optional address of the collection
1837
- */
1838
- collectionAddress?: string;
1839
- /**
1840
- * URL of the media associated with the loyalty rule
1841
- */
1842
- mediaUrl?: string | null;
1843
- /**
1844
- * Optional metadata for the loyalty rule
1845
- */
1846
- metadata?: {
1847
- [key: string]: Data.Metadata;
1848
- };
1849
- }
1850
- namespace Data {
1851
- interface LoyaltyRuleChain {
1852
- /**
1853
- * Unique identifier for the rule chain
1854
- */
1855
- id: string;
1856
- loyaltyConditions: Array<LoyaltyRuleChain.LoyaltyCondition>;
1857
- /**
1858
- * Unique identifier for the loyalty rule
1859
- */
1860
- loyaltyRuleId: string;
1861
- /**
1862
- * Name of the rule chain
1863
- */
1864
- name: string;
1865
- /**
1866
- * Type of the operator. AND if all conditions must be met, OR if any condition can
1867
- * be met.
1868
- */
1869
- operatorType?: 'AND' | 'OR';
1870
- }
1871
- namespace LoyaltyRuleChain {
1872
- interface LoyaltyCondition {
1873
- /**
1874
- * Unique identifier for the condition
1875
- */
1876
- id: string;
1877
- /**
1878
- * Amount of the condition
1879
- */
1880
- amount: number | null;
1881
- association: Array<LoyaltyCondition.Association>;
1882
- /**
1883
- * URL of the CSV file
1884
- */
1885
- csvUrl: string | null;
1886
- /**
1887
- * Description of the condition
1888
- */
1889
- description: string | null;
1890
- /**
1891
- * Number of times the condition must be met
1892
- */
1893
- repeatCount: number | null;
1894
- /**
1895
- * Number of times the condition must be met
1896
- */
1897
- requiredCount: number | null;
1898
- /**
1899
- * Type of the condition
1900
- */
1901
- type: 'rule' | 'rules' | 'points' | 'section' | 'level' | 'api' | 'badge' | 'badges' | 'csv';
1902
- }
1903
- namespace LoyaltyCondition {
1904
- interface Association {
1905
- /**
1906
- * Unique identifier for the association
1907
- */
1908
- id: string;
1909
- /**
1910
- * Unique identifier for the loyalty badge
1911
- */
1912
- loyaltyBadgeId: string | null;
1913
- loyaltyCurrency: Association.LoyaltyCurrency | null;
1914
- /**
1915
- * Unique identifier for the loyalty currency
1916
- */
1917
- loyaltyCurrencyId: string | null;
1918
- loyaltyRule: Association.LoyaltyRule | null;
1919
- /**
1920
- * Unique identifier for the loyalty rule group
1921
- */
1922
- loyaltyRuleGroupId: string | null;
1923
- /**
1924
- * Unique identifier for the loyalty rule
1925
- */
1926
- loyaltyRuleId: string | null;
1927
- }
1928
- namespace Association {
1929
- interface LoyaltyCurrency {
1930
- /**
1931
- * Name of the loyalty currency
1932
- */
1933
- name: string;
1934
- }
1935
- interface LoyaltyRule {
1936
- /**
1937
- * Name of the loyalty rule
1938
- */
1939
- name: string;
1940
- }
1941
- }
1942
- }
1943
- }
1944
- interface Metadata {
1945
- /**
1946
- * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
1947
- * only.
1948
- */
1949
- allowMultipleRedemptions?: boolean;
1950
- /**
1951
- * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
1952
- * any rule completions count as check-in.
1953
- */
1954
- autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
1955
- /**
1956
- * Number of tokens per batch.
1957
- */
1958
- batchSize?: number | null;
1959
- /**
1960
- * Text displayed on the action button.
1961
- */
1962
- buttonText?: string | null;
1963
- /**
1964
- * Flag indicating if commenting is required.
1965
- */
1966
- checkComment?: boolean | null;
1967
- /**
1968
- * Flag indicating if liking the post is required.
1969
- */
1970
- checkLike?: boolean | null;
1971
- /**
1972
- * Flag indicating if reposting is required.
1973
- */
1974
- checkRepost?: boolean | null;
1975
- /**
1976
- * Text to check in the Twitter post, username, or bio.
1977
- */
1978
- checkText?: string | Array<string> | null;
1979
- /**
1980
- * Array of collections associated with the rule.
1981
- */
1982
- collection?: Array<Metadata.Collection>;
1983
- /**
1984
- * Conditions for completing the profile.
1985
- */
1986
- completeProfileConditions?: {
1987
- [key: string]: boolean;
1988
- } | null;
1989
- /**
1990
- * Description of the external rule condition (only for external rules)
1991
- */
1992
- conditionDescription?: string;
1993
- /**
1994
- * Object containing details for the call-to-action.
1995
- */
1996
- cta?: Metadata.Cta | null;
1997
- /**
1998
- * API key for custom rewards integration.
1999
- */
2000
- customRewardsApiKey?: string;
2001
- /**
2002
- * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2003
- */
2004
- directRpc?: boolean;
2005
- /**
2006
- * Array of Discord servers, channels, and roles to join.
2007
- */
2008
- discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2009
- /**
2010
- * Array of drip quests required to complete the rule.
2011
- */
2012
- dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2013
- /**
2014
- * Flag indicating whether joining Discord servers is required.
2015
- */
2016
- enableJoinDiscordServers?: boolean | null;
2017
- /**
2018
- * Flag indicating whether streaks are enabled.
2019
- */
2020
- enableStreaks?: boolean | null;
2021
- /**
2022
- * Flag indicating whether the verified multiplier is enabled.
2023
- */
2024
- enableVerifiedMultiplier?: boolean;
2025
- /**
2026
- * Type of ERC20 token for the loyalty rule.
2027
- */
2028
- erc20Type?: 'erc20' | 'native';
2029
- /**
2030
- * Fill source of the order for the token sale
2031
- */
2032
- fillSource?: string;
2033
- /**
2034
- * Percentage reward given to a user for their first referral.
2035
- */
2036
- firstReferralReward?: number | null;
2037
- /**
2038
- * Name of the GitHub branch to check for PR merge.
2039
- */
2040
- githubBranchName?: string | null;
2041
- /**
2042
- * URL of the GitHub repository to check for star.
2043
- */
2044
- githubRepoUrl?: string | null;
2045
- /**
2046
- * Flag indicating whether the fill source is included.
2047
- */
2048
- hasFillSource?: boolean;
2049
- /**
2050
- * Indicates if the item has never been sold.
2051
- */
2052
- hasNeverSold?: boolean;
2053
- /**
2054
- * Indicates if the full royalty has been paid for items.
2055
- */
2056
- hasPaidFullRoyalty?: boolean;
2057
- /**
2058
- * Flag indicating if the sale currency is included.
2059
- */
2060
- hasSaleCurrency?: boolean;
2061
- /**
2062
- * Indicates if the user has a verified Twitter account.
2063
- */
2064
- hasVerifiedTwitter?: boolean;
2065
- /**
2066
- * URL of the image associated with the rule.
2067
- */
2068
- imageUrl?: string | null;
2069
- /**
2070
- * If enabled, the first transaction done on the platform will complete this rule
2071
- */
2072
- isCheckInOnEveryTxn?: boolean;
2073
- /**
2074
- * Indicates if the multiplier has been applied to rewards.
2075
- */
2076
- isMultiplierApplied?: boolean;
2077
- /**
2078
- * Flag indicating if the rule is restricted to new users.
2079
- */
2080
- isRestrictedToNewUsers?: boolean;
2081
- /**
2082
- * Flag indicating if rewards are applied retroactively.
2083
- */
2084
- isRetroactive?: boolean | null;
2085
- /**
2086
- * Flag indicating if the token hold multiplier is applied.
2087
- */
2088
- isTokenHoldMultiplier?: boolean;
2089
- /**
2090
- * Optional link associated with the metadata.
2091
- */
2092
- link?: string | null;
2093
- /**
2094
- * Liquidity pool details.
2095
- */
2096
- liquidity?: Metadata.Liquidity;
2097
- /**
2098
- * Maximum quantity constraint for token holding.
2099
- */
2100
- maxQty?: number | null;
2101
- /**
2102
- * Minimum follower count for the rule. Accepts both number and string values.
2103
- */
2104
- minimumFollowerCount?: number | null;
2105
- /**
2106
- * Minimum quantity constraint for token holding.
2107
- */
2108
- minQty?: number | null;
2109
- /**
2110
- * Array of loyalty currency IDs used for multipliers.
2111
- */
2112
- multiplierLoyaltyCurrencyIds?: Array<string> | null;
2113
- /**
2114
- * Flag indicating whether to include only known users.
2115
- */
2116
- onlyKnownUsers?: boolean;
2117
- /**
2118
- * Flag indicating whether to include only native tokens.
2119
- */
2120
- onlyNative?: boolean;
2121
- /**
2122
- * Flag indicating whether to include only non-listed items.
2123
- */
2124
- onlyNonListed?: boolean;
2125
- /**
2126
- * Indicates if only existing users are rewarded.
2127
- */
2128
- onlyRewardExistingUser?: boolean;
2129
- /**
2130
- * give points for only one token ownership per contract
2131
- */
2132
- onlyRewardSingleTokenOwnership?: boolean | null;
2133
- /**
2134
- * Pre-generated text template that will be used to prefill the post content.
2135
- */
2136
- preGeneratedPostText?: string | null;
2137
- /**
2138
- * Promotional code associated with the rule.
2139
- */
2140
- promoCode?: string;
2141
- /**
2142
- * URL of the CSV file containing promo codes.
2143
- */
2144
- promoCodeCsvUrl?: string;
2145
- /**
2146
- * Numbers of the promotional code to be generated.
2147
- */
2148
- promoCodeLength?: number | null;
2149
- /**
2150
- * Type of the promotional code.
2151
- */
2152
- promoCodeType?: 'code' | 'csv' | 'generate';
2153
- /**
2154
- * Array defining ranges and corresponding rewards.
2155
- */
2156
- range?: Array<Metadata.Range>;
2157
- /**
2158
- * ID of the Reddit post.
2159
- */
2160
- redditPostId?: string | null;
2161
- /**
2162
- * Object defining referral requirements.
2163
- */
2164
- referralRequirements?: Metadata.ReferralRequirements | null;
2165
- /**
2166
- * Lump sum reward given to a referrer.
2167
- */
2168
- referrerReward?: number | null;
2169
- /**
2170
- * Loyalty currency ID of the referrer reward.
2171
- */
2172
- referrerRewardLoyaltyCurrencyId?: string | null;
2173
- /**
2174
- * Flag indicating if the post link is required.
2175
- */
2176
- requirePostLink?: boolean | null;
2177
- /**
2178
- * Flag indicating if media metadata is required.
2179
- */
2180
- requirePostMediaLink?: boolean | null;
2181
- /**
2182
- * Flag indicating if the rule can also reward badges per range.
2183
- */
2184
- rewardBadgePerRange?: boolean;
2185
- /**
2186
- * Flag indicating if the reward is rewarded by batch.
2187
- */
2188
- rewardByBatch?: boolean | null;
2189
- /**
2190
- * Criteria to evaluate the reward.
2191
- */
2192
- rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
2193
- /**
2194
- * Flag indicating if the reward is rewarded per action.
2195
- */
2196
- rewardPerAction?: boolean | null;
2197
- /**
2198
- * Flag indicating if rewards are given per impression.
2199
- */
2200
- rewardPerImpression?: boolean | null;
2201
- /**
2202
- * Flag indicating if the rule should reward based on value of traded tokens
2203
- * instead of count.
2204
- */
2205
- rewardPerValue?: boolean;
2206
- /**
2207
- * Flag indicating if the rule should reward quality posts.
2208
- */
2209
- rewardQualityPosts?: boolean;
2210
- robinhoodSymbols?: Array<string> | null;
2211
- /**
2212
- * Wallet address of the user can only be used if userId is not provided
2213
- */
2214
- royaltyAddress?: string;
2215
- /**
2216
- * Royalty percentage of the item.
2217
- */
2218
- royaltyPercentage?: number;
2219
- /**
2220
- * Currency associated with sales.
2221
- */
2222
- saleCurrency?: string;
2223
- /**
2224
- * Percentage reward given for a second-level referral.
2225
- */
2226
- secondReferralReward?: number | null;
2227
- /**
2228
- * Flag indicating if the multiplier is skipped.
2229
- */
2230
- skipMultiplier?: boolean | null;
2231
- /**
2232
- * Object containing details of the associated smart contract.
2233
- */
2234
- smartContract?: Metadata.SmartContract;
2235
- /**
2236
- * Array of snapshot proposals for the rule.
2237
- */
2238
- snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
2239
- /**
2240
- * Social media platform associated with the rule.
2241
- */
2242
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
2243
- /**
2244
- * URL of the social platform's logo.
2245
- */
2246
- socialPlatformLogo?: string | null;
2247
- /**
2248
- * Name of the social platform.
2249
- */
2250
- socialPlatformName?: string | null;
2251
- /**
2252
- * ID of the Steam app.
2253
- */
2254
- steamAppId?: string | null;
2255
- /**
2256
- * Array of streak milestones and corresponding rewards.
2257
- */
2258
- streakArray?: Array<Metadata.StreakArray> | null;
2259
- /**
2260
- * Metadata for swap loyalty rules
2261
- */
2262
- swap?: Metadata.Swap;
2263
- /**
2264
- * ID of the Telegram channel.
2265
- */
2266
- telegramChannelId?: string | null;
2267
- /**
2268
- * Time delay in seconds to verify actions.
2269
- */
2270
- timeDelayToVerifySeconds?: string | number | null;
2271
- /**
2272
- * Flag indicating if all contracts are tracked.
2273
- */
2274
- trackAllContracts?: boolean | null;
2275
- /**
2276
- * Flag indicating if the progress is tracked. If enabled, the rule can only be
2277
- * completed once the progress is 100%.
2278
- */
2279
- trackProgress?: boolean | null;
2280
- /**
2281
- * URL of the associated Twitter account.
2282
- */
2283
- twitterAccountUrl?: string;
2284
- /**
2285
- * Hashtag associated with the Twitter post.
2286
- */
2287
- twitterHashtag?: string;
2288
- /**
2289
- * URL of the associated Twitter post.
2290
- */
2291
- twitterPostUrl?: string;
2292
- /**
2293
- * Unique identifier of the Twitter user.
2294
- */
2295
- twitterUserId?: string;
2296
- /**
2297
- * Twitter username of the user.
2298
- */
2299
- twitterUsername?: string;
2300
- /**
2301
- * Minimum length of the verification text.
2302
- */
2303
- verificationTextMinimumLength?: number | null;
2304
- /**
2305
- * Multiplier applied to rewards for verified users.
2306
- */
2307
- verifiedMultiplier?: number | null;
2308
- /**
2309
- * Placeholder text for verification input fields.
2310
- */
2311
- verifyPlaceHolderText?: string | null;
2312
- /**
2313
- * Type of wallet associated with the rule.
2314
- */
2315
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
2316
- /**
2317
- * ID of the Youtube channel.
2318
- */
2319
- youtubeChannelId?: string | null;
2320
- /**
2321
- * ID of the Youtube video.
2322
- */
2323
- youtubeVideoId?: string | null;
2324
- }
2325
- namespace Metadata {
2326
- interface Collection {
2327
- /**
2328
- * Blockchain address of the collection.
2329
- */
2330
- address?: string;
2331
- /**
2332
- * Multiplier applied to the rewards for this collection.
2333
- */
2334
- multiplier?: number;
2335
- /**
2336
- * Blockchain network of the collection.
2337
- */
2338
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2339
- }
2340
- /**
2341
- * Object containing details for the call-to-action.
2342
- */
2343
- interface Cta {
2344
- /**
2345
- * Link for the call-to-action.
2346
- */
2347
- href?: string | null;
2348
- /**
2349
- * Label for the call-to-action.
2350
- */
2351
- label?: string | null;
2352
- }
2353
- interface DiscordServersToJoin {
2354
- /**
2355
- * ID of the Discord server to join.
2356
- */
2357
- id?: string;
2358
- /**
2359
- * Array of Discord channels to join.
2360
- */
2361
- channels?: Array<DiscordServersToJoin.Channel>;
2362
- /**
2363
- * Array of roles to assign in the Discord server.
2364
- */
2365
- roles?: Array<DiscordServersToJoin.Role>;
2366
- }
2367
- namespace DiscordServersToJoin {
2368
- interface Channel {
2369
- /**
2370
- * ID of the Discord channel.
2371
- */
2372
- id?: string;
2373
- /**
2374
- * Array of emojis used in the channel.
2375
- */
2376
- emojis?: Array<Channel.Emoji>;
2377
- /**
2378
- * Phrase of text to be present in the discord message
2379
- */
2380
- text?: string;
2381
- }
2382
- namespace Channel {
2383
- interface Emoji {
2384
- /**
2385
- * ID of the emoji used in the channel.
2386
- */
2387
- id?: string;
2388
- }
2389
- }
2390
- interface Role {
2391
- /**
2392
- * ID of the role in the Discord server.
2393
- */
2394
- id: string;
2395
- }
2396
- }
2397
- interface DripQuestsToComplete {
2398
- /**
2399
- * ID of the drip quest to complete.
2400
- */
2401
- id: string;
2402
- }
2403
- /**
2404
- * Liquidity pool details.
2405
- */
2406
- interface Liquidity {
2407
- /**
2408
- * Calculation type of the liquidity pool.
2409
- */
2410
- calculationType?: 'fixed' | 'custom';
2411
- /**
2412
- * Custom function to calculate the the reward amount based on the liquidity
2413
- * provided per day. X is the reward amount, Y is the liquidity provided per day in
2414
- * USD.
2415
- */
2416
- customFunction?: string;
2417
- /**
2418
- * Liquidity provided per day in USD
2419
- */
2420
- liquidityPerDay?: number;
2421
- /**
2422
- * Blockchain network of the liquidity pool.
2423
- */
2424
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2425
- /**
2426
- * Indicates if only in-range liquidity is rewarded.
2427
- */
2428
- onlyRewardInRangeLiquidity?: boolean;
2429
- /**
2430
- * Array of liquidity pools associated with the rule.
2431
- */
2432
- pools?: Array<Liquidity.Pool>;
2433
- /**
2434
- * Protocol of the liquidity pool.
2435
- */
2436
- protocol?: string;
2437
- }
2438
- namespace Liquidity {
2439
- interface Pool {
2440
- /**
2441
- * Unique identifier of the liquidity pool.
2442
- */
2443
- id: string;
2444
- }
2445
- }
2446
- interface Range {
2447
- /**
2448
- * Reward amount for this range.
2449
- */
2450
- amount: number;
2451
- /**
2452
- * End value of the range.
2453
- */
2454
- endRange: number;
2455
- /**
2456
- * Start value of the range.
2457
- */
2458
- startRange: number;
2459
- /**
2460
- * ID of the loyalty badge for this range.
2461
- */
2462
- loyaltyBadgeId?: string;
2463
- /**
2464
- * Amount of the loyalty multiplier for this range.
2465
- */
2466
- loyaltyMultiplierAmount?: number;
2467
- }
2468
- /**
2469
- * Object defining referral requirements.
2470
- */
2471
- interface ReferralRequirements {
2472
- /**
2473
- * Flag indicating if achieving points is required.
2474
- */
2475
- achievePoints?: boolean | null;
2476
- /**
2477
- * Flag indicating if completing the profile is required.
2478
- */
2479
- completeProfile?: boolean | null;
2480
- /**
2481
- * Flag indicating if connecting Discord is required.
2482
- */
2483
- connectDiscord?: boolean | null;
2484
- /**
2485
- * Flag indicating if connecting email is required.
2486
- */
2487
- connectEmail?: boolean | null;
2488
- /**
2489
- * Flag indicating if connecting Twitter is required.
2490
- */
2491
- connectTwitter?: boolean | null;
2492
- points?: ReferralRequirements.Points | null;
2493
- }
2494
- namespace ReferralRequirements {
2495
- interface Points {
2496
- /**
2497
- * Points required for referral.
2498
- */
2499
- amount?: number | null;
2500
- /**
2501
- * ID of the loyalty currency for referral.
2502
- */
2503
- loyaltyCurrecyId?: string | null;
2504
- }
2505
- }
2506
- /**
2507
- * Object containing details of the associated smart contract.
2508
- */
2509
- interface SmartContract {
2510
- /**
2511
- * Mapping of addresses for the smart contract.
2512
- */
2513
- addressMapping?: string | null;
2514
- /**
2515
- * Object containing details of the amount multiplier from the event.
2516
- */
2517
- amountMultiplier?: SmartContract.AmountMultiplier | null;
2518
- /**
2519
- * ID of the smart contract.
2520
- */
2521
- contractId?: string | null;
2522
- /**
2523
- * Criteria to evaluate the smart contract event.
2524
- */
2525
- criteria?: 'everyEvent' | 'byParameter' | null;
2526
- /**
2527
- * Event emitted by the smart contract.
2528
- */
2529
- event?: string | null;
2530
- /**
2531
- * Array of parameters for the smart contract.
2532
- */
2533
- params?: Array<SmartContract.Param> | null;
2534
- /**
2535
- * Type of the smart contract interaction.
2536
- */
2537
- type?: 'function' | 'event' | null;
2538
- }
2539
- namespace SmartContract {
2540
- /**
2541
- * Object containing details of the amount multiplier from the event.
2542
- */
2543
- interface AmountMultiplier {
2544
- /**
2545
- * Mapping of the value for the smart contract.
2546
- */
2547
- valueMapping?: string | null;
2548
- }
2549
- interface Param {
2550
- /**
2551
- * Condition to check for the parameter.
2552
- */
2553
- condition?: string | null;
2554
- /**
2555
- * Name of the smart contract parameter.
2556
- */
2557
- name?: string | null;
2558
- /**
2559
- * Value of the parameter.
2560
- */
2561
- value?: string | null;
2562
- }
2563
- }
2564
- interface SnapshotProposal {
2565
- /**
2566
- * ID of the snapshot proposal.
2567
- */
2568
- id: string;
2569
- /**
2570
- * Space associated with the snapshot proposal.
2571
- */
2572
- space: string;
2573
- }
2574
- interface StreakArray {
2575
- /**
2576
- * Reward amount for achieving the streak milestone.
2577
- */
2578
- streakAmount: number;
2579
- /**
2580
- * Milestone required to achieve the streak.
2581
- */
2582
- streakMilestone: number;
2583
- }
2584
- /**
2585
- * Metadata for swap loyalty rules
2586
- */
2587
- interface Swap {
2588
- from?: Swap.From;
2589
- provider?: 'any' | 'relay' | 'lifi';
2590
- relayReferrerId?: string;
2591
- requireCrossChainSwap?: boolean;
2592
- to?: Swap.To;
2593
- }
2594
- namespace Swap {
2595
- interface From {
2596
- chain?: 'any' | number | string;
2597
- mode?: 'any' | 'specific';
2598
- tokens?: Array<From.Token>;
2599
- trackAmount?: boolean;
2600
- }
2601
- namespace From {
2602
- interface Token {
2603
- address: string;
2604
- chainId: string;
2605
- }
2606
- }
2607
- interface To {
2608
- chain?: 'any' | number | string;
2609
- mode?: 'any' | 'specific';
2610
- tokens?: Array<To.Token>;
2611
- trackAmount?: boolean;
2612
- }
2613
- namespace To {
2614
- interface Token {
2615
- address: string;
2616
- chainId: string;
2617
- }
2618
- }
2619
- }
2620
- }
2621
- }
2622
- }
2623
- export interface RuleDeleteResponse {
2624
- id: string;
2625
- deletedAt: string;
2626
- }
2627
- export interface RuleCompleteResponse {
2628
- message: 'Completion request added to queue' | 'Link click being verified, come back later to check the status';
2629
- }
2630
- export interface RuleGetStatusResponse {
2631
- data: Array<RuleGetStatusResponse.Data>;
2632
- }
2633
- export declare namespace RuleGetStatusResponse {
2634
- interface Data {
2635
- loyaltyRuleId: string;
2636
- userId: string;
2637
- /**
2638
- * The ID of the loyalty rule status for the Progress object
2639
- */
2640
- id?: string;
2641
- createdAt?: string;
2642
- fulfilledAt?: string | null;
2643
- /**
2644
- * Categorized examples of messages that may be returned for a loyalty rule's
2645
- * processing result.
2646
- *
2647
- * User Onboarding
2648
- *
2649
- * - Check In: "Streak successful"
2650
- * - Complete Profile Details: "Profile not complete"
2651
- *
2652
- * Connect Accounts
2653
- *
2654
- * - Connect TikTok: "TikTok not connected"
2655
- * - Connect Discord: "Discord not connected", "Discord request timeout"
2656
- * - Connect X: "Twitter not connected", "Twitter not connected or content url is
2657
- * required"
2658
- * - Connect Email: "Email address not connected"
2659
- * - Connect Telegram: "Telegram not connected", "user has not setup telegram (no
2660
- * telegramUsername), please setup username in telegram and reconnect.",
2661
- * "Telegram request rate-limited"
2662
- * - Connect Steam: "Steam not connected"
2663
- * - Connect Youtube: "Youtube not connected"
2664
- *
2665
- * Social Quests
2666
- *
2667
- * - Join Telegram Group: "Telegram Channel not joined", "Telegram Channel joined
2668
- * successfully"
2669
- * - Post on TikTok: "TikTok post not verified"
2670
- * - Comment on an X Post: "Quest Completed: You have commented on the tweet",
2671
- * "Quest Not Completed: Comment not found for the specified tweet"
2672
- * - Repost an X Post: "Quest Completed: You have retweeted the tweet", "Quest Not
2673
- * Completed: Retweet not found for the specified tweet", "Quest Completed: You
2674
- * have retweeted and commented on the tweet", "Quest Not Completed: You have not
2675
- * retweeted or commented on the tweet"
2676
- * - Follow an X Account: "Missing required parameters: twitterUserId,
2677
- * targetUsername", "Quest Completed: You are a follower of
2678
- * @${targetUsername}", "Quest Not Completed: Please follow @${targetUsername}
2679
- * and try again in few minutes"
2680
- * - React to an X Post: "Missing required parameters: texts, twitterUserId,
2681
- * userTweetId", "No text provided", "Quest Completed: You have posted {tweetId}
2682
- * a tweet with the text {text}", "Quest Not Completed: Your all previous {COUNT}
2683
- * posts are already claimed. Please post a new tweet and try again in a few
2684
- * minutes.", "Tweet is already claimed", "Tweet does not belong to the user",
2685
- * "Text not found in tweet", "Tweet is before the quest start time", "Tweet does
2686
- * not have media", "Text found in tweet"
2687
- * - Add Text to X Bio: "Missing required parameters: texts, twitterUserId", "User
2688
- * not found", "Text found in bio", "Text not found in bio"
2689
- * - Add Text to X Username: "Missing required parameters: texts, twitterUserId",
2690
- * "User not found", "Text found in username", "Text not found in username"
2691
- * - Comment on an X Post with Text: "Missing required parameters: texts,
2692
- * twitterUserId", "Comment is already claimed", "Text found in comment", "Text
2693
- * not found in comment", "Tweet not found or could not be retrieved"
2694
- * - Comment on a YouTube Video: "Youtube comment added", "Youtube comment not
2695
- * added"
2696
- * - Subscribe to a YouTube Channel: "Youtube channel subscribed", "Quest failed,
2697
- * please make sure you have made your subscriptions public in youtube"
2698
- * - Get X post impressions: "You've already claimed the reward for this impression
2699
- * range."
2700
- * - Add an Item to Steam Wishlist: "Steam Wishlist item added", "Steam Wishlist
2701
- * item not added"
2702
- *
2703
- * Complex Onchain Logic
2704
- *
2705
- * - Token Swap: "Swap rewards calculated successfully", "Swap rule failed"
2706
- *
2707
- * Other
2708
- *
2709
- * - Answer a Quiz: "Quiz question not configured", "No question response found",
2710
- * "Incorrect answer", "Correct answer"
2711
- * - Answer a Poll: "Poll question not configured", "Poll response recorded"
2712
- * - Spend in Shopify Store: "Shopify not connected"
2713
- * - Points Airdrop: "Seems like you're not eligible for this points airdrop."
2714
- *
2715
- * General
2716
- *
2717
- * - "Quest already completed"
2718
- * - "Quest already completed using the same social account (${socialAccountName}),
2719
- * with the different user."
2720
- * - "You've already claimed the reward for this quest."
2721
- * - "Quest not achieved, please try again."
2722
- * - "Rule is not setup"
2723
- * - "Request aborted due to timeout"
2724
- * - "Google account not connected"
2725
- * - "Claim failed: Multiplier is already active"
2726
- */
2727
- message?: string;
2728
- organizationId?: string;
2729
- /**
2730
- * The progress of the loyalty rule from 0 to 100
2731
- */
2732
- progress?: number;
2733
- /**
2734
- * Status of the queued job, this is only returned if the job is queued and being
2735
- * processed, this wil be retained for 10 minutes after the job is completed
2736
- */
2737
- status?: 'pending' | 'processing' | 'completed' | 'failed';
2738
- updatedAt?: string;
2739
- websiteId?: string;
2740
- }
2741
- }
2742
- export interface RuleCreateParams {
2743
- /**
2744
- * Reward amount associated with the rule
2745
- */
2746
- amount: unknown;
2747
- /**
2748
- * The effective end time of the rule
2749
- */
2750
- effectiveEndTime: string | null;
2751
- /**
2752
- * The effective start time of the rule
2753
- */
2754
- effectiveStartTime: string | null;
2755
- /**
2756
- * When the rule becomes inactive
2757
- */
2758
- endTime: string | null;
2759
- /**
2760
- * Execution frequency of the loyalty rule
2761
- */
2762
- frequency: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
2763
- /**
2764
- * Unique identifier for the loyalty currency
2765
- */
2766
- loyaltyCurrencyId: string;
2767
- /**
2768
- * Additional metadata for the loyalty rule
2769
- */
2770
- metadata: RuleCreateParams.Metadata;
2771
- /**
2772
- * Name of the loyalty rule
2773
- */
2774
- name: string;
2775
- /**
2776
- * Unique identifier for the organization creating the rule
2777
- */
2778
- organizationId: string;
2779
- /**
2780
- * When the rule becomes active
2781
- */
2782
- startTime: string | null;
2783
- /**
2784
- * Type of loyalty rule being created
2785
- */
2786
- type: 'Bonus' | 'BoughtOn' | 'BoughtWithRoyalties' | 'DiscordMessages' | 'Listing' | 'Lodging' | 'MintOn' | 'PoapClaim' | 'SnagSocialsConnected' | 'SnapshotFullset' | 'SnapshotHold' | 'SoldOn' | 'SoldWithRoyalties' | 'TokenHold' | 'TwitterBio' | 'TwitterHashTagPost' | 'Retweet' | 'check_in' | 'code_entry' | 'connect_wallet' | 'connected_discord' | 'connected_email' | 'connected_epic' | 'connected_github' | 'connected_steam' | 'connected_telegram' | 'connected_twitter' | 'create_partner_account' | 'discord_member' | 'drip_x_follow' | 'drip_x_new_tweet' | 'drip_x_text_in_bio' | 'drip_x_text_in_comment' | 'drip_x_text_in_name' | 'drip_x_tweet' | 'external_rule' | 'link_click' | 'manual_upload' | 'profile_completed' | 'referred_user' | 'smart_contract_event' | 'snapshot_governance' | 'telegram_join' | 'telegram_messages' | 'text_input' | 'token_hold_erc20' | 'tweet_liked_by_project' | 'twitter_comment' | 'twitter_follow' | 'twitter_followers' | 'twitter_like' | 'twitter_post_hashtag' | 'quiz' | 'poll' | 'steam_wishlist' | 'liquidity_uniswap_v2' | 'liquidity_uniswap_v3' | 'points_airdrop' | 'youtube_subscribers' | 'youtube_comment' | 'shopify_spend' | 'swap' | 'tiktok_post' | 'post_impressions' | 'discord_join' | 'connected_youtube' | 'stratus_function' | 'connected_tiktok' | 'tiktok_follow' | 'github_repo_star' | 'github_repo_fork' | 'github_repo_collaborator' | 'github_merge_PR' | 'discord_role_grant' | 'connected_reddit' | 'reddit_comment' | 'robinhood_token_hold' | 'connected_instagram' | 'instagram_post';
2787
- /**
2788
- * Unique identifier for the associated website
2789
- */
2790
- websiteId: string;
2791
- /**
2792
- * URL of the background asset to be displayed
2793
- */
2794
- backgroundAssetUrl?: string;
2795
- /**
2796
- * The type of claim for the reward
2797
- */
2798
- claimType?: 'manual' | 'auto' | null;
2799
- /**
2800
- * Blockchain address of the associated collection
2801
- */
2802
- collectionAddress?: string;
2803
- /**
2804
- * List of associated collections
2805
- */
2806
- collections?: Array<RuleCreateParams.Collection> | null;
2807
- /**
2808
- * The IDs of the contracts
2809
- */
2810
- contractIds?: Array<string> | null;
2811
- /**
2812
- * URL for fetching custom rewards
2813
- */
2814
- customRewardsApiUrl?: string | null;
2815
- /**
2816
- * URL for uploading custom rewards via CSV
2817
- */
2818
- customRewardsCsvUrl?: string | null;
2819
- /**
2820
- * Optional detailed description of the rule
2821
- */
2822
- description?: string;
2823
- duplicatedFromId?: string | null;
2824
- /**
2825
- * ID of the external integration
2826
- */
2827
- externalIntegrationId?: string | null;
2828
- /**
2829
- * Optional stratus function id for the rule
2830
- */
2831
- functionId?: string | null;
2832
- /**
2833
- * Whether to hide this rule in the user interface
2834
- */
2835
- hideInUi?: boolean;
2836
- /**
2837
- * Interval between rule executions
2838
- */
2839
- interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
2840
- /**
2841
- * Whether this rule is mandatory
2842
- */
2843
- isRequired?: boolean;
2844
- /**
2845
- * Unique identifier for the loyalty badge
2846
- */
2847
- loyaltyBadgeId?: string | null;
2848
- /**
2849
- * Unique identifier for the loyalty rule group
2850
- */
2851
- loyaltyRuleGroupId?: 'no-section' | (string & {}) | null;
2852
- /**
2853
- * URL for uploading loyalty user allotment via CSV
2854
- */
2855
- loyaltyUserAllotmentCsvUrl?: string;
2856
- /**
2857
- * The interval for the max amount. Available for the smart contract and external
2858
- * rules.
2859
- */
2860
- maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
2861
- /**
2862
- * The maximum amount of points a user can earn per interval. Available for the
2863
- * smart contract and external rules.
2864
- */
2865
- maxAmountPerInterval?: number | null;
2866
- /**
2867
- * URL of the media to be displayed
2868
- */
2869
- mediaUrl?: string | null;
2870
- /**
2871
- * Blockchain network where the rule will apply
2872
- */
2873
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
2874
- /**
2875
- * OAuth credentials associated with the rule
2876
- */
2877
- oauthCredentialsId?: string | null;
2878
- /**
2879
- * The lifetime of the reward
2880
- */
2881
- rewardLifetime?: 'permanent' | 'dynamic' | null;
2882
- /**
2883
- * Type of reward issued by the rule
2884
- */
2885
- rewardType?: 'points' | 'multiplier' | 'badge';
2886
- /**
2887
- * URL of the Shopify store
2888
- */
2889
- shopifyStoreUrl?: string | null;
2890
- /**
2891
- * Whether to show this rule before the start time
2892
- */
2893
- showBeforeStart?: boolean;
2894
- /**
2895
- * Optional stratus subscription id for the rule
2896
- */
2897
- subscriptionId?: string | null;
2898
- }
2899
- export declare namespace RuleCreateParams {
2900
- /**
2901
- * Additional metadata for the loyalty rule
2902
- */
2903
- interface Metadata {
2904
- /**
2905
- * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
2906
- * only.
2907
- */
2908
- allowMultipleRedemptions?: boolean;
2909
- /**
2910
- * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
2911
- * any rule completions count as check-in.
2912
- */
2913
- autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
2914
- /**
2915
- * Number of tokens per batch.
2916
- */
2917
- batchSize?: number | null;
2918
- /**
2919
- * Text displayed on the action button.
2920
- */
2921
- buttonText?: string | null;
2922
- /**
2923
- * Flag indicating if commenting is required.
2924
- */
2925
- checkComment?: boolean | null;
2926
- /**
2927
- * Flag indicating if liking the post is required.
2928
- */
2929
- checkLike?: boolean | null;
2930
- /**
2931
- * Flag indicating if reposting is required.
2932
- */
2933
- checkRepost?: boolean | null;
2934
- /**
2935
- * Text to check in the Twitter post, username, or bio.
2936
- */
2937
- checkText?: string | Array<string> | null;
2938
- /**
2939
- * Array of collections associated with the rule.
2940
- */
2941
- collection?: Array<Metadata.Collection>;
2942
- /**
2943
- * Conditions for completing the profile.
2944
- */
2945
- completeProfileConditions?: {
2946
- [key: string]: boolean;
2947
- } | null;
2948
- /**
2949
- * Description of the external rule condition (only for external rules)
2950
- */
2951
- conditionDescription?: string;
2952
- /**
2953
- * Object containing details for the call-to-action.
2954
- */
2955
- cta?: Metadata.Cta | null;
2956
- /**
2957
- * API key for custom rewards integration.
2958
- */
2959
- customRewardsApiKey?: string;
2960
- /**
2961
- * Flag indicating if the rule should use direct RPC to get the balance of tokens.
2962
- */
2963
- directRpc?: boolean;
2964
- /**
2965
- * Array of Discord servers, channels, and roles to join.
2966
- */
2967
- discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
2968
- /**
2969
- * Array of drip quests required to complete the rule.
2970
- */
2971
- dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
2972
- /**
2973
- * Flag indicating whether joining Discord servers is required.
2974
- */
2975
- enableJoinDiscordServers?: boolean | null;
2976
- /**
2977
- * Flag indicating whether streaks are enabled.
2978
- */
2979
- enableStreaks?: boolean | null;
2980
- /**
2981
- * Flag indicating whether the verified multiplier is enabled.
2982
- */
2983
- enableVerifiedMultiplier?: boolean;
2984
- /**
2985
- * Type of ERC20 token for the loyalty rule.
2986
- */
2987
- erc20Type?: 'erc20' | 'native';
2988
- /**
2989
- * Fill source of the order for the token sale
2990
- */
2991
- fillSource?: string;
2992
- /**
2993
- * Percentage reward given to a user for their first referral.
2994
- */
2995
- firstReferralReward?: number | null;
2996
- /**
2997
- * Name of the GitHub branch to check for PR merge.
2998
- */
2999
- githubBranchName?: string | null;
3000
- /**
3001
- * URL of the GitHub repository to check for star.
3002
- */
3003
- githubRepoUrl?: string | null;
3004
- /**
3005
- * Flag indicating whether the fill source is included.
3006
- */
3007
- hasFillSource?: boolean;
3008
- /**
3009
- * Indicates if the item has never been sold.
3010
- */
3011
- hasNeverSold?: boolean;
3012
- /**
3013
- * Indicates if the full royalty has been paid for items.
3014
- */
3015
- hasPaidFullRoyalty?: boolean;
3016
- /**
3017
- * Flag indicating if the sale currency is included.
3018
- */
3019
- hasSaleCurrency?: boolean;
3020
- /**
3021
- * Indicates if the user has a verified Twitter account.
3022
- */
3023
- hasVerifiedTwitter?: boolean;
3024
- /**
3025
- * URL of the image associated with the rule.
3026
- */
3027
- imageUrl?: string | null;
3028
- /**
3029
- * If enabled, the first transaction done on the platform will complete this rule
3030
- */
3031
- isCheckInOnEveryTxn?: boolean;
3032
- /**
3033
- * Indicates if the multiplier has been applied to rewards.
3034
- */
3035
- isMultiplierApplied?: boolean;
3036
- /**
3037
- * Flag indicating if the rule is restricted to new users.
3038
- */
3039
- isRestrictedToNewUsers?: boolean;
3040
- /**
3041
- * Flag indicating if rewards are applied retroactively.
3042
- */
3043
- isRetroactive?: boolean | null;
3044
- /**
3045
- * Flag indicating if the token hold multiplier is applied.
3046
- */
3047
- isTokenHoldMultiplier?: boolean;
3048
- /**
3049
- * Optional link associated with the metadata.
3050
- */
3051
- link?: string | null;
3052
- /**
3053
- * Liquidity pool details.
3054
- */
3055
- liquidity?: Metadata.Liquidity;
3056
- /**
3057
- * Maximum quantity constraint for token holding.
3058
- */
3059
- maxQty?: number | null;
3060
- /**
3061
- * Minimum follower count for the rule. Accepts both number and string values.
3062
- */
3063
- minimumFollowerCount?: number | null;
3064
- /**
3065
- * Minimum quantity constraint for token holding.
3066
- */
3067
- minQty?: number | null;
3068
- /**
3069
- * Array of loyalty currency IDs used for multipliers.
3070
- */
3071
- multiplierLoyaltyCurrencyIds?: Array<string> | null;
3072
- /**
3073
- * Flag indicating whether to include only known users.
3074
- */
3075
- onlyKnownUsers?: boolean;
3076
- /**
3077
- * Flag indicating whether to include only native tokens.
3078
- */
3079
- onlyNative?: boolean;
3080
- /**
3081
- * Flag indicating whether to include only non-listed items.
3082
- */
3083
- onlyNonListed?: boolean;
3084
- /**
3085
- * Indicates if only existing users are rewarded.
3086
- */
3087
- onlyRewardExistingUser?: boolean;
3088
- /**
3089
- * give points for only one token ownership per contract
3090
- */
3091
- onlyRewardSingleTokenOwnership?: boolean | null;
3092
- /**
3093
- * Pre-generated text template that will be used to prefill the post content.
3094
- */
3095
- preGeneratedPostText?: string | null;
3096
- /**
3097
- * Promotional code associated with the rule.
3098
- */
3099
- promoCode?: string;
3100
- /**
3101
- * URL of the CSV file containing promo codes.
3102
- */
3103
- promoCodeCsvUrl?: string;
3104
- /**
3105
- * Numbers of the promotional code to be generated.
3106
- */
3107
- promoCodeLength?: number | null;
3108
- /**
3109
- * Type of the promotional code.
3110
- */
3111
- promoCodeType?: 'code' | 'csv' | 'generate';
3112
- /**
3113
- * Array defining ranges and corresponding rewards.
3114
- */
3115
- range?: Array<Metadata.Range>;
3116
- /**
3117
- * ID of the Reddit post.
3118
- */
3119
- redditPostId?: string | null;
3120
- /**
3121
- * Object defining referral requirements.
3122
- */
3123
- referralRequirements?: Metadata.ReferralRequirements | null;
3124
- /**
3125
- * Lump sum reward given to a referrer.
3126
- */
3127
- referrerReward?: number | null;
3128
- /**
3129
- * Loyalty currency ID of the referrer reward.
3130
- */
3131
- referrerRewardLoyaltyCurrencyId?: string | null;
3132
- /**
3133
- * Flag indicating if the post link is required.
3134
- */
3135
- requirePostLink?: boolean | null;
3136
- /**
3137
- * Flag indicating if media metadata is required.
3138
- */
3139
- requirePostMediaLink?: boolean | null;
3140
- /**
3141
- * Flag indicating if the rule can also reward badges per range.
3142
- */
3143
- rewardBadgePerRange?: boolean;
3144
- /**
3145
- * Flag indicating if the reward is rewarded by batch.
3146
- */
3147
- rewardByBatch?: boolean | null;
3148
- /**
3149
- * Criteria to evaluate the reward.
3150
- */
3151
- rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3152
- /**
3153
- * Flag indicating if the reward is rewarded per action.
3154
- */
3155
- rewardPerAction?: boolean | null;
3156
- /**
3157
- * Flag indicating if rewards are given per impression.
3158
- */
3159
- rewardPerImpression?: boolean | null;
3160
- /**
3161
- * Flag indicating if the rule should reward based on value of traded tokens
3162
- * instead of count.
3163
- */
3164
- rewardPerValue?: boolean;
3165
- /**
3166
- * Flag indicating if the rule should reward quality posts.
3167
- */
3168
- rewardQualityPosts?: boolean;
3169
- robinhoodSymbols?: Array<string> | null;
3170
- /**
3171
- * Wallet address of the user can only be used if userId is not provided
3172
- */
3173
- royaltyAddress?: string;
3174
- /**
3175
- * Royalty percentage of the item.
3176
- */
3177
- royaltyPercentage?: number;
3178
- /**
3179
- * Currency associated with sales.
3180
- */
3181
- saleCurrency?: string;
3182
- /**
3183
- * Percentage reward given for a second-level referral.
3184
- */
3185
- secondReferralReward?: number | null;
3186
- /**
3187
- * Flag indicating if the multiplier is skipped.
3188
- */
3189
- skipMultiplier?: boolean | null;
3190
- /**
3191
- * Object containing details of the associated smart contract.
3192
- */
3193
- smartContract?: Metadata.SmartContract;
3194
- /**
3195
- * Array of snapshot proposals for the rule.
3196
- */
3197
- snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
3198
- /**
3199
- * Social media platform associated with the rule.
3200
- */
3201
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
3202
- /**
3203
- * URL of the social platform's logo.
3204
- */
3205
- socialPlatformLogo?: string | null;
3206
- /**
3207
- * Name of the social platform.
3208
- */
3209
- socialPlatformName?: string | null;
3210
- /**
3211
- * ID of the Steam app.
3212
- */
3213
- steamAppId?: string | null;
3214
- /**
3215
- * Array of streak milestones and corresponding rewards.
3216
- */
3217
- streakArray?: Array<Metadata.StreakArray> | null;
3218
- /**
3219
- * Metadata for swap loyalty rules
3220
- */
3221
- swap?: Metadata.Swap;
3222
- /**
3223
- * ID of the Telegram channel.
3224
- */
3225
- telegramChannelId?: string | null;
3226
- /**
3227
- * Time delay in seconds to verify actions.
3228
- */
3229
- timeDelayToVerifySeconds?: string | number | null;
3230
- /**
3231
- * Flag indicating if all contracts are tracked.
3232
- */
3233
- trackAllContracts?: boolean | null;
3234
- /**
3235
- * Flag indicating if the progress is tracked. If enabled, the rule can only be
3236
- * completed once the progress is 100%.
3237
- */
3238
- trackProgress?: boolean | null;
3239
- /**
3240
- * URL of the associated Twitter account.
3241
- */
3242
- twitterAccountUrl?: string;
3243
- /**
3244
- * Hashtag associated with the Twitter post.
3245
- */
3246
- twitterHashtag?: string;
3247
- /**
3248
- * URL of the associated Twitter post.
3249
- */
3250
- twitterPostUrl?: string;
3251
- /**
3252
- * Unique identifier of the Twitter user.
3253
- */
3254
- twitterUserId?: string;
3255
- /**
3256
- * Twitter username of the user.
3257
- */
3258
- twitterUsername?: string;
3259
- /**
3260
- * Minimum length of the verification text.
3261
- */
3262
- verificationTextMinimumLength?: number | null;
3263
- /**
3264
- * Multiplier applied to rewards for verified users.
3265
- */
3266
- verifiedMultiplier?: number | null;
3267
- /**
3268
- * Placeholder text for verification input fields.
3269
- */
3270
- verifyPlaceHolderText?: string | null;
3271
- /**
3272
- * Type of wallet associated with the rule.
3273
- */
3274
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
3275
- /**
3276
- * ID of the Youtube channel.
3277
- */
3278
- youtubeChannelId?: string | null;
3279
- /**
3280
- * ID of the Youtube video.
3281
- */
3282
- youtubeVideoId?: string | null;
3283
- }
3284
- namespace Metadata {
3285
- interface Collection {
3286
- /**
3287
- * Blockchain address of the collection.
3288
- */
3289
- address?: string;
3290
- /**
3291
- * Multiplier applied to the rewards for this collection.
3292
- */
3293
- multiplier?: number;
3294
- /**
3295
- * Blockchain network of the collection.
3296
- */
3297
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3298
- }
3299
- /**
3300
- * Object containing details for the call-to-action.
3301
- */
3302
- interface Cta {
3303
- /**
3304
- * Link for the call-to-action.
3305
- */
3306
- href?: string | null;
3307
- /**
3308
- * Label for the call-to-action.
3309
- */
3310
- label?: string | null;
3311
- }
3312
- interface DiscordServersToJoin {
3313
- /**
3314
- * ID of the Discord server to join.
3315
- */
3316
- id?: string;
3317
- /**
3318
- * Array of Discord channels to join.
3319
- */
3320
- channels?: Array<DiscordServersToJoin.Channel>;
3321
- /**
3322
- * Array of roles to assign in the Discord server.
3323
- */
3324
- roles?: Array<DiscordServersToJoin.Role>;
3325
- }
3326
- namespace DiscordServersToJoin {
3327
- interface Channel {
3328
- /**
3329
- * ID of the Discord channel.
3330
- */
3331
- id?: string;
3332
- /**
3333
- * Array of emojis used in the channel.
3334
- */
3335
- emojis?: Array<Channel.Emoji>;
3336
- /**
3337
- * Phrase of text to be present in the discord message
3338
- */
3339
- text?: string;
3340
- }
3341
- namespace Channel {
3342
- interface Emoji {
3343
- /**
3344
- * ID of the emoji used in the channel.
3345
- */
3346
- id?: string;
3347
- }
3348
- }
3349
- interface Role {
3350
- /**
3351
- * ID of the role in the Discord server.
3352
- */
3353
- id: string;
3354
- }
3355
- }
3356
- interface DripQuestsToComplete {
3357
- /**
3358
- * ID of the drip quest to complete.
3359
- */
3360
- id: string;
3361
- }
3362
- /**
3363
- * Liquidity pool details.
3364
- */
3365
- interface Liquidity {
3366
- /**
3367
- * Calculation type of the liquidity pool.
3368
- */
3369
- calculationType?: 'fixed' | 'custom';
3370
- /**
3371
- * Custom function to calculate the the reward amount based on the liquidity
3372
- * provided per day. X is the reward amount, Y is the liquidity provided per day in
3373
- * USD.
3374
- */
3375
- customFunction?: string;
3376
- /**
3377
- * Liquidity provided per day in USD
3378
- */
3379
- liquidityPerDay?: number;
3380
- /**
3381
- * Blockchain network of the liquidity pool.
3382
- */
3383
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3384
- /**
3385
- * Indicates if only in-range liquidity is rewarded.
3386
- */
3387
- onlyRewardInRangeLiquidity?: boolean;
3388
- /**
3389
- * Array of liquidity pools associated with the rule.
3390
- */
3391
- pools?: Array<Liquidity.Pool>;
3392
- /**
3393
- * Protocol of the liquidity pool.
3394
- */
3395
- protocol?: string;
3396
- }
3397
- namespace Liquidity {
3398
- interface Pool {
3399
- /**
3400
- * Unique identifier of the liquidity pool.
3401
- */
3402
- id: string;
3403
- }
3404
- }
3405
- interface Range {
3406
- /**
3407
- * Reward amount for this range.
3408
- */
3409
- amount: number;
3410
- /**
3411
- * End value of the range.
3412
- */
3413
- endRange: number;
3414
- /**
3415
- * Start value of the range.
3416
- */
3417
- startRange: number;
3418
- /**
3419
- * ID of the loyalty badge for this range.
3420
- */
3421
- loyaltyBadgeId?: string;
3422
- /**
3423
- * Amount of the loyalty multiplier for this range.
3424
- */
3425
- loyaltyMultiplierAmount?: number;
3426
- }
3427
- /**
3428
- * Object defining referral requirements.
3429
- */
3430
- interface ReferralRequirements {
3431
- /**
3432
- * Flag indicating if achieving points is required.
3433
- */
3434
- achievePoints?: boolean | null;
3435
- /**
3436
- * Flag indicating if completing the profile is required.
3437
- */
3438
- completeProfile?: boolean | null;
3439
- /**
3440
- * Flag indicating if connecting Discord is required.
3441
- */
3442
- connectDiscord?: boolean | null;
3443
- /**
3444
- * Flag indicating if connecting email is required.
3445
- */
3446
- connectEmail?: boolean | null;
3447
- /**
3448
- * Flag indicating if connecting Twitter is required.
3449
- */
3450
- connectTwitter?: boolean | null;
3451
- points?: ReferralRequirements.Points | null;
3452
- }
3453
- namespace ReferralRequirements {
3454
- interface Points {
3455
- /**
3456
- * Points required for referral.
3457
- */
3458
- amount?: number | null;
3459
- /**
3460
- * ID of the loyalty currency for referral.
3461
- */
3462
- loyaltyCurrecyId?: string | null;
3463
- }
3464
- }
3465
- /**
3466
- * Object containing details of the associated smart contract.
3467
- */
3468
- interface SmartContract {
3469
- /**
3470
- * Mapping of addresses for the smart contract.
3471
- */
3472
- addressMapping?: string | null;
3473
- /**
3474
- * Object containing details of the amount multiplier from the event.
3475
- */
3476
- amountMultiplier?: SmartContract.AmountMultiplier | null;
3477
- /**
3478
- * ID of the smart contract.
3479
- */
3480
- contractId?: string | null;
3481
- /**
3482
- * Criteria to evaluate the smart contract event.
3483
- */
3484
- criteria?: 'everyEvent' | 'byParameter' | null;
3485
- /**
3486
- * Event emitted by the smart contract.
3487
- */
3488
- event?: string | null;
3489
- /**
3490
- * Array of parameters for the smart contract.
3491
- */
3492
- params?: Array<SmartContract.Param> | null;
3493
- /**
3494
- * Type of the smart contract interaction.
3495
- */
3496
- type?: 'function' | 'event' | null;
3497
- }
3498
- namespace SmartContract {
3499
- /**
3500
- * Object containing details of the amount multiplier from the event.
3501
- */
3502
- interface AmountMultiplier {
3503
- /**
3504
- * Mapping of the value for the smart contract.
3505
- */
3506
- valueMapping?: string | null;
3507
- }
3508
- interface Param {
3509
- /**
3510
- * Condition to check for the parameter.
3511
- */
3512
- condition?: string | null;
3513
- /**
3514
- * Name of the smart contract parameter.
3515
- */
3516
- name?: string | null;
3517
- /**
3518
- * Value of the parameter.
3519
- */
3520
- value?: string | null;
3521
- }
3522
- }
3523
- interface SnapshotProposal {
3524
- /**
3525
- * ID of the snapshot proposal.
3526
- */
3527
- id: string;
3528
- /**
3529
- * Space associated with the snapshot proposal.
3530
- */
3531
- space: string;
3532
- }
3533
- interface StreakArray {
3534
- /**
3535
- * Reward amount for achieving the streak milestone.
3536
- */
3537
- streakAmount: number;
3538
- /**
3539
- * Milestone required to achieve the streak.
3540
- */
3541
- streakMilestone: number;
3542
- }
3543
- /**
3544
- * Metadata for swap loyalty rules
3545
- */
3546
- interface Swap {
3547
- from?: Swap.From;
3548
- provider?: 'any' | 'relay' | 'lifi';
3549
- relayReferrerId?: string;
3550
- requireCrossChainSwap?: boolean;
3551
- to?: Swap.To;
3552
- }
3553
- namespace Swap {
3554
- interface From {
3555
- chain?: 'any' | number | string;
3556
- mode?: 'any' | 'specific';
3557
- tokens?: Array<From.Token>;
3558
- trackAmount?: boolean;
3559
- }
3560
- namespace From {
3561
- interface Token {
3562
- address: string;
3563
- chainId: string;
3564
- }
3565
- }
3566
- interface To {
3567
- chain?: 'any' | number | string;
3568
- mode?: 'any' | 'specific';
3569
- tokens?: Array<To.Token>;
3570
- trackAmount?: boolean;
3571
- }
3572
- namespace To {
3573
- interface Token {
3574
- address: string;
3575
- chainId: string;
3576
- }
3577
- }
3578
- }
3579
- }
3580
- interface Collection {
3581
- /**
3582
- * Blockchain address of the collection
3583
- */
3584
- address: string;
3585
- /**
3586
- * Blockchain network for the collection
3587
- */
3588
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3589
- /**
3590
- * Symbol of the collection.
3591
- */
3592
- symbol?: string;
3593
- }
3594
- }
3595
- export interface RuleUpdateParams {
3596
- /**
3597
- * Reward amount for the loyalty rule
3598
- */
3599
- amount: unknown;
3600
- /**
3601
- * End time for the loyalty rule
3602
- */
3603
- endTime: string | null;
3604
- /**
3605
- * Name of the loyalty rule
3606
- */
3607
- name: string;
3608
- /**
3609
- * The type of claim for the reward
3610
- */
3611
- claimType?: 'manual' | 'auto' | null;
3612
- /**
3613
- * Blockchain address of the associated collection
3614
- */
3615
- collectionAddress?: string | null;
3616
- /**
3617
- * List of associated collections
3618
- */
3619
- collections?: Array<RuleUpdateParams.Collection> | null;
3620
- /**
3621
- * The IDs of the contracts
3622
- */
3623
- contractIds?: Array<string> | null;
3624
- /**
3625
- * API URL for custom rewards integration
3626
- */
3627
- customRewardsApiUrl?: string | null;
3628
- /**
3629
- * URL for uploading custom rewards via CSV
3630
- */
3631
- customRewardsCsvUrl?: string | null;
3632
- /**
3633
- * Optional description of the loyalty rule
3634
- */
3635
- description?: string;
3636
- /**
3637
- * Effective end time of the rule
3638
- */
3639
- effectiveEndTime?: string | null;
3640
- /**
3641
- * Effective start time of the rule
3642
- */
3643
- effectiveStartTime?: string | null;
3644
- /**
3645
- * ID of the external integration
3646
- */
3647
- externalIntegrationId?: string | null;
3648
- /**
3649
- * Frequency of the rule execution
3650
- */
3651
- frequency?: 'none' | 'once' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'immediately';
3652
- /**
3653
- * Optional stratus function id for the rule
3654
- */
3655
- functionId?: string | null;
3656
- /**
3657
- * Whether to hide this rule in the user interface
3658
- */
3659
- hideInUi?: boolean;
3660
- /**
3661
- * Time interval for recurring rule execution
3662
- */
3663
- interval?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'once' | 'custom' | 'every_message' | 'unlimited' | null;
3664
- /**
3665
- * Whether this rule is required for participation
3666
- */
3667
- isRequired?: boolean;
3668
- /**
3669
- * ID of the rule group section to associate with the rule
3670
- */
3671
- loyaltyRuleGroupId?: (string & {}) | 'no-section' | null;
3672
- /**
3673
- * The interval for the max amount. Available for the smart contract and external
3674
- * rules.
3675
- */
3676
- maxAmountInterval?: 'daily' | 'weekly' | 'monthly' | 'lifetime' | null;
3677
- /**
3678
- * The maximum amount of points a user can earn per interval. Available for the
3679
- * smart contract and external rules.
3680
- */
3681
- maxAmountPerInterval?: number | null;
3682
- /**
3683
- * URL of the media to be displayed
3684
- */
3685
- mediaUrl?: string | null;
3686
- /**
3687
- * Additional metadata for the loyalty rule
3688
- */
3689
- metadata?: RuleUpdateParams.Metadata;
3690
- /**
3691
- * Blockchain network where the rule will apply
3692
- */
3693
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3694
- /**
3695
- * ID for associated OAuth credentials
3696
- */
3697
- oauthCredentialsId?: string | null;
3698
- /**
3699
- * The lifetime of the reward
3700
- */
3701
- rewardLifetime?: 'permanent' | 'dynamic' | null;
3702
- /**
3703
- * Type of reward issued by this rule
3704
- */
3705
- rewardType?: 'points' | 'multiplier' | 'badge';
3706
- /**
3707
- * URL of the Shopify store
3708
- */
3709
- shopifyStoreUrl?: string | null;
3710
- /**
3711
- * Whether to show this rule before the start time
3712
- */
3713
- showBeforeStart?: boolean;
3714
- /**
3715
- * Start time for the loyalty rule
3716
- */
3717
- startTime?: string | null;
3718
- /**
3719
- * Optional stratus subscription id for the rule
3720
- */
3721
- subscriptionId?: string | null;
3722
- }
3723
- export declare namespace RuleUpdateParams {
3724
- interface Collection {
3725
- /**
3726
- * Blockchain address of the collection
3727
- */
3728
- address: string;
3729
- /**
3730
- * Blockchain network for the collection
3731
- */
3732
- network: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
3733
- /**
3734
- * Symbol of the collection.
3735
- */
3736
- symbol?: string;
3737
- }
3738
- /**
3739
- * Additional metadata for the loyalty rule
3740
- */
3741
- interface Metadata {
3742
- /**
3743
- * Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
3744
- * only.
3745
- */
3746
- allowMultipleRedemptions?: boolean;
3747
- /**
3748
- * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
3749
- * any rule completions count as check-in.
3750
- */
3751
- autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
3752
- /**
3753
- * Number of tokens per batch.
3754
- */
3755
- batchSize?: number | null;
3756
- /**
3757
- * Text displayed on the action button.
3758
- */
3759
- buttonText?: string | null;
3760
- /**
3761
- * Flag indicating if commenting is required.
3762
- */
3763
- checkComment?: boolean | null;
3764
- /**
3765
- * Flag indicating if liking the post is required.
3766
- */
3767
- checkLike?: boolean | null;
3768
- /**
3769
- * Flag indicating if reposting is required.
3770
- */
3771
- checkRepost?: boolean | null;
3772
- /**
3773
- * Text to check in the Twitter post, username, or bio.
3774
- */
3775
- checkText?: string | Array<string> | null;
3776
- /**
3777
- * Array of collections associated with the rule.
3778
- */
3779
- collection?: Array<Metadata.Collection>;
3780
- /**
3781
- * Conditions for completing the profile.
3782
- */
3783
- completeProfileConditions?: {
3784
- [key: string]: boolean;
3785
- } | null;
3786
- /**
3787
- * Description of the external rule condition (only for external rules)
3788
- */
3789
- conditionDescription?: string;
3790
- /**
3791
- * Object containing details for the call-to-action.
3792
- */
3793
- cta?: Metadata.Cta | null;
3794
- /**
3795
- * API key for custom rewards integration.
3796
- */
3797
- customRewardsApiKey?: string;
3798
- /**
3799
- * Flag indicating if the rule should use direct RPC to get the balance of tokens.
3800
- */
3801
- directRpc?: boolean;
3802
- /**
3803
- * Array of Discord servers, channels, and roles to join.
3804
- */
3805
- discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
3806
- /**
3807
- * Array of drip quests required to complete the rule.
3808
- */
3809
- dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
3810
- /**
3811
- * Flag indicating whether joining Discord servers is required.
3812
- */
3813
- enableJoinDiscordServers?: boolean | null;
3814
- /**
3815
- * Flag indicating whether streaks are enabled.
3816
- */
3817
- enableStreaks?: boolean | null;
3818
- /**
3819
- * Flag indicating whether the verified multiplier is enabled.
3820
- */
3821
- enableVerifiedMultiplier?: boolean;
3822
- /**
3823
- * Type of ERC20 token for the loyalty rule.
3824
- */
3825
- erc20Type?: 'erc20' | 'native';
3826
- /**
3827
- * Fill source of the order for the token sale
3828
- */
3829
- fillSource?: string;
3830
- /**
3831
- * Percentage reward given to a user for their first referral.
3832
- */
3833
- firstReferralReward?: number | null;
3834
- /**
3835
- * Name of the GitHub branch to check for PR merge.
3836
- */
3837
- githubBranchName?: string | null;
3838
- /**
3839
- * URL of the GitHub repository to check for star.
3840
- */
3841
- githubRepoUrl?: string | null;
3842
- /**
3843
- * Flag indicating whether the fill source is included.
3844
- */
3845
- hasFillSource?: boolean;
3846
- /**
3847
- * Indicates if the item has never been sold.
3848
- */
3849
- hasNeverSold?: boolean;
3850
- /**
3851
- * Indicates if the full royalty has been paid for items.
3852
- */
3853
- hasPaidFullRoyalty?: boolean;
3854
- /**
3855
- * Flag indicating if the sale currency is included.
3856
- */
3857
- hasSaleCurrency?: boolean;
3858
- /**
3859
- * Indicates if the user has a verified Twitter account.
3860
- */
3861
- hasVerifiedTwitter?: boolean;
3862
- /**
3863
- * URL of the image associated with the rule.
3864
- */
3865
- imageUrl?: string | null;
3866
- /**
3867
- * If enabled, the first transaction done on the platform will complete this rule
3868
- */
3869
- isCheckInOnEveryTxn?: boolean;
3870
- /**
3871
- * Indicates if the multiplier has been applied to rewards.
3872
- */
3873
- isMultiplierApplied?: boolean;
3874
- /**
3875
- * Flag indicating if the rule is restricted to new users.
3876
- */
3877
- isRestrictedToNewUsers?: boolean;
3878
- /**
3879
- * Flag indicating if rewards are applied retroactively.
3880
- */
3881
- isRetroactive?: boolean | null;
3882
- /**
3883
- * Flag indicating if the token hold multiplier is applied.
3884
- */
3885
- isTokenHoldMultiplier?: boolean;
3886
- /**
3887
- * Optional link associated with the metadata.
3888
- */
3889
- link?: string | null;
3890
- /**
3891
- * Liquidity pool details.
3892
- */
3893
- liquidity?: Metadata.Liquidity;
3894
- /**
3895
- * Maximum quantity constraint for token holding.
3896
- */
3897
- maxQty?: number | null;
3898
- /**
3899
- * Minimum follower count for the rule. Accepts both number and string values.
3900
- */
3901
- minimumFollowerCount?: number | null;
3902
- /**
3903
- * Minimum quantity constraint for token holding.
3904
- */
3905
- minQty?: number | null;
3906
- /**
3907
- * Array of loyalty currency IDs used for multipliers.
3908
- */
3909
- multiplierLoyaltyCurrencyIds?: Array<string> | null;
3910
- /**
3911
- * Flag indicating whether to include only known users.
3912
- */
3913
- onlyKnownUsers?: boolean;
3914
- /**
3915
- * Flag indicating whether to include only native tokens.
3916
- */
3917
- onlyNative?: boolean;
3918
- /**
3919
- * Flag indicating whether to include only non-listed items.
3920
- */
3921
- onlyNonListed?: boolean;
3922
- /**
3923
- * Indicates if only existing users are rewarded.
3924
- */
3925
- onlyRewardExistingUser?: boolean;
3926
- /**
3927
- * give points for only one token ownership per contract
3928
- */
3929
- onlyRewardSingleTokenOwnership?: boolean | null;
3930
- /**
3931
- * Pre-generated text template that will be used to prefill the post content.
3932
- */
3933
- preGeneratedPostText?: string | null;
3934
- /**
3935
- * Promotional code associated with the rule.
3936
- */
3937
- promoCode?: string;
3938
- /**
3939
- * URL of the CSV file containing promo codes.
3940
- */
3941
- promoCodeCsvUrl?: string;
3942
- /**
3943
- * Numbers of the promotional code to be generated.
3944
- */
3945
- promoCodeLength?: number | null;
3946
- /**
3947
- * Type of the promotional code.
3948
- */
3949
- promoCodeType?: 'code' | 'csv' | 'generate';
3950
- /**
3951
- * Array defining ranges and corresponding rewards.
3952
- */
3953
- range?: Array<Metadata.Range>;
3954
- /**
3955
- * ID of the Reddit post.
3956
- */
3957
- redditPostId?: string | null;
3958
- /**
3959
- * Object defining referral requirements.
3960
- */
3961
- referralRequirements?: Metadata.ReferralRequirements | null;
3962
- /**
3963
- * Lump sum reward given to a referrer.
3964
- */
3965
- referrerReward?: number | null;
3966
- /**
3967
- * Loyalty currency ID of the referrer reward.
3968
- */
3969
- referrerRewardLoyaltyCurrencyId?: string | null;
3970
- /**
3971
- * Flag indicating if the post link is required.
3972
- */
3973
- requirePostLink?: boolean | null;
3974
- /**
3975
- * Flag indicating if media metadata is required.
3976
- */
3977
- requirePostMediaLink?: boolean | null;
3978
- /**
3979
- * Flag indicating if the rule can also reward badges per range.
3980
- */
3981
- rewardBadgePerRange?: boolean;
3982
- /**
3983
- * Flag indicating if the reward is rewarded by batch.
3984
- */
3985
- rewardByBatch?: boolean | null;
3986
- /**
3987
- * Criteria to evaluate the reward.
3988
- */
3989
- rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
3990
- /**
3991
- * Flag indicating if the reward is rewarded per action.
3992
- */
3993
- rewardPerAction?: boolean | null;
3994
- /**
3995
- * Flag indicating if rewards are given per impression.
3996
- */
3997
- rewardPerImpression?: boolean | null;
3998
- /**
3999
- * Flag indicating if the rule should reward based on value of traded tokens
4000
- * instead of count.
4001
- */
4002
- rewardPerValue?: boolean;
4003
- /**
4004
- * Flag indicating if the rule should reward quality posts.
4005
- */
4006
- rewardQualityPosts?: boolean;
4007
- robinhoodSymbols?: Array<string> | null;
4008
- /**
4009
- * Wallet address of the user can only be used if userId is not provided
4010
- */
4011
- royaltyAddress?: string;
4012
- /**
4013
- * Royalty percentage of the item.
4014
- */
4015
- royaltyPercentage?: number;
4016
- /**
4017
- * Currency associated with sales.
4018
- */
4019
- saleCurrency?: string;
4020
- /**
4021
- * Percentage reward given for a second-level referral.
4022
- */
4023
- secondReferralReward?: number | null;
4024
- /**
4025
- * Flag indicating if the multiplier is skipped.
4026
- */
4027
- skipMultiplier?: boolean | null;
4028
- /**
4029
- * Object containing details of the associated smart contract.
4030
- */
4031
- smartContract?: Metadata.SmartContract;
4032
- /**
4033
- * Array of snapshot proposals for the rule.
4034
- */
4035
- snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
4036
- /**
4037
- * Social media platform associated with the rule.
4038
- */
4039
- socialPlatform?: 'Custom' | 'Discord' | 'EpicGames' | 'Instagram' | 'Steam' | 'Telegram' | 'TikTok' | 'Twitch' | 'X(Twitter)' | 'YouTube' | 'Google' | 'GitHub' | 'Reddit' | null;
4040
- /**
4041
- * URL of the social platform's logo.
4042
- */
4043
- socialPlatformLogo?: string | null;
4044
- /**
4045
- * Name of the social platform.
4046
- */
4047
- socialPlatformName?: string | null;
4048
- /**
4049
- * ID of the Steam app.
4050
- */
4051
- steamAppId?: string | null;
4052
- /**
4053
- * Array of streak milestones and corresponding rewards.
4054
- */
4055
- streakArray?: Array<Metadata.StreakArray> | null;
4056
- /**
4057
- * Metadata for swap loyalty rules
4058
- */
4059
- swap?: Metadata.Swap;
4060
- /**
4061
- * ID of the Telegram channel.
4062
- */
4063
- telegramChannelId?: string | null;
4064
- /**
4065
- * Time delay in seconds to verify actions.
4066
- */
4067
- timeDelayToVerifySeconds?: string | number | null;
4068
- /**
4069
- * Flag indicating if all contracts are tracked.
4070
- */
4071
- trackAllContracts?: boolean | null;
4072
- /**
4073
- * Flag indicating if the progress is tracked. If enabled, the rule can only be
4074
- * completed once the progress is 100%.
4075
- */
4076
- trackProgress?: boolean | null;
4077
- /**
4078
- * URL of the associated Twitter account.
4079
- */
4080
- twitterAccountUrl?: string;
4081
- /**
4082
- * Hashtag associated with the Twitter post.
4083
- */
4084
- twitterHashtag?: string;
4085
- /**
4086
- * URL of the associated Twitter post.
4087
- */
4088
- twitterPostUrl?: string;
4089
- /**
4090
- * Unique identifier of the Twitter user.
4091
- */
4092
- twitterUserId?: string;
4093
- /**
4094
- * Twitter username of the user.
4095
- */
4096
- twitterUsername?: string;
4097
- /**
4098
- * Minimum length of the verification text.
4099
- */
4100
- verificationTextMinimumLength?: number | null;
4101
- /**
4102
- * Multiplier applied to rewards for verified users.
4103
- */
4104
- verifiedMultiplier?: number | null;
4105
- /**
4106
- * Placeholder text for verification input fields.
4107
- */
4108
- verifyPlaceHolderText?: string | null;
4109
- /**
4110
- * Type of wallet associated with the rule.
4111
- */
4112
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | 'cosmos' | 'ultra' | 'agw' | 'flow_cadence' | 'substrate' | null;
4113
- /**
4114
- * ID of the Youtube channel.
4115
- */
4116
- youtubeChannelId?: string | null;
4117
- /**
4118
- * ID of the Youtube video.
4119
- */
4120
- youtubeVideoId?: string | null;
4121
- }
4122
- namespace Metadata {
4123
- interface Collection {
4124
- /**
4125
- * Blockchain address of the collection.
4126
- */
4127
- address?: string;
4128
- /**
4129
- * Multiplier applied to the rewards for this collection.
4130
- */
4131
- multiplier?: number;
4132
- /**
4133
- * Blockchain network of the collection.
4134
- */
4135
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
4136
- }
4137
- /**
4138
- * Object containing details for the call-to-action.
4139
- */
4140
- interface Cta {
4141
- /**
4142
- * Link for the call-to-action.
4143
- */
4144
- href?: string | null;
4145
- /**
4146
- * Label for the call-to-action.
4147
- */
4148
- label?: string | null;
4149
- }
4150
- interface DiscordServersToJoin {
4151
- /**
4152
- * ID of the Discord server to join.
4153
- */
4154
- id?: string;
4155
- /**
4156
- * Array of Discord channels to join.
4157
- */
4158
- channels?: Array<DiscordServersToJoin.Channel>;
4159
- /**
4160
- * Array of roles to assign in the Discord server.
4161
- */
4162
- roles?: Array<DiscordServersToJoin.Role>;
4163
- }
4164
- namespace DiscordServersToJoin {
4165
- interface Channel {
4166
- /**
4167
- * ID of the Discord channel.
4168
- */
4169
- id?: string;
4170
- /**
4171
- * Array of emojis used in the channel.
4172
- */
4173
- emojis?: Array<Channel.Emoji>;
4174
- /**
4175
- * Phrase of text to be present in the discord message
4176
- */
4177
- text?: string;
4178
- }
4179
- namespace Channel {
4180
- interface Emoji {
4181
- /**
4182
- * ID of the emoji used in the channel.
4183
- */
4184
- id?: string;
4185
- }
4186
- }
4187
- interface Role {
4188
- /**
4189
- * ID of the role in the Discord server.
4190
- */
4191
- id: string;
4192
- }
4193
- }
4194
- interface DripQuestsToComplete {
4195
- /**
4196
- * ID of the drip quest to complete.
4197
- */
4198
- id: string;
4199
- }
4200
- /**
4201
- * Liquidity pool details.
4202
- */
4203
- interface Liquidity {
4204
- /**
4205
- * Calculation type of the liquidity pool.
4206
- */
4207
- calculationType?: 'fixed' | 'custom';
4208
- /**
4209
- * Custom function to calculate the the reward amount based on the liquidity
4210
- * provided per day. X is the reward amount, Y is the liquidity provided per day in
4211
- * USD.
4212
- */
4213
- customFunction?: string;
4214
- /**
4215
- * Liquidity provided per day in USD
4216
- */
4217
- liquidityPerDay?: number;
4218
- /**
4219
- * Blockchain network of the liquidity pool.
4220
- */
4221
- network?: 'abstract' | 'abstractTestnet' | 'apechain' | 'arbitrum' | 'avalanche' | 'avalancheFuji' | 'base' | 'baseSepolia' | 'berachain' | 'berachainArtio' | 'berachainBepolia' | 'binance' | 'bscTestnet' | 'campTestnet' | 'fantom' | 'fantomTestnet' | 'flowMainnet' | 'mainnet' | 'nexusTestnet' | 'optimism' | 'polygon' | 'polygon_mumbai' | 'skaleNebula' | 'skaleEuropa' | 'skaleCalypso' | 'solana' | 'sophon' | 'sophonTestnet' | 'sui' | 'superseed' | 'superseedSepolia' | 'vanar' | 'xai' | 'zksync' | 'coti' | 'cotiTestnet' | 'morph' | 'morphTestnet' | 'morphHolesky' | 'ultra' | 'ultraTestnet' | 'nitrograph' | 'sepolia' | 'optimism_sepolia' | 'arbitrumSepolia' | 'goerli' | 'optimism_goerli' | 'arbitrumGoerli' | 'basecamp' | 'somnia' | 'zkverify' | 'polkadot' | 'kusama' | 'flow_cadence';
4222
- /**
4223
- * Indicates if only in-range liquidity is rewarded.
4224
- */
4225
- onlyRewardInRangeLiquidity?: boolean;
4226
- /**
4227
- * Array of liquidity pools associated with the rule.
4228
- */
4229
- pools?: Array<Liquidity.Pool>;
4230
- /**
4231
- * Protocol of the liquidity pool.
4232
- */
4233
- protocol?: string;
4234
- }
4235
- namespace Liquidity {
4236
- interface Pool {
4237
- /**
4238
- * Unique identifier of the liquidity pool.
4239
- */
4240
- id: string;
4241
- }
4242
- }
4243
- interface Range {
4244
- /**
4245
- * Reward amount for this range.
4246
- */
4247
- amount: number;
4248
- /**
4249
- * End value of the range.
4250
- */
4251
- endRange: number;
4252
- /**
4253
- * Start value of the range.
4254
- */
4255
- startRange: number;
4256
- /**
4257
- * ID of the loyalty badge for this range.
4258
- */
4259
- loyaltyBadgeId?: string;
4260
- /**
4261
- * Amount of the loyalty multiplier for this range.
4262
- */
4263
- loyaltyMultiplierAmount?: number;
4264
- }
4265
- /**
4266
- * Object defining referral requirements.
4267
- */
4268
- interface ReferralRequirements {
4269
- /**
4270
- * Flag indicating if achieving points is required.
4271
- */
4272
- achievePoints?: boolean | null;
4273
- /**
4274
- * Flag indicating if completing the profile is required.
4275
- */
4276
- completeProfile?: boolean | null;
4277
- /**
4278
- * Flag indicating if connecting Discord is required.
4279
- */
4280
- connectDiscord?: boolean | null;
4281
- /**
4282
- * Flag indicating if connecting email is required.
4283
- */
4284
- connectEmail?: boolean | null;
4285
- /**
4286
- * Flag indicating if connecting Twitter is required.
4287
- */
4288
- connectTwitter?: boolean | null;
4289
- points?: ReferralRequirements.Points | null;
4290
- }
4291
- namespace ReferralRequirements {
4292
- interface Points {
4293
- /**
4294
- * Points required for referral.
4295
- */
4296
- amount?: number | null;
4297
- /**
4298
- * ID of the loyalty currency for referral.
4299
- */
4300
- loyaltyCurrecyId?: string | null;
4301
- }
4302
- }
4303
- /**
4304
- * Object containing details of the associated smart contract.
4305
- */
4306
- interface SmartContract {
4307
- /**
4308
- * Mapping of addresses for the smart contract.
4309
- */
4310
- addressMapping?: string | null;
4311
- /**
4312
- * Object containing details of the amount multiplier from the event.
4313
- */
4314
- amountMultiplier?: SmartContract.AmountMultiplier | null;
4315
- /**
4316
- * ID of the smart contract.
4317
- */
4318
- contractId?: string | null;
4319
- /**
4320
- * Criteria to evaluate the smart contract event.
4321
- */
4322
- criteria?: 'everyEvent' | 'byParameter' | null;
4323
- /**
4324
- * Event emitted by the smart contract.
4325
- */
4326
- event?: string | null;
4327
- /**
4328
- * Array of parameters for the smart contract.
4329
- */
4330
- params?: Array<SmartContract.Param> | null;
4331
- /**
4332
- * Type of the smart contract interaction.
4333
- */
4334
- type?: 'function' | 'event' | null;
4335
- }
4336
- namespace SmartContract {
4337
- /**
4338
- * Object containing details of the amount multiplier from the event.
4339
- */
4340
- interface AmountMultiplier {
4341
- /**
4342
- * Mapping of the value for the smart contract.
4343
- */
4344
- valueMapping?: string | null;
4345
- }
4346
- interface Param {
4347
- /**
4348
- * Condition to check for the parameter.
4349
- */
4350
- condition?: string | null;
4351
- /**
4352
- * Name of the smart contract parameter.
4353
- */
4354
- name?: string | null;
4355
- /**
4356
- * Value of the parameter.
4357
- */
4358
- value?: string | null;
4359
- }
4360
- }
4361
- interface SnapshotProposal {
4362
- /**
4363
- * ID of the snapshot proposal.
4364
- */
4365
- id: string;
4366
- /**
4367
- * Space associated with the snapshot proposal.
4368
- */
4369
- space: string;
4370
- }
4371
- interface StreakArray {
4372
- /**
4373
- * Reward amount for achieving the streak milestone.
4374
- */
4375
- streakAmount: number;
4376
- /**
4377
- * Milestone required to achieve the streak.
4378
- */
4379
- streakMilestone: number;
4380
- }
4381
- /**
4382
- * Metadata for swap loyalty rules
4383
- */
4384
- interface Swap {
4385
- from?: Swap.From;
4386
- provider?: 'any' | 'relay' | 'lifi';
4387
- relayReferrerId?: string;
4388
- requireCrossChainSwap?: boolean;
4389
- to?: Swap.To;
4390
- }
4391
- namespace Swap {
4392
- interface From {
4393
- chain?: 'any' | number | string;
4394
- mode?: 'any' | 'specific';
4395
- tokens?: Array<From.Token>;
4396
- trackAmount?: boolean;
4397
- }
4398
- namespace From {
4399
- interface Token {
4400
- address: string;
4401
- chainId: string;
4402
- }
4403
- }
4404
- interface To {
4405
- chain?: 'any' | number | string;
4406
- mode?: 'any' | 'specific';
4407
- tokens?: Array<To.Token>;
4408
- trackAmount?: boolean;
4409
- }
4410
- namespace To {
4411
- interface Token {
4412
- address: string;
4413
- chainId: string;
4414
- }
4415
- }
4416
- }
4417
- }
4418
- }
4419
- export interface RuleListParams {
4420
- /**
4421
- * IDs of the users to filter results by
4422
- */
4423
- allotedToUserId?: string | Array<string>;
4424
- /**
4425
- * ID of the user group to filter results by
4426
- */
4427
- allotedUserGroupId?: string;
4428
- /**
4429
- * Address of the collection to filter by
4430
- */
4431
- collectionAddress?: string;
4432
- /**
4433
- * Whether to include deleted/archived records
4434
- */
4435
- includeDeleted?: boolean | null;
4436
- /**
4437
- * If true this will only return active rules, the rules for which the startTime is
4438
- * in the past and the endTime is in the future
4439
- */
4440
- isActive?: 'true' | 'false';
4441
- /**
4442
- * If true this will only return special rules, special rules are the rules that
4443
- * are used for anti sybil as honey pot
4444
- */
4445
- isSpecial?: 'true' | 'false';
4446
- /**
4447
- * Maximum number of records to return (max 100)
4448
- */
4449
- limit?: number;
4450
- /**
4451
- * ID of the loyalty rule group to filter results
4452
- */
4453
- loyaltyRuleGroupId?: string;
4454
- /**
4455
- * The IDs of the loyalty rule
4456
- */
4457
- loyaltyRuleId?: string | Array<string>;
4458
- /**
4459
- * Unique identifier for the organization to filter by
4460
- */
4461
- organizationId?: string;
4462
- /**
4463
- * Pagination cursor to start after a specific resource ID
4464
- */
4465
- startingAfter?: string;
4466
- /**
4467
- * Unique identifier for the website to filter by
4468
- */
4469
- websiteId?: string;
4470
- }
4471
- export interface RuleDeleteParams {
4472
- /**
4473
- * Whether to debit loyalty points
4474
- */
4475
- debitLoyaltyPoints?: string;
4476
- }
4477
- export interface RuleCompleteParams {
4478
- /**
4479
- * Override amount for the reward (rounded to nearest whole number). This will
4480
- * override the rule amount and reward the integer passed.
4481
- */
4482
- amount?: number | null;
4483
- /**
4484
- * Link to the post/comment made by user
4485
- */
4486
- contentUrl?: string;
4487
- /**
4488
- * Unique key to ensure idempotent requests.
4489
- */
4490
- idempotencyKey?: string;
4491
- /**
4492
- * ID of the choice selected by the user
4493
- */
4494
- loyaltyQuestionChoiceId?: string;
4495
- /**
4496
- * Value to compare with the range
4497
- */
4498
- rangeValue?: number | null;
4499
- /**
4500
- * Flag indicating if the chain or required check should be skipped.
4501
- */
4502
- skipChainOrRequiredCheck?: boolean;
4503
- /**
4504
- * Unique identifier for the user
4505
- */
4506
- userId?: string;
4507
- /**
4508
- * Optional verification code for completing the loyalty rule
4509
- */
4510
- verificationCode?: string;
4511
- /**
4512
- * Flag indicating if only verification is required, this will not create a
4513
- * transaction and reward the user.
4514
- */
4515
- verifyOnly?: string;
4516
- /**
4517
- * Wallet address of the user can only be used if userId is not provided
4518
- */
4519
- walletAddress?: string;
4520
- }
4521
- export interface RuleGetStatusParams {
4522
- /**
4523
- * Number of items to return
4524
- */
4525
- limit?: number | null;
4526
- /**
4527
- * Unique identifier for the loyalty rule[s]
4528
- */
4529
- loyaltyRuleId?: string | Array<string>;
4530
- organizationId?: string;
4531
- /**
4532
- * Starting after item
4533
- */
4534
- startingAfter?: string;
4535
- userGroupId?: string;
4536
- userId?: string;
4537
- walletAddress?: string;
4538
- websiteId?: string;
4539
- }
4540
- export declare namespace Rules {
4541
- export { type RuleCreateResponse as RuleCreateResponse, type RuleUpdateResponse as RuleUpdateResponse, type RuleListResponse as RuleListResponse, type RuleDeleteResponse as RuleDeleteResponse, type RuleCompleteResponse as RuleCompleteResponse, type RuleGetStatusResponse as RuleGetStatusResponse, type RuleCreateParams as RuleCreateParams, type RuleUpdateParams as RuleUpdateParams, type RuleListParams as RuleListParams, type RuleDeleteParams as RuleDeleteParams, type RuleCompleteParams as RuleCompleteParams, type RuleGetStatusParams as RuleGetStatusParams, };
4542
- }
4543
- //# sourceMappingURL=rules.d.mts.map