@merkl/api 0.16.14 → 0.16.15

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.
@@ -3142,6 +3142,58 @@ declare const eden: {
3142
3142
  }>>;
3143
3143
  };
3144
3144
  };
3145
+ referral: {
3146
+ code: {
3147
+ get: (options: {
3148
+ headers?: Record<string, unknown> | undefined;
3149
+ query: {
3150
+ chainId: number;
3151
+ address: string;
3152
+ referralKey: string;
3153
+ };
3154
+ fetch?: RequestInit | undefined;
3155
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
3156
+ 200: {
3157
+ code: string;
3158
+ referrer: boolean;
3159
+ referredUsers: never[];
3160
+ transaction: {
3161
+ to: string;
3162
+ data: `0x${string}`;
3163
+ };
3164
+ } | {
3165
+ code: any;
3166
+ referrer: boolean;
3167
+ referredUsers: any;
3168
+ transaction?: undefined;
3169
+ };
3170
+ }>>;
3171
+ };
3172
+ redeem: {
3173
+ get: (options: {
3174
+ headers?: Record<string, unknown> | undefined;
3175
+ query: {
3176
+ code: string;
3177
+ chainId: number;
3178
+ referralKey: string;
3179
+ };
3180
+ fetch?: RequestInit | undefined;
3181
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
3182
+ 200: {
3183
+ code: string;
3184
+ referrer: any;
3185
+ transaction?: undefined;
3186
+ } | {
3187
+ code: string;
3188
+ referrer: any;
3189
+ transaction: {
3190
+ to: string;
3191
+ data: `0x${string}`;
3192
+ };
3193
+ };
3194
+ }>>;
3195
+ };
3196
+ };
3145
3197
  } | {
3146
3198
  derive: {};
3147
3199
  resolve: {};
@@ -6191,6 +6243,58 @@ declare const eden: {
6191
6243
  }>>;
6192
6244
  };
6193
6245
  };
6246
+ referral: {
6247
+ code: {
6248
+ get: (options: {
6249
+ headers?: Record<string, unknown> | undefined;
6250
+ query: {
6251
+ chainId: number;
6252
+ address: string;
6253
+ referralKey: string;
6254
+ };
6255
+ fetch?: RequestInit | undefined;
6256
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
6257
+ 200: {
6258
+ code: string;
6259
+ referrer: boolean;
6260
+ referredUsers: never[];
6261
+ transaction: {
6262
+ to: string;
6263
+ data: `0x${string}`;
6264
+ };
6265
+ } | {
6266
+ code: any;
6267
+ referrer: boolean;
6268
+ referredUsers: any;
6269
+ transaction?: undefined;
6270
+ };
6271
+ }>>;
6272
+ };
6273
+ redeem: {
6274
+ get: (options: {
6275
+ headers?: Record<string, unknown> | undefined;
6276
+ query: {
6277
+ code: string;
6278
+ chainId: number;
6279
+ referralKey: string;
6280
+ };
6281
+ fetch?: RequestInit | undefined;
6282
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
6283
+ 200: {
6284
+ code: string;
6285
+ referrer: any;
6286
+ transaction?: undefined;
6287
+ } | {
6288
+ code: string;
6289
+ referrer: any;
6290
+ transaction: {
6291
+ to: string;
6292
+ data: `0x${string}`;
6293
+ };
6294
+ };
6295
+ }>>;
6296
+ };
6297
+ };
6194
6298
  };
6195
6299
  v3: {
6196
6300
  app: {
@@ -10715,6 +10819,68 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
10715
10819
  };
10716
10820
  };
10717
10821
  };
10822
+ } & {
10823
+ v4: {
10824
+ referral: {
10825
+ code: {
10826
+ get: {
10827
+ body: unknown;
10828
+ params: {};
10829
+ query: {
10830
+ chainId: number;
10831
+ address: string;
10832
+ referralKey: string;
10833
+ };
10834
+ headers: unknown;
10835
+ response: {
10836
+ 200: {
10837
+ code: string;
10838
+ referrer: boolean;
10839
+ referredUsers: never[];
10840
+ transaction: {
10841
+ to: string;
10842
+ data: `0x${string}`;
10843
+ };
10844
+ } | {
10845
+ code: any;
10846
+ referrer: boolean;
10847
+ referredUsers: any;
10848
+ transaction?: undefined;
10849
+ };
10850
+ };
10851
+ };
10852
+ };
10853
+ };
10854
+ } & {
10855
+ referral: {
10856
+ redeem: {
10857
+ get: {
10858
+ body: unknown;
10859
+ params: {};
10860
+ query: {
10861
+ code: string;
10862
+ chainId: number;
10863
+ referralKey: string;
10864
+ };
10865
+ headers: unknown;
10866
+ response: {
10867
+ 200: {
10868
+ code: string;
10869
+ referrer: any;
10870
+ transaction?: undefined;
10871
+ } | {
10872
+ code: string;
10873
+ referrer: any;
10874
+ transaction: {
10875
+ to: string;
10876
+ data: `0x${string}`;
10877
+ };
10878
+ };
10879
+ };
10880
+ };
10881
+ };
10882
+ };
10883
+ };
10718
10884
  } & {
10719
10885
  v3: {
10720
10886
  app: {
@@ -14645,6 +14811,58 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
14645
14811
  }>>;
14646
14812
  };
14647
14813
  };
