@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.
- package/dist/src/eden/index.d.ts +270 -0
- package/dist/src/index.d.ts +62 -0
- package/dist/src/modules/v4/referral/referral.controller.d.ts +82 -0
- package/dist/src/modules/v4/referral/referral.controller.js +25 -0
- package/dist/src/modules/v4/referral/referral.model.d.ts +10 -0
- package/dist/src/modules/v4/referral/referral.model.js +12 -0
- package/dist/src/modules/v4/referral/referral.service.d.ts +216 -0
- package/dist/src/modules/v4/referral/referral.service.js +170 -0
- package/dist/src/modules/v4/router.d.ts +62 -0
- package/dist/src/modules/v4/router.js +3 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/eden/index.d.ts
CHANGED
@@ -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: {
|
package/dist/src/index.d.ts
CHANGED
@@ -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
|
+
});
|