@openocean.finance/wallet 0.4.66 → 0.4.68
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/lib/Wallets/LedgerWallet.d.ts +16 -0
- package/lib/Wallets/LedgerWallet.js +115 -0
- package/lib/assets/ledger.svg +8 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +5 -1
- package/lib/types.d.ts +4 -2
- package/lib/types.js +2 -0
- package/package.json +5 -1
|
@@ -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,8 @@
|
|
|
1
|
+
<svg width="32.000000" height="32.000000" viewBox="0 0 32 32" 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
|
+
<circle id="circle" cx="16.000000" cy="16.000000" r="16.000000" fill="#FFFFFF"/>
|
|
6
|
+
<path id="path" d="M8 18.9734L8 22.9283L14.0183 22.9283L14.0183 22.0512L8.87688 22.0512L8.87688 18.9734L8 18.9734ZM23.1231 18.9734L23.1231 22.0512L17.9817 22.0512L17.9817 22.9281L24 22.9281L24 18.9734L23.1231 18.9734ZM14.027 12.9549L14.027 18.9732L17.9817 18.9732L17.9817 18.1822L14.9039 18.1822L14.9039 12.9549L14.027 12.9549ZM8 9L8 12.9549L8.87688 12.9549L8.87688 9.87688L14.0183 9.87688L14.0183 9L8 9ZM17.9817 9L17.9817 9.87688L23.1231 9.87688L23.1231 12.9549L24 12.9549L24 9L17.9817 9Z" fill-rule="nonzero" fill="#000000"/>
|
|
7
|
+
<defs/>
|
|
8
|
+
</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.
|
|
3
|
+
"version": "0.4.68",
|
|
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",
|