@openocean.finance/wallet 1.1.6 → 1.1.8

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.
@@ -11,6 +11,6 @@ declare class LedgerWallet extends BaseWallet {
11
11
  * connect LedgerWallet and get wallet address
12
12
  * @param chainId specific chainId,throw error when not match
13
13
  */
14
- requestConnect(chainId?: number): Promise<string>;
14
+ requestConnect(chainId?: number): Promise<any>;
15
15
  }
16
16
  export default LedgerWallet;
@@ -64,6 +64,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
64
64
  var ledger_svg_1 = __importDefault(require("../assets/ledger.svg"));
65
65
  var types_1 = require("../types");
66
66
  var BaseWallet_1 = __importDefault(require("./BaseWallet"));
67
+ var hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
68
+ var hw_transport_webusb_1 = __importDefault(require("@ledgerhq/hw-transport-webusb"));
69
+ var web3_provider_engine_1 = __importDefault(require("web3-provider-engine"));
70
+ var web3_subprovider_1 = __importDefault(require("@ledgerhq/web3-subprovider"));
71
+ var fetch_1 = __importDefault(require("web3-provider-engine/subproviders/fetch"));
72
+ var vm_1 = __importDefault(require("web3-provider-engine/subproviders/vm"));
73
+ var web3_1 = __importDefault(require("web3"));
67
74
  var LedgerWallet = /** @class */ (function (_super) {
68
75
  __extends(LedgerWallet, _super);
69
76
  function LedgerWallet() {
@@ -82,19 +89,39 @@ var LedgerWallet = /** @class */ (function (_super) {
82
89
  */
83
90
  LedgerWallet.prototype.requestConnect = function (chainId) {
84
91
  return __awaiter(this, void 0, void 0, function () {
85
- var address;
92
+ var transport_1, appEth, engine, accounts, address, e_1;
86
93
  return __generator(this, function (_a) {
87
- try {
88
- address = '';
89
- this.address = address;
90
- this.chainId = chainId;
91
- return [2 /*return*/, address];
94
+ switch (_a.label) {
95
+ case 0:
96
+ _a.trys.push([0, 3, , 4]);
97
+ return [4 /*yield*/, hw_transport_webusb_1.default.create()];
98
+ case 1:
99
+ transport_1 = _a.sent();
100
+ appEth = new hw_app_eth_1.default(transport_1);
101
+ console.log('requestConnect1', appEth);
102
+ engine = new web3_provider_engine_1.default();
103
+ engine.addProvider((0, web3_subprovider_1.default)(function () { return transport_1; }, { networkId: 1 }));
104
+ engine.addProvider(new fetch_1.default({ rpcUrl: "https://eth.llamarpc.com" }));
105
+ engine.addProvider(new vm_1.default());
106
+ engine.start();
107
+ console.log('requestConnect2', engine);
108
+ // 将ProviderEngine实例注入到web3对象中
109
+ this.sdk = new web3_1.default(engine);
110
+ console.log('requestConnect3', this.sdk);
111
+ return [4 /*yield*/, this.sdk.eth.getAccounts()];
112
+ case 2:
113
+ accounts = _a.sent();
114
+ console.log('requestConnect4', accounts);
115
+ address = accounts[0];
116
+ this.address = address;
117
+ this.chainId = chainId;
118
+ return [2 /*return*/, address];
119
+ case 3:
120
+ e_1 = _a.sent();
121
+ console.log('requestConnect5', JSON.stringify(e_1));
122
+ throw new Error(types_1.EnumErrors.NoLedger);
123
+ case 4: return [2 /*return*/];
92
124
  }
93
- catch (e) {
94
- console.log('requestConnect5', JSON.stringify(e));
95
- throw new Error(types_1.EnumErrors.NoLedger);
96
- }
97
- return [2 /*return*/];
98
125
  });
99
126
  });
100
127
  };
@@ -40,12 +40,12 @@ var UnstoppableDomains_1 = __importDefault(require("./UnstoppableDomains"));
40
40
  var MyNearWallet_1 = __importDefault(require("./MyNearWallet"));
41
41
  var MeteorWallet_1 = __importDefault(require("./MeteorWallet"));
42
42
  var SenderWallet_1 = __importDefault(require("./SenderWallet"));
43
- // import LedgerWallet from "./LedgerWallet";
43
+ var LedgerWallet_1 = __importDefault(require("./LedgerWallet"));
44
44
  var WalletObj = {
45
45
  MetaMask: new MetaMask_1.default(),
46
46
  CryptoCom: new CryptoCom_1.default(),
47
47
  TrustWallet: new TrustWallet_1.default(),
48
- // LedgerWallet: new LedgerWallet(),
48
+ LedgerWallet: new LedgerWallet_1.default(),
49
49
  OKXWallet: new OKXWallet_1.default(),
50
50
  BscWallet: new BscWallet_1.default(),
51
51
  UnstoppableDomains: new UnstoppableDomains_1.default(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openocean.finance/wallet",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "A multi-chain wallets manager",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -45,6 +45,11 @@
45
45
  "@cosmjs/stargate": "^0.28.4",
46
46
  "@gnosis.pm/safe-apps-provider": "^0.11.3",
47
47
  "@gnosis.pm/safe-apps-sdk": "^7.5.0",
48
+ "@ledgerhq/devices": "^6.27.1",
49
+ "@ledgerhq/hw-app-eth": "6.10.0",
50
+ "@ledgerhq/hw-transport-webusb": "6.27.1",
51
+ "@ledgerhq/logs": "^6.10.0",
52
+ "@ledgerhq/web3-subprovider": "^5.36.0-deprecated",
48
53
  "@near-wallet-selector/core": "^7.8.2",
49
54
  "@near-wallet-selector/meteor-wallet": "^7.8.2",
50
55
  "@near-wallet-selector/my-near-wallet": "^7.8.2",