@openocean.finance/wallet 0.4.66 → 0.4.67

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.
@@ -0,0 +1,16 @@
1
+ import { EnumChains, EnumWalletName, EnumWalletType } from "../types";
2
+ import BaseWallet from "./BaseWallet";
3
+ declare class LedgerWallet extends BaseWallet {
4
+ name: EnumWalletName;
5
+ icon: any;
6
+ supportChains: EnumChains[];
7
+ type: EnumWalletType;
8
+ sdk: any;
9
+ installUrl: string;
10
+ /**
11
+ * connect LedgerWallet and get wallet address
12
+ * @param chainId specific chainId,throw error when not match
13
+ */
14
+ requestConnect(chainId?: number): Promise<any>;
15
+ }
16
+ export default LedgerWallet;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ /**
58
+ * @name LedgerWallet
59
+ * @author openocean
60
+ * @date 2021/4/21
61
+ * @desc
62
+ */
63
+ // @ts-ignore
64
+ var ledger_svg_1 = __importDefault(require("../assets/ledger.svg"));
65
+ var types_1 = require("../types");
66
+ var BaseWallet_1 = __importDefault(require("./BaseWallet"));
67
+ var logs_1 = require("@ledgerhq/logs");
68
+ var hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
69
+ var hw_transport_webusb_1 = __importDefault(require("@ledgerhq/hw-transport-webusb"));
70
+ var LedgerWallet = /** @class */ (function (_super) {
71
+ __extends(LedgerWallet, _super);
72
+ function LedgerWallet() {
73
+ var _this = _super !== null && _super.apply(this, arguments) || this;
74
+ _this.name = types_1.EnumWalletName.LedgerWallet;
75
+ _this.icon = ledger_svg_1.default;
76
+ _this.supportChains = [types_1.EnumChains.ETH, types_1.EnumChains.BSC];
77
+ _this.type = types_1.EnumWalletType.Extension;
78
+ _this.sdk = {};
79
+ _this.installUrl = "https://www.ledger.com/";
80
+ return _this;
81
+ }
82
+ /**
83
+ * connect LedgerWallet and get wallet address
84
+ * @param chainId specific chainId,throw error when not match
85
+ */
86
+ LedgerWallet.prototype.requestConnect = function (chainId) {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var transport, _a, publicKey, address, e_1;
89
+ return __generator(this, function (_b) {
90
+ switch (_b.label) {
91
+ case 0:
92
+ _b.trys.push([0, 3, , 4]);
93
+ return [4 /*yield*/, hw_transport_webusb_1.default.create()];
94
+ case 1:
95
+ transport = _b.sent();
96
+ (0, logs_1.listen)(function (log) { return console.log(log); });
97
+ this.sdk = new hw_app_eth_1.default(transport);
98
+ return [4 /*yield*/, this.sdk.getAddress("44'/60'/0'/0/0")];
99
+ case 2:
100
+ _a = _b.sent(), publicKey = _a.publicKey, address = _a.address;
101
+ this.sdk.publicKey = publicKey;
102
+ this.address = address;
103
+ this.chainId = chainId;
104
+ return [2 /*return*/, address];
105
+ case 3:
106
+ e_1 = _b.sent();
107
+ throw new Error(types_1.EnumErrors.NoLedger);
108
+ case 4: return [2 /*return*/];
109
+ }
110
+ });
111
+ });
112
+ };
113
+ return LedgerWallet;
114
+ }(BaseWallet_1.default));
115
+ exports.default = LedgerWallet;
@@ -0,0 +1,14 @@
1
+ <svg width="768.909973" height="669.349976" viewBox="0 0 768.91 669.35" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>
3
+ Created with Pixso.
4
+ </desc>
5
+ <g clip-path="url(#clip2_6)">
6
+ <circle id="circle" cx="193.000000" cy="155.000000" r="16.000000" fill="#FFFFFF"/>
7
+ <path id="path" d="M185 157.973L185 161.928L191.018 161.928L191.018 161.051L185.877 161.051L185.877 157.973L185 157.973ZM200.123 157.973L200.123 161.051L194.982 161.051L194.982 161.928L201 161.928L201 157.973L200.123 157.973ZM191.027 151.955L191.027 157.973L194.982 157.973L194.982 157.182L191.904 157.182L191.904 151.955L191.027 151.955ZM185 148L185 151.955L185.877 151.955L185.877 148.877L191.018 148.877L191.018 148L185 148ZM194.982 148L194.982 148.877L200.123 148.877L200.123 151.955L201 151.955L201 148L194.982 148Z" fill-rule="nonzero" fill="#000000"/>
8
+ </g>
9
+ <defs>
10
+ <clipPath id="clip2_6">
11
+ <rect id="ledger" width="768.909973" height="669.349976" fill="white"/>
12
+ </clipPath>
13
+ </defs>
14
+ </svg>
package/lib/index.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * @date 2021/4/20
5
5
  * @desc
