@hot-labs/kit 1.1.0-beta.3 → 1.1.0-beta.4

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.
@@ -1,41 +1,24 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { observer } from "mobx-react-lite";
3
- import React, { useEffect, useState } from "react";
4
- import { formatter, Intents } from "../../core";
3
+ import { useEffect, useState } from "react";
4
+ import { WalletIcon } from "../icons/wallet";
5
+ import { PopupButton, PopupOption, PopupOptionInfo } from "../styles";
6
+ import { formatter } from "../../core";
5
7
  import { Recipient } from "../../core/recipient";
6
8
  import { Network } from "../../core/chains";
7
9
  import { api } from "../../core/api";
8
10
  import { openConnector } from "../router";
9
11
  import Popup from "../Popup";
10
12
  import { TokenCard, TokenIcon } from "./TokenCard";
11
- import { PopupButton, PopupOption, PopupOptionInfo } from "../styles";
12
- import { WalletIcon } from "../icons/wallet";
13
+ import { HorizontalStepper } from "./Stepper";
13
14
  import { Loader } from "./Profile";
14
15
  const animations = {
15
16
  success: "https://hex.exchange/success.json",
16
17
  failed: "https://hex.exchange/error.json",
17
18
  loading: "https://hex.exchange/loading.json",
18
19
  };