14814
+ referral: {
14815
+ code: {
14816
+ get: (options: {
14817
+ headers?: Record<string, unknown> | undefined;
14818
+ query: {
14819
+ chainId: number;
14820
+ address: string;
14821
+ referralKey: string;
14822
+ };
14823
+ fetch?: RequestInit | undefined;
14824
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
14825
+ 200: {
14826
+ code: string;
14827
+ referrer: boolean;
14828
+ referredUsers: never[];
14829
+ transaction: {
14830
+ to: string;
14831
+ data: `0x${string}`;
14832
+ };
14833
+ } | {
14834
+ code: any;
14835
+ referrer: boolean;
14836
+ referredUsers: any;
14837
+ transaction?: undefined;
14838
+ };
14839
+ }>>;
14840
+ };
14841
+ redeem: {
14842
+ get: (options: {
14843
+ headers?: Record<string, unknown> | undefined;
14844
+ query: {
14845
+ code: string;
14846
+ chainId: number;
14847
+ referralKey: string;
14848
+ };
14849
+ fetch?: RequestInit | undefined;
14850
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
14851
+ 200: {
14852
+ code: string;
14853
+ referrer: any;
14854
+ transaction?: undefined;
14855
+ } | {
14856
+ code: string;
14857
+ referrer: any;
14858
+ transaction: {
14859
+ to: string;
14860
+ data: `0x${string}`;
14861
+ };
14862
+ };
14863
+ }>>;
14864
+ };
14865
+ };
14648
14866
  } | {
14649
14867
  derive: {};
14650
14868
  resolve: {};
@@ -17694,6 +17912,58 @@ export declare const MerklApi: (domain: string | import("elysia").default<"", fa
17694
17912
  }>>;
17695
17913
  };
17696
17914
  };
