@snagsolutions/sdk 0.1.0-alpha.42 → 0.1.0-alpha.44
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.
- package/CHANGELOG.md +18 -0
- package/core.d.ts +1 -1
- package/core.d.ts.map +1 -1
- package/core.js +5 -5
- package/core.js.map +1 -1
- package/core.mjs +5 -5
- package/core.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/loyalty/rule-edits.d.ts +2036 -4
- package/resources/loyalty/rule-edits.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.d.ts +5 -0
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rules.d.ts +529 -1
- package/resources/loyalty/rules.d.ts.map +1 -1
- package/src/core.ts +4 -4
- package/src/resources/loyalty/rule-edits.ts +2672 -4
- package/src/resources/loyalty/rule-groups.ts +6 -0
- package/src/resources/loyalty/rules.ts +692 -1
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -162,10 +162,677 @@ export namespace RuleEditListResponse {
|
|
|
162
162
|
*/
|
|
163
163
|
collectionAddress?: string;
|
|
164
164
|
|
|
165
|
+
/**
|
|
166
|
+
* URL of the media associated with the loyalty rule
|
|
167
|
+
*/
|
|
168
|
+
mediaUrl?: string | null;
|
|
169
|
+
|
|
165
170
|
/**
|
|
166
171
|
* Optional metadata for the loyalty rule
|
|
167
172
|
*/
|
|
168
|
-
metadata?: Record<string,
|
|
173
|
+
metadata?: Record<string, Data.Metadata>;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export namespace Data {
|
|
177
|
+
export interface Metadata {
|
|
178
|
+
/**
|
|
179
|
+
* Text displayed on the action button.
|
|
180
|
+
*/
|
|
181
|
+
buttonText?: string | null;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Flag indicating if commenting is required.
|
|
185
|
+
*/
|
|
186
|
+
checkComment?: boolean | null;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Flag indicating if liking the post is required.
|
|
190
|
+
*/
|
|
191
|
+
checkLike?: boolean | null;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Flag indicating if reposting is required.
|
|
195
|
+
*/
|
|
196
|
+
checkRepost?: boolean | null;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Text to check in the Twitter post, username, or bio.
|
|
200
|
+
*/
|
|
201
|
+
checkText?: string | null;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Array of collections associated with the rule.
|
|
205
|
+
*/
|
|
206
|
+
collection?: Array<Metadata.Collection>;
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Conditions for completing the profile.
|
|
210
|
+
*/
|
|
211
|
+
completeProfileConditions?: Record<string, boolean> | null;
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Object containing details for the call-to-action.
|
|
215
|
+
*/
|
|
216
|
+
cta?: Metadata.Cta | null;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* API key for custom rewards integration.
|
|
220
|
+
*/
|
|
221
|
+
customRewardsApiKey?: string;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Array of Discord servers, channels, and roles to join.
|
|
225
|
+
*/
|
|
226
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Array of drip quests required to complete the rule.
|
|
230
|
+
*/
|
|
231
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Flag indicating whether joining Discord servers is required.
|
|
235
|
+
*/
|
|
236
|
+
enableJoinDiscordServers?: boolean | null;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Flag indicating whether streaks are enabled.
|
|
240
|
+
*/
|
|
241
|
+
enableStreaks?: boolean | null;
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
245
|
+
*/
|
|
246
|
+
enableVerifiedMultiplier?: boolean;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Fill source of the order for the token sale
|
|
250
|
+
*/
|
|
251
|
+
fillSource?: string;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Percentage reward given to a user for their first referral.
|
|
255
|
+
*/
|
|
256
|
+
firstReferralReward?: number | null;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Flag indicating whether the fill source is included.
|
|
260
|
+
*/
|
|
261
|
+
hasFillSource?: boolean;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Indicates if the item has never been sold.
|
|
265
|
+
*/
|
|
266
|
+
hasNeverSold?: boolean;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Flag indicating whether the order source is included.
|
|
270
|
+
*/
|
|
271
|
+
hasOrderSource?: boolean;
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Indicates if the full royalty has been paid for items.
|
|
275
|
+
*/
|
|
276
|
+
hasPaidFullRoyalty?: boolean;
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Flag indicating if the sale currency is included.
|
|
280
|
+
*/
|
|
281
|
+
hasSaleCurrency?: boolean;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Indicates if the user has a verified Twitter account.
|
|
285
|
+
*/
|
|
286
|
+
hasVerifiedTwitter?: boolean;
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* URL of the image associated with the rule.
|
|
290
|
+
*/
|
|
291
|
+
imageUrl?: string | null;
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
295
|
+
*/
|
|
296
|
+
isMultiplierApplied?: boolean;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Flag indicating if rewards are applied retroactively.
|
|
300
|
+
*/
|
|
301
|
+
isRetroactive?: boolean | null;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
305
|
+
*/
|
|
306
|
+
isTokenHoldMultiplier?: boolean;
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Optional link associated with the metadata.
|
|
310
|
+
*/
|
|
311
|
+
link?: string | null;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Maximum quantity constraint for token holding.
|
|
315
|
+
*/
|
|
316
|
+
maxQty?: number | null;
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Minimum quantity constraint for token holding.
|
|
320
|
+
*/
|
|
321
|
+
minQty?: number | null;
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
325
|
+
*/
|
|
326
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Flag indicating whether to include only known users.
|
|
330
|
+
*/
|
|
331
|
+
onlyKnownUsers?: boolean;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Flag indicating whether to include only native tokens.
|
|
335
|
+
*/
|
|
336
|
+
onlyNative?: boolean;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Flag indicating whether to include only non-listed items.
|
|
340
|
+
*/
|
|
341
|
+
onlyNonListed?: boolean;
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Indicates if only existing users are rewarded.
|
|
345
|
+
*/
|
|
346
|
+
onlyRewardExistingUser?: boolean;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* give points for only one token ownership per contract
|
|
350
|
+
*/
|
|
351
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Order source of the order for the token sale
|
|
355
|
+
*/
|
|
356
|
+
orderSource?: string;
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Promotional code associated with the rule.
|
|
360
|
+
*/
|
|
361
|
+
promoCode?: string;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Array defining ranges and corresponding rewards.
|
|
365
|
+
*/
|
|
366
|
+
range?: Array<Metadata.Range>;
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Object defining referral requirements.
|
|
370
|
+
*/
|
|
371
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Lump sum reward given to a referrer.
|
|
375
|
+
*/
|
|
376
|
+
referrerReward?: number | null;
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Flag indicating if rewards are given per impression.
|
|
380
|
+
*/
|
|
381
|
+
rewardPerImpression?: boolean | null;
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Currency associated with sales.
|
|
385
|
+
*/
|
|
386
|
+
saleCurrency?: string;
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Percentage reward given for a second-level referral.
|
|
390
|
+
*/
|
|
391
|
+
secondReferralReward?: number | null;
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Flag indicating if the multiplier is skipped.
|
|
395
|
+
*/
|
|
396
|
+
skipMultiplier?: boolean | null;
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Object containing details of the associated smart contract.
|
|
400
|
+
*/
|
|
401
|
+
smartContract?: Metadata.SmartContract;
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Array of snapshot proposals for the rule.
|
|
405
|
+
*/
|
|
406
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Social media platform associated with the rule.
|
|
410
|
+
*/
|
|
411
|
+
socialPlatform?:
|
|
412
|
+
| 'Custom'
|
|
413
|
+
| 'Discord'
|
|
414
|
+
| 'EpicGames'
|
|
415
|
+
| 'Instagram'
|
|
416
|
+
| 'Steam'
|
|
417
|
+
| 'Telegram'
|
|
418
|
+
| 'TikTok'
|
|
419
|
+
| 'Twitch'
|
|
420
|
+
| 'X(Twitter)'
|
|
421
|
+
| 'YouTube'
|
|
422
|
+
| null;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* URL of the social platform's logo.
|
|
426
|
+
*/
|
|
427
|
+
socialPlatformLogo?: string | null;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Name of the social platform.
|
|
431
|
+
*/
|
|
432
|
+
socialPlatformName?: string | null;
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* ID of the Steam app.
|
|
436
|
+
*/
|
|
437
|
+
steamAppId?: string | null;
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* Array of streak milestones and corresponding rewards.
|
|
441
|
+
*/
|
|
442
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* ID of the Telegram channel.
|
|
446
|
+
*/
|
|
447
|
+
telegramChannelId?: string | null;
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Time delay in seconds to verify actions.
|
|
451
|
+
*/
|
|
452
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Flag indicating if all contracts are tracked.
|
|
456
|
+
*/
|
|
457
|
+
trackAllContracts?: boolean | null;
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
461
|
+
* completed once the progress is 100%.
|
|
462
|
+
*/
|
|
463
|
+
trackProgress?: boolean | null;
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* URL of the associated Twitter account.
|
|
467
|
+
*/
|
|
468
|
+
twitterAccountUrl?: string;
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Hashtag associated with the Twitter post.
|
|
472
|
+
*/
|
|
473
|
+
twitterHashtag?: string;
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* URL of the associated Twitter post.
|
|
477
|
+
*/
|
|
478
|
+
twitterPostUrl?: string;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Unique identifier of the Twitter user.
|
|
482
|
+
*/
|
|
483
|
+
twitterUserId?: string;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Twitter username of the user.
|
|
487
|
+
*/
|
|
488
|
+
twitterUsername?: string;
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Minimum length of the verification text.
|
|
492
|
+
*/
|
|
493
|
+
verificationTextMinimumLength?: number | null;
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Multiplier applied to rewards for verified users.
|
|
497
|
+
*/
|
|
498
|
+
verifiedMultiplier?: number | null;
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Placeholder text for verification input fields.
|
|
502
|
+
*/
|
|
503
|
+
verifyPlaceHolderText?: string | null;
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Type of wallet associated with the rule.
|
|
507
|
+
*/
|
|
508
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
export namespace Metadata {
|
|
512
|
+
export interface Collection {
|
|
513
|
+
/**
|
|
514
|
+
* Blockchain address of the collection.
|
|
515
|
+
*/
|
|
516
|
+
address?: string;
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* Multiplier applied to the rewards for this collection.
|
|
520
|
+
*/
|
|
521
|
+
multiplier?: number;
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Blockchain network of the collection.
|
|
525
|
+
*/
|
|
526
|
+
network?:
|
|
527
|
+
| 'abstract'
|
|
528
|
+
| 'abstractTestnet'
|
|
529
|
+
| 'apechain'
|
|
530
|
+
| 'arbitrum'
|
|
531
|
+
| 'avalanche'
|
|
532
|
+
| 'avalancheFuji'
|
|
533
|
+
| 'base'
|
|
534
|
+
| 'baseSepolia'
|
|
535
|
+
| 'berachainArtio'
|
|
536
|
+
| 'binance'
|
|
537
|
+
| 'bscTestnet'
|
|
538
|
+
| 'campTestnet'
|
|
539
|
+
| 'fantom'
|
|
540
|
+
| 'fantomTestnet'
|
|
541
|
+
| 'flowMainnet'
|
|
542
|
+
| 'mainnet'
|
|
543
|
+
| 'optimism'
|
|
544
|
+
| 'polygon'
|
|
545
|
+
| 'polygon_mumbai'
|
|
546
|
+
| 'skaleNebula'
|
|
547
|
+
| 'solana'
|
|
548
|
+
| 'sophon'
|
|
549
|
+
| 'sui'
|
|
550
|
+
| 'superseed'
|
|
551
|
+
| 'superseedSepolia'
|
|
552
|
+
| 'vanar'
|
|
553
|
+
| 'xai'
|
|
554
|
+
| 'zksync'
|
|
555
|
+
| 'sepolia'
|
|
556
|
+
| 'optimism_sepolia'
|
|
557
|
+
| 'arbitrumSepolia'
|
|
558
|
+
| 'goerli'
|
|
559
|
+
| 'optimism_goerli'
|
|
560
|
+
| 'arbitrumGoerli'
|
|
561
|
+
| 'basecamp';
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Object containing details for the call-to-action.
|
|
566
|
+
*/
|
|
567
|
+
export interface Cta {
|
|
568
|
+
/**
|
|
569
|
+
* Link for the call-to-action.
|
|
570
|
+
*/
|
|
571
|
+
href?: string | null;
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Label for the call-to-action.
|
|
575
|
+
*/
|
|
576
|
+
label?: string | null;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
export interface DiscordServersToJoin {
|
|
580
|
+
/**
|
|
581
|
+
* ID of the Discord server to join.
|
|
582
|
+
*/
|
|
583
|
+
id?: string;
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Array of Discord channels to join.
|
|
587
|
+
*/
|
|
588
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* Array of roles to assign in the Discord server.
|
|
592
|
+
*/
|
|
593
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
export namespace DiscordServersToJoin {
|
|
597
|
+
export interface Channel {
|
|
598
|
+
/**
|
|
599
|
+
* ID of the Discord channel.
|
|
600
|
+
*/
|
|
601
|
+
id?: string;
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Array of emojis used in the channel.
|
|
605
|
+
*/
|
|
606
|
+
emojis?: Array<Channel.Emoji>;
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Phrase of text to be present in the discord message
|
|
610
|
+
*/
|
|
611
|
+
text?: string;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
export namespace Channel {
|
|
615
|
+
export interface Emoji {
|
|
616
|
+
/**
|
|
617
|
+
* ID of the emoji used in the channel.
|
|
618
|
+
*/
|
|
619
|
+
id?: string;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
export interface Role {
|
|
624
|
+
/**
|
|
625
|
+
* ID of the role in the Discord server.
|
|
626
|
+
*/
|
|
627
|
+
id: string;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
export interface DripQuestsToComplete {
|
|
632
|
+
/**
|
|
633
|
+
* ID of the drip quest to complete.
|
|
634
|
+
*/
|
|
635
|
+
id: string;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
export interface Range {
|
|
639
|
+
/**
|
|
640
|
+
* Reward amount for this range.
|
|
641
|
+
*/
|
|
642
|
+
amount: number;
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* End value of the range.
|
|
646
|
+
*/
|
|
647
|
+
endRange: number;
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Start value of the range.
|
|
651
|
+
*/
|
|
652
|
+
startRange: number;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Object defining referral requirements.
|
|
657
|
+
*/
|
|
658
|
+
export interface ReferralRequirements {
|
|
659
|
+
/**
|
|
660
|
+
* Flag indicating if achieving points is required.
|
|
661
|
+
*/
|
|
662
|
+
achievePoints?: boolean | null;
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* Flag indicating if completing the profile is required.
|
|
666
|
+
*/
|
|
667
|
+
completeProfile?: boolean | null;
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* Flag indicating if connecting Discord is required.
|
|
671
|
+
*/
|
|
672
|
+
connectDiscord?: boolean | null;
|
|
673
|
+
|
|
674
|
+
/**
|
|
675
|
+
* Flag indicating if connecting email is required.
|
|
676
|
+
*/
|
|
677
|
+
connectEmail?: boolean | null;
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Flag indicating if connecting Twitter is required.
|
|
681
|
+
*/
|
|
682
|
+
connectTwitter?: boolean | null;
|
|
683
|
+
|
|
684
|
+
points?: ReferralRequirements.Points | null;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
export namespace ReferralRequirements {
|
|
688
|
+
export interface Points {
|
|
689
|
+
/**
|
|
690
|
+
* Points required for referral.
|
|
691
|
+
*/
|
|
692
|
+
amount?: number | null;
|
|
693
|
+
|
|
694
|
+
/**
|
|
695
|
+
* ID of the loyalty currency for referral.
|
|
696
|
+
*/
|
|
697
|
+
loyaltyCurrecyId?: string | null;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Object containing details of the associated smart contract.
|
|
703
|
+
*/
|
|
704
|
+
export interface SmartContract {
|
|
705
|
+
/**
|
|
706
|
+
* ABI of the smart contract.
|
|
707
|
+
*/
|
|
708
|
+
abi?: string | null;
|
|
709
|
+
|
|
710
|
+
/**
|
|
711
|
+
* Mapping of addresses for the smart contract.
|
|
712
|
+
*/
|
|
713
|
+
addressMapping?: string | null;
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* Array of bonus details applied to the rule.
|
|
717
|
+
*/
|
|
718
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* ID of the smart contract.
|
|
722
|
+
*/
|
|
723
|
+
contractId?: string | null;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Criteria to evaluate the smart contract event.
|
|
727
|
+
*/
|
|
728
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Time range applied to the rule.
|
|
732
|
+
*/
|
|
733
|
+
customRange?: SmartContract.CustomRange | null;
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* Event emitted by the smart contract.
|
|
737
|
+
*/
|
|
738
|
+
event?: string | null;
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Maximum value allowed for the parameter.
|
|
742
|
+
*/
|
|
743
|
+
max?: number | null;
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* Array of parameters for the smart contract.
|
|
747
|
+
*/
|
|
748
|
+
params?: Array<SmartContract.Param> | null;
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* Flag indicating if a bonus is applied.
|
|
752
|
+
*/
|
|
753
|
+
withBonus?: boolean | null;
|
|
754
|
+
|
|
755
|
+
/**
|
|
756
|
+
* Flag indicating if a custom range is applied.
|
|
757
|
+
*/
|
|
758
|
+
withCustomRange?: boolean | null;
|
|
759
|
+
|
|
760
|
+
/**
|
|
761
|
+
* Flag indicating if a maximum limit is applied.
|
|
762
|
+
*/
|
|
763
|
+
withMax?: boolean | null;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
export namespace SmartContract {
|
|
767
|
+
export interface Bonus {
|
|
768
|
+
/**
|
|
769
|
+
* Amount of the bonus.
|
|
770
|
+
*/
|
|
771
|
+
amount?: number | null;
|
|
772
|
+
|
|
773
|
+
/**
|
|
774
|
+
* Number of times the bonus is applied.
|
|
775
|
+
*/
|
|
776
|
+
count?: number | null;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
/**
|
|
780
|
+
* Time range applied to the rule.
|
|
781
|
+
*/
|
|
782
|
+
export interface CustomRange {
|
|
783
|
+
/**
|
|
784
|
+
* End time of the custom range.
|
|
785
|
+
*/
|
|
786
|
+
endsAt?: string | null;
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* Start time of the custom range.
|
|
790
|
+
*/
|
|
791
|
+
startsAt?: string | null;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
export interface Param {
|
|
795
|
+
/**
|
|
796
|
+
* Condition to check for the parameter.
|
|
797
|
+
*/
|
|
798
|
+
condition?: string | null;
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* Name of the smart contract parameter.
|
|
802
|
+
*/
|
|
803
|
+
name?: string | null;
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* Value of the parameter.
|
|
807
|
+
*/
|
|
808
|
+
value?: string | null;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
export interface SnapshotProposal {
|
|
813
|
+
/**
|
|
814
|
+
* ID of the snapshot proposal.
|
|
815
|
+
*/
|
|
816
|
+
id: string;
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* Space associated with the snapshot proposal.
|
|
820
|
+
*/
|
|
821
|
+
space: string;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
export interface StreakArray {
|
|
825
|
+
/**
|
|
826
|
+
* Reward amount for achieving the streak milestone.
|
|
827
|
+
*/
|
|
828
|
+
streakAmount: number;
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* Milestone required to achieve the streak.
|
|
832
|
+
*/
|
|
833
|
+
streakMilestone: number;
|
|
834
|
+
}
|
|
835
|
+
}
|
|
169
836
|
}
|
|
170
837
|
|
|
171
838
|
/**
|
|
@@ -247,10 +914,677 @@ export namespace RuleEditListResponse {
|
|
|
247
914
|
*/
|
|
248
915
|
collectionAddress?: string;
|
|
249
916
|
|
|
917
|
+
/**
|
|
918
|
+
* URL of the media associated with the loyalty rule
|
|
919
|
+
*/
|
|
920
|
+
mediaUrl?: string | null;
|
|
921
|
+
|
|
250
922
|
/**
|
|
251
923
|
* Optional metadata for the loyalty rule
|
|
252
924
|
*/
|
|
253
|
-
metadata?: Record<string,
|
|
925
|
+
metadata?: Record<string, PreviousData.Metadata>;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
export namespace PreviousData {
|
|
929
|
+
export interface Metadata {
|
|
930
|
+
/**
|
|
931
|
+
* Text displayed on the action button.
|
|
932
|
+
*/
|
|
933
|
+
buttonText?: string | null;
|
|
934
|
+
|
|
935
|
+
/**
|
|
936
|
+
* Flag indicating if commenting is required.
|
|
937
|
+
*/
|
|
938
|
+
checkComment?: boolean | null;
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Flag indicating if liking the post is required.
|
|
942
|
+
*/
|
|
943
|
+
checkLike?: boolean | null;
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* Flag indicating if reposting is required.
|
|
947
|
+
*/
|
|
948
|
+
checkRepost?: boolean | null;
|
|
949
|
+
|
|
950
|
+
/**
|
|
951
|
+
* Text to check in the Twitter post, username, or bio.
|
|
952
|
+
*/
|
|
953
|
+
checkText?: string | null;
|
|
954
|
+
|
|
955
|
+
/**
|
|
956
|
+
* Array of collections associated with the rule.
|
|
957
|
+
*/
|
|
958
|
+
collection?: Array<Metadata.Collection>;
|
|
959
|
+
|
|
960
|
+
/**
|
|
961
|
+
* Conditions for completing the profile.
|
|
962
|
+
*/
|
|
963
|
+
completeProfileConditions?: Record<string, boolean> | null;
|
|
964
|
+
|
|
965
|
+
/**
|
|
966
|
+
* Object containing details for the call-to-action.
|
|
967
|
+
*/
|
|
968
|
+
cta?: Metadata.Cta | null;
|
|
969
|
+
|
|
970
|
+
/**
|
|
971
|
+
* API key for custom rewards integration.
|
|
972
|
+
*/
|
|
973
|
+
customRewardsApiKey?: string;
|
|
974
|
+
|
|
975
|
+
/**
|
|
976
|
+
* Array of Discord servers, channels, and roles to join.
|
|
977
|
+
*/
|
|
978
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* Array of drip quests required to complete the rule.
|
|
982
|
+
*/
|
|
983
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
984
|
+
|
|
985
|
+
/**
|
|
986
|
+
* Flag indicating whether joining Discord servers is required.
|
|
987
|
+
*/
|
|
988
|
+
enableJoinDiscordServers?: boolean | null;
|
|
989
|
+
|
|
990
|
+
/**
|
|
991
|
+
* Flag indicating whether streaks are enabled.
|
|
992
|
+
*/
|
|
993
|
+
enableStreaks?: boolean | null;
|
|
994
|
+
|
|
995
|
+
/**
|
|
996
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
997
|
+
*/
|
|
998
|
+
enableVerifiedMultiplier?: boolean;
|
|
999
|
+
|
|
1000
|
+
/**
|
|
1001
|
+
* Fill source of the order for the token sale
|
|
1002
|
+
*/
|
|
1003
|
+
fillSource?: string;
|
|
1004
|
+
|
|
1005
|
+
/**
|
|
1006
|
+
* Percentage reward given to a user for their first referral.
|
|
1007
|
+
*/
|
|
1008
|
+
firstReferralReward?: number | null;
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* Flag indicating whether the fill source is included.
|
|
1012
|
+
*/
|
|
1013
|
+
hasFillSource?: boolean;
|
|
1014
|
+
|
|
1015
|
+
/**
|
|
1016
|
+
* Indicates if the item has never been sold.
|
|
1017
|
+
*/
|
|
1018
|
+
hasNeverSold?: boolean;
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* Flag indicating whether the order source is included.
|
|
1022
|
+
*/
|
|
1023
|
+
hasOrderSource?: boolean;
|
|
1024
|
+
|
|
1025
|
+
/**
|
|
1026
|
+
* Indicates if the full royalty has been paid for items.
|
|
1027
|
+
*/
|
|
1028
|
+
hasPaidFullRoyalty?: boolean;
|
|
1029
|
+
|
|
1030
|
+
/**
|
|
1031
|
+
* Flag indicating if the sale currency is included.
|
|
1032
|
+
*/
|
|
1033
|
+
hasSaleCurrency?: boolean;
|
|
1034
|
+
|
|
1035
|
+
/**
|
|
1036
|
+
* Indicates if the user has a verified Twitter account.
|
|
1037
|
+
*/
|
|
1038
|
+
hasVerifiedTwitter?: boolean;
|
|
1039
|
+
|
|
1040
|
+
/**
|
|
1041
|
+
* URL of the image associated with the rule.
|
|
1042
|
+
*/
|
|
1043
|
+
imageUrl?: string | null;
|
|
1044
|
+
|
|
1045
|
+
/**
|
|
1046
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1047
|
+
*/
|
|
1048
|
+
isMultiplierApplied?: boolean;
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1052
|
+
*/
|
|
1053
|
+
isRetroactive?: boolean | null;
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1057
|
+
*/
|
|
1058
|
+
isTokenHoldMultiplier?: boolean;
|
|
1059
|
+
|
|
1060
|
+
/**
|
|
1061
|
+
* Optional link associated with the metadata.
|
|
1062
|
+
*/
|
|
1063
|
+
link?: string | null;
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* Maximum quantity constraint for token holding.
|
|
1067
|
+
*/
|
|
1068
|
+
maxQty?: number | null;
|
|
1069
|
+
|
|
1070
|
+
/**
|
|
1071
|
+
* Minimum quantity constraint for token holding.
|
|
1072
|
+
*/
|
|
1073
|
+
minQty?: number | null;
|
|
1074
|
+
|
|
1075
|
+
/**
|
|
1076
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1077
|
+
*/
|
|
1078
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Flag indicating whether to include only known users.
|
|
1082
|
+
*/
|
|
1083
|
+
onlyKnownUsers?: boolean;
|
|
1084
|
+
|
|
1085
|
+
/**
|
|
1086
|
+
* Flag indicating whether to include only native tokens.
|
|
1087
|
+
*/
|
|
1088
|
+
onlyNative?: boolean;
|
|
1089
|
+
|
|
1090
|
+
/**
|
|
1091
|
+
* Flag indicating whether to include only non-listed items.
|
|
1092
|
+
*/
|
|
1093
|
+
onlyNonListed?: boolean;
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
* Indicates if only existing users are rewarded.
|
|
1097
|
+
*/
|
|
1098
|
+
onlyRewardExistingUser?: boolean;
|
|
1099
|
+
|
|
1100
|
+
/**
|
|
1101
|
+
* give points for only one token ownership per contract
|
|
1102
|
+
*/
|
|
1103
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1104
|
+
|
|
1105
|
+
/**
|
|
1106
|
+
* Order source of the order for the token sale
|
|
1107
|
+
*/
|
|
1108
|
+
orderSource?: string;
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Promotional code associated with the rule.
|
|
1112
|
+
*/
|
|
1113
|
+
promoCode?: string;
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* Array defining ranges and corresponding rewards.
|
|
1117
|
+
*/
|
|
1118
|
+
range?: Array<Metadata.Range>;
|
|
1119
|
+
|
|
1120
|
+
/**
|
|
1121
|
+
* Object defining referral requirements.
|
|
1122
|
+
*/
|
|
1123
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Lump sum reward given to a referrer.
|
|
1127
|
+
*/
|
|
1128
|
+
referrerReward?: number | null;
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Flag indicating if rewards are given per impression.
|
|
1132
|
+
*/
|
|
1133
|
+
rewardPerImpression?: boolean | null;
|
|
1134
|
+
|
|
1135
|
+
/**
|
|
1136
|
+
* Currency associated with sales.
|
|
1137
|
+
*/
|
|
1138
|
+
saleCurrency?: string;
|
|
1139
|
+
|
|
1140
|
+
/**
|
|
1141
|
+
* Percentage reward given for a second-level referral.
|
|
1142
|
+
*/
|
|
1143
|
+
secondReferralReward?: number | null;
|
|
1144
|
+
|
|
1145
|
+
/**
|
|
1146
|
+
* Flag indicating if the multiplier is skipped.
|
|
1147
|
+
*/
|
|
1148
|
+
skipMultiplier?: boolean | null;
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* Object containing details of the associated smart contract.
|
|
1152
|
+
*/
|
|
1153
|
+
smartContract?: Metadata.SmartContract;
|
|
1154
|
+
|
|
1155
|
+
/**
|
|
1156
|
+
* Array of snapshot proposals for the rule.
|
|
1157
|
+
*/
|
|
1158
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
1159
|
+
|
|
1160
|
+
/**
|
|
1161
|
+
* Social media platform associated with the rule.
|
|
1162
|
+
*/
|
|
1163
|
+
socialPlatform?:
|
|
1164
|
+
| 'Custom'
|
|
1165
|
+
| 'Discord'
|
|
1166
|
+
| 'EpicGames'
|
|
1167
|
+
| 'Instagram'
|
|
1168
|
+
| 'Steam'
|
|
1169
|
+
| 'Telegram'
|
|
1170
|
+
| 'TikTok'
|
|
1171
|
+
| 'Twitch'
|
|
1172
|
+
| 'X(Twitter)'
|
|
1173
|
+
| 'YouTube'
|
|
1174
|
+
| null;
|
|
1175
|
+
|
|
1176
|
+
/**
|
|
1177
|
+
* URL of the social platform's logo.
|
|
1178
|
+
*/
|
|
1179
|
+
socialPlatformLogo?: string | null;
|
|
1180
|
+
|
|
1181
|
+
/**
|
|
1182
|
+
* Name of the social platform.
|
|
1183
|
+
*/
|
|
1184
|
+
socialPlatformName?: string | null;
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* ID of the Steam app.
|
|
1188
|
+
*/
|
|
1189
|
+
steamAppId?: string | null;
|
|
1190
|
+
|
|
1191
|
+
/**
|
|
1192
|
+
* Array of streak milestones and corresponding rewards.
|
|
1193
|
+
*/
|
|
1194
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1195
|
+
|
|
1196
|
+
/**
|
|
1197
|
+
* ID of the Telegram channel.
|
|
1198
|
+
*/
|
|
1199
|
+
telegramChannelId?: string | null;
|
|
1200
|
+
|
|
1201
|
+
/**
|
|
1202
|
+
* Time delay in seconds to verify actions.
|
|
1203
|
+
*/
|
|
1204
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
1205
|
+
|
|
1206
|
+
/**
|
|
1207
|
+
* Flag indicating if all contracts are tracked.
|
|
1208
|
+
*/
|
|
1209
|
+
trackAllContracts?: boolean | null;
|
|
1210
|
+
|
|
1211
|
+
/**
|
|
1212
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
1213
|
+
* completed once the progress is 100%.
|
|
1214
|
+
*/
|
|
1215
|
+
trackProgress?: boolean | null;
|
|
1216
|
+
|
|
1217
|
+
/**
|
|
1218
|
+
* URL of the associated Twitter account.
|
|
1219
|
+
*/
|
|
1220
|
+
twitterAccountUrl?: string;
|
|
1221
|
+
|
|
1222
|
+
/**
|
|
1223
|
+
* Hashtag associated with the Twitter post.
|
|
1224
|
+
*/
|
|
1225
|
+
twitterHashtag?: string;
|
|
1226
|
+
|
|
1227
|
+
/**
|
|
1228
|
+
* URL of the associated Twitter post.
|
|
1229
|
+
*/
|
|
1230
|
+
twitterPostUrl?: string;
|
|
1231
|
+
|
|
1232
|
+
/**
|
|
1233
|
+
* Unique identifier of the Twitter user.
|
|
1234
|
+
*/
|
|
1235
|
+
twitterUserId?: string;
|
|
1236
|
+
|
|
1237
|
+
/**
|
|
1238
|
+
* Twitter username of the user.
|
|
1239
|
+
*/
|
|
1240
|
+
twitterUsername?: string;
|
|
1241
|
+
|
|
1242
|
+
/**
|
|
1243
|
+
* Minimum length of the verification text.
|
|
1244
|
+
*/
|
|
1245
|
+
verificationTextMinimumLength?: number | null;
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* Multiplier applied to rewards for verified users.
|
|
1249
|
+
*/
|
|
1250
|
+
verifiedMultiplier?: number | null;
|
|
1251
|
+
|
|
1252
|
+
/**
|
|
1253
|
+
* Placeholder text for verification input fields.
|
|
1254
|
+
*/
|
|
1255
|
+
verifyPlaceHolderText?: string | null;
|
|
1256
|
+
|
|
1257
|
+
/**
|
|
1258
|
+
* Type of wallet associated with the rule.
|
|
1259
|
+
*/
|
|
1260
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
export namespace Metadata {
|
|
1264
|
+
export interface Collection {
|
|
1265
|
+
/**
|
|
1266
|
+
* Blockchain address of the collection.
|
|
1267
|
+
*/
|
|
1268
|
+
address?: string;
|
|
1269
|
+
|
|
1270
|
+
/**
|
|
1271
|
+
* Multiplier applied to the rewards for this collection.
|
|
1272
|
+
*/
|
|
1273
|
+
multiplier?: number;
|
|
1274
|
+
|
|
1275
|
+
/**
|
|
1276
|
+
* Blockchain network of the collection.
|
|
1277
|
+
*/
|
|
1278
|
+
network?:
|
|
1279
|
+
| 'abstract'
|
|
1280
|
+
| 'abstractTestnet'
|
|
1281
|
+
| 'apechain'
|
|
1282
|
+
| 'arbitrum'
|
|
1283
|
+
| 'avalanche'
|
|
1284
|
+
| 'avalancheFuji'
|
|
1285
|
+
| 'base'
|
|
1286
|
+
| 'baseSepolia'
|
|
1287
|
+
| 'berachainArtio'
|
|
1288
|
+
| 'binance'
|
|
1289
|
+
| 'bscTestnet'
|
|
1290
|
+
| 'campTestnet'
|
|
1291
|
+
| 'fantom'
|
|
1292
|
+
| 'fantomTestnet'
|
|
1293
|
+
| 'flowMainnet'
|
|
1294
|
+
| 'mainnet'
|
|
1295
|
+
| 'optimism'
|
|
1296
|
+
| 'polygon'
|
|
1297
|
+
| 'polygon_mumbai'
|
|
1298
|
+
| 'skaleNebula'
|
|
1299
|
+
| 'solana'
|
|
1300
|
+
| 'sophon'
|
|
1301
|
+
| 'sui'
|
|
1302
|
+
| 'superseed'
|
|
1303
|
+
| 'superseedSepolia'
|
|
1304
|
+
| 'vanar'
|
|
1305
|
+
| 'xai'
|
|
1306
|
+
| 'zksync'
|
|
1307
|
+
| 'sepolia'
|
|
1308
|
+
| 'optimism_sepolia'
|
|
1309
|
+
| 'arbitrumSepolia'
|
|
1310
|
+
| 'goerli'
|
|
1311
|
+
| 'optimism_goerli'
|
|
1312
|
+
| 'arbitrumGoerli'
|
|
1313
|
+
| 'basecamp';
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
/**
|
|
1317
|
+
* Object containing details for the call-to-action.
|
|
1318
|
+
*/
|
|
1319
|
+
export interface Cta {
|
|
1320
|
+
/**
|
|
1321
|
+
* Link for the call-to-action.
|
|
1322
|
+
*/
|
|
1323
|
+
href?: string | null;
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* Label for the call-to-action.
|
|
1327
|
+
*/
|
|
1328
|
+
label?: string | null;
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
export interface DiscordServersToJoin {
|
|
1332
|
+
/**
|
|
1333
|
+
* ID of the Discord server to join.
|
|
1334
|
+
*/
|
|
1335
|
+
id?: string;
|
|
1336
|
+
|
|
1337
|
+
/**
|
|
1338
|
+
* Array of Discord channels to join.
|
|
1339
|
+
*/
|
|
1340
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* Array of roles to assign in the Discord server.
|
|
1344
|
+
*/
|
|
1345
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
export namespace DiscordServersToJoin {
|
|
1349
|
+
export interface Channel {
|
|
1350
|
+
/**
|
|
1351
|
+
* ID of the Discord channel.
|
|
1352
|
+
*/
|
|
1353
|
+
id?: string;
|
|
1354
|
+
|
|
1355
|
+
/**
|
|
1356
|
+
* Array of emojis used in the channel.
|
|
1357
|
+
*/
|
|
1358
|
+
emojis?: Array<Channel.Emoji>;
|
|
1359
|
+
|
|
1360
|
+
/**
|
|
1361
|
+
* Phrase of text to be present in the discord message
|
|
1362
|
+
*/
|
|
1363
|
+
text?: string;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
export namespace Channel {
|
|
1367
|
+
export interface Emoji {
|
|
1368
|
+
/**
|
|
1369
|
+
* ID of the emoji used in the channel.
|
|
1370
|
+
*/
|
|
1371
|
+
id?: string;
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
export interface Role {
|
|
1376
|
+
/**
|
|
1377
|
+
* ID of the role in the Discord server.
|
|
1378
|
+
*/
|
|
1379
|
+
id: string;
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
export interface DripQuestsToComplete {
|
|
1384
|
+
/**
|
|
1385
|
+
* ID of the drip quest to complete.
|
|
1386
|
+
*/
|
|
1387
|
+
id: string;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
export interface Range {
|
|
1391
|
+
/**
|
|
1392
|
+
* Reward amount for this range.
|
|
1393
|
+
*/
|
|
1394
|
+
amount: number;
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* End value of the range.
|
|
1398
|
+
*/
|
|
1399
|
+
endRange: number;
|
|
1400
|
+
|
|
1401
|
+
/**
|
|
1402
|
+
* Start value of the range.
|
|
1403
|
+
*/
|
|
1404
|
+
startRange: number;
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1407
|
+
/**
|
|
1408
|
+
* Object defining referral requirements.
|
|
1409
|
+
*/
|
|
1410
|
+
export interface ReferralRequirements {
|
|
1411
|
+
/**
|
|
1412
|
+
* Flag indicating if achieving points is required.
|
|
1413
|
+
*/
|
|
1414
|
+
achievePoints?: boolean | null;
|
|
1415
|
+
|
|
1416
|
+
/**
|
|
1417
|
+
* Flag indicating if completing the profile is required.
|
|
1418
|
+
*/
|
|
1419
|
+
completeProfile?: boolean | null;
|
|
1420
|
+
|
|
1421
|
+
/**
|
|
1422
|
+
* Flag indicating if connecting Discord is required.
|
|
1423
|
+
*/
|
|
1424
|
+
connectDiscord?: boolean | null;
|
|
1425
|
+
|
|
1426
|
+
/**
|
|
1427
|
+
* Flag indicating if connecting email is required.
|
|
1428
|
+
*/
|
|
1429
|
+
connectEmail?: boolean | null;
|
|
1430
|
+
|
|
1431
|
+
/**
|
|
1432
|
+
* Flag indicating if connecting Twitter is required.
|
|
1433
|
+
*/
|
|
1434
|
+
connectTwitter?: boolean | null;
|
|
1435
|
+
|
|
1436
|
+
points?: ReferralRequirements.Points | null;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
export namespace ReferralRequirements {
|
|
1440
|
+
export interface Points {
|
|
1441
|
+
/**
|
|
1442
|
+
* Points required for referral.
|
|
1443
|
+
*/
|
|
1444
|
+
amount?: number | null;
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* ID of the loyalty currency for referral.
|
|
1448
|
+
*/
|
|
1449
|
+
loyaltyCurrecyId?: string | null;
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
/**
|
|
1454
|
+
* Object containing details of the associated smart contract.
|
|
1455
|
+
*/
|
|
1456
|
+
export interface SmartContract {
|
|
1457
|
+
/**
|
|
1458
|
+
* ABI of the smart contract.
|
|
1459
|
+
*/
|
|
1460
|
+
abi?: string | null;
|
|
1461
|
+
|
|
1462
|
+
/**
|
|
1463
|
+
* Mapping of addresses for the smart contract.
|
|
1464
|
+
*/
|
|
1465
|
+
addressMapping?: string | null;
|
|
1466
|
+
|
|
1467
|
+
/**
|
|
1468
|
+
* Array of bonus details applied to the rule.
|
|
1469
|
+
*/
|
|
1470
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
1471
|
+
|
|
1472
|
+
/**
|
|
1473
|
+
* ID of the smart contract.
|
|
1474
|
+
*/
|
|
1475
|
+
contractId?: string | null;
|
|
1476
|
+
|
|
1477
|
+
/**
|
|
1478
|
+
* Criteria to evaluate the smart contract event.
|
|
1479
|
+
*/
|
|
1480
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1481
|
+
|
|
1482
|
+
/**
|
|
1483
|
+
* Time range applied to the rule.
|
|
1484
|
+
*/
|
|
1485
|
+
customRange?: SmartContract.CustomRange | null;
|
|
1486
|
+
|
|
1487
|
+
/**
|
|
1488
|
+
* Event emitted by the smart contract.
|
|
1489
|
+
*/
|
|
1490
|
+
event?: string | null;
|
|
1491
|
+
|
|
1492
|
+
/**
|
|
1493
|
+
* Maximum value allowed for the parameter.
|
|
1494
|
+
*/
|
|
1495
|
+
max?: number | null;
|
|
1496
|
+
|
|
1497
|
+
/**
|
|
1498
|
+
* Array of parameters for the smart contract.
|
|
1499
|
+
*/
|
|
1500
|
+
params?: Array<SmartContract.Param> | null;
|
|
1501
|
+
|
|
1502
|
+
/**
|
|
1503
|
+
* Flag indicating if a bonus is applied.
|
|
1504
|
+
*/
|
|
1505
|
+
withBonus?: boolean | null;
|
|
1506
|
+
|
|
1507
|
+
/**
|
|
1508
|
+
* Flag indicating if a custom range is applied.
|
|
1509
|
+
*/
|
|
1510
|
+
withCustomRange?: boolean | null;
|
|
1511
|
+
|
|
1512
|
+
/**
|
|
1513
|
+
* Flag indicating if a maximum limit is applied.
|
|
1514
|
+
*/
|
|
1515
|
+
withMax?: boolean | null;
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
export namespace SmartContract {
|
|
1519
|
+
export interface Bonus {
|
|
1520
|
+
/**
|
|
1521
|
+
* Amount of the bonus.
|
|
1522
|
+
*/
|
|
1523
|
+
amount?: number | null;
|
|
1524
|
+
|
|
1525
|
+
/**
|
|
1526
|
+
* Number of times the bonus is applied.
|
|
1527
|
+
*/
|
|
1528
|
+
count?: number | null;
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
/**
|
|
1532
|
+
* Time range applied to the rule.
|
|
1533
|
+
*/
|
|
1534
|
+
export interface CustomRange {
|
|
1535
|
+
/**
|
|
1536
|
+
* End time of the custom range.
|
|
1537
|
+
*/
|
|
1538
|
+
endsAt?: string | null;
|
|
1539
|
+
|
|
1540
|
+
/**
|
|
1541
|
+
* Start time of the custom range.
|
|
1542
|
+
*/
|
|
1543
|
+
startsAt?: string | null;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
export interface Param {
|
|
1547
|
+
/**
|
|
1548
|
+
* Condition to check for the parameter.
|
|
1549
|
+
*/
|
|
1550
|
+
condition?: string | null;
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Name of the smart contract parameter.
|
|
1554
|
+
*/
|
|
1555
|
+
name?: string | null;
|
|
1556
|
+
|
|
1557
|
+
/**
|
|
1558
|
+
* Value of the parameter.
|
|
1559
|
+
*/
|
|
1560
|
+
value?: string | null;
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
|
|
1564
|
+
export interface SnapshotProposal {
|
|
1565
|
+
/**
|
|
1566
|
+
* ID of the snapshot proposal.
|
|
1567
|
+
*/
|
|
1568
|
+
id: string;
|
|
1569
|
+
|
|
1570
|
+
/**
|
|
1571
|
+
* Space associated with the snapshot proposal.
|
|
1572
|
+
*/
|
|
1573
|
+
space: string;
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
export interface StreakArray {
|
|
1577
|
+
/**
|
|
1578
|
+
* Reward amount for achieving the streak milestone.
|
|
1579
|
+
*/
|
|
1580
|
+
streakAmount: number;
|
|
1581
|
+
|
|
1582
|
+
/**
|
|
1583
|
+
* Milestone required to achieve the streak.
|
|
1584
|
+
*/
|
|
1585
|
+
streakMilestone: number;
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
254
1588
|
}
|
|
255
1589
|
}
|
|
256
1590
|
}
|
|
@@ -387,10 +1721,677 @@ export namespace RuleEditRestoreResponse {
|
|
|
387
1721
|
*/
|
|
388
1722
|
collectionAddress?: string;
|
|
389
1723
|
|
|
1724
|
+
/**
|
|
1725
|
+
* URL of the media associated with the loyalty rule
|
|
1726
|
+
*/
|
|
1727
|
+
mediaUrl?: string | null;
|
|
1728
|
+
|
|
390
1729
|
/**
|
|
391
1730
|
* Optional metadata for the loyalty rule
|
|
392
1731
|
*/
|
|
393
|
-
metadata?: Record<string,
|
|
1732
|
+
metadata?: Record<string, Data.Metadata>;
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1735
|
+
export namespace Data {
|
|
1736
|
+
export interface Metadata {
|
|
1737
|
+
/**
|
|
1738
|
+
* Text displayed on the action button.
|
|
1739
|
+
*/
|
|
1740
|
+
buttonText?: string | null;
|
|
1741
|
+
|
|
1742
|
+
/**
|
|
1743
|
+
* Flag indicating if commenting is required.
|
|
1744
|
+
*/
|
|
1745
|
+
checkComment?: boolean | null;
|
|
1746
|
+
|
|
1747
|
+
/**
|
|
1748
|
+
* Flag indicating if liking the post is required.
|
|
1749
|
+
*/
|
|
1750
|
+
checkLike?: boolean | null;
|
|
1751
|
+
|
|
1752
|
+
/**
|
|
1753
|
+
* Flag indicating if reposting is required.
|
|
1754
|
+
*/
|
|
1755
|
+
checkRepost?: boolean | null;
|
|
1756
|
+
|
|
1757
|
+
/**
|
|
1758
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1759
|
+
*/
|
|
1760
|
+
checkText?: string | null;
|
|
1761
|
+
|
|
1762
|
+
/**
|
|
1763
|
+
* Array of collections associated with the rule.
|
|
1764
|
+
*/
|
|
1765
|
+
collection?: Array<Metadata.Collection>;
|
|
1766
|
+
|
|
1767
|
+
/**
|
|
1768
|
+
* Conditions for completing the profile.
|
|
1769
|
+
*/
|
|
1770
|
+
completeProfileConditions?: Record<string, boolean> | null;
|
|
1771
|
+
|
|
1772
|
+
/**
|
|
1773
|
+
* Object containing details for the call-to-action.
|
|
1774
|
+
*/
|
|
1775
|
+
cta?: Metadata.Cta | null;
|
|
1776
|
+
|
|
1777
|
+
/**
|
|
1778
|
+
* API key for custom rewards integration.
|
|
1779
|
+
*/
|
|
1780
|
+
customRewardsApiKey?: string;
|
|
1781
|
+
|
|
1782
|
+
/**
|
|
1783
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1784
|
+
*/
|
|
1785
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
1786
|
+
|
|
1787
|
+
/**
|
|
1788
|
+
* Array of drip quests required to complete the rule.
|
|
1789
|
+
*/
|
|
1790
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
1791
|
+
|
|
1792
|
+
/**
|
|
1793
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1794
|
+
*/
|
|
1795
|
+
enableJoinDiscordServers?: boolean | null;
|
|
1796
|
+
|
|
1797
|
+
/**
|
|
1798
|
+
* Flag indicating whether streaks are enabled.
|
|
1799
|
+
*/
|
|
1800
|
+
enableStreaks?: boolean | null;
|
|
1801
|
+
|
|
1802
|
+
/**
|
|
1803
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1804
|
+
*/
|
|
1805
|
+
enableVerifiedMultiplier?: boolean;
|
|
1806
|
+
|
|
1807
|
+
/**
|
|
1808
|
+
* Fill source of the order for the token sale
|
|
1809
|
+
*/
|
|
1810
|
+
fillSource?: string;
|
|
1811
|
+
|
|
1812
|
+
/**
|
|
1813
|
+
* Percentage reward given to a user for their first referral.
|
|
1814
|
+
*/
|
|
1815
|
+
firstReferralReward?: number | null;
|
|
1816
|
+
|
|
1817
|
+
/**
|
|
1818
|
+
* Flag indicating whether the fill source is included.
|
|
1819
|
+
*/
|
|
1820
|
+
hasFillSource?: boolean;
|
|
1821
|
+
|
|
1822
|
+
/**
|
|
1823
|
+
* Indicates if the item has never been sold.
|
|
1824
|
+
*/
|
|
1825
|
+
hasNeverSold?: boolean;
|
|
1826
|
+
|
|
1827
|
+
/**
|
|
1828
|
+
* Flag indicating whether the order source is included.
|
|
1829
|
+
*/
|
|
1830
|
+
hasOrderSource?: boolean;
|
|
1831
|
+
|
|
1832
|
+
/**
|
|
1833
|
+
* Indicates if the full royalty has been paid for items.
|
|
1834
|
+
*/
|
|
1835
|
+
hasPaidFullRoyalty?: boolean;
|
|
1836
|
+
|
|
1837
|
+
/**
|
|
1838
|
+
* Flag indicating if the sale currency is included.
|
|
1839
|
+
*/
|
|
1840
|
+
hasSaleCurrency?: boolean;
|
|
1841
|
+
|
|
1842
|
+
/**
|
|
1843
|
+
* Indicates if the user has a verified Twitter account.
|
|
1844
|
+
*/
|
|
1845
|
+
hasVerifiedTwitter?: boolean;
|
|
1846
|
+
|
|
1847
|
+
/**
|
|
1848
|
+
* URL of the image associated with the rule.
|
|
1849
|
+
*/
|
|
1850
|
+
imageUrl?: string | null;
|
|
1851
|
+
|
|
1852
|
+
/**
|
|
1853
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1854
|
+
*/
|
|
1855
|
+
isMultiplierApplied?: boolean;
|
|
1856
|
+
|
|
1857
|
+
/**
|
|
1858
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1859
|
+
*/
|
|
1860
|
+
isRetroactive?: boolean | null;
|
|
1861
|
+
|
|
1862
|
+
/**
|
|
1863
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1864
|
+
*/
|
|
1865
|
+
isTokenHoldMultiplier?: boolean;
|
|
1866
|
+
|
|
1867
|
+
/**
|
|
1868
|
+
* Optional link associated with the metadata.
|
|
1869
|
+
*/
|
|
1870
|
+
link?: string | null;
|
|
1871
|
+
|
|
1872
|
+
/**
|
|
1873
|
+
* Maximum quantity constraint for token holding.
|
|
1874
|
+
*/
|
|
1875
|
+
maxQty?: number | null;
|
|
1876
|
+
|
|
1877
|
+
/**
|
|
1878
|
+
* Minimum quantity constraint for token holding.
|
|
1879
|
+
*/
|
|
1880
|
+
minQty?: number | null;
|
|
1881
|
+
|
|
1882
|
+
/**
|
|
1883
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1884
|
+
*/
|
|
1885
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1886
|
+
|
|
1887
|
+
/**
|
|
1888
|
+
* Flag indicating whether to include only known users.
|
|
1889
|
+
*/
|
|
1890
|
+
onlyKnownUsers?: boolean;
|
|
1891
|
+
|
|
1892
|
+
/**
|
|
1893
|
+
* Flag indicating whether to include only native tokens.
|
|
1894
|
+
*/
|
|
1895
|
+
onlyNative?: boolean;
|
|
1896
|
+
|
|
1897
|
+
/**
|
|
1898
|
+
* Flag indicating whether to include only non-listed items.
|
|
1899
|
+
*/
|
|
1900
|
+
onlyNonListed?: boolean;
|
|
1901
|
+
|
|
1902
|
+
/**
|
|
1903
|
+
* Indicates if only existing users are rewarded.
|
|
1904
|
+
*/
|
|
1905
|
+
onlyRewardExistingUser?: boolean;
|
|
1906
|
+
|
|
1907
|
+
/**
|
|
1908
|
+
* give points for only one token ownership per contract
|
|
1909
|
+
*/
|
|
1910
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1911
|
+
|
|
1912
|
+
/**
|
|
1913
|
+
* Order source of the order for the token sale
|
|
1914
|
+
*/
|
|
1915
|
+
orderSource?: string;
|
|
1916
|
+
|
|
1917
|
+
/**
|
|
1918
|
+
* Promotional code associated with the rule.
|
|
1919
|
+
*/
|
|
1920
|
+
promoCode?: string;
|
|
1921
|
+
|
|
1922
|
+
/**
|
|
1923
|
+
* Array defining ranges and corresponding rewards.
|
|
1924
|
+
*/
|
|
1925
|
+
range?: Array<Metadata.Range>;
|
|
1926
|
+
|
|
1927
|
+
/**
|
|
1928
|
+
* Object defining referral requirements.
|
|
1929
|
+
*/
|
|
1930
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1931
|
+
|
|
1932
|
+
/**
|
|
1933
|
+
* Lump sum reward given to a referrer.
|
|
1934
|
+
*/
|
|
1935
|
+
referrerReward?: number | null;
|
|
1936
|
+
|
|
1937
|
+
/**
|
|
1938
|
+
* Flag indicating if rewards are given per impression.
|
|
1939
|
+
*/
|
|
1940
|
+
rewardPerImpression?: boolean | null;
|
|
1941
|
+
|
|
1942
|
+
/**
|
|
1943
|
+
* Currency associated with sales.
|
|
1944
|
+
*/
|
|
1945
|
+
saleCurrency?: string;
|
|
1946
|
+
|
|
1947
|
+
/**
|
|
1948
|
+
* Percentage reward given for a second-level referral.
|
|
1949
|
+
*/
|
|
1950
|
+
secondReferralReward?: number | null;
|
|
1951
|
+
|
|
1952
|
+
/**
|
|
1953
|
+
* Flag indicating if the multiplier is skipped.
|
|
1954
|
+
*/
|
|
1955
|
+
skipMultiplier?: boolean | null;
|
|
1956
|
+
|
|
1957
|
+
/**
|
|
1958
|
+
* Object containing details of the associated smart contract.
|
|
1959
|
+
*/
|
|
1960
|
+
smartContract?: Metadata.SmartContract;
|
|
1961
|
+
|
|
1962
|
+
/**
|
|
1963
|
+
* Array of snapshot proposals for the rule.
|
|
1964
|
+
*/
|
|
1965
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
1966
|
+
|
|
1967
|
+
/**
|
|
1968
|
+
* Social media platform associated with the rule.
|
|
1969
|
+
*/
|
|
1970
|
+
socialPlatform?:
|
|
1971
|
+
| 'Custom'
|
|
1972
|
+
| 'Discord'
|
|
1973
|
+
| 'EpicGames'
|
|
1974
|
+
| 'Instagram'
|
|
1975
|
+
| 'Steam'
|
|
1976
|
+
| 'Telegram'
|
|
1977
|
+
| 'TikTok'
|
|
1978
|
+
| 'Twitch'
|
|
1979
|
+
| 'X(Twitter)'
|
|
1980
|
+
| 'YouTube'
|
|
1981
|
+
| null;
|
|
1982
|
+
|
|
1983
|
+
/**
|
|
1984
|
+
* URL of the social platform's logo.
|
|
1985
|
+
*/
|
|
1986
|
+
socialPlatformLogo?: string | null;
|
|
1987
|
+
|
|
1988
|
+
/**
|
|
1989
|
+
* Name of the social platform.
|
|
1990
|
+
*/
|
|
1991
|
+
socialPlatformName?: string | null;
|
|
1992
|
+
|
|
1993
|
+
/**
|
|
1994
|
+
* ID of the Steam app.
|
|
1995
|
+
*/
|
|
1996
|
+
steamAppId?: string | null;
|
|
1997
|
+
|
|
1998
|
+
/**
|
|
1999
|
+
* Array of streak milestones and corresponding rewards.
|
|
2000
|
+
*/
|
|
2001
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2002
|
+
|
|
2003
|
+
/**
|
|
2004
|
+
* ID of the Telegram channel.
|
|
2005
|
+
*/
|
|
2006
|
+
telegramChannelId?: string | null;
|
|
2007
|
+
|
|
2008
|
+
/**
|
|
2009
|
+
* Time delay in seconds to verify actions.
|
|
2010
|
+
*/
|
|
2011
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2012
|
+
|
|
2013
|
+
/**
|
|
2014
|
+
* Flag indicating if all contracts are tracked.
|
|
2015
|
+
*/
|
|
2016
|
+
trackAllContracts?: boolean | null;
|
|
2017
|
+
|
|
2018
|
+
/**
|
|
2019
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2020
|
+
* completed once the progress is 100%.
|
|
2021
|
+
*/
|
|
2022
|
+
trackProgress?: boolean | null;
|
|
2023
|
+
|
|
2024
|
+
/**
|
|
2025
|
+
* URL of the associated Twitter account.
|
|
2026
|
+
*/
|
|
2027
|
+
twitterAccountUrl?: string;
|
|
2028
|
+
|
|
2029
|
+
/**
|
|
2030
|
+
* Hashtag associated with the Twitter post.
|
|
2031
|
+
*/
|
|
2032
|
+
twitterHashtag?: string;
|
|
2033
|
+
|
|
2034
|
+
/**
|
|
2035
|
+
* URL of the associated Twitter post.
|
|
2036
|
+
*/
|
|
2037
|
+
twitterPostUrl?: string;
|
|
2038
|
+
|
|
2039
|
+
/**
|
|
2040
|
+
* Unique identifier of the Twitter user.
|
|
2041
|
+
*/
|
|
2042
|
+
twitterUserId?: string;
|
|
2043
|
+
|
|
2044
|
+
/**
|
|
2045
|
+
* Twitter username of the user.
|
|
2046
|
+
*/
|
|
2047
|
+
twitterUsername?: string;
|
|
2048
|
+
|
|
2049
|
+
/**
|
|
2050
|
+
* Minimum length of the verification text.
|
|
2051
|
+
*/
|
|
2052
|
+
verificationTextMinimumLength?: number | null;
|
|
2053
|
+
|
|
2054
|
+
/**
|
|
2055
|
+
* Multiplier applied to rewards for verified users.
|
|
2056
|
+
*/
|
|
2057
|
+
verifiedMultiplier?: number | null;
|
|
2058
|
+
|
|
2059
|
+
/**
|
|
2060
|
+
* Placeholder text for verification input fields.
|
|
2061
|
+
*/
|
|
2062
|
+
verifyPlaceHolderText?: string | null;
|
|
2063
|
+
|
|
2064
|
+
/**
|
|
2065
|
+
* Type of wallet associated with the rule.
|
|
2066
|
+
*/
|
|
2067
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
export namespace Metadata {
|
|
2071
|
+
export interface Collection {
|
|
2072
|
+
/**
|
|
2073
|
+
* Blockchain address of the collection.
|
|
2074
|
+
*/
|
|
2075
|
+
address?: string;
|
|
2076
|
+
|
|
2077
|
+
/**
|
|
2078
|
+
* Multiplier applied to the rewards for this collection.
|
|
2079
|
+
*/
|
|
2080
|
+
multiplier?: number;
|
|
2081
|
+
|
|
2082
|
+
/**
|
|
2083
|
+
* Blockchain network of the collection.
|
|
2084
|
+
*/
|
|
2085
|
+
network?:
|
|
2086
|
+
| 'abstract'
|
|
2087
|
+
| 'abstractTestnet'
|
|
2088
|
+
| 'apechain'
|
|
2089
|
+
| 'arbitrum'
|
|
2090
|
+
| 'avalanche'
|
|
2091
|
+
| 'avalancheFuji'
|
|
2092
|
+
| 'base'
|
|
2093
|
+
| 'baseSepolia'
|
|
2094
|
+
| 'berachainArtio'
|
|
2095
|
+
| 'binance'
|
|
2096
|
+
| 'bscTestnet'
|
|
2097
|
+
| 'campTestnet'
|
|
2098
|
+
| 'fantom'
|
|
2099
|
+
| 'fantomTestnet'
|
|
2100
|
+
| 'flowMainnet'
|
|
2101
|
+
| 'mainnet'
|
|
2102
|
+
| 'optimism'
|
|
2103
|
+
| 'polygon'
|
|
2104
|
+
| 'polygon_mumbai'
|
|
2105
|
+
| 'skaleNebula'
|
|
2106
|
+
| 'solana'
|
|
2107
|
+
| 'sophon'
|
|
2108
|
+
| 'sui'
|
|
2109
|
+
| 'superseed'
|
|
2110
|
+
| 'superseedSepolia'
|
|
2111
|
+
| 'vanar'
|
|
2112
|
+
| 'xai'
|
|
2113
|
+
| 'zksync'
|
|
2114
|
+
| 'sepolia'
|
|
2115
|
+
| 'optimism_sepolia'
|
|
2116
|
+
| 'arbitrumSepolia'
|
|
2117
|
+
| 'goerli'
|
|
2118
|
+
| 'optimism_goerli'
|
|
2119
|
+
| 'arbitrumGoerli'
|
|
2120
|
+
| 'basecamp';
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
/**
|
|
2124
|
+
* Object containing details for the call-to-action.
|
|
2125
|
+
*/
|
|
2126
|
+
export interface Cta {
|
|
2127
|
+
/**
|
|
2128
|
+
* Link for the call-to-action.
|
|
2129
|
+
*/
|
|
2130
|
+
href?: string | null;
|
|
2131
|
+
|
|
2132
|
+
/**
|
|
2133
|
+
* Label for the call-to-action.
|
|
2134
|
+
*/
|
|
2135
|
+
label?: string | null;
|
|
2136
|
+
}
|
|
2137
|
+
|
|
2138
|
+
export interface DiscordServersToJoin {
|
|
2139
|
+
/**
|
|
2140
|
+
* ID of the Discord server to join.
|
|
2141
|
+
*/
|
|
2142
|
+
id?: string;
|
|
2143
|
+
|
|
2144
|
+
/**
|
|
2145
|
+
* Array of Discord channels to join.
|
|
2146
|
+
*/
|
|
2147
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2148
|
+
|
|
2149
|
+
/**
|
|
2150
|
+
* Array of roles to assign in the Discord server.
|
|
2151
|
+
*/
|
|
2152
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
export namespace DiscordServersToJoin {
|
|
2156
|
+
export interface Channel {
|
|
2157
|
+
/**
|
|
2158
|
+
* ID of the Discord channel.
|
|
2159
|
+
*/
|
|
2160
|
+
id?: string;
|
|
2161
|
+
|
|
2162
|
+
/**
|
|
2163
|
+
* Array of emojis used in the channel.
|
|
2164
|
+
*/
|
|
2165
|
+
emojis?: Array<Channel.Emoji>;
|
|
2166
|
+
|
|
2167
|
+
/**
|
|
2168
|
+
* Phrase of text to be present in the discord message
|
|
2169
|
+
*/
|
|
2170
|
+
text?: string;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
export namespace Channel {
|
|
2174
|
+
export interface Emoji {
|
|
2175
|
+
/**
|
|
2176
|
+
* ID of the emoji used in the channel.
|
|
2177
|
+
*/
|
|
2178
|
+
id?: string;
|
|
2179
|
+
}
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
export interface Role {
|
|
2183
|
+
/**
|
|
2184
|
+
* ID of the role in the Discord server.
|
|
2185
|
+
*/
|
|
2186
|
+
id: string;
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
export interface DripQuestsToComplete {
|
|
2191
|
+
/**
|
|
2192
|
+
* ID of the drip quest to complete.
|
|
2193
|
+
*/
|
|
2194
|
+
id: string;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
export interface Range {
|
|
2198
|
+
/**
|
|
2199
|
+
* Reward amount for this range.
|
|
2200
|
+
*/
|
|
2201
|
+
amount: number;
|
|
2202
|
+
|
|
2203
|
+
/**
|
|
2204
|
+
* End value of the range.
|
|
2205
|
+
*/
|
|
2206
|
+
endRange: number;
|
|
2207
|
+
|
|
2208
|
+
/**
|
|
2209
|
+
* Start value of the range.
|
|
2210
|
+
*/
|
|
2211
|
+
startRange: number;
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
/**
|
|
2215
|
+
* Object defining referral requirements.
|
|
2216
|
+
*/
|
|
2217
|
+
export interface ReferralRequirements {
|
|
2218
|
+
/**
|
|
2219
|
+
* Flag indicating if achieving points is required.
|
|
2220
|
+
*/
|
|
2221
|
+
achievePoints?: boolean | null;
|
|
2222
|
+
|
|
2223
|
+
/**
|
|
2224
|
+
* Flag indicating if completing the profile is required.
|
|
2225
|
+
*/
|
|
2226
|
+
completeProfile?: boolean | null;
|
|
2227
|
+
|
|
2228
|
+
/**
|
|
2229
|
+
* Flag indicating if connecting Discord is required.
|
|
2230
|
+
*/
|
|
2231
|
+
connectDiscord?: boolean | null;
|
|
2232
|
+
|
|
2233
|
+
/**
|
|
2234
|
+
* Flag indicating if connecting email is required.
|
|
2235
|
+
*/
|
|
2236
|
+
connectEmail?: boolean | null;
|
|
2237
|
+
|
|
2238
|
+
/**
|
|
2239
|
+
* Flag indicating if connecting Twitter is required.
|
|
2240
|
+
*/
|
|
2241
|
+
connectTwitter?: boolean | null;
|
|
2242
|
+
|
|
2243
|
+
points?: ReferralRequirements.Points | null;
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
export namespace ReferralRequirements {
|
|
2247
|
+
export interface Points {
|
|
2248
|
+
/**
|
|
2249
|
+
* Points required for referral.
|
|
2250
|
+
*/
|
|
2251
|
+
amount?: number | null;
|
|
2252
|
+
|
|
2253
|
+
/**
|
|
2254
|
+
* ID of the loyalty currency for referral.
|
|
2255
|
+
*/
|
|
2256
|
+
loyaltyCurrecyId?: string | null;
|
|
2257
|
+
}
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2260
|
+
/**
|
|
2261
|
+
* Object containing details of the associated smart contract.
|
|
2262
|
+
*/
|
|
2263
|
+
export interface SmartContract {
|
|
2264
|
+
/**
|
|
2265
|
+
* ABI of the smart contract.
|
|
2266
|
+
*/
|
|
2267
|
+
abi?: string | null;
|
|
2268
|
+
|
|
2269
|
+
/**
|
|
2270
|
+
* Mapping of addresses for the smart contract.
|
|
2271
|
+
*/
|
|
2272
|
+
addressMapping?: string | null;
|
|
2273
|
+
|
|
2274
|
+
/**
|
|
2275
|
+
* Array of bonus details applied to the rule.
|
|
2276
|
+
*/
|
|
2277
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
2278
|
+
|
|
2279
|
+
/**
|
|
2280
|
+
* ID of the smart contract.
|
|
2281
|
+
*/
|
|
2282
|
+
contractId?: string | null;
|
|
2283
|
+
|
|
2284
|
+
/**
|
|
2285
|
+
* Criteria to evaluate the smart contract event.
|
|
2286
|
+
*/
|
|
2287
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2288
|
+
|
|
2289
|
+
/**
|
|
2290
|
+
* Time range applied to the rule.
|
|
2291
|
+
*/
|
|
2292
|
+
customRange?: SmartContract.CustomRange | null;
|
|
2293
|
+
|
|
2294
|
+
/**
|
|
2295
|
+
* Event emitted by the smart contract.
|
|
2296
|
+
*/
|
|
2297
|
+
event?: string | null;
|
|
2298
|
+
|
|
2299
|
+
/**
|
|
2300
|
+
* Maximum value allowed for the parameter.
|
|
2301
|
+
*/
|
|
2302
|
+
max?: number | null;
|
|
2303
|
+
|
|
2304
|
+
/**
|
|
2305
|
+
* Array of parameters for the smart contract.
|
|
2306
|
+
*/
|
|
2307
|
+
params?: Array<SmartContract.Param> | null;
|
|
2308
|
+
|
|
2309
|
+
/**
|
|
2310
|
+
* Flag indicating if a bonus is applied.
|
|
2311
|
+
*/
|
|
2312
|
+
withBonus?: boolean | null;
|
|
2313
|
+
|
|
2314
|
+
/**
|
|
2315
|
+
* Flag indicating if a custom range is applied.
|
|
2316
|
+
*/
|
|
2317
|
+
withCustomRange?: boolean | null;
|
|
2318
|
+
|
|
2319
|
+
/**
|
|
2320
|
+
* Flag indicating if a maximum limit is applied.
|
|
2321
|
+
*/
|
|
2322
|
+
withMax?: boolean | null;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
export namespace SmartContract {
|
|
2326
|
+
export interface Bonus {
|
|
2327
|
+
/**
|
|
2328
|
+
* Amount of the bonus.
|
|
2329
|
+
*/
|
|
2330
|
+
amount?: number | null;
|
|
2331
|
+
|
|
2332
|
+
/**
|
|
2333
|
+
* Number of times the bonus is applied.
|
|
2334
|
+
*/
|
|
2335
|
+
count?: number | null;
|
|
2336
|
+
}
|
|
2337
|
+
|
|
2338
|
+
/**
|
|
2339
|
+
* Time range applied to the rule.
|
|
2340
|
+
*/
|
|
2341
|
+
export interface CustomRange {
|
|
2342
|
+
/**
|
|
2343
|
+
* End time of the custom range.
|
|
2344
|
+
*/
|
|
2345
|
+
endsAt?: string | null;
|
|
2346
|
+
|
|
2347
|
+
/**
|
|
2348
|
+
* Start time of the custom range.
|
|
2349
|
+
*/
|
|
2350
|
+
startsAt?: string | null;
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
export interface Param {
|
|
2354
|
+
/**
|
|
2355
|
+
* Condition to check for the parameter.
|
|
2356
|
+
*/
|
|
2357
|
+
condition?: string | null;
|
|
2358
|
+
|
|
2359
|
+
/**
|
|
2360
|
+
* Name of the smart contract parameter.
|
|
2361
|
+
*/
|
|
2362
|
+
name?: string | null;
|
|
2363
|
+
|
|
2364
|
+
/**
|
|
2365
|
+
* Value of the parameter.
|
|
2366
|
+
*/
|
|
2367
|
+
value?: string | null;
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
export interface SnapshotProposal {
|
|
2372
|
+
/**
|
|
2373
|
+
* ID of the snapshot proposal.
|
|
2374
|
+
*/
|
|
2375
|
+
id: string;
|
|
2376
|
+
|
|
2377
|
+
/**
|
|
2378
|
+
* Space associated with the snapshot proposal.
|
|
2379
|
+
*/
|
|
2380
|
+
space: string;
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2383
|
+
export interface StreakArray {
|
|
2384
|
+
/**
|
|
2385
|
+
* Reward amount for achieving the streak milestone.
|
|
2386
|
+
*/
|
|
2387
|
+
streakAmount: number;
|
|
2388
|
+
|
|
2389
|
+
/**
|
|
2390
|
+
* Milestone required to achieve the streak.
|
|
2391
|
+
*/
|
|
2392
|
+
streakMilestone: number;
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
394
2395
|
}
|
|
395
2396
|
|
|
396
2397
|
/**
|
|
@@ -472,10 +2473,677 @@ export namespace RuleEditRestoreResponse {
|
|
|
472
2473
|
*/
|
|
473
2474
|
collectionAddress?: string;
|
|
474
2475
|
|
|
2476
|
+
/**
|
|
2477
|
+
* URL of the media associated with the loyalty rule
|
|
2478
|
+
*/
|
|
2479
|
+
mediaUrl?: string | null;
|
|
2480
|
+
|
|
475
2481
|
/**
|
|
476
2482
|
* Optional metadata for the loyalty rule
|
|
477
2483
|
*/
|
|
478
|
-
metadata?: Record<string,
|
|
2484
|
+
metadata?: Record<string, PreviousData.Metadata>;
|
|
2485
|
+
}
|
|
2486
|
+
|
|
2487
|
+
export namespace PreviousData {
|
|
2488
|
+
export interface Metadata {
|
|
2489
|
+
/**
|
|
2490
|
+
* Text displayed on the action button.
|
|
2491
|
+
*/
|
|
2492
|
+
buttonText?: string | null;
|
|
2493
|
+
|
|
2494
|
+
/**
|
|
2495
|
+
* Flag indicating if commenting is required.
|
|
2496
|
+
*/
|
|
2497
|
+
checkComment?: boolean | null;
|
|
2498
|
+
|
|
2499
|
+
/**
|
|
2500
|
+
* Flag indicating if liking the post is required.
|
|
2501
|
+
*/
|
|
2502
|
+
checkLike?: boolean | null;
|
|
2503
|
+
|
|
2504
|
+
/**
|
|
2505
|
+
* Flag indicating if reposting is required.
|
|
2506
|
+
*/
|
|
2507
|
+
checkRepost?: boolean | null;
|
|
2508
|
+
|
|
2509
|
+
/**
|
|
2510
|
+
* Text to check in the Twitter post, username, or bio.
|
|
2511
|
+
*/
|
|
2512
|
+
checkText?: string | null;
|
|
2513
|
+
|
|
2514
|
+
/**
|
|
2515
|
+
* Array of collections associated with the rule.
|
|
2516
|
+
*/
|
|
2517
|
+
collection?: Array<Metadata.Collection>;
|
|
2518
|
+
|
|
2519
|
+
/**
|
|
2520
|
+
* Conditions for completing the profile.
|
|
2521
|
+
*/
|
|
2522
|
+
completeProfileConditions?: Record<string, boolean> | null;
|
|
2523
|
+
|
|
2524
|
+
/**
|
|
2525
|
+
* Object containing details for the call-to-action.
|
|
2526
|
+
*/
|
|
2527
|
+
cta?: Metadata.Cta | null;
|
|
2528
|
+
|
|
2529
|
+
/**
|
|
2530
|
+
* API key for custom rewards integration.
|
|
2531
|
+
*/
|
|
2532
|
+
customRewardsApiKey?: string;
|
|
2533
|
+
|
|
2534
|
+
/**
|
|
2535
|
+
* Array of Discord servers, channels, and roles to join.
|
|
2536
|
+
*/
|
|
2537
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
2538
|
+
|
|
2539
|
+
/**
|
|
2540
|
+
* Array of drip quests required to complete the rule.
|
|
2541
|
+
*/
|
|
2542
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
2543
|
+
|
|
2544
|
+
/**
|
|
2545
|
+
* Flag indicating whether joining Discord servers is required.
|
|
2546
|
+
*/
|
|
2547
|
+
enableJoinDiscordServers?: boolean | null;
|
|
2548
|
+
|
|
2549
|
+
/**
|
|
2550
|
+
* Flag indicating whether streaks are enabled.
|
|
2551
|
+
*/
|
|
2552
|
+
enableStreaks?: boolean | null;
|
|
2553
|
+
|
|
2554
|
+
/**
|
|
2555
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
2556
|
+
*/
|
|
2557
|
+
enableVerifiedMultiplier?: boolean;
|
|
2558
|
+
|
|
2559
|
+
/**
|
|
2560
|
+
* Fill source of the order for the token sale
|
|
2561
|
+
*/
|
|
2562
|
+
fillSource?: string;
|
|
2563
|
+
|
|
2564
|
+
/**
|
|
2565
|
+
* Percentage reward given to a user for their first referral.
|
|
2566
|
+
*/
|
|
2567
|
+
firstReferralReward?: number | null;
|
|
2568
|
+
|
|
2569
|
+
/**
|
|
2570
|
+
* Flag indicating whether the fill source is included.
|
|
2571
|
+
*/
|
|
2572
|
+
hasFillSource?: boolean;
|
|
2573
|
+
|
|
2574
|
+
/**
|
|
2575
|
+
* Indicates if the item has never been sold.
|
|
2576
|
+
*/
|
|
2577
|
+
hasNeverSold?: boolean;
|
|
2578
|
+
|
|
2579
|
+
/**
|
|
2580
|
+
* Flag indicating whether the order source is included.
|
|
2581
|
+
*/
|
|
2582
|
+
hasOrderSource?: boolean;
|
|
2583
|
+
|
|
2584
|
+
/**
|
|
2585
|
+
* Indicates if the full royalty has been paid for items.
|
|
2586
|
+
*/
|
|
2587
|
+
hasPaidFullRoyalty?: boolean;
|
|
2588
|
+
|
|
2589
|
+
/**
|
|
2590
|
+
* Flag indicating if the sale currency is included.
|
|
2591
|
+
*/
|
|
2592
|
+
hasSaleCurrency?: boolean;
|
|
2593
|
+
|
|
2594
|
+
/**
|
|
2595
|
+
* Indicates if the user has a verified Twitter account.
|
|
2596
|
+
*/
|
|
2597
|
+
hasVerifiedTwitter?: boolean;
|
|
2598
|
+
|
|
2599
|
+
/**
|
|
2600
|
+
* URL of the image associated with the rule.
|
|
2601
|
+
*/
|
|
2602
|
+
imageUrl?: string | null;
|
|
2603
|
+
|
|
2604
|
+
/**
|
|
2605
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
2606
|
+
*/
|
|
2607
|
+
isMultiplierApplied?: boolean;
|
|
2608
|
+
|
|
2609
|
+
/**
|
|
2610
|
+
* Flag indicating if rewards are applied retroactively.
|
|
2611
|
+
*/
|
|
2612
|
+
isRetroactive?: boolean | null;
|
|
2613
|
+
|
|
2614
|
+
/**
|
|
2615
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2616
|
+
*/
|
|
2617
|
+
isTokenHoldMultiplier?: boolean;
|
|
2618
|
+
|
|
2619
|
+
/**
|
|
2620
|
+
* Optional link associated with the metadata.
|
|
2621
|
+
*/
|
|
2622
|
+
link?: string | null;
|
|
2623
|
+
|
|
2624
|
+
/**
|
|
2625
|
+
* Maximum quantity constraint for token holding.
|
|
2626
|
+
*/
|
|
2627
|
+
maxQty?: number | null;
|
|
2628
|
+
|
|
2629
|
+
/**
|
|
2630
|
+
* Minimum quantity constraint for token holding.
|
|
2631
|
+
*/
|
|
2632
|
+
minQty?: number | null;
|
|
2633
|
+
|
|
2634
|
+
/**
|
|
2635
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2636
|
+
*/
|
|
2637
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2638
|
+
|
|
2639
|
+
/**
|
|
2640
|
+
* Flag indicating whether to include only known users.
|
|
2641
|
+
*/
|
|
2642
|
+
onlyKnownUsers?: boolean;
|
|
2643
|
+
|
|
2644
|
+
/**
|
|
2645
|
+
* Flag indicating whether to include only native tokens.
|
|
2646
|
+
*/
|
|
2647
|
+
onlyNative?: boolean;
|
|
2648
|
+
|
|
2649
|
+
/**
|
|
2650
|
+
* Flag indicating whether to include only non-listed items.
|
|
2651
|
+
*/
|
|
2652
|
+
onlyNonListed?: boolean;
|
|
2653
|
+
|
|
2654
|
+
/**
|
|
2655
|
+
* Indicates if only existing users are rewarded.
|
|
2656
|
+
*/
|
|
2657
|
+
onlyRewardExistingUser?: boolean;
|
|
2658
|
+
|
|
2659
|
+
/**
|
|
2660
|
+
* give points for only one token ownership per contract
|
|
2661
|
+
*/
|
|
2662
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2663
|
+
|
|
2664
|
+
/**
|
|
2665
|
+
* Order source of the order for the token sale
|
|
2666
|
+
*/
|
|
2667
|
+
orderSource?: string;
|
|
2668
|
+
|
|
2669
|
+
/**
|
|
2670
|
+
* Promotional code associated with the rule.
|
|
2671
|
+
*/
|
|
2672
|
+
promoCode?: string;
|
|
2673
|
+
|
|
2674
|
+
/**
|
|
2675
|
+
* Array defining ranges and corresponding rewards.
|
|
2676
|
+
*/
|
|
2677
|
+
range?: Array<Metadata.Range>;
|
|
2678
|
+
|
|
2679
|
+
/**
|
|
2680
|
+
* Object defining referral requirements.
|
|
2681
|
+
*/
|
|
2682
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2683
|
+
|
|
2684
|
+
/**
|
|
2685
|
+
* Lump sum reward given to a referrer.
|
|
2686
|
+
*/
|
|
2687
|
+
referrerReward?: number | null;
|
|
2688
|
+
|
|
2689
|
+
/**
|
|
2690
|
+
* Flag indicating if rewards are given per impression.
|
|
2691
|
+
*/
|
|
2692
|
+
rewardPerImpression?: boolean | null;
|
|
2693
|
+
|
|
2694
|
+
/**
|
|
2695
|
+
* Currency associated with sales.
|
|
2696
|
+
*/
|
|
2697
|
+
saleCurrency?: string;
|
|
2698
|
+
|
|
2699
|
+
/**
|
|
2700
|
+
* Percentage reward given for a second-level referral.
|
|
2701
|
+
*/
|
|
2702
|
+
secondReferralReward?: number | null;
|
|
2703
|
+
|
|
2704
|
+
/**
|
|
2705
|
+
* Flag indicating if the multiplier is skipped.
|
|
2706
|
+
*/
|
|
2707
|
+
skipMultiplier?: boolean | null;
|
|
2708
|
+
|
|
2709
|
+
/**
|
|
2710
|
+
* Object containing details of the associated smart contract.
|
|
2711
|
+
*/
|
|
2712
|
+
smartContract?: Metadata.SmartContract;
|
|
2713
|
+
|
|
2714
|
+
/**
|
|
2715
|
+
* Array of snapshot proposals for the rule.
|
|
2716
|
+
*/
|
|
2717
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2718
|
+
|
|
2719
|
+
/**
|
|
2720
|
+
* Social media platform associated with the rule.
|
|
2721
|
+
*/
|
|
2722
|
+
socialPlatform?:
|
|
2723
|
+
| 'Custom'
|
|
2724
|
+
| 'Discord'
|
|
2725
|
+
| 'EpicGames'
|
|
2726
|
+
| 'Instagram'
|
|
2727
|
+
| 'Steam'
|
|
2728
|
+
| 'Telegram'
|
|
2729
|
+
| 'TikTok'
|
|
2730
|
+
| 'Twitch'
|
|
2731
|
+
| 'X(Twitter)'
|
|
2732
|
+
| 'YouTube'
|
|
2733
|
+
| null;
|
|
2734
|
+
|
|
2735
|
+
/**
|
|
2736
|
+
* URL of the social platform's logo.
|
|
2737
|
+
*/
|
|
2738
|
+
socialPlatformLogo?: string | null;
|
|
2739
|
+
|
|
2740
|
+
/**
|
|
2741
|
+
* Name of the social platform.
|
|
2742
|
+
*/
|
|
2743
|
+
socialPlatformName?: string | null;
|
|
2744
|
+
|
|
2745
|
+
/**
|
|
2746
|
+
* ID of the Steam app.
|
|
2747
|
+
*/
|
|
2748
|
+
steamAppId?: string | null;
|
|
2749
|
+
|
|
2750
|
+
/**
|
|
2751
|
+
* Array of streak milestones and corresponding rewards.
|
|
2752
|
+
*/
|
|
2753
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2754
|
+
|
|
2755
|
+
/**
|
|
2756
|
+
* ID of the Telegram channel.
|
|
2757
|
+
*/
|
|
2758
|
+
telegramChannelId?: string | null;
|
|
2759
|
+
|
|
2760
|
+
/**
|
|
2761
|
+
* Time delay in seconds to verify actions.
|
|
2762
|
+
*/
|
|
2763
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2764
|
+
|
|
2765
|
+
/**
|
|
2766
|
+
* Flag indicating if all contracts are tracked.
|
|
2767
|
+
*/
|
|
2768
|
+
trackAllContracts?: boolean | null;
|
|
2769
|
+
|
|
2770
|
+
/**
|
|
2771
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2772
|
+
* completed once the progress is 100%.
|
|
2773
|
+
*/
|
|
2774
|
+
trackProgress?: boolean | null;
|
|
2775
|
+
|
|
2776
|
+
/**
|
|
2777
|
+
* URL of the associated Twitter account.
|
|
2778
|
+
*/
|
|
2779
|
+
twitterAccountUrl?: string;
|
|
2780
|
+
|
|
2781
|
+
/**
|
|
2782
|
+
* Hashtag associated with the Twitter post.
|
|
2783
|
+
*/
|
|
2784
|
+
twitterHashtag?: string;
|
|
2785
|
+
|
|
2786
|
+
/**
|
|
2787
|
+
* URL of the associated Twitter post.
|
|
2788
|
+
*/
|
|
2789
|
+
twitterPostUrl?: string;
|
|
2790
|
+
|
|
2791
|
+
/**
|
|
2792
|
+
* Unique identifier of the Twitter user.
|
|
2793
|
+
*/
|
|
2794
|
+
twitterUserId?: string;
|
|
2795
|
+
|
|
2796
|
+
/**
|
|
2797
|
+
* Twitter username of the user.
|
|
2798
|
+
*/
|
|
2799
|
+
twitterUsername?: string;
|
|
2800
|
+
|
|
2801
|
+
/**
|
|
2802
|
+
* Minimum length of the verification text.
|
|
2803
|
+
*/
|
|
2804
|
+
verificationTextMinimumLength?: number | null;
|
|
2805
|
+
|
|
2806
|
+
/**
|
|
2807
|
+
* Multiplier applied to rewards for verified users.
|
|
2808
|
+
*/
|
|
2809
|
+
verifiedMultiplier?: number | null;
|
|
2810
|
+
|
|
2811
|
+
/**
|
|
2812
|
+
* Placeholder text for verification input fields.
|
|
2813
|
+
*/
|
|
2814
|
+
verifyPlaceHolderText?: string | null;
|
|
2815
|
+
|
|
2816
|
+
/**
|
|
2817
|
+
* Type of wallet associated with the rule.
|
|
2818
|
+
*/
|
|
2819
|
+
walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
export namespace Metadata {
|
|
2823
|
+
export interface Collection {
|
|
2824
|
+
/**
|
|
2825
|
+
* Blockchain address of the collection.
|
|
2826
|
+
*/
|
|
2827
|
+
address?: string;
|
|
2828
|
+
|
|
2829
|
+
/**
|
|
2830
|
+
* Multiplier applied to the rewards for this collection.
|
|
2831
|
+
*/
|
|
2832
|
+
multiplier?: number;
|
|
2833
|
+
|
|
2834
|
+
/**
|
|
2835
|
+
* Blockchain network of the collection.
|
|
2836
|
+
*/
|
|
2837
|
+
network?:
|
|
2838
|
+
| 'abstract'
|
|
2839
|
+
| 'abstractTestnet'
|
|
2840
|
+
| 'apechain'
|
|
2841
|
+
| 'arbitrum'
|
|
2842
|
+
| 'avalanche'
|
|
2843
|
+
| 'avalancheFuji'
|
|
2844
|
+
| 'base'
|
|
2845
|
+
| 'baseSepolia'
|
|
2846
|
+
| 'berachainArtio'
|
|
2847
|
+
| 'binance'
|
|
2848
|
+
| 'bscTestnet'
|
|
2849
|
+
| 'campTestnet'
|
|
2850
|
+
| 'fantom'
|
|
2851
|
+
| 'fantomTestnet'
|
|
2852
|
+
| 'flowMainnet'
|
|
2853
|
+
| 'mainnet'
|
|
2854
|
+
| 'optimism'
|
|
2855
|
+
| 'polygon'
|
|
2856
|
+
| 'polygon_mumbai'
|
|
2857
|
+
| 'skaleNebula'
|
|
2858
|
+
| 'solana'
|
|
2859
|
+
| 'sophon'
|
|
2860
|
+
| 'sui'
|
|
2861
|
+
| 'superseed'
|
|
2862
|
+
| 'superseedSepolia'
|
|
2863
|
+
| 'vanar'
|
|
2864
|
+
| 'xai'
|
|
2865
|
+
| 'zksync'
|
|
2866
|
+
| 'sepolia'
|
|
2867
|
+
| 'optimism_sepolia'
|
|
2868
|
+
| 'arbitrumSepolia'
|
|
2869
|
+
| 'goerli'
|
|
2870
|
+
| 'optimism_goerli'
|
|
2871
|
+
| 'arbitrumGoerli'
|
|
2872
|
+
| 'basecamp';
|
|
2873
|
+
}
|
|
2874
|
+
|
|
2875
|
+
/**
|
|
2876
|
+
* Object containing details for the call-to-action.
|
|
2877
|
+
*/
|
|
2878
|
+
export interface Cta {
|
|
2879
|
+
/**
|
|
2880
|
+
* Link for the call-to-action.
|
|
2881
|
+
*/
|
|
2882
|
+
href?: string | null;
|
|
2883
|
+
|
|
2884
|
+
/**
|
|
2885
|
+
* Label for the call-to-action.
|
|
2886
|
+
*/
|
|
2887
|
+
label?: string | null;
|
|
2888
|
+
}
|
|
2889
|
+
|
|
2890
|
+
export interface DiscordServersToJoin {
|
|
2891
|
+
/**
|
|
2892
|
+
* ID of the Discord server to join.
|
|
2893
|
+
*/
|
|
2894
|
+
id?: string;
|
|
2895
|
+
|
|
2896
|
+
/**
|
|
2897
|
+
* Array of Discord channels to join.
|
|
2898
|
+
*/
|
|
2899
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2900
|
+
|
|
2901
|
+
/**
|
|
2902
|
+
* Array of roles to assign in the Discord server.
|
|
2903
|
+
*/
|
|
2904
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2905
|
+
}
|
|
2906
|
+
|
|
2907
|
+
export namespace DiscordServersToJoin {
|
|
2908
|
+
export interface Channel {
|
|
2909
|
+
/**
|
|
2910
|
+
* ID of the Discord channel.
|
|
2911
|
+
*/
|
|
2912
|
+
id?: string;
|
|
2913
|
+
|
|
2914
|
+
/**
|
|
2915
|
+
* Array of emojis used in the channel.
|
|
2916
|
+
*/
|
|
2917
|
+
emojis?: Array<Channel.Emoji>;
|
|
2918
|
+
|
|
2919
|
+
/**
|
|
2920
|
+
* Phrase of text to be present in the discord message
|
|
2921
|
+
*/
|
|
2922
|
+
text?: string;
|
|
2923
|
+
}
|
|
2924
|
+
|
|
2925
|
+
export namespace Channel {
|
|
2926
|
+
export interface Emoji {
|
|
2927
|
+
/**
|
|
2928
|
+
* ID of the emoji used in the channel.
|
|
2929
|
+
*/
|
|
2930
|
+
id?: string;
|
|
2931
|
+
}
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2934
|
+
export interface Role {
|
|
2935
|
+
/**
|
|
2936
|
+
* ID of the role in the Discord server.
|
|
2937
|
+
*/
|
|
2938
|
+
id: string;
|
|
2939
|
+
}
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2942
|
+
export interface DripQuestsToComplete {
|
|
2943
|
+
/**
|
|
2944
|
+
* ID of the drip quest to complete.
|
|
2945
|
+
*/
|
|
2946
|
+
id: string;
|
|
2947
|
+
}
|
|
2948
|
+
|
|
2949
|
+
export interface Range {
|
|
2950
|
+
/**
|
|
2951
|
+
* Reward amount for this range.
|
|
2952
|
+
*/
|
|
2953
|
+
amount: number;
|
|
2954
|
+
|
|
2955
|
+
/**
|
|
2956
|
+
* End value of the range.
|
|
2957
|
+
*/
|
|
2958
|
+
endRange: number;
|
|
2959
|
+
|
|
2960
|
+
/**
|
|
2961
|
+
* Start value of the range.
|
|
2962
|
+
*/
|
|
2963
|
+
startRange: number;
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
/**
|
|
2967
|
+
* Object defining referral requirements.
|
|
2968
|
+
*/
|
|
2969
|
+
export interface ReferralRequirements {
|
|
2970
|
+
/**
|
|
2971
|
+
* Flag indicating if achieving points is required.
|
|
2972
|
+
*/
|
|
2973
|
+
achievePoints?: boolean | null;
|
|
2974
|
+
|
|
2975
|
+
/**
|
|
2976
|
+
* Flag indicating if completing the profile is required.
|
|
2977
|
+
*/
|
|
2978
|
+
completeProfile?: boolean | null;
|
|
2979
|
+
|
|
2980
|
+
/**
|
|
2981
|
+
* Flag indicating if connecting Discord is required.
|
|
2982
|
+
*/
|
|
2983
|
+
connectDiscord?: boolean | null;
|
|
2984
|
+
|
|
2985
|
+
/**
|
|
2986
|
+
* Flag indicating if connecting email is required.
|
|
2987
|
+
*/
|
|
2988
|
+
connectEmail?: boolean | null;
|
|
2989
|
+
|
|
2990
|
+
/**
|
|
2991
|
+
* Flag indicating if connecting Twitter is required.
|
|
2992
|
+
*/
|
|
2993
|
+
connectTwitter?: boolean | null;
|
|
2994
|
+
|
|
2995
|
+
points?: ReferralRequirements.Points | null;
|
|
2996
|
+
}
|
|
2997
|
+
|
|
2998
|
+
export namespace ReferralRequirements {
|
|
2999
|
+
export interface Points {
|
|
3000
|
+
/**
|
|
3001
|
+
* Points required for referral.
|
|
3002
|
+
*/
|
|
3003
|
+
amount?: number | null;
|
|
3004
|
+
|
|
3005
|
+
/**
|
|
3006
|
+
* ID of the loyalty currency for referral.
|
|
3007
|
+
*/
|
|
3008
|
+
loyaltyCurrecyId?: string | null;
|
|
3009
|
+
}
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
/**
|
|
3013
|
+
* Object containing details of the associated smart contract.
|
|
3014
|
+
*/
|
|
3015
|
+
export interface SmartContract {
|
|
3016
|
+
/**
|
|
3017
|
+
* ABI of the smart contract.
|
|
3018
|
+
*/
|
|
3019
|
+
abi?: string | null;
|
|
3020
|
+
|
|
3021
|
+
/**
|
|
3022
|
+
* Mapping of addresses for the smart contract.
|
|
3023
|
+
*/
|
|
3024
|
+
addressMapping?: string | null;
|
|
3025
|
+
|
|
3026
|
+
/**
|
|
3027
|
+
* Array of bonus details applied to the rule.
|
|
3028
|
+
*/
|
|
3029
|
+
bonus?: Array<SmartContract.Bonus> | null;
|
|
3030
|
+
|
|
3031
|
+
/**
|
|
3032
|
+
* ID of the smart contract.
|
|
3033
|
+
*/
|
|
3034
|
+
contractId?: string | null;
|
|
3035
|
+
|
|
3036
|
+
/**
|
|
3037
|
+
* Criteria to evaluate the smart contract event.
|
|
3038
|
+
*/
|
|
3039
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* Time range applied to the rule.
|
|
3043
|
+
*/
|
|
3044
|
+
customRange?: SmartContract.CustomRange | null;
|
|
3045
|
+
|
|
3046
|
+
/**
|
|
3047
|
+
* Event emitted by the smart contract.
|
|
3048
|
+
*/
|
|
3049
|
+
event?: string | null;
|
|
3050
|
+
|
|
3051
|
+
/**
|
|
3052
|
+
* Maximum value allowed for the parameter.
|
|
3053
|
+
*/
|
|
3054
|
+
max?: number | null;
|
|
3055
|
+
|
|
3056
|
+
/**
|
|
3057
|
+
* Array of parameters for the smart contract.
|
|
3058
|
+
*/
|
|
3059
|
+
params?: Array<SmartContract.Param> | null;
|
|
3060
|
+
|
|
3061
|
+
/**
|
|
3062
|
+
* Flag indicating if a bonus is applied.
|
|
3063
|
+
*/
|
|
3064
|
+
withBonus?: boolean | null;
|
|
3065
|
+
|
|
3066
|
+
/**
|
|
3067
|
+
* Flag indicating if a custom range is applied.
|
|
3068
|
+
*/
|
|
3069
|
+
withCustomRange?: boolean | null;
|
|
3070
|
+
|
|
3071
|
+
/**
|
|
3072
|
+
* Flag indicating if a maximum limit is applied.
|
|
3073
|
+
*/
|
|
3074
|
+
withMax?: boolean | null;
|
|
3075
|
+
}
|
|
3076
|
+
|
|
3077
|
+
export namespace SmartContract {
|
|
3078
|
+
export interface Bonus {
|
|
3079
|
+
/**
|
|
3080
|
+
* Amount of the bonus.
|
|
3081
|
+
*/
|
|
3082
|
+
amount?: number | null;
|
|
3083
|
+
|
|
3084
|
+
/**
|
|
3085
|
+
* Number of times the bonus is applied.
|
|
3086
|
+
*/
|
|
3087
|
+
count?: number | null;
|
|
3088
|
+
}
|
|
3089
|
+
|
|
3090
|
+
/**
|
|
3091
|
+
* Time range applied to the rule.
|
|
3092
|
+
*/
|
|
3093
|
+
export interface CustomRange {
|
|
3094
|
+
/**
|
|
3095
|
+
* End time of the custom range.
|
|
3096
|
+
*/
|
|
3097
|
+
endsAt?: string | null;
|
|
3098
|
+
|
|
3099
|
+
/**
|
|
3100
|
+
* Start time of the custom range.
|
|
3101
|
+
*/
|
|
3102
|
+
startsAt?: string | null;
|
|
3103
|
+
}
|
|
3104
|
+
|
|
3105
|
+
export interface Param {
|
|
3106
|
+
/**
|
|
3107
|
+
* Condition to check for the parameter.
|
|
3108
|
+
*/
|
|
3109
|
+
condition?: string | null;
|
|
3110
|
+
|
|
3111
|
+
/**
|
|
3112
|
+
* Name of the smart contract parameter.
|
|
3113
|
+
*/
|
|
3114
|
+
name?: string | null;
|
|
3115
|
+
|
|
3116
|
+
/**
|
|
3117
|
+
* Value of the parameter.
|
|
3118
|
+
*/
|
|
3119
|
+
value?: string | null;
|
|
3120
|
+
}
|
|
3121
|
+
}
|
|
3122
|
+
|
|
3123
|
+
export interface SnapshotProposal {
|
|
3124
|
+
/**
|
|
3125
|
+
* ID of the snapshot proposal.
|
|
3126
|
+
*/
|
|
3127
|
+
id: string;
|
|
3128
|
+
|
|
3129
|
+
/**
|
|
3130
|
+
* Space associated with the snapshot proposal.
|
|
3131
|
+
*/
|
|
3132
|
+
space: string;
|
|
3133
|
+
}
|
|
3134
|
+
|
|
3135
|
+
export interface StreakArray {
|
|
3136
|
+
/**
|
|
3137
|
+
* Reward amount for achieving the streak milestone.
|
|
3138
|
+
*/
|
|
3139
|
+
streakAmount: number;
|
|
3140
|
+
|
|
3141
|
+
/**
|
|
3142
|
+
* Milestone required to achieve the streak.
|
|
3143
|
+
*/
|
|
3144
|
+
streakMilestone: number;
|
|
3145
|
+
}
|
|
3146
|
+
}
|
|
479
3147
|
}
|
|
480
3148
|
}
|
|
481
3149
|
|