19
- export const HorizontalStepper = ({ steps, currentStep, style }) => {
20
- return (_jsx("div", { style: { padding: "0 32px 32px", display: "flex", alignItems: "center", width: "100%", margin: "16px 0", ...style }, children: steps.map((step, idx) => {
21
- const isCompleted = idx < currentStep;
22
- const isActive = idx === currentStep;
23
- return (_jsxs(React.Fragment, { children: [_jsx("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" }, children: _jsx("div", { style: {
24
- width: 16,
25
- height: 16,
26
- position: "relative",
27
- borderRadius: "50%",
28
- border: isActive || isCompleted ? "2px solid #ffffff" : "2px solid #a0a0a0",
29
- background: isCompleted ? "#ffffff" : "#333",
30
- display: "flex",
31
- alignItems: "center",
32
- justifyContent: "center",
33
- transition: "all 0.2s",
34
- zIndex: 1,
35
- }, children: _jsx("p", { style: { fontSize: 16, color: "#fff", opacity: isActive ? 1 : 0.5, position: "absolute", top: 24, width: 100 }, children: step.label }) }) }), idx < steps.length - 1 && _jsx("div", { style: { transition: "background 0.2s", flex: 1, height: 2, background: idx < currentStep ? "#ffffff" : "#333", margin: "0 6px", borderRadius: 24, minWidth: 24 } })] }, idx));
36
- }) }));
37
- };
38
- export const Payment = observer(({ connector, intents, onClose, onConfirm }) => {
20
+ const PAY_SLIPPAGE = 0.002;
21
+ export const Payment = observer(({ connector, intents, payload, onReject, onSuccess }) => {
39
22
  useState(() => {
40
23
  fetch(animations.loading);
41
24
  fetch(animations.success);
@@ -53,23 +36,34 @@ export const Payment = observer(({ connector, intents, onClose, onConfirm }) =>
53
36
  const selectToken = async (from, wallet) => {
54
37
  if (!wallet)
55
38
  return;
56
- setFlow({ token: from, wallet, review: undefined, step: "sign" });
57
- const review = await connector.exchange.reviewSwap({
58
- recipient: Recipient.fromWallet(wallet),
59
- amount: needAmount,
60
- sender: wallet,
61
- refund: wallet,
62
- slippage: 0.005,
63
- type: "exactOut",
64
- to: need,
65
- from,
66
- });
67
- setFlow({ token: from, wallet, review, step: "sign" });
39
+ // Set signer as payer wallet if not set another
40
+ if (!intents.signer)
41
+ intents.attachWallet(wallet);
42
+ if (from.id === need.id) {
43
+ return setFlow({ token: from, wallet, review: "direct", step: "sign" });
44
+ }
45
+ try {
46
+ setFlow({ token: from, wallet, review: undefined, step: "sign" });
47
+ const review = await connector.exchange.reviewSwap({
48
+ recipient: Recipient.fromWallet(intents.signer),
49
+ amount: needAmount + (needAmount * BigInt(Math.floor(PAY_SLIPPAGE * 1000))) / BigInt(1000),
50
+ slippage: PAY_SLIPPAGE,
51
+ sender: wallet,
52
+ refund: wallet,
53
+ type: "exactOut",
54
+ to: need,
55
+ from,
56
+ });
57
+ setFlow({ token: from, wallet, review, step: "sign" });
58
+ }
59
+ catch {
60
+ setFlow({ token: from, wallet, error: true, step: "sign" });
61
+ }
68
62
  };
69
63
  const signStep = async () => {
70
64
  try {
71
65
  setFlow((t) => (t ? { ...t, step: "sign", loading: true } : null));
72
- const commitment = await intents.attachWallet(flow.wallet).sign();
66
+ const commitment = await intents.sign();
73
67
  setFlow((t) => (t ? { ...t, step: "transfer", commitment, loading: false } : null));
74
68
  }
75
69
  catch (error) {
@@ -86,17 +80,14 @@ export const Payment = observer(({ connector, intents, onClose, onConfirm }) =>
86
80
  if (!flow?.review)
87
81
  throw new Error("Review not found");
88
82
  setFlow((t) => (t ? { ...t, step: "loading" } : null));
89
- const result = await connector.exchange.makeSwap(flow.review, { log: () => { } });
90
- if (typeof result.review.qoute === "object") {
91
- const data = await api.pendingPayment(commitment, result.review.qoute.depositAddress);
92
- setFlow((t) => (t ? { ...t, step: "success", loading: false, success: true } : null));
93
- return data;
94
- }
95
- else {
96
- const hash = await Intents.publish([commitment]);
97
- setFlow((t) => (t ? { ...t, step: "success", loading: false, success: true } : null));
98
- return { hash };
83
+ // make swap if need
84
+ let depositAddress;
85
+ if (flow.review != "direct") {
86
+ const result = await connector.exchange.makeSwap(flow.review, { log: () => { } });
87
+ depositAddress = typeof result.review?.qoute === "object" ? result.review?.qoute?.depositAddress : undefined;
99
88
  }
89
+ const data = await api.yieldIntentCall({ depositAddress, commitment, payload });
90
+ setFlow((t) => (t ? { ...t, step: "success", loading: false, success: true, data } : null));
100
91
  }
101
92
  catch (error) {
102
93
  console.error(error);
@@ -105,31 +96,29 @@ export const Payment = observer(({ connector, intents, onClose, onConfirm }) =>
105
96
  }
106
97
  };
107
98
  if (flow?.step === "success") {
108
- return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [_jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.success, speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "success"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Payment successful" })] }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: () => onClose(), children: "Continue" })] }));
99
+ return (_jsxs(Popup, { header: _jsx("p", { children: title }), children: [_jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.success, speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "success"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Payment successful" })] }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: () => onSuccess(flow.data), children: "Continue" })] }));
109
100
  }
110
101
  if (flow?.step === "loading") {
111
- return (_jsx(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: _jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.loading, speed: "1", style: { marginTop: -64, width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "loading"), _jsx("p", { style: { fontSize: 24, marginTop: -16, fontWeight: "bold" }, children: "Processing payment" })] }) }));
102
+ return (_jsx(Popup, { header: _jsx("p", { children: title }), children: _jsxs("div", { style: { width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.loading, speed: "1", style: { marginTop: -64, width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "loading"), _jsx("p", { style: { fontSize: 24, marginTop: -16, fontWeight: "bold" }, children: "Processing payment" })] }) }));
112
103
  }
113
104
  if (flow?.step === "error") {
114
- return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [_jsxs("div", { style: { width: "100%", height: 400, gap: 8, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.failed, speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "error"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Payment failed" }), _jsx("p", { style: { fontSize: 14 }, children: flow.error?.toString?.() ?? "Unknown error" })] }), _jsx(PopupButton, { onClick: () => onClose(), children: "Close" })] }));
105
+ return (_jsxs(Popup, { header: _jsx("p", { children: title }), children: [_jsxs("div", { style: { width: "100%", height: 400, gap: 8, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }, children: [_jsx("dotlottie-wc", { src: animations.failed, speed: "1", style: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "error"), _jsx("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: "Payment failed" }), _jsx("p", { style: { fontSize: 14, width: "80%", textAlign: "center", overflowY: "auto", lineBreak: "anywhere" }, children: flow.error?.toString?.() ?? "Unknown error" })] }), _jsx(PopupButton, { onClick: () => onReject(flow.error?.toString?.() ?? "Unknown error"), children: "Close" })] }));
115
106
  }
116
107
  if (flow?.step === "transfer") {
117
108
  if (!flow.token)
118
109
  return null;
119
110
  if (!flow.wallet)
120
111
  return null;
121
- return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 2 }), _jsxs(PopupOption, { style: { marginTop: 8 }, children: [_jsx(TokenIcon, { token: flow.token, wallet: flow.wallet }), _jsxs("div", { style: { marginTop: -2, textAlign: "left" }, children: [_jsx("p", { style: { textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: flow.token.symbol }), _jsxs("p", { style: { textAlign: "left", fontSize: 14, color: "#c6c6c6" }, children: ["$", formatter.amount(flow.token.usd)] })] }), flow.review ? (_jsxs("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx("p", { style: { textAlign: "right", fontSize: 20 }, children: flow.token.readable(flow.review?.amountIn ?? 0) }), _jsxs("p", { style: { textAlign: "right", fontSize: 14, color: "#c6c6c6" }, children: ["$", flow.token.readable(flow.review?.amountIn ?? 0n, flow.token.usd)] })] })) : (_jsx("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: _jsx(Loader, {}) }))] }), _jsx(PopupButton, { style: { marginTop: 24 }, disabled: !flow?.review, onClick: () => onConfirm(confirmPaymentStep()), children: flow?.loading ? "Confirming..." : "Confirm payment" })] }));
112
+ return (_jsxs(Popup, { onClose: () => onReject("closed"), header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 2 }), _jsxs(PopupOption, { style: { marginTop: 8 }, children: [_jsx(TokenIcon, { token: flow.token, wallet: flow.wallet }), _jsxs("div", { style: { marginTop: -2, textAlign: "left" }, children: [_jsx("p", { style: { textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: flow.token.symbol }), _jsxs("p", { style: { textAlign: "left", fontSize: 14, color: "#c6c6c6" }, children: ["$", formatter.amount(flow.token.usd)] })] }), flow.review ? (_jsxs("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx("p", { style: { textAlign: "right", fontSize: 20 }, children: flow.token.readable(flow.review === "direct" ? needAmount : flow.review?.amountIn ?? 0) }), _jsxs("p", { style: { textAlign: "right", fontSize: 14, color: "#c6c6c6" }, children: ["$", flow.token.readable(flow.review === "direct" ? needAmount : flow.review?.amountIn ?? 0n, flow.token.usd)] })] })) : (_jsx("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: _jsx(Loader, {}) }))] }), _jsx(PopupButton, { style: { marginTop: 24 }, disabled: !flow?.review, onClick: confirmPaymentStep, children: flow?.loading ? "Confirming..." : "Confirm payment" })] }));
122
113
  }
123
114
  if (flow?.step === "sign") {
124
115
  if (!flow.token)
125
116
  return null;
126
117
  if (!flow.wallet)
127
118
  return null;
128
- return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 1 }), _jsxs(PopupOption, { style: { marginTop: 8 }, children: [_jsx(TokenIcon, { token: flow.token, wallet: flow.wallet }), _jsxs("div", { style: { marginTop: -2, textAlign: "left" }, children: [_jsx("p", { style: { textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: flow.token.symbol }), _jsxs("p", { style: { textAlign: "left", fontSize: 14, color: "#c6c6c6" }, children: ["$", formatter.amount(flow.token.usd)] })] }), flow.review ? (_jsxs("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx("p", { style: { textAlign: "right", fontSize: 20 }, children: flow.token.readable(flow.review?.amountIn ?? 0) }), _jsxs("p", { style: { textAlign: "right", fontSize: 14, color: "#c6c6c6" }, children: ["$", flow.token.readable(flow.review?.amountIn ?? 0n, flow.token.usd)] })] })) : (_jsx("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: _jsx(Loader, {}) }))] }), _jsx(PopupButton, { style: { marginTop: 24 }, disabled: !flow?.review, onClick: signStep, children: flow?.loading ? "Signing..." : flow?.review ? "Sign review" : "Quoting..." })] }));
119
+ return (_jsxs(Popup, { onClose: () => onReject("closed"), header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 1 }), _jsxs(PopupOption, { style: { marginTop: 8 }, children: [_jsx(TokenIcon, { token: flow.token, wallet: flow.wallet }), _jsxs("div", { style: { marginTop: -2, textAlign: "left" }, children: [_jsx("p", { style: { textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: flow.token.symbol }), _jsxs("p", { style: { textAlign: "left", fontSize: 14, color: "#c6c6c6" }, children: ["$", formatter.amount(flow.token.usd)] })] }), flow.review ? (_jsxs("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx("p", { style: { textAlign: "right", fontSize: 20 }, children: flow.token.readable(flow.review === "direct" ? needAmount : flow.review?.amountIn ?? 0) }), _jsxs("p", { style: { textAlign: "right", fontSize: 14, color: "#c6c6c6" }, children: ["$", flow.token.readable(flow.review === "direct" ? needAmount : flow.review?.amountIn ?? 0n, flow.token.usd)] })] })) : (_jsx("div", { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: flow.error ? (_jsxs("svg", { width: "28", height: "28", viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-label": "Failed", style: { display: "block", margin: "0 auto" }, children: [_jsx("circle", { cx: "14", cy: "14", r: "13", stroke: "#E74C3C", strokeWidth: "2" }), _jsx("path", { d: "M9 9l10 10M19 9l-10 10", stroke: "#E74C3C", strokeWidth: "2.5", strokeLinecap: "round" })] })) : (_jsx(Loader, {})) }))] }), flow.error ? (_jsx(PopupButton, { style: { marginTop: 24 }, onClick: () => setFlow(null), children: "Select another token" })) : (_jsx(PopupButton, { style: { marginTop: 24 }, disabled: !flow?.review, onClick: signStep, children: flow?.loading ? "Signing..." : flow?.review ? "Sign review" : "Quoting..." }))] }));
129
120
  }
130
- return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 0 }), connector.walletsTokens.map(({ token, wallet, balance }) => {
131
- if (token.id === need.id)
132
- return null;
121
+ return (_jsxs(Popup, { onClose: () => onReject("closed"), header: _jsx("p", { children: title }), children: [_jsx(HorizontalStepper, { steps: [{ label: "Select" }, { label: "Review" }, { label: "Confirm" }], currentStep: 0 }), connector.walletsTokens.map(({ token, wallet, balance }) => {
133
122
  const availableBalance = token.float(balance) - token.reserve;
134
123
  if (need.originalChain === Network.Gonka || need.originalChain === Network.Juno) {
135
124
  if (token.id === need.id)
@@ -140,7 +129,7 @@ export const Payment = observer(({ connector, intents, onClose, onConfirm }) =>
140
129
  return null;
141
130
  return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
142
131
  }
143
- if (availableBalance * token.usd <= need.usd * need.float(needAmount))
132
+ if (availableBalance * token.usd <= need.usd * need.float(needAmount) * (1 + PAY_SLIPPAGE))
144
133
  return null;
145
134
  return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
146
135
  }), _jsxs(PopupOption, { onClick: () => openConnector(connector), children: [_jsx("div", { style: { width: 44, height: 44, borderRadius: 16, background: "#000", display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx(WalletIcon, {}) }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { children: "Connect wallet" }), _jsx("span", { className: "wallet-address", children: "To more pay options" })] })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Payment.js","sourceRoot":"","sources":["../../../src/ui/payment/Payment.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Payment.js","sourceRoot":"","sources":["../../../src/ui/payment/Payment.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ interface Step {
3
+ label: string;
4
+ completed?: boolean;
5
+ active?: boolean;
6
+ }
7
+ interface StepperProps {
8
+ steps: Step[];
9
+ currentStep: number;
10
+ style?: React.CSSProperties;
11
+ }
12
+ export declare const HorizontalStepper: React.FC<StepperProps>;
13
+ export {};
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ export const HorizontalStepper = ({ steps, currentStep, style }) => {
4
+ return (_jsx("div", { style: { padding: "0 32px 32px", display: "flex", alignItems: "center", width: "100%", margin: "16px 0", ...style }, children: steps.map((step, idx) => {
5
+ const isCompleted = idx < currentStep;
6
+ const isActive = idx === currentStep;
7
+ return (_jsxs(React.Fragment, { children: [_jsx("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" }, children: _jsx("div", { style: {
8
+ width: 16,
9
+ height: 16,
10
+ position: "relative",
11
+ borderRadius: "50%",
12
+ border: isActive || isCompleted ? "2px solid #ffffff" : "2px solid #a0a0a0",
13
+ background: isCompleted ? "#ffffff" : "#333",
14
+ display: "flex",
15
+ alignItems: "center",
16
+ justifyContent: "center",
17
+ transition: "all 0.2s",
18
+ zIndex: 1,
19
+ }, children: _jsx("p", { style: { fontSize: 16, color: "#fff", opacity: isActive ? 1 : 0.5, position: "absolute", top: 24, width: 100 }, children: step.label }) }) }), idx < steps.length - 1 && _jsx("div", { style: { transition: "background 0.2s", flex: 1, height: 2, background: idx < currentStep ? "#ffffff" : "#333", margin: "0 6px", borderRadius: 24, minWidth: 24 } })] }, idx));
20
+ }) }));
21
+ };
22
+ //# sourceMappingURL=Stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.js","sourceRoot":"","sources":["../../../src/ui/payment/Stepper.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,MAAM,CAAC,MAAM,iBAAiB,GAA2B,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,YACrH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACvB,MAAM,WAAW,GAAG,GAAG,GAAG,WAAW,CAAC;YACtC,MAAM,QAAQ,GAAG,GAAG,KAAK,WAAW,CAAC;YAErC,OAAO,CACL,MAAC,KAAK,CAAC,QAAQ,eACb,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAC5E,cACE,KAAK,EAAE;gCACL,KAAK,EAAE,EAAE;gCACT,MAAM,EAAE,EAAE;gCACV,QAAQ,EAAE,UAAU;gCACpB,YAAY,EAAE,KAAK;gCACnB,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB;gCAC3E,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gCAC5C,OAAO,EAAE,MAAM;gCACf,UAAU,EAAE,QAAQ;gCACpB,cAAc,EAAE,QAAQ;gCACxB,UAAU,EAAE,UAAU;gCACtB,MAAM,EAAE,CAAC;6BACV,YAED,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAG,IAAI,CAAC,KAAK,GAAK,GAC/H,GACF,EAEL,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,KArBlL,GAAG,CAsBP,CAClB,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,13 +1,16 @@
1
1
  import { HotConnector } from "../HotConnector";
2
2
  import { OmniConnector } from "../OmniConnector";
3
- import { BridgeReview } from "../exchange";
4
- import { Token } from "../core/token";
5
3
  import { OmniWallet } from "../OmniWallet";
4
+ import { BridgeReview } from "../exchange";
6
5
  import { WalletType } from "../core/chains";
7
6
  import { Recipient } from "../core/recipient";
8
7
  import { Intents } from "../core/Intents";
8
+ import { Token } from "../core/token";
9
9
  import { BridgeProps } from "./payment/Bridge";
10
- export declare const openPayment: (connector: HotConnector, intents: Intents) => Promise<Promise<string>>;
10
+ export declare const openPayment: (connector: HotConnector, intents: Intents, payload?: Record<string, any>) => Promise<{
11
+ paymentId: string;
12
+ tx: string;
13
+ }>;
11
14
  export declare const openLogoutPopup: (connector: OmniConnector) => Promise<void>;
12
15
  export declare const openBridge: (hot: HotConnector, setup?: BridgeProps["setup"]) => Promise<BridgeReview>;
13
16
  export declare const openConnector: (hot: HotConnector) => void;
@@ -1,19 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { present } from "./Popup";
3
+ import { SelectTokenPopup } from "./payment/SelectToken";
4
+ import { SelectRecipient } from "./payment/SelectRecipient";
5
+ import { SelectSender } from "./payment/SelectSender";
3
6
  import { Payment } from "./payment/Payment";
4
- import { LogoutPopup } from "./connect/LogoutPopup";
5
- import { Bridge } from "./payment/Bridge";
6
7
  import { Profile } from "./payment/Profile";
7
- import { SelectTokenPopup } from "./payment/SelectToken";
8
+ import { Bridge } from "./payment/Bridge";
9
+ import { LogoutPopup } from "./connect/LogoutPopup";
8
10
  import { WalletPicker } from "./connect/WalletPicker";
9
11
  import { Connector } from "./connect/ConnectWallet";
10
- import { SelectSender } from "./payment/SelectSender";
11
- import { SelectRecipient } from "./payment/SelectRecipient";
12
12
  import { WCRequest } from "./connect/WCRequest";
13
- export const openPayment = (connector, intents) => {
13
+ export const openPayment = (connector, intents, payload) => {
14
14
  return new Promise((resolve, reject) => {
15
15
  present((close) => (_jsx(Payment //
16
- , { onClose: () => (close(), reject(new Error("User rejected"))), onConfirm: resolve, connector: connector, intents: intents })));
16
+ , { onReject: () => (close(), reject(new Error("User rejected"))), onSuccess: (task) => (close(), resolve(task)), connector: connector, intents: intents, payload: payload })));
17
17
  });
18
18
  };
19
19
  export const openLogoutPopup = (connector) => {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/ui/router.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/ui/router.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hot-labs/kit",
3
- "version": "1.1.0-beta.3",
3
+ "version": "1.1.0-beta.4",
4
4
  "description": "HOT Labs Kit is chain agnostic connector with omni payments",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -19,6 +19,7 @@ export interface OmniConnectorOption {
19
19
  icon: string;
20
20
  id: string;
21
21
  download?: string;
22
+ deeplink?: string;
22
23
  type: "extension" | "external";
23
24
  }
24
25
 
@@ -49,6 +49,18 @@ export class Intents {
49
49
  return this;
50
50
  }
51
51
 
52
+ /**
53
+ * Use this method to pay for a merchant's item created in pay.hot-labs.org
54
+ */
55
+ merchantPayment({ merchantId, token, itemId, email, amount, memo }: { token: OmniToken; merchantId: string; itemId: string; amount: number | bigint; memo: string; email: string }) {
56
+ return this.transfer({
57
+ msg: JSON.stringify({ merchant_id: merchantId, item_id: itemId, memo: memo }),
58
+ recipient: "pay.fi.tg",
59
+ amount,
60
+ token,
61
+ }).depositAndExecute({ email });
62
+ }
63
+
52
64
  transfer(args: { recipient: string; token: OmniToken; amount: number | bigint; memo?: string; msg?: string; tgas?: number }) {
53
65
  const omniToken = tokens.get(args.token);
54
66
  const amount = (typeof args.amount === "number" ? omniToken.int(args.amount) : args.amount).toString();
@@ -344,9 +356,15 @@ export class Intents {
344
356
  return await Intents.simulateIntents([signed]);
345
357
  }
346
358
 
347
- async execute() {
359
+ async depositAndExecute(payload?: Record<string, any>) {
348
360
  if (!this.wibe3) throw new Error("No wibe3 attached");
349
- return openPayment(this.wibe3, this);
361
+ return openPayment(this.wibe3, this, payload);
362
+ }
363
+
364
+ async execute() {
365
+ if (!this.signer) throw new Error("No signer attached");
366
+ const signed = await this.sign();
367
+ return await Intents.publish([signed], this.hashes);
350
368
  }
351
369
 
352
370
  async executeBatch(params = { checkTokens: true, chunkSize: this.intents.length, onSuccess: (bucket: number, hash: string) => {} }) {
package/src/core/api.ts CHANGED
@@ -8,6 +8,16 @@ export class ApiError extends Error {
8
8
  }
9
9
  }
10
10
 
11
+ export interface PaymentStatus {
12
+ payment_id: string;
13
+ timestamp: number;
14
+ amount: string;
15
+ token_id: string;
16
+ sender_id: string;
17
+ near_trx: string;
18
+ status: string;
19
+ }
20
+
11
21
  export interface TokenType {
12
22
  icon: string;
13
23
  symbol: string;
@@ -69,16 +79,29 @@ export class Api {
69
79
  return result.balances?.[chain] || [];
70
80
  }
71
81
 
72
- async pendingPayment(commitment: Commitment, depositAddress: string) {
82
+ async yieldIntentCall(args: { commitment: Commitment; depositAddress?: string; payload?: Record<string, any> }) {
73
83
  return await this.request(`/api/v1/wibe3/yield_intent_call`, {
74
- body: JSON.stringify({ commitment, deposit_address: depositAddress }),
75
84
  method: "POST",
85
+ body: JSON.stringify({
86
+ commitment: args.commitment,
87
+ deposit_address: args.depositAddress,
88
+ ...args.payload,
89
+ }),
76
90
  });
77
91
  }
78
92
 
93
+ async paymentStatus(memo: string): Promise<PaymentStatus> {
94
+ const result = await this.request(`/partners/processed_payments?memo=${memo}`, { method: "GET" });
95
+ return result.payments[0];
96
+ }
97
+
98
+ async getPayments(merchantId: string): Promise<PaymentStatus[]> {
99
+ const result = await this.request(`/partners/processed_payments?merchant_id=${merchantId}`, { method: "GET" });
100
+ return result.payments;
101
+ }
102
+
79
103
  async publishIntents(signed: Record<string, any>[], hashes: string[]) {
80
104
  const result = await this.request(`/api/v1/wibe3/solver-bus`, {
81
- headers: { "Content-Type": "application/json" },
82
105
  method: "POST",
83
106
  body: JSON.stringify({
84
107
  params: [{ signed_datas: signed, quote_hashes: hashes }],
@@ -93,7 +116,6 @@ export class Api {
93
116
 
94
117
  async getIntentsStatus(intentHash: string) {
95
118
  const result = await this.request(`/api/v1/wibe3/solver-bus`, {
96
- headers: { "Content-Type": "application/json" },
97
119
  method: "POST",
98
120
  body: JSON.stringify({
99
121
  params: [{ intent_hash: intentHash }],
@@ -6,7 +6,7 @@ import { hex } from "@scure/base";
6
6
 
7
7
  import { api } from "../core/api";
8
8
  import { chains, WalletType } from "../core/chains";
9
- import { ConnectorType, OmniConnector, WC_ICON } from "../OmniConnector";
9
+ import { ConnectorType, OmniConnector, OmniConnectorOption, WC_ICON } from "../OmniConnector";
10
10
  import { HotConnector } from "../HotConnector";
11
11
  import { OmniWallet } from "../OmniWallet";
12
12
 
@@ -20,9 +20,9 @@ declare global {
20
20
  }
21
21
  }
22
22
 
23
- const wallets = {
23
+ const wallets: Record<string, OmniConnectorOption> = {
24
24
  keplr: {
25
- name: "Keplr",
25
+ name: "Keplr Wallet",
26
26
  icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
27
27
  download: "https://www.keplr.app/get",
28
28
  deeplink: "keplrwallet://wcV2?",
@@ -30,13 +30,21 @@ const wallets = {
30
30
  id: "keplr",
31
31
  },
32
32
  leap: {
33
- name: "Leap",
33
+ name: "Leap Wallet",
34
34
  icon: "https://framerusercontent.com/images/AbGYvbwnLekBbsdf5g7PI5PpSg.png?scale-down-to=512",
35
35
  download: "https://www.leapwallet.io/download",
36
36
  deeplink: "leapcosmos://wcV2?",
37
37
  type: "extension",
38
38
  id: "leap",
39
39
  },
40
+ gonkaWallet: {
41
+ name: "Gonka Wallet",
42
+ icon: "https://gonka-wallet.startonus.com/images/logo.png",
43
+ download: "https://t.me/gonka_wallet",
44
+ deeplink: "https://gonka-wallet.startonus.com/wc?wc=",
45
+ type: "external",
46
+ id: "gonkaWallet",
47
+ },
40
48
  };
41
49
 
42
50
  export default class CosmosConnector extends OmniConnector<CosmosWallet> {
@@ -50,28 +58,12 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
50
58
  constructor(wibe3: HotConnector) {
51
59
  super(wibe3);
52
60
 
53
- this.options = [
54
- {
55
- name: "Keplr",
56
- download: "https://www.keplr.app/get",
57
- icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
58
- type: "keplr" in window ? "extension" : "external",
59
- id: "keplr",
60
- },
61
- {
62
- name: "leap" in window ? "Leap" : "Leap Mobile",
63
- download: "https://www.leapwallet.io/download",
64
- icon: "https://framerusercontent.com/images/AbGYvbwnLekBbsdf5g7PI5PpSg.png?scale-down-to=512",
65
- type: "leap" in window ? "extension" : "external",
66
- id: "leap",
67
- },
68
- ];
69
-
61
+ this.options = Object.values(wallets);
70
62
  Keplr.getKeplr().then((keplr) => {
71
63
  const option = this.options.find((option) => option.id === "keplr")!;
72
64
  runInAction(() => {
73
65
  option.type = keplr ? "extension" : "external";
74
- option.name = keplr ? "Keplr" : "Keplr Mobile";
66
+ option.name = keplr ? "Keplr Wallet" : "Keplr Mobile";
75
67
  });
76
68
  });
77
69
 
@@ -113,7 +105,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
113
105
  return chains.getByType(WalletType.COSMOS).map((t) => t.key);
114
106
  }
115
107
 
116
- async setupWalletConnect(id?: "keplr" | "leap"): Promise<CosmosWallet> {
108
+ async setupWalletConnect(id?: "keplr" | "leap" | "gonkaWallet"): Promise<CosmosWallet> {
117
109
  const wc = await this.wc;
118
110
  if (!wc) throw new Error("WalletConnect not found");
119
111
 
@@ -183,7 +175,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
183
175
  );
184
176
  }
185
177
 
186
- async connectKeplr(type: "keplr" | "leap", extension?: Keplr): Promise<OmniWallet | { qrcode: string; deeplink?: string; task: Promise<OmniWallet> }> {
178
+ async connectKeplr(type: "keplr" | "leap" | "gonkaWallet", extension?: Keplr): Promise<OmniWallet | { qrcode: string; deeplink?: string; task: Promise<OmniWallet> }> {
187
179
  if (!extension) {
188
180
  return await this.connectWalletConnect({
189
181
  onConnect: () => this.setupWalletConnect(type),
@@ -232,6 +224,10 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
232
224
  });
233
225
  }
234
226
 
227
+ if (id === "gonkaWallet") {
228
+ return await this.connectKeplr("gonkaWallet");
229
+ }
230
+
235
231
  if (id === "keplr") {
236
232
  const keplr = await Keplr.getKeplr();
237
233
  return await this.connectKeplr("keplr", keplr);
@@ -2,7 +2,6 @@ import { StargateClient } from "@cosmjs/stargate";
2
2
  import { OmniWallet } from "../OmniWallet";
3
3
  import { chains, WalletType } from "../core/chains";
4
4
  import { ReviewFee } from "../core/bridge";
5
- import CosmosConnector from "./connector";
6
5
  import { Commitment } from "../core";
7
6
 
8
7
  interface ProtocolWallet {
package/src/exchange.ts CHANGED
@@ -334,14 +334,11 @@ export class Exchange {
334
334
 
335
335
  const depositAddress = review.qoute.depositAddress!;
336
336
  let hash = "";
337
+
337
338
  if (review.from.chain === Network.Hot) {
338
339
  hash = await this.wibe3
339
340
  .intentsBuilder(sender)
340
- .transfer({
341
- amount: review.amountIn,
342
- token: review.from.address as OmniToken,
343
- recipient: depositAddress,
344
- })
341
+ .transfer({ amount: review.amountIn, token: review.from.address as OmniToken, recipient: depositAddress })
345
342
  .execute();
346
343
  } else {
347
344
  hash = await sender.transfer({