@hot-labs/kit 1.4.0 → 1.4.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/build/core/address.d.ts +25 -0
- package/build/core/address.js +162 -0
- package/build/core/address.js.map +1 -0
- package/build/core/recipient.d.ts +1 -0
- package/build/core/recipient.js +6 -0
- package/build/core/recipient.js.map +1 -1
- package/build/near/connector.js +7 -2
- package/build/near/connector.js.map +1 -1
- package/build/ui/bridge/Bridge.js +2 -2
- package/build/ui/bridge/Bridge.js.map +1 -1
- package/build/ui/bridge/SelectRecipient.js +4 -3
- package/build/ui/bridge/SelectRecipient.js.map +1 -1
- package/package.json +1 -1
- package/src/core/address.ts +155 -0
- package/src/core/recipient.ts +7 -0
- package/src/near/connector.ts +4 -1
- package/src/ui/bridge/Bridge.tsx +2 -2
- package/src/ui/bridge/SelectRecipient.tsx +16 -9
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const MinAccountIdLen = 2;
|
|
2
|
+
export declare const MaxAccountIdLen = 64;
|
|
3
|
+
export declare const ValidAccountRe: RegExp;
|
|
4
|
+
export declare const NEAR_DOMAINS: string[];
|
|
5
|
+
export declare const NEAR_ADDRESS_HEX_LENGTH = 64;
|
|
6
|
+
export declare const EVM_DOMAINS: string[];
|
|
7
|
+
export declare const validateAddress: (address: string) => {
|
|
8
|
+
chainId: number;
|
|
9
|
+
isEvm: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const isBase58: (address: string) => boolean;
|
|
12
|
+
export declare const isBase32: (address: string) => boolean;
|
|
13
|
+
export declare const isHex: (address: string) => boolean;
|
|
14
|
+
export declare const isValidBtcAddress: (address: string) => boolean;
|
|
15
|
+
export declare function isValidNearAccountId(accountId: string): boolean;
|
|
16
|
+
export declare const isValidNearAddress: (address: string, { allowWithoutDomain, allowSubdomain }?: {
|
|
17
|
+
allowWithoutDomain: boolean;
|
|
18
|
+
allowSubdomain: boolean;
|
|
19
|
+
}) => boolean;
|
|
20
|
+
export declare const isValidTronAddress: (base58Sting: string) => boolean;
|
|
21
|
+
export declare const isValidSolanaAddress: (address: string) => boolean;
|
|
22
|
+
export declare const isValidEvmAddress: (address: string) => boolean;
|
|
23
|
+
export declare const isValidStellarAddress: (address: string) => boolean;
|
|
24
|
+
export declare const isValidTonAddress: (address: string) => boolean;
|
|
25
|
+
export declare const isValidAddress: (chain: number, address: string) => boolean;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Address } from "@ton/core";
|
|
2
|
+
import { Address as StellarAddress } from "@stellar/stellar-sdk";
|
|
3
|
+
import { base32, base58, hex } from "@scure/base";
|
|
4
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
5
|
+
import * as ethers from "ethers";
|
|
6
|
+
import { chains, Network, WalletType } from "./chains";
|
|
7
|
+
export const MinAccountIdLen = 2;
|
|
8
|
+
export const MaxAccountIdLen = 64;
|
|
9
|
+
export const ValidAccountRe = /^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;
|
|
10
|
+
export const NEAR_DOMAINS = [".near", ".sweat", ".usn", ".tg"];
|
|
11
|
+
export const NEAR_ADDRESS_HEX_LENGTH = 64;
|
|
12
|
+
export const EVM_DOMAINS = [".eth", ".cb.id"];
|
|
13
|
+
export const validateAddress = (address) => {
|
|
14
|
+
if (isValidNearAddress(address))
|
|
15
|
+
return { chainId: Network.Near, isEvm: false };
|
|
16
|
+
if (isValidSolanaAddress(address))
|
|
17
|
+
return { chainId: Network.Solana, isEvm: false };
|
|
18
|
+
if (isValidTronAddress(address))
|
|
19
|
+
return { chainId: Network.Tron, isEvm: false };
|
|
20
|
+
if (isValidTonAddress(address))
|
|
21
|
+
return { chainId: Network.Ton, isEvm: false };
|
|
22
|
+
if (isValidEvmAddress(address))
|
|
23
|
+
return { chainId: 1, isEvm: true };
|
|
24
|
+
if (isValidBtcAddress(address))
|
|
25
|
+
return { chainId: Network.Btc, isEvm: false };
|
|
26
|
+
if (isValidStellarAddress(address))
|
|
27
|
+
return { chainId: Network.Stellar, isEvm: false };
|
|
28
|
+
return { chainId: -1, isEvm: false };
|
|
29
|
+
};
|
|
30
|
+
export const isBase58 = (address) => {
|
|
31
|
+
try {
|
|
32
|
+
base58.decode(address);
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const isBase32 = (address) => {
|
|
40
|
+
try {
|
|
41
|
+
base32.decode(address);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
export const isHex = (address) => {
|
|
49
|
+
try {
|
|
50
|
+
hex.decode(address);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export const isValidBtcAddress = (address) => {
|
|
58
|
+
// Basic validation for Bitcoin addresses (P2PKH, P2SH, Bech32)
|
|
59
|
+
const p2pkhRegex = /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/;
|
|
60
|
+
const p2shRegex = /^[2mn][a-km-zA-HJ-NP-Z1-9]{25,39}$/;
|
|
61
|
+
const bech32Regex = /^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,90}$/;
|
|
62
|
+
return p2pkhRegex.test(address) || p2shRegex.test(address) || bech32Regex.test(address);
|
|
63
|
+
};
|
|
64
|
+
export function isValidNearAccountId(accountId) {
|
|
65
|
+
return !!accountId && accountId.length >= MinAccountIdLen && accountId.length <= MaxAccountIdLen && accountId.match(ValidAccountRe) != null;
|
|
66
|
+
}
|
|
67
|
+
export const isValidNearAddress = (address, { allowWithoutDomain, allowSubdomain } = { allowWithoutDomain: false, allowSubdomain: true }) => {
|
|
68
|
+
if (!isValidNearAccountId(address))
|
|
69
|
+
return false;
|
|
70
|
+
if (address.length === NEAR_ADDRESS_HEX_LENGTH)
|
|
71
|
+
return true;
|
|
72
|
+
if (allowWithoutDomain && !address.includes("."))
|
|
73
|
+
return true;
|
|
74
|
+
const endsWithValidDomain = NEAR_DOMAINS.some((t) => address.endsWith(t));
|
|
75
|
+
if (!endsWithValidDomain)
|
|
76
|
+
return false;
|
|
77
|
+
const parts = address.split(".");
|
|
78
|
+
const lastPart = `.${parts[parts.length - 1]}`;
|
|
79
|
+
if (!NEAR_DOMAINS.includes(lastPart))
|
|
80
|
+
return false;
|
|
81
|
+
const otherParts = parts.slice(0, -1);
|
|
82
|
+
const hasOtherDomains = otherParts.some((part) => NEAR_DOMAINS.includes(`.${part}`));
|
|
83
|
+
if (hasOtherDomains)
|
|
84
|
+
return false;
|
|
85
|
+
if (allowSubdomain)
|
|
86
|
+
return true;
|
|
87
|
+
return parts.length <= 2;
|
|
88
|
+
};
|
|
89
|
+
export const isValidTronAddress = (base58Sting) => {
|
|
90
|
+
if (base58Sting.length <= 4)
|
|
91
|
+
return false;
|
|
92
|
+
let address;
|
|
93
|
+
try {
|
|
94
|
+
address = base58.decode(base58Sting);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (base58Sting.length <= 4)
|
|
100
|
+
return false;
|
|
101
|
+
const len = address.length;
|
|
102
|
+
const offset = len - 4;
|
|
103
|
+
const checkSum = address.slice(offset);
|
|
104
|
+
address = address.slice(0, offset);
|
|
105
|
+
const hash0 = sha256(address);
|
|
106
|
+
const hash1 = sha256(new Uint8Array(hash0));
|
|
107
|
+
const checkSum1 = hash1.slice(0, 4);
|
|
108
|
+
if (checkSum[0] === checkSum1[0] && checkSum[1] === checkSum1[1] && checkSum[2] === checkSum1[2] && checkSum[3] === checkSum1[3]) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
};
|
|
113
|
+
export const isValidSolanaAddress = (address) => {
|
|
114
|
+
if (address.startsWith("0x"))
|
|
115
|
+
return false;
|
|
116
|
+
if (ethers.isAddress(address))
|
|
117
|
+
return false;
|
|
118
|
+
if (isBase58(address) && [32, 44].includes(address.length))
|
|
119
|
+
return true;
|
|
120
|
+
return !!isValidNearAccountId(address) && address.endsWith(".sol");
|
|
121
|
+
};
|
|
122
|
+
export const isValidEvmAddress = (address) => {
|
|
123
|
+
return EVM_DOMAINS.some((t) => address.endsWith(t)) || ethers.isAddress(address);
|
|
124
|
+
};
|
|
125
|
+
export const isValidStellarAddress = (address) => {
|
|
126
|
+
try {
|
|
127
|
+
new StellarAddress(address);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
export const isValidTonAddress = (address) => {
|
|
135
|
+
try {
|
|
136
|
+
Address.parse(address);
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
export const isValidAddress = (chain, address) => {
|
|
144
|
+
if (chains.get(chain)?.type === WalletType.EVM)
|
|
145
|
+
return isValidEvmAddress(address);
|
|
146
|
+
if (chains.get(chain)?.type === WalletType.TON)
|
|
147
|
+
return isValidTonAddress(address);
|
|
148
|
+
if (chain === Network.Omni)
|
|
149
|
+
return isValidNearAddress(address, { allowWithoutDomain: true, allowSubdomain: false });
|
|
150
|
+
if (chain === Network.Near)
|
|
151
|
+
return isValidNearAddress(address);
|
|
152
|
+
if (chain === Network.Solana)
|
|
153
|
+
return isValidSolanaAddress(address);
|
|
154
|
+
if (chain === Network.Tron)
|
|
155
|
+
return isValidTronAddress(address);
|
|
156
|
+
if (chain === Network.Btc)
|
|
157
|
+
return isValidBtcAddress(address);
|
|
158
|
+
if (chain === Network.Stellar)
|
|
159
|
+
return isValidStellarAddress(address);
|
|
160
|
+
return false;
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/core/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@ export declare class Recipient {
|
|
|
6
6
|
readonly omniAddress: string;
|
|
7
7
|
constructor(type: WalletType, address: string, omniAddress: string);
|
|
8
8
|
static fromWallet(wallet?: OmniWallet): Recipient | undefined;
|
|
9
|
+
static isValidAddress(type: WalletType, address: string): boolean;
|
|
9
10
|
static fromAddress(type: WalletType, address: string): Promise<Recipient>;
|
|
10
11
|
}
|
package/build/core/recipient.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Address } from "@ton/core";
|
|
|
2
2
|
import { hex, base32, base58 } from "@scure/base";
|
|
3
3
|
import { tonApi } from "../ton/utils";
|
|
4
4
|
import { WalletType } from "./chains";
|
|
5
|
+
import { isValidAddress } from "./address";
|
|
5
6
|
export class Recipient {
|
|
6
7
|
type;
|
|
7
8
|
address;
|
|
@@ -16,7 +17,12 @@ export class Recipient {
|
|
|
16
17
|
return undefined;
|
|
17
18
|
return new Recipient(wallet.type, wallet.address, wallet.omniAddress);
|
|
18
19
|
}
|
|
20
|
+
static isValidAddress(type, address) {
|
|
21
|
+
return isValidAddress(type, address);
|
|
22
|
+
}
|
|
19
23
|
static async fromAddress(type, address) {
|
|
24
|
+
if (!isValidAddress(type, address))
|
|
25
|
+
throw new Error("Invalid address");
|
|
20
26
|
if (type === WalletType.TON) {
|
|
21
27
|
const data = await tonApi.accounts.getAccountPublicKey(Address.parse(address));
|
|
22
28
|
return new Recipient(WalletType.TON, address, data.publicKey.toLowerCase());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/core/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/core/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,OAAO,SAAS;IACC;IAA2B;IAA0B;IAA1E,YAAqB,IAAgB,EAAW,OAAe,EAAW,WAAmB;QAAxE,SAAI,GAAJ,IAAI,CAAY;QAAW,YAAO,GAAP,OAAO,CAAQ;QAAW,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEjG,MAAM,CAAC,UAAU,CAAC,MAAmB;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAgB,EAAE,OAAe;QACrD,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAgB,EAAE,OAAe;QACxD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEvE,IAAI,IAAI,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/E,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
package/build/near/connector.js
CHANGED
|
@@ -27,12 +27,17 @@ class Connector extends OmniConnector {
|
|
|
27
27
|
if (accounts.length === 0)
|
|
28
28
|
return;
|
|
29
29
|
const { accountId, publicKey } = accounts[0];
|
|
30
|
+
if (this.wallets.find((t) => t.address === accountId))
|
|
31
|
+
return;
|
|
30
32
|
this.setWallet(new NearWallet(accountId, publicKey, wallet));
|
|
31
33
|
});
|
|
32
34
|
this.connector.getConnectedWallet().then(async ({ wallet }) => {
|
|
33
35
|
const [account] = await wallet.getAccounts();
|
|
34
|
-
if (account)
|
|
35
|
-
|
|
36
|
+
if (!account)
|
|
37
|
+
return;
|
|
38
|
+
if (this.wallets.find((t) => t.address === account.accountId))
|
|
39
|
+
return;
|
|
40
|
+
this.setWallet(new NearWallet(account.accountId, account.publicKey, wallet));
|
|
36
41
|
});
|
|
37
42
|
this.connector.whenManifestLoaded.then(() => {
|
|
38
43
|
runInAction(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/near/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,UAAU,MAAM,UAAU,CAAC;AAElC,MAAM,SAAU,SAAQ,aAAyB;IAQ1B;IAPrB,SAAS,CAAgB;IACzB,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;IAC5B,WAAW,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,GAAG,4GAA4G,CAAC;IACpH,IAAI,GAAG,aAAa,CAAC;IACrB,EAAE,GAAG,MAAM,CAAC;IAEZ,YAAqB,KAAmB,EAAE,SAAyB;QACjE,KAAK,CAAC,KAAK,CAAC,CAAC;QADM,UAAK,GAAL,KAAK,CAAc;QAGtC,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aACrC,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC;gBACjC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7D,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAClC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,OAAO;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/near/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -197,10 +197,10 @@ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSele
|
|
|
197
197
|
return (_jsx(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, 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: { width: 300, height: 300 }, mode: "forward", loop: true, autoplay: true }, "loading"), _jsx("p", { style: { marginTop: -32, fontSize: 16 }, children: processing.message })] }) }));
|
|
198
198
|
}
|
|
199
199
|
if (processing?.status === "success") {
|
|
200
|
-
return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, 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"),
|
|
200
|
+
return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, 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"), _jsxs("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: [title, " successful"] })] }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: () => (cancelReview(), onClose()), children: "Continue" })] }));
|
|
201
201
|
}
|
|
202
202
|
if (processing?.status === "error") {
|
|
203
|
-
return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, 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"),
|
|
203
|
+
return (_jsxs(Popup, { widget: widget, onClose: onClose, header: _jsx("p", { children: title }), mobileFullscreen: setup?.mobileFullscreen, 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"), _jsxs("p", { style: { fontSize: 24, marginTop: -32, fontWeight: "bold" }, children: [title, " failed"] }), _jsx("p", { style: { fontSize: 14 }, children: processing.message })] }), _jsx(ActionButton, { onClick: () => (cancelReview(), onClose()), children: "Continue" })] }));
|
|
204
204
|
}
|
|
205
205
|
const button = () => {
|
|
206
206
|
if (sender == null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../../src/ui/bridge/Bridge.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../../src/ui/bridge/Bridge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import styled from "styled-components";
|
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { ArrowRightIcon } from "../icons/arrow-right";
|
|
6
6
|
import { Recipient } from "../../core/recipient";
|
|
7
|
-
import { WalletType } from "../../core/chains";
|
|
7
|
+
import { chains, WalletType } from "../../core/chains";
|
|
8
8
|
import { formatter } from "../../core/utils";
|
|
9
9
|
import { PSmall } from "../uikit/text";
|
|
10
10
|
import { ImageView } from "../uikit/image";
|
|
@@ -15,6 +15,7 @@ import Popup from "../Popup";
|
|
|
15
15
|
export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClose }) => {
|
|
16
16
|
const connectors = hot.connectors.filter((t) => t.walletTypes.includes(type) && t.type !== ConnectorType.SOCIAL);
|
|
17
17
|
const [customAddress, setCustomAddress] = useState(recipient?.address || "");
|
|
18
|
+
const isError = !Recipient.isValidAddress(type, customAddress) && customAddress.length > 0;
|
|
18
19
|
const selectCustom = async () => {
|
|
19
20
|
const recipient = await Recipient.fromAddress(type, customAddress);
|
|
20
21
|
onSelect(recipient);
|
|
@@ -26,12 +27,12 @@ export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClo
|
|
|
26
27
|
onSelect(Recipient.fromWallet(t.wallets[0]));
|
|
27
28
|
onClose();
|
|
28
29
|
};
|
|
29
|
-
return (_jsxs(Popup, { header: _jsx("p", { children: "Select recipient" }), onClose: onClose, children: [connectors.map((t) => (_jsxs(PopupOption, { onClick: () => selectWallet(t), children: [_jsx(ImageView, { src: t.icon, alt: t.name, size: 44 }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { style: { fontSize: 20, fontWeight: "bold" }, children: t.name }), t.wallets[0]?.address && _jsx("span", { className: "wallet-address", children: formatter.truncateAddress(t.wallets[0].address) })] }), !t.wallets[0]?.address ? _jsx("p", { children: "Connect" }) : _jsx(ArrowRightIcon, { style: { flexShrink: 0 } })] }, t.id))), type !== WalletType.OMNI && (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8, width: "100%", margin: "12px 0" }, children: [_jsx("div", { style: { width: "100%", height: 1, background: "rgba(255,255,255,0.1)" } }), _jsx(PSmall, { children: "OR" }), _jsx("div", { style: { width: "100%", height: 1, background: "rgba(255,255,255,0.1)" } })] }), _jsxs("div", { style: { width: "100%" }, children: [_jsx(PSmall, { style: { textAlign: "left" }, children: "Enter recipient address, avoid CEX" }), _jsxs(CustomRecipient, { children: [_jsx("input", { type: "text", placeholder: "Enter wallet address", onChange: (e) => setCustomAddress(e.target.value), value: customAddress }), _jsx("button", { onClick: selectCustom, disabled: customAddress.length === 0, children: "Select" })] })] })] }))] }));
|
|
30
|
+
return (_jsxs(Popup, { header: _jsx("p", { children: "Select recipient" }), onClose: onClose, children: [connectors.map((t) => (_jsxs(PopupOption, { onClick: () => selectWallet(t), children: [_jsx(ImageView, { src: t.icon, alt: t.name, size: 44 }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { style: { fontSize: 20, fontWeight: "bold" }, children: t.name }), t.wallets[0]?.address && _jsx("span", { className: "wallet-address", children: formatter.truncateAddress(t.wallets[0].address) })] }), !t.wallets[0]?.address ? _jsx("p", { children: "Connect" }) : _jsx(ArrowRightIcon, { style: { flexShrink: 0 } })] }, t.id))), type !== WalletType.OMNI && (_jsxs(_Fragment, { children: [connectors.length > 0 && (_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8, width: "100%", margin: "12px 0" }, children: [_jsx("div", { style: { width: "100%", height: 1, background: "rgba(255,255,255,0.1)" } }), _jsx(PSmall, { children: "OR" }), _jsx("div", { style: { width: "100%", height: 1, background: "rgba(255,255,255,0.1)" } })] })), _jsxs("div", { style: { width: "100%" }, children: [_jsx(PSmall, { style: { textAlign: "left" }, children: "Enter recipient address, avoid CEX" }), _jsxs(CustomRecipient, { "$error": isError, children: [_jsx("input", { type: "text", placeholder: "Enter wallet address", onChange: (e) => setCustomAddress(e.target.value), value: customAddress }), _jsx("button", { onClick: selectCustom, disabled: customAddress.length === 0, children: "Select" })] }), isError && _jsxs(PSmall, { style: { marginTop: 4, textAlign: "left", color: "#F34747" }, children: ["Invalid ", chains.get(type)?.name, " address"] })] })] }))] }));
|
|
30
31
|
});
|
|
31
32
|
const CustomRecipient = styled.div `
|
|
32
33
|
display: flex;
|
|
33
34
|
align-items: center;
|
|
34
|
-
border: 1px solid #2d2d2d;
|
|
35
|
+
border: 1px solid ${({ $error }) => ($error ? "#F34747" : "#2d2d2d")};
|
|
35
36
|
border-radius: 12px;
|
|
36
37
|
overflow: hidden;
|
|
37
38
|
margin-top: 8px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRecipient.js","sourceRoot":"","sources":["../../../src/ui/bridge/SelectRecipient.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectRecipient.js","sourceRoot":"","sources":["../../../src/ui/bridge/SelectRecipient.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Address } from "@ton/core";
|
|
2
|
+
import { Address as StellarAddress } from "@stellar/stellar-sdk";
|
|
3
|
+
import { base32, base58, hex } from "@scure/base";
|
|
4
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
5
|
+
import * as ethers from "ethers";
|
|
6
|
+
import { chains, Network, WalletType } from "./chains";
|
|
7
|
+
|
|
8
|
+
export const MinAccountIdLen = 2;
|
|
9
|
+
export const MaxAccountIdLen = 64;
|
|
10
|
+
export const ValidAccountRe = /^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;
|
|
11
|
+
export const NEAR_DOMAINS = [".near", ".sweat", ".usn", ".tg"];
|
|
12
|
+
export const NEAR_ADDRESS_HEX_LENGTH = 64;
|
|
13
|
+
export const EVM_DOMAINS = [".eth", ".cb.id"];
|
|
14
|
+
|
|
15
|
+
export const validateAddress = (address: string) => {
|
|
16
|
+
if (isValidNearAddress(address)) return { chainId: Network.Near, isEvm: false };
|
|
17
|
+
if (isValidSolanaAddress(address)) return { chainId: Network.Solana, isEvm: false };
|
|
18
|
+
if (isValidTronAddress(address)) return { chainId: Network.Tron, isEvm: false };
|
|
19
|
+
if (isValidTonAddress(address)) return { chainId: Network.Ton, isEvm: false };
|
|
20
|
+
if (isValidEvmAddress(address)) return { chainId: 1, isEvm: true };
|
|
21
|
+
if (isValidBtcAddress(address)) return { chainId: Network.Btc, isEvm: false };
|
|
22
|
+
if (isValidStellarAddress(address)) return { chainId: Network.Stellar, isEvm: false };
|
|
23
|
+
return { chainId: -1, isEvm: false };
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const isBase58 = (address: string) => {
|
|
27
|
+
try {
|
|
28
|
+
base58.decode(address);
|
|
29
|
+
return true;
|
|
30
|
+
} catch (e) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const isBase32 = (address: string) => {
|
|
36
|
+
try {
|
|
37
|
+
base32.decode(address);
|
|
38
|
+
return true;
|
|
39
|
+
} catch (e) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export const isHex = (address: string) => {
|
|
45
|
+
try {
|
|
46
|
+
hex.decode(address);
|
|
47
|
+
return true;
|
|
48
|
+
} catch (e) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const isValidBtcAddress = (address: string) => {
|
|
54
|
+
// Basic validation for Bitcoin addresses (P2PKH, P2SH, Bech32)
|
|
55
|
+
const p2pkhRegex = /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/;
|
|
56
|
+
const p2shRegex = /^[2mn][a-km-zA-HJ-NP-Z1-9]{25,39}$/;
|
|
57
|
+
const bech32Regex = /^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,90}$/;
|
|
58
|
+
|
|
59
|
+
return p2pkhRegex.test(address) || p2shRegex.test(address) || bech32Regex.test(address);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export function isValidNearAccountId(accountId: string) {
|
|
63
|
+
return !!accountId && accountId.length >= MinAccountIdLen && accountId.length <= MaxAccountIdLen && accountId.match(ValidAccountRe) != null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export const isValidNearAddress = (address: string, { allowWithoutDomain, allowSubdomain } = { allowWithoutDomain: false, allowSubdomain: true }) => {
|
|
67
|
+
if (!isValidNearAccountId(address)) return false;
|
|
68
|
+
|
|
69
|
+
if (address.length === NEAR_ADDRESS_HEX_LENGTH) return true;
|
|
70
|
+
if (allowWithoutDomain && !address.includes(".")) return true;
|
|
71
|
+
|
|
72
|
+
const endsWithValidDomain = NEAR_DOMAINS.some((t) => address.endsWith(t));
|
|
73
|
+
if (!endsWithValidDomain) return false;
|
|
74
|
+
|
|
75
|
+
const parts = address.split(".");
|
|
76
|
+
|
|
77
|
+
const lastPart = `.${parts[parts.length - 1]}`;
|
|
78
|
+
if (!NEAR_DOMAINS.includes(lastPart)) return false;
|
|
79
|
+
|
|
80
|
+
const otherParts = parts.slice(0, -1);
|
|
81
|
+
const hasOtherDomains = otherParts.some((part) => NEAR_DOMAINS.includes(`.${part}`));
|
|
82
|
+
if (hasOtherDomains) return false;
|
|
83
|
+
|
|
84
|
+
if (allowSubdomain) return true;
|
|
85
|
+
return parts.length <= 2;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const isValidTronAddress = (base58Sting: string) => {
|
|
89
|
+
if (base58Sting.length <= 4) return false;
|
|
90
|
+
let address: Uint8Array;
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
address = base58.decode(base58Sting);
|
|
94
|
+
} catch (e) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (base58Sting.length <= 4) return false;
|
|
99
|
+
|
|
100
|
+
const len = address.length;
|
|
101
|
+
const offset = len - 4;
|
|
102
|
+
const checkSum = address.slice(offset);
|
|
103
|
+
address = address.slice(0, offset);
|
|
104
|
+
const hash0 = sha256(address);
|
|
105
|
+
const hash1 = sha256(new Uint8Array(hash0));
|
|
106
|
+
const checkSum1 = hash1.slice(0, 4);
|
|
107
|
+
|
|
108
|
+
if (checkSum[0] === checkSum1[0] && checkSum[1] === checkSum1[1] && checkSum[2] === checkSum1[2] && checkSum[3] === checkSum1[3]) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return false;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export const isValidSolanaAddress = (address: string) => {
|
|
116
|
+
if (address.startsWith("0x")) return false;
|
|
117
|
+
if (ethers.isAddress(address) as boolean) return false;
|
|
118
|
+
if (isBase58(address) && [32, 44].includes(address.length)) return true;
|
|
119
|
+
return !!isValidNearAccountId(address) && address.endsWith(".sol");
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export const isValidEvmAddress = (address: string) => {
|
|
123
|
+
return EVM_DOMAINS.some((t) => address.endsWith(t)) || ethers.isAddress(address);
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export const isValidStellarAddress = (address: string) => {
|
|
127
|
+
try {
|
|
128
|
+
new StellarAddress(address);
|
|
129
|
+
return true;
|
|
130
|
+
} catch (e) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export const isValidTonAddress = (address: string) => {
|
|
136
|
+
try {
|
|
137
|
+
Address.parse(address);
|
|
138
|
+
return true;
|
|
139
|
+
} catch (e) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export const isValidAddress = (chain: number, address: string) => {
|
|
145
|
+
if (chains.get(chain)?.type === WalletType.EVM) return isValidEvmAddress(address);
|
|
146
|
+
if (chains.get(chain)?.type === WalletType.TON) return isValidTonAddress(address);
|
|
147
|
+
|
|
148
|
+
if (chain === Network.Omni) return isValidNearAddress(address, { allowWithoutDomain: true, allowSubdomain: false });
|
|
149
|
+
if (chain === Network.Near) return isValidNearAddress(address);
|
|
150
|
+
if (chain === Network.Solana) return isValidSolanaAddress(address);
|
|
151
|
+
if (chain === Network.Tron) return isValidTronAddress(address);
|
|
152
|
+
if (chain === Network.Btc) return isValidBtcAddress(address);
|
|
153
|
+
if (chain === Network.Stellar) return isValidStellarAddress(address);
|
|
154
|
+
return false;
|
|
155
|
+
};
|
package/src/core/recipient.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { hex, base32, base58 } from "@scure/base";
|
|
|
4
4
|
import { type OmniWallet } from "./OmniWallet";
|
|
5
5
|
import { tonApi } from "../ton/utils";
|
|
6
6
|
import { WalletType } from "./chains";
|
|
7
|
+
import { isValidAddress } from "./address";
|
|
7
8
|
|
|
8
9
|
export class Recipient {
|
|
9
10
|
constructor(readonly type: WalletType, readonly address: string, readonly omniAddress: string) {}
|
|
@@ -13,7 +14,13 @@ export class Recipient {
|
|
|
13
14
|
return new Recipient(wallet.type, wallet.address, wallet.omniAddress);
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
static isValidAddress(type: WalletType, address: string) {
|
|
18
|
+
return isValidAddress(type, address);
|
|
19
|
+
}
|
|
20
|
+
|
|
16
21
|
static async fromAddress(type: WalletType, address: string) {
|
|
22
|
+
if (!isValidAddress(type, address)) throw new Error("Invalid address");
|
|
23
|
+
|
|
17
24
|
if (type === WalletType.TON) {
|
|
18
25
|
const data = await tonApi.accounts.getAccountPublicKey(Address.parse(address));
|
|
19
26
|
return new Recipient(WalletType.TON, address, data.publicKey.toLowerCase());
|
package/src/near/connector.ts
CHANGED
|
@@ -29,12 +29,15 @@ class Connector extends OmniConnector<NearWallet> {
|
|
|
29
29
|
this.connector.on("wallet:signIn", async ({ wallet, accounts }) => {
|
|
30
30
|
if (accounts.length === 0) return;
|
|
31
31
|
const { accountId, publicKey } = accounts[0];
|
|
32
|
+
if (this.wallets.find((t) => t.address === accountId)) return;
|
|
32
33
|
this.setWallet(new NearWallet(accountId, publicKey, wallet));
|
|
33
34
|
});
|
|
34
35
|
|
|
35
36
|
this.connector.getConnectedWallet().then(async ({ wallet }) => {
|
|
36
37
|
const [account] = await wallet.getAccounts();
|
|
37
|
-
if (account)
|
|
38
|
+
if (!account) return;
|
|
39
|
+
if (this.wallets.find((t) => t.address === account.accountId)) return;
|
|
40
|
+
this.setWallet(new NearWallet(account.accountId, account.publicKey, wallet));
|
|
38
41
|
});
|
|
39
42
|
|
|
40
43
|
this.connector.whenManifestLoaded.then(() => {
|
package/src/ui/bridge/Bridge.tsx
CHANGED
|
@@ -261,7 +261,7 @@ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSele
|
|
|
261
261
|
<div style={{ width: "100%", height: 400, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }}>
|
|
262
262
|
{/* @ts-expect-error: dotlottie-wc is not typed */}
|
|
263
263
|
<dotlottie-wc key="success" src={animations.success} speed="1" style={{ width: 300, height: 300 }} mode="forward" loop autoplay></dotlottie-wc>
|
|
264
|
-
<p style={{ fontSize: 24, marginTop: -32, fontWeight: "bold" }}>
|
|
264
|
+
<p style={{ fontSize: 24, marginTop: -32, fontWeight: "bold" }}>{title} successful</p>
|
|
265
265
|
</div>
|
|
266
266
|
<PopupButton style={{ marginTop: "auto" }} onClick={() => (cancelReview(), onClose())}>
|
|
267
267
|
Continue
|
|
@@ -276,7 +276,7 @@ export const Bridge = observer(({ hot, widget, setup, onClose, onProcess, onSele
|
|
|
276
276
|
<div style={{ width: "100%", height: 400, gap: 8, display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column" }}>
|
|
277
277
|
{/* @ts-expect-error: dotlottie-wc is not typed */}
|
|
278
278
|
<dotlottie-wc key="error" src={animations.failed} speed="1" style={{ width: 300, height: 300 }} mode="forward" loop autoplay></dotlottie-wc>
|
|
279
|
-
<p style={{ fontSize: 24, marginTop: -32, fontWeight: "bold" }}>
|
|
279
|
+
<p style={{ fontSize: 24, marginTop: -32, fontWeight: "bold" }}>{title} failed</p>
|
|
280
280
|
<p style={{ fontSize: 14 }}>{processing.message}</p>
|
|
281
281
|
</div>
|
|
282
282
|
<ActionButton onClick={() => (cancelReview(), onClose())}>Continue</ActionButton>
|
|
@@ -5,7 +5,7 @@ import { useState } from "react";
|
|
|
5
5
|
import { ArrowRightIcon } from "../icons/arrow-right";
|
|
6
6
|
|
|
7
7
|
import { Recipient } from "../../core/recipient";
|
|
8
|
-
import { WalletType } from "../../core/chains";
|
|
8
|
+
import { chains, WalletType } from "../../core/chains";
|
|
9
9
|
import { formatter } from "../../core/utils";
|
|
10
10
|
|
|
11
11
|
import { PSmall } from "../uikit/text";
|
|
@@ -28,6 +28,8 @@ export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClo
|
|
|
28
28
|
const connectors = hot.connectors.filter((t) => t.walletTypes.includes(type) && t.type !== ConnectorType.SOCIAL);
|
|
29
29
|
const [customAddress, setCustomAddress] = useState<string>(recipient?.address || "");
|
|
30
30
|
|
|
31
|
+
const isError = !Recipient.isValidAddress(type, customAddress) && customAddress.length > 0;
|
|
32
|
+
|
|
31
33
|
const selectCustom = async () => {
|
|
32
34
|
const recipient = await Recipient.fromAddress(type, customAddress);
|
|
33
35
|
onSelect(recipient);
|
|
@@ -55,14 +57,17 @@ export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClo
|
|
|
55
57
|
|
|
56
58
|
{type !== WalletType.OMNI && (
|
|
57
59
|
<>
|
|
58
|
-
|
|
59
|
-
<div style={{
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
{connectors.length > 0 && (
|
|
61
|
+
<div style={{ display: "flex", alignItems: "center", gap: 8, width: "100%", margin: "12px 0" }}>
|
|
62
|
+
<div style={{ width: "100%", height: 1, background: "rgba(255,255,255,0.1)" }}></div>
|
|
63
|
+
<PSmall>OR</PSmall>
|
|
64
|
+
<div style={{ width: "100%", height: 1, background: "rgba(255,255,255,0.1)" }}></div>
|
|
65
|
+
</div>
|
|
66
|
+
)}
|
|
67
|
+
|
|
63
68
|
<div style={{ width: "100%" }}>
|
|
64
69
|
<PSmall style={{ textAlign: "left" }}>Enter recipient address, avoid CEX</PSmall>
|
|
65
|
-
<CustomRecipient>
|
|
70
|
+
<CustomRecipient $error={isError}>
|
|
66
71
|
<input //
|
|
67
72
|
type="text"
|
|
68
73
|
placeholder="Enter wallet address"
|
|
@@ -73,6 +78,8 @@ export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClo
|
|
|
73
78
|
Select
|
|
74
79
|
</button>
|
|
75
80
|
</CustomRecipient>
|
|
81
|
+
|
|
82
|
+
{isError && <PSmall style={{ marginTop: 4, textAlign: "left", color: "#F34747" }}>Invalid {chains.get(type)?.name} address</PSmall>}
|
|
76
83
|
</div>
|
|
77
84
|
</>
|
|
78
85
|
)}
|
|
@@ -80,10 +87,10 @@ export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClo
|
|
|
80
87
|
);
|
|
81
88
|
});
|
|
82
89
|
|
|
83
|
-
const CustomRecipient = styled.div
|
|
90
|
+
const CustomRecipient = styled.div<{ $error: boolean }>`
|
|
84
91
|
display: flex;
|
|
85
92
|
align-items: center;
|
|
86
|
-
border: 1px solid #2d2d2d;
|
|
93
|
+
border: 1px solid ${({ $error }) => ($error ? "#F34747" : "#2d2d2d")};
|
|
87
94
|
border-radius: 12px;
|
|
88
95
|
overflow: hidden;
|
|
89
96
|
margin-top: 8px;
|