@merkl/api 0.17.21 → 0.17.23
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/dist/database/api/.generated/drizzle/schema.d.ts +46 -0
- package/dist/database/api/.generated/drizzle/schema.js +5 -1
- package/dist/database/api/.generated/drizzle/schema.ts +8 -1
- package/dist/database/api/.generated/edge.js +26 -4
- package/dist/database/api/.generated/index-browser.js +7 -1
- package/dist/database/api/.generated/index.d.ts +149 -2
- package/dist/database/api/.generated/index.js +26 -4
- package/dist/database/api/.generated/package.json +1 -1
- package/dist/database/api/.generated/schema.prisma +29 -8
- package/dist/database/api/.generated/wasm.js +7 -1
- package/dist/src/eden/index.d.ts +241 -10
- package/dist/src/index.d.ts +53 -2
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +40 -1
- package/dist/src/modules/v4/campaign/campaign.controller.js +16 -1
- package/dist/src/modules/v4/campaign/campaign.model.d.ts +14 -1
- package/dist/src/modules/v4/campaign/campaign.model.js +11 -1
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +64 -32
- package/dist/src/modules/v4/campaign/campaign.repository.js +84 -122
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +61 -19
- package/dist/src/modules/v4/campaign/campaign.service.js +51 -63
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.converter.js +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +5 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +3 -0
- package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +100 -1
- package/dist/src/modules/v4/programPayload/programPayload.repository.js +146 -1
- package/dist/src/modules/v4/protocol/protocol.repository.d.ts +1 -0
- package/dist/src/modules/v4/router.d.ts +53 -2
- package/dist/src/modules/v4/status/status.service.js +1 -1
- package/dist/src/modules/v4/token/token.controller.d.ts +12 -1
- package/dist/src/modules/v4/token/token.controller.js +2 -2
- package/dist/src/modules/v4/token/token.service.d.ts +13 -1
- package/dist/src/modules/v4/token/token.service.js +1 -3
- package/dist/src/utils/error.d.ts +6 -0
- package/dist/src/utils/error.js +12 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -513,6 +513,7 @@ export declare abstract class OpportunityService {
|
|
513
513
|
rewardTokenId: string;
|
514
514
|
amount: string;
|
515
515
|
opportunityId: string;
|
516
|
+
manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
516
517
|
}[] | undefined;
|
517
518
|
id: string;
|
518
519
|
depositUrl: string | undefined;
|
@@ -659,6 +660,7 @@ export declare abstract class OpportunityService {
|
|
659
660
|
rewardTokenId: string;
|
660
661
|
amount: string;
|
661
662
|
opportunityId: string;
|
663
|
+
manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
662
664
|
}[] | undefined;
|
663
665
|
id: string;
|
664
666
|
depositUrl: string | undefined;
|
@@ -801,6 +803,7 @@ export declare abstract class OpportunityService {
|
|
801
803
|
rewardTokenId: string;
|
802
804
|
amount: string;
|
803
805
|
opportunityId: string;
|
806
|
+
manualOverrides: import("../../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
804
807
|
}[] | undefined;
|
805
808
|
id: string;
|
806
809
|
depositUrl: string | undefined;
|
@@ -25,9 +25,13 @@ export declare enum etherlinkCampaigns {
|
|
25
25
|
Superlend_Supply_WXTZ_Etherlink = "Superlend Supply WXTZ Etherlink 0x008ae222661B6A42e3A097bd7AAC15412829106b",
|
26
26
|
Iguana_WETH_WXTZ = "Iguana WETH/WXTZ Etherlink 0x478F067b0Ed73d120BBcd8c6f4f33438FC483912",
|
27
27
|
Iguana_USDC_USDT = "Iguana USDC/USDT Etherlink 0x86456e2E2A203Da82E61ed34eF4137Fbe545f0DC",
|
28
|
+
Iguana_XTZ_USDC = "Iguana XTZ/USDT Etherlink 0x508060A01f11d6a2Eb774B55aEba95931265E0cc",
|
28
29
|
Hanji_HJLP = "Hanji HJLP Etherlink 0x1cd88fBD530281Ad6c639E2B897c4E239003A930",
|
29
30
|
Uranium_Hold_xU308_Etherlink = "Uranium Hold xU308 Etherlink 0x79052Ab3C166D4899a1e0DD033aC3b379AF0B1fD",
|
30
|
-
referral_test = "referral test Etherlink 0x0"
|
31
|
+
referral_test = "referral test Etherlink 0x0",
|
32
|
+
Hanji_XTZ_USDC = "Hanji XTZ/USDC Etherlink 0xd0bc067cf877f7b76ceb331891331d9e6acda1a7",
|
33
|
+
Hanji_WETH_USDC = "Hanji WETH/USDC Etherlink 0x65ea4dd7f789c71c0f57ed84b3bdc3062898d3cb",
|
34
|
+
Hanji_WBTC_USDC = "Hanji WBTC/USDC Etherlink 0xbb6b01d94e3f6ebae8647cb56d544f57928ab758"
|
31
35
|
}
|
32
36
|
export declare enum swapxCampaigns {
|
33
37
|
Swapx_SWPx_USDCe_Swapx = "Swapx SWPx/USDC.e Swapx 0x467865E7Ce29E7ED8f362D51Fd7141117B234b44",
|
@@ -527,6 +531,20 @@ declare const EtherlinkInterfaceCampaigns: {
|
|
527
531
|
weightToken0: number;
|
528
532
|
weightToken1: number;
|
529
533
|
};
|
534
|
+
"Iguana XTZ/USDT Etherlink 0x508060A01f11d6a2Eb774B55aEba95931265E0cc": {
|
535
|
+
campaignType: any;
|
536
|
+
computeChainId: any;
|
537
|
+
hooks: never[];
|
538
|
+
poolAddress: string;
|
539
|
+
whitelist: never[];
|
540
|
+
blacklist: never[];
|
541
|
+
url: string;
|
542
|
+
forwarders: never[];
|
543
|
+
isOutOfRangeIncentivized: boolean;
|
544
|
+
weightFees: number;
|
545
|
+
weightToken0: number;
|
546
|
+
weightToken1: number;
|
547
|
+
};
|
530
548
|
"referral test Etherlink 0x0": {
|
531
549
|
campaignType: any;
|
532
550
|
computeChainId: any;
|
@@ -551,6 +569,87 @@ declare const EtherlinkInterfaceCampaigns: {
|
|
551
569
|
url: string;
|
552
570
|
forwarders: never[];
|
553
571
|
};
|
572
|
+
"Hanji XTZ/USDC Etherlink 0xd0bc067cf877f7b76ceb331891331d9e6acda1a7": {
|
573
|
+
campaignType: any;
|
574
|
+
contract: string;
|
575
|
+
eventID: string;
|
576
|
+
topicToData: {
|
577
|
+
topicIndex: number;
|
578
|
+
decodeKeyTopic: string;
|
579
|
+
dataIndex: number;
|
580
|
+
multiplier: string;
|
581
|
+
}[];
|
582
|
+
computeScoreParameters: {
|
583
|
+
computeMethod: any;
|
584
|
+
computeSettings: {
|
585
|
+
maxRewards: string;
|
586
|
+
};
|
587
|
+
};
|
588
|
+
decodeDataValue: string[];
|
589
|
+
expectedChecks: {
|
590
|
+
index: number;
|
591
|
+
key: string;
|
592
|
+
expectedValue: string;
|
593
|
+
}[];
|
594
|
+
whitelist: never[];
|
595
|
+
blacklist: never[];
|
596
|
+
forwarders: never[];
|
597
|
+
hooks: never[];
|
598
|
+
};
|
599
|
+
"Hanji WETH/USDC Etherlink 0x65ea4dd7f789c71c0f57ed84b3bdc3062898d3cb": {
|
600
|
+
campaignType: any;
|
601
|
+
contract: string;
|
602
|
+
eventID: string;
|
603
|
+
topicToData: {
|
604
|
+
topicIndex: number;
|
605
|
+
decodeKeyTopic: string;
|
606
|
+
dataIndex: number;
|
607
|
+
multiplier: string;
|
608
|
+
}[];
|
609
|
+
computeScoreParameters: {
|
610
|
+
computeMethod: any;
|
611
|
+
computeSettings: {
|
612
|
+
maxRewards: string;
|
613
|
+
};
|
614
|
+
};
|
615
|
+
decodeDataValue: string[];
|
616
|
+
expectedChecks: {
|
617
|
+
index: number;
|
618
|
+
key: string;
|
619
|
+
expectedValue: string;
|
620
|
+
}[];
|
621
|
+
whitelist: never[];
|
622
|
+
blacklist: never[];
|
623
|
+
forwarders: never[];
|
624
|
+
hooks: never[];
|
625
|
+
};
|
626
|
+
"Hanji WBTC/USDC Etherlink 0xbb6b01d94e3f6ebae8647cb56d544f57928ab758": {
|
627
|
+
campaignType: any;
|
628
|
+
contract: string;
|
629
|
+
eventID: string;
|
630
|
+
topicToData: {
|
631
|
+
topicIndex: number;
|
632
|
+
decodeKeyTopic: string;
|
633
|
+
dataIndex: number;
|
634
|
+
multiplier: string;
|
635
|
+
}[];
|
636
|
+
computeScoreParameters: {
|
637
|
+
computeMethod: any;
|
638
|
+
computeSettings: {
|
639
|
+
maxRewards: string;
|
640
|
+
};
|
641
|
+
};
|
642
|
+
decodeDataValue: string[];
|
643
|
+
expectedChecks: {
|
644
|
+
index: number;
|
645
|
+
key: string;
|
646
|
+
expectedValue: string;
|
647
|
+
}[];
|
648
|
+
whitelist: never[];
|
649
|
+
blacklist: never[];
|
650
|
+
forwarders: never[];
|
651
|
+
hooks: never[];
|
652
|
+
};
|
554
653
|
};
|
555
654
|
declare const SwapxInterfaceCampaigns: {
|
556
655
|
[key in swapxCampaigns]: partialConfig;
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import { BalanceCallType, Campaign, ChainId, CompFork, CompoundSubCampaignType, Forwarder, HOOK, MorphoSubCampaignType, StandardType, boostingFunction, boostingReferralFunction, contractStateBoost, defaultBoost, defaultReferralBoost, selectionRaffleMethod, } from "@sdk";
|
1
|
+
import { BalanceCallType, Campaign, ChainId, CompFork, CompoundSubCampaignType, ComputeScoreMethod, Forwarder, HOOK, MorphoSubCampaignType, StandardType, boostingFunction, boostingReferralFunction, contractStateBoost, defaultBoost, defaultReferralBoost, selectionRaffleMethod, } from "@sdk";
|
2
|
+
import { id } from "ethers/lib/utils";
|
2
3
|
export var program;
|
3
4
|
(function (program) {
|
4
5
|
program["Puffer"] = "Puffer";
|
@@ -30,9 +31,13 @@ export var etherlinkCampaigns;
|
|
30
31
|
etherlinkCampaigns["Superlend_Supply_WXTZ_Etherlink"] = "Superlend Supply WXTZ Etherlink 0x008ae222661B6A42e3A097bd7AAC15412829106b";
|
31
32
|
etherlinkCampaigns["Iguana_WETH_WXTZ"] = "Iguana WETH/WXTZ Etherlink 0x478F067b0Ed73d120BBcd8c6f4f33438FC483912";
|
32
33
|
etherlinkCampaigns["Iguana_USDC_USDT"] = "Iguana USDC/USDT Etherlink 0x86456e2E2A203Da82E61ed34eF4137Fbe545f0DC";
|
34
|
+
etherlinkCampaigns["Iguana_XTZ_USDC"] = "Iguana XTZ/USDT Etherlink 0x508060A01f11d6a2Eb774B55aEba95931265E0cc";
|
33
35
|
etherlinkCampaigns["Hanji_HJLP"] = "Hanji HJLP Etherlink 0x1cd88fBD530281Ad6c639E2B897c4E239003A930";
|
34
36
|
etherlinkCampaigns["Uranium_Hold_xU308_Etherlink"] = "Uranium Hold xU308 Etherlink 0x79052Ab3C166D4899a1e0DD033aC3b379AF0B1fD";
|
35
37
|
etherlinkCampaigns["referral_test"] = "referral test Etherlink 0x0";
|
38
|
+
etherlinkCampaigns["Hanji_XTZ_USDC"] = "Hanji XTZ/USDC Etherlink 0xd0bc067cf877f7b76ceb331891331d9e6acda1a7";
|
39
|
+
etherlinkCampaigns["Hanji_WETH_USDC"] = "Hanji WETH/USDC Etherlink 0x65ea4dd7f789c71c0f57ed84b3bdc3062898d3cb";
|
40
|
+
etherlinkCampaigns["Hanji_WBTC_USDC"] = "Hanji WBTC/USDC Etherlink 0xbb6b01d94e3f6ebae8647cb56d544f57928ab758";
|
36
41
|
})(etherlinkCampaigns || (etherlinkCampaigns = {}));
|
37
42
|
export var swapxCampaigns;
|
38
43
|
(function (swapxCampaigns) {
|
@@ -569,6 +574,20 @@ const EtherlinkInterfaceCampaigns = {
|
|
569
574
|
weightToken0: 4000,
|
570
575
|
weightToken1: 4000,
|
571
576
|
},
|
577
|
+
[etherlinkCampaigns.Iguana_XTZ_USDC]: {
|
578
|
+
campaignType: Campaign.CLAMM,
|
579
|
+
computeChainId: ChainId.ETHERLINK,
|
580
|
+
hooks: [],
|
581
|
+
poolAddress: "0x508060A01f11d6a2Eb774B55aEba95931265E0cc",
|
582
|
+
whitelist: [],
|
583
|
+
blacklist: [],
|
584
|
+
url: "https://www.iguanadex.com/info/v3/pairs/0x508060A01f11d6a2Eb774B55aEba95931265E0cc?chain=etherlink",
|
585
|
+
forwarders: [],
|
586
|
+
isOutOfRangeIncentivized: false,
|
587
|
+
weightFees: 2000,
|
588
|
+
weightToken0: 4000,
|
589
|
+
weightToken1: 4000,
|
590
|
+
},
|
572
591
|
[etherlinkCampaigns.referral_test]: {
|
573
592
|
campaignType: Campaign.ERC20,
|
574
593
|
computeChainId: ChainId.ETHERLINK,
|
@@ -595,6 +614,132 @@ const EtherlinkInterfaceCampaigns = {
|
|
595
614
|
url: "",
|
596
615
|
forwarders: [],
|
597
616
|
},
|
617
|
+
[etherlinkCampaigns.Hanji_XTZ_USDC]: {
|
618
|
+
campaignType: Campaign.EVENT_BASED,
|
619
|
+
contract: "0xd0bc067cf877f7b76ceb331891331d9e6acda1a7",
|
620
|
+
eventID: id("OrderPlaced(address,uint64,bool,uint128,uint72,uint128,uint128,uint128,uint128,uint128,bool,bool)"),
|
621
|
+
topicToData: [
|
622
|
+
{ topicIndex: 1, decodeKeyTopic: "address", dataIndex: 1, multiplier: (3n * 10n ** (7n + 12n)).toString() },
|
623
|
+
],
|
624
|
+
computeScoreParameters: {
|
625
|
+
computeMethod: ComputeScoreMethod.cappedScorePercentageHistorical,
|
626
|
+
computeSettings: {
|
627
|
+
maxRewards: (10n ** 8n).toString(),
|
628
|
+
},
|
629
|
+
},
|
630
|
+
decodeDataValue: [
|
631
|
+
"uint64",
|
632
|
+
"uint128",
|
633
|
+
"uint72",
|
634
|
+
"uint128",
|
635
|
+
"uint128",
|
636
|
+
"uint128",
|
637
|
+
"uint128",
|
638
|
+
"uint128",
|
639
|
+
"bool",
|
640
|
+
"bool",
|
641
|
+
],
|
642
|
+
expectedChecks: [
|
643
|
+
{
|
644
|
+
index: 8,
|
645
|
+
key: "data",
|
646
|
+
expectedValue: "true",
|
647
|
+
},
|
648
|
+
{
|
649
|
+
index: 9,
|
650
|
+
key: "data",
|
651
|
+
expectedValue: "false",
|
652
|
+
},
|
653
|
+
],
|
654
|
+
whitelist: [],
|
655
|
+
blacklist: [],
|
656
|
+
forwarders: [],
|
657
|
+
hooks: [],
|
658
|
+
},
|
659
|
+
[etherlinkCampaigns.Hanji_WETH_USDC]: {
|
660
|
+
campaignType: Campaign.EVENT_BASED,
|
661
|
+
contract: "0x65ea4dd7f789c71c0f57ed84b3bdc3062898d3cb",
|
662
|
+
eventID: id("OrderPlaced(address,uint64,bool,uint128,uint72,uint128,uint128,uint128,uint128,uint128,bool,bool)"),
|
663
|
+
topicToData: [
|
664
|
+
{ topicIndex: 1, decodeKeyTopic: "address", dataIndex: 1, multiplier: (3n * 10n ** (7n + 12n)).toString() },
|
665
|
+
],
|
666
|
+
computeScoreParameters: {
|
667
|
+
computeMethod: ComputeScoreMethod.cappedScorePercentageHistorical,
|
668
|
+
computeSettings: {
|
669
|
+
maxRewards: (10n ** 8n).toString(),
|
670
|
+
},
|
671
|
+
},
|
672
|
+
decodeDataValue: [
|
673
|
+
"uint64",
|
674
|
+
"uint128",
|
675
|
+
"uint72",
|
676
|
+
"uint128",
|
677
|
+
"uint128",
|
678
|
+
"uint128",
|
679
|
+
"uint128",
|
680
|
+
"uint128",
|
681
|
+
"bool",
|
682
|
+
"bool",
|
683
|
+
],
|
684
|
+
expectedChecks: [
|
685
|
+
{
|
686
|
+
index: 8,
|
687
|
+
key: "data",
|
688
|
+
expectedValue: "true",
|
689
|
+
},
|
690
|
+
{
|
691
|
+
index: 9,
|
692
|
+
key: "data",
|
693
|
+
expectedValue: "false",
|
694
|
+
},
|
695
|
+
],
|
696
|
+
whitelist: [],
|
697
|
+
blacklist: [],
|
698
|
+
forwarders: [],
|
699
|
+
hooks: [],
|
700
|
+
},
|
701
|
+
[etherlinkCampaigns.Hanji_WBTC_USDC]: {
|
702
|
+
campaignType: Campaign.EVENT_BASED,
|
703
|
+
contract: "0xbb6b01d94e3f6ebae8647cb56d544f57928ab758",
|
704
|
+
eventID: id("OrderPlaced(address,uint64,bool,uint128,uint72,uint128,uint128,uint128,uint128,uint128,bool,bool)"),
|
705
|
+
topicToData: [
|
706
|
+
{ topicIndex: 1, decodeKeyTopic: "address", dataIndex: 1, multiplier: (3n * 10n ** (7n + 12n)).toString() },
|
707
|
+
],
|
708
|
+
computeScoreParameters: {
|
709
|
+
computeMethod: ComputeScoreMethod.cappedScorePercentageHistorical,
|
710
|
+
computeSettings: {
|
711
|
+
maxRewards: (10n ** 8n).toString(),
|
712
|
+
},
|
713
|
+
},
|
714
|
+
decodeDataValue: [
|
715
|
+
"uint64",
|
716
|
+
"uint128",
|
717
|
+
"uint72",
|
718
|
+
"uint128",
|
719
|
+
"uint128",
|
720
|
+
"uint128",
|
721
|
+
"uint128",
|
722
|
+
"uint128",
|
723
|
+
"bool",
|
724
|
+
"bool",
|
725
|
+
],
|
726
|
+
expectedChecks: [
|
727
|
+
{
|
728
|
+
index: 8,
|
729
|
+
key: "data",
|
730
|
+
expectedValue: "true",
|
731
|
+
},
|
732
|
+
{
|
733
|
+
index: 9,
|
734
|
+
key: "data",
|
735
|
+
expectedValue: "false",
|
736
|
+
},
|
737
|
+
],
|
738
|
+
whitelist: [],
|
739
|
+
blacklist: [],
|
740
|
+
forwarders: [],
|
741
|
+
hooks: [],
|
742
|
+
},
|
598
743
|
};
|
599
744
|
const SwapxInterfaceCampaigns = {
|
600
745
|
[swapxCampaigns.Swapx_SWPx_USDCe_Swapx]: {
|
@@ -241,6 +241,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
241
241
|
rewardTokenId: string;
|
242
242
|
amount: string;
|
243
243
|
opportunityId: string;
|
244
|
+
manualOverrides: import("../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
244
245
|
}[] | undefined;
|
245
246
|
id: string;
|
246
247
|
depositUrl: string | undefined;
|
@@ -960,6 +961,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
960
961
|
amount: string;
|
961
962
|
opportunityId: string;
|
962
963
|
creatorAddress: string;
|
964
|
+
manualOverrides: import("../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
963
965
|
} | undefined;
|
964
966
|
};
|
965
967
|
};
|
@@ -968,7 +970,6 @@ export declare const v4: Elysia<"/v4", false, {
|
|
968
970
|
opportunity: {
|
969
971
|
patch: {
|
970
972
|
body: {
|
971
|
-
tags?: string[] | undefined;
|
972
973
|
opportunityIdentifier?: string | undefined;
|
973
974
|
campaignId: string;
|
974
975
|
distributionChain: number;
|
@@ -983,6 +984,42 @@ export declare const v4: Elysia<"/v4", false, {
|
|
983
984
|
};
|
984
985
|
};
|
985
986
|
};
|
987
|
+
} & {
|
988
|
+
creator: {
|
989
|
+
patch: {
|
990
|
+
body: {
|
991
|
+
campaignId: string;
|
992
|
+
creatorAddress: string;
|
993
|
+
distributionChain: number;
|
994
|
+
};
|
995
|
+
params: {};
|
996
|
+
query: unknown;
|
997
|
+
headers: {
|
998
|
+
authorization: string;
|
999
|
+
};
|
1000
|
+
response: {
|
1001
|
+
200: void;
|
1002
|
+
};
|
1003
|
+
};
|
1004
|
+
};
|
1005
|
+
} & {
|
1006
|
+
"remove-override": {
|
1007
|
+
patch: {
|
1008
|
+
body: {
|
1009
|
+
campaignId: string;
|
1010
|
+
field: "opportunityId" | "creatorAddress";
|
1011
|
+
distributionChain: number;
|
1012
|
+
};
|
1013
|
+
params: {};
|
1014
|
+
query: unknown;
|
1015
|
+
headers: {
|
1016
|
+
authorization: string;
|
1017
|
+
};
|
1018
|
+
response: {
|
1019
|
+
200: void;
|
1020
|
+
};
|
1021
|
+
};
|
1022
|
+
};
|
986
1023
|
} & {
|
987
1024
|
metadata: {
|
988
1025
|
patch: {
|
@@ -1011,6 +1048,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
1011
1048
|
amount: string;
|
1012
1049
|
opportunityId: string;
|
1013
1050
|
creatorAddress: string;
|
1051
|
+
manualOverrides: import("../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
1014
1052
|
};
|
1015
1053
|
};
|
1016
1054
|
};
|
@@ -1108,6 +1146,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
1108
1146
|
rewardTokenId: string;
|
1109
1147
|
amount: string;
|
1110
1148
|
opportunityId: string;
|
1149
|
+
manualOverrides: import("../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
1111
1150
|
}[];
|
1112
1151
|
};
|
1113
1152
|
};
|
@@ -1172,6 +1211,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
1172
1211
|
rewardTokenId: string;
|
1173
1212
|
amount: string;
|
1174
1213
|
opportunityId: string;
|
1214
|
+
manualOverrides: import("../../../database/api/.generated").$Enums.CampaignManualOverride[];
|
1175
1215
|
};
|
1176
1216
|
};
|
1177
1217
|
};
|
@@ -1637,7 +1677,18 @@ export declare const v4: Elysia<"/v4", false, {
|
|
1637
1677
|
authorization: string;
|
1638
1678
|
};
|
1639
1679
|
response: {
|
1640
|
-
200:
|
1680
|
+
200: {
|
1681
|
+
symbol: string;
|
1682
|
+
name: string | null;
|
1683
|
+
id: string;
|
1684
|
+
icon: string;
|
1685
|
+
chainId: number;
|
1686
|
+
address: string;
|
1687
|
+
decimals: number;
|
1688
|
+
verified: boolean;
|
1689
|
+
isTest: boolean;
|
1690
|
+
price?: number | null | undefined;
|
1691
|
+
} | undefined;
|
1641
1692
|
};
|
1642
1693
|
};
|
1643
1694
|
};
|
@@ -78,7 +78,7 @@ export class StatusService {
|
|
78
78
|
static async findUpdatesAndDelays() {
|
79
79
|
const merklRoots = await MerklRootService.fetchAll();
|
80
80
|
const delayedCampaignPromises = Promise.allSettled(Object.keys(merklRoots).map(chainId => StatusService.findManyDelay({ chainId: Number.parseInt(chainId), delayLowerBound: 9 * HOUR })));
|
81
|
-
const liveCampaignPromises = await Promise.allSettled(Object.keys(merklRoots).map(chainId => CampaignService.countLives(Number.parseInt(chainId))));
|
81
|
+
const liveCampaignPromises = await Promise.allSettled(Object.keys(merklRoots).map(chainId => CampaignService.countLives({ distributionChainId: Number.parseInt(chainId) })));
|
82
82
|
const delayedCampaignArray = await delayedCampaignPromises;
|
83
83
|
const liveCampaignArray = await liveCampaignPromises;
|
84
84
|
const res = {};
|
@@ -202,7 +202,18 @@ export declare const TokenController: Elysia<"/tokens", false, {
|
|
202
202
|
authorization: string;
|
203
203
|
};
|
204
204
|
response: {
|
205
|
-
200:
|
205
|
+
200: {
|
206
|
+
symbol: string;
|
207
|
+
name: string | null;
|
208
|
+
id: string;
|
209
|
+
icon: string;
|
210
|
+
chainId: number;
|
211
|
+
address: string;
|
212
|
+
decimals: number;
|
213
|
+
verified: boolean;
|
214
|
+
isTest: boolean;
|
215
|
+
price?: number | null | undefined;
|
216
|
+
} | undefined;
|
206
217
|
};
|
207
218
|
};
|
208
219
|
};
|
@@ -74,7 +74,7 @@ export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: [
|
|
74
74
|
hide: true,
|
75
75
|
},
|
76
76
|
})
|
77
|
-
// ───
|
77
|
+
// ─── Create a new Token entity ────────────────────────────────────────────
|
78
78
|
.post("/", async ({ body }) => await TokenService.fillAndCreate(body), {
|
79
79
|
body: CreateTokenDto,
|
80
80
|
headers: AuthorizationHeadersDto,
|
@@ -85,7 +85,7 @@ export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: [
|
|
85
85
|
},
|
86
86
|
detail: { hide: true },
|
87
87
|
})
|
88
|
-
// ─── Update
|
88
|
+
// ─── Update token fields Status ────────────────────────────────────────────
|
89
89
|
.patch("/:id", async ({ params, body }) => await TokenService.update(params.id, body), {
|
90
90
|
params: TokenIdDto,
|
91
91
|
body: UpdateTokenDto,
|
@@ -115,7 +115,19 @@ export declare abstract class TokenService {
|
|
115
115
|
* @param chainId
|
116
116
|
* @param address
|
117
117
|
*/
|
118
|
-
static fillAndCreate(token: CreateTokenModel): Promise<
|
118
|
+
static fillAndCreate(token: CreateTokenModel): Promise<({
|
119
|
+
symbol: string;
|
120
|
+
name: string | null;
|
121
|
+
id: string;
|
122
|
+
icon: string;
|
123
|
+
chainId: number;
|
124
|
+
address: string;
|
125
|
+
decimals: number;
|
126
|
+
verified: boolean;
|
127
|
+
isTest: boolean;
|
128
|
+
} & {
|
129
|
+
price?: number | null | undefined;
|
130
|
+
}) | undefined>;
|
119
131
|
/**
|
120
132
|
* Read token from database
|
121
133
|
* @param chainId
|
@@ -202,13 +202,11 @@ export class TokenService {
|
|
202
202
|
try {
|
203
203
|
const id = TokenService.hashId(token);
|
204
204
|
const filledData = await TokenService.fetchOnChain({ address: token.address, chainId: token.chainId });
|
205
|
-
|
206
|
-
await TokenRepository.upsert({ ...filledData, ...token, id });
|
205
|
+
return await TokenRepository.upsert({ ...filledData, ...token, id });
|
207
206
|
}
|
208
207
|
catch (e) {
|
209
208
|
console.error(e);
|
210
209
|
}
|
211
|
-
return;
|
212
210
|
}
|
213
211
|
/**
|
214
212
|
* Read token from database
|
@@ -15,6 +15,12 @@ export declare class OpportunityNotFound extends Error {
|
|
15
15
|
chainId: ChainId;
|
16
16
|
constructor(mainParameter: string, chainId: ChainId);
|
17
17
|
}
|
18
|
+
export declare class CannotParseOpportunity extends Error {
|
19
|
+
campaignId: string;
|
20
|
+
chainId: ChainId;
|
21
|
+
type: number;
|
22
|
+
constructor(campaignId: string, chainId: ChainId, type: number);
|
23
|
+
}
|
18
24
|
export declare class MerkleRootNotFound extends Error {
|
19
25
|
chainId: ChainId;
|
20
26
|
constructor(chainId: ChainId);
|
package/dist/src/utils/error.js
CHANGED
@@ -27,6 +27,18 @@ export class OpportunityNotFound extends Error {
|
|
27
27
|
this.name = "OPPORTUNITY_NOT_FOUND";
|
28
28
|
}
|
29
29
|
}
|
30
|
+
export class CannotParseOpportunity extends Error {
|
31
|
+
campaignId;
|
32
|
+
chainId;
|
33
|
+
type;
|
34
|
+
constructor(campaignId, chainId, type) {
|
35
|
+
super(`Cannot parse opportunity from campaign ${campaignId} of type ${type} on chain ${NETWORK_LABELS[chainId]}`);
|
36
|
+
this.campaignId = campaignId;
|
37
|
+
this.chainId = chainId;
|
38
|
+
this.type = type;
|
39
|
+
this.name = "OPPORTUNITY_CANNOT_BE_PARSED";
|
40
|
+
}
|
41
|
+
}
|
30
42
|
export class MerkleRootNotFound extends Error {
|
31
43
|
chainId;
|
32
44
|
constructor(chainId) {
|