17915
+ referral: {
17916
+ code: {
17917
+ get: (options: {
17918
+ headers?: Record<string, unknown> | undefined;
17919
+ query: {
17920
+ chainId: number;
17921
+ address: string;
17922
+ referralKey: string;
17923
+ };
17924
+ fetch?: RequestInit | undefined;
17925
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
17926
+ 200: {
17927
+ code: string;
17928
+ referrer: boolean;
17929
+ referredUsers: never[];
17930
+ transaction: {
17931
+ to: string;
17932
+ data: `0x${string}`;
17933
+ };
17934
+ } | {
17935
+ code: any;
17936
+ referrer: boolean;
17937
+ referredUsers: any;
17938
+ transaction?: undefined;
17939
+ };
17940
+ }>>;
17941
+ };
17942
+ redeem: {
17943
+ get: (options: {
17944
+ headers?: Record<string, unknown> | undefined;
17945
+ query: {
17946
+ code: string;
17947
+ chainId: number;
17948
+ referralKey: string;
17949
+ };
17950
+ fetch?: RequestInit | undefined;
17951
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
17952
+ 200: {
17953
+ code: string;
17954
+ referrer: any;
17955
+ transaction?: undefined;
17956
+ } | {
17957
+ code: string;
17958
+ referrer: any;
17959
+ transaction: {
17960
+ to: string;
17961
+ data: `0x${string}`;
17962
+ };
17963
+ };
17964
+ }>>;
17965
+ };
17966
+ };
17697
17967
  };
17698
17968
  v3: {
17699
17969
  app: {
@@ -3919,6 +3919,68 @@ declare const app: Elysia<"", false, {
3919
3919
  };
3920
3920
  };
3921
3921
  };
3922
+ } & {
3923
+ v4: {
3924
+ referral: {
3925
+ code: {
3926
+ get: {
3927
+ body: unknown;
3928
+ params: {};
3929
+ query: {
3930
+ chainId: number;
3931
+ address: string;
3932
+ referralKey: string;
3933
+ };
3934
+ headers: unknown;
3935
+ response: {
3936
+ 200: {
3937
+ code: string;
3938
+ referrer: boolean;
3939
+ referredUsers: never[];
3940
+ transaction: {
3941
+ to: string;
3942
+ data: `0x${string}`;
3943
+ };
3944
+ } | {
3945
+ code: any;
3946
+ referrer: boolean;
3947
+ referredUsers: any;
3948
+ transaction?: undefined;
3949
+ };
3950
+ };
3951
+ };
3952
+ };
3953
+ };
3954
+ } & {
3955
+ referral: {
3956
+ redeem: {
3957
+ get: {
3958
+ body: unknown;
3959
+ params: {};
3960
+ query: {
3961
+ code: string;
3962
+ chainId: number;
3963
+ referralKey: string;
3964
+ };
3965
+ headers: unknown;
3966
+ response: {
3967
+ 200: {
3968
+ code: string;
3969
+ referrer: any;
3970
+ transaction?: undefined;
3971
+ } | {
3972
+ code: string;
3973
+ referrer: any;
3974
+ transaction: {
3975
+ to: string;
3976
+ data: `0x${string}`;
3977
+ };
3978
+ };
3979
+ };
3980
+ };
3981
+ };
3982
+ };
3983
+ };
3922
3984
  } & {
3923
3985
  v3: {
3924
3986
  app: {
@@ -0,0 +1,82 @@
1
+ import Elysia from "elysia";
2
+ export declare const ReferralController: Elysia<"/referral", false, {
3
+ decorator: {};
4
+ store: {};
5
+ derive: {};
6
+ resolve: {};
7
+ }, {
8
+ type: {};
9
+ error: {};
10
+ }, {
11
+ schema: {};
12
+ macro: {};
13
+ macroFn: {};
14
+ }, {
15
+ referral: {
16
+ code: {
17
+ get: {
18
+ body: unknown;
19
+ params: {};
20
+ query: {
21
+ chainId: number;
22
+ address: string;
23
+ referralKey: string;
24
+ };
25
+ headers: unknown;
26
+ response: {
27
+ 200: {
28
+ code: string;
29
+ referrer: boolean;
30
+ referredUsers: never[];
31
+ transaction: {
32
+ to: string;
33
+ data: `0x${string}`;
34
+ };
35
+ } | {
36
+ code: any;
37
+ referrer: boolean;
38
+ referredUsers: any;
39
+ transaction?: undefined;
40
+ };
41
+ };
42
+ };
43
+ };
44
+ };
45
+ } & {
46
+ referral: {
47
+ redeem: {
48
+ get: {
49
+ body: unknown;
50
+ params: {};
51
+ query: {
52
+ code: string;
53
+ chainId: number;
54
+ referralKey: string;
55
+ };
56
+ headers: unknown;
57
+ response: {
58
+ 200: {
59
+ code: string;
60
+ referrer: any;
61
+ transaction?: undefined;
62
+ } | {
63
+ code: string;
64
+ referrer: any;
65
+ transaction: {
66
+ to: string;
67
+ data: `0x${string}`;
68
+ };
69
+ };
70
+ };
71
+ };
72
+ };
73
+ };
74
+ }, {
75
+ derive: {};
76
+ resolve: {};
77
+ schema: {};
78
+ }, {
79
+ derive: {};
80
+ resolve: {};
81
+ schema: {};
82
+ }>;
@@ -0,0 +1,25 @@
1
+ import { throwOnUnsupportedChainId } from "../../../utils/throw";
2
+ import Elysia from "elysia";
3
+ import { ReferralCodeDto, ReferralRedeemCodeDto } from "./referral.model";
4
+ import { ReferralService } from "./referral.service";
5
+ // ─── Rewards Controller ──────────────────────────────────────────────────────
6
+ export const ReferralController = new Elysia({ prefix: "/referral", detail: { tags: ["Referral"] } })
7
+ // ─── Get Reward Breakdowns For Campaign Ids ──────────────────────────
8
+ .get("/code", async ({ query: { chainId, referralKey, address } }) => await ReferralService.getCodeOrTransaction(chainId, referralKey, address), {
9
+ query: ReferralCodeDto,
10
+ beforeHandle: ({ query: { chainId } }) => {
11
+ throwOnUnsupportedChainId(chainId);
12
+ },
13
+ detail: {
14
+ description: "Returns the transaction to register user as a referrer on-chain and some additional state",
15
+ },
16
+ })
17
+ .get("/redeem", async ({ query: { chainId, referralKey, code } }) => await ReferralService.getReferralTransaction(chainId, referralKey, code), {
18
+ query: ReferralRedeemCodeDto,
19
+ beforeHandle: ({ query: { chainId } }) => {
20
+ throwOnUnsupportedChainId(chainId);
21
+ },
22
+ detail: {
23
+ description: "Returns the transaction to redeem a referral code on-chain and some additional state",
24
+ },
25
+ });
@@ -0,0 +1,10 @@
1
+ export declare const ReferralCodeDto: import("@sinclair/typebox").TObject<{
2
+ chainId: import("@sinclair/typebox").TNumber;
3
+ referralKey: import("@sinclair/typebox").TString;
4
+ address: import("@sinclair/typebox").TString;
5
+ }>;
6
+ export declare const ReferralRedeemCodeDto: import("@sinclair/typebox").TObject<{
7
+ chainId: import("@sinclair/typebox").TNumber;
8
+ referralKey: import("@sinclair/typebox").TString;
9
+ code: import("@sinclair/typebox").TString;
10
+ }>;
@@ -0,0 +1,12 @@
1
+ import { t } from "elysia";
2
+ // ─── DTOs ────────────────────────────────────────────────────────────────────
3
+ export const ReferralCodeDto = t.Object({
4
+ chainId: t.Number(),
5
+ referralKey: t.String(),
6
+ address: t.String(),
7
+ });
8
+ export const ReferralRedeemCodeDto = t.Object({
9
+ chainId: t.Number(),
10
+ referralKey: t.String(),
11
+ code: t.String(),
12
+ });