@tomo-inc/inject-providers 0.0.14 → 0.0.15
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/index.cjs +32 -23
- package/dist/index.d.cts +718 -671
- package/dist/index.d.ts +718 -671
- package/dist/index.js +32 -23
- package/package.json +2 -2
- package/src/btc/index.ts +2 -2
- package/src/btc/types.ts +8 -3
- package/src/btc/unisat.ts +14 -8
- package/src/dogecoin/dogecoin.ts +4 -4
- package/src/dogecoin/interface.ts +2 -1
- package/src/evm/interface.ts +3 -3
- package/src/evm/metamask.ts +7 -7
- package/src/index.ts +4 -4
- package/src/solana/phantom.ts +3 -4
- package/src/tron/tronLink.ts +12 -9
- package/src/tron/types.ts +5 -2
- package/src/types/index.ts +2 -13
package/dist/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var ethRpcErrors = require('eth-rpc-errors');
|
|
4
4
|
var events = require('events');
|
|
5
|
+
var walletUtils = require('@tomo-inc/wallet-utils');
|
|
5
6
|
var jsonRpcEngine = require('json-rpc-engine');
|
|
6
7
|
var jsonRpcMiddlewareStream = require('json-rpc-middleware-stream');
|
|
7
8
|
var viem = require('viem');
|
|
@@ -169,10 +170,10 @@ function isHexString(str) {
|
|
|
169
170
|
}
|
|
170
171
|
|
|
171
172
|
// src/btc/unisat.ts
|
|
172
|
-
var
|
|
173
|
-
var BtcProvider = class extends events.EventEmitter {
|
|
173
|
+
var BitcoinProvider = class extends events.EventEmitter {
|
|
174
174
|
constructor(productInfo, { sendRequest, onResponse }) {
|
|
175
175
|
super();
|
|
176
|
+
this.type = walletUtils.ChainTypeEnum.BITCOIN;
|
|
176
177
|
this._selectedAddress = null;
|
|
177
178
|
this._isConnected = false;
|
|
178
179
|
this._initialized = false;
|
|
@@ -215,13 +216,13 @@ var BtcProvider = class extends events.EventEmitter {
|
|
|
215
216
|
};
|
|
216
217
|
this.subscribeWalletEventsCallback = ({ method, data }) => {
|
|
217
218
|
if (method === "accountsChanged") {
|
|
218
|
-
const addresses = (data == null ? void 0 : data[
|
|
219
|
+
const addresses = (data == null ? void 0 : data[this.type]) || [];
|
|
219
220
|
const accounts = addresses.map(({ address }) => address);
|
|
220
221
|
this._handleAccountsChanged(accounts);
|
|
221
222
|
}
|
|
222
223
|
if (method === "chainChanged") {
|
|
223
224
|
const { chainId, type } = data;
|
|
224
|
-
if (type.indexOf(`${
|
|
225
|
+
if (type.indexOf(`${this.type}:`) === 0) {
|
|
225
226
|
this._handleChainChanged({ chainId, isConnected: true });
|
|
226
227
|
}
|
|
227
228
|
}
|
|
@@ -245,7 +246,7 @@ var BtcProvider = class extends events.EventEmitter {
|
|
|
245
246
|
throw ethRpcErrors.ethErrors.rpc.invalidRequest();
|
|
246
247
|
}
|
|
247
248
|
const dappInfo = await getDappInfo();
|
|
248
|
-
this.sendRequest(
|
|
249
|
+
this.sendRequest(this.type, { method, params, dappInfo });
|
|
249
250
|
const connectFuns = {
|
|
250
251
|
getAccounts: true,
|
|
251
252
|
requestAccounts: true
|
|
@@ -314,7 +315,7 @@ var BtcProvider = class extends events.EventEmitter {
|
|
|
314
315
|
params: { txId }
|
|
315
316
|
});
|
|
316
317
|
};
|
|
317
|
-
this.signMessage = async (text, type) => {
|
|
318
|
+
this.signMessage = async (text, type = "ecdsa") => {
|
|
318
319
|
return this._request({
|
|
319
320
|
method: "signMessage",
|
|
320
321
|
params: {
|
|
@@ -403,6 +404,12 @@ var BtcProvider = class extends events.EventEmitter {
|
|
|
403
404
|
}
|
|
404
405
|
});
|
|
405
406
|
};
|
|
407
|
+
this.sendTransaction = async (params) => {
|
|
408
|
+
return this._request({
|
|
409
|
+
method: "sendTransaction",
|
|
410
|
+
params
|
|
411
|
+
});
|
|
412
|
+
};
|
|
406
413
|
this.name = productInfo.name;
|
|
407
414
|
this.rdns = productInfo.rdns;
|
|
408
415
|
this._handleAccountsChanged = this._handleAccountsChanged.bind(this);
|
|
@@ -436,10 +443,10 @@ var BtcProvider = class extends events.EventEmitter {
|
|
|
436
443
|
}
|
|
437
444
|
}
|
|
438
445
|
};
|
|
439
|
-
var chainType2 = "doge" /* DOGE */;
|
|
440
446
|
var DogecoinProvider = class extends events.EventEmitter {
|
|
441
447
|
constructor(productInfo, { sendRequest, onResponse }) {
|
|
442
448
|
super();
|
|
449
|
+
this.type = walletUtils.ChainTypeEnum.DOGECOIN;
|
|
443
450
|
this._selectedAddress = null;
|
|
444
451
|
this._network = null;
|
|
445
452
|
this._isConnected = false;
|
|
@@ -493,7 +500,7 @@ var DogecoinProvider = class extends events.EventEmitter {
|
|
|
493
500
|
throw ethRpcErrors.ethErrors.rpc.invalidRequest();
|
|
494
501
|
}
|
|
495
502
|
const dappInfo = await getDappInfo();
|
|
496
|
-
this.sendRequest(
|
|
503
|
+
this.sendRequest(this.type, { method, params, dappInfo });
|
|
497
504
|
return this.onResponse({ method }).then((res) => {
|
|
498
505
|
const { data } = res || {};
|
|
499
506
|
return adapter ? adapter(data) : data;
|
|
@@ -815,7 +822,6 @@ var EMITTED_NOTIFICATIONS = [
|
|
|
815
822
|
];
|
|
816
823
|
|
|
817
824
|
// src/evm/metamask.ts
|
|
818
|
-
var chainType3 = "evm" /* EVM */;
|
|
819
825
|
var EvmProvider = class extends events.EventEmitter {
|
|
820
826
|
/**
|
|
821
827
|
* @param connectionStream - A Node.js duplex stream
|
|
@@ -839,15 +845,16 @@ var EvmProvider = class extends events.EventEmitter {
|
|
|
839
845
|
}
|
|
840
846
|
validateLoggerObject(logger);
|
|
841
847
|
super();
|
|
848
|
+
this.type = walletUtils.ChainTypeEnum.EVM;
|
|
842
849
|
this.subscribeWalletEventsCallback = ({ method, data }) => {
|
|
843
850
|
if (method === "accountsChanged") {
|
|
844
|
-
const addresses = (data == null ? void 0 : data[
|
|
851
|
+
const addresses = (data == null ? void 0 : data[this.type]) || [];
|
|
845
852
|
const accounts = addresses.map(({ address }) => address);
|
|
846
853
|
this._handleAccountsChanged(accounts, true);
|
|
847
854
|
}
|
|
848
855
|
if (method === "chainChanged") {
|
|
849
856
|
const { chainId, type } = data;
|
|
850
|
-
if (type.indexOf(`${
|
|
857
|
+
if (type.indexOf(`${this.type}:`) === 0) {
|
|
851
858
|
const chainIdHex = viem.toHex(parseInt(chainId));
|
|
852
859
|
this._handleChainChanged({ chainId: chainIdHex, isConnected: true });
|
|
853
860
|
}
|
|
@@ -1017,7 +1024,7 @@ var EvmProvider = class extends events.EventEmitter {
|
|
|
1017
1024
|
};
|
|
1018
1025
|
const dappInfo = await getDappInfo();
|
|
1019
1026
|
args = __spreadValues(__spreadValues({}, args), { dappInfo });
|
|
1020
|
-
this.sendRequest(
|
|
1027
|
+
this.sendRequest(this.type, args);
|
|
1021
1028
|
return this.onResponse(args).then((res) => {
|
|
1022
1029
|
const { data, method: method2 } = res || {};
|
|
1023
1030
|
if (method2 === "_wallet_getProviderState") {
|
|
@@ -1436,10 +1443,10 @@ var hexToTx = (hexString) => {
|
|
|
1436
1443
|
};
|
|
1437
1444
|
|
|
1438
1445
|
// src/solana/phantom.ts
|
|
1439
|
-
var chainType4 = "sol" /* SOL */;
|
|
1440
1446
|
var PhantomProvider = class extends events.EventEmitter {
|
|
1441
1447
|
constructor(productInfo, { sendRequest, onResponse }) {
|
|
1442
1448
|
super();
|
|
1449
|
+
this.chainType = walletUtils.ChainTypeEnum.SOLANA;
|
|
1443
1450
|
this._isUnlocked = false;
|
|
1444
1451
|
this.name = "";
|
|
1445
1452
|
this.icon = "";
|
|
@@ -1484,7 +1491,7 @@ var PhantomProvider = class extends events.EventEmitter {
|
|
|
1484
1491
|
};
|
|
1485
1492
|
this.subscribeWalletEventsCallback = ({ method, data }) => {
|
|
1486
1493
|
if (method === "accountsChanged") {
|
|
1487
|
-
const accounts = data == null ? void 0 : data[
|
|
1494
|
+
const accounts = data == null ? void 0 : data[this.chainType];
|
|
1488
1495
|
this._handleAccountsChanged(accounts);
|
|
1489
1496
|
}
|
|
1490
1497
|
};
|
|
@@ -1506,7 +1513,7 @@ var PhantomProvider = class extends events.EventEmitter {
|
|
|
1506
1513
|
throw ethRpcErrors.ethErrors.rpc.invalidRequest();
|
|
1507
1514
|
}
|
|
1508
1515
|
const dappInfo = await getDappInfo();
|
|
1509
|
-
this.sendRequest(
|
|
1516
|
+
this.sendRequest(this.chainType, __spreadProps(__spreadValues({}, data), { dappInfo }));
|
|
1510
1517
|
return this.onResponse(data).then((res) => {
|
|
1511
1518
|
let { data: data2 } = res || {};
|
|
1512
1519
|
if (data2 && data2.publicKey) {
|
|
@@ -1771,15 +1778,17 @@ Resources:`;
|
|
|
1771
1778
|
}
|
|
1772
1779
|
}
|
|
1773
1780
|
};
|
|
1774
|
-
var
|
|
1781
|
+
var _fullHost = "https://api.trongrid.io";
|
|
1775
1782
|
var TomoTronProvider = class extends events.EventEmitter {
|
|
1776
1783
|
constructor(productInfo, { sendRequest, onResponse }) {
|
|
1777
1784
|
super();
|
|
1785
|
+
this.type = walletUtils.ChainTypeEnum.TRON;
|
|
1778
1786
|
this._isUnlocked = false;
|
|
1779
1787
|
this.name = "";
|
|
1780
1788
|
this.icon = "";
|
|
1781
1789
|
this.ready = false;
|
|
1782
|
-
this.tronWeb =
|
|
1790
|
+
this.tronWeb = new tronweb.TronWeb({ fullHost: _fullHost });
|
|
1791
|
+
this.address = "";
|
|
1783
1792
|
this.events = {
|
|
1784
1793
|
connect: true,
|
|
1785
1794
|
disconnect: true,
|
|
@@ -1795,9 +1804,9 @@ var TomoTronProvider = class extends events.EventEmitter {
|
|
|
1795
1804
|
// private _pushEventHandlers: PushEventHandlers;
|
|
1796
1805
|
this._requestPromise = new ReadyPromise(0);
|
|
1797
1806
|
this._initTronWeb = async (res) => {
|
|
1798
|
-
const { fullHost
|
|
1807
|
+
const { fullHost, address } = res || {};
|
|
1799
1808
|
this.tronWeb = new tronweb.TronWeb({
|
|
1800
|
-
fullHost
|
|
1809
|
+
fullHost: fullHost || _fullHost
|
|
1801
1810
|
});
|
|
1802
1811
|
this.tronWeb.defaultAddress.base58 = address;
|
|
1803
1812
|
this.tronWeb.defaultAddress.hex = tronweb.TronWeb.address.toHex(address);
|
|
@@ -1866,7 +1875,7 @@ var TomoTronProvider = class extends events.EventEmitter {
|
|
|
1866
1875
|
};
|
|
1867
1876
|
this.subscribeWalletEventsCallback = ({ method, data }) => {
|
|
1868
1877
|
if (method === "accountsChanged") {
|
|
1869
|
-
const accounts = data == null ? void 0 : data[
|
|
1878
|
+
const accounts = data == null ? void 0 : data[this.type];
|
|
1870
1879
|
this._handleAccountsChanged(accounts);
|
|
1871
1880
|
}
|
|
1872
1881
|
};
|
|
@@ -1875,7 +1884,7 @@ var TomoTronProvider = class extends events.EventEmitter {
|
|
|
1875
1884
|
throw ethRpcErrors.ethErrors.rpc.invalidRequest();
|
|
1876
1885
|
}
|
|
1877
1886
|
const dappInfo = await getDappInfo();
|
|
1878
|
-
this.sendRequest(
|
|
1887
|
+
this.sendRequest(this.type, __spreadProps(__spreadValues({}, data), { dappInfo }));
|
|
1879
1888
|
return this.onResponse(data).then((res) => {
|
|
1880
1889
|
const { data: data2, method } = res || {};
|
|
1881
1890
|
if (method === "tron_requestAccounts") {
|
|
@@ -2004,7 +2013,7 @@ var TomoTronProvider = class extends events.EventEmitter {
|
|
|
2004
2013
|
});
|
|
2005
2014
|
this.on("disconnect", (result) => {
|
|
2006
2015
|
this._state.isConnected = false;
|
|
2007
|
-
this.tronWeb =
|
|
2016
|
+
this.tronWeb = new tronweb.TronWeb({ fullHost: _fullHost });
|
|
2008
2017
|
window.postMessage(
|
|
2009
2018
|
{
|
|
2010
2019
|
message: {
|
|
@@ -2051,7 +2060,7 @@ var TomoTronProvider = class extends events.EventEmitter {
|
|
|
2051
2060
|
}
|
|
2052
2061
|
};
|
|
2053
2062
|
|
|
2054
|
-
exports.
|
|
2063
|
+
exports.BitcoinProvider = BitcoinProvider;
|
|
2055
2064
|
exports.DogecoinProvider = DogecoinProvider;
|
|
2056
2065
|
exports.EvmProvider = EvmProvider;
|
|
2057
2066
|
exports.SolanaProvider = PhantomProvider;
|