@multiplechain/bitcoin 0.1.12 → 0.1.13

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "namespace": "multiplechain",
3
3
  "name": "@multiplechain/bitcoin",
4
- "version": "0.1.12",
4
+ "version": "0.1.13",
5
5
  "description": "Bitcoin JS provider",
6
6
  "scripts": {
7
7
  "serve": "parcel test.html --no-cache --dist-dir test",
@@ -70,6 +70,6 @@ module.exports = leather = (provider) => {
70
70
  supports: ['browser'],
71
71
  connect,
72
72
  download: 'https://leather.io/install-extension',
73
- detected: Boolean(typeof window.LeatherProvider !== 'undefined')
73
+ isDetected: () => Boolean(typeof window.LeatherProvider !== 'undefined')
74
74
  }
75
75
  }
@@ -35,6 +35,6 @@ module.exports = unisat = (provider) => {
35
35
  supports: ['browser'],
36
36
  connect,
37
37
  download: 'https://unisat.io/download',
38
- detected: Boolean(typeof window.unisat !== 'undefined' && window.unisat.requestAccounts)
38
+ isDetected: () => Boolean(typeof window.unisat !== 'undefined' && window.unisat.requestAccounts)
39
39
  }
40
40
  }
@@ -81,6 +81,6 @@ module.exports = xverse = (provider) => {
81
81
  ],
82
82
  connect,
83
83
  download: 'https://www.xverse.app/download',
84
- detected: Boolean(typeof window.XverseProviders !== 'undefined' && XverseProviders.BitcoinProvider)
84
+ isDetected: () => Boolean(typeof window.XverseProviders !== 'undefined' && XverseProviders.BitcoinProvider)
85
85
  }
86
86
  }
package/src/provider.js CHANGED
@@ -41,7 +41,7 @@ class Provider {
41
41
  /**
42
42
  * @var {Object}
43
43
  */
44
- detectedWallets = [];
44
+ supportedWallets = {};
45
45
 
46
46
  /**
47
47
  * @var {Object}
@@ -77,7 +77,7 @@ class Provider {
77
77
  }
78
78
  }
79
79
 
80
- this.detectWallets();
80
+ this.initSupportedWallets();
81
81
  }
82
82
 
83
83
  getWalletOpenLink(address, amount) {
@@ -175,50 +175,38 @@ class Provider {
175
175
  }
176
176
 
177
177
  /**
178
- * @param {Array|null} filter
179
- * @returns {Array}
178
+ * @returns {void}
180
179
  */
181
- getSupportedWallets(filter) {
182
-
180
+ initSupportedWallets() {
183
181
  const Wallet = require('./wallet');
184
182
 
185
- const wallets = {
183
+ this.supportedWallets = {
186
184
  unisat: new Wallet('unisat', this),
187
185
  xverse: new Wallet('xverse', this),
188
186
  leather: new Wallet('leather', this),
189
187
  };
190
188
 
191
- return Object.fromEntries(Object.entries(wallets).filter(([key]) => {
192
- return !filter ? true : filter.includes(key);
193
- }));
194
189
  }
195
190
 
196
191
  /**
197
192
  * @param {Array|null} filter
198
193
  * @returns {Array}
199
194
  */
200
- getDetectedWallets(filter) {
201
- return Object.fromEntries(Object.entries(this.detectedWallets).filter(([key]) => {
195
+ getSupportedWallets(filter) {
196
+ return Object.fromEntries(Object.entries(this.supportedWallets).filter(([key]) => {
202
197
  return !filter ? true : filter.includes(key);
203
198
  }));
204
199
  }
205
200
 
206
- detectWallets() {
207
- if (typeof window != 'undefined') {
208
- const Wallet = require('./wallet');
209
-
210
- if (typeof window.unisat !== 'undefined' && unisat.requestAccounts) {
211
- this.detectedWallets['unisat'] = new Wallet('unisat', this);
212
- }
213
-
214
- if (typeof window.XverseProviders !== 'undefined' && XverseProviders.BitcoinProvider) {
215
- this.detectedWallets['xverse'] = new Wallet('xverse', this);
216
- }
217
-
218
- if (typeof window.LeatherProvider !== 'undefined') {
219
- this.detectedWallets['leather'] = new Wallet('leather', this);
220
- }
221
- }
201
+ /**
202
+ * @param {Array|null} filter
203
+ * @returns {Array}
204
+ */
205
+ getDetectedWallets(filter) {
206
+ let detectedWallets = this.getSupportedWallets(filter);
207
+ return Object.fromEntries(Object.entries(detectedWallets).filter(([key, value]) => {
208
+ return value.isDetected() == undefined ? true : value.isDetected()
209
+ }));
222
210
  }
223
211
 
224
212
  Coin() {
package/src/wallet.js CHANGED
@@ -78,7 +78,7 @@ class Wallet {
78
78
  * @returns {Boolean}
79
79
  */
80
80
  isDetected() {
81
- return this.adapter.detected;
81
+ return this.adapter.isDetected();
82
82
  }
83
83
 
84
84
  /**