@trustwallet/wallet-core 4.2.0-dev-rc1 → 4.2.0-dev-rc3
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/dist/generated/core_proto.d.ts +493 -81
- package/dist/generated/core_proto.js +1755 -440
- package/dist/lib/wallet-core.js +151 -147
- package/dist/lib/wallet-core.wasm +0 -0
- package/dist/src/keystore/default-impl.d.ts +1 -0
- package/dist/src/keystore/default-impl.js +33 -3
- package/dist/src/keystore/types.d.ts +3 -1
- package/dist/src/keystore/types.js +1 -0
- package/dist/src/wallet-core.d.ts +25 -0
- package/package.json +1 -1
Binary file
|
@@ -13,6 +13,7 @@ export declare class Default implements Types.IKeyStore {
|
|
13
13
|
importWallet(wallet: Types.Wallet): Promise<void>;
|
14
14
|
import(mnemonic: string, name: string, password: string, coins: CoinType[], encryption: StoredKeyEncryption): Promise<Types.Wallet>;
|
15
15
|
importKey(key: Uint8Array, name: string, password: string, coin: CoinType, encryption: StoredKeyEncryption): Promise<Types.Wallet>;
|
16
|
+
importTON(tonMnemonic: string, name: string, password: string, coin: CoinType, encryption: StoredKeyEncryption): Promise<Types.Wallet>;
|
16
17
|
addAccounts(id: string, password: string, coins: CoinType[]): Promise<Types.Wallet>;
|
17
18
|
getKey(id: string, password: string, account: Types.ActiveAccount): Promise<PrivateKey>;
|
18
19
|
export(id: string, password: string): Promise<string | Uint8Array>;
|
@@ -75,6 +75,23 @@ var Default = /** @class */ (function () {
|
|
75
75
|
.catch(function (error) { return reject(error); });
|
76
76
|
});
|
77
77
|
};
|
78
|
+
Default.prototype.importTON = function (tonMnemonic, name, password, coin, encryption) {
|
79
|
+
var _this = this;
|
80
|
+
return new Promise(function (resolve, reject) {
|
81
|
+
var _a = _this.core, StoredKey = _a.StoredKey, TONWallet = _a.TONWallet;
|
82
|
+
var passphrase = "";
|
83
|
+
if (!TONWallet.isValidMnemonic(tonMnemonic, passphrase)) {
|
84
|
+
throw Types.Error.InvalidMnemonic;
|
85
|
+
}
|
86
|
+
var pass = Buffer.from(password);
|
87
|
+
var storedKey = StoredKey.importTONWalletWithEncryption(tonMnemonic, name, pass, coin, encryption);
|
88
|
+
var wallet = _this.mapWallet(storedKey);
|
89
|
+
storedKey.delete();
|
90
|
+
_this.importWallet(wallet)
|
91
|
+
.then(function () { return resolve(wallet); })
|
92
|
+
.catch(function (error) { return reject(error); });
|
93
|
+
});
|
94
|
+
};
|
78
95
|
Default.prototype.addAccounts = function (id, password, coins) {
|
79
96
|
var _this = this;
|
80
97
|
return this.load(id).then(function (wallet) {
|
@@ -93,11 +110,21 @@ var Default = /** @class */ (function () {
|
|
93
110
|
var _this = this;
|
94
111
|
return this.load(id).then(function (wallet) {
|
95
112
|
var storedKey = _this.mapStoredKey(wallet);
|
96
|
-
var hdWallet = storedKey.wallet(Buffer.from(password));
|
97
113
|
var coin = _this.core.CoinType.values["" + account.coin];
|
98
|
-
var privateKey
|
114
|
+
var privateKey;
|
115
|
+
switch (wallet.type) {
|
116
|
+
// In case of BIP39 mnemonic, we should use the custom derivation path.
|
117
|
+
case Types.WalletType.Mnemonic:
|
118
|
+
var hdWallet = storedKey.wallet(Buffer.from(password));
|
119
|
+
privateKey = hdWallet.getKey(coin, account.derivationPath);
|
120
|
+
hdWallet.delete();
|
121
|
+
break;
|
122
|
+
// Otherwise, use the default implementation.
|
123
|
+
default:
|
124
|
+
privateKey = storedKey.privateKey(coin, Buffer.from(password));
|
125
|
+
break;
|
126
|
+
}
|
99
127
|
storedKey.delete();
|
100
|
-
hdWallet.delete();
|
101
128
|
return privateKey;
|
102
129
|
});
|
103
130
|
};
|
@@ -113,6 +140,9 @@ var Default = /** @class */ (function () {
|
|
113
140
|
case Types.WalletType.PrivateKey:
|
114
141
|
value = storedKey.decryptPrivateKey(Buffer.from(password));
|
115
142
|
break;
|
143
|
+
case Types.WalletType.TonMnemonic:
|
144
|
+
value = storedKey.decryptTONMnemonic(Buffer.from(password));
|
145
|
+
break;
|
116
146
|
default:
|
117
147
|
throw Types.Error.InvalidJSON;
|
118
148
|
}
|
@@ -3,7 +3,8 @@ export declare enum WalletType {
|
|
3
3
|
Mnemonic = "mnemonic",
|
4
4
|
PrivateKey = "privateKey",
|
5
5
|
WatchOnly = "watchOnly",
|
6
|
-
Hardware = "hardware"
|
6
|
+
Hardware = "hardware",
|
7
|
+
TonMnemonic = "ton-mnemonic"
|
7
8
|
}
|
8
9
|
export declare enum Error {
|
9
10
|
WalletNotFound = "wallet not found",
|
@@ -34,6 +35,7 @@ export interface IKeyStore {
|
|
34
35
|
import(mnemonic: string, name: string, password: string, coins: CoinType[], encryption: StoredKeyEncryption): Promise<Wallet>;
|
35
36
|
importKey(key: Uint8Array, name: string, password: string, coin: CoinType, encryption: StoredKeyEncryption): Promise<Wallet>;
|
36
37
|
importWallet(wallet: Wallet): Promise<void>;
|
38
|
+
importTON(tonMnemonic: string, name: string, password: string, coin: CoinType, encryption: StoredKeyEncryption): Promise<Wallet>;
|
37
39
|
addAccounts(id: string, password: string, coins: CoinType[]): Promise<Wallet>;
|
38
40
|
getKey(id: string, password: string, account: ActiveAccount): Promise<PrivateKey>;
|
39
41
|
delete(id: string, password: string): Promise<void>;
|
@@ -10,6 +10,7 @@ var WalletType;
|
|
10
10
|
WalletType["PrivateKey"] = "privateKey";
|
11
11
|
WalletType["WatchOnly"] = "watchOnly";
|
12
12
|
WalletType["Hardware"] = "hardware";
|
13
|
+
WalletType["TonMnemonic"] = "ton-mnemonic";
|
13
14
|
})(WalletType = exports.WalletType || (exports.WalletType = {}));
|
14
15
|
var Error;
|
15
16
|
(function (Error) {
|
@@ -115,6 +115,12 @@ export class Base64 {
|
|
115
115
|
static encode(data: Uint8Array | Buffer): string;
|
116
116
|
static encodeUrl(data: Uint8Array | Buffer): string;
|
117
117
|
}
|
118
|
+
export class Bech32 {
|
119
|
+
static encode(hrp: string, data: Uint8Array | Buffer): string;
|
120
|
+
static decode(string: string): Uint8Array;
|
121
|
+
static encodeM(hrp: string, data: Uint8Array | Buffer): string;
|
122
|
+
static decodeM(string: string): Uint8Array;
|
123
|
+
}
|
118
124
|
export class BitcoinAddress {
|
119
125
|
static equal(lhs: BitcoinAddress, rhs: BitcoinAddress): boolean;
|
120
126
|
static isValid(data: Uint8Array | Buffer): boolean;
|
@@ -223,6 +229,8 @@ export class Blockchain {
|
|
223
229
|
static internetComputer: Blockchain;
|
224
230
|
static nativeEvmos: Blockchain;
|
225
231
|
static nativeInjective: Blockchain;
|
232
|
+
static bitcoinCash: Blockchain;
|
233
|
+
static pactus: Blockchain;
|
226
234
|
}
|
227
235
|
export class Cardano {
|
228
236
|
static minAdaAmount(tokenBundle: Uint8Array | Buffer): number;
|
@@ -390,6 +398,7 @@ export class CoinType {
|
|
390
398
|
static blast: CoinType;
|
391
399
|
static bounceBit: CoinType;
|
392
400
|
static zkLinkNova: CoinType;
|
401
|
+
static pactus: CoinType;
|
393
402
|
}
|
394
403
|
export class CoinTypeConfiguration {
|
395
404
|
static getSymbol(type: CoinType): string;
|
@@ -448,6 +457,7 @@ export class Derivation {
|
|
448
457
|
static litecoinLegacy: Derivation;
|
449
458
|
static solanaSolana: Derivation;
|
450
459
|
static stratisSegwit: Derivation;
|
460
|
+
static bitcoinTaproot: Derivation;
|
451
461
|
}
|
452
462
|
export class DerivationPath {
|
453
463
|
static create(purpose: Purpose, coin: number, account: number, change: number, address: number): DerivationPath;
|
@@ -719,6 +729,7 @@ export class HRP {
|
|
719
729
|
static harmony: HRP;
|
720
730
|
static cardano: HRP;
|
721
731
|
static qtum: HRP;
|
732
|
+
static pactus: HRP;
|
722
733
|
static stratis: HRP;
|
723
734
|
static nativeInjective: HRP;
|
724
735
|
static osmosis: HRP;
|
@@ -855,6 +866,7 @@ export class Purpose {
|
|
855
866
|
static bip44: Purpose;
|
856
867
|
static bip49: Purpose;
|
857
868
|
static bip84: Purpose;
|
869
|
+
static bip86: Purpose;
|
858
870
|
static bip1852: Purpose;
|
859
871
|
}
|
860
872
|
export class RippleXAddress {
|
@@ -891,6 +903,10 @@ export class SolanaAddress {
|
|
891
903
|
}
|
892
904
|
export class SolanaTransaction {
|
893
905
|
static updateBlockhashAndSign(encodedTx: string, recentBlockhash: string, privateKeys: DataVector): Uint8Array;
|
906
|
+
static getComputeUnitPrice(encodedTx: string): string;
|
907
|
+
static getComputeUnitLimit(encodedTx: string): string;
|
908
|
+
static setComputeUnitPrice(encodedTx: string, price: string): string;
|
909
|
+
static setComputeUnitLimit(encodedTx: string, limit: string): string;
|
894
910
|
}
|
895
911
|
export class StarkExMessageSigner {
|
896
912
|
static signMessage(privateKey: PrivateKey, message: string): string;
|
@@ -928,6 +944,8 @@ export class StoredKey {
|
|
928
944
|
static importPrivateKeyWithEncryption(privateKey: Uint8Array | Buffer, name: string, password: Uint8Array | Buffer, coin: CoinType, encryption: StoredKeyEncryption): StoredKey;
|
929
945
|
static importHDWallet(mnemonic: string, name: string, password: Uint8Array | Buffer, coin: CoinType): StoredKey;
|
930
946
|
static importHDWalletWithEncryption(mnemonic: string, name: string, password: Uint8Array | Buffer, coin: CoinType, encryption: StoredKeyEncryption): StoredKey;
|
947
|
+
static importTONWallet(tonMnemonic: string, name: string, password: Uint8Array | Buffer, coin: CoinType): StoredKey;
|
948
|
+
static importTONWalletWithEncryption(tonMnemonic: string, name: string, password: Uint8Array | Buffer, coin: CoinType, encryption: StoredKeyEncryption): StoredKey;
|
931
949
|
static importJSON(json: Uint8Array | Buffer): StoredKey;
|
932
950
|
static createLevel(name: string, password: Uint8Array | Buffer, encryptionLevel: StoredKeyEncryptionLevel): StoredKey;
|
933
951
|
static createLevelAndEncryption(name: string, password: Uint8Array | Buffer, encryptionLevel: StoredKeyEncryptionLevel, encryption: StoredKeyEncryption): StoredKey;
|
@@ -936,6 +954,7 @@ export class StoredKey {
|
|
936
954
|
identifier(): string;
|
937
955
|
name(): string;
|
938
956
|
isMnemonic(): boolean;
|
957
|
+
isTONMnemonic(): boolean;
|
939
958
|
accountCount(): number;
|
940
959
|
encryptionParameters(): string;
|
941
960
|
account(index: number): Account;
|
@@ -949,6 +968,7 @@ export class StoredKey {
|
|
949
968
|
store(path: string): boolean;
|
950
969
|
decryptPrivateKey(password: Uint8Array | Buffer): Uint8Array;
|
951
970
|
decryptMnemonic(password: Uint8Array | Buffer): string;
|
971
|
+
decryptTONMnemonic(password: Uint8Array | Buffer): string;
|
952
972
|
privateKey(coin: CoinType, password: Uint8Array | Buffer): PrivateKey;
|
953
973
|
wallet(password: Uint8Array | Buffer): HDWallet;
|
954
974
|
exportJSON(): Uint8Array;
|
@@ -982,7 +1002,11 @@ export class TONMessageSigner {
|
|
982
1002
|
static signMessage(privateKey: PrivateKey, message: string): string;
|
983
1003
|
}
|
984
1004
|
export class TONWallet {
|
1005
|
+
static isValidMnemonic(mnemonic: string, passphrase: string): boolean;
|
985
1006
|
static buildV4R2StateInit(publicKey: PublicKey, workchain: number, walletId: number): string;
|
1007
|
+
static createWithMnemonic(mnemonic: string, passphrase: string): TONWallet;
|
1008
|
+
getKey(): PrivateKey;
|
1009
|
+
delete(): void;
|
986
1010
|
}
|
987
1011
|
export class TezosMessageSigner {
|
988
1012
|
static formatMessage(message: string, url: string): string;
|
@@ -1028,6 +1052,7 @@ export interface WalletCore {
|
|
1028
1052
|
Base32: typeof Base32;
|
1029
1053
|
Base58: typeof Base58;
|
1030
1054
|
Base64: typeof Base64;
|
1055
|
+
Bech32: typeof Bech32;
|
1031
1056
|
BitcoinAddress: typeof BitcoinAddress;
|
1032
1057
|
BitcoinMessageSigner: typeof BitcoinMessageSigner;
|
1033
1058
|
BitcoinScript: typeof BitcoinScript;
|