@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.
- package/lib/Wallets/LedgerWallet.d.ts +16 -0
- package/lib/Wallets/LedgerWallet.js +115 -0
- package/lib/assets/ledger.svg +14 -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,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.
|
|
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",
|