@gardenfi/wallet-connectors 3.0.0-beta.21 → 3.0.0-beta.22
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 +1 -1
- package/dist/index10.js +57 -36
- package/dist/index11.cjs +1 -1
- package/dist/index11.js +80 -55
- package/dist/index12.cjs +1 -1
- package/dist/index12.js +74 -101
- package/dist/index13.cjs +1 -1
- package/dist/index13.js +56 -71
- package/dist/index14.cjs +1 -1
- package/dist/index14.js +83 -45
- package/dist/index17.cjs +1 -1
- package/dist/index17.js +3 -35
- package/dist/index18.cjs +1 -1
- package/dist/index18.js +2 -3
- package/dist/index19.cjs +1 -1
- package/dist/index19.js +2 -2
- package/dist/index2.cjs +1 -1
- package/dist/index2.js +5 -5
- package/dist/index20.cjs +1 -1
- package/dist/index20.js +35 -2
- package/dist/index5.cjs +1 -1
- package/dist/index5.js +1 -1
- package/dist/index9.cjs +1 -1
- package/dist/index9.js +43 -85
- package/package.json +3 -3
package/dist/index13.js
CHANGED
|
@@ -1,83 +1,68 @@
|
|
|
1
|
-
var
|
|
2
|
-
throw TypeError(
|
|
1
|
+
var u = (r) => {
|
|
2
|
+
throw TypeError(r);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { Network as
|
|
4
|
+
var h = (r, t, e) => t.has(r) || u("Cannot " + e);
|
|
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 "./index19.js";
|
|
7
|
+
import { WALLET_CONFIG as a } from "./index3.js";
|
|
8
|
+
import { Network as o, Err as c, Ok as E, executeWithTryCatch as i } from "@gardenfi/utils";
|
|
9
9
|
var n;
|
|
10
|
-
class
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
this.address = "", this.id =
|
|
14
|
-
try {
|
|
15
|
-
t || (t = l.MAINNET), await i(this, n).request("wallet_connect", null);
|
|
16
|
-
const r = await this.getNetwork();
|
|
17
|
-
if (r.error)
|
|
18
|
-
return a("Could not get network", r.error);
|
|
19
|
-
if (r.val !== t) {
|
|
20
|
-
const c = await this.switchNetwork();
|
|
21
|
-
if (c.error)
|
|
22
|
-
return a("Failed to switch network", c.error);
|
|
23
|
-
}
|
|
24
|
-
const o = await this.getAccounts();
|
|
25
|
-
return o.ok && o.val.length > 0 && (this.address = o.val[0]), d({
|
|
26
|
-
address: this.address,
|
|
27
|
-
provider: this,
|
|
28
|
-
network: t,
|
|
29
|
-
id: u.Xverse.id
|
|
30
|
-
});
|
|
31
|
-
} catch (r) {
|
|
32
|
-
return a("Error while connecting to the XVerse wallet", r);
|
|
33
|
-
}
|
|
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", {
|
|
35
|
-
purposes: ["payment"],
|
|
36
|
-
message: "I want to connect"
|
|
37
|
-
})).result.map((r) => r.address)), this.getAccounts = async () => await w(async () => (await i(this, n).request("getAddresses", {
|
|
38
|
-
purposes: ["payment"]
|
|
39
|
-
})).result.addresses.map((r) => r.address)), this.sendBitcoin = async (t, r) => await w(async () => {
|
|
40
|
-
var g;
|
|
41
|
-
const o = await i(this, n).request("sendTransfer", {
|
|
42
|
-
recipients: [{ address: t, amount: r }]
|
|
43
|
-
}), c = (g = o.result) == null ? void 0 : g.txid;
|
|
44
|
-
if (c)
|
|
45
|
-
return d(c);
|
|
46
|
-
throw new Error(o.error);
|
|
47
|
-
}, "Error while sending bitcoin from Xverse wallet"), this.on = () => {
|
|
48
|
-
}, this.off = () => {
|
|
49
|
-
}, this.disconnect = () => (this.address = "", Promise.resolve(d("Disconnected"))), f(this, n, e);
|
|
10
|
+
class K {
|
|
11
|
+
constructor(t) {
|
|
12
|
+
w(this, n);
|
|
13
|
+
this.address = "", this.id = a.Keplr.id, this.name = a.Keplr.name, this.icon = a.Keplr.icon, p(this, n, t);
|
|
50
14
|
}
|
|
51
|
-
async
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"wallet_getNetwork",
|
|
55
|
-
null
|
|
56
|
-
);
|
|
57
|
-
if (e.result.bitcoin.name === h.Mainnet)
|
|
58
|
-
return l.MAINNET;
|
|
59
|
-
if (e.result.bitcoin.name === h.Testnet4)
|
|
60
|
-
return l.TESTNET;
|
|
61
|
-
throw new Error(e.result);
|
|
62
|
-
}, "Error while getting network from Xverse wallet");
|
|
63
|
-
}
|
|
64
|
-
async switchNetwork() {
|
|
15
|
+
async connect(t) {
|
|
16
|
+
if (t || (t = o.MAINNET), t === o.TESTNET)
|
|
17
|
+
return c("Keplr wallet does not support testnet4");
|
|
65
18
|
try {
|
|
66
|
-
const e = await this.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
19
|
+
const e = await s(this, n).requestAccounts();
|
|
20
|
+
return e.length > 0 && (this.address = e[0]), E({
|
|
21
|
+
address: this.address,
|
|
22
|
+
provider: this,
|
|
23
|
+
network: t,
|
|
24
|
+
id: a.Keplr.id
|
|
72
25
|
});
|
|
73
|
-
const r = await this.getNetwork();
|
|
74
|
-
return r.ok ? d(r.val) : a("Failed to verify network switch");
|
|
75
26
|
} catch (e) {
|
|
76
|
-
return
|
|
27
|
+
return c("Error while connecting to the Keplr wallet", e);
|
|
77
28
|
}
|
|
78
29
|
}
|
|
30
|
+
async requestAccounts() {
|
|
31
|
+
return await i(async () => await s(this, n).requestAccounts(), "Error while requesting accounts from the Keplr wallet");
|
|
32
|
+
}
|
|
33
|
+
async getAccounts() {
|
|
34
|
+
return await i(async () => await s(this, n).getAccounts(), "Error while getting accounts from the Keplr wallet");
|
|
35
|
+
}
|
|
36
|
+
async getNetwork() {
|
|
37
|
+
return await i(async () => {
|
|
38
|
+
const t = await s(this, n).getChain();
|
|
39
|
+
if (t.enum === d.MAINNET)
|
|
40
|
+
return o.MAINNET;
|
|
41
|
+
if (t.enum === d.TESTNET)
|
|
42
|
+
return o.TESTNET;
|
|
43
|
+
throw new Error("Invalid or unsupported network" + t.enum);
|
|
44
|
+
}, "Error while getting network from the Keplr wallet");
|
|
45
|
+
}
|
|
46
|
+
async switchNetwork() {
|
|
47
|
+
return c("Keplr wallet does not support testnet4");
|
|
48
|
+
}
|
|
49
|
+
async getBalance() {
|
|
50
|
+
return await i(async () => await s(this, n).getBalance(), "Error while getting balance from Keplr wallet");
|
|
51
|
+
}
|
|
52
|
+
async sendBitcoin(t, e) {
|
|
53
|
+
return await i(async () => await s(this, n).sendBitcoin(t, e), "Error while sending bitcoin from Keplr wallet");
|
|
54
|
+
}
|
|
55
|
+
on(t, e) {
|
|
56
|
+
s(this, n).on(t, e);
|
|
57
|
+
}
|
|
58
|
+
off(t, e) {
|
|
59
|
+
s(this, n).off(t, e);
|
|
60
|
+
}
|
|
61
|
+
async disconnect() {
|
|
62
|
+
return await s(this, n).disconnect(), this.address = "", E("Disconnected Keplr wallet");
|
|
63
|
+
}
|
|
79
64
|
}
|
|
80
65
|
n = new WeakMap();
|
|
81
66
|
export {
|
|
82
|
-
|
|
67
|
+
K as KeplrProvider
|
|
83
68
|
};
|
package/dist/index14.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var f=e=>{throw TypeError(e)};var w=(e,t,r)=>t.has(e)||f("Cannot "+r);var o=(e,t,r)=>(w(e,t,"read from private field"),r?r.call(e):t.get(e)),l=(e,t,r)=>t.has(e)?f("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),u=(e,t,r,n)=>(w(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("./index20.cjs"),s=require("@gardenfi/utils"),h=require("./index6.cjs");function L(){if(typeof window>"u")return;const e=window.ctrl??window.xfi;return e==null?void 0:e.litecoin}function E(e,t,r=[]){return new Promise((n,a)=>{e.request({method:t,params:r},(d,N)=>{d?a(d):n(N)})})}var c,i;class T{constructor(t){l(this,c);l(this,i);this.address="",this.id=h.WALLET_CONFIG.Ctrl.id,this.name=h.WALLET_CONFIG.Ctrl.name,this.icon=h.WALLET_CONFIG.Ctrl.icon,this.sendLitecoin=async(r,n)=>{try{if(!this.address){const d=await this.requestAccounts();if(!d.ok||d.val.length===0)return s.Err("No connected account to send from")}const a=await E(o(this,c),"transfer",[{feeRate:10,from:this.address,recipient:r,amount:{amount:n,decimals:8},memo:""}]);return s.Ok(a)}catch(a){return s.Err(`Error while sending Litecoin: ${a instanceof Error?a.message:String(a)}`)}},this.on=(r,n)=>o(this,c).on(r,n),this.off=(r,n)=>o(this,c).off(r,n),this.disconnect=()=>(this.address="",Promise.resolve(s.Ok("Disconnected CTRL wallet"))),u(this,c,t),u(this,i,s.Network.MAINNET)}async connect(t){try{const r=L();if(!r)return s.Err("CTRL wallet Litecoin provider not found");u(this,c,r),t||(t=s.Network.MAINNET),u(this,i,t);const n=await this.requestAccounts();return n.ok?n.val.length===0?s.Err("No accounts found in CTRL wallet"):(this.address=n.val[0],s.Ok({address:this.address,provider:this,network:o(this,i),id:h.WALLET_CONFIG.Ctrl.id})):s.Err("Failed to get accounts from CTRL wallet")}catch(r){return s.Err("Error while connecting to the CTRL wallet",r)}}async requestAccounts(){try{const t=await E(o(this,c),"request_accounts");return t&&t.length>0&&(this.address=t[0]),s.Ok(t)}catch{return s.Err("Error while requesting accounts from the CTRL wallet")}}async getAccounts(){return this.requestAccounts()}async getNetwork(){return s.Ok(o(this,i))}async switchNetwork(){u(this,i,o(this,i)===s.Network.MAINNET?s.Network.TESTNET:s.Network.MAINNET);const t=await this.requestAccounts();return t.ok?s.Ok(o(this,i)):s.Err(`Failed to get CTRL accounts: ${t.error}`)}async getBalance(){if(!this.address&&!(await this.requestAccounts()).ok)return s.Err("Failed to get address for balance");const t=await k.getBalance(this.address,o(this,i));return t.ok?s.Ok(t.val):s.Err(t.error)}}c=new WeakMap,i=new WeakMap;exports.CtrlProvider=T;
|
package/dist/index14.js
CHANGED
|
@@ -1,68 +1,106 @@
|
|
|
1
|
-
var
|
|
2
|
-
throw TypeError(
|
|
1
|
+
var m = (e) => {
|
|
2
|
+
throw TypeError(e);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
var g = (e, t, r) => t.has(e) || m("Cannot " + r);
|
|
5
|
+
var i = (e, t, r) => (g(e, t, "read from private field"), r ? r.call(e) : t.get(e)), w = (e, t, r) => t.has(e) ? m("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), d = (e, t, r, s) => (g(e, t, "write to private field"), s ? s.call(e, r) : t.set(e, r), r);
|
|
6
|
+
import { getBalance as C } from "./index20.js";
|
|
7
|
+
import { Err as o, Ok as u, Network as l } from "@gardenfi/utils";
|
|
8
|
+
import { WALLET_CONFIG as f } from "./index6.js";
|
|
9
|
+
function L() {
|
|
10
|
+
if (typeof window > "u") return;
|
|
11
|
+
const e = window.ctrl ?? window.xfi;
|
|
12
|
+
return e == null ? void 0 : e.litecoin;
|
|
13
|
+
}
|
|
14
|
+
function N(e, t, r = []) {
|
|
15
|
+
return new Promise((s, a) => {
|
|
16
|
+
e.request({ method: t, params: r }, (h, T) => {
|
|
17
|
+
h ? a(h) : s(T);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
var c, n;
|
|
22
|
+
class q {
|
|
11
23
|
constructor(t) {
|
|
24
|
+
w(this, c);
|
|
12
25
|
w(this, n);
|
|
13
|
-
this.address = "", this.id =
|
|
26
|
+
this.address = "", this.id = f.Ctrl.id, this.name = f.Ctrl.name, this.icon = f.Ctrl.icon, this.sendLitecoin = async (r, s) => {
|
|
27
|
+
try {
|
|
28
|
+
if (!this.address) {
|
|
29
|
+
const h = await this.requestAccounts();
|
|
30
|
+
if (!h.ok || h.val.length === 0)
|
|
31
|
+
return o("No connected account to send from");
|
|
32
|
+
}
|
|
33
|
+
const a = await N(
|
|
34
|
+
i(this, c),
|
|
35
|
+
"transfer",
|
|
36
|
+
[
|
|
37
|
+
{
|
|
38
|
+
feeRate: 10,
|
|
39
|
+
from: this.address,
|
|
40
|
+
recipient: r,
|
|
41
|
+
amount: {
|
|
42
|
+
amount: s,
|
|
43
|
+
decimals: 8
|
|
44
|
+
},
|
|
45
|
+
memo: ""
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
);
|
|
49
|
+
return u(a);
|
|
50
|
+
} catch (a) {
|
|
51
|
+
return o(
|
|
52
|
+
`Error while sending Litecoin: ${a instanceof Error ? a.message : String(a)}`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}, this.on = (r, s) => i(this, c).on(r, s), this.off = (r, s) => i(this, c).off(r, s), this.disconnect = () => (this.address = "", Promise.resolve(u("Disconnected CTRL wallet"))), d(this, c, t), d(this, n, l.MAINNET);
|
|
14
56
|
}
|
|
15
57
|
async connect(t) {
|
|
16
|
-
if (t || (t = o.MAINNET), t === o.TESTNET)
|
|
17
|
-
return c("Keplr wallet does not support testnet4");
|
|
18
58
|
try {
|
|
19
|
-
const
|
|
20
|
-
|
|
59
|
+
const r = L();
|
|
60
|
+
if (!r)
|
|
61
|
+
return o("CTRL wallet Litecoin provider not found");
|
|
62
|
+
d(this, c, r), t || (t = l.MAINNET), d(this, n, t);
|
|
63
|
+
const s = await this.requestAccounts();
|
|
64
|
+
return s.ok ? s.val.length === 0 ? o("No accounts found in CTRL wallet") : (this.address = s.val[0], u({
|
|
21
65
|
address: this.address,
|
|
22
66
|
provider: this,
|
|
23
|
-
network:
|
|
24
|
-
id:
|
|
25
|
-
});
|
|
26
|
-
} catch (
|
|
27
|
-
return
|
|
67
|
+
network: i(this, n),
|
|
68
|
+
id: f.Ctrl.id
|
|
69
|
+
})) : o("Failed to get accounts from CTRL wallet");
|
|
70
|
+
} catch (r) {
|
|
71
|
+
return o("Error while connecting to the CTRL wallet", r);
|
|
28
72
|
}
|
|
29
73
|
}
|
|
30
74
|
async requestAccounts() {
|
|
31
|
-
|
|
75
|
+
try {
|
|
76
|
+
const t = await N(
|
|
77
|
+
i(this, c),
|
|
78
|
+
"request_accounts"
|
|
79
|
+
);
|
|
80
|
+
return t && t.length > 0 && (this.address = t[0]), u(t);
|
|
81
|
+
} catch {
|
|
82
|
+
return o("Error while requesting accounts from the CTRL wallet");
|
|
83
|
+
}
|
|
32
84
|
}
|
|
33
85
|
async getAccounts() {
|
|
34
|
-
return
|
|
86
|
+
return this.requestAccounts();
|
|
35
87
|
}
|
|
36
88
|
async getNetwork() {
|
|
37
|
-
return
|
|
38
|
-
const t = await s(this, n).getChain();
|
|
39
|
-
if (t.enum === d.MAINNET)
|
|
40
|
-
return o.MAINNET;
|
|
41
|
-
if (t.enum === d.TESTNET)
|
|
42
|
-
return o.TESTNET;
|
|
43
|
-
throw new Error("Invalid or unsupported network" + t.enum);
|
|
44
|
-
}, "Error while getting network from the Keplr wallet");
|
|
89
|
+
return u(i(this, n));
|
|
45
90
|
}
|
|
46
91
|
async switchNetwork() {
|
|
47
|
-
|
|
92
|
+
d(this, n, i(this, n) === l.MAINNET ? l.TESTNET : l.MAINNET);
|
|
93
|
+
const t = await this.requestAccounts();
|
|
94
|
+
return t.ok ? u(i(this, n)) : o(`Failed to get CTRL accounts: ${t.error}`);
|
|
48
95
|
}
|
|
49
96
|
async getBalance() {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return
|
|
54
|
-
}
|
|
55
|
-
on(t, e) {
|
|
56
|
-
s(this, n).on(t, e);
|
|
57
|
-
}
|
|
58
|
-
off(t, e) {
|
|
59
|
-
s(this, n).off(t, e);
|
|
60
|
-
}
|
|
61
|
-
async disconnect() {
|
|
62
|
-
return await s(this, n).disconnect(), this.address = "", E("Disconnected Keplr wallet");
|
|
97
|
+
if (!this.address && !(await this.requestAccounts()).ok)
|
|
98
|
+
return o("Failed to get address for balance");
|
|
99
|
+
const t = await C(this.address, i(this, n));
|
|
100
|
+
return t.ok ? u(t.val) : o(t.error);
|
|
63
101
|
}
|
|
64
102
|
}
|
|
65
|
-
n = new WeakMap();
|
|
103
|
+
c = new WeakMap(), n = new WeakMap();
|
|
66
104
|
export {
|
|
67
|
-
|
|
105
|
+
q as CtrlProvider
|
|
68
106
|
};
|
package/dist/index17.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
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/index17.js
CHANGED
|
@@ -1,37 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import * as h from "bitcoinjs-lib";
|
|
3
|
-
import * as u from "tiny-secp256k1";
|
|
4
|
-
h.initEccLib(u);
|
|
5
|
-
const _ = {
|
|
6
|
-
testnet: {
|
|
7
|
-
Mempool: "https://litecoinspace.org/testnet"
|
|
8
|
-
},
|
|
9
|
-
mainnet: {
|
|
10
|
-
Mempool: "https://litecoinspace.org"
|
|
11
|
-
},
|
|
12
|
-
localnet: {
|
|
13
|
-
Mempool: "http://localhost:30000"
|
|
14
|
-
}
|
|
15
|
-
}, d = async (e, n) => {
|
|
16
|
-
console.log("getBalance", e, n);
|
|
17
|
-
let s = _[n];
|
|
18
|
-
if (!s) return l("Invalid network");
|
|
19
|
-
const r = `${s.Mempool}/api/address/${e}`;
|
|
20
|
-
console.log("mempoolUrl", r);
|
|
21
|
-
try {
|
|
22
|
-
const o = [r], t = await m.getWithFallback(o, {
|
|
23
|
-
retryCount: 3,
|
|
24
|
-
retryDelay: 1e3
|
|
25
|
-
}), c = t.chain_stats.funded_txo_sum - t.chain_stats.spent_txo_sum, a = t.mempool_stats.funded_txo_sum - t.mempool_stats.spent_txo_sum, i = c + a;
|
|
26
|
-
return p({
|
|
27
|
-
confirmed: c,
|
|
28
|
-
unconfirmed: a,
|
|
29
|
-
total: i
|
|
30
|
-
});
|
|
31
|
-
} catch (o) {
|
|
32
|
-
return l("Error while fetching balance", o);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
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 || {});
|
|
35
2
|
export {
|
|
36
|
-
|
|
3
|
+
I as UnisatChainEnum,
|
|
4
|
+
N as UnisatNetworkEnum
|
|
37
5
|
};
|
package/dist/index18.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var
|
|
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/index18.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var t = /* @__PURE__ */ ((n) => (n.Mainnet = "Mainnet", n.Testnet4 = "Testnet4", n))(t || {});
|
|
2
2
|
export {
|
|
3
|
-
|
|
4
|
-
N as UnisatNetworkEnum
|
|
3
|
+
t as XverseBitcoinNetworkType
|
|
5
4
|
};
|
package/dist/index19.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var
|
|
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;
|
package/dist/index19.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var N = /* @__PURE__ */ ((T) => (T.MAINNET = "BITCOIN_MAINNET", T.TESTNET = "BITCOIN_TESTNET", T))(N || {});
|
|
2
2
|
export {
|
|
3
|
-
|
|
3
|
+
N as KeplrBitcoinChainType
|
|
4
4
|
};
|
package/dist/index2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),x=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),x=require("./index9.cjs"),T=require("./index10.cjs"),y=require("./index11.cjs"),B=require("./index12.cjs"),S=require("./index13.cjs"),n=require("@gardenfi/utils"),k=o.createContext(void 0),q=({children:a,network:i,store:v,wallets:w})=>{const[r,f]=o.useState(),[p,s]=o.useState(),[b,d]=o.useState(!1),[l,C]=o.useState({}),N=o.useMemo(()=>!!r&&!!p,[r,p]),m=async e=>{d(!0);const t=await e.connect(i);return t.ok?t.val.network!==i?(d(!1),n.Err("Network mismatch")):(f(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))},h=()=>r?(r.disconnect(),f(void 0),s(void 0),v.removeItem("bitcoinWallet"),n.Ok(n.Void)):n.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=>{C(t=>({...t,[e.id]:e}))},W=async()=>{if(window.okxwallet&&window.okxwallet.bitcoin&&window.okxwallet.bitcoinTestnet){const e=new x.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 y.PhantomProvider(window.phantom.bitcoin);c(e)}if(window.unisat){const e=new T.UnisatProvider(window.unisat,i);c(e)}if(window.XverseProviders&&window.XverseProviders.BitcoinProvider){const e=new B.XverseProvider(window.XverseProviders.BitcoinProvider);c(e)}if(i===n.Network.MAINNET&&window.keplr&&window.keplr.bitcoin){const e=new S.KeplrProvider(window.keplr.bitcoin);c(e)}w==null||w.forEach(e=>{c(e.provider)})},A=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 g=await u.getNetwork();if(g.error||g.val!==i)return;f(u),s(P.val[0])}}};return o.useEffect(()=>{W()},[]),o.useEffect(()=>{l&&A()},[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(k.Provider,{value:{availableWallets:l,connect:m,provider:r,account:p,network:i,isConnecting:b,updateAccount:E,disconnect:h,isConnected:N}},a)},I=()=>{const a=o.useContext(k);if(!a)throw new Error("useBitcoinWallet must be used within BTCWalletProvider");return a};exports.BTCWalletProvider=q;exports.useBitcoinWallet=I;
|
package/dist/index2.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import I, { useState as l, useMemo as X, useCallback as M, useEffect as p, createContext as O, useContext as S } from "react";
|
|
2
|
-
import { OKXProvider as J } from "./
|
|
3
|
-
import { UnisatProvider as K } from "./
|
|
4
|
-
import { PhantomProvider as L } from "./
|
|
5
|
-
import { XverseProvider as z } from "./
|
|
6
|
-
import { KeplrProvider as D } from "./
|
|
2
|
+
import { OKXProvider as J } from "./index9.js";
|
|
3
|
+
import { UnisatProvider as K } from "./index10.js";
|
|
4
|
+
import { PhantomProvider as L } from "./index11.js";
|
|
5
|
+
import { XverseProvider as z } from "./index12.js";
|
|
6
|
+
import { KeplrProvider as D } from "./index13.js";
|
|
7
7
|
import { Network as P, Err as g, Ok as k, Void as C } from "@gardenfi/utils";
|
|
8
8
|
const h = O(void 0), G = ({
|
|
9
9
|
children: c,
|
package/dist/index20.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@gardenfi/utils"),m=require("bitcoinjs-lib"),p=require("tiny-secp256k1");function i(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const f=i(m),_=i(p);f.initEccLib(_);const d={testnet:{Mempool:"https://litecoinspace.org/testnet"},mainnet:{Mempool:"https://litecoinspace.org"},localnet:{Mempool:"http://localhost:30000"}},g=async(e,o)=>{console.log("getBalance",e,o);let t=d[o];if(!t)return r.Err("Invalid network");const n=`${t.Mempool}/api/address/${e}`;console.log("mempoolUrl",n);try{const s=[n],c=await r.Fetcher.getWithFallback(s,{retryCount:3,retryDelay:1e3}),a=c.chain_stats.funded_txo_sum-c.chain_stats.spent_txo_sum,l=c.mempool_stats.funded_txo_sum-c.mempool_stats.spent_txo_sum,u=a+l;return r.Ok({confirmed:a,unconfirmed:l,total:u})}catch(s){return r.Err("Error while fetching balance",s)}};exports.getBalance=g;
|
package/dist/index20.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
import { Err as l, Fetcher as m, Ok as p } from "@gardenfi/utils";
|
|
2
|
+
import * as h from "bitcoinjs-lib";
|
|
3
|
+
import * as u from "tiny-secp256k1";
|
|
4
|
+
h.initEccLib(u);
|
|
5
|
+
const _ = {
|
|
6
|
+
testnet: {
|
|
7
|
+
Mempool: "https://litecoinspace.org/testnet"
|
|
8
|
+
},
|
|
9
|
+
mainnet: {
|
|
10
|
+
Mempool: "https://litecoinspace.org"
|
|
11
|
+
},
|
|
12
|
+
localnet: {
|
|
13
|
+
Mempool: "http://localhost:30000"
|
|
14
|
+
}
|
|
15
|
+
}, d = async (e, n) => {
|
|
16
|
+
console.log("getBalance", e, n);
|
|
17
|
+
let s = _[n];
|
|
18
|
+
if (!s) return l("Invalid network");
|
|
19
|
+
const r = `${s.Mempool}/api/address/${e}`;
|
|
20
|
+
console.log("mempoolUrl", r);
|
|
21
|
+
try {
|
|
22
|
+
const o = [r], t = await m.getWithFallback(o, {
|
|
23
|
+
retryCount: 3,
|
|
24
|
+
retryDelay: 1e3
|
|
25
|
+
}), c = t.chain_stats.funded_txo_sum - t.chain_stats.spent_txo_sum, a = t.mempool_stats.funded_txo_sum - t.mempool_stats.spent_txo_sum, i = c + a;
|
|
26
|
+
return p({
|
|
27
|
+
confirmed: c,
|
|
28
|
+
unconfirmed: a,
|
|
29
|
+
total: i
|
|
30
|
+
});
|
|
31
|
+
} catch (o) {
|
|
32
|
+
return l("Error while fetching balance", o);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
2
35
|
export {
|
|
3
|
-
|
|
36
|
+
d as getBalance
|
|
4
37
|
};
|
package/dist/index5.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),h=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),h=require("./index14.cjs"),o=require("@gardenfi/utils"),g=r.createContext(void 0),S=({children:i,network:l,store:u})=>{const[n,d]=r.useState(),[v,c]=r.useState(),[W,s]=r.useState(!1),[a,p]=r.useState({}),m=r.useMemo(()=>!!n&&!!v,[n,v]),w=async e=>{s(!0);const t=await e.connect(l);return t.ok?t.val.network!==l?(s(!1),o.Err("Network mismatch")):(d(t.val.provider),c(t.val.address),u.setItem("litecoinWallet",JSON.stringify(t.val)),s(!1),o.Ok(o.Void)):(s(!1),o.Err(t.error))},P=()=>n?(n.disconnect(),d(void 0),c(void 0),u.removeItem("litecoinWallet"),o.Ok(o.Void)):o.Err("No provider to disconnect"),y=r.useCallback(async()=>{if(!n)return;const e=await n.getAccounts();if(!e.ok){console.error("Error getting accounts:",e.error);return}c(e.val[0])},[n]),A=e=>{p(t=>({...t,[e.id]:e}))},E=async()=>{const e=window.ctrl??window.xfi;if(e&&e.litecoin){const t=new h.CtrlProvider(e.litecoin);A(t)}},L=async()=>{const e=u.getItem("litecoinWallet");if(e){const t=JSON.parse(e),f=a[t.id];if(f){const C=await f.getAccounts();if(!C.ok||!C.val[0])return;d(f),c(C.val[0])}}};return r.useEffect(()=>{E()},[]),r.useEffect(()=>{a&&L()},[a]),r.useEffect(()=>{if(!n)return;const e=async t=>{t.length!==0&&c(t[0])};return n.on("accountsChanged",e),()=>{n.off("accountsChanged",e)}},[n]),r.createElement(g.Provider,{value:{availableWallets:a,connect:w,provider:n,account:v,network:l,isConnecting:W,updateAccount:y,disconnect:P,isConnected:m}},i)},b=()=>{const i=r.useContext(g);if(!i)throw new Error("useLitecoinWallet must be used within LTCWalletProvider");return i};exports.LTCWalletProvider=S;exports.useLitecoinWallet=b;
|
package/dist/index5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import b, { useState as s, useMemo as I, useCallback as N, useEffect as C, createContext as T, useContext as O } from "react";
|
|
2
|
-
import { CtrlProvider as S } from "./
|
|
2
|
+
import { CtrlProvider as S } from "./index14.js";
|
|
3
3
|
import { Err as m, Ok as g, Void as p } from "@gardenfi/utils";
|
|
4
4
|
const W = T(void 0), M = ({
|
|
5
5
|
children: r,
|
package/dist/index9.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;
|