@gardenfi/wallet-connectors 2.0.9 → 2.0.10-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index2.cjs +1 -1
- package/dist/index2.js +21 -22
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +1 -1
- package/dist/index5.cjs +1 -1
- package/dist/index5.js +9 -10
- package/dist/index6.cjs +1 -1
- package/dist/index6.js +26 -27
- package/dist/index7.cjs +1 -1
- package/dist/index7.js +17 -18
- package/dist/index8.cjs +1 -1
- package/dist/index8.js +24 -25
- package/dist/index9.cjs +1 -1
- package/dist/index9.js +5 -6
- package/dist/src/bitcoin/bitcoin.types.d.ts +1 -2
- package/dist/src/bitcoin/btcWalletsProvider.types.d.ts +1 -2
- package/dist/src/bitcoin/providers/keplr/provider.d.ts +8 -9
- package/dist/src/bitcoin/providers/okx/okx.types.d.ts +1 -1
- package/dist/src/bitcoin/providers/okx/provider.d.ts +1 -2
- package/dist/src/bitcoin/providers/phantom/provider.d.ts +3 -4
- package/dist/src/bitcoin/providers/unisat/provider.d.ts +6 -7
- package/dist/src/bitcoin/providers/xdefi/provider.d.ts +7 -8
- package/dist/src/bitcoin/providers/xverse/provider.d.ts +3 -4
- package/dist/src/bitcoin/utils.d.ts +1 -2
- package/package.json +3 -4
package/dist/index2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),A=require("./index5.cjs"),x=require("./index6.cjs"),T=require("./index7.cjs"),y=require("./index8.cjs"),B=require("./index9.cjs"),n=require("@gardenfi/utils"),g=o.createContext(void 0),S=({children:a,network:i,store:v})=>{const[r,w]=o.useState(),[f,s]=o.useState(),[k,d]=o.useState(!1),[l,b]=o.useState({}),C=o.useMemo(()=>!!r&&!!f,[r,f]),N=async e=>{d(!0);const t=await e.connect(i);return t.ok?t.val.network!==i?(d(!1),n.Err("Network mismatch")):(w(t.val.provider),s(t.val.address),v.setItem("bitcoinWallet",JSON.stringify(t.val)),d(!1),n.Ok(n.Void)):(d(!1),n.Err(t.error))},m=()=>r?(r.disconnect(),w(void 0),s(void 0),v.removeItem("bitcoinWallet"),n.Ok(n.Void)):n.Err("No provider to disconnect"),W=o.useCallback(async()=>{if(!r)return;const e=await r.getAccounts();if(!e.ok){console.error("Error getting accounts:",e.error);return}s(e.val[0]);const t=await r.getNetwork();if(t.error){console.error("Error getting network:",t.error);return}},[r]),c=e=>{b(t=>({...t,[e.id]:e}))},h=async()=>{if(window.okxwallet&&window.okxwallet.bitcoin&&window.okxwallet.bitcoinTestnet){const e=new A.OKXProvider(i===n.Network.MAINNET?window.okxwallet.bitcoin:window.okxwallet.bitcoinTestnet,i);c(e)}if(i===n.Network.MAINNET&&window.phantom&&window.phantom.bitcoin){const e=new T.PhantomProvider(window.phantom.bitcoin);c(e)}if(window.unisat){const e=new x.UnisatProvider(window.unisat,i);c(e)}if(window.XverseProviders&&window.XverseProviders.BitcoinProvider){const e=new y.XverseProvider(window.XverseProviders.BitcoinProvider);c(e)}if(i===n.Network.MAINNET&&window.keplr&&window.keplr.bitcoin){const e=new B.KeplrProvider(window.keplr.bitcoin);c(e)}},E=async()=>{const e=v.getItem("bitcoinWallet");if(e){const t=JSON.parse(e),u=l[t.id];if(u){const p=await u.getAccounts();if(!p.ok||!p.val[0])return;const P=await u.getNetwork();if(P.error||P.val!==i)return;w(u),s(p.val[0])}}};return o.useEffect(()=>{h()},[]),o.useEffect(()=>{l&&E()},[l]),o.useEffect(()=>{if(!r)return;const e=async t=>{t.length!==0&&s(t[0])};return r.on("accountsChanged",e),()=>{r.off("accountsChanged",e)}},[r]),o.createElement(g.Provider,{value:{availableWallets:l,connect:N,provider:r,account:f,network:i,isConnecting:k,updateAccount:W,disconnect:m,isConnected:C}},a)},q=()=>{const a=o.useContext(g);if(!a)throw new Error("useBitcoinWallet must be used within BTCWalletProvider");return a};exports.BTCWalletProvider=S;exports.useBitcoinWallet=q;
|
package/dist/index2.js
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import B, { useState as l, useMemo as I, useCallback as X, useEffect as m, createContext as M, useContext as O } from "react";
|
|
2
2
|
import { OKXProvider as S } from "./index5.js";
|
|
3
|
-
import { Err as p, Ok as b, Void as C } from "@catalogfi/utils";
|
|
4
3
|
import { UnisatProvider as J } from "./index6.js";
|
|
5
4
|
import { PhantomProvider as K } from "./index7.js";
|
|
6
5
|
import { XverseProvider as L } from "./index8.js";
|
|
7
6
|
import { KeplrProvider as z } from "./index9.js";
|
|
8
|
-
import { Network as P } from "@gardenfi/utils";
|
|
9
|
-
const
|
|
7
|
+
import { Network as p, Err as P, Ok as b, Void as k } from "@gardenfi/utils";
|
|
8
|
+
const C = M(void 0), F = ({
|
|
10
9
|
children: c,
|
|
11
10
|
network: r,
|
|
12
11
|
store: w
|
|
13
12
|
}) => {
|
|
14
|
-
const [o, v] = l(), [u, n] = l(), [
|
|
13
|
+
const [o, v] = l(), [u, n] = l(), [N, s] = l(!1), [a, h] = l(
|
|
15
14
|
{}
|
|
16
|
-
), x = I(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
), A = async (e) => {
|
|
15
|
+
), x = I(() => !!o && !!u, [
|
|
16
|
+
o,
|
|
17
|
+
u
|
|
18
|
+
]), A = async (e) => {
|
|
20
19
|
s(!0);
|
|
21
20
|
const t = await e.connect(r);
|
|
22
|
-
return t.
|
|
23
|
-
}, W = () => o ? (o.disconnect(), v(void 0), n(void 0), w.removeItem("bitcoinWallet"), b(
|
|
21
|
+
return t.ok ? t.val.network !== r ? (s(!1), P("Network mismatch")) : (v(t.val.provider), n(t.val.address), w.setItem("bitcoinWallet", JSON.stringify(t.val)), s(!1), b(k)) : (s(!1), P(t.error));
|
|
22
|
+
}, W = () => o ? (o.disconnect(), v(void 0), n(void 0), w.removeItem("bitcoinWallet"), b(k)) : P("No provider to disconnect"), E = X(async () => {
|
|
24
23
|
if (!o) return;
|
|
25
24
|
const e = await o.getAccounts();
|
|
26
|
-
if (e.
|
|
25
|
+
if (!e.ok) {
|
|
27
26
|
console.error("Error getting accounts:", e.error);
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
@@ -34,16 +33,16 @@ const N = M(void 0), G = ({
|
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
35
|
}, [o]), i = (e) => {
|
|
37
|
-
|
|
36
|
+
h((t) => ({
|
|
38
37
|
...t,
|
|
39
38
|
[e.id]: e
|
|
40
39
|
}));
|
|
41
40
|
}, T = async () => {
|
|
42
41
|
if (window.okxwallet && window.okxwallet.bitcoin && window.okxwallet.bitcoinTestnet) {
|
|
43
|
-
const e = new S(r ===
|
|
42
|
+
const e = new S(r === p.MAINNET ? window.okxwallet.bitcoin : window.okxwallet.bitcoinTestnet, r);
|
|
44
43
|
i(e);
|
|
45
44
|
}
|
|
46
|
-
if (r ===
|
|
45
|
+
if (r === p.MAINNET && window.phantom && window.phantom.bitcoin) {
|
|
47
46
|
const e = new K(window.phantom.bitcoin);
|
|
48
47
|
i(e);
|
|
49
48
|
}
|
|
@@ -57,7 +56,7 @@ const N = M(void 0), G = ({
|
|
|
57
56
|
);
|
|
58
57
|
i(e);
|
|
59
58
|
}
|
|
60
|
-
if (r ===
|
|
59
|
+
if (r === p.MAINNET && window.keplr && window.keplr.bitcoin) {
|
|
61
60
|
const e = new z(window.keplr.bitcoin);
|
|
62
61
|
i(e);
|
|
63
62
|
}
|
|
@@ -67,7 +66,7 @@ const N = M(void 0), G = ({
|
|
|
67
66
|
const t = JSON.parse(e), d = a[t.id];
|
|
68
67
|
if (d) {
|
|
69
68
|
const f = await d.getAccounts();
|
|
70
|
-
if (f.
|
|
69
|
+
if (!f.ok || !f.val[0]) return;
|
|
71
70
|
const g = await d.getNetwork();
|
|
72
71
|
if (g.error || g.val !== r) return;
|
|
73
72
|
v(d), n(f.val[0]);
|
|
@@ -87,7 +86,7 @@ const N = M(void 0), G = ({
|
|
|
87
86
|
o.off("accountsChanged", e);
|
|
88
87
|
};
|
|
89
88
|
}, [o]), /* @__PURE__ */ B.createElement(
|
|
90
|
-
|
|
89
|
+
C.Provider,
|
|
91
90
|
{
|
|
92
91
|
value: {
|
|
93
92
|
availableWallets: a,
|
|
@@ -95,7 +94,7 @@ const N = M(void 0), G = ({
|
|
|
95
94
|
provider: o,
|
|
96
95
|
account: u,
|
|
97
96
|
network: r,
|
|
98
|
-
isConnecting:
|
|
97
|
+
isConnecting: N,
|
|
99
98
|
updateAccount: E,
|
|
100
99
|
disconnect: W,
|
|
101
100
|
isConnected: x
|
|
@@ -103,13 +102,13 @@ const N = M(void 0), G = ({
|
|
|
103
102
|
},
|
|
104
103
|
c
|
|
105
104
|
);
|
|
106
|
-
},
|
|
107
|
-
const c = O(
|
|
105
|
+
}, G = () => {
|
|
106
|
+
const c = O(C);
|
|
108
107
|
if (!c)
|
|
109
108
|
throw new Error("useBitcoinWallet must be used within BTCWalletProvider");
|
|
110
109
|
return c;
|
|
111
110
|
};
|
|
112
111
|
export {
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
F as BTCWalletProvider,
|
|
113
|
+
G as useBitcoinWallet
|
|
115
114
|
};
|
package/dist/index4.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@gardenfi/utils"),p={testnet:{Mempool:"https://mempool.space/testnet4"},mainnet:{Mempool:"https://mempool.space",Blockstream:"https://blockstream.info"}},u=async(n,m)=>{const t=p[m];if(!t)return o.Err("Invalid network");const r="Blockstream"in t?`${t.Blockstream}/api/address/${n}`:null,a=`${t.Mempool}/api/address/${n}`;try{const s=r?[r,a]:[a],e=await o.Fetcher.getWithFallback(s,{retryCount:3,retryDelay:1e3}),c=e.chain_stats.funded_txo_sum-e.chain_stats.spent_txo_sum,l=e.mempool_stats.funded_txo_sum-e.mempool_stats.spent_txo_sum,i=c+l;return o.Ok({confirmed:c,unconfirmed:l,total:i})}catch(s){return o.Err("Error while fetching balance",s)}};exports.getBalance=u;
|
package/dist/index4.js
CHANGED
package/dist/index5.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var l=i=>{throw TypeError(i)};var d=(i,t,e)=>t.has(i)||l("Cannot "+e);var n=(i,t,e)=>(d(i,t,"read from private field"),e?e.call(i):t.get(i)),h=(i,t,e)=>t.has(i)?l("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),a=(i,t,e,u)=>(d(i,t,"write to private field"),u?u.call(i,e):t.set(i,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@gardenfi/utils"),o=require("./index3.cjs");var s,c;class w{constructor(t,e){h(this,s);h(this,c);this.address="",this.id=o.WALLET_CONFIG.OKX.id,this.name=o.WALLET_CONFIG.OKX.name,this.icon=o.WALLET_CONFIG.OKX.icon,this.disconnect=()=>(this.address="",n(this,s).disconnect(),Promise.resolve(r.Ok("Disconnected OKX wallet"))),a(this,s,t),a(this,c,e)}async connect(){try{const t=await n(this,s).connect();return!t||!t.address?r.Err("Failed to connect to OKX wallet"):(this.address=t.address,r.Ok({address:this.address,provider:this,network:n(this,c),id:o.WALLET_CONFIG.OKX.id}))}catch(t){return r.Err("Error while connecting to the OKX wallet",t)}}async getPublicKey(){return await r.executeWithTryCatch(async()=>await n(this,s).getPublicKey(),"Error while getting public key from OKX wallet")}async requestAccounts(){const t=await this.connect();return t.ok?r.Ok([t.val.address]):r.Err(t.error)}async getAccounts(){return n(this,c)===r.Network.TESTNET?await this.requestAccounts():await r.executeWithTryCatch(async()=>await n(this,s).getAccounts(),"Error while getting accounts from OKX wallet")}async getNetwork(){return r.Ok(n(this,c))}async switchNetwork(){a(this,c,n(this,c)===r.Network.MAINNET?r.Network.TESTNET:r.Network.MAINNET);const t=await this.connect();return t.error?r.Err(`Failed to connect to ${n(this,c)}: ${t.error}`):r.Ok(n(this,c))}async getBalance(){return await r.executeWithTryCatch(async()=>await n(this,s).getBalance(),"Error while getting balance from OKX wallet")}async sendBitcoin(t,e){return await r.executeWithTryCatch(async()=>await n(this,s).sendBitcoin(t,e),"Error while sending bitcoin from OKX wallet")}on(t,e){n(this,s).on(t,e)}off(t,e){n(this,s).off(t,e)}}s=new WeakMap,c=new WeakMap;exports.OKXProvider=w;
|
package/dist/index5.js
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
var y = (e) => {
|
|
2
2
|
throw TypeError(e);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var n = (e, t, r) => (
|
|
6
|
-
import { Ok as c, Err as
|
|
7
|
-
import { Network as l } from "@gardenfi/utils";
|
|
4
|
+
var g = (e, t, r) => t.has(e) || y("Cannot " + r);
|
|
5
|
+
var n = (e, t, r) => (g(e, t, "read from private field"), r ? r.call(e) : t.get(e)), d = (e, t, r) => t.has(e) ? y("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), a = (e, t, r, w) => (g(e, t, "write to private field"), w ? w.call(e, r) : t.set(e, r), r);
|
|
6
|
+
import { Ok as c, Err as o, executeWithTryCatch as h, Network as l } from "@gardenfi/utils";
|
|
8
7
|
import { WALLET_CONFIG as u } from "./index3.js";
|
|
9
8
|
var i, s;
|
|
10
9
|
class E {
|
|
11
10
|
constructor(t, r) {
|
|
12
11
|
d(this, i);
|
|
13
12
|
d(this, s);
|
|
14
|
-
this.address = "", this.id = u.OKX.id, this.name = u.OKX.name, this.icon = u.OKX.icon, this.disconnect = () => (this.address = "", n(this, i).disconnect(), Promise.resolve(c("Disconnected OKX wallet"))),
|
|
13
|
+
this.address = "", this.id = u.OKX.id, this.name = u.OKX.name, this.icon = u.OKX.icon, this.disconnect = () => (this.address = "", n(this, i).disconnect(), Promise.resolve(c("Disconnected OKX wallet"))), a(this, i, t), a(this, s, r);
|
|
15
14
|
}
|
|
16
15
|
async connect() {
|
|
17
16
|
try {
|
|
18
17
|
const t = await n(this, i).connect();
|
|
19
|
-
return !t || !t.address ?
|
|
18
|
+
return !t || !t.address ? o("Failed to connect to OKX wallet") : (this.address = t.address, c({
|
|
20
19
|
address: this.address,
|
|
21
20
|
provider: this,
|
|
22
21
|
network: n(this, s),
|
|
23
22
|
id: u.OKX.id
|
|
24
23
|
}));
|
|
25
24
|
} catch (t) {
|
|
26
|
-
return
|
|
25
|
+
return o("Error while connecting to the OKX wallet", t);
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
async getPublicKey() {
|
|
@@ -31,7 +30,7 @@ class E {
|
|
|
31
30
|
}
|
|
32
31
|
async requestAccounts() {
|
|
33
32
|
const t = await this.connect();
|
|
34
|
-
return t.
|
|
33
|
+
return t.ok ? c([t.val.address]) : o(t.error);
|
|
35
34
|
}
|
|
36
35
|
async getAccounts() {
|
|
37
36
|
return n(this, s) === l.TESTNET ? await this.requestAccounts() : await h(async () => await n(this, i).getAccounts(), "Error while getting accounts from OKX wallet");
|
|
@@ -40,9 +39,9 @@ class E {
|
|
|
40
39
|
return c(n(this, s));
|
|
41
40
|
}
|
|
42
41
|
async switchNetwork() {
|
|
43
|
-
|
|
42
|
+
a(this, s, n(this, s) === l.MAINNET ? l.TESTNET : l.MAINNET);
|
|
44
43
|
const t = await this.connect();
|
|
45
|
-
return t.error ?
|
|
44
|
+
return t.error ? o(
|
|
46
45
|
`Failed to connect to ${n(this, s)}: ${t.error}`
|
|
47
46
|
) : c(n(this, s));
|
|
48
47
|
}
|
package/dist/index6.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var N=n=>{throw TypeError(n)};var T=(n,t,r)=>t.has(n)||N("Cannot "+r);var s=(n,t,r)=>(T(n,t,"read from private field"),r?r.call(n):t.get(n)),w=(n,t,r)=>t.has(n)?N("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,r),E=(n,t,r,o)=>(T(n,t,"write to private field"),o?o.call(n,r):t.set(n,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index10.cjs"),e=require("@gardenfi/utils"),u=require("./index3.cjs");var i,c;class d{constructor(t,r){w(this,i);w(this,c);this.address="",this.id=u.WALLET_CONFIG.Unisat.id,this.name=u.WALLET_CONFIG.Unisat.name,this.icon=u.WALLET_CONFIG.Unisat.icon,this.disconnect=()=>(this.address="",Promise.resolve(e.Ok("Disconnected unisat wallet"))),E(this,i,t),E(this,c,r)}async connect(t){try{t||(t=s(this,c));const r=await this.getNetwork(),o=await s(this,i).getChain();if(r.error)return e.Err("Could not get network",r.error);if(r.val!==t||o.enum===a.UnisatChainEnum.BITCOIN_TESTNET){const l=await this.switchNetwork();if(l.error)return e.Err("Failed to switch network",l.error)}const h=await s(this,i).requestAccounts();return h.length>0&&(this.address=h[0]),e.Ok({address:this.address,provider:this,network:t,id:u.WALLET_CONFIG.Unisat.id})}catch(r){return e.Err("Error while connecting to the Unisat wallet",r)}}async requestAccounts(){return await e.executeWithTryCatch(async()=>await s(this,i).requestAccounts(),"Error while requesting accounts from the Unisat wallet")}async getAccounts(){return await e.executeWithTryCatch(async()=>await s(this,i).getAccounts(),"Error while getting accounts from the Unisat wallet")}async getNetwork(){return await e.executeWithTryCatch(async()=>{const t=await s(this,i).getNetwork();if(t===a.UnisatNetworkEnum.LIVENET)return e.Network.MAINNET;if(t===a.UnisatNetworkEnum.TESTNET)return e.Network.TESTNET;throw new Error("Invalid or unsupported network"+t)},"Error while getting network from Unisat wallet")}async switchNetwork(){try{const t=await this.getNetwork(),r=await s(this,i).getChain();if(t.error)return e.Err("Failed to get current network");const o=t.val===e.Network.MAINNET||s(this,c)===e.Network.TESTNET&&r.enum===a.UnisatChainEnum.BITCOIN_TESTNET?a.UnisatChainEnum.BITCOIN_TESTNET4:a.UnisatChainEnum.BITCOIN_MAINNET;await s(this,i).switchChain(o);const h=await this.getNetwork();return h.ok?e.Ok(h.val):e.Err("Failed to verify network switch")}catch(t){return e.Err("Error while switching network in Unisat:",t)}}async getBalance(){return await e.executeWithTryCatch(async()=>await s(this,i).getBalance(),"Error while getting balance from Unisat wallet")}async sendBitcoin(t,r){return await e.executeWithTryCatch(async()=>await s(this,i).sendBitcoin(t,r),"Error while sending bitcoin from Unisat wallet")}on(t,r){s(this,i).on(t,r)}off(t,r){s(this,i).removeListener(t,r)}}i=new WeakMap,c=new WeakMap;exports.UnisatProvider=d;
|
package/dist/index6.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
var g = (e) => {
|
|
2
2
|
throw TypeError(e);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
import { UnisatChainEnum as w, UnisatNetworkEnum as
|
|
7
|
-
import { Ok as E, Err as a, executeWithTryCatch as h } from "@
|
|
8
|
-
import { Network as u } from "@gardenfi/utils";
|
|
4
|
+
var k = (e, t, r) => t.has(e) || g("Cannot " + r);
|
|
5
|
+
var i = (e, t, r) => (k(e, t, "read from private field"), r ? r.call(e) : t.get(e)), N = (e, t, r) => t.has(e) ? g("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), T = (e, t, r, s) => (k(e, t, "write to private field"), s ? s.call(e, r) : t.set(e, r), r);
|
|
6
|
+
import { UnisatChainEnum as w, UnisatNetworkEnum as f } from "./index10.js";
|
|
7
|
+
import { Ok as E, Err as a, executeWithTryCatch as h, Network as u } from "@gardenfi/utils";
|
|
9
8
|
import { WALLET_CONFIG as l } from "./index3.js";
|
|
10
|
-
var
|
|
11
|
-
class
|
|
9
|
+
var n, o;
|
|
10
|
+
class U {
|
|
12
11
|
constructor(t, r) {
|
|
13
|
-
N(this,
|
|
12
|
+
N(this, n);
|
|
14
13
|
N(this, o);
|
|
15
|
-
this.address = "", this.id = l.Unisat.id, this.name = l.Unisat.name, this.icon = l.Unisat.icon, this.disconnect = () => (this.address = "", Promise.resolve(E("Disconnected unisat wallet"))), T(this,
|
|
14
|
+
this.address = "", this.id = l.Unisat.id, this.name = l.Unisat.name, this.icon = l.Unisat.icon, this.disconnect = () => (this.address = "", Promise.resolve(E("Disconnected unisat wallet"))), T(this, n, t), T(this, o, r);
|
|
16
15
|
}
|
|
17
16
|
async connect(t) {
|
|
18
17
|
try {
|
|
19
|
-
t || (t =
|
|
20
|
-
const r = await this.getNetwork(), s = await
|
|
18
|
+
t || (t = i(this, o));
|
|
19
|
+
const r = await this.getNetwork(), s = await i(this, n).getChain();
|
|
21
20
|
if (r.error)
|
|
22
21
|
return a("Could not get network", r.error);
|
|
23
22
|
if (r.val !== t || s.enum === w.BITCOIN_TESTNET) {
|
|
@@ -25,7 +24,7 @@ class p {
|
|
|
25
24
|
if (d.error)
|
|
26
25
|
return a("Failed to switch network", d.error);
|
|
27
26
|
}
|
|
28
|
-
const c = await
|
|
27
|
+
const c = await i(this, n).requestAccounts();
|
|
29
28
|
return c.length > 0 && (this.address = c[0]), E({
|
|
30
29
|
address: this.address,
|
|
31
30
|
provider: this,
|
|
@@ -38,49 +37,49 @@ class p {
|
|
|
38
37
|
}
|
|
39
38
|
// requests accounts from the wallet, if not connected, it will connect first
|
|
40
39
|
async requestAccounts() {
|
|
41
|
-
return await h(async () => await
|
|
40
|
+
return await h(async () => await i(this, n).requestAccounts(), "Error while requesting accounts from the Unisat wallet");
|
|
42
41
|
}
|
|
43
42
|
//silently gets accounts if already connected
|
|
44
43
|
async getAccounts() {
|
|
45
|
-
return await h(async () => await
|
|
44
|
+
return await h(async () => await i(this, n).getAccounts(), "Error while getting accounts from the Unisat wallet");
|
|
46
45
|
}
|
|
47
46
|
async getNetwork() {
|
|
48
47
|
return await h(async () => {
|
|
49
|
-
const t = await
|
|
50
|
-
if (t ===
|
|
48
|
+
const t = await i(this, n).getNetwork();
|
|
49
|
+
if (t === f.LIVENET)
|
|
51
50
|
return u.MAINNET;
|
|
52
|
-
if (t ===
|
|
51
|
+
if (t === f.TESTNET)
|
|
53
52
|
return u.TESTNET;
|
|
54
53
|
throw new Error("Invalid or unsupported network" + t);
|
|
55
54
|
}, "Error while getting network from Unisat wallet");
|
|
56
55
|
}
|
|
57
56
|
async switchNetwork() {
|
|
58
57
|
try {
|
|
59
|
-
const t = await this.getNetwork(), r = await
|
|
58
|
+
const t = await this.getNetwork(), r = await i(this, n).getChain();
|
|
60
59
|
if (t.error)
|
|
61
60
|
return a("Failed to get current network");
|
|
62
|
-
const s = t.val === u.MAINNET ? w.BITCOIN_TESTNET4 :
|
|
63
|
-
await
|
|
61
|
+
const s = t.val === u.MAINNET ? w.BITCOIN_TESTNET4 : i(this, o) === u.TESTNET && r.enum === w.BITCOIN_TESTNET ? w.BITCOIN_TESTNET4 : w.BITCOIN_MAINNET;
|
|
62
|
+
await i(this, n).switchChain(s);
|
|
64
63
|
const c = await this.getNetwork();
|
|
65
|
-
return c.
|
|
64
|
+
return c.ok ? E(c.val) : a("Failed to verify network switch");
|
|
66
65
|
} catch (t) {
|
|
67
66
|
return a("Error while switching network in Unisat:", t);
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
async getBalance() {
|
|
71
|
-
return await h(async () => await
|
|
70
|
+
return await h(async () => await i(this, n).getBalance(), "Error while getting balance from Unisat wallet");
|
|
72
71
|
}
|
|
73
72
|
async sendBitcoin(t, r) {
|
|
74
|
-
return await h(async () => await
|
|
73
|
+
return await h(async () => await i(this, n).sendBitcoin(t, r), "Error while sending bitcoin from Unisat wallet");
|
|
75
74
|
}
|
|
76
75
|
on(t, r) {
|
|
77
|
-
|
|
76
|
+
i(this, n).on(t, r);
|
|
78
77
|
}
|
|
79
78
|
off(t, r) {
|
|
80
|
-
|
|
79
|
+
i(this, n).removeListener(t, r);
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
|
-
|
|
82
|
+
n = new WeakMap(), o = new WeakMap();
|
|
84
83
|
export {
|
|
85
|
-
|
|
84
|
+
U as UnisatProvider
|
|
86
85
|
};
|
package/dist/index7.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var m=r=>{throw TypeError(r)};var f=(r,t,e)=>t.has(r)||m("Cannot "+e);var i=(r,t,e)=>(f(r,t,"read from private field"),e?e.call(r):t.get(r)),g=(r,t,e)=>t.has(r)?m("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),w=(r,t,e,s)=>(f(r,t,"write to private field"),s?s.call(r,e):t.set(r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("bitcoinjs-lib"),N=require("tiny-secp256k1"),n=require("@gardenfi/utils"),a=require("./index3.cjs"),c=require("@gardenfi/core");function y(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const u=y(P),A=y(N);P.initEccLib(A);var o;class x{constructor(t){g(this,o);this.address="",this.id=a.WALLET_CONFIG.Phantom.id,this.name=a.WALLET_CONFIG.Phantom.name,this.icon=a.WALLET_CONFIG.Phantom.icon,this.disconnect=()=>(this.address="",Promise.resolve(n.Ok("Disconnected Phantom wallet"))),w(this,o,t)}async connect(t){if(t||(t=n.Network.MAINNET),t===n.Network.TESTNET)return n.Err("Phantom wallet does not support testnet");try{const e=await i(this,o).requestAccounts();for(const s of e)s.purpose==="payment"&&(this.address=s.address);return this.address===""?n.Err("Could not connect to Phantom bitcoin payment account"):n.Ok({address:this.address,provider:this,network:t,id:a.WALLET_CONFIG.Phantom.id})}catch(e){return n.Err("Error while connecting to Phantom wallet: "+e)}}async requestAccounts(){return await n.executeWithTryCatch(async()=>{const t=await i(this,o).requestAccounts();return t.length>0&&(this.address=t[0].address),t.map(e=>e.address)},"Error while requesting accounts from Phantom wallet")}async getAccounts(){return this.requestAccounts()}async getNetwork(){return n.Ok(n.Network.MAINNET)}async switchNetwork(){return n.Err("Phantom wallet does not support testnet")}async getBalance(){return await n.executeWithTryCatch(async()=>await i(this,o).getBalance(),"Error while getting balance from Phantom wallet")}async sendBitcoin(t,e){return await n.executeWithTryCatch(async()=>{const s=u.networks.bitcoin,d=new c.BitcoinProvider(c.BitcoinNetwork.Mainnet);try{const{txHex:h,utxoCount:p}=await c.BitcoinWallet.generateUnsignedPSBT(d,s,this.address,t,e),b=await i(this,o).signPSBT(this.fromHexString(h),{inputsToSign:[{address:this.address,signingIndexes:Array.from({length:p},(S,E)=>E),sigHash:u.Transaction.SIGHASH_ALL}]}),l=u.Psbt.fromBuffer(Buffer.from(b)).extractTransaction(),T=l.getId();return await d.broadcast(l.toHex()),T}catch{throw new Error("Failed to send bitcoin")}},"Error while sending bitcoin from Phantom wallet")}fromHexString(t){return Uint8Array.from(t.match(/.{1,2}/g).map(e=>parseInt(e,16)))}on(t,e){i(this,o).on(t,e)}off(t,e){i(this,o).off(t,e)}}o=new WeakMap;exports.PhantomProvider=x;
|
package/dist/index7.js
CHANGED
|
@@ -2,29 +2,28 @@ var w = (n) => {
|
|
|
2
2
|
throw TypeError(n);
|
|
3
3
|
};
|
|
4
4
|
var g = (n, t, r) => t.has(n) || w("Cannot " + r);
|
|
5
|
-
var o = (n, t, r) => (g(n, t, "read from private field"), r ? r.call(n) : t.get(n)),
|
|
6
|
-
import
|
|
7
|
-
import * as h from "bitcoinjs-lib";
|
|
5
|
+
var o = (n, t, r) => (g(n, t, "read from private field"), r ? r.call(n) : t.get(n)), P = (n, t, r) => t.has(n) ? w("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, r), p = (n, t, r, s) => (g(n, t, "write to private field"), s ? s.call(n, r) : t.set(n, r), r);
|
|
6
|
+
import * as c from "bitcoinjs-lib";
|
|
8
7
|
import { initEccLib as E } from "bitcoinjs-lib";
|
|
9
8
|
import * as T from "tiny-secp256k1";
|
|
10
|
-
import { Network as m } from "@gardenfi/utils";
|
|
9
|
+
import { Ok as d, Network as h, Err as i, executeWithTryCatch as m } from "@gardenfi/utils";
|
|
11
10
|
import { WALLET_CONFIG as a } from "./index3.js";
|
|
12
|
-
import { BitcoinProvider as B, BitcoinNetwork as N, BitcoinWallet as I } from "@
|
|
11
|
+
import { BitcoinProvider as B, BitcoinNetwork as N, BitcoinWallet as I } from "@gardenfi/core";
|
|
13
12
|
E(T);
|
|
14
13
|
var e;
|
|
15
|
-
class
|
|
14
|
+
class M {
|
|
16
15
|
constructor(t) {
|
|
17
|
-
|
|
18
|
-
this.address = "", this.id = a.Phantom.id, this.name = a.Phantom.name, this.icon = a.Phantom.icon, this.disconnect = () => (this.address = "", Promise.resolve(
|
|
16
|
+
P(this, e);
|
|
17
|
+
this.address = "", this.id = a.Phantom.id, this.name = a.Phantom.name, this.icon = a.Phantom.icon, this.disconnect = () => (this.address = "", Promise.resolve(d("Disconnected Phantom wallet"))), p(this, e, t);
|
|
19
18
|
}
|
|
20
19
|
async connect(t) {
|
|
21
|
-
if (t || (t =
|
|
20
|
+
if (t || (t = h.MAINNET), t === h.TESTNET)
|
|
22
21
|
return i("Phantom wallet does not support testnet");
|
|
23
22
|
try {
|
|
24
23
|
const r = await o(this, e).requestAccounts();
|
|
25
24
|
for (const s of r)
|
|
26
25
|
s.purpose === "payment" && (this.address = s.address);
|
|
27
|
-
return this.address === "" ? i("Could not connect to Phantom bitcoin payment account") :
|
|
26
|
+
return this.address === "" ? i("Could not connect to Phantom bitcoin payment account") : d({
|
|
28
27
|
address: this.address,
|
|
29
28
|
provider: this,
|
|
30
29
|
network: t,
|
|
@@ -35,7 +34,7 @@ class W {
|
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
async requestAccounts() {
|
|
38
|
-
return await
|
|
37
|
+
return await m(async () => {
|
|
39
38
|
const t = await o(this, e).requestAccounts();
|
|
40
39
|
return t.length > 0 && (this.address = t[0].address), t.map((r) => r.address);
|
|
41
40
|
}, "Error while requesting accounts from Phantom wallet");
|
|
@@ -45,17 +44,17 @@ class W {
|
|
|
45
44
|
}
|
|
46
45
|
// bitcoin testnet is not supported in Phantom wallet
|
|
47
46
|
async getNetwork() {
|
|
48
|
-
return
|
|
47
|
+
return d(h.MAINNET);
|
|
49
48
|
}
|
|
50
49
|
async switchNetwork() {
|
|
51
50
|
return i("Phantom wallet does not support testnet");
|
|
52
51
|
}
|
|
53
52
|
async getBalance() {
|
|
54
|
-
return await
|
|
53
|
+
return await m(async () => await o(this, e).getBalance(), "Error while getting balance from Phantom wallet");
|
|
55
54
|
}
|
|
56
55
|
async sendBitcoin(t, r) {
|
|
57
|
-
return await
|
|
58
|
-
const s =
|
|
56
|
+
return await m(async () => {
|
|
57
|
+
const s = c.networks.bitcoin, u = new B(N.Mainnet);
|
|
59
58
|
try {
|
|
60
59
|
const { txHex: f, utxoCount: y } = await I.generateUnsignedPSBT(
|
|
61
60
|
u,
|
|
@@ -70,11 +69,11 @@ class W {
|
|
|
70
69
|
{
|
|
71
70
|
address: this.address,
|
|
72
71
|
signingIndexes: Array.from({ length: y }, (H, A) => A),
|
|
73
|
-
sigHash:
|
|
72
|
+
sigHash: c.Transaction.SIGHASH_ALL
|
|
74
73
|
}
|
|
75
74
|
]
|
|
76
75
|
}
|
|
77
|
-
), l =
|
|
76
|
+
), l = c.Psbt.fromBuffer(
|
|
78
77
|
Buffer.from(b)
|
|
79
78
|
).extractTransaction(), x = l.getId();
|
|
80
79
|
return await u.broadcast(l.toHex()), x;
|
|
@@ -97,5 +96,5 @@ class W {
|
|
|
97
96
|
}
|
|
98
97
|
e = new WeakMap();
|
|
99
98
|
export {
|
|
100
|
-
|
|
99
|
+
M as PhantomProvider
|
|
101
100
|
};
|
package/dist/index8.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var l=n=>{throw TypeError(n)};var d=(n,e,t)=>e.has(n)||l("Cannot "+t);var o=(n,e,t)=>(d(n,e,"read from private field"),t?t.call(n):e.get(n)),N=(n,e,t)=>e.has(n)?l("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),k=(n,e,t,s)=>(d(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./index3.cjs"),u=require("./index11.cjs"),r=require("@gardenfi/utils");var i;class y{constructor(e){N(this,i);this.address="",this.id=w.WALLET_CONFIG.Xverse.id,this.name=w.WALLET_CONFIG.Xverse.name,this.icon=w.WALLET_CONFIG.Xverse.icon,this.connect=async t=>{try{t||(t=r.Network.MAINNET),await o(this,i).request("wallet_connect",null);const s=await this.getNetwork();if(s.error)return r.Err("Could not get network",s.error);if(s.val!==t){const c=await this.switchNetwork();if(c.error)return r.Err("Failed to switch network",c.error)}const a=await this.getAccounts();return a.ok&&a.val.length>0&&(this.address=a.val[0]),r.Ok({address:this.address,provider:this,network:t,id:w.WALLET_CONFIG.Xverse.id})}catch(s){return r.Err("Error while connecting to the XVerse wallet",s)}},this.getBalance=async()=>await r.executeWithTryCatch(async()=>(await o(this,i).request("getBalance",{})).result,"Error while getting balance from XVerse wallet"),this.requestAccounts=async()=>await r.executeWithTryCatch(async()=>(await o(this,i).request("getAccounts",{purposes:["payment"],message:"I want to connect"})).result.map(s=>s.address)),this.getAccounts=async()=>await r.executeWithTryCatch(async()=>(await o(this,i).request("getAddresses",{purposes:["payment"]})).result.addresses.map(s=>s.address)),this.sendBitcoin=async(t,s)=>await r.executeWithTryCatch(async()=>{var h;const a=await o(this,i).request("sendTransfer",{recipients:[{address:t,amount:s}]}),c=(h=a.result)==null?void 0:h.txid;if(c)return r.Ok(c);throw new Error(a.error)},"Error while sending bitcoin from Xverse wallet"),this.on=()=>{},this.off=()=>{},this.disconnect=()=>(this.address="",Promise.resolve(r.Ok("Disconnected"))),k(this,i,e)}async getNetwork(){return await r.executeWithTryCatch(async()=>{const e=await o(this,i).request("wallet_getNetwork",null);if(e.result.bitcoin.name===u.XverseBitcoinNetworkType.Mainnet)return r.Network.MAINNET;if(e.result.bitcoin.name===u.XverseBitcoinNetworkType.Testnet4)return r.Network.TESTNET;throw new Error(e.result)},"Error while getting network from Xverse wallet")}async switchNetwork(){try{const e=await this.getNetwork();if(e.error)return r.Err("Failed to get current network");const t=e.val===r.Network.MAINNET?u.XverseBitcoinNetworkType.Testnet4:u.XverseBitcoinNetworkType.Mainnet;await o(this,i).request("wallet_changeNetwork",{name:t});const s=await this.getNetwork();return s.ok?r.Ok(s.val):r.Err("Failed to verify network switch")}catch(e){return r.Err("Error while switching network in Xverse:",e)}}}i=new WeakMap;exports.XverseProvider=y;
|
package/dist/index8.js
CHANGED
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
var
|
|
1
|
+
var N = (s) => {
|
|
2
2
|
throw TypeError(s);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var i = (s, e, t) => (
|
|
4
|
+
var k = (s, e, t) => e.has(s) || N("Cannot " + t);
|
|
5
|
+
var i = (s, e, t) => (k(s, e, "read from private field"), t ? t.call(s) : e.get(s)), m = (s, e, t) => e.has(s) ? N("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), f = (s, e, t, r) => (k(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t);
|
|
6
6
|
import { WALLET_CONFIG as u } from "./index3.js";
|
|
7
7
|
import { XverseBitcoinNetworkType as h } from "./index11.js";
|
|
8
|
-
import { Err as
|
|
9
|
-
import { Network as d } from "@gardenfi/utils";
|
|
8
|
+
import { Network as l, Err as a, Ok as d, executeWithTryCatch as w } from "@gardenfi/utils";
|
|
10
9
|
var n;
|
|
11
|
-
class
|
|
10
|
+
class T {
|
|
12
11
|
constructor(e) {
|
|
13
|
-
|
|
12
|
+
m(this, n);
|
|
14
13
|
this.address = "", this.id = u.Xverse.id, this.name = u.Xverse.name, this.icon = u.Xverse.icon, this.connect = async (t) => {
|
|
15
14
|
try {
|
|
16
|
-
t || (t =
|
|
15
|
+
t || (t = l.MAINNET), await i(this, n).request("wallet_connect", null);
|
|
17
16
|
const r = await this.getNetwork();
|
|
18
17
|
if (r.error)
|
|
19
|
-
return
|
|
18
|
+
return a("Could not get network", r.error);
|
|
20
19
|
if (r.val !== t) {
|
|
21
20
|
const c = await this.switchNetwork();
|
|
22
21
|
if (c.error)
|
|
23
|
-
return
|
|
22
|
+
return a("Failed to switch network", c.error);
|
|
24
23
|
}
|
|
25
|
-
const
|
|
26
|
-
return
|
|
24
|
+
const o = await this.getAccounts();
|
|
25
|
+
return o.ok && o.val.length > 0 && (this.address = o.val[0]), d({
|
|
27
26
|
address: this.address,
|
|
28
27
|
provider: this,
|
|
29
28
|
network: t,
|
|
30
29
|
id: u.Xverse.id
|
|
31
30
|
});
|
|
32
31
|
} catch (r) {
|
|
33
|
-
return
|
|
32
|
+
return a("Error while connecting to the XVerse wallet", r);
|
|
34
33
|
}
|
|
35
34
|
}, this.getBalance = async () => await w(async () => (await i(this, n).request("getBalance", {})).result, "Error while getting balance from XVerse wallet"), this.requestAccounts = async () => await w(async () => (await i(this, n).request("getAccounts", {
|
|
36
35
|
purposes: ["payment"],
|
|
@@ -39,15 +38,15 @@ class X {
|
|
|
39
38
|
purposes: ["payment"]
|
|
40
39
|
})).result.addresses.map((r) => r.address)), this.sendBitcoin = async (t, r) => await w(async () => {
|
|
41
40
|
var g;
|
|
42
|
-
const
|
|
41
|
+
const o = await i(this, n).request("sendTransfer", {
|
|
43
42
|
recipients: [{ address: t, amount: r }]
|
|
44
|
-
}), c = (g =
|
|
43
|
+
}), c = (g = o.result) == null ? void 0 : g.txid;
|
|
45
44
|
if (c)
|
|
46
|
-
return
|
|
47
|
-
throw new Error(
|
|
45
|
+
return d(c);
|
|
46
|
+
throw new Error(o.error);
|
|
48
47
|
}, "Error while sending bitcoin from Xverse wallet"), this.on = () => {
|
|
49
48
|
}, this.off = () => {
|
|
50
|
-
}, this.disconnect = () => (this.address = "", Promise.resolve(
|
|
49
|
+
}, this.disconnect = () => (this.address = "", Promise.resolve(d("Disconnected"))), f(this, n, e);
|
|
51
50
|
}
|
|
52
51
|
async getNetwork() {
|
|
53
52
|
return await w(async () => {
|
|
@@ -56,9 +55,9 @@ class X {
|
|
|
56
55
|
null
|
|
57
56
|
);
|
|
58
57
|
if (e.result.bitcoin.name === h.Mainnet)
|
|
59
|
-
return
|
|
58
|
+
return l.MAINNET;
|
|
60
59
|
if (e.result.bitcoin.name === h.Testnet4)
|
|
61
|
-
return
|
|
60
|
+
return l.TESTNET;
|
|
62
61
|
throw new Error(e.result);
|
|
63
62
|
}, "Error while getting network from Xverse wallet");
|
|
64
63
|
}
|
|
@@ -66,19 +65,19 @@ class X {
|
|
|
66
65
|
try {
|
|
67
66
|
const e = await this.getNetwork();
|
|
68
67
|
if (e.error)
|
|
69
|
-
return
|
|
70
|
-
const t = e.val ===
|
|
68
|
+
return a("Failed to get current network");
|
|
69
|
+
const t = e.val === l.MAINNET ? h.Testnet4 : h.Mainnet;
|
|
71
70
|
await i(this, n).request("wallet_changeNetwork", {
|
|
72
71
|
name: t
|
|
73
72
|
});
|
|
74
73
|
const r = await this.getNetwork();
|
|
75
|
-
return r.
|
|
74
|
+
return r.ok ? d(r.val) : a("Failed to verify network switch");
|
|
76
75
|
} catch (e) {
|
|
77
|
-
return
|
|
76
|
+
return a("Error while switching network in Xverse:", e);
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
n = new WeakMap();
|
|
82
81
|
export {
|
|
83
|
-
|
|
82
|
+
T as XverseProvider
|
|
84
83
|
};
|
package/dist/index9.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=r=>{throw TypeError(r)};var l=(r,e,t)=>e.has(r)||o("Cannot "+t);var s=(r,e,t)=>(l(r,e,"read from private field"),t?t.call(r):e.get(r)),u=(r,e,t)=>e.has(r)?o("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),h=(r,e,t,c)=>(l(r,e,"write to private field"),c?c.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./index12.cjs"),a=require("./index3.cjs"),n=require("@gardenfi/utils");var i;class p{constructor(e){u(this,i);this.address="",this.id=a.WALLET_CONFIG.Keplr.id,this.name=a.WALLET_CONFIG.Keplr.name,this.icon=a.WALLET_CONFIG.Keplr.icon,h(this,i,e)}async connect(e){if(e||(e=n.Network.MAINNET),e===n.Network.TESTNET)return n.Err("Keplr wallet does not support testnet4");try{const t=await s(this,i).requestAccounts();return t.length>0&&(this.address=t[0]),n.Ok({address:this.address,provider:this,network:e,id:a.WALLET_CONFIG.Keplr.id})}catch(t){return n.Err("Error while connecting to the Keplr wallet",t)}}async requestAccounts(){return await n.executeWithTryCatch(async()=>await s(this,i).requestAccounts(),"Error while requesting accounts from the Keplr wallet")}async getAccounts(){return await n.executeWithTryCatch(async()=>await s(this,i).getAccounts(),"Error while getting accounts from the Keplr wallet")}async getNetwork(){return await n.executeWithTryCatch(async()=>{const e=await s(this,i).getChain();if(e.enum===w.KeplrBitcoinChainType.MAINNET)return n.Network.MAINNET;if(e.enum===w.KeplrBitcoinChainType.TESTNET)return n.Network.TESTNET;throw new Error("Invalid or unsupported network"+e.enum)},"Error while getting network from the Keplr wallet")}async switchNetwork(){return n.Err("Keplr wallet does not support testnet4")}async getBalance(){return await n.executeWithTryCatch(async()=>await s(this,i).getBalance(),"Error while getting balance from Keplr wallet")}async sendBitcoin(e,t){return await n.executeWithTryCatch(async()=>await s(this,i).sendBitcoin(e,t),"Error while sending bitcoin from Keplr wallet")}on(e,t){s(this,i).on(e,t)}off(e,t){s(this,i).off(e,t)}async disconnect(){return await s(this,i).disconnect(),this.address="",n.Ok("Disconnected Keplr wallet")}}i=new WeakMap;exports.KeplrProvider=p;
|
package/dist/index9.js
CHANGED
|
@@ -5,10 +5,9 @@ var h = (r, t, e) => t.has(r) || u("Cannot " + e);
|
|
|
5
5
|
var s = (r, t, e) => (h(r, t, "read from private field"), e ? e.call(r) : t.get(r)), w = (r, t, e) => t.has(r) ? u("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), p = (r, t, e, l) => (h(r, t, "write to private field"), l ? l.call(r, e) : t.set(r, e), e);
|
|
6
6
|
import { KeplrBitcoinChainType as d } from "./index12.js";
|
|
7
7
|
import { WALLET_CONFIG as a } from "./index3.js";
|
|
8
|
-
import { Err as c, Ok as
|
|
9
|
-
import { Network as o } from "@gardenfi/utils";
|
|
8
|
+
import { Network as o, Err as c, Ok as E, executeWithTryCatch as i } from "@gardenfi/utils";
|
|
10
9
|
var n;
|
|
11
|
-
class
|
|
10
|
+
class K {
|
|
12
11
|
constructor(t) {
|
|
13
12
|
w(this, n);
|
|
14
13
|
this.address = "", this.id = a.Keplr.id, this.name = a.Keplr.name, this.icon = a.Keplr.icon, p(this, n, t);
|
|
@@ -18,7 +17,7 @@ class T {
|
|
|
18
17
|
return c("Keplr wallet does not support testnet4");
|
|
19
18
|
try {
|
|
20
19
|
const e = await s(this, n).requestAccounts();
|
|
21
|
-
return e.length > 0 && (this.address = e[0]),
|
|
20
|
+
return e.length > 0 && (this.address = e[0]), E({
|
|
22
21
|
address: this.address,
|
|
23
22
|
provider: this,
|
|
24
23
|
network: t,
|
|
@@ -60,10 +59,10 @@ class T {
|
|
|
60
59
|
s(this, n).off(t, e);
|
|
61
60
|
}
|
|
62
61
|
async disconnect() {
|
|
63
|
-
return await s(this, n).disconnect(), this.address = "",
|
|
62
|
+
return await s(this, n).disconnect(), this.address = "", E("Disconnected Keplr wallet");
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
n = new WeakMap();
|
|
67
66
|
export {
|
|
68
|
-
|
|
67
|
+
K as KeplrProvider
|
|
69
68
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { AsyncResult, Result } from '@catalogfi/utils';
|
|
2
1
|
import { IInjectedBitcoinProvider } from './bitcoin.types';
|
|
3
|
-
import { IStore, Network } from '@gardenfi/utils';
|
|
2
|
+
import { AsyncResult, IStore, Network, Result } from '@gardenfi/utils';
|
|
4
3
|
|
|
5
4
|
export type AvailableWallets = {
|
|
6
5
|
[key: string]: IInjectedBitcoinProvider;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Connect, IInjectedBitcoinProvider } from '
|
|
1
|
+
import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
2
2
|
import { KeplrBitcoinProvider } from './keplr.types';
|
|
3
|
-
import { AsyncResult } from '@
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Network, Ok } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class KeplrProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -11,17 +10,17 @@ export declare class KeplrProvider implements IInjectedBitcoinProvider {
|
|
|
11
10
|
icon: "https://garden-finance.imgix.net/wallets/keplr.svg";
|
|
12
11
|
constructor(provider: KeplrBitcoinProvider);
|
|
13
12
|
connect(network?: Network): AsyncResult<Connect, string>;
|
|
14
|
-
requestAccounts(): Promise<import('@
|
|
15
|
-
getAccounts(): Promise<import('@
|
|
16
|
-
getNetwork(): Promise<import('@
|
|
13
|
+
requestAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
14
|
+
getAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
15
|
+
getNetwork(): Promise<import('@gardenfi/utils').Result<Network, string>>;
|
|
17
16
|
switchNetwork(): AsyncResult<Network, string>;
|
|
18
|
-
getBalance(): Promise<import('@
|
|
17
|
+
getBalance(): Promise<import('@gardenfi/utils').Result<{
|
|
19
18
|
confirmed: number;
|
|
20
19
|
unconfirmed: number;
|
|
21
20
|
total: number;
|
|
22
21
|
}, string>>;
|
|
23
|
-
sendBitcoin(toAddress: string, satoshis: number): Promise<import('@
|
|
22
|
+
sendBitcoin(toAddress: string, satoshis: number): Promise<import('@gardenfi/utils').Result<string, string>>;
|
|
24
23
|
on(event: string, callback: (data: any) => void): void;
|
|
25
24
|
off(event: string, callback: (data: any) => void): void;
|
|
26
|
-
disconnect(): Promise<
|
|
25
|
+
disconnect(): Promise<Ok<string>>;
|
|
27
26
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AsyncResult } from '@catalogfi/utils';
|
|
2
1
|
import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
3
2
|
import { OKXBitcoinProvider } from './okx.types';
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Network } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class OKXProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
2
2
|
import { PhantomBitcoinProvider } from './phantom.types';
|
|
3
|
-
import { AsyncResult } from '@
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Network, Ok } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class PhantomProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -11,9 +10,9 @@ export declare class PhantomProvider implements IInjectedBitcoinProvider {
|
|
|
11
10
|
icon: "https://garden-finance.imgix.net/wallets/phantom.svg";
|
|
12
11
|
constructor(phantomProvider: PhantomBitcoinProvider);
|
|
13
12
|
connect(network?: Network): AsyncResult<Connect, string>;
|
|
14
|
-
requestAccounts(): Promise<import('@
|
|
13
|
+
requestAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
15
14
|
getAccounts(): AsyncResult<string[], string>;
|
|
16
|
-
getNetwork(): Promise<
|
|
15
|
+
getNetwork(): Promise<Ok<Network>>;
|
|
17
16
|
switchNetwork(): AsyncResult<Network, string>;
|
|
18
17
|
getBalance(): AsyncResult<{
|
|
19
18
|
confirmed: number;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { UnisatBitcoinProvider } from './unisat.types';
|
|
2
|
-
import { AsyncResult } from '@catalogfi/utils';
|
|
3
2
|
import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Network } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class UnisatProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -11,16 +10,16 @@ export declare class UnisatProvider implements IInjectedBitcoinProvider {
|
|
|
11
10
|
icon: "https://garden-finance.imgix.net/wallets/unisat.svg";
|
|
12
11
|
constructor(unisatProvider: UnisatBitcoinProvider, network: Network);
|
|
13
12
|
connect(network?: Network): AsyncResult<Connect, string>;
|
|
14
|
-
requestAccounts(): Promise<import('@
|
|
15
|
-
getAccounts(): Promise<import('@
|
|
16
|
-
getNetwork(): Promise<import('@
|
|
13
|
+
requestAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
14
|
+
getAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
15
|
+
getNetwork(): Promise<import('@gardenfi/utils').Result<Network, string>>;
|
|
17
16
|
switchNetwork(): AsyncResult<Network, string>;
|
|
18
|
-
getBalance(): Promise<import('@
|
|
17
|
+
getBalance(): Promise<import('@gardenfi/utils').Result<{
|
|
19
18
|
confirmed: number;
|
|
20
19
|
unconfirmed: number;
|
|
21
20
|
total: number;
|
|
22
21
|
}, string>>;
|
|
23
|
-
sendBitcoin(toAddress: string, satoshis: number): Promise<import('@
|
|
22
|
+
sendBitcoin(toAddress: string, satoshis: number): Promise<import('@gardenfi/utils').Result<string, string>>;
|
|
24
23
|
on(event: string, callback: (data: any) => void): void;
|
|
25
24
|
off(event: string, callback: (data: any) => void): void;
|
|
26
25
|
disconnect: () => AsyncResult<string, string>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AsyncResult } from '@catalogfi/utils';
|
|
2
1
|
import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
3
2
|
import { XdefiBitcoinProvider } from './xdefi.types';
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Err, Network, Ok } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class XdefiProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -11,13 +10,13 @@ export declare class XdefiProvider implements IInjectedBitcoinProvider {
|
|
|
11
10
|
icon: "https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/xdefi.svg";
|
|
12
11
|
constructor(xdefiProvider: XdefiBitcoinProvider);
|
|
13
12
|
connect(network?: Network): AsyncResult<Connect, string>;
|
|
14
|
-
requestAccounts(): Promise<import('@
|
|
15
|
-
getAccounts(): Promise<import('@
|
|
16
|
-
getNetwork(): Promise<
|
|
13
|
+
requestAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
14
|
+
getAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
|
|
15
|
+
getNetwork(): Promise<Ok<Network>>;
|
|
17
16
|
switchNetwork(): AsyncResult<Network, string>;
|
|
18
|
-
getPublicKey(): Promise<
|
|
19
|
-
getBalance(): Promise<
|
|
20
|
-
sendBitcoin: (toAddress: string, satoshis: number) => Promise<
|
|
17
|
+
getPublicKey(): Promise<Err<string>>;
|
|
18
|
+
getBalance(): Promise<Err<string> | Ok<import('../../bitcoin.types').Balance>>;
|
|
19
|
+
sendBitcoin: (toAddress: string, satoshis: number) => Promise<Ok<string> | Err<any>>;
|
|
21
20
|
on: (event: string, callback: (data: any) => void) => void;
|
|
22
21
|
off: (event: string, callback: (data: any) => void) => void;
|
|
23
22
|
disconnect: () => AsyncResult<string, string>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Balance, Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
|
|
2
2
|
import { XVerseBitcoinProvider } from './xverse.types';
|
|
3
|
-
import { AsyncResult } from '@
|
|
4
|
-
import { Network } from '@gardenfi/utils';
|
|
3
|
+
import { AsyncResult, Network } from '@gardenfi/utils';
|
|
5
4
|
|
|
6
5
|
export declare class XverseProvider implements IInjectedBitcoinProvider {
|
|
7
6
|
#private;
|
|
@@ -11,11 +10,11 @@ export declare class XverseProvider implements IInjectedBitcoinProvider {
|
|
|
11
10
|
icon: "https://cdn.prod.website-files.com/624b08d53d7ac60ccfc11d8d/64637a04ad4e523a3e07675c_32x32.png";
|
|
12
11
|
constructor(provider: XVerseBitcoinProvider);
|
|
13
12
|
connect: (network?: Network) => AsyncResult<Connect, string>;
|
|
14
|
-
getBalance: () => Promise<import('@
|
|
13
|
+
getBalance: () => Promise<import('@gardenfi/utils').Result<Balance, string>>;
|
|
15
14
|
requestAccounts: () => AsyncResult<string[], string>;
|
|
16
15
|
getAccounts: () => AsyncResult<string[], string>;
|
|
17
16
|
sendBitcoin: (toAddress: string, satoshis: number) => AsyncResult<string, string>;
|
|
18
|
-
getNetwork(): Promise<import('@
|
|
17
|
+
getNetwork(): Promise<import('@gardenfi/utils').Result<Network, string>>;
|
|
19
18
|
switchNetwork(): AsyncResult<Network, string>;
|
|
20
19
|
/**
|
|
21
20
|
* not available in XVerse wallet
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AsyncResult } from '@catalogfi/utils';
|
|
2
1
|
import { Balance } from './bitcoin.types';
|
|
3
|
-
import { Network } from '@gardenfi/utils';
|
|
2
|
+
import { AsyncResult, Network } from '@gardenfi/utils';
|
|
4
3
|
|
|
5
4
|
export declare const getBalance: (address: string, network: Network) => AsyncResult<Balance, string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gardenfi/wallet-connectors",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "vite build",
|
|
@@ -36,9 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"sideEffects": false,
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@
|
|
40
|
-
"@
|
|
41
|
-
"@gardenfi/utils": "2.1.3",
|
|
39
|
+
"@gardenfi/core": "2.1.13-beta.1",
|
|
40
|
+
"@gardenfi/utils": "2.1.3-beta.19",
|
|
42
41
|
"axios": "^1.7.9",
|
|
43
42
|
"bitcoinjs-lib": "^6.1.7",
|
|
44
43
|
"react": "^18.3.1",
|