6
6
  */
7
+ import BaseWallet from "./Wallets/BaseWallet";
7
8
  import MetaMask from "./Wallets/MetaMask";
8
9
  import BscWallet from "./Wallets/BscWallet";
9
10
  import Cyano from "./Wallets/Cyano";
@@ -41,5 +42,6 @@ import UnstoppableDomains from './Wallets/UnstoppableDomains';
41
42
  import MyNearWallet from "./Wallets/MyNearWallet";
42
43
  import MeteorWallet from "./Wallets/MeteorWallet";
43
44
  import SenderWallet from "./Wallets/SenderWallet";
45
+ import LedgerWallet from "./Wallets/LedgerWallet";
44
46
  import { EnumChains } from "./types";
45
- export { MetaMask, BscWallet, Cyano, TronLink, EnumChains, Sollet, SolletIo, OntoMobile, WalletConnect, MathWallet, OntoWallet, SafePalWallet, ImTokenWallet, TokenPocket, TrustWallet, Coin98, Phantom, TerraStation, CoinbaseWallet, CloverWallet, XDEFIWallet, SlopeWallet, SolflareWallet, OKXWallet, KeplrWallet, BraveWallet, CryptoCom, NearWallet, BitKeepWallet, GnosisSafeWallet, BloctoWallet, PetraWallet, MartianWallet, PontemWallet, UnstoppableDomains, MyNearWallet, MeteorWallet, SenderWallet };
47
+ export { BaseWallet, MetaMask, BscWallet, Cyano, TronLink, EnumChains, Sollet, SolletIo, OntoMobile, WalletConnect, MathWallet, OntoWallet, SafePalWallet, ImTokenWallet, TokenPocket, TrustWallet, Coin98, Phantom, TerraStation, CoinbaseWallet, CloverWallet, XDEFIWallet, SlopeWallet, SolflareWallet, OKXWallet, KeplrWallet, BraveWallet, CryptoCom, NearWallet, BitKeepWallet, GnosisSafeWallet, BloctoWallet, PetraWallet, MartianWallet, PontemWallet, UnstoppableDomains, MyNearWallet, MeteorWallet, SenderWallet, LedgerWallet };
package/lib/index.js CHANGED
@@ -3,13 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SenderWallet = exports.MeteorWallet = exports.MyNearWallet = exports.UnstoppableDomains = exports.PontemWallet = exports.MartianWallet = exports.PetraWallet = exports.BloctoWallet = exports.GnosisSafeWallet = exports.BitKeepWallet = exports.NearWallet = exports.CryptoCom = exports.BraveWallet = exports.KeplrWallet = exports.OKXWallet = exports.SolflareWallet = exports.SlopeWallet = exports.XDEFIWallet = exports.CloverWallet = exports.CoinbaseWallet = exports.TerraStation = exports.Phantom = exports.Coin98 = exports.TrustWallet = exports.TokenPocket = exports.ImTokenWallet = exports.SafePalWallet = exports.OntoWallet = exports.MathWallet = exports.WalletConnect = exports.OntoMobile = exports.SolletIo = exports.Sollet = exports.EnumChains = exports.TronLink = exports.Cyano = exports.BscWallet = exports.MetaMask = void 0;
6
+ exports.LedgerWallet = exports.SenderWallet = exports.MeteorWallet = exports.MyNearWallet = exports.UnstoppableDomains = exports.PontemWallet = exports.MartianWallet = exports.PetraWallet = exports.BloctoWallet = exports.GnosisSafeWallet = exports.BitKeepWallet = exports.NearWallet = exports.CryptoCom = exports.BraveWallet = exports.KeplrWallet = exports.OKXWallet = exports.SolflareWallet = exports.SlopeWallet = exports.XDEFIWallet = exports.CloverWallet = exports.CoinbaseWallet = exports.TerraStation = exports.Phantom = exports.Coin98 = exports.TrustWallet = exports.TokenPocket = exports.ImTokenWallet = exports.SafePalWallet = exports.OntoWallet = exports.MathWallet = exports.WalletConnect = exports.OntoMobile = exports.SolletIo = exports.Sollet = exports.EnumChains = exports.TronLink = exports.Cyano = exports.BscWallet = exports.MetaMask = exports.BaseWallet = void 0;
7
7
  /**
8
8
  * wallets-manager entry
9
9
  * @author openocean
10
10
  * @date 2021/4/20
11
11
  * @desc
12
12
  */
