@mezo-org/passport 0.4.0-dev.0 → 0.4.0-dev.10
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/api/auth.d.ts +78 -0
- package/dist/src/api/auth.d.ts.map +1 -0
- package/dist/src/api/auth.js +77 -0
- package/dist/src/api/auth.js.map +1 -0
- package/dist/src/api/client.d.ts +24 -0
- package/dist/src/api/client.d.ts.map +1 -0
- package/dist/src/api/client.js +54 -0
- package/dist/src/api/client.js.map +1 -0
- package/dist/src/api/fetch-error.d.ts +5 -0
- package/dist/src/api/fetch-error.d.ts.map +1 -0
- package/dist/src/api/fetch-error.js +8 -0
- package/dist/src/api/fetch-error.js.map +1 -0
- package/dist/src/api/index.d.ts +3 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/api/index.js +3 -0
- package/dist/src/api/index.js.map +1 -0
- package/dist/src/api/portal.d.ts +32 -0
- package/dist/src/api/portal.d.ts.map +1 -0
- package/dist/src/api/portal.js +23 -0
- package/dist/src/api/portal.js.map +1 -0
- package/dist/src/assets/DefaultAvatar.d.ts +5 -0
- package/dist/src/assets/DefaultAvatar.d.ts.map +1 -0
- package/dist/src/assets/DefaultAvatar.js +21 -0
- package/dist/src/assets/DefaultAvatar.js.map +1 -0
- package/dist/src/components/Dropdown/AccountAddress.d.ts +8 -0
- package/dist/src/components/Dropdown/AccountAddress.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountAddress.js +66 -0
- package/dist/src/components/Dropdown/AccountAddress.js.map +1 -0
- package/dist/src/components/Dropdown/AccountAssets.d.ts +14 -0
- package/dist/src/components/Dropdown/AccountAssets.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountAssets.js +44 -0
- package/dist/src/components/Dropdown/AccountAssets.js.map +1 -0
- package/dist/src/components/Dropdown/AccountBalance.d.ts +7 -0
- package/dist/src/components/Dropdown/AccountBalance.d.ts.map +1 -0
- package/dist/src/components/Dropdown/AccountBalance.js +18 -0
- package/dist/src/components/Dropdown/AccountBalance.js.map +1 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.d.ts +7 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.d.ts.map +1 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.js +30 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.js.map +1 -0
- package/dist/src/components/Dropdown/Content.d.ts +9 -0
- package/dist/src/components/Dropdown/Content.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Content.js +69 -0
- package/dist/src/components/Dropdown/Content.js.map +1 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts +7 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts.map +1 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.js +13 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.js.map +1 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts +20 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Dropdown.js +64 -0
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/src/components/Dropdown/WelcomeBlock.d.ts +8 -0
- package/dist/src/components/Dropdown/WelcomeBlock.d.ts.map +1 -0
- package/dist/src/components/Dropdown/WelcomeBlock.js +44 -0
- package/dist/src/components/Dropdown/WelcomeBlock.js.map +1 -0
- package/dist/src/components/Dropdown/index.d.ts +3 -0
- package/dist/src/components/Dropdown/index.d.ts.map +1 -0
- package/dist/src/components/Dropdown/index.js +2 -0
- package/dist/src/components/Dropdown/index.js.map +1 -0
- package/dist/src/components/index.d.ts +2 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/index.js +2 -0
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +7 -0
- package/dist/src/hooks/constants.d.ts.map +1 -0
- package/dist/src/hooks/constants.js +7 -0
- package/dist/src/hooks/constants.js.map +1 -0
- package/dist/src/hooks/index.d.ts +10 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +10 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/useAssetsUSDConversion.d.ts +8 -0
- package/dist/src/hooks/useAssetsUSDConversion.d.ts.map +1 -0
- package/dist/src/hooks/useAssetsUSDConversion.js +21 -0
- package/dist/src/hooks/useAssetsUSDConversion.js.map +1 -0
- package/dist/src/hooks/useAuthApiClient.d.ts +2 -0
- package/dist/src/hooks/useAuthApiClient.d.ts.map +1 -0
- package/dist/src/hooks/useAuthApiClient.js +6 -0
- package/dist/src/hooks/useAuthApiClient.js.map +1 -0
- package/dist/src/hooks/useAuthenticateWithWallet.d.ts +73 -0
- package/dist/src/hooks/useAuthenticateWithWallet.d.ts.map +1 -0
- package/dist/src/hooks/useAuthenticateWithWallet.js +69 -0
- package/dist/src/hooks/useAuthenticateWithWallet.js.map +1 -0
- package/dist/src/hooks/useCreateAccount.d.ts +108 -0
- package/dist/src/hooks/useCreateAccount.d.ts.map +1 -0
- package/dist/src/hooks/useCreateAccount.js +21 -0
- package/dist/src/hooks/useCreateAccount.js.map +1 -0
- package/dist/src/hooks/useCreateSession.d.ts +76 -0
- package/dist/src/hooks/useCreateSession.d.ts.map +1 -0
- package/dist/src/hooks/useCreateSession.js +29 -0
- package/dist/src/hooks/useCreateSession.js.map +1 -0
- package/dist/src/hooks/useDropdownData.d.ts +45 -0
- package/dist/src/hooks/useDropdownData.d.ts.map +1 -0
- package/dist/src/hooks/useDropdownData.js +74 -0
- package/dist/src/hooks/useDropdownData.js.map +1 -0
- package/dist/src/hooks/useEnsureNoSessionAndFetchNonce.d.ts +5 -0
- package/dist/src/hooks/useEnsureNoSessionAndFetchNonce.d.ts.map +1 -0
- package/dist/src/hooks/useEnsureNoSessionAndFetchNonce.js +34 -0
- package/dist/src/hooks/useEnsureNoSessionAndFetchNonce.js.map +1 -0
- package/dist/src/hooks/useGetAccountByAddress.d.ts +4 -0
- package/dist/src/hooks/useGetAccountByAddress.d.ts.map +1 -0
- package/dist/src/hooks/useGetAccountByAddress.js +17 -0
- package/dist/src/hooks/useGetAccountByAddress.js.map +1 -0
- package/dist/src/hooks/useGetAccountByMezoId.d.ts +4 -0
- package/dist/src/hooks/useGetAccountByMezoId.d.ts.map +1 -0
- package/dist/src/hooks/useGetAccountByMezoId.js +17 -0
- package/dist/src/hooks/useGetAccountByMezoId.js.map +1 -0
- package/dist/src/hooks/useGetCurrentAccount.d.ts +18 -0
- package/dist/src/hooks/useGetCurrentAccount.d.ts.map +1 -0
- package/dist/src/hooks/useGetCurrentAccount.js +37 -0
- package/dist/src/hooks/useGetCurrentAccount.js.map +1 -0
- package/dist/src/hooks/useGetSession.d.ts +4 -0
- package/dist/src/hooks/useGetSession.d.ts.map +1 -0
- package/dist/src/hooks/useGetSession.js +15 -0
- package/dist/src/hooks/useGetSession.js.map +1 -0
- package/dist/src/hooks/useLinkAccount.d.ts +72 -0
- package/dist/src/hooks/useLinkAccount.d.ts.map +1 -0
- package/dist/src/hooks/useLinkAccount.js +19 -0
- package/dist/src/hooks/useLinkAccount.js.map +1 -0
- package/dist/src/hooks/usePassportContext.d.ts +3 -0
- package/dist/src/hooks/usePassportContext.d.ts.map +1 -0
- package/dist/src/hooks/usePassportContext.js +10 -0
- package/dist/src/hooks/usePassportContext.js.map +1 -0
- package/dist/src/hooks/usePortalApiClient.d.ts +2 -0
- package/dist/src/hooks/usePortalApiClient.d.ts.map +1 -0
- package/dist/src/hooks/usePortalApiClient.js +6 -0
- package/dist/src/hooks/usePortalApiClient.js.map +1 -0
- package/dist/src/hooks/useSignInWithDiscord.d.ts +73 -0
- package/dist/src/hooks/useSignInWithDiscord.d.ts.map +1 -0
- package/dist/src/hooks/useSignInWithDiscord.js +25 -0
- package/dist/src/hooks/useSignInWithDiscord.js.map +1 -0
- package/dist/src/hooks/useSignInWithWallet.d.ts +73 -0
- package/dist/src/hooks/useSignInWithWallet.d.ts.map +1 -0
- package/dist/src/hooks/useSignInWithWallet.js +11 -0
- package/dist/src/hooks/useSignInWithWallet.js.map +1 -0
- package/dist/src/hooks/useSignOut.d.ts +72 -0
- package/dist/src/hooks/useSignOut.d.ts.map +1 -0
- package/dist/src/hooks/useSignOut.js +22 -0
- package/dist/src/hooks/useSignOut.js.map +1 -0
- package/dist/src/hooks/useSignUpWithWallet.d.ts +73 -0
- package/dist/src/hooks/useSignUpWithWallet.d.ts.map +1 -0
- package/dist/src/hooks/useSignUpWithWallet.js +11 -0
- package/dist/src/hooks/useSignUpWithWallet.js.map +1 -0
- package/dist/src/hooks/useUpdateMezoId.d.ts +108 -0
- package/dist/src/hooks/useUpdateMezoId.d.ts.map +1 -0
- package/dist/src/hooks/useUpdateMezoId.js +19 -0
- package/dist/src/hooks/useUpdateMezoId.js.map +1 -0
- package/dist/src/hooks/useWalletAccount.d.ts +12 -0
- package/dist/src/hooks/useWalletAccount.d.ts.map +1 -0
- package/dist/src/hooks/useWalletAccount.js +28 -0
- package/dist/src/hooks/useWalletAccount.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/provider.d.ts +17 -0
- package/dist/src/provider.d.ts.map +1 -0
- package/dist/src/provider.js +16 -0
- package/dist/src/provider.js.map +1 -0
- package/dist/src/utils/address.d.ts +15 -0
- package/dist/src/utils/address.d.ts.map +1 -0
- package/dist/src/utils/address.js +35 -0
- package/dist/src/utils/address.js.map +1 -0
- package/dist/src/utils/address.test.d.ts +2 -0
- package/dist/src/utils/address.test.d.ts.map +1 -0
- package/dist/src/utils/address.test.js +32 -0
- package/dist/src/utils/address.test.js.map +1 -0
- package/dist/src/utils/cryptoAssets.d.ts +28 -0
- package/dist/src/utils/cryptoAssets.d.ts.map +1 -0
- package/dist/src/utils/cryptoAssets.js +73 -0
- package/dist/src/utils/cryptoAssets.js.map +1 -0
- package/dist/src/utils/cryptoAssets.test.d.ts +2 -0
- package/dist/src/utils/cryptoAssets.test.d.ts.map +1 -0
- package/dist/src/utils/cryptoAssets.test.js +50 -0
- package/dist/src/utils/cryptoAssets.test.js.map +1 -0
- package/dist/src/utils/currency.d.ts +14 -0
- package/dist/src/utils/currency.d.ts.map +1 -0
- package/dist/src/utils/currency.js +27 -0
- package/dist/src/utils/currency.js.map +1 -0
- package/dist/src/utils/currency.test.d.ts +2 -0
- package/dist/src/utils/currency.test.d.ts.map +1 -0
- package/dist/src/utils/currency.test.js +34 -0
- package/dist/src/utils/currency.test.js.map +1 -0
- package/dist/src/utils/numbers.d.ts +26 -0
- package/dist/src/utils/numbers.d.ts.map +1 -0
- package/dist/src/utils/numbers.js +40 -0
- package/dist/src/utils/numbers.js.map +1 -0
- package/dist/src/utils/numbers.test.d.ts +2 -0
- package/dist/src/utils/numbers.test.d.ts.map +1 -0
- package/dist/src/utils/numbers.test.js +54 -0
- package/dist/src/utils/numbers.test.js.map +1 -0
- package/dist/src/utils/siww.d.ts +4 -0
- package/dist/src/utils/siww.d.ts.map +1 -0
- package/dist/src/utils/siww.js +19 -0
- package/dist/src/utils/siww.js.map +1 -0
- package/dist/src/utils/time.d.ts +5 -0
- package/dist/src/utils/time.d.ts.map +1 -0
- package/dist/src/utils/time.js +5 -0
- package/dist/src/utils/time.js.map +1 -0
- package/package.json +13 -5
- package/src/api/auth.ts +178 -0
- package/src/api/client.ts +78 -0
- package/src/api/fetch-error.ts +8 -0
- package/src/api/index.ts +2 -0
- package/src/api/portal.ts +56 -0
- package/src/assets/DefaultAvatar.tsx +74 -0
- package/src/components/Dropdown/AccountAddress.tsx +130 -0
- package/src/components/Dropdown/AccountAssets.tsx +110 -0
- package/src/components/Dropdown/AccountBalance.tsx +38 -0
- package/src/components/Dropdown/ConnectedTrigger.tsx +56 -0
- package/src/components/Dropdown/Content.tsx +148 -0
- package/src/components/Dropdown/DisconnectedTrigger.tsx +36 -0
- package/src/components/Dropdown/Dropdown.tsx +111 -0
- package/src/components/Dropdown/README.md +51 -0
- package/src/components/Dropdown/WelcomeBlock.tsx +92 -0
- package/src/components/Dropdown/index.ts +2 -0
- package/src/components/index.ts +1 -0
- package/src/hooks/constants.ts +6 -0
- package/src/hooks/index.ts +10 -0
- package/src/hooks/useAssetsUSDConversion.ts +31 -0
- package/src/hooks/useAuthApiClient.ts +6 -0
- package/src/hooks/useAuthenticateWithWallet.ts +98 -0
- package/src/hooks/useCreateAccount.ts +36 -0
- package/src/hooks/useCreateSession.ts +44 -0
- package/src/hooks/useDropdownData.ts +131 -0
- package/src/hooks/useEnsureNoSessionAndFetchNonce.ts +46 -0
- package/src/hooks/useGetAccountByAddress.ts +25 -0
- package/src/hooks/useGetAccountByMezoId.ts +25 -0
- package/src/hooks/useGetCurrentAccount.ts +62 -0
- package/src/hooks/useGetSession.ts +22 -0
- package/src/hooks/useLinkAccount.ts +33 -0
- package/src/hooks/usePassportContext.ts +11 -0
- package/src/hooks/usePortalApiClient.ts +6 -0
- package/src/hooks/useSignInWithDiscord.ts +35 -0
- package/src/hooks/useSignInWithWallet.ts +21 -0
- package/src/hooks/useSignOut.ts +35 -0
- package/src/hooks/useSignUpWithWallet.ts +21 -0
- package/src/hooks/useUpdateMezoId.ts +33 -0
- package/src/hooks/useWalletAccount.ts +53 -0
- package/src/index.ts +2 -0
- package/src/provider.ts +50 -0
- package/src/utils/address.test.ts +38 -0
- package/src/utils/address.ts +43 -0
- package/src/utils/cryptoAssets.test.ts +61 -0
- package/src/utils/cryptoAssets.ts +93 -0
- package/src/utils/currency.test.ts +38 -0
- package/src/utils/currency.ts +32 -0
- package/src/utils/numbers.test.ts +73 -0
- package/src/utils/numbers.ts +55 -0
- package/src/utils/siww.ts +31 -0
- package/src/utils/time.ts +4 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ApiClient } from "./client";
|
|
2
|
+
type AuthProvider = "discord";
|
|
3
|
+
export type LinkedWalletAccount = {
|
|
4
|
+
type: "wallet";
|
|
5
|
+
btcAddress?: string;
|
|
6
|
+
evmAddress: string;
|
|
7
|
+
};
|
|
8
|
+
export type LinkedProviderAccount = {
|
|
9
|
+
type: AuthProvider;
|
|
10
|
+
name: string;
|
|
11
|
+
id: string;
|
|
12
|
+
avatarUrl: string;
|
|
13
|
+
};
|
|
14
|
+
export type LinkedAccount = LinkedWalletAccount | LinkedProviderAccount;
|
|
15
|
+
type Account = {
|
|
16
|
+
mezoId: string;
|
|
17
|
+
hasModifiedMezoId: boolean;
|
|
18
|
+
linkedAccounts: LinkedAccount[];
|
|
19
|
+
};
|
|
20
|
+
export type Session = {
|
|
21
|
+
expiresIn: number;
|
|
22
|
+
expiresAt: number;
|
|
23
|
+
sessionLinks: {
|
|
24
|
+
_links: {
|
|
25
|
+
account: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type AuthenticationProviderRedirectResponse = {
|
|
30
|
+
redirectTo: string;
|
|
31
|
+
};
|
|
32
|
+
type SignatureData = {
|
|
33
|
+
message: string;
|
|
34
|
+
signature: string;
|
|
35
|
+
};
|
|
36
|
+
export type GetSessionResponse = Session | {
|
|
37
|
+
nonce: string;
|
|
38
|
+
};
|
|
39
|
+
export type CreateSessionRequest = ({
|
|
40
|
+
type: "wallet";
|
|
41
|
+
} & SignatureData) | {
|
|
42
|
+
type: "discord";
|
|
43
|
+
};
|
|
44
|
+
export type CreateSessionResponse = Session | AuthenticationProviderRedirectResponse;
|
|
45
|
+
export type DeleteSessionResponse = {
|
|
46
|
+
message: string;
|
|
47
|
+
};
|
|
48
|
+
export type GetCurrentAccountResponse = Partial<Account> | null;
|
|
49
|
+
export type GetAccountByMezoIdOrAddressResponse = {
|
|
50
|
+
mezoId?: string;
|
|
51
|
+
linkedAccounts?: Extract<LinkedAccount, {
|
|
52
|
+
type: "wallet";
|
|
53
|
+
}>[];
|
|
54
|
+
};
|
|
55
|
+
export type LinkAccountRequest = CreateSessionRequest;
|
|
56
|
+
export type LinkAccountResponse = Account | AuthenticationProviderRedirectResponse;
|
|
57
|
+
export type CreateAccountRequest = {
|
|
58
|
+
type: "wallet";
|
|
59
|
+
} & SignatureData;
|
|
60
|
+
export type CreateAccountResponse = Account;
|
|
61
|
+
export type UpdateMezoIdResponse = Account;
|
|
62
|
+
export declare const AUTH_API_ENDPOINTS_BY_ENV: {
|
|
63
|
+
mainnet: string;
|
|
64
|
+
testnet: string;
|
|
65
|
+
};
|
|
66
|
+
export declare class AuthApiClient extends ApiClient {
|
|
67
|
+
constructor(environment?: keyof typeof AUTH_API_ENDPOINTS_BY_ENV, apiUrl?: string);
|
|
68
|
+
getSession(code?: string): Promise<GetSessionResponse>;
|
|
69
|
+
createSession(createSessionRequest: CreateSessionRequest): Promise<CreateSessionResponse>;
|
|
70
|
+
deleteSession(): Promise<DeleteSessionResponse>;
|
|
71
|
+
getCurrentAccount(): Promise<GetCurrentAccountResponse>;
|
|
72
|
+
getAccountByMezoIdOrAddress(mezoIdOrAddress: string): Promise<GetAccountByMezoIdOrAddressResponse | null>;
|
|
73
|
+
linkAccount(linkAccountRequest: LinkAccountRequest): Promise<LinkAccountResponse>;
|
|
74
|
+
createAccount(createAccountRequest: CreateAccountRequest): Promise<Account>;
|
|
75
|
+
updateMezoId(newMezoId: string): Promise<Account>;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,KAAK,YAAY,GAAG,SAAS,CAAA;AAE7B,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAA;AAEvE,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,aAAa,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE;QACZ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,sCAAsC,GAAG;IACnD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAAC,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AACvB,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,sCAAsC,CAAA;AAE1C,MAAM,MAAM,qBAAqB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AAE/D,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,EAAE,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,sCAAsC,CAAA;AAE1C,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAAA;AACrE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAE3C,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAE1C,eAAO,MAAM,yBAAyB;;;CAGrC,CAAA;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAExC,WAAW,GAAE,MAAM,OAAO,yBAAqC,EAC/D,MAAM,CAAC,EAAE,MAAM;IAKX,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IASxB,aAAa,CAAC,oBAAoB,EAAE,oBAAoB;IASxD,aAAa;IAQb,iBAAiB;IAWjB,2BAA2B,CAAC,eAAe,EAAE,MAAM;IAqBnD,WAAW,CAAC,kBAAkB,EAAE,kBAAkB;IAYlD,aAAa,CAAC,oBAAoB,EAAE,oBAAoB;IASxD,YAAY,CAAC,SAAS,EAAE,MAAM;CAWrC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ApiClient } from "./client";
|
|
2
|
+
import { FetchError } from "./fetch-error";
|
|
3
|
+
export const AUTH_API_ENDPOINTS_BY_ENV = {
|
|
4
|
+
mainnet: "https://api.mezo.org",
|
|
5
|
+
testnet: "https://api.test.mezo.org",
|
|
6
|
+
};
|
|
7
|
+
export class AuthApiClient extends ApiClient {
|
|
8
|
+
constructor(environment = "mainnet", apiUrl) {
|
|
9
|
+
super(apiUrl ?? AUTH_API_ENDPOINTS_BY_ENV[environment]);
|
|
10
|
+
}
|
|
11
|
+
async getSession(code) {
|
|
12
|
+
const data = await this.handleRequest("/session", {
|
|
13
|
+
method: "GET",
|
|
14
|
+
queryParams: { code },
|
|
15
|
+
});
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
async createSession(createSessionRequest) {
|
|
19
|
+
const data = await this.handleRequest("/session", {
|
|
20
|
+
method: "POST",
|
|
21
|
+
body: createSessionRequest,
|
|
22
|
+
});
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
async deleteSession() {
|
|
26
|
+
const data = await this.handleRequest("/session", {
|
|
27
|
+
method: "DELETE",
|
|
28
|
+
});
|
|
29
|
+
return data;
|
|
30
|
+
}
|
|
31
|
+
async getCurrentAccount() {
|
|
32
|
+
const data = await this.handleRequest("/session/account", {
|
|
33
|
+
method: "GET",
|
|
34
|
+
});
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
async getAccountByMezoIdOrAddress(mezoIdOrAddress) {
|
|
38
|
+
let data;
|
|
39
|
+
try {
|
|
40
|
+
data = await this.handleRequest(`/accounts/${mezoIdOrAddress}`, {
|
|
41
|
+
method: "GET",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
// Return null if account is not found instead of throwing an error
|
|
46
|
+
if (error instanceof FetchError && error.status === 404) {
|
|
47
|
+
data = null;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
async linkAccount(linkAccountRequest) {
|
|
56
|
+
const data = await this.handleRequest("/session/account/linked-accounts", {
|
|
57
|
+
method: "POST",
|
|
58
|
+
body: linkAccountRequest,
|
|
59
|
+
});
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
async createAccount(createAccountRequest) {
|
|
63
|
+
const data = await this.handleRequest("/accounts", {
|
|
64
|
+
method: "POST",
|
|
65
|
+
body: createAccountRequest,
|
|
66
|
+
});
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
async updateMezoId(newMezoId) {
|
|
70
|
+
const data = await this.handleRequest("/session/account", {
|
|
71
|
+
method: "PATCH",
|
|
72
|
+
body: { mezoId: newMezoId },
|
|
73
|
+
});
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAyE1C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,2BAA2B;CACrC,CAAA;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YACE,cAAsD,SAAS,EAC/D,MAAe;QAEf,KAAK,CAAC,MAAM,IAAI,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAqB,UAAU,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE,IAAI,EAAE;SACtB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,oBAA0C;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAwB,UAAU,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAwB,UAAU,EAAE;YACvE,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,kBAAkB,EAClB;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,eAAuB;QACvD,IAAI,IAAI,CAAA;QACR,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAC7B,aAAa,eAAe,EAAE,EAC9B;gBACE,MAAM,EAAE,KAAK;aACd,CACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mEAAmE;YACnE,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxD,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,kBAAsC;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,kCAAkC,EAClC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,oBAA0C;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAwB,WAAW,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,kBAAkB,EAClB;YACE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC5B,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type RequestHandlerOptions = Omit<RequestInit, "credentials" | "body"> & {
|
|
2
|
+
body?: Record<string, unknown>;
|
|
3
|
+
queryParams?: Record<string, string | undefined>;
|
|
4
|
+
};
|
|
5
|
+
export declare abstract class ApiClient {
|
|
6
|
+
private apiUrl;
|
|
7
|
+
constructor(apiUrl: string);
|
|
8
|
+
/**
|
|
9
|
+
* The request handler for the Passport API. It accepts an API endpoint and
|
|
10
|
+
* request options.
|
|
11
|
+
* @dev Generic type `D` is a type of returned object from the function
|
|
12
|
+
* @dev WARNING: This function hardcodes `credentials: "include"`, meaning
|
|
13
|
+
* cookies and authentication headers will be sent with every request. Ensure
|
|
14
|
+
* this is safe if you plan to use it in other contexts than auth api worker.
|
|
15
|
+
* @param endpoint - The API endpoint to request. Should start with
|
|
16
|
+
* forward slash ("/")
|
|
17
|
+
* @param options - The request options, the `RequestInit` type with
|
|
18
|
+
* additional type-safe properties
|
|
19
|
+
* @returns The promise of the API response
|
|
20
|
+
*/
|
|
21
|
+
protected handleRequest<D>(endpoint: `/${string}`, options?: RequestHandlerOptions): Promise<D>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAEA,KAAK,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,GAAG;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACjD,CAAA;AAED,8BAAsB,SAAS;IAC7B,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;;;;;;;;;;;OAYG;cACa,aAAa,CAAC,CAAC,EAC7B,QAAQ,EAAE,IAAI,MAAM,EAAE,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,CAAC,CAAC;CA+Cd"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { FetchError } from "./fetch-error";
|
|
2
|
+
export class ApiClient {
|
|
3
|
+
apiUrl;
|
|
4
|
+
constructor(apiUrl) {
|
|
5
|
+
this.apiUrl = apiUrl;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The request handler for the Passport API. It accepts an API endpoint and
|
|
9
|
+
* request options.
|
|
10
|
+
* @dev Generic type `D` is a type of returned object from the function
|
|
11
|
+
* @dev WARNING: This function hardcodes `credentials: "include"`, meaning
|
|
12
|
+
* cookies and authentication headers will be sent with every request. Ensure
|
|
13
|
+
* this is safe if you plan to use it in other contexts than auth api worker.
|
|
14
|
+
* @param endpoint - The API endpoint to request. Should start with
|
|
15
|
+
* forward slash ("/")
|
|
16
|
+
* @param options - The request options, the `RequestInit` type with
|
|
17
|
+
* additional type-safe properties
|
|
18
|
+
* @returns The promise of the API response
|
|
19
|
+
*/
|
|
20
|
+
async handleRequest(endpoint, options = {}) {
|
|
21
|
+
try {
|
|
22
|
+
const { method, body, queryParams = {}, ...restOptions } = options;
|
|
23
|
+
// If last character in apiUrl is forward slash we are removing it
|
|
24
|
+
const authApiUrlRoute = this.apiUrl.replace(/\/$/, "");
|
|
25
|
+
const url = new URL(`${authApiUrlRoute}${endpoint}`);
|
|
26
|
+
// Removes falsy values (e.g. null, undefined etc.) from query params and
|
|
27
|
+
// appends remaining ones to the URL
|
|
28
|
+
Object.entries(queryParams)
|
|
29
|
+
.filter(([, value]) => value) // Remove falsy values
|
|
30
|
+
.forEach(([key, value]) => url.searchParams.append(key, value));
|
|
31
|
+
const response = await fetch(url, {
|
|
32
|
+
method,
|
|
33
|
+
credentials: "include",
|
|
34
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
35
|
+
...restOptions,
|
|
36
|
+
});
|
|
37
|
+
const data = await response.json();
|
|
38
|
+
if (!response.ok || data?.error) {
|
|
39
|
+
const error = data?.error ||
|
|
40
|
+
`An error occurred when handling API request: ${JSON.stringify(data)}`;
|
|
41
|
+
throw new FetchError(response.status, `Error [${response.status}]: ${error}`);
|
|
42
|
+
}
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof FetchError) {
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
const errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
|
|
50
|
+
throw new FetchError(500, `Error [500]: An error occurred when handling API request: ${errorMessage}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO1C,MAAM,OAAgB,SAAS;IACrB,MAAM,CAAQ;IAEtB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,aAAa,CAC3B,QAAsB,EACtB,UAAiC,EAAE;QAEnC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;YAElE,kEAAkE;YAClE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,eAAe,GAAG,QAAQ,EAAE,CAAC,CAAA;YAEpD,yEAAyE;YACzE,oCAAoC;YACpC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,sBAAsB;iBACnD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAM,CAAC,CAAC,CAAA;YAElE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,GAAG,WAAW;aACf,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChC,MAAM,KAAK,GACT,IAAI,EAAE,KAAK;oBACX,gDAAgD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;gBACxE,MAAM,IAAI,UAAU,CAClB,QAAQ,CAAC,MAAM,EACf,UAAU,QAAQ,CAAC,MAAM,MAAM,KAAK,EAAE,CACvC,CAAA;YACH,CAAC;YAED,OAAO,IAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAA;YACb,CAAC;YAED,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAChE,MAAM,IAAI,UAAU,CAClB,GAAG,EACH,6DAA6D,YAAY,EAAE,CAC5E,CAAA;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-error.d.ts","sourceRoot":"","sources":["../../../src/api/fetch-error.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;IAE1B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM;CAInB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-error.js","sourceRoot":"","sources":["../../../src/api/fetch-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAE1B;IADT,YACS,MAAc,EACrB,OAAgB;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,WAAM,GAAN,MAAM,CAAQ;IAIvB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ApiClient } from "./client";
|
|
2
|
+
type PortalStatistics = {
|
|
3
|
+
hodlers: number;
|
|
4
|
+
depositedBitcoin: string;
|
|
5
|
+
tvl: number;
|
|
6
|
+
currentUsdPerBtc: string;
|
|
7
|
+
currentUsdPerEth: string;
|
|
8
|
+
usdPerBtc24hChange: string;
|
|
9
|
+
};
|
|
10
|
+
type PortalMats = {
|
|
11
|
+
address: string;
|
|
12
|
+
totalMats: number;
|
|
13
|
+
matsFromDeposits: number;
|
|
14
|
+
matsFromReferrals: number;
|
|
15
|
+
matsFromSecondaryReferrals: number;
|
|
16
|
+
netMatsTransferred: number;
|
|
17
|
+
dailyMats: number;
|
|
18
|
+
dailyMatsFromDeposits: number;
|
|
19
|
+
dailyMatsFromReferrals: number;
|
|
20
|
+
dailyMatsFromSecondaryReferrals: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const PORTAL_API_ENDPOINTS_BY_ENV: {
|
|
23
|
+
mainnet: string;
|
|
24
|
+
testnet: string;
|
|
25
|
+
};
|
|
26
|
+
export declare class PortalApiClient extends ApiClient {
|
|
27
|
+
constructor(environment?: keyof typeof PORTAL_API_ENDPOINTS_BY_ENV, apiUrl?: string);
|
|
28
|
+
getPortalStatistics(): Promise<PortalStatistics>;
|
|
29
|
+
getPortalMats(address: string): Promise<PortalMats>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=portal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,+BAA+B,EAAE,MAAM,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,2BAA2B;;;CAGvC,CAAA;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAE1C,WAAW,GAAE,MAAM,OAAO,2BAAuC,EACjE,MAAM,CAAC,EAAE,MAAM;IAKX,mBAAmB;IAQnB,aAAa,CAAC,OAAO,EAAE,MAAM;CAUpC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ApiClient } from "./client";
|
|
2
|
+
export const PORTAL_API_ENDPOINTS_BY_ENV = {
|
|
3
|
+
mainnet: "https://api.mezo.org/api/v1",
|
|
4
|
+
testnet: "https://api.test.mezo.org/api/v1",
|
|
5
|
+
};
|
|
6
|
+
export class PortalApiClient extends ApiClient {
|
|
7
|
+
constructor(environment = "mainnet", apiUrl) {
|
|
8
|
+
super(apiUrl ?? PORTAL_API_ENDPOINTS_BY_ENV[environment]);
|
|
9
|
+
}
|
|
10
|
+
async getPortalStatistics() {
|
|
11
|
+
const data = await this.handleRequest("/statistics", {
|
|
12
|
+
method: "GET",
|
|
13
|
+
});
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
async getPortalMats(address) {
|
|
17
|
+
const data = await this.handleRequest(`/accounts/${address}/mats`, {
|
|
18
|
+
method: "GET",
|
|
19
|
+
});
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/api/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAwBpC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,kCAAkC;CAC5C,CAAA;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YACE,cAAwD,SAAS,EACjE,MAAe;QAEf,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAmB,aAAa,EAAE;YACrE,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,aAAa,OAAO,OAAO,EAC3B;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAvatar.d.ts","sourceRoot":"","sources":["../../../src/assets/DefaultAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAoEvC,iBAAS,sBAAsB,CAAC,KAAK,EAAE,UAAU,qBAEhD;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Block } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
function DefaultAvatar(props) {
|
|
4
|
+
return (React.createElement("svg", { viewBox: "0 0 214 214", fill: "none", ...props },
|
|
5
|
+
React.createElement("rect", { y: "-0.478027", width: "166.379", height: "81.7091", fill: "#FF004D" }),
|
|
6
|
+
React.createElement("rect", { x: "166", y: "-0.478027", width: "48", height: "82", fill: "black" }),
|
|
7
|
+
React.createElement("rect", { x: "166.379", y: "81.231", width: "24.1044", height: "132.291", fill: "#DFFF80" }),
|
|
8
|
+
React.createElement("rect", { x: "118.758", y: "81.231", width: "24.1044", height: "132.291", fill: "#FF5500" }),
|
|
9
|
+
React.createElement("rect", { x: "71.1372", y: "81.231", width: "24.1044", height: "132.291", fill: "#5A59A7" }),
|
|
10
|
+
React.createElement("rect", { x: "23.5166", y: "81.231", width: "24.1044", height: "132.291", fill: "#47B5FF" }),
|
|
11
|
+
React.createElement("rect", { y: "81.231", width: "23.5165", height: "132.291", fill: "#A3C238" }),
|
|
12
|
+
React.createElement("rect", { x: "190.483", y: "81.231", width: "23.5165", height: "132.291", fill: "#6E6E70" }),
|
|
13
|
+
React.createElement("rect", { x: "142.863", y: "81.231", width: "23.5165", height: "132.291", fill: "#0A3C01" }),
|
|
14
|
+
React.createElement("rect", { x: "95.2417", y: "81.231", width: "23.5165", height: "132.291", fill: "#F2A91F" }),
|
|
15
|
+
React.createElement("rect", { x: "47.6211", y: "81.231", width: "23.5165", height: "132.291", fill: "#6B3D01" })));
|
|
16
|
+
}
|
|
17
|
+
function DefaultAvatarComponent(props) {
|
|
18
|
+
return React.createElement(Block, { as: DefaultAvatar, ...props });
|
|
19
|
+
}
|
|
20
|
+
export default DefaultAvatarComponent;
|
|
21
|
+
//# sourceMappingURL=DefaultAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAvatar.js","sourceRoot":"","sources":["../../../src/assets/DefaultAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,SAAS,aAAa,CAAC,KAA8B;IACnD,OAAO,CACL,6BAAK,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,KAAK,KAAK;QAC9C,8BAAM,CAAC,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,GAAG;QACtE,8BAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,GAAG;QAClE,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,GAAG;QACnE,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd,CACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAiB;IAC/C,OAAO,oBAAC,KAAK,IAAC,EAAE,EAAE,aAAa,KAAM,KAAK,GAAI,CAAA;AAChD,CAAC;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAddress.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountAddress.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,GAAG,KAAK,CAAA;CACxB,CAAA;AAID,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBA6GhE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Block, Copy03 as CopyIcon, LinkExternal02 as LinkIcon, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { useCallback, useState } from "react";
|
|
3
|
+
import { useCopyToClipboard } from "usehooks-ts";
|
|
4
|
+
import { usePassportContext } from "../../hooks/usePassportContext";
|
|
5
|
+
import { getAddressExplorerUrl, trimAddress } from "../../utils/address";
|
|
6
|
+
import { getCryptoAsset } from "../../utils/cryptoAssets";
|
|
7
|
+
// TODO: Add visual feedback on copy
|
|
8
|
+
export default function AccountAddress(props) {
|
|
9
|
+
const { address, type } = props;
|
|
10
|
+
const { environment } = usePassportContext();
|
|
11
|
+
const blockExplorerUrl = getAddressExplorerUrl(address, type, environment === "testnet");
|
|
12
|
+
const trimmedAddress = trimAddress(address);
|
|
13
|
+
const { icon: accountIcon } = getCryptoAsset(type === "bitcoin" ? "btc" : "eth");
|
|
14
|
+
const [, theme] = useStyletron();
|
|
15
|
+
const [, copy] = useCopyToClipboard();
|
|
16
|
+
const [isCopiedMessageVisible, setIsCopiedMessageVisible] = useState(false);
|
|
17
|
+
const handleCopyAddress = useCallback(() => {
|
|
18
|
+
copy(address);
|
|
19
|
+
setIsCopiedMessageVisible(true);
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
setIsCopiedMessageVisible(false);
|
|
22
|
+
}, 2000);
|
|
23
|
+
}, [copy, address]);
|
|
24
|
+
return (React.createElement(Block, { as: "button", onClick: handleCopyAddress, display: "flex", alignItems: "center", backgroundColor: "transparent", padding: `${theme.sizing.scale600} ${theme.sizing.scale500}`, overrides: {
|
|
25
|
+
Block: {
|
|
26
|
+
style: {
|
|
27
|
+
borderWidth: 0,
|
|
28
|
+
cursor: "pointer",
|
|
29
|
+
":hover": {
|
|
30
|
+
backgroundColor: theme.colors.backgroundTertiary,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
} },
|
|
35
|
+
React.createElement(Block, { as: accountIcon, size: theme.sizing.scale600 }),
|
|
36
|
+
isCopiedMessageVisible ? (React.createElement(ParagraphSmall, { margin: 0, marginLeft: theme.sizing.scale300, color: theme.colors.gray800 }, "Copied address to clipboard")) : (React.createElement(Block, { as: "a", marginLeft: theme.sizing.scale300, href: blockExplorerUrl, target: "_blank", overrides: {
|
|
37
|
+
Block: {
|
|
38
|
+
style: {
|
|
39
|
+
color: "inherit",
|
|
40
|
+
textDecoration: "none",
|
|
41
|
+
":hover": {
|
|
42
|
+
textDecoration: "underline",
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
} },
|
|
47
|
+
React.createElement(ParagraphSmall, { display: "flex", alignItems: "center", margin: 0, color: theme.colors.gray800 },
|
|
48
|
+
trimmedAddress,
|
|
49
|
+
React.createElement(LinkIcon, { display: "inline", size: theme.sizing.scale550, overrides: {
|
|
50
|
+
Svg: {
|
|
51
|
+
style: {
|
|
52
|
+
stroke: "currentColor",
|
|
53
|
+
marginLeft: theme.sizing.scale200,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
} })))),
|
|
57
|
+
React.createElement(CopyIcon, { size: theme.sizing.scale550, overrides: {
|
|
58
|
+
Svg: {
|
|
59
|
+
style: {
|
|
60
|
+
marginLeft: "auto",
|
|
61
|
+
stroke: "currentColor",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
} })));
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=AccountAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAddress.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountAddress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CryptoAssetKey } from "../../utils/cryptoAssets";
|
|
3
|
+
type AccountAssetsProps = {
|
|
4
|
+
label: string | React.ReactNode;
|
|
5
|
+
assets: {
|
|
6
|
+
type: CryptoAssetKey;
|
|
7
|
+
decimals: number;
|
|
8
|
+
balance: number;
|
|
9
|
+
balanceInUsd: number;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
export default function AccountAssets(props: AccountAssetsProps): React.JSX.Element | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=AccountAssets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAssets.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountAssets.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAA;AAGzE,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,cAAc,CAAA;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;KACrB,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,kBAAkB,4BAyF9D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Block, LabelSmall, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import { getCryptoAsset } from "../../utils/cryptoAssets";
|
|
4
|
+
import { formatUsd } from "../../utils/currency";
|
|
5
|
+
export default function AccountAssets(props) {
|
|
6
|
+
const { label, assets } = props;
|
|
7
|
+
const [, theme] = useStyletron();
|
|
8
|
+
const assetsData = useMemo(() => assets.map((token) => {
|
|
9
|
+
const { name, symbol, icon } = getCryptoAsset(token.type);
|
|
10
|
+
return {
|
|
11
|
+
...token,
|
|
12
|
+
icon,
|
|
13
|
+
label: name,
|
|
14
|
+
symbol,
|
|
15
|
+
};
|
|
16
|
+
}), [assets]);
|
|
17
|
+
const labelContent = typeof label === "string" ? (React.createElement(ParagraphSmall, { margin: 0, color: theme.colors.gray800 }, label)) : (label);
|
|
18
|
+
if (assetsData.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return (React.createElement(Block, { padding: `0 ${theme.sizing.scale500}` },
|
|
22
|
+
React.createElement(Block, { margin: `${theme.sizing.scale400} 0` }, labelContent),
|
|
23
|
+
React.createElement(Block, { as: "ul", marginBottom: theme.sizing.scale600, padding: 0, display: "flex", flexDirection: "column", overrides: {
|
|
24
|
+
Block: {
|
|
25
|
+
style: {
|
|
26
|
+
gap: theme.sizing.scale100,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
} }, assetsData.map((asset) => (React.createElement(Block, { as: "li", key: `${asset.type}-${asset.balance}`, display: "flex", justifyContent: "space-between", alignItems: "center", margin: `${theme.sizing.scale100} 0` },
|
|
30
|
+
React.createElement(asset.icon, { size: theme.sizing.scale800, overrides: {
|
|
31
|
+
Svg: {
|
|
32
|
+
style: {
|
|
33
|
+
marginRight: theme.sizing.scale500,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
} }),
|
|
37
|
+
React.createElement(Block, { flex: 1 },
|
|
38
|
+
React.createElement(LabelSmall, { margin: 0 }, asset.label),
|
|
39
|
+
React.createElement(ParagraphSmall, { margin: 0, color: theme.colors.gray500 }, asset.symbol)),
|
|
40
|
+
React.createElement(Block, { display: "flex", alignItems: "end", flexDirection: "column" },
|
|
41
|
+
React.createElement(LabelSmall, { margin: 0 }, asset.balance),
|
|
42
|
+
React.createElement(ParagraphSmall, { margin: 0, color: theme.colors.gray500 }, formatUsd(asset.balanceInUsd)))))))));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=AccountAssets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAssets.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountAssets.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountBalance.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAwBhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Block, HeadingSmall, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { formatUsd } from "../../utils/currency";
|
|
4
|
+
export default function AccountBalance(props) {
|
|
5
|
+
const { amount } = props;
|
|
6
|
+
const formattedUsdBalance = formatUsd(amount);
|
|
7
|
+
const [, theme] = useStyletron();
|
|
8
|
+
return (React.createElement(Block, { padding: theme.sizing.scale500, overrides: {
|
|
9
|
+
Block: {
|
|
10
|
+
style: {
|
|
11
|
+
borderBottom: `1px solid ${theme.colors.backgroundPrimary}`,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
} },
|
|
15
|
+
React.createElement(ParagraphSmall, { margin: 0, color: theme.colors.gray800 }, "Available balance"),
|
|
16
|
+
React.createElement(HeadingSmall, { margin: 0 }, formattedUsdBalance)));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=AccountBalance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMhD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC9B,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;iBAC5D;aACF;SACF;QAED,oBAAC,cAAc,IAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,wBAErC;QACjB,oBAAC,YAAY,IAAC,MAAM,EAAE,CAAC,IAAG,mBAAmB,CAAgB,CACvD,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ButtonProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
declare const ConnectedTrigger: React.ForwardRefExoticComponent<Omit<ButtonProps, "children"> & {
|
|
4
|
+
avatar: ReactNode;
|
|
5
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export default ConnectedTrigger;
|
|
7
|
+
//# sourceMappingURL=ConnectedTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectedTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/ConnectedTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAgB,MAAM,qBAAqB,CAAA;AACtE,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAMpD,QAAA,MAAM,gBAAgB;YAHZ,SAAS;2CAiDlB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|