@gardenfi/wallet-connectors 2.3.1 → 2.3.2-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/index10.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var N=(T=>(T.BITCOIN_MAINNET="BITCOIN_MAINNET",T.BITCOIN_TESTNET="BITCOIN_TESTNET",T.BITCOIN_TESTNET4="BITCOIN_TESTNET4",T))(N||{}),I=(T=>(T.LIVENET="livenet",T.TESTNET="testnet",T))(I||{});exports.UnisatChainEnum=N;exports.UnisatNetworkEnum=I;
1
+ "use strict";var o=r=>{throw TypeError(r)};var u=(r,e,t)=>e.has(r)||o("Cannot "+t);var s=(r,e,t)=>(u(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(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),d=(r,e,t,c)=>(u(r,e,"write to private field"),c?c.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("bitcoinjs-lib"),w=require("tiny-secp256k1"),n=require("@gardenfi/utils"),i=require("./index3.cjs"),p=require("./index4.cjs");function f(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,c.get?c:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const y=f(w);h.initEccLib(y);var a;class L{constructor(e){l(this,a);this.address="",this.id=i.WALLET_CONFIG.Leap.id,this.name=i.WALLET_CONFIG.Leap.name,this.icon=i.WALLET_CONFIG.Leap.icon,this.disconnect=()=>(this.address="",Promise.resolve(n.Ok("Disconnected Leap wallet"))),d(this,a,e)}async connect(e){if(e||(e=n.Network.MAINNET),e===n.Network.TESTNET)return n.Err("Leap wallet does not support testnet");try{const t=await s(this,a).requestAccounts();return t.length>0&&(this.address=t[0]),n.Ok({address:this.address,provider:this,network:e,id:i.WALLET_CONFIG.Leap.id})}catch(t){return n.Err("Error while connecting to Leap wallet: "+t)}}async requestAccounts(){return await n.executeWithTryCatch(async()=>await s(this,a).requestAccounts(),"Error while requesting accounts from Leap wallet")}async getAccounts(){return await n.executeWithTryCatch(async()=>await s(this,a).getAccounts(),"Error while getting accounts from Leap wallet")}async getNetwork(){return n.Ok(n.Network.MAINNET)}async switchNetwork(){return n.Err("Keplr wallet does not support testnet4")}async getBalance(){return await n.executeWithTryCatch(async()=>{const e=await p.getBalance(this.address,n.Network.MAINNET);if(e.ok&&e.val)return e.val;throw new Error(e.error)},"Error while getting balance from Leap wallet")}async sendBitcoin(e,t){return await n.executeWithTryCatch(async()=>await s(this,a).sendBitcoin(e,t),"Error while sending bitcoin from Unisat wallet")}on(e,t){s(this,a).on(e,t)}off(e,t){s(this,a).off(e,t)}}a=new WeakMap;exports.LeapProvider=L;
package/dist/index10.js CHANGED
@@ -1,5 +1,67 @@
1
- var I = /* @__PURE__ */ ((T) => (T.BITCOIN_MAINNET = "BITCOIN_MAINNET", T.BITCOIN_TESTNET = "BITCOIN_TESTNET", T.BITCOIN_TESTNET4 = "BITCOIN_TESTNET4", T))(I || {}), N = /* @__PURE__ */ ((T) => (T.LIVENET = "livenet", T.TESTNET = "testnet", T))(N || {});
1
+ var h = (r) => {
2
+ throw TypeError(r);
3
+ };
4
+ var d = (r, t, e) => t.has(r) || h("Cannot " + e);
5
+ var s = (r, t, e) => (d(r, t, "read from private field"), e ? e.call(r) : t.get(r)), w = (r, t, e) => t.has(r) ? h("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), p = (r, t, e, u) => (d(r, t, "write to private field"), u ? u.call(r, e) : t.set(r, e), e);
6
+ import { initEccLib as f } from "bitcoinjs-lib";
7
+ import * as m from "tiny-secp256k1";
8
+ import { Ok as c, Network as n, Err as l, executeWithTryCatch as i } from "@gardenfi/utils";
9
+ import { WALLET_CONFIG as o } from "./index3.js";
10
+ import { getBalance as E } from "./index4.js";
11
+ f(m);
12
+ var a;
13
+ class T {
14
+ constructor(t) {
15
+ w(this, a);
16
+ this.address = "", this.id = o.Leap.id, this.name = o.Leap.name, this.icon = o.Leap.icon, this.disconnect = () => (this.address = "", Promise.resolve(c("Disconnected Leap wallet"))), p(this, a, t);
17
+ }
18
+ async connect(t) {
19
+ if (t || (t = n.MAINNET), t === n.TESTNET)
20
+ return l("Leap wallet does not support testnet");
21
+ try {
22
+ const e = await s(this, a).requestAccounts();
23
+ return e.length > 0 && (this.address = e[0]), c({
24
+ address: this.address,
25
+ provider: this,
26
+ network: t,
27
+ id: o.Leap.id
28
+ });
29
+ } catch (e) {
30
+ return l("Error while connecting to Leap wallet: " + e);
31
+ }
32
+ }
33
+ async requestAccounts() {
34
+ return await i(async () => await s(this, a).requestAccounts(), "Error while requesting accounts from Leap wallet");
35
+ }
36
+ async getAccounts() {
37
+ return await i(async () => await s(this, a).getAccounts(), "Error while getting accounts from Leap wallet");
38
+ }
39
+ // bitcoin testnet is not supported in Leap wallet
40
+ async getNetwork() {
41
+ return c(n.MAINNET);
42
+ }
43
+ async switchNetwork() {
44
+ return l("Keplr wallet does not support testnet4");
45
+ }
46
+ async getBalance() {
47
+ return await i(async () => {
48
+ const t = await E(this.address, n.MAINNET);
49
+ if (t.ok && t.val)
50
+ return t.val;
51
+ throw new Error(t.error);
52
+ }, "Error while getting balance from Leap wallet");
53
+ }
54
+ async sendBitcoin(t, e) {
55
+ return await i(async () => await s(this, a).sendBitcoin(t, e), "Error while sending bitcoin from Unisat wallet");
56
+ }
57
+ on(t, e) {
58
+ s(this, a).on(t, e);
59
+ }
60
+ off(t, e) {
61
+ s(this, a).off(t, e);
62
+ }
63
+ }
64
+ a = new WeakMap();
2
65
  export {
3
- I as UnisatChainEnum,
4
- N as UnisatNetworkEnum
66
+ T as LeapProvider
5
67
  };
package/dist/index11.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var t=(e=>(e.Mainnet="Mainnet",e.Testnet4="Testnet4",e))(t||{});exports.XverseBitcoinNetworkType=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var N=(T=>(T.BITCOIN_MAINNET="BITCOIN_MAINNET",T.BITCOIN_TESTNET="BITCOIN_TESTNET",T.BITCOIN_TESTNET4="BITCOIN_TESTNET4",T))(N||{}),I=(T=>(T.LIVENET="livenet",T.TESTNET="testnet",T))(I||{});exports.UnisatChainEnum=N;exports.UnisatNetworkEnum=I;
package/dist/index11.js CHANGED
@@ -1,4 +1,5 @@
1
- var t = /* @__PURE__ */ ((n) => (n.Mainnet = "Mainnet", n.Testnet4 = "Testnet4", n))(t || {});
1
+ var I = /* @__PURE__ */ ((T) => (T.BITCOIN_MAINNET = "BITCOIN_MAINNET", T.BITCOIN_TESTNET = "BITCOIN_TESTNET", T.BITCOIN_TESTNET4 = "BITCOIN_TESTNET4", T))(I || {}), N = /* @__PURE__ */ ((T) => (T.LIVENET = "livenet", T.TESTNET = "testnet", T))(N || {});
2
2
  export {
3
- t as XverseBitcoinNetworkType
3
+ I as UnisatChainEnum,
4
+ N as UnisatNetworkEnum
4
5
  };
package/dist/index12.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=(T=>(T.MAINNET="BITCOIN_MAINNET",T.TESTNET="BITCOIN_TESTNET",T))(e||{});exports.KeplrBitcoinChainType=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var t=(e=>(e.Mainnet="Mainnet",e.Testnet4="Testnet4",e))(t||{});exports.XverseBitcoinNetworkType=t;
package/dist/index12.js CHANGED
@@ -1,4 +1,4 @@
1
- var N = /* @__PURE__ */ ((T) => (T.MAINNET = "BITCOIN_MAINNET", T.TESTNET = "BITCOIN_TESTNET", T))(N || {});
1
+ var t = /* @__PURE__ */ ((n) => (n.Mainnet = "Mainnet", n.Testnet4 = "Testnet4", n))(t || {});
2
2
  export {
3
- N as KeplrBitcoinChainType
3
+ t as XverseBitcoinNetworkType
4
4
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=(T=>(T.MAINNET="BITCOIN_MAINNET",T.TESTNET="BITCOIN_TESTNET",T))(e||{});exports.KeplrBitcoinChainType=e;
@@ -0,0 +1,4 @@
1
+ var N = /* @__PURE__ */ ((T) => (T.MAINNET = "BITCOIN_MAINNET", T.TESTNET = "BITCOIN_TESTNET", T))(N || {});
2
+ export {
3
+ N as KeplrBitcoinChainType
4
+ };
package/dist/index2.cjs CHANGED
@@ -1 +1 @@
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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),A=require("./index5.cjs"),T=require("./index6.cjs"),x=require("./index7.cjs"),B=require("./index8.cjs"),y=require("./index9.cjs"),q=require("./index10.cjs"),i=require("@gardenfi/utils"),N=o.createContext(void 0),I=({children:a,network:n,store:v})=>{const[r,w]=o.useState(),[f,s]=o.useState(),[g,d]=o.useState(!1),[l,k]=o.useState({}),b=o.useMemo(()=>!!r&&!!f,[r,f]),C=async e=>{d(!0);const t=await e.connect(n);return t.ok?t.val.network!==n?(d(!1),i.Err("Network mismatch")):(w(t.val.provider),s(t.val.address),v.setItem("bitcoinWallet",JSON.stringify(t.val)),d(!1),i.Ok(i.Void)):(d(!1),i.Err(t.error))},m=()=>r?(r.disconnect(),w(void 0),s(void 0),v.removeItem("bitcoinWallet"),i.Ok(i.Void)):i.Err("No provider to disconnect"),E=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=>{k(t=>({...t,[e.id]:e}))},W=async()=>{if(window.okxwallet&&window.okxwallet.bitcoin&&window.okxwallet.bitcoinTestnet){const e=new A.OKXProvider(n===i.Network.MAINNET?window.okxwallet.bitcoin:window.okxwallet.bitcoinTestnet,n);c(e)}if(n===i.Network.MAINNET&&window.phantom&&window.phantom.bitcoin){const e=new x.PhantomProvider(window.phantom.bitcoin);c(e)}if(window.unisat){const e=new T.UnisatProvider(window.unisat,n);c(e)}if(window.XverseProviders&&window.XverseProviders.BitcoinProvider){const e=new B.XverseProvider(window.XverseProviders.BitcoinProvider);c(e)}if(n===i.Network.MAINNET&&window.keplr&&window.keplr.bitcoin){const e=new y.KeplrProvider(window.keplr.bitcoin);c(e)}if(n===i.Network.MAINNET&&window.leapBitcoin){const e=new q.LeapProvider(window.leapBitcoin);c(e)}},h=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!==n)return;w(u),s(p.val[0])}}};return o.useEffect(()=>{W()},[]),o.useEffect(()=>{l&&h()},[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(N.Provider,{value:{availableWallets:l,connect:C,provider:r,account:f,network:n,isConnecting:g,updateAccount:E,disconnect:m,isConnected:b}},a)},S=()=>{const a=o.useContext(N);if(!a)throw new Error("useBitcoinWallet must be used within BTCWalletProvider");return a};exports.BTCWalletProvider=I;exports.useBitcoinWallet=S;
package/dist/index2.js CHANGED
@@ -1,114 +1,119 @@
1
- import B, { useState as l, useMemo as I, useCallback as X, useEffect as m, createContext as M, useContext as O } from "react";
2
- import { OKXProvider as S } from "./index5.js";
3
- import { UnisatProvider as J } from "./index6.js";
4
- import { PhantomProvider as K } from "./index7.js";
5
- import { XverseProvider as L } from "./index8.js";
1
+ import I, { useState as l, useMemo as y, useCallback as M, useEffect as p, createContext as X, useContext as O } from "react";
2
+ import { OKXProvider as L } from "./index5.js";
3
+ import { UnisatProvider as S } from "./index6.js";
4
+ import { PhantomProvider as J } from "./index7.js";
5
+ import { XverseProvider as K } from "./index8.js";
6
6
  import { KeplrProvider as z } from "./index9.js";
7
- import { Network as p, Err as P, Ok as b, Void as k } from "@gardenfi/utils";
8
- const C = M(void 0), F = ({
7
+ import { LeapProvider as D } from "./index10.js";
8
+ import { Network as w, Err as P, Ok as N, Void as b } from "@gardenfi/utils";
9
+ const C = X(void 0), H = ({
9
10
  children: c,
10
11
  network: r,
11
- store: w
12
+ store: v
12
13
  }) => {
13
- const [o, v] = l(), [u, n] = l(), [N, s] = l(!1), [a, h] = l(
14
+ const [t, u] = l(), [f, i] = l(), [k, s] = l(!1), [a, h] = l(
14
15
  {}
15
- ), x = I(() => !!o && !!u, [
16
- o,
17
- u
18
- ]), A = async (e) => {
16
+ ), A = y(() => !!t && !!f, [
17
+ t,
18
+ f
19
+ ]), x = async (e) => {
19
20
  s(!0);
20
- const t = await e.connect(r);
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 () => {
23
- if (!o) return;
24
- const e = await o.getAccounts();
21
+ const o = await e.connect(r);
22
+ return o.ok ? o.val.network !== r ? (s(!1), P("Network mismatch")) : (u(o.val.provider), i(o.val.address), v.setItem("bitcoinWallet", JSON.stringify(o.val)), s(!1), N(b)) : (s(!1), P(o.error));
23
+ }, W = () => t ? (t.disconnect(), u(void 0), i(void 0), v.removeItem("bitcoinWallet"), N(b)) : P("No provider to disconnect"), E = M(async () => {
24
+ if (!t) return;
25
+ const e = await t.getAccounts();
25
26
  if (!e.ok) {
26
27
  console.error("Error getting accounts:", e.error);
27
28
  return;
28
29
  }
29
- n(e.val[0]);
30
- const t = await o.getNetwork();
31
- if (t.error) {
32
- console.error("Error getting network:", t.error);
30
+ i(e.val[0]);
31
+ const o = await t.getNetwork();
32
+ if (o.error) {
33
+ console.error("Error getting network:", o.error);
33
34
  return;
34
35
  }
35
- }, [o]), i = (e) => {
36
- h((t) => ({
37
- ...t,
36
+ }, [t]), n = (e) => {
37
+ h((o) => ({
38
+ ...o,
38
39
  [e.id]: e
39
40
  }));
40
41
  }, T = async () => {
41
42
  if (window.okxwallet && window.okxwallet.bitcoin && window.okxwallet.bitcoinTestnet) {
42
- const e = new S(r === p.MAINNET ? window.okxwallet.bitcoin : window.okxwallet.bitcoinTestnet, r);
43
- i(e);
43
+ const e = new L(r === w.MAINNET ? window.okxwallet.bitcoin : window.okxwallet.bitcoinTestnet, r);
44
+ n(e);
44
45
  }
45
- if (r === p.MAINNET && window.phantom && window.phantom.bitcoin) {
46
- const e = new K(window.phantom.bitcoin);
47
- i(e);
46
+ if (r === w.MAINNET && window.phantom && window.phantom.bitcoin) {
47
+ const e = new J(window.phantom.bitcoin);
48
+ n(e);
48
49
  }
49
50
  if (window.unisat) {
50
- const e = new J(window.unisat, r);
51
- i(e);
51
+ const e = new S(window.unisat, r);
52
+ n(e);
52
53
  }
53
54
  if (window.XverseProviders && window.XverseProviders.BitcoinProvider) {
54
- const e = new L(
55
+ const e = new K(
55
56
  window.XverseProviders.BitcoinProvider
56
57
  );
57
- i(e);
58
+ n(e);
58
59
  }
59
- if (r === p.MAINNET && window.keplr && window.keplr.bitcoin) {
60
+ if (r === w.MAINNET && window.keplr && window.keplr.bitcoin) {
60
61
  const e = new z(window.keplr.bitcoin);
61
- i(e);
62
+ n(e);
62
63
  }
63
- }, y = async () => {
64
- const e = w.getItem("bitcoinWallet");
64
+ if (r === w.MAINNET && window.leapBitcoin) {
65
+ const e = new D(window.leapBitcoin);
66
+ n(e);
67
+ }
68
+ }, B = async () => {
69
+ const e = v.getItem("bitcoinWallet");
65
70
  if (e) {
66
- const t = JSON.parse(e), d = a[t.id];
71
+ const o = JSON.parse(e), d = a[o.id];
67
72
  if (d) {
68
- const f = await d.getAccounts();
69
- if (!f.ok || !f.val[0]) return;
73
+ const m = await d.getAccounts();
74
+ if (!m.ok || !m.val[0]) return;
70
75
  const g = await d.getNetwork();
71
76
  if (g.error || g.val !== r) return;
72
- v(d), n(f.val[0]);
77
+ u(d), i(m.val[0]);
73
78
  }
74
79
  }
75
80
  };
76
- return m(() => {
81
+ return p(() => {
77
82
  T();
78
- }, []), m(() => {
79
- a && y();
80
- }, [a]), m(() => {
81
- if (!o) return;
82
- const e = async (t) => {
83
- t.length !== 0 && n(t[0]);
83
+ }, []), p(() => {
84
+ a && B();
85
+ }, [a]), p(() => {
86
+ if (!t) return;
87
+ const e = async (o) => {
88
+ o.length !== 0 && i(o[0]);
84
89
  };
85
- return o.on("accountsChanged", e), () => {
86
- o.off("accountsChanged", e);
90
+ return t.on("accountsChanged", e), () => {
91
+ t.off("accountsChanged", e);
87
92
  };
88
- }, [o]), /* @__PURE__ */ B.createElement(
93
+ }, [t]), /* @__PURE__ */ I.createElement(
89
94
  C.Provider,
90
95
  {
91
96
  value: {
92
97
  availableWallets: a,
93
- connect: A,
94
- provider: o,
95
- account: u,
98
+ connect: x,
99
+ provider: t,
100
+ account: f,
96
101
  network: r,
97
- isConnecting: N,
102
+ isConnecting: k,
98
103
  updateAccount: E,
99
104
  disconnect: W,
100
- isConnected: x
105
+ isConnected: A
101
106
  }
102
107
  },
103
108
  c
104
109
  );
105
- }, G = () => {
110
+ }, Q = () => {
106
111
  const c = O(C);
107
112
  if (!c)
108
113
  throw new Error("useBitcoinWallet must be used within BTCWalletProvider");
109
114
  return c;
110
115
  };
111
116
  export {
112
- F as BTCWalletProvider,
113
- G as useBitcoinWallet
117
+ H as BTCWalletProvider,
118
+ Q as useBitcoinWallet
114
119
  };
package/dist/index3.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={OKX:{name:"OKX",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/okx.svg",description:"OKX Wallet"},Unisat:{name:"Unisat",icon:"https://next-cdn.unisat.io/_/285/logo/color.svg",description:"Unisat allet"},Xverse:{name:"Xverse",icon:"https://cdn.prod.website-files.com/624b08d53d7ac60ccfc11d8d/64637a04ad4e523a3e07675c_32x32.png",description:"Xverse allet"},Xdefi:{name:"Xdefi",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/xdefi.svg",description:"Xdefi wallet"},Phantom:{name:"Phantom",icon:"https://garden-finance.imgix.net/wallets/phantom.svg",description:"Phantom Wallet"},Keplr:{name:"Keplr wallet",icon:"https://garden-finance.imgix.net/wallets/keplr.svg",description:"Keplr Wallet"}},a={OKX:{id:"okx",name:"OKX Wallet",icon:"https://garden-finance.imgix.net/wallets/okx.svg"},Unisat:{id:"unisat",name:"Unisat wallet",icon:"https://garden-finance.imgix.net/wallets/unisat.svg"},Xverse:{id:"xverse",name:"Xverse Wallet",icon:"https://cdn.prod.website-files.com/624b08d53d7ac60ccfc11d8d/64637a04ad4e523a3e07675c_32x32.png"},Xdefi:{id:"xdefi",name:"Xdefi wallet",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/xdefi.svg"},Phantom:{id:"phantom",name:"Phantom Wallet",icon:"https://garden-finance.imgix.net/wallets/phantom.svg"},Keplr:{id:"keplr",name:"Keplr Wallet",icon:"https://garden-finance.imgix.net/wallets/keplr.svg"}};exports.SupportedWallets=e;exports.WALLET_CONFIG=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={OKX:{name:"OKX",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/okx.svg",description:"OKX Wallet"},Unisat:{name:"Unisat",icon:"https://next-cdn.unisat.io/_/285/logo/color.svg",description:"Unisat allet"},Xverse:{name:"Xverse",icon:"https://cdn.prod.website-files.com/624b08d53d7ac60ccfc11d8d/64637a04ad4e523a3e07675c_32x32.png",description:"Xverse allet"},Xdefi:{name:"Xdefi",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/xdefi.svg",description:"Xdefi wallet"},Phantom:{name:"Phantom",icon:"https://garden-finance.imgix.net/wallets/phantom.svg",description:"Phantom Wallet"},Keplr:{name:"Keplr wallet",icon:"https://garden-finance.imgix.net/wallets/keplr.svg",description:"Keplr Wallet"},Leap:{name:"Leap wallet",icon:"https://garden-finance.imgix.net/wallets/LeapLight.svg",description:"Leap Wallet"}},a={OKX:{id:"okx",name:"OKX Wallet",icon:"https://garden-finance.imgix.net/wallets/okx.svg"},Unisat:{id:"unisat",name:"Unisat wallet",icon:"https://garden-finance.imgix.net/wallets/unisat.svg"},Xverse:{id:"xverse",name:"Xverse Wallet",icon:"https://cdn.prod.website-files.com/624b08d53d7ac60ccfc11d8d/64637a04ad4e523a3e07675c_32x32.png"},Xdefi:{id:"xdefi",name:"Xdefi wallet",icon:"https://garden-finance.s3.ap-south-2.amazonaws.com/wallets/xdefi.svg"},Phantom:{id:"phantom",name:"Phantom Wallet",icon:"https://garden-finance.imgix.net/wallets/phantom.svg"},Keplr:{id:"keplr",name:"Keplr Wallet",icon:"https://garden-finance.imgix.net/wallets/keplr.svg"},Leap:{id:"leap",name:"Leap Wallet",icon:"https://garden-finance.imgix.net/wallets/LeapLight.svg"}};exports.SupportedWallets=e;exports.WALLET_CONFIG=a;
package/dist/index3.js CHANGED
@@ -28,8 +28,13 @@ const e = {
28
28
  name: "Keplr wallet",
29
29
  icon: "https://garden-finance.imgix.net/wallets/keplr.svg",
30
30
  description: "Keplr Wallet"
31
+ },
32
+ Leap: {
33
+ name: "Leap wallet",
34
+ icon: "https://garden-finance.imgix.net/wallets/LeapLight.svg",
35
+ description: "Leap Wallet"
31
36
  }
32
- }, n = {
37
+ }, a = {
33
38
  OKX: {
34
39
  id: "okx",
35
40
  name: "OKX Wallet",
@@ -59,9 +64,14 @@ const e = {
59
64
  id: "keplr",
60
65
  name: "Keplr Wallet",
61
66
  icon: "https://garden-finance.imgix.net/wallets/keplr.svg"
67
+ },
68
+ Leap: {
69
+ id: "leap",
70
+ name: "Leap Wallet",
71
+ icon: "https://garden-finance.imgix.net/wallets/LeapLight.svg"
62
72
  }
63
73
  };
64
74
  export {
65
75
  e as SupportedWallets,
66
- n as WALLET_CONFIG
76
+ a as WALLET_CONFIG
67
77
  };
package/dist/index6.cjs CHANGED
@@ -1 +1 @@
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;
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("./index11.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
@@ -3,7 +3,7 @@ var g = (e) => {
3
3
  };
4
4
  var k = (e, t, r) => t.has(e) || g("Cannot " + r);
5
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";
6
+ import { UnisatChainEnum as w, UnisatNetworkEnum as f } from "./index11.js";
7
7
  import { Ok as E, Err as a, executeWithTryCatch as h, Network as u } from "@gardenfi/utils";
8
8
  import { WALLET_CONFIG as l } from "./index3.js";
9
9
  var n, o;
package/dist/index8.cjs CHANGED
@@ -1 +1 @@
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;
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("./index12.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
@@ -4,7 +4,7 @@ var N = (s) => {
4
4
  var k = (s, e, t) => e.has(s) || N("Cannot " + t);
5
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
- import { XverseBitcoinNetworkType as h } from "./index11.js";
7
+ import { XverseBitcoinNetworkType as h } from "./index12.js";
8
8
  import { Network as l, Err as a, Ok as d, executeWithTryCatch as w } from "@gardenfi/utils";
9
9
  var n;
10
10
  class T {
package/dist/index9.cjs CHANGED
@@ -1 +1 @@
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;
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("./index13.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
@@ -3,7 +3,7 @@ var u = (r) => {
3
3
  };
4
4
  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
- import { KeplrBitcoinChainType as d } from "./index12.js";
6
+ import { KeplrBitcoinChainType as d } from "./index13.js";
7
7
  import { WALLET_CONFIG as a } from "./index3.js";
8
8
  import { Network as o, Err as c, Ok as E, executeWithTryCatch as i } from "@gardenfi/utils";
9
9
  var n;
@@ -5,6 +5,7 @@ import { XVerseBitcoinProvider } from './providers/xverse/xverse.types';
5
5
  import { XdefiBitcoinProvider } from './providers/xdefi/xdefi.types';
6
6
  import { PhantomBitcoinProvider } from './providers/phantom/phantom.types';
7
7
  import { KeplrBitcoinProvider } from './providers/keplr/keplr.types';
8
+ import { LeapBitcoinProvider } from './providers/leap/leap.types';
8
9
  import { BTCWalletProviderContextType, BTCWalletProviderProps } from './btcWalletsProvider.types';
9
10
 
10
11
  declare global {
@@ -26,6 +27,7 @@ declare global {
26
27
  keplr?: {
27
28
  bitcoin: KeplrBitcoinProvider;
28
29
  };
30
+ leapBitcoin?: LeapBitcoinProvider;
29
31
  }
30
32
  }
31
33
  export declare const BTCWalletProvider: ({ children, network, store, }: BTCWalletProviderProps) => React.JSX.Element;
@@ -29,6 +29,11 @@ export declare const SupportedWallets: {
29
29
  icon: string;
30
30
  description: string;
31
31
  };
32
+ Leap: {
33
+ name: string;
34
+ icon: string;
35
+ description: string;
36
+ };
32
37
  };
33
38
  export declare const WALLET_CONFIG: {
34
39
  readonly OKX: {
@@ -61,4 +66,9 @@ export declare const WALLET_CONFIG: {
61
66
  readonly name: "Keplr Wallet";
62
67
  readonly icon: "https://garden-finance.imgix.net/wallets/keplr.svg";
63
68
  };
69
+ readonly Leap: {
70
+ readonly id: "leap";
71
+ readonly name: "Leap Wallet";
72
+ readonly icon: "https://garden-finance.imgix.net/wallets/LeapLight.svg";
73
+ };
64
74
  };
@@ -0,0 +1,13 @@
1
+ export interface LeapBitcoinProvider {
2
+ requestAccounts: () => Promise<string[]>;
3
+ getAccounts: () => Promise<string[]>;
4
+ getBalance: () => Promise<{
5
+ confirmed: number;
6
+ unconfirmed: number;
7
+ total: number;
8
+ }>;
9
+ sendBitcoin: (toAddress: string, satoshis: number) => Promise<string>;
10
+ on: (event: string, callback: (data: any) => void) => void;
11
+ off: (event: string, callback: (data: any) => void) => void;
12
+ disconnect: () => void;
13
+ }
@@ -0,0 +1,26 @@
1
+ import { Connect, IInjectedBitcoinProvider } from '../../bitcoin.types';
2
+ import { LeapBitcoinProvider } from './leap.types';
3
+ import { AsyncResult, Network, Ok } from '@gardenfi/utils';
4
+
5
+ export declare class LeapProvider implements IInjectedBitcoinProvider {
6
+ #private;
7
+ address: string;
8
+ id: "leap";
9
+ name: "Leap Wallet";
10
+ icon: "https://garden-finance.imgix.net/wallets/LeapLight.svg";
11
+ constructor(leapProvider: LeapBitcoinProvider);
12
+ connect(network?: Network): AsyncResult<Connect, string>;
13
+ requestAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
14
+ getAccounts(): Promise<import('@gardenfi/utils').Result<string[], string>>;
15
+ getNetwork(): Promise<Ok<Network>>;
16
+ switchNetwork(): AsyncResult<Network, string>;
17
+ getBalance(): AsyncResult<{
18
+ confirmed: number;
19
+ unconfirmed: number;
20
+ total: number;
21
+ }, string>;
22
+ sendBitcoin(toAddress: string, satoshis: number): Promise<import('@gardenfi/utils').Result<string, string>>;
23
+ on(event: string, callback: (data: any) => void): void;
24
+ off(event: string, callback: (data: any) => void): void;
25
+ disconnect: () => AsyncResult<string, string>;
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/wallet-connectors",
3
- "version": "2.3.1",
3
+ "version": "2.3.2-beta.1",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "sideEffects": false,
38
38
  "dependencies": {
39
- "@gardenfi/core": "2.4.1",
40
- "@gardenfi/utils": "2.4.1",
39
+ "@gardenfi/core": "2.4.2",
40
+ "@gardenfi/utils": "2.4.2",
41
41
  "axios": "^1.7.9",
42
42
  "bitcoinjs-lib": "^6.1.7",
43
43
  "react": "^18.3.1",