@coin-voyage/paykit 0.1.10 → 0.1.12-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/dist/components/Pages/PayWithToken/index.js +14 -5
- package/dist/components/Pages/PayWithToken/index.js.map +1 -1
- package/dist/components/Pages/SelectToken/index.js +20 -7
- package/dist/components/Pages/SelectToken/index.js.map +1 -1
- package/dist/components/contexts/api/index.d.ts +6 -0
- package/dist/components/contexts/api/index.js +9 -0
- package/dist/components/contexts/api/index.js.map +1 -0
- package/dist/components/contexts/pay/index.d.ts +4 -1
- package/dist/components/contexts/pay/index.js.map +1 -1
- package/dist/components/ui/Portal/index.js +2 -2
- package/dist/components/ui/Portal/index.js.map +1 -1
- package/dist/hooks/usePayOrderQuotes.d.ts +1 -2
- package/dist/hooks/usePayOrderQuotes.js +5 -4
- package/dist/hooks/usePayOrderQuotes.js.map +1 -1
- package/dist/hooks/usePayWithToken.d.ts +1 -2
- package/dist/hooks/usePayWithToken.js +5 -9
- package/dist/hooks/usePayWithToken.js.map +1 -1
- package/dist/hooks/usePaymentState.d.ts +2 -3
- package/dist/hooks/usePaymentState.js +25 -26
- package/dist/hooks/usePaymentState.js.map +1 -1
- package/dist/lib/api/client.d.ts +5 -0
- package/dist/lib/api/client.js +11 -0
- package/dist/lib/api/client.js.map +1 -0
- package/dist/providers/api-provider.d.ts +9 -0
- package/dist/providers/api-provider.js +12 -0
- package/dist/providers/api-provider.js.map +1 -0
- package/dist/providers/paykit-provider.d.ts +1 -1
- package/dist/providers/paykit-provider.js +16 -5
- package/dist/providers/paykit-provider.js.map +1 -1
- package/dist/providers/wallet-provider.d.ts +1 -2
- package/dist/providers/wallet-provider.js +3 -12
- package/dist/providers/wallet-provider.js.map +1 -1
- package/dist/server.d.ts +1 -2
- package/dist/server.js +1 -3
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +5 -2
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.js +3 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +5 -3
- package/dist/utils/generate-signature.d.ts +0 -26
- package/dist/utils/generate-signature.js +0 -40
- package/dist/utils/generate-signature.js.map +0 -1
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { ROUTES } from "../../../types/routes";
|
|
4
|
-
import { ModalBody, ModalContent, ModalH1, PageContent } from "../../ui/Modal/styles";
|
|
2
|
+
import { useAccount } from "@coin-voyage/crypto/hooks";
|
|
5
3
|
import { ChainType, getChainTypeByChainId, PayOrderMode, PayOrderStatus } from "@coin-voyage/shared/common";
|
|
6
4
|
import { AnimatePresence, motion } from "framer-motion";
|
|
5
|
+
import { useEffect, useMemo, useState } from "react";
|
|
7
6
|
import { useChainId, useSwitchChain } from "wagmi";
|
|
8
7
|
import { chainToLogo } from "../../../assets/chains";
|
|
9
8
|
import { AlertIcon, RetryIconCircle } from "../../../assets/icons";
|
|
10
9
|
import useLocales from "../../../hooks/useLocales";
|
|
11
10
|
import styled from "../../../styles/styled";
|
|
11
|
+
import { ROUTES } from "../../../types/routes";
|
|
12
12
|
import usePayContext from "../../contexts/pay";
|
|
13
13
|
import { RetryButton, RetryIconContainer } from "../../pay-modal/ConnectWithInjector/styles";
|
|
14
14
|
import CircleSpinner from "../../spinners/CircleSpinner";
|
|
15
15
|
import { AnimationContainer } from "../../ui/AnimationContainer/styles";
|
|
16
|
+
import { ModalBody, ModalContent, ModalH1, PageContent } from "../../ui/Modal/styles";
|
|
16
17
|
import Tooltip from "../../ui/Tooltip";
|
|
17
18
|
var PayState;
|
|
18
19
|
(function (PayState) {
|
|
@@ -22,8 +23,9 @@ var PayState;
|
|
|
22
23
|
PayState["RequestSuccessful"] = "Payment Successful";
|
|
23
24
|
})(PayState || (PayState = {}));
|
|
24
25
|
export default function PayWithToken() {
|
|
25
|
-
const { triggerResize, paymentState, setRoute, log } = usePayContext();
|
|
26
|
+
const { triggerResize, paymentState, setRoute, log, allowedWallets } = usePayContext();
|
|
26
27
|
const { selectedTokenOption, payWithToken } = paymentState;
|
|
28
|
+
const { account } = useAccount();
|
|
27
29
|
const [payState, setPayState] = useState(PayState.RequestingPayment);
|
|
28
30
|
const locales = useLocales();
|
|
29
31
|
const isExpired = paymentState.payOrder?.status === PayOrderStatus.EXPIRED;
|
|
@@ -50,8 +52,15 @@ export default function PayWithToken() {
|
|
|
50
52
|
}
|
|
51
53
|
return true;
|
|
52
54
|
};
|
|
55
|
+
const isRestricted = useMemo(() => {
|
|
56
|
+
if (allowedWallets === null)
|
|
57
|
+
return false;
|
|
58
|
+
const isAddressAllowed = allowedWallets?.find(w => w.address === account.address && w.chainType === account.chainType)?.allowed;
|
|
59
|
+
return !isAddressAllowed;
|
|
60
|
+
}, [allowedWallets, account]);
|
|
53
61
|
const handleTransfer = async (token) => {
|
|
54
|
-
|
|
62
|
+
if (isRestricted)
|
|
63
|
+
return;
|
|
55
64
|
if (chainType === ChainType.EVM) {
|
|
56
65
|
setPayState(PayState.SwitchingChain);
|
|
57
66
|
const switchChain = await trySwitchingChain(token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pages/PayWithToken/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pages/PayWithToken/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAgC,qBAAqB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AACzI,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,UAAU,MAAM,2BAA2B,CAAA;AAClD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC5F,OAAO,aAAa,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,OAAO,MAAM,kBAAkB,CAAA;AAEtC,IAAK,QAKJ;AALD,WAAK,QAAQ;IACX,oDAAwC,CAAA;IACxC,8CAAkC,CAAA;IAClC,kDAAsC,CAAA;IACtC,oDAAwC,CAAA;AAC1C,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IACtF,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,YAAY,CAAA;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,OAAO,CAAA;IAC1E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY,CAAC,OAAO,CAAA;IACtE,MAAM,SAAS,GAAG,qBAAqB,CACrC,YAAY,CAAC,mBAAmB,EAAE,QAAQ,CAC3C,CAAA;IAED,MAAM,aAAa,GAAG,UAAU,EAAE,CAAA;IAClC,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAA;IAE7C,MAAM,iBAAiB,GAAG,KAAK,EAC7B,MAAgB,EAChB,WAAW,GAAG,KAAK,EACD,EAAE;QACpB,IAAI,aAAa,KAAK,MAAM,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;gBACpC,IAAI,CAAC;oBACH,OAAO,MAAM,gBAAgB,CAAC;wBAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ;qBACzB,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;oBAC1C,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;YAEJ,IAAI,WAAW,EAAE,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,cAAc,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,gBAAgB,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAChI,OAAO,CAAC,gBAAgB,CAAC;IAC3B,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7B,MAAM,cAAc,GAAG,KAAK,EAAE,KAAyB,EAAE,EAAE;QACzD,IAAI,YAAY;YAAE,OAAO;QACzB,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;YAChC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YACpC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;QACH,CAAC;QAED,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YAED,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YACvC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC/B,CAAC,EAAE,GAAG,CAAC,CAAA;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,IAAI,KAAK,6BAA6B,EAAE,CAAC;gBAC9C,4EAA4E;gBAC5E,8CAA8C;gBAC9C,GAAG,CAAC,yDAAyD,CAAC,CAAA;gBAC9D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC7D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;wBACzB,OAAM,CAAC,2CAA2C;oBACpD,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,KAAK,CACX,gDAAgD,EAChD,UAAU,CACX,CAAA;wBACD,MAAM,UAAU,CAAA;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YACtC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;IAED,IAAI,eAAoB,CAAA,CAAC,sDAAsD;IAC/E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QACD,8CAA8C;QAC9C,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACrC,CAAC,EAAE,GAAG,CAAC,CAAA;QACP,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,eAAe,CAAC,CAAA;QAC/B,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAA;IACjB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,mBAAmB,EAAE,CAAA;YAClC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,mBAAmB,EAAE,CAAC;YAC/B,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,MAAC,WAAW,eACV,KAAC,gBAAgB,cACf,MAAC,kBAAkB,cACT,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,aACrC,IAAI,aACb,KAAC,eAAe,cACb,CAAC,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE,KAAC,WAAW,kBACC,OAAO,EAClB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EACnC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EACjC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAChC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EACxB,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAC7B,OAAO,EAAE,OAAO,YAEhB,KAAC,kBAAkB,cACjB,KAAC,OAAO,IACN,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,EAC5C,OAAO,EAAE,OAAO,CAAC,gBAAgB,EACjC,OAAO,EAAE,CAAC,CAAC,YAEX,KAAC,eAAe,KAAG,GACX,GACS,GACT,CACf,CAAC,CAAC,CAAC,KAAC,kBAAkB,cACpB,mBAAmB;oCAClB,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAFjB,oBAAoB,CAG3B,GACL,EAClB,KAAC,eAAe,cACd,KAAC,aAAa,IAEZ,IAAI,EAAE,cACJ,GAAG,EAAE,mBAAmB,EAAE,SAAS,EACnC,GAAG,EAAE,mBAAmB,EAAE,MAAM,IAC3B,mBAAmB,EAAE,SAAS,CACnC,EACF,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAC9D,WAAW,EAAE,KAAK,IAPd,eAAe,CAQnB,GACc,IACC,GACJ,EAClB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAC,YAAY,eACxB,QAAQ,KAAK,QAAQ,CAAC,gBAAgB;wBACrC,8BACE,MAAC,OAAO,+BACN,KAAC,SAAS,KAAG,EACZ,OAAO,CAAC,2BAA2B,IAC5B,EACV,KAAC,SAAS,cAAE,OAAO,CAAC,0BAA0B,GAAa,IAC1D,EAGJ,QAAQ,KAAK,QAAQ,CAAC,cAAc;wBACnC,KAAC,OAAO,cACL,OAAO,CAAC,2BAA2B,GAC5B,EAGX,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,IAAI,CAC1C,8BACE,KAAC,OAAO,cACL,OAAO,CAAC,qBAAqB,GACtB,EACV,KAAC,SAAS,cAAE,OAAO,CAAC,oBAAoB,GAAa,IACpD,CACJ,EACA,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,IAAI,CAC1C,KAAC,OAAO,cACL,OAAO,CAAC,4BAA4B,GAC7B,CACX,IACY,CAAC,CAAC,CAAC,MAAC,YAAY,eAC7B,MAAC,OAAO,iCACN,KAAC,SAAS,KAAG,EACZ,OAAO,CAAC,6BAA6B,IAC9B,EACV,KAAC,SAAS,cAAE,OAAO,CAAC,4BAA4B,GAAa,IAChD,IACH,CACf,CAAA;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;CAM1C,CAAA;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC5C,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../types/routes";
|
|
3
3
|
import { ModalContent, ModalH1, PageContent } from "../../ui/Modal/styles";
|
|
4
|
+
import { useAccount } from "@coin-voyage/crypto/hooks";
|
|
4
5
|
import { getChainName } from "@coin-voyage/shared/common";
|
|
5
6
|
import { motion } from "framer-motion";
|
|
6
7
|
import { chainToLogo } from "../../../assets/chains";
|
|
@@ -26,8 +27,12 @@ const ChainContainer = styled(motion.div) `
|
|
|
26
27
|
right: 0px;
|
|
27
28
|
`;
|
|
28
29
|
export default function SelectToken() {
|
|
29
|
-
const { setRoute, paymentState } = usePayContext();
|
|
30
|
-
const { setSelectedTokenOption, payOrderQuotes, setConnectorChainType } = paymentState;
|
|
30
|
+
const { setRoute, paymentState, allowedWallets } = usePayContext();
|
|
31
|
+
const { setSelectedTokenOption, payOrderQuotes, setConnectorChainType, selectedWallet, connectorChainType } = paymentState;
|
|
32
|
+
const { account } = useAccount({
|
|
33
|
+
selectedWallet,
|
|
34
|
+
chainType: connectorChainType,
|
|
35
|
+
});
|
|
31
36
|
const filteredAndSortedQuotes = payOrderQuotes.quotes?.
|
|
32
37
|
filter(q => q.balance?.value_usd !== 0).
|
|
33
38
|
sort((a, b) => {
|
|
@@ -56,17 +61,25 @@ export default function SelectToken() {
|
|
|
56
61
|
setSelectedTokenOption(undefined);
|
|
57
62
|
setRoute(ROUTES.SELECT_METHOD);
|
|
58
63
|
};
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
const allowedAddress = allowedWallets?.find(w => w.address === account.address && w.chainType === account.chainType)?.allowed;
|
|
65
|
+
const disabledWallet = allowedWallets === null ? false : !allowedAddress;
|
|
66
|
+
return (_jsxs(PageContent, { children: [_jsx(OrderHeader, { minified: true, showConnectedWallet: true }), disabledWallet ? (_jsxs(ModalContent, { style: {
|
|
61
67
|
display: "flex",
|
|
62
68
|
alignItems: "center",
|
|
63
69
|
justifyContent: "center",
|
|
64
70
|
paddingTop: 16,
|
|
65
71
|
paddingBottom: 16,
|
|
66
|
-
}, children: [_jsx(ModalH1, { children: "
|
|
72
|
+
}, children: [_jsx(ModalH1, { children: "Not permitted." }), _jsx("p", { children: "This wallet address is not permitted to pay for this order." }), _jsx(Button, { onClick: selectAnotherMethod, children: "Select Another Wallet" })] })) : _jsx(_Fragment, { children: !payOrderQuotes.isLoading &&
|
|
73
|
+
filteredAndSortedQuotes?.length === 0 && (_jsxs(ModalContent, { style: {
|
|
74
|
+
display: "flex",
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
justifyContent: "center",
|
|
77
|
+
paddingTop: 16,
|
|
78
|
+
paddingBottom: 16,
|
|
79
|
+
}, children: [_jsx(ModalH1, { children: "Insufficient balance." }), _jsx(Button, { onClick: selectAnotherMethod, children: "Select Another Method" })] })) }), _jsx(OptionsList, { requiredSkeletons: 4, isLoading: payOrderQuotes.isLoading, options: filteredAndSortedQuotes?.map((quote, idx) => {
|
|
67
80
|
const title = `${quote.currency_amount.ui_amount} ${quote.ticker} on ${getChainName(quote.chain_id)}`;
|
|
68
81
|
const subtitle = `Balance: ${quote.balance?.ui_amount ?? "0"} ${quote.ticker}`;
|
|
69
|
-
const disabled = (quote.balance?.raw_amount ?? BigInt("0")) < quote.currency_amount.raw_amount;
|
|
82
|
+
const disabled = disabledWallet || (quote.balance?.raw_amount ?? BigInt("0")) < quote.currency_amount.raw_amount;
|
|
70
83
|
return {
|
|
71
84
|
id: idx.toString(),
|
|
72
85
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pages/SelectToken/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAE1E,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,WAAW,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMlD,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE;IACpE,OAAO,CACL,MAAC,mBAAmB,eAClB,iBACM,KAAK,GACT,EACF,KAAC,cAAc,cAAE,WAAW,CAAC,OAAO,CAAC,GAAkB,IACnC,CACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;;CAG7C,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;;;;;;;CAQxC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pages/SelectToken/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React, { createContext } from "react";
|
|
2
|
+
export const ApiContext = createContext(null);
|
|
3
|
+
export const useBackendApi = () => {
|
|
4
|
+
const context = React.useContext(ApiContext);
|
|
5
|
+
if (!context)
|
|
6
|
+
throw new Error("ApiContext not available");
|
|
7
|
+
return context;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/contexts/api/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI7C,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAkB,IAAI,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type { PaymentState } from "../../../hooks/usePaymentState";
|
|
|
3
3
|
import type { CustomTheme, Languages, Mode, PayKitOptions, PayModalOptions, Theme } from "../../../types";
|
|
4
4
|
import type { ROUTES } from "../../../types/routes";
|
|
5
5
|
import { useConnectCallbackProps } from "@coin-voyage/crypto/hooks/use-connect-callback";
|
|
6
|
+
import { WalletPermission } from "@coin-voyage/crypto/types/wallet";
|
|
6
7
|
export type PayContextValue = {
|
|
7
8
|
theme: Theme;
|
|
8
9
|
setTheme: React.Dispatch<React.SetStateAction<Theme>>;
|
|
@@ -31,6 +32,8 @@ export type PayContextValue = {
|
|
|
31
32
|
showPayment: (modalOptions: PayModalOptions) => void;
|
|
32
33
|
/** Payment status & callbacks. */
|
|
33
34
|
paymentState: PaymentState;
|
|
34
|
-
|
|
35
|
+
/** Allowed wallets for the current payment. */
|
|
36
|
+
allowedWallets: WalletPermission[] | null;
|
|
37
|
+
} & Omit<useConnectCallbackProps, "setAllowedWallets">;
|
|
35
38
|
export declare const PayContext: React.Context<PayContextValue | null>;
|
|
36
39
|
export default function usePayContext(): PayContextValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/contexts/pay/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/contexts/pay/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AA+C5C,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAA;AAErE,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
2
|
import { createPortal } from "react-dom";
|
|
3
|
-
import
|
|
3
|
+
import { paykitVersion } from "../../../utils/version";
|
|
4
4
|
const Portal = (props) => {
|
|
5
5
|
props = {
|
|
6
6
|
selector: "__COIN_VOYAGE__",
|
|
@@ -15,7 +15,7 @@ const Portal = (props) => {
|
|
|
15
15
|
if (!ref.current) {
|
|
16
16
|
const div = document.createElement("div");
|
|
17
17
|
div.setAttribute("id", selector);
|
|
18
|
-
div.setAttribute("data-pay",
|
|
18
|
+
div.setAttribute("data-pay", paykitVersion);
|
|
19
19
|
document.body.appendChild(div);
|
|
20
20
|
ref.current = div;
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/Portal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/Portal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,EAAE;IAC5B,KAAK,GAAG;QACN,QAAQ,EAAE,iBAAiB;QAC3B,GAAG,KAAK;KACT,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;QACzD,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAEtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACzC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAChC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;YAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC9B,GAAG,CAAC,OAAO,GAAG,GAAG,CAAA;QACnB,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7D,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -3,9 +3,8 @@ interface PayOrderQuotesProps {
|
|
|
3
3
|
payOrder: PayOrder | undefined;
|
|
4
4
|
address: string | undefined;
|
|
5
5
|
chainType: ChainType | undefined;
|
|
6
|
-
apiKey: string;
|
|
7
6
|
}
|
|
8
|
-
export declare function usePayOrderQuotes({ payOrder, address, chainType
|
|
7
|
+
export declare function usePayOrderQuotes({ payOrder, address, chainType }: PayOrderQuotesProps): {
|
|
9
8
|
quotes: CurrencyWithBalance[] | null | undefined;
|
|
10
9
|
isLoading: boolean;
|
|
11
10
|
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<CurrencyWithBalance[] | null, Error>>;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useBackendApi } from "../components/contexts/api";
|
|
2
2
|
import { PayOrderStatus } from "@coin-voyage/shared/common";
|
|
3
3
|
import { useQuery } from "@tanstack/react-query";
|
|
4
|
-
export function usePayOrderQuotes({ payOrder, address, chainType
|
|
4
|
+
export function usePayOrderQuotes({ payOrder, address, chainType }) {
|
|
5
|
+
const api = useBackendApi();
|
|
5
6
|
const { data, isLoading, refetch } = useQuery({
|
|
6
7
|
queryKey: ["pay-order-quotes", payOrder?.id, address, chainType],
|
|
7
8
|
queryFn: async () => {
|
|
8
9
|
if (!address || !payOrder?.id || !chainType) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
11
|
-
const result = await payOrderQuote(payOrder?.id, {
|
|
12
|
+
const result = await api.payOrderQuote(payOrder?.id, {
|
|
12
13
|
wallet_address: address,
|
|
13
14
|
chain_type: chainType,
|
|
14
|
-
}
|
|
15
|
+
});
|
|
15
16
|
return result ?? null;
|
|
16
17
|
},
|
|
17
18
|
enabled: !!address && !!chainType && payOrder && payOrder?.status === PayOrderStatus.PENDING || payOrder?.status === PayOrderStatus.AWAITING_PAYMENT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayOrderQuotes.js","sourceRoot":"","sources":["../../src/hooks/usePayOrderQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"usePayOrderQuotes.js","sourceRoot":"","sources":["../../src/hooks/usePayOrderQuotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAA2D,MAAM,4BAA4B,CAAC;AACrH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjD,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,SAAS,EACW;IACpB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;IAC3B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC5C,QAAQ,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC;QAChE,OAAO,EAAE,KAAK,IAA2C,EAAE;YACzD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE;gBACnD,cAAc,EAAE,OAAO;gBACvB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAA;YACF,OAAO,MAAM,IAAI,IAAI,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,OAAO,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,gBAAgB;KACrJ,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAC7C,CAAC"}
|
|
@@ -5,9 +5,8 @@ interface PayWithTokenParams {
|
|
|
5
5
|
setPayOrder: (order: PayOrder) => void;
|
|
6
6
|
chainType: ChainType | undefined;
|
|
7
7
|
log: (message: string) => void;
|
|
8
|
-
apiKey: string;
|
|
9
8
|
}
|
|
10
|
-
export declare function usePayWithToken({ senderAddr, payOrder, setPayOrder, chainType, log,
|
|
9
|
+
export declare function usePayWithToken({ senderAddr, payOrder, setPayOrder, chainType, log, }: PayWithTokenParams): {
|
|
11
10
|
payWithToken: (currency: CurrencyWithAmount) => Promise<string | undefined>;
|
|
12
11
|
};
|
|
13
12
|
export {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { usePrepareTransaction } from "@coin-voyage/crypto/hooks";
|
|
2
|
-
import { payOrderPaymentDetails, processPayOrder } from "@coin-voyage/shared/api";
|
|
3
2
|
import { assert } from "@coin-voyage/shared/common";
|
|
4
|
-
|
|
3
|
+
import { useBackendApi } from "../components/contexts/api";
|
|
4
|
+
export function usePayWithToken({ senderAddr, payOrder, setPayOrder, chainType, log, }) {
|
|
5
|
+
const api = useBackendApi();
|
|
5
6
|
const actions = usePrepareTransaction(chainType);
|
|
6
7
|
/** Commit to a currency + amount = initiate payment. */
|
|
7
8
|
const payWithToken = async (currency) => {
|
|
8
9
|
assert(!!payOrder);
|
|
9
10
|
assert(!!senderAddr);
|
|
10
11
|
assert(!!actions);
|
|
11
|
-
const paymentDetails = await payOrderPaymentDetails({
|
|
12
|
+
const paymentDetails = await api.payOrderPaymentDetails({
|
|
12
13
|
payOrderId: payOrder.id,
|
|
13
14
|
outTokenAddress: currency?.address ?? undefined,
|
|
14
15
|
outChainId: currency.chain_id,
|
|
15
16
|
refundAddress: senderAddr,
|
|
16
|
-
apiKey
|
|
17
17
|
});
|
|
18
18
|
if (!paymentDetails || paymentDetails.payorder_id != payOrder.id) {
|
|
19
19
|
throw new Error(`[CHECKOUT] unable to generate a final quote for ${payOrder.id}`);
|
|
@@ -32,11 +32,7 @@ export function usePayWithToken({ senderAddr, payOrder, setPayOrder, chainType,
|
|
|
32
32
|
const txHash = await actions.execute(paymentDetails);
|
|
33
33
|
updatedPayOrder.deposit_tx_hash = txHash;
|
|
34
34
|
if (txHash) {
|
|
35
|
-
await processPayOrder(
|
|
36
|
-
payOrderId: payOrder.id,
|
|
37
|
-
sourceTransactionHash: txHash,
|
|
38
|
-
apiKey
|
|
39
|
-
});
|
|
35
|
+
await api.processPayOrder(payOrder.id, txHash);
|
|
40
36
|
}
|
|
41
37
|
log(`[CHECKOUT] Transaction hash: ${txHash}`);
|
|
42
38
|
return txHash;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayWithToken.js","sourceRoot":"","sources":["../../src/hooks/usePayWithToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"usePayWithToken.js","sourceRoot":"","sources":["../../src/hooks/usePayWithToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,MAAM,EAA2C,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D,MAAM,UAAU,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,GAAG,GACgB;IACnB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAEjD,wDAAwD;IACxD,MAAM,YAAY,GAAG,KAAK,EAAE,QAA4B,EAA+B,EAAE;QACvF,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAClB,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACpB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAEjB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC;YACtD,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,eAAe,EAAE,QAAQ,EAAE,OAAO,IAAI,SAAS;YAC/C,UAAU,EAAE,QAAQ,CAAC,QAAQ;YAC7B,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,mDAAmD,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,GAAG,CACD,wCAAwC,IAAI,CAAC,SAAS,CACpD,cAAc,CACf,uBAAuB,QAAQ,EAAE,OAAO,EAAE,CAC5C,CAAA;QAED,MAAM,eAAe,GAAa;YAChC,GAAG,QAAQ;YACX,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,CAAA;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,GAAG,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,GAAG,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WalletProps } from "@coin-voyage/crypto/types/wallet";
|
|
2
|
-
import { DepositPayOrderParams } from "@coin-voyage/shared/api";
|
|
3
2
|
import { ChainType, CurrencyWithAmount, PayOrder } from "@coin-voyage/shared/common";
|
|
3
|
+
import { DepositPayOrderParams } from "@coin-voyage/shared/types/api";
|
|
4
4
|
import { ROUTES } from "../types/routes";
|
|
5
5
|
import { usePayOrderQuotes } from "./usePayOrderQuotes";
|
|
6
6
|
/** Loads a PayOrder + manages the corresponding modal. */
|
|
@@ -21,10 +21,9 @@ export interface PaymentState {
|
|
|
21
21
|
refreshOrder: () => Promise<void>;
|
|
22
22
|
senderEnsName: string | undefined;
|
|
23
23
|
}
|
|
24
|
-
export declare function usePaymentState({ payOrder, setPayOrder, setRoute, log,
|
|
24
|
+
export declare function usePaymentState({ payOrder, setPayOrder, setRoute, log, }: {
|
|
25
25
|
payOrder: PayOrder | undefined;
|
|
26
26
|
setPayOrder: (o: PayOrder) => void;
|
|
27
27
|
setRoute: React.Dispatch<React.SetStateAction<ROUTES>>;
|
|
28
28
|
log: (...args: any[]) => void;
|
|
29
|
-
apiKey: string;
|
|
30
29
|
}): PaymentState;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useAccount } from "@coin-voyage/crypto/hooks";
|
|
2
|
-
import {
|
|
2
|
+
import { useBackendApi } from "../components/contexts/api";
|
|
3
3
|
import { assert, ChainType, PayOrderMode, zDepositPayOrder } from "@coin-voyage/shared/common";
|
|
4
4
|
import { useResolveSuiNSName } from "@mysten/dapp-kit";
|
|
5
5
|
import { useCallback, useState } from "react";
|
|
@@ -8,10 +8,10 @@ import { useEnsName } from "wagmi";
|
|
|
8
8
|
import { ROUTES } from "../types/routes";
|
|
9
9
|
import { usePayOrderQuotes } from "./usePayOrderQuotes";
|
|
10
10
|
import { usePayWithToken } from "./usePayWithToken";
|
|
11
|
-
export function usePaymentState({ payOrder, setPayOrder, setRoute, log,
|
|
11
|
+
export function usePaymentState({ payOrder, setPayOrder, setRoute, log, }) {
|
|
12
|
+
const api = useBackendApi();
|
|
12
13
|
const [connectorChainType, setConnectorChainType] = useState();
|
|
13
14
|
const [selectedWallet, setSelectedWallet] = useState();
|
|
14
|
-
// Wallet state.
|
|
15
15
|
const { account: senderAccount } = useAccount({
|
|
16
16
|
selectedWallet,
|
|
17
17
|
chainType: connectorChainType,
|
|
@@ -33,8 +33,7 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
33
33
|
const payOrderQuotes = usePayOrderQuotes({
|
|
34
34
|
payOrder,
|
|
35
35
|
address: senderAccount.address,
|
|
36
|
-
chainType: connectorChainType
|
|
37
|
-
apiKey
|
|
36
|
+
chainType: connectorChainType
|
|
38
37
|
});
|
|
39
38
|
const [selectedTokenOption, setSelectedTokenOption] = useState();
|
|
40
39
|
const { payWithToken } = usePayWithToken({
|
|
@@ -43,19 +42,22 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
43
42
|
setPayOrder,
|
|
44
43
|
chainType: connectorChainType,
|
|
45
44
|
log,
|
|
46
|
-
apiKey,
|
|
47
45
|
});
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const order = await getPayOrder(payOrder.id, apiKey);
|
|
46
|
+
const fetchPayOrder = useCallback(async (id) => {
|
|
47
|
+
const order = await api.getPayOrder(id);
|
|
53
48
|
if (!order) {
|
|
54
|
-
log(`[CHECKOUT] No order found for ${
|
|
55
|
-
return;
|
|
49
|
+
log(`[CHECKOUT] No order found for ${id}`);
|
|
50
|
+
return undefined;
|
|
56
51
|
}
|
|
57
|
-
|
|
58
|
-
}, [
|
|
52
|
+
return order;
|
|
53
|
+
}, [api]);
|
|
54
|
+
const refreshOrder = useCallback(async () => {
|
|
55
|
+
if (!payOrder?.id)
|
|
56
|
+
return;
|
|
57
|
+
const order = await fetchPayOrder(payOrder.id);
|
|
58
|
+
if (order)
|
|
59
|
+
setPayOrder(order);
|
|
60
|
+
}, [payOrder?.id, fetchPayOrder]);
|
|
59
61
|
const copyDepositPayOrder = async () => {
|
|
60
62
|
if (!payOrder?.id) {
|
|
61
63
|
log(`No payOrder to copy`);
|
|
@@ -67,7 +69,7 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
67
69
|
}
|
|
68
70
|
assert(!!payOrder.receiving_address);
|
|
69
71
|
assert(!!payOrder.destination_currency?.chain_id);
|
|
70
|
-
const newDepositOrder = await
|
|
72
|
+
const newDepositOrder = await api.createDepositPayOrder({
|
|
71
73
|
receiving_address: payOrder.receiving_address,
|
|
72
74
|
destination_currency: {
|
|
73
75
|
chain_id: payOrder.destination_currency?.chain_id,
|
|
@@ -75,7 +77,7 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
75
77
|
},
|
|
76
78
|
destination_amount: payOrder.destination_amount?.ui_amount.toString(),
|
|
77
79
|
metadata: payOrder.metadata,
|
|
78
|
-
}
|
|
80
|
+
});
|
|
79
81
|
if (!newDepositOrder) {
|
|
80
82
|
console.error(`[CHECKOUT] Error creating payOrder`);
|
|
81
83
|
return;
|
|
@@ -90,7 +92,7 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
90
92
|
.map((i) => `${i.path.join(".")}: ${i.message}`)
|
|
91
93
|
.join(", ")}`);
|
|
92
94
|
}
|
|
93
|
-
const payOrder = await
|
|
95
|
+
const payOrder = await api.createDepositPayOrder(payOrderParams, true);
|
|
94
96
|
if (!payOrder) {
|
|
95
97
|
log(`[CREATE DEPOSIT] Error creating payOrder`);
|
|
96
98
|
return;
|
|
@@ -100,7 +102,7 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
100
102
|
catch (e) {
|
|
101
103
|
onError?.(e.message);
|
|
102
104
|
}
|
|
103
|
-
}, [
|
|
105
|
+
}, [api, setPayOrder, log]);
|
|
104
106
|
const resetPayOrder = useCallback(() => {
|
|
105
107
|
setSelectedTokenOption(undefined);
|
|
106
108
|
setConnectorChainType(undefined);
|
|
@@ -110,13 +112,10 @@ export function usePaymentState({ payOrder, setPayOrder, setRoute, log, apiKey,
|
|
|
110
112
|
const setPayId = useCallback(async (payId) => {
|
|
111
113
|
if (!payId || payOrder?.id === payId)
|
|
112
114
|
return;
|
|
113
|
-
const order = await
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
setPayOrder(order);
|
|
119
|
-
}, [payOrder, apiKey]);
|
|
115
|
+
const order = await fetchPayOrder(payId);
|
|
116
|
+
if (order)
|
|
117
|
+
setPayOrder(order);
|
|
118
|
+
}, [payOrder?.id, fetchPayOrder]);
|
|
120
119
|
return {
|
|
121
120
|
setPayId,
|
|
122
121
|
createDepositPayOrder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentState.js","sourceRoot":"","sources":["../../src/hooks/usePaymentState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"usePaymentState.js","sourceRoot":"","sources":["../../src/hooks/usePaymentState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ApiClient as ApiClientInternal } from "@coin-voyage/shared/api";
|
|
2
|
+
import { paykitVersion } from "../../utils/version";
|
|
3
|
+
export function ApiClient({ apiKey, environment = "production" }) {
|
|
4
|
+
return new ApiClientInternal({
|
|
5
|
+
apiKey,
|
|
6
|
+
version: paykitVersion,
|
|
7
|
+
environment,
|
|
8
|
+
sessionId: crypto.randomUUID().replaceAll("-", ""),
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,SAAS,CAAC,EACxB,MAAM,EACN,WAAW,GAAG,YAAY,EAI3B;IACC,OAAO,IAAI,iBAAiB,CAAC;QAC3B,MAAM;QACN,OAAO,EAAE,aAAa;QACtB,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;KACnD,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { APIEnvironment } from "@coin-voyage/shared/api";
|
|
2
|
+
import { PropsWithChildren } from "react";
|
|
3
|
+
export type ApiProviderProps = {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
environment?: APIEnvironment;
|
|
6
|
+
sessionId?: string;
|
|
7
|
+
version?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function ApiProvider({ apiKey, environment, children }: PropsWithChildren<ApiProviderProps>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ApiClient } from "@coin-voyage/shared/api";
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
4
|
+
import { ApiContext } from "../components/contexts/api";
|
|
5
|
+
import { paykitVersion } from "../utils/version";
|
|
6
|
+
export function ApiProvider({ apiKey, environment = "production", children }) {
|
|
7
|
+
const version = paykitVersion;
|
|
8
|
+
const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
|
|
9
|
+
const api = useMemo(() => new ApiClient({ apiKey, environment, version, sessionId }), [apiKey, environment, sessionId, version]);
|
|
10
|
+
return (_jsx(ApiContext.Provider, { value: api, children: children }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=api-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-provider.js","sourceRoot":"","sources":["../../src/providers/api-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAqB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAuC;IAC7G,MAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEjI,OAAO,CACH,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAC1B,QAAQ,GACS,CACzB,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PayKitConfig } from "../types";
|
|
2
|
-
export declare const PayKitProvider: ({
|
|
2
|
+
export declare const PayKitProvider: ({ apiKey, environment, ...props }: PayKitConfig) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useAccount } from "@coin-voyage/crypto/hooks";
|
|
2
|
+
import { useAccount, useConnectCallback } from "@coin-voyage/crypto/hooks";
|
|
3
3
|
import { PayOrderMode, PayOrderStatus } from "@coin-voyage/shared/common";
|
|
4
4
|
import { Buffer } from "buffer";
|
|
5
5
|
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
@@ -13,6 +13,7 @@ import { useThemeFont } from "../hooks/useGoogleFont";
|
|
|
13
13
|
import { usePaymentState } from "../hooks/usePaymentState";
|
|
14
14
|
import defaultTheme from "../styles/defaultTheme";
|
|
15
15
|
import { ROUTES } from "../types/routes";
|
|
16
|
+
import { ApiProvider } from "./api-provider";
|
|
16
17
|
const defaultOptions = {
|
|
17
18
|
language: "en-US",
|
|
18
19
|
hideBalance: false,
|
|
@@ -34,11 +35,21 @@ const defaultOptions = {
|
|
|
34
35
|
walletOnboardingUrl: undefined,
|
|
35
36
|
overlayBlur: undefined,
|
|
36
37
|
};
|
|
37
|
-
export const PayKitProvider = ({
|
|
38
|
+
export const PayKitProvider = ({ apiKey, environment = "production", ...props }) => {
|
|
38
39
|
const wagmiContext = useContext(WagmiContext);
|
|
39
40
|
if (!wagmiContext) {
|
|
40
41
|
throw new Error("PayKitProvider must be used within a WagmiContext");
|
|
41
42
|
}
|
|
43
|
+
return (_jsx(ApiProvider, { apiKey: apiKey, environment: environment, children: _jsx(PayKitProviderInternal, { ...props }) }));
|
|
44
|
+
};
|
|
45
|
+
function PayKitProviderInternal({ theme = "auto", mode = "auto", customTheme, options, onConnect, onConnectValidation, onDisconnect, debugMode = false, children }) {
|
|
46
|
+
const [allowedWallets, setAllowedWallets] = useState(!!onConnectValidation ? [] : null);
|
|
47
|
+
useConnectCallback({
|
|
48
|
+
onConnect,
|
|
49
|
+
onDisconnect,
|
|
50
|
+
onConnectValidation,
|
|
51
|
+
setAllowedWallets,
|
|
52
|
+
});
|
|
42
53
|
const opts = Object.assign({}, defaultOptions, options);
|
|
43
54
|
if (typeof window !== "undefined") {
|
|
44
55
|
// Buffer Polyfill, needed for bundlers that don't provide Node polyfills (e.g CRA, Vite, etc.)
|
|
@@ -128,8 +139,7 @@ export const PayKitProvider = ({ children, apiKey, theme = "auto", mode = "auto"
|
|
|
128
139
|
payOrder,
|
|
129
140
|
setPayOrder,
|
|
130
141
|
setRoute,
|
|
131
|
-
log
|
|
132
|
-
apiKey,
|
|
142
|
+
log
|
|
133
143
|
});
|
|
134
144
|
// When a payment is in progress, poll for status updates. Do this regardless
|
|
135
145
|
// of whether the modal is still being displayed for usePayStatus().
|
|
@@ -205,7 +215,8 @@ export const PayKitProvider = ({ children, apiKey, theme = "auto", mode = "auto"
|
|
|
205
215
|
// Pay context
|
|
206
216
|
showPayment,
|
|
207
217
|
paymentState,
|
|
218
|
+
allowedWallets,
|
|
208
219
|
};
|
|
209
220
|
return (_jsx(PayContext.Provider, { value: value, children: _jsx(Web3ContextProvider, { enabled: open, children: _jsxs(StyledThemeProvider, { theme: defaultTheme, children: [children, _jsx(PayModal, {})] }) }) }));
|
|
210
|
-
}
|
|
221
|
+
}
|
|
211
222
|
//# sourceMappingURL=paykit-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paykit-provider.js","sourceRoot":"","sources":["../../src/providers/paykit-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"paykit-provider.js","sourceRoot":"","sources":["../../src/providers/paykit-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE1E,OAAO,EAAY,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,EAAE,UAAU,EAAmB,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,YAAY,MAAM,wBAAwB,CAAA;AAUjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,KAAK;IACvB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,SAAS;IACzB,sBAAsB,EAAE,KAAK;IAC7B,qBAAqB,EAAE,SAAS;IAChC,mBAAmB,EAAE,SAAS;IAC9B,WAAW,EAAE,SAAS;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,MAAM,EACN,WAAW,GAAG,YAAY,EAC1B,GAAG,KAAK,EACK,EAAE,EAAE;IACjB,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,CACL,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,YACnD,KAAC,sBAAsB,OAAK,KAAK,GAAI,GACzB,CACf,CAAA;AACH,CAAC,CAAA;AAID,SAAS,sBAAsB,CAAC,EAC9B,KAAK,GAAG,MAAM,EACd,IAAI,GAAG,MAAM,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,QAAQ,EACoB;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAClC,CAAC;IAEF,kBAAkB,CAAC;QACjB,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,iBAAiB;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAkB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAEtE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,+FAA+F;QAC/F,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAA;QACzC,CAAC;QAED,sEAAsE;QACtE,oGAAoG;QACpG;;;WAGG;IACL,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,KAAK,CAAC,CAAA;IAClD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC9C,WAAW,IAAI,EAAE,CAClB,CAAA;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAY,OAAO,CAAC,CAAA;IACtD,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACnE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,aAAa,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAmB,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAkC,EAAE,CAAC,CAAA;IAErF,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IAE9C,MAAM,SAAS,GAAG,MAAM,EAA4B,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,EAA4B,CAAC;IACtD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAe,EAAE,EAAE;QAChD,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAe,EAAE,EAAE;QACjD,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,kDAAkD;IAClD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QAC5C,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,2DAA2D;QAC3D,8DAA8D;QAC9D,IAAI,IAAI,EAAE,CAAC;YACT,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,yDAAyD;QACzD,IAAI,CAAC,IAAI,IAAI,gBAAgB,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC;YAC9D,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI;YAAE,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;;YAC3B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;IAC9B,CAAC;IACC,2EAA2E;IAC3E,uDAAuD;IACvD,CAAC,YAAY,EAAE,cAAc,EAAE,gBAAgB,CAAC,CACjD,CAAC;IAEF,4EAA4E;IAC5E,uCAAuC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC;YACjC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEhE,sBAAsB;IACtB,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnE,SAAS,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAErD,kEAAkE;IAClE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAEjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAE/C,uEAAuE;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAY,CAAA;IACpD,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,GAAG;KACJ,CAAC,CAAA;IAEF,6EAA6E;IAC7E,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO;QAC9B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtG,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;YAC/D,6EAA6E;YAC7E,UAAU,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,OAAO;QACT,CAAC;QAED,GAAG,CAAC,oBAAoB,UAAU,IAAI,CAAC,CAAC;QACxC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,CAAC,YAA6B,EAAE,EAAE;QACpD,eAAe,CAAC,YAAY,CAAC,CAAA;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QACtC,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,SAAS,EAAE,CAAC;YAClD,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,gBAAgB,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YACtH,YAAY,CAAC,sBAAsB,CAAC;gBAClC,GAAG,QAAQ,CAAC,eAAe;gBAC3B,eAAe,EAAE,QAAQ,CAAC,aAAa;aACxC,CAAC,CAAA;YACF,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YAE/B,6BAA6B;YAC7B,gGAAgG;YAChG,oGAAoG;YACpG,oEAAoE;QACtE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAAoB;QAC7B,KAAK,EAAE,OAAO;QACd,QAAQ;QACR,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,WAAW,EAAE,aAAa;QAC1B,cAAc;QACd,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,SAAS;QACT,UAAU;QACV,IAAI;QACJ,OAAO;QACP,SAAS;QACT,KAAK;QACL,QAAQ;QAER,sBAAsB;QACtB,OAAO,EAAE,IAAI;QACb,YAAY;QACZ,SAAS;QACT,GAAG;QACH,YAAY,EAAE,CAAC,OAAwC,EAAE,IAAU,EAAE,EAAE;YACrE,eAAe,CAAC,OAAO,CAAC,CAAA;YACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,IAAI,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM;QACN,aAAa,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QAEjD,cAAc;QACd,WAAW;QACX,YAAY;QACZ,cAAc;KACf,CAAA;IAED,OAAO,CACL,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/B,KAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,YAChC,MAAC,mBAAmB,IAAC,KAAK,EAAE,YAAY,aACrC,QAAQ,EACT,KAAC,QAAQ,KAAG,IACQ,GACF,GACF,CACvB,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { useConnectCallbackProps } from "@coin-voyage/crypto/hooks";
|
|
2
1
|
import { WalletConfiguration } from "@coin-voyage/crypto/types/wallet";
|
|
3
2
|
import { type PropsWithChildren } from "react";
|
|
4
3
|
export declare function WalletProvider({ children, config }: PropsWithChildren<{
|
|
5
4
|
config?: Partial<{
|
|
6
5
|
walletConfig?: WalletConfiguration;
|
|
7
|
-
}
|
|
6
|
+
}>;
|
|
8
7
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import { useConnectCallback } from "@coin-voyage/crypto/hooks";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import { AppContext } from "../components/contexts/app/index";
|
|
4
|
-
import { EVMProvider
|
|
3
|
+
import { EVMProvider } from "./evm/provider";
|
|
5
4
|
import { QueryProvider } from "./query/provider";
|
|
6
5
|
import { SolanaProvider } from "./solana/provider";
|
|
7
6
|
import { SuiProvider } from "./sui/provider";
|
|
8
7
|
import { UTXOProvider } from "./utxo/provider";
|
|
9
8
|
export function WalletProvider({ children, config }) {
|
|
10
|
-
return (_jsx(AppContext.Provider, { value: { walletConfig: config?.walletConfig }, children: _jsx(QueryProvider, { children: _jsx(EVMProvider, { children: _jsx(SolanaProvider, { children: _jsx(UTXOProvider, { children: _jsx(SuiProvider, { children:
|
|
11
|
-
}
|
|
12
|
-
function CallBackHandler({ onConnect, onDisconnect, children }) {
|
|
13
|
-
const inWagmiContext = useInWagmiContext();
|
|
14
|
-
if (!inWagmiContext) {
|
|
15
|
-
return _jsx(_Fragment, { children: children });
|
|
16
|
-
}
|
|
17
|
-
useConnectCallback({ onConnect, onDisconnect });
|
|
18
|
-
return _jsx(_Fragment, { children: children });
|
|
9
|
+
return (_jsx(AppContext.Provider, { value: { walletConfig: config?.walletConfig }, children: _jsx(QueryProvider, { children: _jsx(EVMProvider, { children: _jsx(SolanaProvider, { children: _jsx(UTXOProvider, { children: _jsx(SuiProvider, { children: children }) }) }) }) }) }));
|
|
19
10
|
}
|
|
20
11
|
//# sourceMappingURL=wallet-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-provider.js","sourceRoot":"","sources":["../../src/providers/wallet-provider.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"wallet-provider.js","sourceRoot":"","sources":["../../src/providers/wallet-provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAI/C;IACA,OAAO,CACL,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,YAChE,KAAC,aAAa,cACZ,KAAC,WAAW,cACV,KAAC,cAAc,cACb,KAAC,YAAY,cACX,KAAC,WAAW,cACP,QAAQ,GACC,GACD,GACA,GACL,GACA,GACI,CACvB,CAAA;AACH,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export { createDepositPayOrder, createSalePayOrder, getPayOrder, payOrderPaymentDetails, payOrderQuote, processPayOrder } from "@coin-voyage/shared/api";
|
|
2
1
|
export { ChainId, ChainType } from "@coin-voyage/shared/common/chains";
|
|
3
|
-
export {
|
|
2
|
+
export { ApiClient } from "./lib/api/client";
|
package/dist/server.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export { createDepositPayOrder, createSalePayOrder, getPayOrder, payOrderPaymentDetails, payOrderQuote, processPayOrder } from "@coin-voyage/shared/api";
|
|
2
1
|
export { ChainId, ChainType } from "@coin-voyage/shared/common/chains";
|
|
3
|
-
|
|
4
|
-
export { generateAuthorizationSignature } from "./utils/generate-signature";
|
|
2
|
+
export { ApiClient } from "./lib/api/client";
|
|
5
3
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { useConnectCallbackProps } from "@coin-voyage/crypto/hooks";
|
|
2
|
+
import type { WalletConfiguration as WalletConfigurationImport } from "@coin-voyage/crypto/types/wallet";
|
|
3
|
+
import { APIEnvironment } from "@coin-voyage/shared/api";
|
|
1
4
|
import type { ReactNode } from "react";
|
|
2
5
|
import type { Languages as Lang } from "./lib/localizations";
|
|
3
|
-
import type { WalletConfiguration as WalletConfigurationImport } from "@coin-voyage/crypto/types/wallet";
|
|
4
6
|
export type WalletConfiguration = WalletConfigurationImport;
|
|
5
7
|
export type { PayOrder, PayOrderMetadata } from "@coin-voyage/shared/common";
|
|
6
8
|
export type PayKitConfig = {
|
|
@@ -10,8 +12,9 @@ export type PayKitConfig = {
|
|
|
10
12
|
mode?: Mode;
|
|
11
13
|
customTheme?: CustomTheme;
|
|
12
14
|
debugMode?: boolean;
|
|
15
|
+
environment?: APIEnvironment;
|
|
13
16
|
options?: PayKitOptions;
|
|
14
|
-
}
|
|
17
|
+
} & Omit<useConnectCallbackProps, "setAllowedWallets">;
|
|
15
18
|
export type Languages = Lang;
|
|
16
19
|
export type Theme = "auto" | "web95" | "retro" | "soft" | "midnight" | "minimal" | "rounded" | "nouns";
|
|
17
20
|
export type Mode = "light" | "dark" | "auto";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const paykitVersion: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coin-voyage/paykit",
|
|
3
3
|
"description": "Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.12-beta.1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"author": "Lars <lars@coinvoyage.io>",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"resize-observer-polyfill": "^1.5.1",
|
|
64
64
|
"styled-components": "^5.3.11",
|
|
65
65
|
"zod": "3.24.1",
|
|
66
|
-
"@coin-voyage/crypto": "0.0.
|
|
67
|
-
"@coin-voyage/shared": "0.0.
|
|
66
|
+
"@coin-voyage/crypto": "0.0.20",
|
|
67
|
+
"@coin-voyage/shared": "0.0.12"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/qrcode": "^1.4.2",
|
|
@@ -86,6 +86,8 @@
|
|
|
86
86
|
"build": "tsc --build --force",
|
|
87
87
|
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
88
88
|
"release:build": "pnpm clean && pnpm build",
|
|
89
|
+
"pre:release": "pnpm version prerelease --preid=beta",
|
|
90
|
+
"pre:publish": "pnpm publish --access public --tag beta --no-git-checks",
|
|
89
91
|
"type-check": "tsc --noEmit"
|
|
90
92
|
}
|
|
91
93
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates an authorization signature for API requests.
|
|
3
|
-
*
|
|
4
|
-
* ⚠️ **Warning:** This function should only be run on the server.
|
|
5
|
-
* It uses the API secret, which must remain confidential. Running this
|
|
6
|
-
* code in a client-side environment risks exposing sensitive information
|
|
7
|
-
* to end users or malicious actors.
|
|
8
|
-
*
|
|
9
|
-
* This function creates a signed authorization string using the provided API key and secret.
|
|
10
|
-
* The generated string includes the API key, a timestamp (in seconds since epoch),
|
|
11
|
-
* and a SHA-512 hash signature of the concatenated API key, secret, and timestamp.
|
|
12
|
-
*
|
|
13
|
-
* @param {string} apiKey - The API key used for authentication.
|
|
14
|
-
* @param {string} apiSecret - The API secret used to generate the signature.
|
|
15
|
-
* @returns {string} - A formatted authorization string in the format:
|
|
16
|
-
* `APIKey=<apiKey>,signature=<signature>,timestamp=<timestamp>`.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* const apiKey = 'yourApiKey';
|
|
20
|
-
* const apiSecret = 'yourApiSecret';
|
|
21
|
-
* const authSignature = generateAuthorizationSignature(apiKey, apiSecret);
|
|
22
|
-
* console.log(authSignature);
|
|
23
|
-
* // Example output:
|
|
24
|
-
* // APIKey=yourApiKey,signature=2ee76043a90a...,timestamp=1737106896
|
|
25
|
-
*/
|
|
26
|
-
export declare function generateAuthorizationSignature(apiKey: string, apiSecret: string): string;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { createHash } from "crypto";
|
|
2
|
-
/**
|
|
3
|
-
* Generates an authorization signature for API requests.
|
|
4
|
-
*
|
|
5
|
-
* ⚠️ **Warning:** This function should only be run on the server.
|
|
6
|
-
* It uses the API secret, which must remain confidential. Running this
|
|
7
|
-
* code in a client-side environment risks exposing sensitive information
|
|
8
|
-
* to end users or malicious actors.
|
|
9
|
-
*
|
|
10
|
-
* This function creates a signed authorization string using the provided API key and secret.
|
|
11
|
-
* The generated string includes the API key, a timestamp (in seconds since epoch),
|
|
12
|
-
* and a SHA-512 hash signature of the concatenated API key, secret, and timestamp.
|
|
13
|
-
*
|
|
14
|
-
* @param {string} apiKey - The API key used for authentication.
|
|
15
|
-
* @param {string} apiSecret - The API secret used to generate the signature.
|
|
16
|
-
* @returns {string} - A formatted authorization string in the format:
|
|
17
|
-
* `APIKey=<apiKey>,signature=<signature>,timestamp=<timestamp>`.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* const apiKey = 'yourApiKey';
|
|
21
|
-
* const apiSecret = 'yourApiSecret';
|
|
22
|
-
* const authSignature = generateAuthorizationSignature(apiKey, apiSecret);
|
|
23
|
-
* console.log(authSignature);
|
|
24
|
-
* // Example output:
|
|
25
|
-
* // APIKey=yourApiKey,signature=2ee76043a90a...,timestamp=1737106896
|
|
26
|
-
*/
|
|
27
|
-
export function generateAuthorizationSignature(apiKey, apiSecret) {
|
|
28
|
-
// Get the current timestamp as a string
|
|
29
|
-
const timestamp = Math.floor(Date.now() / 1000).toString();
|
|
30
|
-
// Create the data string
|
|
31
|
-
const data = apiKey + apiSecret + timestamp;
|
|
32
|
-
// Create a SHA-512 hash of the data
|
|
33
|
-
const hash = createHash('sha512');
|
|
34
|
-
hash.update(data);
|
|
35
|
-
// Encode the hash as a hexadecimal string
|
|
36
|
-
const signature = hash.digest('hex');
|
|
37
|
-
// Format the final string
|
|
38
|
-
return `APIKey=${apiKey},signature=${signature},timestamp=${timestamp}`;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=generate-signature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-signature.js","sourceRoot":"","sources":["../../src/utils/generate-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,SAAiB;IAC5E,wCAAwC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3D,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAE5C,oCAAoC;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElB,0CAA0C;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErC,0BAA0B;IAC1B,OAAO,UAAU,MAAM,cAAc,SAAS,cAAc,SAAS,EAAE,CAAC;AAC1E,CAAC"}
|