@openocean.finance/wallet 0.4.65 → 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;
@@ -91,7 +91,10 @@ var MetaMask = /** @class */ (function (_super) {
91
91
  types_1.EnumChains.Cronos,
92
92
  types_1.EnumChains.Harmony,
93
93
  types_1.EnumChains.ONTEVM,
94
- types_1.EnumChains.Metis
94
+ types_1.EnumChains.Metis,
95
+ types_1.EnumChains.Kava,
96
+ types_1.EnumChains.Celo,
97
+ types_1.EnumChains.Klaytn
95
98
  ];
96
99
  _this.type = types_1.EnumWalletType.Extension;
97
100
  _this.sdk = null;
@@ -86,7 +86,10 @@ var SafePalWallet = /** @class */ (function (_super) {
86
86
  types_1.EnumChains.Moonriver,
87
87
  types_1.EnumChains.Cronos,
88
88
  types_1.EnumChains.Harmony,
89
- types_1.EnumChains.Metis
89
+ types_1.EnumChains.Metis,
90
+ types_1.EnumChains.Kava,
91
+ types_1.EnumChains.Celo,
92
+ types_1.EnumChains.Klaytn
90
93
  ];
91
94
  _this.type = types_1.EnumWalletType.Extension;
92
95
  _this.sdk = null;
@@ -86,7 +86,10 @@ var TrustWallet = /** @class */ (function (_super) {
86
86
  types_1.EnumChains.Moonriver,
87
87
  types_1.EnumChains.Cronos,
88
88
  types_1.EnumChains.Harmony,
89
- types_1.EnumChains.Metis
89
+ types_1.EnumChains.Metis,
90
+ types_1.EnumChains.Kava,
91
+ types_1.EnumChains.Celo,
92
+ types_1.EnumChains.Klaytn
90
93
  ];
91
94
  _this.type = types_1.EnumWalletType.Extension;
92
95
  _this.sdk = null;
@@ -99,7 +99,10 @@ var WalletConnect = /** @class */ (function (_super) {
99
99
  types_1.EnumChains.Aurora,
100
100
  types_1.EnumChains.Cronos,
101
101
  types_1.EnumChains.Harmony,
102
- types_1.EnumChains.Metis
102
+ types_1.EnumChains.Metis,
103
+ types_1.EnumChains.Kava,
104
+ types_1.EnumChains.Celo,
105
+ types_1.EnumChains.Klaytn
103
106
  ];
104
107
  _this.type = types_1.EnumWalletType.WalletConnect;
105
108
  _this.sdk = null;
@@ -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
@@ -37,7 +37,10 @@ export declare enum EnumChains {
37
37
  Osmosis = "osmosis",
38
38
  Flow = "flow",
39
39
  Aptos = "aptos",
40
- Metis = "metis"
40
+ Metis = "metis",
41
+ Kava = "kava",
42
+ Celo = "celo",
43
+ Klaytn = "klaytn"
41
44
  }
42
45
  export declare enum EnumWalletType {
43
46
  Extension = "Extension",
@@ -83,7 +86,8 @@ export declare enum EnumWalletName {
83
86
  UnstoppableDomains = "Unstoppable Domains",
84
87
  MyNearWallet = "MyNear Wallet",
85
88
  MeteorWallet = "Meteor Wallet",
86
- SenderWallet = "Sender Wallet"
89
+ SenderWallet = "Sender Wallet",
90
+ LedgerWallet = "Ledger Wallet"
87
91
  }
88
92
  export declare enum EnumErrors {
89
93
  NotMetamask = "40001",
@@ -122,7 +126,8 @@ export declare enum EnumErrors {
122
126
  NoPontemWallet = "40036",
123
127
  NoCyano = "40037",
124
128
  NoMeteorWallet = "40038",
125
- NoSender = "40039"
129
+ NoSender = "40039",
130
+ NoLedger = "40040"
126
131
  }
127
132
  export interface ConnectResult {
128
133
  chain: EnumChains;
package/lib/types.js CHANGED
@@ -38,6 +38,9 @@ var EnumChains;
38
38
  EnumChains["Flow"] = "flow";
39
39
  EnumChains["Aptos"] = "aptos";
40
40
  EnumChains["Metis"] = "metis";
41
+ EnumChains["Kava"] = "kava";
42
+ EnumChains["Celo"] = "celo";
43
+ EnumChains["Klaytn"] = "klaytn";
41
44
  })(EnumChains = exports.EnumChains || (exports.EnumChains = {}));
42
45
  var EnumWalletType;
43
46
  (function (EnumWalletType) {
@@ -86,6 +89,7 @@ var EnumWalletName;
86
89
  EnumWalletName["MyNearWallet"] = "MyNear Wallet";
87
90
  EnumWalletName["MeteorWallet"] = "Meteor Wallet";
88
91
  EnumWalletName["SenderWallet"] = "Sender Wallet";
92
+ EnumWalletName["LedgerWallet"] = "Ledger Wallet";
89
93
  })(EnumWalletName = exports.EnumWalletName || (exports.EnumWalletName = {}));
90
94
  var EnumErrors;
91
95
  (function (EnumErrors) {
@@ -126,4 +130,5 @@ var EnumErrors;
126
130
  EnumErrors["NoCyano"] = "40037";
127
131
  EnumErrors["NoMeteorWallet"] = "40038";
128
132
  EnumErrors["NoSender"] = "40039";
133
+ EnumErrors["NoLedger"] = "40040";
129
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.65",
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",