@dfx.swiss/react 1.0.0-beta.1
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/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/contexts/asset.context.d.ts +15 -0
- package/dist/contexts/asset.context.d.ts.map +1 -0
- package/dist/contexts/asset.context.js +50 -0
- package/dist/contexts/asset.context.js.map +1 -0
- package/dist/contexts/auth.context.d.ts +12 -0
- package/dist/contexts/auth.context.d.ts.map +1 -0
- package/dist/contexts/auth.context.js +77 -0
- package/dist/contexts/auth.context.js.map +1 -0
- package/dist/contexts/buy.context.d.ts +17 -0
- package/dist/contexts/buy.context.d.ts.map +1 -0
- package/dist/contexts/buy.context.js +116 -0
- package/dist/contexts/buy.context.js.map +1 -0
- package/dist/contexts/dfx.context.d.ts +6 -0
- package/dist/contexts/dfx.context.d.ts.map +1 -0
- package/dist/contexts/dfx.context.js +21 -0
- package/dist/contexts/dfx.context.js.map +1 -0
- package/dist/contexts/session.context.d.ts +25 -0
- package/dist/contexts/session.context.d.ts.map +1 -0
- package/dist/contexts/session.context.js +155 -0
- package/dist/contexts/session.context.js.map +1 -0
- package/dist/contexts/user.context.d.ts +17 -0
- package/dist/contexts/user.context.d.ts.map +1 -0
- package/dist/contexts/user.context.js +108 -0
- package/dist/contexts/user.context.js.map +1 -0
- package/dist/definitions/asset.d.ts +23 -0
- package/dist/definitions/asset.d.ts.map +1 -0
- package/dist/definitions/asset.js +8 -0
- package/dist/definitions/asset.js.map +1 -0
- package/dist/definitions/auth.d.ts +12 -0
- package/dist/definitions/auth.d.ts.map +1 -0
- package/dist/definitions/auth.js +2 -0
- package/dist/definitions/auth.js.map +1 -0
- package/dist/definitions/bank-account.d.ts +14 -0
- package/dist/definitions/bank-account.d.ts.map +1 -0
- package/dist/definitions/bank-account.js +6 -0
- package/dist/definitions/bank-account.js.map +1 -0
- package/dist/definitions/blockchain.d.ts +11 -0
- package/dist/definitions/blockchain.d.ts.map +1 -0
- package/dist/definitions/blockchain.js +12 -0
- package/dist/definitions/blockchain.js.map +1 -0
- package/dist/definitions/buy.d.ts +29 -0
- package/dist/definitions/buy.d.ts.map +1 -0
- package/dist/definitions/buy.js +2 -0
- package/dist/definitions/buy.js.map +1 -0
- package/dist/definitions/country.d.ts +9 -0
- package/dist/definitions/country.d.ts.map +1 -0
- package/dist/definitions/country.js +2 -0
- package/dist/definitions/country.js.map +1 -0
- package/dist/definitions/error.d.ts +5 -0
- package/dist/definitions/error.d.ts.map +1 -0
- package/dist/definitions/error.js +2 -0
- package/dist/definitions/error.js.map +1 -0
- package/dist/definitions/fiat.d.ts +10 -0
- package/dist/definitions/fiat.d.ts.map +1 -0
- package/dist/definitions/fiat.js +2 -0
- package/dist/definitions/fiat.js.map +1 -0
- package/dist/definitions/jwt.d.ts +8 -0
- package/dist/definitions/jwt.d.ts.map +1 -0
- package/dist/definitions/jwt.js +2 -0
- package/dist/definitions/jwt.js.map +1 -0
- package/dist/definitions/kyc.d.ts +43 -0
- package/dist/definitions/kyc.d.ts.map +1 -0
- package/dist/definitions/kyc.js +25 -0
- package/dist/definitions/kyc.js.map +1 -0
- package/dist/definitions/sell.d.ts +24 -0
- package/dist/definitions/sell.d.ts.map +1 -0
- package/dist/definitions/sell.js +2 -0
- package/dist/definitions/sell.js.map +1 -0
- package/dist/definitions/session.d.ts +6 -0
- package/dist/definitions/session.d.ts.map +1 -0
- package/dist/definitions/session.js +2 -0
- package/dist/definitions/session.js.map +1 -0
- package/dist/definitions/user.d.ts +24 -0
- package/dist/definitions/user.d.ts.map +1 -0
- package/dist/definitions/user.js +2 -0
- package/dist/definitions/user.js.map +1 -0
- package/dist/hooks/api-session.hook.d.ts +9 -0
- package/dist/hooks/api-session.hook.d.ts.map +1 -0
- package/dist/hooks/api-session.hook.js +69 -0
- package/dist/hooks/api-session.hook.js.map +1 -0
- package/dist/hooks/api.hook.d.ts +17 -0
- package/dist/hooks/api.hook.d.ts.map +1 -0
- package/dist/hooks/api.hook.js +90 -0
- package/dist/hooks/api.hook.js.map +1 -0
- package/dist/hooks/asset.hook.d.ts +6 -0
- package/dist/hooks/asset.hook.d.ts.map +1 -0
- package/dist/hooks/asset.hook.js +50 -0
- package/dist/hooks/asset.hook.js.map +1 -0
- package/dist/hooks/auth.hook.d.ts +8 -0
- package/dist/hooks/auth.hook.d.ts.map +1 -0
- package/dist/hooks/auth.hook.js +64 -0
- package/dist/hooks/auth.hook.js.map +1 -0
- package/dist/hooks/bank-account.hook.d.ts +18 -0
- package/dist/hooks/bank-account.hook.d.ts.map +1 -0
- package/dist/hooks/bank-account.hook.js +64 -0
- package/dist/hooks/bank-account.hook.js.map +1 -0
- package/dist/hooks/buy.hook.d.ts +6 -0
- package/dist/hooks/buy.hook.d.ts.map +1 -0
- package/dist/hooks/buy.hook.js +50 -0
- package/dist/hooks/buy.hook.js.map +1 -0
- package/dist/hooks/country.hook.d.ts +6 -0
- package/dist/hooks/country.hook.d.ts.map +1 -0
- package/dist/hooks/country.hook.js +50 -0
- package/dist/hooks/country.hook.js.map +1 -0
- package/dist/hooks/fiat.hook.d.ts +9 -0
- package/dist/hooks/fiat.hook.d.ts.map +1 -0
- package/dist/hooks/fiat.hook.js +70 -0
- package/dist/hooks/fiat.hook.js.map +1 -0
- package/dist/hooks/kyc.hook.d.ts +7 -0
- package/dist/hooks/kyc.hook.d.ts.map +1 -0
- package/dist/hooks/kyc.hook.js +54 -0
- package/dist/hooks/kyc.hook.js.map +1 -0
- package/dist/hooks/sell.hook.d.ts +6 -0
- package/dist/hooks/sell.hook.d.ts.map +1 -0
- package/dist/hooks/sell.hook.js +50 -0
- package/dist/hooks/sell.hook.js.map +1 -0
- package/dist/hooks/store.hook.d.ts +9 -0
- package/dist/hooks/store.hook.d.ts.map +1 -0
- package/dist/hooks/store.hook.js +25 -0
- package/dist/hooks/store.hook.js.map +1 -0
- package/dist/hooks/user.hook.d.ts +7 -0
- package/dist/hooks/user.hook.d.ts.map +1 -0
- package/dist/hooks/user.hook.js +75 -0
- package/dist/hooks/user.hook.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +15 -0
- package/dist/utils.js.map +1 -0
- package/package.json +24 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 DFX
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
import { Asset } from "../definitions/asset";
|
|
3
|
+
import { Blockchain } from "../definitions/blockchain";
|
|
4
|
+
interface AssetInterface {
|
|
5
|
+
assets: Map<Blockchain, Asset[]>;
|
|
6
|
+
assetsLoading: boolean;
|
|
7
|
+
getAsset: (id: number, filter?: {
|
|
8
|
+
buyable?: boolean;
|
|
9
|
+
sellable?: boolean;
|
|
10
|
+
}) => Asset | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare function useAssetContext(): AssetInterface;
|
|
13
|
+
export declare function AssetContextProvider(props: PropsWithChildren): JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=asset.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.context.d.ts","sourceRoot":"","sources":["../../src/contexts/asset.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,UAAU,cAAc;IACtB,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CACR,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC/C,KAAK,GAAG,SAAS,CAAC;CACxB;AAID,wBAAgB,eAAe,IAAI,cAAc,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAiD1E"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext, useEffect, useMemo, useState, } from "react";
|
|
14
|
+
import { useAsset } from "../hooks/asset.hook";
|
|
15
|
+
import { useAuthContext } from "./auth.context";
|
|
16
|
+
import { Utils } from "../utils";
|
|
17
|
+
var AssetContext = createContext(undefined);
|
|
18
|
+
export function useAssetContext() {
|
|
19
|
+
return useContext(AssetContext);
|
|
20
|
+
}
|
|
21
|
+
export function AssetContextProvider(props) {
|
|
22
|
+
var isLoggedIn = useAuthContext().isLoggedIn;
|
|
23
|
+
var getAssets = useAsset().getAssets;
|
|
24
|
+
var _a = useState(new Map()), assets = _a[0], setAssets = _a[1];
|
|
25
|
+
var _b = useState(false), assetsLoading = _b[0], setAssetsLoading = _b[1];
|
|
26
|
+
useEffect(function () {
|
|
27
|
+
setAssetsLoading(true);
|
|
28
|
+
getAssets()
|
|
29
|
+
.then(updateAssets)
|
|
30
|
+
.finally(function () { return setAssetsLoading(false); });
|
|
31
|
+
}, [isLoggedIn]);
|
|
32
|
+
function updateAssets(assets) {
|
|
33
|
+
setAssets(Utils.groupBy(assets
|
|
34
|
+
.filter(function (a) { return a.buyable || a.comingSoon; })
|
|
35
|
+
.sort(function (a, b) { var _a, _b; return ((_a = a.sortOrder) !== null && _a !== void 0 ? _a : 1) - ((_b = b.sortOrder) !== null && _b !== void 0 ? _b : 1); }), "blockchain"));
|
|
36
|
+
}
|
|
37
|
+
function getAsset(id, filter) {
|
|
38
|
+
return Array.from(assets.values())
|
|
39
|
+
.reduce(function (prev, curr) { return prev.concat(curr); }, [])
|
|
40
|
+
.filter(function (asset) {
|
|
41
|
+
return filter === undefined ||
|
|
42
|
+
((filter === null || filter === void 0 ? void 0 : filter.buyable) !== undefined && filter.buyable === asset.buyable) ||
|
|
43
|
+
((filter === null || filter === void 0 ? void 0 : filter.sellable) !== undefined && filter.sellable === asset.sellable);
|
|
44
|
+
})
|
|
45
|
+
.find(function (asset) { return asset.id === id; });
|
|
46
|
+
}
|
|
47
|
+
var context = useMemo(function () { return ({ assets: assets, assetsLoading: assetsLoading, getAsset: getAsset }); }, [assets, assetsLoading, getAsset]);
|
|
48
|
+
return (_jsx(AssetContext.Provider, __assign({ value: context }, { children: props.children })));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=asset.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.context.js","sourceRoot":"","sources":["../../src/contexts/asset.context.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAWjC,IAAM,YAAY,GAAG,aAAa,CAAiB,SAAgB,CAAC,CAAC;AAErE,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAwB;IACnD,IAAA,UAAU,GAAK,cAAc,EAAE,WAArB,CAAsB;IAChC,IAAA,SAAS,GAAK,QAAQ,EAAE,UAAf,CAAgB;IAC3B,IAAA,KAAsB,QAAQ,CAA2B,IAAI,GAAG,EAAE,CAAC,EAAlE,MAAM,QAAA,EAAE,SAAS,QAAiD,CAAC;IACpE,IAAA,KAAoC,QAAQ,CAAU,KAAK,CAAC,EAA3D,aAAa,QAAA,EAAE,gBAAgB,QAA4B,CAAC;IAEnE,SAAS,CAAC;QACR,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,EAAE;aACR,IAAI,CAAC,YAAY,CAAC;aAClB,OAAO,CAAC,cAAM,OAAA,gBAAgB,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,YAAY,CAAC,MAAe;QACnC,SAAS,CACP,KAAK,CAAC,OAAO,CACX,MAAM;aACH,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,EAAzB,CAAyB,CAAC;aACxC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,CAAC,MAAA,CAAC,CAAC,SAAS,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,SAAS,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,EAC1D,YAAY,CACb,CACF,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CACf,EAAU,EACV,MAAkD;QAElD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aAC/B,MAAM,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAjB,CAAiB,EAAE,EAAE,CAAC;aAC7C,MAAM,CACL,UAAC,KAAK;YACJ,OAAA,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC;gBACnE,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;QAFtE,CAEsE,CACzE;aACA,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,KAAK,EAAE,EAAf,CAAe,CAAC,CAAC;IACtC,CAAC;IAED,IAAM,OAAO,GAAmB,OAAO,CACrC,cAAM,OAAA,CAAC,EAAE,MAAM,QAAA,EAAE,aAAa,eAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAArC,CAAqC,EAC3C,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAClC,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,aAAC,KAAK,EAAE,OAAO,gBAClC,KAAK,CAAC,QAAQ,IACO,CACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
import { Session } from "../definitions/session";
|
|
3
|
+
interface AuthInterface {
|
|
4
|
+
authenticationToken?: string;
|
|
5
|
+
session?: Session;
|
|
6
|
+
setAuthenticationToken: (authenticationToken?: string) => void;
|
|
7
|
+
isLoggedIn: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function useAuthContext(): AuthInterface;
|
|
10
|
+
export declare function AuthContextProvider(props: PropsWithChildren): JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=auth.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.context.d.ts","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,UAAU,aAAa;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAqEzE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import jwtDecode from "jwt-decode";
|
|
14
|
+
import { createContext, useContext, useEffect, useMemo, useState, } from "react";
|
|
15
|
+
import { Utils } from "../utils";
|
|
16
|
+
import { useStore } from "../hooks/store.hook";
|
|
17
|
+
var AuthContext = createContext(undefined);
|
|
18
|
+
export function useAuthContext() {
|
|
19
|
+
return useContext(AuthContext);
|
|
20
|
+
}
|
|
21
|
+
export function AuthContextProvider(props) {
|
|
22
|
+
var _a = useState(), token = _a[0], setToken = _a[1];
|
|
23
|
+
var _b = useState(), jwt = _b[0], setJwt = _b[1];
|
|
24
|
+
var authenticationToken = useStore().authenticationToken;
|
|
25
|
+
var tokenWithFallback = token !== null && token !== void 0 ? token : authenticationToken.get();
|
|
26
|
+
var isLoggedIn = tokenWithFallback != undefined && !isExpired();
|
|
27
|
+
var session = useMemo(function () {
|
|
28
|
+
return jwt
|
|
29
|
+
? { address: jwt === null || jwt === void 0 ? void 0 : jwt.address, blockchains: jwt === null || jwt === void 0 ? void 0 : jwt.blockchains }
|
|
30
|
+
: undefined;
|
|
31
|
+
}, [jwt]);
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
if (!token)
|
|
34
|
+
setAuthenticationToken(authenticationToken.get());
|
|
35
|
+
}, []);
|
|
36
|
+
function isExpired() {
|
|
37
|
+
if (!tokenWithFallback)
|
|
38
|
+
return true;
|
|
39
|
+
try {
|
|
40
|
+
var decoded = jwt !== null && jwt !== void 0 ? jwt : jwtDecode(tokenWithFallback);
|
|
41
|
+
return ((decoded === null || decoded === void 0 ? void 0 : decoded.exp) != null &&
|
|
42
|
+
Date.now() > new Date((decoded === null || decoded === void 0 ? void 0 : decoded.exp) * 1000).getTime());
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
authenticationToken.remove();
|
|
46
|
+
setToken(undefined);
|
|
47
|
+
setJwt(undefined);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function setAuthenticationToken(token) {
|
|
52
|
+
token ? authenticationToken.set(token) : authenticationToken.remove();
|
|
53
|
+
setToken(token);
|
|
54
|
+
if (token && Utils.isJwt(token)) {
|
|
55
|
+
setJwt(jwtDecode(token));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
setJwt(undefined);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
var context = useMemo(function () { return ({
|
|
62
|
+
authenticationToken: tokenWithFallback,
|
|
63
|
+
session: session,
|
|
64
|
+
setAuthenticationToken: setAuthenticationToken,
|
|
65
|
+
isLoggedIn: isLoggedIn,
|
|
66
|
+
}); }, [
|
|
67
|
+
tokenWithFallback,
|
|
68
|
+
token,
|
|
69
|
+
session,
|
|
70
|
+
jwt,
|
|
71
|
+
setAuthenticationToken,
|
|
72
|
+
authenticationToken,
|
|
73
|
+
isLoggedIn,
|
|
74
|
+
]);
|
|
75
|
+
return (_jsx(AuthContext.Provider, __assign({ value: context }, { children: props.children })));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=auth.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.context.js","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { Fiat } from '../definitions/fiat';
|
|
3
|
+
import { CreateBankAccount, UpdateBankAccount } from '../hooks/bank-account.hook';
|
|
4
|
+
import { BankAccount } from '../definitions/bank-account';
|
|
5
|
+
import { Buy, BuyPaymentInfo } from '../definitions/buy';
|
|
6
|
+
interface BuyInterface {
|
|
7
|
+
currencies?: Fiat[];
|
|
8
|
+
bankAccounts?: BankAccount[];
|
|
9
|
+
isAccountLoading: boolean;
|
|
10
|
+
createAccount: (newAccount: CreateBankAccount) => Promise<BankAccount>;
|
|
11
|
+
updateAccount: (id: number, changedAccount: UpdateBankAccount) => Promise<BankAccount>;
|
|
12
|
+
receiveFor: (info: BuyPaymentInfo) => Promise<Buy>;
|
|
13
|
+
}
|
|
14
|
+
export declare function useBuyContext(): BuyInterface;
|
|
15
|
+
export declare function BuyContextProvider(props: PropsWithChildren): JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=buy.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.context.d.ts","sourceRoot":"","sources":["../../src/contexts/buy.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvF,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACpD;AAID,wBAAgB,aAAa,IAAI,YAAY,CAE5C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAwDxE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
49
|
+
import { createContext, useContext, useEffect, useMemo, useState } from 'react';
|
|
50
|
+
import { useFiat } from '../hooks/fiat.hook';
|
|
51
|
+
import { useAuthContext } from './auth.context';
|
|
52
|
+
import { useBankAccount } from '../hooks/bank-account.hook';
|
|
53
|
+
import { useBuy } from '../hooks/buy.hook';
|
|
54
|
+
var BuyContext = createContext(undefined);
|
|
55
|
+
export function useBuyContext() {
|
|
56
|
+
return useContext(BuyContext);
|
|
57
|
+
}
|
|
58
|
+
export function BuyContextProvider(props) {
|
|
59
|
+
var isLoggedIn = useAuthContext().isLoggedIn;
|
|
60
|
+
var _a = useState(), currencies = _a[0], setCurrencies = _a[1];
|
|
61
|
+
var _b = useState(), bankAccounts = _b[0], setBankAccounts = _b[1];
|
|
62
|
+
var _c = useState(false), isAccountLoading = _c[0], setIsAccountLoading = _c[1];
|
|
63
|
+
var getCurrencies = useFiat().getCurrencies;
|
|
64
|
+
var _d = useBankAccount(), getAccounts = _d.getAccounts, createAccount = _d.createAccount, updateAccount = _d.updateAccount;
|
|
65
|
+
var receiveFor = useBuy().receiveFor;
|
|
66
|
+
useEffect(function () {
|
|
67
|
+
if (isLoggedIn) {
|
|
68
|
+
Promise.all([getCurrencies(), getAccounts()])
|
|
69
|
+
.then(function (_a) {
|
|
70
|
+
var currencies = _a[0], bankAccounts = _a[1];
|
|
71
|
+
setCurrencies(currencies.filter(function (c) { return c.sellable; }));
|
|
72
|
+
setBankAccounts(bankAccounts);
|
|
73
|
+
})
|
|
74
|
+
.catch(console.error); // TODO: (Krysh) add real error handling
|
|
75
|
+
}
|
|
76
|
+
}, [isLoggedIn]);
|
|
77
|
+
function addNewAccount(newAccount) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
setIsAccountLoading(true);
|
|
81
|
+
return [2 /*return*/, createAccount(newAccount)
|
|
82
|
+
.then(function (b) {
|
|
83
|
+
setBankAccounts((bankAccounts !== null && bankAccounts !== void 0 ? bankAccounts : []).concat(b));
|
|
84
|
+
return b;
|
|
85
|
+
})
|
|
86
|
+
.finally(function () { return setIsAccountLoading(false); })];
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function updateExistingAccount(id, changedAccount) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
return [2 /*return*/, updateAccount(id, changedAccount).then(function (b) {
|
|
94
|
+
setBankAccounts(replace(b, bankAccounts));
|
|
95
|
+
return b;
|
|
96
|
+
})];
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function replace(account, accounts) {
|
|
101
|
+
var index = accounts === null || accounts === void 0 ? void 0 : accounts.findIndex(function (b) { return b.id === account.id; });
|
|
102
|
+
if (index && accounts)
|
|
103
|
+
accounts[index] = account;
|
|
104
|
+
return accounts;
|
|
105
|
+
}
|
|
106
|
+
var context = useMemo(function () { return ({
|
|
107
|
+
currencies: currencies,
|
|
108
|
+
bankAccounts: bankAccounts,
|
|
109
|
+
isAccountLoading: isAccountLoading,
|
|
110
|
+
createAccount: addNewAccount,
|
|
111
|
+
updateAccount: updateExistingAccount,
|
|
112
|
+
receiveFor: receiveFor,
|
|
113
|
+
}); }, [currencies, bankAccounts, isAccountLoading, addNewAccount, updateExistingAccount, receiveFor]);
|
|
114
|
+
return _jsx(BuyContext.Provider, __assign({ value: context }, { children: props.children }));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=buy.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.context.js","sourceRoot":"","sources":["../../src/contexts/buy.context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { SessionContextProviderProps } from './session.context';
|
|
3
|
+
type DfxContextProviderProps = SessionContextProviderProps & PropsWithChildren;
|
|
4
|
+
export declare function DfxContextProvider(props: DfxContextProviderProps): JSX.Element;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=dfx.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfx.context.d.ts","sourceRoot":"","sources":["../../src/contexts/dfx.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAA0B,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGxF,KAAK,uBAAuB,GAAG,2BAA2B,GAAG,iBAAiB,CAAC;AAE/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAY9E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { AssetContextProvider } from './asset.context';
|
|
14
|
+
import { AuthContextProvider } from './auth.context';
|
|
15
|
+
import { BuyContextProvider } from './buy.context';
|
|
16
|
+
import { SessionContextProvider } from './session.context';
|
|
17
|
+
import { UserContextProvider } from './user.context';
|
|
18
|
+
export function DfxContextProvider(props) {
|
|
19
|
+
return (_jsx(AuthContextProvider, { children: _jsx(SessionContextProvider, __assign({ api: props.api, data: props.data }, { children: _jsx(UserContextProvider, { children: _jsx(AssetContextProvider, { children: _jsx(BuyContextProvider, { children: props.children }) }) }) })) }));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=dfx.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfx.context.js","sourceRoot":"","sources":["../../src/contexts/dfx.context.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAA+B,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIrD,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,OAAO,CACL,KAAC,mBAAmB,cAClB,KAAC,sBAAsB,aAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,gBACtD,KAAC,mBAAmB,cAClB,KAAC,oBAAoB,cACnB,KAAC,kBAAkB,cAAE,KAAK,CAAC,QAAQ,GAAsB,GACpC,GACH,IACC,GACL,CACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { Blockchain } from '../definitions/blockchain';
|
|
3
|
+
export interface SessionInterface {
|
|
4
|
+
address?: string;
|
|
5
|
+
blockchain?: Blockchain;
|
|
6
|
+
availableBlockchains?: Blockchain[];
|
|
7
|
+
isLoggedIn: boolean;
|
|
8
|
+
needsSignUp: boolean;
|
|
9
|
+
isProcessing: boolean;
|
|
10
|
+
login: () => Promise<void>;
|
|
11
|
+
signUp: () => Promise<void>;
|
|
12
|
+
logout: () => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function useSessionContext(): SessionInterface;
|
|
15
|
+
export interface SessionContextProviderProps extends PropsWithChildren {
|
|
16
|
+
api: {
|
|
17
|
+
signMessage?: (message: string, address: string) => Promise<string>;
|
|
18
|
+
};
|
|
19
|
+
data: {
|
|
20
|
+
address?: string;
|
|
21
|
+
blockchain?: Blockchain;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function SessionContextProvider({ api, data, children }: SessionContextProviderProps): JSX.Element;
|
|
25
|
+
//# sourceMappingURL=session.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.context.d.ts","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,IAAI,gBAAgB,CAEpD;AAED,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,GAAG,EAAE;QACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KACrE,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAyExG"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
49
|
+
import { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
50
|
+
import { useApiSession } from '../hooks/api-session.hook';
|
|
51
|
+
import { useAuthContext } from './auth.context';
|
|
52
|
+
var SessionContext = createContext(undefined);
|
|
53
|
+
export function useSessionContext() {
|
|
54
|
+
return useContext(SessionContext);
|
|
55
|
+
}
|
|
56
|
+
export function SessionContextProvider(_a) {
|
|
57
|
+
var api = _a.api, data = _a.data, children = _a.children;
|
|
58
|
+
var session = useAuthContext().session;
|
|
59
|
+
var _b = useApiSession(), isLoggedIn = _b.isLoggedIn, getSignMessage = _b.getSignMessage, createSession = _b.createSession, deleteSession = _b.deleteSession;
|
|
60
|
+
var _c = useState(false), needsSignUp = _c[0], setNeedsSignUp = _c[1];
|
|
61
|
+
var _d = useState(false), isProcessing = _d[0], setIsProcessing = _d[1];
|
|
62
|
+
var _e = useState(), signature = _e[0], setSignature = _e[1];
|
|
63
|
+
var firstRender = useRef(true);
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
if (firstRender.current) {
|
|
66
|
+
firstRender.current = false;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (data.address) {
|
|
70
|
+
createApiSession(data.address);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
deleteSession();
|
|
74
|
+
}
|
|
75
|
+
}, [data.address]);
|
|
76
|
+
function login() {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
// if (!isConnected) {
|
|
80
|
+
// await connect();
|
|
81
|
+
// }
|
|
82
|
+
if (!data.address)
|
|
83
|
+
return [2 /*return*/]; // TODO: (Krysh) add real error handling
|
|
84
|
+
createApiSession(data.address);
|
|
85
|
+
return [2 /*return*/];
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function createApiSession(address) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
91
|
+
var message, signature;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
if (isLoggedIn || !api.signMessage)
|
|
96
|
+
return [2 /*return*/];
|
|
97
|
+
return [4 /*yield*/, getSignMessage(address)];
|
|
98
|
+
case 1:
|
|
99
|
+
message = _a.sent();
|
|
100
|
+
return [4 /*yield*/, api.signMessage(message, address)];
|
|
101
|
+
case 2:
|
|
102
|
+
signature = _a.sent();
|
|
103
|
+
setIsProcessing(true);
|
|
104
|
+
return [2 /*return*/, createSession(address, signature, false)
|
|
105
|
+
.catch(function (error) {
|
|
106
|
+
if (error.statusCode === 404) {
|
|
107
|
+
setSignature(signature);
|
|
108
|
+
setNeedsSignUp(true);
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
.finally(function () { return setIsProcessing(false); })];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function signUp() {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
+
return __generator(this, function (_a) {
|
|
119
|
+
if (!data.address || !signature)
|
|
120
|
+
return [2 /*return*/]; // TODO: (Krysh) add real error handling
|
|
121
|
+
setIsProcessing(true);
|
|
122
|
+
return [2 /*return*/, createSession(data.address, signature, true).finally(function () {
|
|
123
|
+
setSignature(undefined);
|
|
124
|
+
setNeedsSignUp(false);
|
|
125
|
+
setIsProcessing(false);
|
|
126
|
+
})];
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function logout() {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
132
|
+
return __generator(this, function (_a) {
|
|
133
|
+
switch (_a.label) {
|
|
134
|
+
case 0: return [4 /*yield*/, deleteSession()];
|
|
135
|
+
case 1:
|
|
136
|
+
_a.sent();
|
|
137
|
+
return [2 /*return*/];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
var context = useMemo(function () { return ({
|
|
143
|
+
address: data.address,
|
|
144
|
+
blockchain: data.blockchain,
|
|
145
|
+
availableBlockchains: session === null || session === void 0 ? void 0 : session.blockchains,
|
|
146
|
+
isLoggedIn: isLoggedIn,
|
|
147
|
+
needsSignUp: needsSignUp,
|
|
148
|
+
isProcessing: isProcessing,
|
|
149
|
+
login: login,
|
|
150
|
+
signUp: signUp,
|
|
151
|
+
logout: logout,
|
|
152
|
+
}); }, [data.address, data.blockchain, session, isLoggedIn, needsSignUp, isProcessing, login, signUp, logout]);
|
|
153
|
+
return _jsx(SessionContext.Provider, __assign({ value: context }, { children: children }));
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=session.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.context.js","sourceRoot":"","sources":["../../src/contexts/session.context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { Country } from '../definitions/country';
|
|
3
|
+
import { User } from '../definitions/user';
|
|
4
|
+
interface UserInterface {
|
|
5
|
+
user?: User;
|
|
6
|
+
refLink?: string;
|
|
7
|
+
countries: Country[];
|
|
8
|
+
isUserLoading: boolean;
|
|
9
|
+
isUserUpdating: boolean;
|
|
10
|
+
changeMail: (mail: string) => Promise<void>;
|
|
11
|
+
register: (userLink: () => void) => void;
|
|
12
|
+
reloadUser: () => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function useUserContext(): UserInterface;
|
|
15
|
+
export declare function UserContextProvider(props: PropsWithChildren): JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=user.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.context.d.ts","sourceRoot":"","sources":["../../src/contexts/user.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAK3C,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAkDzE"}
|