mainnet-js 2.7.34 → 3.0.0-next.1
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/index.html +1 -1
- package/dist/{mainnet-2.7.34.js → mainnet-3.0.0-next.1.js} +728 -708
- package/dist/module/cache/MemoryCache.d.ts +0 -1
- package/dist/module/cache/MemoryCache.d.ts.map +1 -1
- package/dist/module/cache/MemoryCache.js +5 -7
- package/dist/module/cache/MemoryCache.js.map +1 -1
- package/dist/module/cache/index.d.ts +1 -0
- package/dist/module/cache/index.d.ts.map +1 -1
- package/dist/module/cache/index.js +1 -0
- package/dist/module/cache/index.js.map +1 -1
- package/dist/module/cache/walletCache.d.ts +45 -0
- package/dist/module/cache/walletCache.d.ts.map +1 -0
- package/dist/module/cache/walletCache.js +140 -0
- package/dist/module/cache/walletCache.js.map +1 -0
- package/dist/module/chain.d.ts +1 -1
- package/dist/module/chain.js +1 -1
- package/dist/module/chain.js.map +1 -1
- package/dist/module/constant.d.ts +1 -1
- package/dist/module/constant.d.ts.map +1 -1
- package/dist/module/constant.js +1 -1
- package/dist/module/constant.js.map +1 -1
- package/dist/module/enum.d.ts +1 -7
- package/dist/module/enum.d.ts.map +1 -1
- package/dist/module/enum.js +0 -6
- package/dist/module/enum.js.map +1 -1
- package/dist/module/history/{electrumTransformer.d.ts → getHistory.d.ts} +3 -3
- package/dist/module/history/getHistory.d.ts.map +1 -0
- package/dist/module/history/{electrumTransformer.js → getHistory.js} +17 -14
- package/dist/module/history/getHistory.js.map +1 -0
- package/dist/module/index.d.ts +3 -1
- package/dist/module/index.d.ts.map +1 -1
- package/dist/module/index.js +3 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/interface.d.ts +7 -2
- package/dist/module/interface.d.ts.map +1 -1
- package/dist/module/interface.js.map +1 -1
- package/dist/module/message/interface.d.ts +2 -2
- package/dist/module/message/interface.d.ts.map +1 -1
- package/dist/module/message/interface.js +0 -3
- package/dist/module/message/interface.js.map +1 -1
- package/dist/module/message/signed.d.ts +5 -5
- package/dist/module/message/signed.d.ts.map +1 -1
- package/dist/module/message/signed.js +8 -8
- package/dist/module/message/signed.js.map +1 -1
- package/dist/module/network/ElectrumNetworkProvider.d.ts +2 -2
- package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
- package/dist/module/network/ElectrumNetworkProvider.js +3 -2
- package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
- package/dist/module/network/NetworkProvider.d.ts +2 -2
- package/dist/module/network/NetworkProvider.d.ts.map +1 -1
- package/dist/module/network/constant.js +4 -4
- package/dist/module/network/constant.js.map +1 -1
- package/dist/module/network/getRelayFeeCache.js +2 -2
- package/dist/module/network/getRelayFeeCache.js.map +1 -1
- package/dist/module/rate/ExchangeRate.d.ts +2 -1
- package/dist/module/rate/ExchangeRate.d.ts.map +1 -1
- package/dist/module/rate/ExchangeRate.js +4 -1
- package/dist/module/rate/ExchangeRate.js.map +1 -1
- package/dist/module/transaction/Wif.d.ts +25 -23
- package/dist/module/transaction/Wif.d.ts.map +1 -1
- package/dist/module/transaction/Wif.js +26 -25
- package/dist/module/transaction/Wif.js.map +1 -1
- package/dist/module/transaction/allocateFee.d.ts +3 -3
- package/dist/module/transaction/allocateFee.d.ts.map +1 -1
- package/dist/module/transaction/allocateFee.js +5 -6
- package/dist/module/transaction/allocateFee.js.map +1 -1
- package/dist/module/util/amountInSatoshi.d.ts +1 -1
- package/dist/module/util/amountInSatoshi.d.ts.map +1 -1
- package/dist/module/util/amountInSatoshi.js +3 -9
- package/dist/module/util/amountInSatoshi.js.map +1 -1
- package/dist/module/util/asSendRequestObject.d.ts.map +1 -1
- package/dist/module/util/asSendRequestObject.js +10 -7
- package/dist/module/util/asSendRequestObject.js.map +1 -1
- package/dist/module/util/checkUtxos.d.ts +2 -2
- package/dist/module/util/checkUtxos.d.ts.map +1 -1
- package/dist/module/util/checkUtxos.js +11 -12
- package/dist/module/util/checkUtxos.js.map +1 -1
- package/dist/module/util/convert.d.ts +3 -0
- package/dist/module/util/convert.d.ts.map +1 -1
- package/dist/module/util/convert.js +12 -0
- package/dist/module/util/convert.js.map +1 -1
- package/dist/module/util/deriveCashaddr.d.ts.map +1 -1
- package/dist/module/util/deriveCashaddr.js +6 -0
- package/dist/module/util/deriveCashaddr.js.map +1 -1
- package/dist/module/util/deriveNetwork.js +1 -1
- package/dist/module/util/deriveNetwork.js.map +1 -1
- package/dist/module/util/hd.d.ts +3 -0
- package/dist/module/util/hd.d.ts.map +1 -0
- package/dist/module/util/hd.js +11 -0
- package/dist/module/util/hd.js.map +1 -0
- package/dist/module/util/index.d.ts +3 -3
- package/dist/module/util/index.d.ts.map +1 -1
- package/dist/module/util/index.js +3 -3
- package/dist/module/util/index.js.map +1 -1
- package/dist/module/util/satoshiToAmount.d.ts +1 -1
- package/dist/module/util/satoshiToAmount.d.ts.map +1 -1
- package/dist/module/util/satoshiToAmount.js +3 -9
- package/dist/module/util/satoshiToAmount.js.map +1 -1
- package/dist/module/util/sumSendRequestAmounts.d.ts.map +1 -1
- package/dist/module/util/sumSendRequestAmounts.js +3 -4
- package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
- package/dist/module/util/sumUtxoValue.d.ts +3 -3
- package/dist/module/util/sumUtxoValue.d.ts.map +1 -1
- package/dist/module/util/sumUtxoValue.js +2 -2
- package/dist/module/util/sumUtxoValue.js.map +1 -1
- package/dist/module/wallet/Base.d.ts +45 -103
- package/dist/module/wallet/Base.d.ts.map +1 -1
- package/dist/module/wallet/Base.js +99 -298
- package/dist/module/wallet/Base.js.map +1 -1
- package/dist/module/wallet/HDWallet.d.ts +164 -0
- package/dist/module/wallet/HDWallet.d.ts.map +1 -0
- package/dist/module/wallet/HDWallet.js +486 -0
- package/dist/module/wallet/HDWallet.js.map +1 -0
- package/dist/module/wallet/Util.js +1 -1
- package/dist/module/wallet/Util.js.map +1 -1
- package/dist/module/wallet/Watch.d.ts +151 -0
- package/dist/module/wallet/Watch.d.ts.map +1 -0
- package/dist/module/wallet/Watch.js +307 -0
- package/dist/module/wallet/Watch.js.map +1 -0
- package/dist/module/wallet/Wif.d.ts +23 -29
- package/dist/module/wallet/Wif.d.ts.map +1 -1
- package/dist/module/wallet/Wif.js +204 -267
- package/dist/module/wallet/Wif.js.map +1 -1
- package/dist/module/wallet/createWallet.d.ts +7 -1
- package/dist/module/wallet/createWallet.d.ts.map +1 -1
- package/dist/module/wallet/createWallet.js +26 -17
- package/dist/module/wallet/createWallet.js.map +1 -1
- package/dist/module/wallet/interface.d.ts +5 -6
- package/dist/module/wallet/interface.d.ts.map +1 -1
- package/dist/module/wallet/model.d.ts +15 -19
- package/dist/module/wallet/model.d.ts.map +1 -1
- package/dist/module/wallet/model.js +5 -25
- package/dist/module/wallet/model.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/cache/MemoryCache.ts +5 -5
- package/src/cache/index.ts +1 -0
- package/src/cache/walletCache.ts +239 -0
- package/src/chain.ts +1 -1
- package/src/constant.ts +1 -1
- package/src/enum.ts +0 -6
- package/src/history/{electrumTransformer.test.ts → getHistory.test.ts} +26 -53
- package/src/history/{electrumTransformer.ts → getHistory.ts} +31 -15
- package/src/index.ts +3 -1
- package/src/interface.ts +8 -2
- package/src/message/interface.ts +2 -28
- package/src/message/signed.test.ts +36 -48
- package/src/message/signed.ts +9 -12
- package/src/network/Connection.test.ts +3 -3
- package/src/network/ElectrumNetworkProvider.ts +5 -5
- package/src/network/NetworkProvider.ts +2 -2
- package/src/network/Rpc.test.ts +3 -4
- package/src/network/constant.ts +4 -4
- package/src/network/getRelayFeeCache.ts +2 -2
- package/src/rate/ExchangeRate.test.ts +2 -44
- package/src/rate/ExchangeRate.ts +5 -2
- package/src/transaction/Wif.ts +59 -52
- package/src/transaction/allocateFee.test.ts +110 -131
- package/src/transaction/allocateFee.ts +14 -15
- package/src/util/amountInSatoshi.test.ts +1 -9
- package/src/util/amountInSatoshi.ts +6 -10
- package/src/util/asSendRequestObject.ts +12 -7
- package/src/util/checkUtxos.ts +21 -26
- package/src/util/convert.ts +18 -0
- package/src/util/deriveCashaddr.ts +8 -0
- package/src/util/deriveNetwork.ts +1 -1
- package/src/util/derivePublicKeyHash.test.ts +0 -13
- package/src/util/hd.ts +16 -0
- package/src/util/index.ts +3 -7
- package/src/util/satoshiToAmount.test.ts +1 -1
- package/src/util/satoshiToAmount.ts +4 -10
- package/src/util/sumSendRequestAmounts.ts +3 -4
- package/src/util/sumUtxoValue.ts +7 -7
- package/src/wallet/Base.ts +147 -420
- package/src/wallet/Cashtokens.test.headless.js +11 -11
- package/src/wallet/Cashtokens.test.ts +36 -37
- package/src/wallet/HDWallet.test.ts +515 -0
- package/src/wallet/HDWallet.ts +764 -0
- package/src/wallet/Util.ts +1 -1
- package/src/wallet/Watch.ts +447 -0
- package/src/wallet/Wif.bip39.test.ts +1 -1
- package/src/wallet/Wif.test.ts +108 -133
- package/src/wallet/Wif.ts +258 -283
- package/src/wallet/createWallet.ts +28 -18
- package/src/wallet/interface.ts +5 -6
- package/src/wallet/model.test.ts +4 -7
- package/src/wallet/model.ts +19 -51
- package/dist/module/history/electrumTransformer.d.ts.map +0 -1
- package/dist/module/history/electrumTransformer.js.map +0 -1
- package/dist/module/util/balanceObjectFromSatoshi.d.ts +0 -8
- package/dist/module/util/balanceObjectFromSatoshi.d.ts.map +0 -1
- package/dist/module/util/balanceObjectFromSatoshi.js +0 -35
- package/dist/module/util/balanceObjectFromSatoshi.js.map +0 -1
- package/src/util/balanceObjectFromSatoshi.test.ts +0 -58
- package/src/util/balanceObjectFromSatoshi.ts +0 -52
|
@@ -1,90 +1,26 @@
|
|
|
1
1
|
//#region Imports
|
|
2
|
-
import { deriveSeedFromBip39Mnemonic, encodeHdPublicKey, generateBip39Mnemonic, hexToBin, secp256k1, } from "@bitauth/libauth";
|
|
3
|
-
import { binToHex, CashAddressNetworkPrefix, decodePrivateKeyWif, deriveHdPath, deriveHdPrivateNodeFromSeed, deriveHdPublicNode, encodePrivateKeyWif, generatePrivateKey, } from "@bitauth/libauth";
|
|
2
|
+
import { assertSuccess, binToHex, CashAddressNetworkPrefix, decodePrivateKeyWif, deriveHdPath, deriveHdPrivateNodeFromSeed, deriveHdPublicNode, deriveSeedFromBip39Mnemonic, encodeHdPublicKey, encodePrivateKeyWif, generateBip39Mnemonic, generatePrivateKey, hexToBin, secp256k1, } from "@bitauth/libauth";
|
|
4
3
|
import { NetworkType } from "../enum.js";
|
|
5
4
|
import { WalletTypeEnum } from "./enum.js";
|
|
6
5
|
import { XPubKey, } from "./model.js";
|
|
7
6
|
import { signUnsignedTransaction } from "../transaction/Wif.js";
|
|
8
7
|
import { DERIVATION_PATHS } from "../constant.js";
|
|
9
|
-
import { SignedMessage } from "../message/index.js";
|
|
10
8
|
import { checkForEmptySeed } from "../util/checkForEmptySeed.js";
|
|
11
9
|
import { checkWifNetwork } from "../util/checkWifNetwork.js";
|
|
12
|
-
import { deriveCashaddr, deriveTokenaddr } from "../util/deriveCashaddr.js";
|
|
13
|
-
import { derivePublicKeyHash } from "../util/derivePublicKeyHash.js";
|
|
14
|
-
import { getXPubKey } from "../util/getXPubKey.js";
|
|
15
10
|
import { generateRandomBytes } from "../util/randomBytes.js";
|
|
16
11
|
import { Config } from "../config.js";
|
|
17
|
-
import {
|
|
18
|
-
import { BaseWallet } from "./Base.js";
|
|
19
|
-
//#endregion Imports
|
|
12
|
+
import { WatchWallet } from "./Watch.js";
|
|
20
13
|
/**
|
|
21
14
|
* Class to manage a bitcoin cash wallet.
|
|
22
15
|
*/
|
|
23
|
-
export class Wallet extends
|
|
24
|
-
static { this.signedMessage = new SignedMessage(); }
|
|
25
|
-
//#region Accessors
|
|
26
|
-
// Get mnemonic and derivation path for wallet
|
|
27
|
-
getSeed() {
|
|
28
|
-
if (!this.mnemonic) {
|
|
29
|
-
throw Error("Wallet mnemonic seed phrase not set");
|
|
30
|
-
}
|
|
31
|
-
if (!this.derivationPath) {
|
|
32
|
-
throw Error("Wallet derivation path not set");
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
seed: this.mnemonic,
|
|
36
|
-
derivationPath: this.derivationPath,
|
|
37
|
-
parentDerivationPath: this.parentDerivationPath,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
// Return wallet info
|
|
41
|
-
getInfo() {
|
|
42
|
-
return {
|
|
43
|
-
cashaddr: this.cashaddr,
|
|
44
|
-
tokenaddr: this.tokenaddr,
|
|
45
|
-
isTestnet: this.isTestnet,
|
|
46
|
-
name: this.name,
|
|
47
|
-
network: this.network,
|
|
48
|
-
seed: this.mnemonic ? this.getSeed().seed : undefined,
|
|
49
|
-
derivationPath: this.mnemonic ? this.getSeed().derivationPath : undefined,
|
|
50
|
-
parentDerivationPath: this.mnemonic
|
|
51
|
-
? this.getSeed().parentDerivationPath
|
|
52
|
-
: undefined,
|
|
53
|
-
parentXPubKey: this.parentXPubKey ? this.parentXPubKey : undefined,
|
|
54
|
-
publicKey: this.publicKey ? binToHex(this.publicKey) : undefined,
|
|
55
|
-
publicKeyHash: binToHex(this.publicKeyHash),
|
|
56
|
-
privateKey: this.privateKey ? binToHex(this.privateKey) : undefined,
|
|
57
|
-
privateKeyWif: this.privateKeyWif,
|
|
58
|
-
walletId: this.toString(),
|
|
59
|
-
walletDbEntry: this.toDbString(),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
// returns the public key hash for an address
|
|
63
|
-
getPublicKey(hex = false) {
|
|
64
|
-
if (this.publicKey) {
|
|
65
|
-
return hex ? binToHex(this.publicKey) : this.publicKey;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
throw Error("The public key for this wallet is not known, perhaps the wallet was created to watch the *hash* of a public key? i.e. a cashaddress.");
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// returns the public key hash for an address
|
|
72
|
-
getPublicKeyCompressed(hex = false) {
|
|
73
|
-
if (this.publicKeyCompressed) {
|
|
74
|
-
return hex
|
|
75
|
-
? binToHex(this.publicKeyCompressed)
|
|
76
|
-
: this.publicKeyCompressed;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
throw Error("The compressed public key for this wallet is not known, perhaps the wallet was created to watch the *hash* of a public key? i.e. a cashaddress.");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//#endregion
|
|
16
|
+
export class Wallet extends WatchWallet {
|
|
83
17
|
//#region Constructors and Statics
|
|
84
18
|
constructor(name = "", network = NetworkType.Mainnet, walletType = WalletTypeEnum.Seed) {
|
|
85
|
-
super(network);
|
|
19
|
+
super(name, network);
|
|
86
20
|
this.derivationPath = Config.DefaultParentDerivationPath + "/0/0";
|
|
87
21
|
this.parentDerivationPath = Config.DefaultParentDerivationPath;
|
|
22
|
+
//#endregion Constructors
|
|
23
|
+
//#region Protected implementations
|
|
88
24
|
this.fromId = async (walletId) => {
|
|
89
25
|
const [walletType, networkGiven, arg1, arg2] = walletId.split(":");
|
|
90
26
|
if (this.network !== networkGiven) {
|
|
@@ -127,6 +63,187 @@ export class Wallet extends BaseWallet {
|
|
|
127
63
|
// @ts-ignore
|
|
128
64
|
this.walletType = walletType;
|
|
129
65
|
}
|
|
66
|
+
/// Initialize the wallet given the options mnemonic, privateKey or publicKey variations
|
|
67
|
+
/// If none provided, a new random mnemonic will be generated
|
|
68
|
+
/// If mnemonic or private key provided, the wallet will be able to sign transactions
|
|
69
|
+
/// Otherwise, the wallet will be watch-only
|
|
70
|
+
/// This internal method is called by the various static constructors
|
|
71
|
+
async initialize({ name = "", mnemonic = undefined, derivationPath = undefined, privateKey = undefined, privateKeyWif = undefined, publicKey = undefined, publicKeyCompressed = undefined, publicKeyHash = undefined, address = undefined, } = {}) {
|
|
72
|
+
// seed wallet
|
|
73
|
+
if (this.walletType === WalletTypeEnum.Seed && !mnemonic) {
|
|
74
|
+
mnemonic = generateBip39Mnemonic();
|
|
75
|
+
}
|
|
76
|
+
if (mnemonic?.length) {
|
|
77
|
+
mnemonic = mnemonic.trim().toLowerCase();
|
|
78
|
+
if (mnemonic.split(" ").length !== 12) {
|
|
79
|
+
throw Error("Invalid mnemonic");
|
|
80
|
+
}
|
|
81
|
+
if (derivationPath) {
|
|
82
|
+
// @ts-ignore
|
|
83
|
+
this.derivationPath = derivationPath;
|
|
84
|
+
// If the derivation path is for the first account child, set the parent derivation path
|
|
85
|
+
const path = derivationPath.split("/");
|
|
86
|
+
if (path.slice(-2).join("/") == "0/0") {
|
|
87
|
+
// @ts-ignore
|
|
88
|
+
this.parentDerivationPath = path.slice(0, -2).join("/");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
derivationPath = Config.DefaultParentDerivationPath + "/0/0";
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
this.parentDerivationPath = Config.DefaultParentDerivationPath;
|
|
95
|
+
}
|
|
96
|
+
// @ts-ignore
|
|
97
|
+
this.mnemonic = mnemonic;
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
this.derivationPath = derivationPath;
|
|
100
|
+
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
101
|
+
checkForEmptySeed(seed);
|
|
102
|
+
const rootNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
103
|
+
assumeValidity: true,
|
|
104
|
+
throwErrors: true,
|
|
105
|
+
});
|
|
106
|
+
const parentNode = deriveHdPath(rootNode, this.parentDerivationPath);
|
|
107
|
+
// @ts-ignore
|
|
108
|
+
this.parentXPubKey = assertSuccess(encodeHdPublicKey({
|
|
109
|
+
node: deriveHdPublicNode(parentNode),
|
|
110
|
+
network: this.network === NetworkType.Mainnet ? "mainnet" : "testnet",
|
|
111
|
+
})).hdPublicKey;
|
|
112
|
+
const childNode = deriveHdPath(rootNode, this.derivationPath);
|
|
113
|
+
privateKey = childNode.privateKey;
|
|
114
|
+
}
|
|
115
|
+
// privkey wallet
|
|
116
|
+
if (this.walletType === WalletTypeEnum.PrivateKey && !privateKey) {
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
|
|
119
|
+
}
|
|
120
|
+
if (privateKey?.length) {
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
this.privateKey = privateKey;
|
|
123
|
+
privateKeyWif = encodePrivateKeyWif(privateKey, this.network === NetworkType.Regtest
|
|
124
|
+
? NetworkType.Testnet
|
|
125
|
+
: this.network);
|
|
126
|
+
}
|
|
127
|
+
// wif wallet
|
|
128
|
+
if (this.walletType === WalletTypeEnum.Wif && !privateKeyWif) {
|
|
129
|
+
// @ts-ignore
|
|
130
|
+
this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
|
|
131
|
+
privateKeyWif = encodePrivateKeyWif(this.privateKey, this.network === NetworkType.Regtest
|
|
132
|
+
? NetworkType.Testnet
|
|
133
|
+
: this.network);
|
|
134
|
+
}
|
|
135
|
+
if (privateKeyWif?.length) {
|
|
136
|
+
checkWifNetwork(privateKeyWif, this.network);
|
|
137
|
+
// @ts-ignore
|
|
138
|
+
this.privateKeyWif = privateKeyWif;
|
|
139
|
+
if (!this.privateKey) {
|
|
140
|
+
// @ts-ignore
|
|
141
|
+
this.privateKey = assertSuccess(decodePrivateKeyWif(privateKeyWif)).privateKey;
|
|
142
|
+
}
|
|
143
|
+
publicKey = assertSuccess(secp256k1.derivePublicKeyUncompressed(this.privateKey));
|
|
144
|
+
publicKeyCompressed = assertSuccess(secp256k1.compressPublicKey(publicKey));
|
|
145
|
+
}
|
|
146
|
+
// rest cases are for watch wallets
|
|
147
|
+
return super.initialize({
|
|
148
|
+
name,
|
|
149
|
+
publicKey,
|
|
150
|
+
publicKeyCompressed,
|
|
151
|
+
publicKeyHash,
|
|
152
|
+
address,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
//#endregion Constructors and Statics
|
|
156
|
+
//#region Accessors
|
|
157
|
+
// Get mnemonic and derivation path for wallet
|
|
158
|
+
getSeed() {
|
|
159
|
+
if (!this.mnemonic) {
|
|
160
|
+
throw Error("Wallet mnemonic seed phrase not set");
|
|
161
|
+
}
|
|
162
|
+
if (!this.derivationPath) {
|
|
163
|
+
throw Error("Wallet derivation path not set");
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
seed: this.mnemonic,
|
|
167
|
+
derivationPath: this.derivationPath,
|
|
168
|
+
parentDerivationPath: this.parentDerivationPath,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
// Return wallet info
|
|
172
|
+
getInfo() {
|
|
173
|
+
return {
|
|
174
|
+
cashaddr: this.cashaddr,
|
|
175
|
+
tokenaddr: this.tokenaddr,
|
|
176
|
+
isTestnet: this.isTestnet,
|
|
177
|
+
name: this.name,
|
|
178
|
+
network: this.network,
|
|
179
|
+
seed: this.mnemonic ? this.getSeed().seed : undefined,
|
|
180
|
+
derivationPath: this.mnemonic ? this.getSeed().derivationPath : undefined,
|
|
181
|
+
parentDerivationPath: this.mnemonic
|
|
182
|
+
? this.getSeed().parentDerivationPath
|
|
183
|
+
: undefined,
|
|
184
|
+
parentXPubKey: this.parentXPubKey ? this.parentXPubKey : undefined,
|
|
185
|
+
publicKey: this.publicKey ? binToHex(this.publicKey) : undefined,
|
|
186
|
+
publicKeyHash: binToHex(this.publicKeyHash),
|
|
187
|
+
privateKey: this.privateKey ? binToHex(this.privateKey) : undefined,
|
|
188
|
+
privateKeyWif: this.privateKeyWif,
|
|
189
|
+
walletId: this.toString(),
|
|
190
|
+
walletDbEntry: this.toDbString(),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
// Get common xpub paths from zerothChild privateKey
|
|
194
|
+
async deriveHdPaths(hdPaths) {
|
|
195
|
+
if (!this.mnemonic)
|
|
196
|
+
throw Error("refusing to create wallet from empty mnemonic");
|
|
197
|
+
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
198
|
+
checkForEmptySeed(seed);
|
|
199
|
+
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
200
|
+
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
|
201
|
+
throwErrors: true,
|
|
202
|
+
});
|
|
203
|
+
const result = [];
|
|
204
|
+
for (const path of hdPaths) {
|
|
205
|
+
if (path === "m") {
|
|
206
|
+
throw Error("Storing or sharing of parent public key may lead to loss of funds. Storing or sharing *root* parent public keys is strongly discouraged, although all parent keys have risk. See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#implications");
|
|
207
|
+
}
|
|
208
|
+
const childNode = deriveHdPath(hdNode, path);
|
|
209
|
+
if (typeof childNode === "string") {
|
|
210
|
+
throw Error(childNode);
|
|
211
|
+
}
|
|
212
|
+
const node = deriveHdPublicNode(childNode);
|
|
213
|
+
if (typeof node === "string") {
|
|
214
|
+
throw Error(node);
|
|
215
|
+
}
|
|
216
|
+
const xPubKey = encodeHdPublicKey({
|
|
217
|
+
network: this.network,
|
|
218
|
+
node: node,
|
|
219
|
+
}, {
|
|
220
|
+
throwErrors: true,
|
|
221
|
+
}).hdPublicKey;
|
|
222
|
+
const key = new XPubKey({
|
|
223
|
+
path: path,
|
|
224
|
+
xPubKey: xPubKey,
|
|
225
|
+
});
|
|
226
|
+
result.push(await key.ready());
|
|
227
|
+
}
|
|
228
|
+
return await Promise.all(result).then((result) => {
|
|
229
|
+
return result;
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async getXPubKeys(paths) {
|
|
233
|
+
if (this.mnemonic) {
|
|
234
|
+
if (paths) {
|
|
235
|
+
let xPubKeys = await this.deriveHdPaths(paths);
|
|
236
|
+
return [xPubKeys];
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
return await this.deriveHdPaths(DERIVATION_PATHS);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
throw Error("xpubkeys can only be derived from seed type wallets.");
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
//#endregion
|
|
130
247
|
//#region Statics
|
|
131
248
|
/**
|
|
132
249
|
* fromId - create a wallet from encoded walletId string
|
|
@@ -161,16 +278,15 @@ export class Wallet extends BaseWallet {
|
|
|
161
278
|
/**
|
|
162
279
|
* fromSeed - create a wallet using the seed phrase and derivation path
|
|
163
280
|
*
|
|
164
|
-
* unless specified the derivation path m/44'/
|
|
165
|
-
* this derivation path is standard for Electron Cash SLP and other SLP enabled wallets
|
|
281
|
+
* unless specified the derivation path m/44'/0'/0'/0/0 will be used
|
|
166
282
|
*
|
|
167
|
-
* @param
|
|
283
|
+
* @param mnemonic BIP39 12 word seed phrase
|
|
168
284
|
* @param derivationPath BIP44 HD wallet derivation path to get a single the private key from hierarchy
|
|
169
285
|
*
|
|
170
286
|
* @returns instantiated wallet
|
|
171
287
|
*/
|
|
172
|
-
static async fromSeed(
|
|
173
|
-
return new this().fromSeed(
|
|
288
|
+
static async fromSeed(mnemonic, derivationPath) {
|
|
289
|
+
return new this().fromSeed(mnemonic, derivationPath);
|
|
174
290
|
}
|
|
175
291
|
/**
|
|
176
292
|
* newRandom - create a random wallet
|
|
@@ -185,176 +301,31 @@ export class Wallet extends BaseWallet {
|
|
|
185
301
|
static async newRandom(name = "", dbName) {
|
|
186
302
|
return new this().newRandom(name, dbName);
|
|
187
303
|
}
|
|
188
|
-
//#endregion Constructors
|
|
189
|
-
//#region Protected implementations
|
|
190
|
-
async generate() {
|
|
191
|
-
if (this.walletType === WalletTypeEnum.Wif) {
|
|
192
|
-
return await this._generateWif();
|
|
193
|
-
}
|
|
194
|
-
else if (this.walletType === WalletTypeEnum.Watch) {
|
|
195
|
-
return this;
|
|
196
|
-
}
|
|
197
|
-
else if (this.walletType === WalletTypeEnum.Hd) {
|
|
198
|
-
throw Error("Not implemented");
|
|
199
|
-
}
|
|
200
|
-
else if (this.walletType === WalletTypeEnum.Seed) {
|
|
201
|
-
return await this._generateMnemonic();
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
console.log(this.walletType);
|
|
205
|
-
throw Error(`Could not determine walletType: ${this.walletType}`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
async _generateWif() {
|
|
209
|
-
if (!this.privateKey) {
|
|
210
|
-
// @ts-ignore
|
|
211
|
-
this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
|
|
212
|
-
}
|
|
213
|
-
return this.deriveInfo();
|
|
214
|
-
}
|
|
215
|
-
async _generateMnemonic() {
|
|
216
|
-
// @ts-ignore
|
|
217
|
-
this.mnemonic = generateBip39Mnemonic();
|
|
218
|
-
if (this.mnemonic.length == 0)
|
|
219
|
-
throw Error("refusing to create wallet from empty mnemonic");
|
|
220
|
-
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
221
|
-
checkForEmptySeed(seed);
|
|
222
|
-
const network = this.isTestnet ? "testnet" : "mainnet";
|
|
223
|
-
// @ts-ignore
|
|
224
|
-
this.parentXPubKey = getXPubKey(seed, this.parentDerivationPath, network);
|
|
225
|
-
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
226
|
-
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
|
227
|
-
throwErrors: true,
|
|
228
|
-
});
|
|
229
|
-
const zerothChild = deriveHdPath(hdNode, this.derivationPath);
|
|
230
|
-
if (typeof zerothChild === "string") {
|
|
231
|
-
throw Error(zerothChild);
|
|
232
|
-
}
|
|
233
|
-
// @ts-ignore
|
|
234
|
-
this.privateKey = zerothChild.privateKey;
|
|
235
|
-
// @ts-ignore
|
|
236
|
-
this.walletType = WalletTypeEnum.Seed;
|
|
237
|
-
return await this.deriveInfo();
|
|
238
|
-
}
|
|
239
|
-
async getXPubKeys(paths) {
|
|
240
|
-
if (this.mnemonic) {
|
|
241
|
-
if (paths) {
|
|
242
|
-
let xPubKeys = await this.deriveHdPaths(paths);
|
|
243
|
-
return [xPubKeys];
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
return await this.deriveHdPaths(DERIVATION_PATHS);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
throw Error("xpubkeys can only be derived from seed type wallets.");
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
304
|
// Initialize wallet from a mnemonic phrase
|
|
254
305
|
async fromSeed(mnemonic, derivationPath) {
|
|
255
|
-
|
|
256
|
-
this.mnemonic = mnemonic.trim().toLowerCase();
|
|
257
|
-
if (this.mnemonic.length == 0)
|
|
306
|
+
if (!mnemonic.length) {
|
|
258
307
|
throw Error("refusing to create wallet from empty mnemonic");
|
|
259
|
-
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
260
|
-
checkForEmptySeed(seed);
|
|
261
|
-
if (![12, 24].includes(this.mnemonic.split(" ").length)) {
|
|
262
|
-
throw Error("Invalid mnemonic, must be 12 or 24 words");
|
|
263
308
|
}
|
|
264
|
-
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
265
|
-
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
|
266
|
-
throwErrors: true,
|
|
267
|
-
});
|
|
268
|
-
if (derivationPath) {
|
|
269
|
-
// @ts-ignore
|
|
270
|
-
this.derivationPath = derivationPath;
|
|
271
|
-
// If the derivation path is for the first account child, set the parent derivation path
|
|
272
|
-
const path = derivationPath.split("/");
|
|
273
|
-
if (path.slice(-2).join("/") == "0/0") {
|
|
274
|
-
// @ts-ignore
|
|
275
|
-
this.parentDerivationPath = path.slice(0, -2).join("/");
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
const zerothChild = deriveHdPath(hdNode, this.derivationPath);
|
|
279
|
-
if (typeof zerothChild === "string") {
|
|
280
|
-
throw Error(zerothChild);
|
|
281
|
-
}
|
|
282
|
-
// @ts-ignore
|
|
283
|
-
this.privateKey = zerothChild.privateKey;
|
|
284
|
-
const network = this.isTestnet ? "testnet" : "mainnet";
|
|
285
|
-
// @ts-ignore
|
|
286
|
-
this.parentXPubKey = await getXPubKey(seed, this.parentDerivationPath, network);
|
|
287
309
|
// @ts-ignore
|
|
288
310
|
this.walletType = WalletTypeEnum.Seed;
|
|
289
|
-
await this.
|
|
311
|
+
await this.initialize({ mnemonic, derivationPath });
|
|
290
312
|
return this;
|
|
291
313
|
}
|
|
292
|
-
// Get common xpub paths from zerothChild privateKey
|
|
293
|
-
async deriveHdPaths(hdPaths) {
|
|
294
|
-
if (!this.mnemonic)
|
|
295
|
-
throw Error("refusing to create wallet from empty mnemonic");
|
|
296
|
-
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
297
|
-
checkForEmptySeed(seed);
|
|
298
|
-
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
299
|
-
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
|
300
|
-
throwErrors: true,
|
|
301
|
-
});
|
|
302
|
-
const result = [];
|
|
303
|
-
for (const path of hdPaths) {
|
|
304
|
-
if (path === "m") {
|
|
305
|
-
throw Error("Storing or sharing of parent public key may lead to loss of funds. Storing or sharing *root* parent public keys is strongly discouraged, although all parent keys have risk. See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#implications");
|
|
306
|
-
}
|
|
307
|
-
const childNode = deriveHdPath(hdNode, path);
|
|
308
|
-
if (typeof childNode === "string") {
|
|
309
|
-
throw Error(childNode);
|
|
310
|
-
}
|
|
311
|
-
const node = deriveHdPublicNode(childNode);
|
|
312
|
-
if (typeof node === "string") {
|
|
313
|
-
throw Error(node);
|
|
314
|
-
}
|
|
315
|
-
const xPubKey = encodeHdPublicKey({
|
|
316
|
-
network: this.network,
|
|
317
|
-
node: node,
|
|
318
|
-
}, {
|
|
319
|
-
throwErrors: true,
|
|
320
|
-
}).hdPublicKey;
|
|
321
|
-
const key = new XPubKey({
|
|
322
|
-
path: path,
|
|
323
|
-
xPubKey: xPubKey,
|
|
324
|
-
});
|
|
325
|
-
result.push(await key.ready());
|
|
326
|
-
}
|
|
327
|
-
return await Promise.all(result).then((result) => {
|
|
328
|
-
return result;
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
314
|
// Initialize wallet from private key in hex or Uint8Array
|
|
332
315
|
async fromPrivateKey(privateKey) {
|
|
333
316
|
if (typeof privateKey === "string") {
|
|
334
317
|
privateKey = hexToBin(privateKey);
|
|
335
318
|
}
|
|
336
319
|
// @ts-ignore
|
|
337
|
-
this.privateKey = privateKey;
|
|
338
|
-
// @ts-ignore
|
|
339
320
|
this.walletType = WalletTypeEnum.PrivateKey;
|
|
340
|
-
await this.
|
|
321
|
+
await this.initialize({ privateKey });
|
|
341
322
|
return this;
|
|
342
323
|
}
|
|
343
324
|
// Initialize wallet from Wallet Import Format
|
|
344
|
-
async fromWIF(
|
|
345
|
-
checkWifNetwork(secret, this.network);
|
|
346
|
-
let wifResult = decodePrivateKeyWif(secret);
|
|
347
|
-
if (typeof wifResult === "string") {
|
|
348
|
-
throw Error(wifResult);
|
|
349
|
-
}
|
|
350
|
-
let resultData = wifResult;
|
|
351
|
-
// @ts-ignore
|
|
352
|
-
this.privateKey = resultData.privateKey;
|
|
353
|
-
// @ts-ignore
|
|
354
|
-
this.privateKeyWif = secret;
|
|
325
|
+
async fromWIF(privateKeyWif) {
|
|
355
326
|
// @ts-ignore
|
|
356
327
|
this.walletType = WalletTypeEnum.Wif;
|
|
357
|
-
await this.
|
|
328
|
+
await this.initialize({ privateKeyWif });
|
|
358
329
|
return this;
|
|
359
330
|
}
|
|
360
331
|
/**
|
|
@@ -369,7 +340,7 @@ export class Wallet extends BaseWallet {
|
|
|
369
340
|
return this.named(name, dbName);
|
|
370
341
|
}
|
|
371
342
|
else {
|
|
372
|
-
return this.
|
|
343
|
+
return this.initialize();
|
|
373
344
|
}
|
|
374
345
|
}
|
|
375
346
|
//#endregion Protected Implementations
|
|
@@ -418,17 +389,6 @@ export class Wallet extends BaseWallet {
|
|
|
418
389
|
}
|
|
419
390
|
//#endregion Serialization
|
|
420
391
|
//#region Funds
|
|
421
|
-
async getMaxAmountToSend(params = {
|
|
422
|
-
outputCount: 1,
|
|
423
|
-
options: {},
|
|
424
|
-
}) {
|
|
425
|
-
const { value: result } = await this._getMaxAmountToSend({
|
|
426
|
-
options: params.options,
|
|
427
|
-
outputCount: params.outputCount,
|
|
428
|
-
privateKey: this.privateKey,
|
|
429
|
-
});
|
|
430
|
-
return await balanceResponseFromSatoshi(result);
|
|
431
|
-
}
|
|
432
392
|
/**
|
|
433
393
|
* sendMax Send all available funds to a destination cash address
|
|
434
394
|
*
|
|
@@ -447,7 +407,11 @@ export class Wallet extends BaseWallet {
|
|
|
447
407
|
* @param {SendRequestOptionsI} options Options of the send requests
|
|
448
408
|
*/
|
|
449
409
|
async encodeTransaction(requests, discardChange = false, options, privateKey) {
|
|
450
|
-
|
|
410
|
+
privateKey = privateKey ?? this.privateKey;
|
|
411
|
+
if (!privateKey && options?.buildUnsigned !== true) {
|
|
412
|
+
throw new Error(`Missing private key`);
|
|
413
|
+
}
|
|
414
|
+
return super.encodeTransaction(requests, discardChange, options, privateKey);
|
|
451
415
|
}
|
|
452
416
|
async signUnsignedTransaction(transaction, sourceOutputs) {
|
|
453
417
|
if (!this.privateKey) {
|
|
@@ -456,37 +420,10 @@ export class Wallet extends BaseWallet {
|
|
|
456
420
|
return signUnsignedTransaction(transaction, sourceOutputs, this.privateKey);
|
|
457
421
|
}
|
|
458
422
|
//#endregion Funds
|
|
459
|
-
//#region Private implementation details
|
|
460
|
-
async deriveInfo() {
|
|
461
|
-
const publicKey = secp256k1.derivePublicKeyUncompressed(this.privateKey);
|
|
462
|
-
if (typeof publicKey === "string") {
|
|
463
|
-
throw new Error(publicKey);
|
|
464
|
-
}
|
|
465
|
-
// @ts-ignore
|
|
466
|
-
this.publicKey = publicKey;
|
|
467
|
-
const publicKeyCompressed = secp256k1.derivePublicKeyCompressed(this.privateKey);
|
|
468
|
-
if (typeof publicKeyCompressed === "string") {
|
|
469
|
-
throw new Error(publicKeyCompressed);
|
|
470
|
-
}
|
|
471
|
-
// @ts-ignore
|
|
472
|
-
this.publicKeyCompressed = publicKeyCompressed;
|
|
473
|
-
const networkType = this.network === NetworkType.Regtest ? NetworkType.Testnet : this.network;
|
|
474
|
-
// @ts-ignore
|
|
475
|
-
this.privateKeyWif = encodePrivateKeyWif(this.privateKey, networkType);
|
|
476
|
-
checkWifNetwork(this.privateKeyWif, this.network);
|
|
477
|
-
// @ts-ignore
|
|
478
|
-
this.cashaddr = deriveCashaddr(this.privateKey, this.networkPrefix);
|
|
479
|
-
// @ts-ignore
|
|
480
|
-
this.tokenaddr = deriveTokenaddr(this.privateKey, this.networkPrefix);
|
|
481
|
-
// @ts-ignore
|
|
482
|
-
this.publicKeyHash = derivePublicKeyHash(this.cashaddr);
|
|
483
|
-
return this;
|
|
484
|
-
}
|
|
485
|
-
//#endregion Private implementation details
|
|
486
423
|
//#region Signing
|
|
487
424
|
// Convenience wrapper to sign interface
|
|
488
|
-
|
|
489
|
-
return
|
|
425
|
+
sign(message, privateKey = undefined) {
|
|
426
|
+
return super.sign(message, privateKey ?? this.privateKey);
|
|
490
427
|
}
|
|
491
428
|
}
|
|
492
429
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HDWallet, RegTestHDWallet, TestNetHDWallet } from "./HDWallet.js";
|
|
2
|
+
import { RegTestWatchWallet, TestNetWatchWallet, WatchWallet } from "./Watch.js";
|
|
2
3
|
import { RegTestWallet, RegTestWifWallet, TestNetWallet, TestNetWifWallet, Wallet, WifWallet } from "./Wif.js";
|
|
3
4
|
import { WalletRequestI, WalletResponseI } from "./interface.js";
|
|
4
5
|
export declare const walletClassMap: {
|
|
@@ -17,6 +18,11 @@ export declare const walletClassMap: {
|
|
|
17
18
|
testnet: () => typeof TestNetWatchWallet;
|
|
18
19
|
regtest: () => typeof RegTestWatchWallet;
|
|
19
20
|
};
|
|
21
|
+
hd: {
|
|
22
|
+
mainnet: () => typeof HDWallet;
|
|
23
|
+
testnet: () => typeof TestNetHDWallet;
|
|
24
|
+
regtest: () => typeof RegTestHDWallet;
|
|
25
|
+
};
|
|
20
26
|
};
|
|
21
27
|
/**
|
|
22
28
|
* Check if wallet exists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/createWallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/createWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CA6C1B,CAAC;AAkBF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,KAAA,EACJ,UAAU,KAAA,EACV,WAAW,KAAA,GACV,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB9D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBxE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,eAAe,CAAC,CAO1B;AA0BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAajE"}
|