@keplr-wallet/stores-core 0.12.32-rc.0
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/.eslintignore +2 -0
- package/.prettierignore +2 -0
- package/LICENSE +209 -0
- package/build/core/index.d.ts +4 -0
- package/build/core/index.js +21 -0
- package/build/core/index.js.map +1 -0
- package/build/core/interaction/chain-suggest.d.ts +35 -0
- package/build/core/interaction/chain-suggest.js +106 -0
- package/build/core/interaction/chain-suggest.js.map +1 -0
- package/build/core/interaction/eth-sign.d.ts +25 -0
- package/build/core/interaction/eth-sign.js +60 -0
- package/build/core/interaction/eth-sign.js.map +1 -0
- package/build/core/interaction/icns.d.ts +32 -0
- package/build/core/interaction/icns.js +58 -0
- package/build/core/interaction/icns.js.map +1 -0
- package/build/core/interaction/index.d.ts +6 -0
- package/build/core/interaction/index.js +23 -0
- package/build/core/interaction/index.js.map +1 -0
- package/build/core/interaction/interaction.d.ts +64 -0
- package/build/core/interaction/interaction.js +232 -0
- package/build/core/interaction/interaction.js.map +1 -0
- package/build/core/interaction/permission.d.ts +22 -0
- package/build/core/interaction/permission.js +108 -0
- package/build/core/interaction/permission.js.map +1 -0
- package/build/core/interaction/sign.d.ts +49 -0
- package/build/core/interaction/sign.js +78 -0
- package/build/core/interaction/sign.js.map +1 -0
- package/build/core/keyring.d.ts +132 -0
- package/build/core/keyring.js +278 -0
- package/build/core/keyring.js.map +1 -0
- package/build/core/permission-manager.d.ts +15 -0
- package/build/core/permission-manager.js +122 -0
- package/build/core/permission-manager.js.map +1 -0
- package/build/core/tokens.d.ts +39 -0
- package/build/core/tokens.js +225 -0
- package/build/core/tokens.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +18 -0
- package/build/index.js.map +1 -0
- package/jest.config.js +5 -0
- package/package.json +31 -0
- package/src/core/index.ts +4 -0
- package/src/core/interaction/chain-suggest.ts +136 -0
- package/src/core/interaction/eth-sign.ts +71 -0
- package/src/core/interaction/icns.ts +68 -0
- package/src/core/interaction/index.ts +6 -0
- package/src/core/interaction/interaction.ts +290 -0
- package/src/core/interaction/permission.ts +121 -0
- package/src/core/interaction/sign.ts +124 -0
- package/src/core/keyring.ts +354 -0
- package/src/core/permission-manager.ts +114 -0
- package/src/core/tokens.ts +275 -0
- package/src/index.ts +1 -0
- package/tsconfig.json +12 -0
@@ -0,0 +1,132 @@
|
|
1
|
+
import { MessageRequester } from "@keplr-wallet/router";
|
2
|
+
import { BIP44HDPath, KeyInfo, KeyRingStatus, PlainObject } from "@keplr-wallet/background";
|
3
|
+
import type { MultiAccounts } from "@keplr-wallet/background";
|
4
|
+
import { ChainInfo } from "@keplr-wallet/types";
|
5
|
+
export declare class KeyRingStore {
|
6
|
+
protected readonly eventDispatcher: {
|
7
|
+
dispatchEvent: (type: string) => void;
|
8
|
+
};
|
9
|
+
protected readonly requester: MessageRequester;
|
10
|
+
protected _isInitialized: boolean;
|
11
|
+
protected _status: KeyRingStatus | "not-loaded";
|
12
|
+
protected _needMigration: boolean;
|
13
|
+
protected _isMigrating: boolean;
|
14
|
+
protected _keyInfos: KeyInfo[];
|
15
|
+
constructor(eventDispatcher: {
|
16
|
+
dispatchEvent: (type: string) => void;
|
17
|
+
}, requester: MessageRequester);
|
18
|
+
init(): Promise<void>;
|
19
|
+
get needMigration(): boolean;
|
20
|
+
get isMigrating(): boolean;
|
21
|
+
get isInitialized(): boolean;
|
22
|
+
waitUntilInitialized(): Promise<void>;
|
23
|
+
get status(): KeyRingStatus | "not-loaded";
|
24
|
+
get keyInfos(): KeyInfo[];
|
25
|
+
fetchKeyRingStatus(): Promise<KeyRingStatus>;
|
26
|
+
get selectedKeyInfo(): KeyInfo | undefined;
|
27
|
+
get isEmpty(): boolean;
|
28
|
+
refreshKeyRingStatus(): Generator<Promise<{
|
29
|
+
status: KeyRingStatus;
|
30
|
+
keyInfos: KeyInfo[];
|
31
|
+
needMigration: boolean;
|
32
|
+
isMigrating: boolean;
|
33
|
+
}>, void, {
|
34
|
+
status: KeyRingStatus;
|
35
|
+
keyInfos: KeyInfo[];
|
36
|
+
needMigration: boolean;
|
37
|
+
isMigrating: boolean;
|
38
|
+
}>;
|
39
|
+
selectKeyRing(vaultId: string): Generator<Promise<{
|
40
|
+
status: KeyRingStatus;
|
41
|
+
keyInfos: KeyInfo[];
|
42
|
+
}>, void, {
|
43
|
+
status: KeyRingStatus;
|
44
|
+
keyInfos: KeyInfo[];
|
45
|
+
}>;
|
46
|
+
needKeyCoinTypeFinalize(vaultId: string, chainInfo: ChainInfo): boolean;
|
47
|
+
computeNotFinalizedKeyAddresses(vaultId: string, chainId: string): Promise<{
|
48
|
+
coinType: number;
|
49
|
+
bech32Address: string;
|
50
|
+
}[]>;
|
51
|
+
showKeyRing(vaultId: string, password: string): Promise<string>;
|
52
|
+
finalizeKeyCoinType(vaultId: string, chainId: string, coinType: number): Generator<Promise<{
|
53
|
+
status: KeyRingStatus;
|
54
|
+
keyInfos: KeyInfo[];
|
55
|
+
}>, void, {
|
56
|
+
status: KeyRingStatus;
|
57
|
+
keyInfos: KeyInfo[];
|
58
|
+
}>;
|
59
|
+
newMnemonicKey(mnemonic: string, bip44HDPath: BIP44HDPath, name: string, password: string | undefined): Generator<Promise<{
|
60
|
+
vaultId: string;
|
61
|
+
status: KeyRingStatus;
|
62
|
+
keyInfos: KeyInfo[];
|
63
|
+
}>, string, {
|
64
|
+
vaultId: string;
|
65
|
+
status: KeyRingStatus;
|
66
|
+
keyInfos: KeyInfo[];
|
67
|
+
}>;
|
68
|
+
newLedgerKey(pubKey: Uint8Array, app: string, bip44HDPath: BIP44HDPath, name: string, password: string | undefined): Generator<Promise<{
|
69
|
+
vaultId: string;
|
70
|
+
status: KeyRingStatus;
|
71
|
+
keyInfos: KeyInfo[];
|
72
|
+
}>, string, {
|
73
|
+
vaultId: string;
|
74
|
+
status: KeyRingStatus;
|
75
|
+
keyInfos: KeyInfo[];
|
76
|
+
}>;
|
77
|
+
appendLedgerKeyApp(vaultId: string, pubKey: Uint8Array, app: string): Generator<Promise<{
|
78
|
+
status: KeyRingStatus;
|
79
|
+
keyInfos: KeyInfo[];
|
80
|
+
}>, void, {
|
81
|
+
status: KeyRingStatus;
|
82
|
+
keyInfos: KeyInfo[];
|
83
|
+
}>;
|
84
|
+
newKeystoneKey(multiAccounts: MultiAccounts, name: string, password: string | undefined): Generator<Promise<{
|
85
|
+
vaultId: string;
|
86
|
+
status: KeyRingStatus;
|
87
|
+
keyInfos: KeyInfo[];
|
88
|
+
}>, string, {
|
89
|
+
vaultId: string;
|
90
|
+
status: KeyRingStatus;
|
91
|
+
keyInfos: KeyInfo[];
|
92
|
+
}>;
|
93
|
+
newPrivateKeyKey(privateKey: Uint8Array, meta: PlainObject, name: string, password: string | undefined): Generator<Promise<{
|
94
|
+
vaultId: string;
|
95
|
+
status: KeyRingStatus;
|
96
|
+
keyInfos: KeyInfo[];
|
97
|
+
}>, string, {
|
98
|
+
vaultId: string;
|
99
|
+
status: KeyRingStatus;
|
100
|
+
keyInfos: KeyInfo[];
|
101
|
+
}>;
|
102
|
+
lock(): Generator<Promise<{
|
103
|
+
status: KeyRingStatus;
|
104
|
+
}>, void, {
|
105
|
+
status: KeyRingStatus;
|
106
|
+
}>;
|
107
|
+
unlock(password: string): Generator<Promise<{
|
108
|
+
status: KeyRingStatus;
|
109
|
+
keyInfos: KeyInfo[];
|
110
|
+
}>, void, {
|
111
|
+
status: KeyRingStatus;
|
112
|
+
keyInfos: KeyInfo[];
|
113
|
+
}>;
|
114
|
+
changeKeyRingName(vaultId: string, name: string): Generator<Promise<{
|
115
|
+
status: KeyRingStatus;
|
116
|
+
keyInfos: KeyInfo[];
|
117
|
+
}>, void, {
|
118
|
+
status: KeyRingStatus;
|
119
|
+
keyInfos: KeyInfo[];
|
120
|
+
}>;
|
121
|
+
deleteKeyRing(vaultId: string, password: string): Generator<Promise<{
|
122
|
+
wasSelected: boolean;
|
123
|
+
status: KeyRingStatus;
|
124
|
+
keyInfos: KeyInfo[];
|
125
|
+
}>, void, {
|
126
|
+
wasSelected: boolean;
|
127
|
+
status: KeyRingStatus;
|
128
|
+
keyInfos: KeyInfo[];
|
129
|
+
}>;
|
130
|
+
changeUserPassword(prevUserPassword: string, newUserPassword: string): Promise<void>;
|
131
|
+
checkLegacyKeyRingPassword(password: string): Promise<void>;
|
132
|
+
}
|
@@ -0,0 +1,278 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
15
|
+
});
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.KeyRingStore = void 0;
|
19
|
+
const router_1 = require("@keplr-wallet/router");
|
20
|
+
const mobx_1 = require("mobx");
|
21
|
+
const common_1 = require("@keplr-wallet/common");
|
22
|
+
const background_1 = require("@keplr-wallet/background");
|
23
|
+
const cosmos_1 = require("@keplr-wallet/cosmos");
|
24
|
+
class KeyRingStore {
|
25
|
+
constructor(eventDispatcher, requester) {
|
26
|
+
this.eventDispatcher = eventDispatcher;
|
27
|
+
this.requester = requester;
|
28
|
+
this._isInitialized = false;
|
29
|
+
this._status = "not-loaded";
|
30
|
+
this._needMigration = false;
|
31
|
+
this._isMigrating = false;
|
32
|
+
this._keyInfos = [];
|
33
|
+
(0, mobx_1.makeObservable)(this);
|
34
|
+
this.init();
|
35
|
+
}
|
36
|
+
init() {
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
38
|
+
yield this.refreshKeyRingStatus();
|
39
|
+
(0, mobx_1.runInAction)(() => {
|
40
|
+
this._isInitialized = true;
|
41
|
+
});
|
42
|
+
});
|
43
|
+
}
|
44
|
+
get needMigration() {
|
45
|
+
return this._needMigration;
|
46
|
+
}
|
47
|
+
get isMigrating() {
|
48
|
+
return this._isMigrating;
|
49
|
+
}
|
50
|
+
get isInitialized() {
|
51
|
+
return this._isInitialized;
|
52
|
+
}
|
53
|
+
waitUntilInitialized() {
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
55
|
+
if (this.isInitialized) {
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
return new Promise((resolve) => {
|
59
|
+
const disposal = (0, mobx_1.autorun)(() => {
|
60
|
+
if (this.isInitialized) {
|
61
|
+
resolve();
|
62
|
+
if (disposal) {
|
63
|
+
disposal();
|
64
|
+
}
|
65
|
+
}
|
66
|
+
});
|
67
|
+
});
|
68
|
+
});
|
69
|
+
}
|
70
|
+
get status() {
|
71
|
+
return this._status;
|
72
|
+
}
|
73
|
+
get keyInfos() {
|
74
|
+
return this._keyInfos;
|
75
|
+
}
|
76
|
+
fetchKeyRingStatus() {
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
78
|
+
const msg = new background_1.GetKeyRingStatusOnlyMsg();
|
79
|
+
const result = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
80
|
+
return result.status;
|
81
|
+
});
|
82
|
+
}
|
83
|
+
get selectedKeyInfo() {
|
84
|
+
return this._keyInfos.find((keyInfo) => keyInfo.isSelected);
|
85
|
+
}
|
86
|
+
get isEmpty() {
|
87
|
+
return this._status === "empty";
|
88
|
+
}
|
89
|
+
*refreshKeyRingStatus() {
|
90
|
+
const msg = new background_1.GetKeyRingStatusMsg();
|
91
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
92
|
+
this._status = result.status;
|
93
|
+
this._keyInfos = result.keyInfos;
|
94
|
+
this._needMigration = result.needMigration;
|
95
|
+
this._isMigrating = result.isMigrating;
|
96
|
+
}
|
97
|
+
*selectKeyRing(vaultId) {
|
98
|
+
const msg = new background_1.SelectKeyRingMsg(vaultId);
|
99
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
100
|
+
this._status = result.status;
|
101
|
+
this._keyInfos = result.keyInfos;
|
102
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
103
|
+
}
|
104
|
+
needKeyCoinTypeFinalize(vaultId, chainInfo) {
|
105
|
+
const keyInfo = this.keyInfos.find((keyInfo) => keyInfo.id === vaultId);
|
106
|
+
if (!keyInfo) {
|
107
|
+
return false;
|
108
|
+
}
|
109
|
+
if (keyInfo.type !== "mnemonic" && keyInfo.type !== "keystone") {
|
110
|
+
return false;
|
111
|
+
}
|
112
|
+
const coinTypeTag = `keyRing-${cosmos_1.ChainIdHelper.parse(chainInfo.chainId).identifier}-coinType`;
|
113
|
+
return keyInfo.insensitive[coinTypeTag] == null;
|
114
|
+
}
|
115
|
+
computeNotFinalizedKeyAddresses(vaultId, chainId) {
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
117
|
+
const msg = new background_1.ComputeNotFinalizedKeyAddressesMsg(vaultId, chainId);
|
118
|
+
return yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
119
|
+
});
|
120
|
+
}
|
121
|
+
showKeyRing(vaultId, password) {
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
123
|
+
const msg = new background_1.ShowSensitiveKeyRingDataMsg(vaultId, password);
|
124
|
+
return yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
125
|
+
});
|
126
|
+
}
|
127
|
+
*finalizeKeyCoinType(vaultId, chainId, coinType) {
|
128
|
+
const msg = new background_1.FinalizeKeyCoinTypeMsg(vaultId, chainId, coinType);
|
129
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
130
|
+
this._status = result.status;
|
131
|
+
this._keyInfos = result.keyInfos;
|
132
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
133
|
+
}
|
134
|
+
*newMnemonicKey(mnemonic, bip44HDPath, name, password) {
|
135
|
+
const msg = new background_1.NewMnemonicKeyMsg(mnemonic, bip44HDPath, name, password);
|
136
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
137
|
+
this._status = result.status;
|
138
|
+
this._keyInfos = result.keyInfos;
|
139
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
140
|
+
return result.vaultId;
|
141
|
+
}
|
142
|
+
*newLedgerKey(pubKey, app, bip44HDPath, name, password) {
|
143
|
+
const msg = new background_1.NewLedgerKeyMsg(pubKey, app, bip44HDPath, name, password);
|
144
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
145
|
+
this._status = result.status;
|
146
|
+
this._keyInfos = result.keyInfos;
|
147
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
148
|
+
return result.vaultId;
|
149
|
+
}
|
150
|
+
*appendLedgerKeyApp(vaultId, pubKey, app) {
|
151
|
+
const msg = new background_1.AppendLedgerKeyAppMsg(vaultId, pubKey, app);
|
152
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
153
|
+
this._status = result.status;
|
154
|
+
this._keyInfos = result.keyInfos;
|
155
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
156
|
+
}
|
157
|
+
*newKeystoneKey(multiAccounts, name, password) {
|
158
|
+
const msg = new background_1.NewKeystoneKeyMsg(multiAccounts, name, password);
|
159
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
160
|
+
this._status = result.status;
|
161
|
+
this._keyInfos = result.keyInfos;
|
162
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
163
|
+
return result.vaultId;
|
164
|
+
}
|
165
|
+
*newPrivateKeyKey(privateKey, meta, name, password) {
|
166
|
+
const msg = new background_1.NewPrivateKeyKeyMsg(privateKey, meta, name, password);
|
167
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
168
|
+
this._status = result.status;
|
169
|
+
this._keyInfos = result.keyInfos;
|
170
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
171
|
+
return result.vaultId;
|
172
|
+
}
|
173
|
+
*lock() {
|
174
|
+
const msg = new background_1.LockKeyRingMsg();
|
175
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
176
|
+
this._status = result.status;
|
177
|
+
}
|
178
|
+
*unlock(password) {
|
179
|
+
if (this._needMigration) {
|
180
|
+
this._isMigrating = true;
|
181
|
+
}
|
182
|
+
try {
|
183
|
+
const msg = new background_1.UnlockKeyRingMsg(password);
|
184
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
185
|
+
this._status = result.status;
|
186
|
+
this._keyInfos = result.keyInfos;
|
187
|
+
this._needMigration = false;
|
188
|
+
}
|
189
|
+
finally {
|
190
|
+
// Set the flag to false even if the migration is failed.
|
191
|
+
this._isMigrating = false;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
*changeKeyRingName(vaultId, name) {
|
195
|
+
const msg = new background_1.ChangeKeyRingNameMsg(vaultId, name);
|
196
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
197
|
+
this._status = result.status;
|
198
|
+
this._keyInfos = result.keyInfos;
|
199
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
200
|
+
}
|
201
|
+
*deleteKeyRing(vaultId, password) {
|
202
|
+
const msg = new background_1.DeleteKeyRingMsg(vaultId, password);
|
203
|
+
const result = yield* (0, common_1.toGenerator)(this.requester.sendMessage(router_1.BACKGROUND_PORT, msg));
|
204
|
+
this._status = result.status;
|
205
|
+
this._keyInfos = result.keyInfos;
|
206
|
+
if (result.wasSelected && result.status === "unlocked") {
|
207
|
+
this.eventDispatcher.dispatchEvent("keplr_keystorechange");
|
208
|
+
}
|
209
|
+
}
|
210
|
+
changeUserPassword(prevUserPassword, newUserPassword) {
|
211
|
+
return __awaiter(this, void 0, void 0, function* () {
|
212
|
+
const msg = new background_1.ChangeUserPasswordMsg(prevUserPassword, newUserPassword);
|
213
|
+
return yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
214
|
+
});
|
215
|
+
}
|
216
|
+
checkLegacyKeyRingPassword(password) {
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
218
|
+
const msg = new background_1.CheckLegacyKeyRingPasswordMsg(password);
|
219
|
+
return yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
220
|
+
});
|
221
|
+
}
|
222
|
+
}
|
223
|
+
__decorate([
|
224
|
+
mobx_1.observable
|
225
|
+
], KeyRingStore.prototype, "_isInitialized", void 0);
|
226
|
+
__decorate([
|
227
|
+
mobx_1.observable
|
228
|
+
], KeyRingStore.prototype, "_status", void 0);
|
229
|
+
__decorate([
|
230
|
+
mobx_1.observable
|
231
|
+
], KeyRingStore.prototype, "_needMigration", void 0);
|
232
|
+
__decorate([
|
233
|
+
mobx_1.observable
|
234
|
+
], KeyRingStore.prototype, "_isMigrating", void 0);
|
235
|
+
__decorate([
|
236
|
+
mobx_1.observable.ref
|
237
|
+
], KeyRingStore.prototype, "_keyInfos", void 0);
|
238
|
+
__decorate([
|
239
|
+
mobx_1.computed
|
240
|
+
], KeyRingStore.prototype, "selectedKeyInfo", null);
|
241
|
+
__decorate([
|
242
|
+
mobx_1.flow
|
243
|
+
], KeyRingStore.prototype, "refreshKeyRingStatus", null);
|
244
|
+
__decorate([
|
245
|
+
mobx_1.flow
|
246
|
+
], KeyRingStore.prototype, "selectKeyRing", null);
|
247
|
+
__decorate([
|
248
|
+
mobx_1.flow
|
249
|
+
], KeyRingStore.prototype, "finalizeKeyCoinType", null);
|
250
|
+
__decorate([
|
251
|
+
mobx_1.flow
|
252
|
+
], KeyRingStore.prototype, "newMnemonicKey", null);
|
253
|
+
__decorate([
|
254
|
+
mobx_1.flow
|
255
|
+
], KeyRingStore.prototype, "newLedgerKey", null);
|
256
|
+
__decorate([
|
257
|
+
mobx_1.flow
|
258
|
+
], KeyRingStore.prototype, "appendLedgerKeyApp", null);
|
259
|
+
__decorate([
|
260
|
+
mobx_1.flow
|
261
|
+
], KeyRingStore.prototype, "newKeystoneKey", null);
|
262
|
+
__decorate([
|
263
|
+
mobx_1.flow
|
264
|
+
], KeyRingStore.prototype, "newPrivateKeyKey", null);
|
265
|
+
__decorate([
|
266
|
+
mobx_1.flow
|
267
|
+
], KeyRingStore.prototype, "lock", null);
|
268
|
+
__decorate([
|
269
|
+
mobx_1.flow
|
270
|
+
], KeyRingStore.prototype, "unlock", null);
|
271
|
+
__decorate([
|
272
|
+
mobx_1.flow
|
273
|
+
], KeyRingStore.prototype, "changeKeyRingName", null);
|
274
|
+
__decorate([
|
275
|
+
mobx_1.flow
|
276
|
+
], KeyRingStore.prototype, "deleteKeyRing", null);
|
277
|
+
exports.KeyRingStore = KeyRingStore;
|
278
|
+
//# sourceMappingURL=keyring.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../src/core/keyring.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { MessageRequester } from "@keplr-wallet/router";
|
2
|
+
import { AllPermissionDataPerOrigin } from "@keplr-wallet/background";
|
3
|
+
export declare class PermissionManagerStore {
|
4
|
+
protected readonly requester: MessageRequester;
|
5
|
+
protected _isInitialized: boolean;
|
6
|
+
protected _permissionData: AllPermissionDataPerOrigin;
|
7
|
+
constructor(requester: MessageRequester);
|
8
|
+
protected init(): Promise<void>;
|
9
|
+
get isInitialized(): boolean;
|
10
|
+
get permissionData(): AllPermissionDataPerOrigin;
|
11
|
+
clearAllPermissions(): Promise<void>;
|
12
|
+
clearOrigin(origin: string): Promise<void>;
|
13
|
+
removePermission(origin: string, chainId: string, type: string): Promise<void>;
|
14
|
+
removeGlobalPermission(origin: string, type: string): Promise<void>;
|
15
|
+
}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
15
|
+
});
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.PermissionManagerStore = void 0;
|
19
|
+
const router_1 = require("@keplr-wallet/router");
|
20
|
+
const mobx_1 = require("mobx");
|
21
|
+
const background_1 = require("@keplr-wallet/background");
|
22
|
+
const cosmos_1 = require("@keplr-wallet/cosmos");
|
23
|
+
class PermissionManagerStore {
|
24
|
+
constructor(requester) {
|
25
|
+
this.requester = requester;
|
26
|
+
this._isInitialized = false;
|
27
|
+
this._permissionData = {};
|
28
|
+
(0, mobx_1.makeObservable)(this);
|
29
|
+
this.init();
|
30
|
+
}
|
31
|
+
init() {
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
33
|
+
const msg = new background_1.GetAllPermissionDataPerOriginMsg();
|
34
|
+
const result = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
35
|
+
(0, mobx_1.runInAction)(() => {
|
36
|
+
this._permissionData = result;
|
37
|
+
});
|
38
|
+
(0, mobx_1.runInAction)(() => {
|
39
|
+
this._isInitialized = true;
|
40
|
+
});
|
41
|
+
});
|
42
|
+
}
|
43
|
+
get isInitialized() {
|
44
|
+
return this._isInitialized;
|
45
|
+
}
|
46
|
+
get permissionData() {
|
47
|
+
// Background has origin with empty permissions.
|
48
|
+
// However, it is not needed to show in the UI.
|
49
|
+
// So, trim the empty origins.
|
50
|
+
const trimmed = {};
|
51
|
+
for (const [origin, perms] of Object.entries(this._permissionData)) {
|
52
|
+
if (perms &&
|
53
|
+
(perms.permissions.length > 0 || perms.globalPermissions.length > 0)) {
|
54
|
+
trimmed[origin] = perms;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
return trimmed;
|
58
|
+
}
|
59
|
+
clearAllPermissions() {
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
61
|
+
(0, mobx_1.runInAction)(() => {
|
62
|
+
this._permissionData = {};
|
63
|
+
});
|
64
|
+
const msg = new background_1.ClearAllPermissionsMsg();
|
65
|
+
yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
66
|
+
});
|
67
|
+
}
|
68
|
+
clearOrigin(origin) {
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
70
|
+
const perms = this._permissionData[origin];
|
71
|
+
if (perms) {
|
72
|
+
(0, mobx_1.runInAction)(() => {
|
73
|
+
delete this._permissionData[origin];
|
74
|
+
});
|
75
|
+
const msg = new background_1.ClearOriginPermissionMsg(origin);
|
76
|
+
yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
77
|
+
}
|
78
|
+
});
|
79
|
+
}
|
80
|
+
removePermission(origin, chainId, type) {
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
82
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainId).identifier;
|
83
|
+
const perms = this._permissionData[origin];
|
84
|
+
const i = perms
|
85
|
+
? perms.permissions.findIndex((perm) => perm.chainIdentifier === chainIdentifier && perm.type === type)
|
86
|
+
: -1;
|
87
|
+
if (i >= 0 && perms) {
|
88
|
+
(0, mobx_1.runInAction)(() => {
|
89
|
+
perms.permissions.splice(i, 1);
|
90
|
+
});
|
91
|
+
const msg = new background_1.RemovePermissionOrigin(chainId, type, origin);
|
92
|
+
yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
93
|
+
}
|
94
|
+
});
|
95
|
+
}
|
96
|
+
removeGlobalPermission(origin, type) {
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
98
|
+
const perms = this._permissionData[origin];
|
99
|
+
const i = perms
|
100
|
+
? perms.globalPermissions.findIndex((perm) => perm.type === type)
|
101
|
+
: -1;
|
102
|
+
if (i >= 0 && perms) {
|
103
|
+
(0, mobx_1.runInAction)(() => {
|
104
|
+
perms.globalPermissions.splice(i, 1);
|
105
|
+
});
|
106
|
+
const msg = new background_1.RemoveGlobalPermissionOriginMsg(type, origin);
|
107
|
+
yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
108
|
+
}
|
109
|
+
});
|
110
|
+
}
|
111
|
+
}
|
112
|
+
__decorate([
|
113
|
+
mobx_1.observable
|
114
|
+
], PermissionManagerStore.prototype, "_isInitialized", void 0);
|
115
|
+
__decorate([
|
116
|
+
mobx_1.observable
|
117
|
+
], PermissionManagerStore.prototype, "_permissionData", void 0);
|
118
|
+
__decorate([
|
119
|
+
mobx_1.computed
|
120
|
+
], PermissionManagerStore.prototype, "permissionData", null);
|
121
|
+
exports.PermissionManagerStore = PermissionManagerStore;
|
122
|
+
//# sourceMappingURL=permission-manager.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"permission-manager.js","sourceRoot":"","sources":["../../src/core/permission-manager.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { MessageRequester } from "@keplr-wallet/router";
|
2
|
+
import { TokenInfo } from "@keplr-wallet/background";
|
3
|
+
import { AppCurrency } from "@keplr-wallet/types";
|
4
|
+
import { IChainStore, IAccountStore } from "@keplr-wallet/stores";
|
5
|
+
import { InteractionStore } from "./interaction";
|
6
|
+
import { KeyRingStore } from "./keyring";
|
7
|
+
export declare class TokensStore {
|
8
|
+
protected readonly eventListener: {
|
9
|
+
addEventListener: (type: string, fn: () => unknown) => void;
|
10
|
+
};
|
11
|
+
protected readonly requester: MessageRequester;
|
12
|
+
protected readonly chainStore: IChainStore;
|
13
|
+
protected readonly accountStore: IAccountStore;
|
14
|
+
protected readonly keyRingStore: KeyRingStore;
|
15
|
+
protected readonly interactionStore: InteractionStore;
|
16
|
+
protected _isInitialized: boolean;
|
17
|
+
protected tokenMap: ReadonlyMap<string, ReadonlyArray<TokenInfo>>;
|
18
|
+
protected prevTokenMap: ReadonlyMap<string, ReadonlyArray<TokenInfo>>;
|
19
|
+
constructor(eventListener: {
|
20
|
+
addEventListener: (type: string, fn: () => unknown) => void;
|
21
|
+
}, requester: MessageRequester, chainStore: IChainStore, accountStore: IAccountStore, keyRingStore: KeyRingStore, interactionStore: InteractionStore);
|
22
|
+
init(): Promise<void>;
|
23
|
+
protected refreshTokens(): Promise<void>;
|
24
|
+
protected clearTokensFromChainInfos(): void;
|
25
|
+
protected updateChainInfos(): void;
|
26
|
+
get isInitialized(): boolean;
|
27
|
+
waitUntilInitialized(): Promise<void>;
|
28
|
+
getTokens(chainId: string): ReadonlyArray<TokenInfo>;
|
29
|
+
addToken(chainId: string, currency: AppCurrency): Promise<void>;
|
30
|
+
removeToken(chainId: string, tokenInfo: TokenInfo): Promise<void>;
|
31
|
+
get waitingSuggestedToken(): import("@keplr-wallet/background").InteractionWaitingData<{
|
32
|
+
chainId: string;
|
33
|
+
contractAddress: string;
|
34
|
+
viewingKey?: string | undefined;
|
35
|
+
}> | undefined;
|
36
|
+
approveSuggestedTokenWithProceedNext(id: string, appCurrency: AppCurrency, afterFn: (proceedNext: boolean) => void | Promise<void>): Promise<void>;
|
37
|
+
rejectSuggestedToken(id: string, afterFn: (proceedNext: boolean) => void | Promise<void>): Promise<void>;
|
38
|
+
rejectAllSuggestedTokens(): Promise<void>;
|
39
|
+
}
|