@hot-labs/kit 1.2.0-alpha.2 → 1.2.0-alpha.3
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/OmniConnector.d.ts +1 -0
- package/build/OmniConnector.js.map +1 -1
- package/build/cosmos/connector.d.ts +7 -2
- package/build/cosmos/connector.js +69 -33
- package/build/cosmos/connector.js.map +1 -1
- package/build/cosmos/wallet.d.ts +3 -4
- package/build/cosmos/wallet.js +0 -4
- package/build/cosmos/wallet.js.map +1 -1
- package/build/evm/connector.d.ts +2 -2
- package/build/solana/connector.d.ts +2 -2
- package/package.json +2 -1
- package/src/OmniConnector.ts +1 -0
- package/src/cosmos/connector.ts +75 -38
- package/src/cosmos/wallet.ts +2 -7
package/build/OmniConnector.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OmniConnector.js","sourceRoot":"","sources":["../src/OmniConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,iBAAsC,MAAM,mCAAmC,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;
|
|
1
|
+
{"version":3,"file":"OmniConnector.js","sourceRoot":"","sources":["../src/OmniConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,14 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
21
21
|
constructor(wibe3: HotConnector);
|
|
22
22
|
getClient(chain: string): Promise<StargateClient>;
|
|
23
23
|
get chains(): string[];
|
|
24
|
-
setupWalletConnect(id?: "keplr" | "leap"): Promise<CosmosWallet>;
|
|
24
|
+
setupWalletConnect(id?: "keplr" | "leap" | "gonkaWallet"): Promise<CosmosWallet>;
|
|
25
25
|
setKeplrWallet(keplr: Keplr, address: string, publicKey: string): Promise<CosmosWallet>;
|
|
26
|
-
|
|
26
|
+
connectGonkaWallet(): Promise<OmniWallet | {
|
|
27
|
+
qrcode: string;
|
|
28
|
+
deeplink?: string;
|
|
29
|
+
task: Promise<OmniWallet>;
|
|
30
|
+
}>;
|
|
31
|
+
connectKeplr(type: "keplr" | "leap" | "gonkaWallet", extension?: Keplr): Promise<OmniWallet | {
|
|
27
32
|
qrcode: string;
|
|
28
33
|
deeplink?: string;
|
|
29
34
|
task: Promise<OmniWallet>;
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { Keplr } from "@keplr-wallet/provider-extension";
|
|
2
2
|
import { TxRaw } from "@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx";
|
|
3
3
|
import { StargateClient } from "@cosmjs/stargate";
|
|
4
|
+
import { base64, hex } from "@scure/base";
|
|
4
5
|
import { runInAction } from "mobx";
|
|
5
|
-
import { hex } from "@scure/base";
|
|
6
6
|
import { api } from "../core/api";
|
|
7
7
|
import { chains, WalletType } from "../core/chains";
|
|
8
8
|
import { ConnectorType, OmniConnector, WC_ICON } from "../OmniConnector";
|
|
9
9
|
import { signAndSendTx } from "./helpers";
|
|
10
10
|
import CosmosWallet from "./wallet";
|
|
11
11
|
const wallets = {
|
|
12
|
+
gonkaWallet: {
|
|
13
|
+
name: "Gonka Wallet",
|
|
14
|
+
icon: "https://gonka-wallet.startonus.com/images/logo.png",
|
|
15
|
+
download: "https://t.me/gonka_wallet",
|
|
16
|
+
deeplink: "https://wallet.gonka.top/wc?wc=",
|
|
17
|
+
type: "external",
|
|
18
|
+
id: "gonkaWallet",
|
|
19
|
+
},
|
|
12
20
|
keplr: {
|
|
13
|
-
name: "Keplr",
|
|
21
|
+
name: "Keplr Wallet",
|
|
14
22
|
icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
|
|
15
23
|
download: "https://www.keplr.app/get",
|
|
16
24
|
deeplink: "keplrwallet://wcV2?",
|
|
@@ -18,7 +26,7 @@ const wallets = {
|
|
|
18
26
|
id: "keplr",
|
|
19
27
|
},
|
|
20
28
|
leap: {
|
|
21
|
-
name: "Leap",
|
|
29
|
+
name: "Leap Wallet",
|
|
22
30
|
icon: "https://framerusercontent.com/images/AbGYvbwnLekBbsdf5g7PI5PpSg.png?scale-down-to=512",
|
|
23
31
|
download: "https://www.leapwallet.io/download",
|
|
24
32
|
deeplink: "leapcosmos://wcV2?",
|
|
@@ -35,27 +43,12 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
35
43
|
id = "cosmos";
|
|
36
44
|
constructor(wibe3) {
|
|
37
45
|
super(wibe3);
|
|
38
|
-
this.options =
|
|
39
|
-
{
|
|
40
|
-
name: "Keplr",
|
|
41
|
-
download: "https://www.keplr.app/get",
|
|
42
|
-
icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
|
|
43
|
-
type: "keplr" in window ? "extension" : "external",
|
|
44
|
-
id: "keplr",
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
name: "leap" in window ? "Leap" : "Leap Mobile",
|
|
48
|
-
download: "https://www.leapwallet.io/download",
|
|
49
|
-
icon: "https://framerusercontent.com/images/AbGYvbwnLekBbsdf5g7PI5PpSg.png?scale-down-to=512",
|
|
50
|
-
type: "leap" in window ? "extension" : "external",
|
|
51
|
-
id: "leap",
|
|
52
|
-
},
|
|
53
|
-
];
|
|
46
|
+
this.options = Object.values(wallets);
|
|
54
47
|
Keplr.getKeplr().then((keplr) => {
|
|
55
48
|
const option = this.options.find((option) => option.id === "keplr");
|
|
56
49
|
runInAction(() => {
|
|
57
50
|
option.type = keplr ? "extension" : "external";
|
|
58
|
-
option.name = keplr ? "Keplr" : "Keplr Mobile";
|
|
51
|
+
option.name = keplr ? "Keplr Wallet" : "Keplr Mobile";
|
|
59
52
|
});
|
|
60
53
|
});
|
|
61
54
|
this.getStorage().then(async ({ type, address, publicKey }) => {
|
|
@@ -72,7 +65,7 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
72
65
|
this.setKeplrWallet(window.leap, address, publicKey);
|
|
73
66
|
});
|
|
74
67
|
this.initWalletConnect()
|
|
75
|
-
.then(async (
|
|
68
|
+
.then(async () => {
|
|
76
69
|
this.options.unshift({
|
|
77
70
|
download: "https://www.walletconnect.com/get",
|
|
78
71
|
name: "WalletConnect",
|
|
@@ -99,18 +92,42 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
99
92
|
if (!wc)
|
|
100
93
|
throw new Error("WalletConnect not found");
|
|
101
94
|
const properties = JSON.parse(wc.session?.sessionProperties?.keys || "{}");
|
|
102
|
-
const account = properties?.find((t) => t.chainId === "gonka-mainnet");
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
95
|
+
const account = properties?.find?.((t) => t.chainId === "gonka-mainnet");
|
|
96
|
+
let publicKey = "";
|
|
97
|
+
let address = "";
|
|
98
|
+
if (account) {
|
|
99
|
+
publicKey = Buffer.from(account.pubKey, "base64").toString("hex");
|
|
100
|
+
address = account.bech32Address || "";
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const savedAccount = await this.getStorage().catch(() => null);
|
|
104
|
+
if (savedAccount?.address && savedAccount?.publicKey) {
|
|
105
|
+
publicKey = savedAccount.publicKey;
|
|
106
|
+
address = savedAccount.address;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
const data = await this.requestWalletConnect({
|
|
110
|
+
deeplink: id ? wallets[id].deeplink : undefined,
|
|
111
|
+
icon: id ? wallets[id].icon : undefined,
|
|
112
|
+
name: id ? wallets[id].name : undefined,
|
|
113
|
+
request: {
|
|
114
|
+
method: "cosmos_getAccounts",
|
|
115
|
+
params: { chainId: "gonka-mainnet" },
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
if (!Array.isArray(data) || data.length === 0)
|
|
119
|
+
throw new Error("Account not found");
|
|
120
|
+
publicKey = hex.encode(base64.decode(data[0].pubkey));
|
|
121
|
+
address = data[0].address;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.setStorage({ type: "walletconnect", id, address, publicKey });
|
|
108
125
|
const wallet = new CosmosWallet(this, {
|
|
109
126
|
address: address,
|
|
110
127
|
publicKeyHex: publicKey,
|
|
111
128
|
disconnect: () => this.disconnectWalletConnect(),
|
|
112
129
|
sendTransaction: async (signDoc) => {
|
|
113
|
-
const {
|
|
130
|
+
const { signature } = await this.requestWalletConnect({
|
|
114
131
|
chain: `cosmos:${signDoc.chainId}`,
|
|
115
132
|
deeplink: id ? wallets[id].deeplink : undefined,
|
|
116
133
|
icon: id ? wallets[id].icon : undefined,
|
|
@@ -128,15 +145,15 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
128
145
|
},
|
|
129
146
|
},
|
|
130
147
|
});
|
|
148
|
+
const protobufTx = TxRaw.encode({
|
|
149
|
+
bodyBytes: signDoc.bodyBytes,
|
|
150
|
+
authInfoBytes: signDoc.authInfoBytes,
|
|
151
|
+
signatures: [Buffer.from(signature.signature, "base64")],
|
|
152
|
+
}).finish();
|
|
131
153
|
const chain = chains.getByKey(signDoc.chainId);
|
|
132
154
|
if (!chain)
|
|
133
155
|
throw new Error("Chain not found");
|
|
134
156
|
const client = await this.getClient(chain.key);
|
|
135
|
-
const protobufTx = TxRaw.encode({
|
|
136
|
-
bodyBytes: signed.bodyBytes,
|
|
137
|
-
authInfoBytes: signed.authInfoBytes,
|
|
138
|
-
signatures: [Buffer.from(signature.signature, "base64")],
|
|
139
|
-
}).finish();
|
|
140
157
|
const result = await client.broadcastTx(protobufTx);
|
|
141
158
|
if (result.code !== 0)
|
|
142
159
|
throw "Transaction failed";
|
|
@@ -157,6 +174,22 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
157
174
|
},
|
|
158
175
|
}));
|
|
159
176
|
}
|
|
177
|
+
async connectGonkaWallet() {
|
|
178
|
+
const result = await this.connectWalletConnect({
|
|
179
|
+
onConnect: () => this.setupWalletConnect("gonkaWallet"),
|
|
180
|
+
deeplink: wallets["gonkaWallet"].deeplink,
|
|
181
|
+
namespaces: {
|
|
182
|
+
cosmos: {
|
|
183
|
+
methods: ["cosmos_getAccounts", "cosmos_signDirect"],
|
|
184
|
+
events: ["chainChanged", "accountsChanged"],
|
|
185
|
+
chains: this.chains.map((chain) => `cosmos:${chain}`),
|
|
186
|
+
rpcMap: {},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
});
|
|
190
|
+
window.parent.postMessage({ type: "wc_connect", payload: { wc: result.qrcode } }, "*");
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
160
193
|
async connectKeplr(type, extension) {
|
|
161
194
|
if (!extension) {
|
|
162
195
|
return await this.connectWalletConnect({
|
|
@@ -202,6 +235,9 @@ export default class CosmosConnector extends OmniConnector {
|
|
|
202
235
|
},
|
|
203
236
|
});
|
|
204
237
|
}
|
|
238
|
+
if (id === "gonkaWallet") {
|
|
239
|
+
return await this.connectGonkaWallet();
|
|
240
|
+
}
|
|
205
241
|
if (id === "keplr") {
|
|
206
242
|
const keplr = await Keplr.getKeplr();
|
|
207
243
|
return await this.connectKeplr("keplr", keplr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/cosmos/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gDAAgD,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/cosmos/connector.ts"],"names":[],"mappings":"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"}
|
package/build/cosmos/wallet.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OmniWallet } from "../OmniWallet";
|
|
2
2
|
import { WalletType } from "../core/chains";
|
|
3
3
|
import { ReviewFee } from "../core/bridge";
|
|
4
|
-
import CosmosConnector from "./connector";
|
|
5
4
|
import { Commitment } from "../core";
|
|
5
|
+
import { OmniConnector } from "../OmniConnector";
|
|
6
6
|
interface ProtocolWallet {
|
|
7
7
|
disconnect?: () => Promise<void>;
|
|
8
8
|
sendTransaction?: (signDoc: any) => Promise<string>;
|
|
@@ -10,14 +10,13 @@ interface ProtocolWallet {
|
|
|
10
10
|
publicKeyHex: string;
|
|
11
11
|
}
|
|
12
12
|
export default class CosmosWallet extends OmniWallet {
|
|
13
|
-
readonly connector:
|
|
13
|
+
readonly connector: OmniConnector;
|
|
14
14
|
readonly wallet: ProtocolWallet;
|
|
15
15
|
readonly type = WalletType.COSMOS;
|
|
16
|
-
constructor(connector:
|
|
16
|
+
constructor(connector: OmniConnector, wallet: ProtocolWallet);
|
|
17
17
|
get address(): string;
|
|
18
18
|
get publicKey(): string;
|
|
19
19
|
get omniAddress(): string;
|
|
20
|
-
disconnect(): Promise<void>;
|
|
21
20
|
sendTransaction(signDoc: any): Promise<string>;
|
|
22
21
|
transferFee(): Promise<ReviewFee>;
|
|
23
22
|
transfer(): Promise<string>;
|
package/build/cosmos/wallet.js
CHANGED
|
@@ -19,10 +19,6 @@ export default class CosmosWallet extends OmniWallet {
|
|
|
19
19
|
get omniAddress() {
|
|
20
20
|
return "";
|
|
21
21
|
}
|
|
22
|
-
async disconnect() {
|
|
23
|
-
super.disconnect();
|
|
24
|
-
this.wallet.disconnect?.();
|
|
25
|
-
}
|
|
26
22
|
sendTransaction(signDoc) {
|
|
27
23
|
if (!this.wallet.sendTransaction)
|
|
28
24
|
throw "Not impl";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/cosmos/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAYpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAG7B;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/cosmos/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAYpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAG7B;IAAmC;IAF/C,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;IAElC,YAAqB,SAAwB,EAAW,MAAsB;QAC5E,KAAK,CAAC,SAAS,CAAC,CAAC;QADE,cAAS,GAAT,SAAS,CAAe;QAAW,WAAM,GAAN,MAAM,CAAgB;IAE9E,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,OAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,MAAM,UAAU,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,CAAC;IACnB,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,SAAmB;QACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,KAAa;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;CACF"}
|
package/build/evm/connector.d.ts
CHANGED
|
@@ -19,10 +19,10 @@ declare class EvmConnector extends OmniConnector<EvmWallet, {
|
|
|
19
19
|
address?: string;
|
|
20
20
|
publicKey?: string;
|
|
21
21
|
}>;
|
|
22
|
-
connect(id: string): Promise<{
|
|
22
|
+
connect(id: string): Promise<EvmWallet | {
|
|
23
23
|
qrcode: string;
|
|
24
24
|
deeplink?: string;
|
|
25
25
|
task: Promise<import("..").OmniWallet>;
|
|
26
|
-
}
|
|
26
|
+
}>;
|
|
27
27
|
}
|
|
28
28
|
export default EvmConnector;
|
|
@@ -21,10 +21,10 @@ declare class SolanaConnector extends OmniConnector<SolanaWallet, {
|
|
|
21
21
|
address?: string;
|
|
22
22
|
publicKey?: string;
|
|
23
23
|
}>;
|
|
24
|
-
connect(id: string): Promise<{
|
|
24
|
+
connect(id: string): Promise<SolanaWallet | {
|
|
25
25
|
qrcode: string;
|
|
26
26
|
deeplink?: string;
|
|
27
27
|
task: Promise<OmniWallet>;
|
|
28
|
-
}
|
|
28
|
+
}>;
|
|
29
29
|
}
|
|
30
30
|
export default SolanaConnector;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-labs/kit",
|
|
3
|
-
"version": "1.2.0-alpha.
|
|
3
|
+
"version": "1.2.0-alpha.3",
|
|
4
4
|
"description": "HOT Labs Kit is chain agnostic connector with omni payments",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"@noble/hashes": "^2.0.1",
|
|
42
42
|
"@scure/base": "^2.0.0",
|
|
43
43
|
"@solana/spl-token": "^0.4.14",
|
|
44
|
+
"@solana/wallet-standard-features": "^1.3.0",
|
|
44
45
|
"@stellar/freighter-api": "^6.0.1",
|
|
45
46
|
"@ton-api/client": "^0.4.0",
|
|
46
47
|
"@ton/core": "^0.62.0",
|
package/src/OmniConnector.ts
CHANGED
package/src/cosmos/connector.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Keplr } from "@keplr-wallet/provider-extension";
|
|
2
2
|
import { TxRaw } from "@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx";
|
|
3
3
|
import { StargateClient } from "@cosmjs/stargate";
|
|
4
|
+
import { base64, hex } from "@scure/base";
|
|
4
5
|
import { runInAction } from "mobx";
|
|
5
|
-
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,17 @@ declare global {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
const wallets = {
|
|
23
|
+
const wallets: Record<string, OmniConnectorOption> = {
|
|
24
|
+
gonkaWallet: {
|
|
25
|
+
name: "Gonka Wallet",
|
|
26
|
+
icon: "https://gonka-wallet.startonus.com/images/logo.png",
|
|
27
|
+
download: "https://t.me/gonka_wallet",
|
|
28
|
+
deeplink: "https://wallet.gonka.top/wc?wc=",
|
|
29
|
+
type: "external",
|
|
30
|
+
id: "gonkaWallet",
|
|
31
|
+
},
|
|
24
32
|
keplr: {
|
|
25
|
-
name: "Keplr",
|
|
33
|
+
name: "Keplr Wallet",
|
|
26
34
|
icon: "https://cdn.prod.website-files.com/667dc891bc7b863b5397495b/68a4ca95f93a9ab64dc67ab4_keplr-symbol.svg",
|
|
27
35
|
download: "https://www.keplr.app/get",
|
|
28
36
|
deeplink: "keplrwallet://wcV2?",
|
|
@@ -30,7 +38,7 @@ const wallets = {
|
|
|
30
38
|
id: "keplr",
|
|
31
39
|
},
|
|
32
40
|
leap: {
|
|
33
|
-
name: "Leap",
|
|
41
|
+
name: "Leap Wallet",
|
|
34
42
|
icon: "https://framerusercontent.com/images/AbGYvbwnLekBbsdf5g7PI5PpSg.png?scale-down-to=512",
|
|
35
43
|
download: "https://www.leapwallet.io/download",
|
|
36
44
|
deeplink: "leapcosmos://wcV2?",
|
|
@@ -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
|
|
|
@@ -88,7 +80,7 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
88
80
|
});
|
|
89
81
|
|
|
90
82
|
this.initWalletConnect()
|
|
91
|
-
.then(async (
|
|
83
|
+
.then(async () => {
|
|
92
84
|
this.options.unshift({
|
|
93
85
|
download: "https://www.walletconnect.com/get",
|
|
94
86
|
name: "WalletConnect",
|
|
@@ -113,24 +105,47 @@ 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
|
|
|
120
112
|
const properties = JSON.parse(wc.session?.sessionProperties?.keys || "{}");
|
|
121
|
-
const account = properties?.find((t: any) => t.chainId === "gonka-mainnet");
|
|
122
|
-
|
|
113
|
+
const account = properties?.find?.((t: any) => t.chainId === "gonka-mainnet");
|
|
114
|
+
let publicKey = "";
|
|
115
|
+
let address = "";
|
|
123
116
|
|
|
124
|
-
|
|
125
|
-
|
|
117
|
+
if (account) {
|
|
118
|
+
publicKey = Buffer.from(account.pubKey, "base64").toString("hex");
|
|
119
|
+
address = account.bech32Address || "";
|
|
120
|
+
} else {
|
|
121
|
+
const savedAccount = await this.getStorage().catch(() => null);
|
|
122
|
+
if (savedAccount?.address && savedAccount?.publicKey) {
|
|
123
|
+
publicKey = savedAccount.publicKey;
|
|
124
|
+
address = savedAccount.address;
|
|
125
|
+
} else {
|
|
126
|
+
const data = await this.requestWalletConnect({
|
|
127
|
+
deeplink: id ? wallets[id].deeplink : undefined,
|
|
128
|
+
icon: id ? wallets[id].icon : undefined,
|
|
129
|
+
name: id ? wallets[id].name : undefined,
|
|
130
|
+
request: {
|
|
131
|
+
method: "cosmos_getAccounts",
|
|
132
|
+
params: { chainId: "gonka-mainnet" },
|
|
133
|
+
},
|
|
134
|
+
});
|
|
126
135
|
|
|
127
|
-
|
|
136
|
+
if (!Array.isArray(data) || data.length === 0) throw new Error("Account not found");
|
|
137
|
+
publicKey = hex.encode(base64.decode(data[0].pubkey));
|
|
138
|
+
address = data[0].address;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
this.setStorage({ type: "walletconnect", id, address, publicKey });
|
|
128
143
|
const wallet = new CosmosWallet(this, {
|
|
129
144
|
address: address,
|
|
130
145
|
publicKeyHex: publicKey,
|
|
131
146
|
disconnect: () => this.disconnectWalletConnect(),
|
|
132
147
|
sendTransaction: async (signDoc: any) => {
|
|
133
|
-
const {
|
|
148
|
+
const { signature } = await this.requestWalletConnect<{ signed: TxRaw; signature: { signature: string } }>({
|
|
134
149
|
chain: `cosmos:${signDoc.chainId}`,
|
|
135
150
|
deeplink: id ? wallets[id].deeplink : undefined,
|
|
136
151
|
icon: id ? wallets[id].icon : undefined,
|
|
@@ -149,16 +164,16 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
149
164
|
},
|
|
150
165
|
});
|
|
151
166
|
|
|
152
|
-
const chain = chains.getByKey(signDoc.chainId);
|
|
153
|
-
if (!chain) throw new Error("Chain not found");
|
|
154
|
-
|
|
155
|
-
const client = await this.getClient(chain.key);
|
|
156
167
|
const protobufTx = TxRaw.encode({
|
|
157
|
-
bodyBytes:
|
|
158
|
-
authInfoBytes:
|
|
168
|
+
bodyBytes: signDoc.bodyBytes,
|
|
169
|
+
authInfoBytes: signDoc.authInfoBytes,
|
|
159
170
|
signatures: [Buffer.from(signature.signature, "base64")],
|
|
160
171
|
}).finish();
|
|
161
172
|
|
|
173
|
+
const chain = chains.getByKey(signDoc.chainId);
|
|
174
|
+
if (!chain) throw new Error("Chain not found");
|
|
175
|
+
const client = await this.getClient(chain.key);
|
|
176
|
+
|
|
162
177
|
const result = await client.broadcastTx(protobufTx);
|
|
163
178
|
if (result.code !== 0) throw "Transaction failed";
|
|
164
179
|
return result.transactionHash;
|
|
@@ -183,7 +198,25 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
183
198
|
);
|
|
184
199
|
}
|
|
185
200
|
|
|
186
|
-
async
|
|
201
|
+
async connectGonkaWallet(): Promise<OmniWallet | { qrcode: string; deeplink?: string; task: Promise<OmniWallet> }> {
|
|
202
|
+
const result = await this.connectWalletConnect({
|
|
203
|
+
onConnect: () => this.setupWalletConnect("gonkaWallet"),
|
|
204
|
+
deeplink: wallets["gonkaWallet"].deeplink,
|
|
205
|
+
namespaces: {
|
|
206
|
+
cosmos: {
|
|
207
|
+
methods: ["cosmos_getAccounts", "cosmos_signDirect"],
|
|
208
|
+
events: ["chainChanged", "accountsChanged"],
|
|
209
|
+
chains: this.chains.map((chain) => `cosmos:${chain}`),
|
|
210
|
+
rpcMap: {},
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
window.parent.postMessage({ type: "wc_connect", payload: { wc: result.qrcode } }, "*");
|
|
216
|
+
return result;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
async connectKeplr(type: "keplr" | "leap" | "gonkaWallet", extension?: Keplr): Promise<OmniWallet | { qrcode: string; deeplink?: string; task: Promise<OmniWallet> }> {
|
|
187
220
|
if (!extension) {
|
|
188
221
|
return await this.connectWalletConnect({
|
|
189
222
|
onConnect: () => this.setupWalletConnect(type),
|
|
@@ -232,6 +265,10 @@ export default class CosmosConnector extends OmniConnector<CosmosWallet> {
|
|
|
232
265
|
});
|
|
233
266
|
}
|
|
234
267
|
|
|
268
|
+
if (id === "gonkaWallet") {
|
|
269
|
+
return await this.connectGonkaWallet();
|
|
270
|
+
}
|
|
271
|
+
|
|
235
272
|
if (id === "keplr") {
|
|
236
273
|
const keplr = await Keplr.getKeplr();
|
|
237
274
|
return await this.connectKeplr("keplr", keplr);
|
package/src/cosmos/wallet.ts
CHANGED
|
@@ -2,8 +2,8 @@ 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";
|
|
6
|
+
import { OmniConnector } from "../OmniConnector";
|
|
7
7
|
|
|
8
8
|
interface ProtocolWallet {
|
|
9
9
|
disconnect?: () => Promise<void>;
|
|
@@ -15,7 +15,7 @@ interface ProtocolWallet {
|
|
|
15
15
|
export default class CosmosWallet extends OmniWallet {
|
|
16
16
|
readonly type = WalletType.COSMOS;
|
|
17
17
|
|
|
18
|
-
constructor(readonly connector:
|
|
18
|
+
constructor(readonly connector: OmniConnector, readonly wallet: ProtocolWallet) {
|
|
19
19
|
super(connector);
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -31,11 +31,6 @@ export default class CosmosWallet extends OmniWallet {
|
|
|
31
31
|
return "";
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
async disconnect() {
|
|
35
|
-
super.disconnect();
|
|
36
|
-
this.wallet.disconnect?.();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
34
|
sendTransaction(signDoc: any): Promise<string> {
|
|
40
35
|
if (!this.wallet.sendTransaction) throw "Not impl";
|
|
41
36
|
return this.wallet.sendTransaction(signDoc);
|