13
+ var BaseWallet_1 = __importDefault(require("./Wallets/BaseWallet"));
14
+ exports.BaseWallet = BaseWallet_1.default;
13
15
  var MetaMask_1 = __importDefault(require("./Wallets/MetaMask"));
14
16
  exports.MetaMask = MetaMask_1.default;
15
17
  var BscWallet_1 = __importDefault(require("./Wallets/BscWallet"));
@@ -84,5 +86,7 @@ var MeteorWallet_1 = __importDefault(require("./Wallets/MeteorWallet"));
84
86
  exports.MeteorWallet = MeteorWallet_1.default;
85
87
  var SenderWallet_1 = __importDefault(require("./Wallets/SenderWallet"));
86
88
  exports.SenderWallet = SenderWallet_1.default;
89
+ var LedgerWallet_1 = __importDefault(require("./Wallets/LedgerWallet"));
90
+ exports.LedgerWallet = LedgerWallet_1.default;
87
91
  var types_1 = require("./types");
88
92
  Object.defineProperty(exports, "EnumChains", { enumerable: true, get: function () { return types_1.EnumChains; } });
package/lib/types.d.ts CHANGED
@@ -86,7 +86,8 @@ export declare enum EnumWalletName {
86
86
  UnstoppableDomains = "Unstoppable Domains",
87
87
  MyNearWallet = "MyNear Wallet",
88
88
  MeteorWallet = "Meteor Wallet",
89
- SenderWallet = "Sender Wallet"
89
+ SenderWallet = "Sender Wallet",
90
+ LedgerWallet = "Ledger Wallet"
90
91
  }
91
92
  export declare enum EnumErrors {
92
93
  NotMetamask = "40001",
@@ -125,7 +126,8 @@ export declare enum EnumErrors {
125
126
  NoPontemWallet = "40036",
126
127
  NoCyano = "40037",
127
128
  NoMeteorWallet = "40038",
128
- NoSender = "40039"
129
+ NoSender = "40039",
130
+ NoLedger = "40040"
129
131
  }
130
132
  export interface ConnectResult {
131
133
  chain: EnumChains;
package/lib/types.js CHANGED
@@ -89,6 +89,7 @@ var EnumWalletName;
89
89
  EnumWalletName["MyNearWallet"] = "MyNear Wallet";
90
90
  EnumWalletName["MeteorWallet"] = "Meteor Wallet";
91
91
  EnumWalletName["SenderWallet"] = "Sender Wallet";
92
+ EnumWalletName["LedgerWallet"] = "Ledger Wallet";
92
93
  })(EnumWalletName = exports.EnumWalletName || (exports.EnumWalletName = {}));
93
94
  var EnumErrors;
94
95
  (function (EnumErrors) {
@@ -129,4 +130,5 @@ var EnumErrors;
129
130
  EnumErrors["NoCyano"] = "40037";
130
131
  EnumErrors["NoMeteorWallet"] = "40038";
131
132
  EnumErrors["NoSender"] = "40039";
133
+ EnumErrors["NoLedger"] = "40040";
132
134
  })(EnumErrors = exports.EnumErrors || (exports.EnumErrors = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openocean.finance/wallet",
3
- "version": "0.4.66",
3
+ "version": "0.4.67",
4
4
  "description": "A multi-chain wallets manager",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -44,6 +44,10 @@
44
44
  "@cosmjs/stargate": "^0.28.4",
45
45
  "@gnosis.pm/safe-apps-provider": "^0.11.3",
46
46
  "@gnosis.pm/safe-apps-sdk": "^7.5.0",
47
+ "@ledgerhq/devices": "6.27.1",
48
+ "@ledgerhq/hw-app-eth": "6.10.0",
49
+ "@ledgerhq/hw-transport-webusb": "6.27.1",
50
+ "@ledgerhq/logs": "^6.10.0",
47
51
  "@near-wallet-selector/core": "^7.8.2",
48
52
  "@near-wallet-selector/meteor-wallet": "^7.8.2",
49
53
  "@near-wallet-selector/my-near-wallet": "^7.8.2",