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,10 +1,11 @@
|
|
|
1
1
|
import { prefixFromNetworkMap } from "../enum.js";
|
|
2
|
+
import { getNamedWalletId } from "./Base.js";
|
|
3
|
+
import { HDWallet, RegTestHDWallet, TestNetHDWallet } from "./HDWallet.js";
|
|
2
4
|
import {
|
|
3
|
-
getNamedWalletId,
|
|
4
5
|
RegTestWatchWallet,
|
|
5
6
|
TestNetWatchWallet,
|
|
6
7
|
WatchWallet,
|
|
7
|
-
} from "./
|
|
8
|
+
} from "./Watch.js";
|
|
8
9
|
import {
|
|
9
10
|
RegTestWallet,
|
|
10
11
|
RegTestWifWallet,
|
|
@@ -50,6 +51,17 @@ export const walletClassMap = {
|
|
|
50
51
|
return RegTestWatchWallet;
|
|
51
52
|
},
|
|
52
53
|
},
|
|
54
|
+
hd: {
|
|
55
|
+
mainnet: () => {
|
|
56
|
+
return HDWallet;
|
|
57
|
+
},
|
|
58
|
+
testnet: () => {
|
|
59
|
+
return TestNetHDWallet;
|
|
60
|
+
},
|
|
61
|
+
regtest: () => {
|
|
62
|
+
return RegTestHDWallet;
|
|
63
|
+
},
|
|
64
|
+
},
|
|
53
65
|
};
|
|
54
66
|
|
|
55
67
|
/**
|
|
@@ -104,7 +116,7 @@ export async function namedWallet(
|
|
|
104
116
|
wallet = await walletClassMap[walletType][networkType]().named(name);
|
|
105
117
|
checkWalletTypeAndNetwork(wallet, walletType, networkType);
|
|
106
118
|
} else {
|
|
107
|
-
|
|
119
|
+
const walletId = await getNamedWalletId(name, dbName);
|
|
108
120
|
if (walletId !== undefined) {
|
|
109
121
|
wallet = await walletFromId(walletId);
|
|
110
122
|
wallet.name = name;
|
|
@@ -148,21 +160,20 @@ export async function replaceNamedWallet(body): Promise<Wallet> {
|
|
|
148
160
|
* @returns A promise to a new wallet object
|
|
149
161
|
*/
|
|
150
162
|
export async function createWallet(body: WalletRequestI): Promise<Wallet> {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
let networkType = body.network ? body.network : "mainnet";
|
|
163
|
+
const walletType = body.type ? body.type : "seed";
|
|
164
|
+
const networkType = body.network ? body.network : "mainnet";
|
|
154
165
|
|
|
155
166
|
// Named wallets are saved in the database
|
|
156
167
|
if (body.name && body.name.length > 0) {
|
|
157
|
-
wallet = await namedWallet(body.name, walletType, networkType);
|
|
168
|
+
const wallet = await namedWallet(body.name, walletType, networkType);
|
|
158
169
|
return wallet;
|
|
159
170
|
}
|
|
160
171
|
// This handles unsaved/unnamed wallets
|
|
161
172
|
else {
|
|
162
|
-
|
|
163
|
-
wallet =
|
|
173
|
+
const walletClass = walletClassMap[walletType][networkType]();
|
|
174
|
+
const wallet = new walletClass();
|
|
164
175
|
wallet.walletType = walletType;
|
|
165
|
-
return wallet.
|
|
176
|
+
return wallet.initialize();
|
|
166
177
|
}
|
|
167
178
|
}
|
|
168
179
|
|
|
@@ -174,7 +185,7 @@ export async function createWallet(body: WalletRequestI): Promise<Wallet> {
|
|
|
174
185
|
export async function createWalletResponse(
|
|
175
186
|
walletRequest: WalletRequestI
|
|
176
187
|
): Promise<WalletResponseI> {
|
|
177
|
-
|
|
188
|
+
const wallet = await createWallet(walletRequest);
|
|
178
189
|
if (wallet) {
|
|
179
190
|
return asJsonResponse(wallet);
|
|
180
191
|
} else {
|
|
@@ -212,17 +223,16 @@ function asJsonResponse(wallet: Wallet): WalletResponseI {
|
|
|
212
223
|
* @returns A wallet
|
|
213
224
|
*/
|
|
214
225
|
export async function walletFromId(walletId: string): Promise<any> {
|
|
215
|
-
|
|
226
|
+
const [walletType, network, name]: string[] = walletId.split(":");
|
|
216
227
|
|
|
217
228
|
if (walletType === "named") {
|
|
218
229
|
return await namedWallet(name, walletType, network);
|
|
219
230
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
let wallet = await createWallet(walletRequest);
|
|
231
|
+
|
|
232
|
+
const walletClass = walletClassMap[walletType][network]();
|
|
233
|
+
const wallet = new walletClass();
|
|
234
|
+
wallet.walletType = walletType;
|
|
235
|
+
|
|
226
236
|
await (wallet as any).fromId(walletId);
|
|
227
237
|
return wallet;
|
|
228
238
|
}
|
package/src/wallet/interface.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { WalletTypeEnum, FeePaidByEnum } from "./enum.js";
|
|
2
2
|
import { NetworkEnum } from "../enum.js";
|
|
3
3
|
import { ElectrumRawTransaction } from "../network/interface.js";
|
|
4
|
-
import {
|
|
5
|
-
import { UtxoI } from "../interface.js";
|
|
4
|
+
import { Utxo } from "../interface.js";
|
|
6
5
|
|
|
7
6
|
export interface WalletRequestI {
|
|
8
7
|
name?: string;
|
|
@@ -44,7 +43,7 @@ export interface WalletInfoI {
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
export interface SendRequestOptionsI {
|
|
47
|
-
utxoIds?: string[] |
|
|
46
|
+
utxoIds?: string[] | Utxo[];
|
|
48
47
|
changeAddress?: string;
|
|
49
48
|
slpSemiAware?: boolean; // a flag which requires an utxo to have more than 546 sats to be spendable and counted in the balance
|
|
50
49
|
queryBalance?: boolean;
|
|
@@ -52,7 +51,7 @@ export interface SendRequestOptionsI {
|
|
|
52
51
|
feePaidBy?: FeePaidByEnum;
|
|
53
52
|
checkTokenQuantities?: boolean; // true
|
|
54
53
|
tokenOperation?: "send" | "genesis" | "mint" | "burn"; // undefined. internal use only
|
|
55
|
-
ensureUtxos?:
|
|
54
|
+
ensureUtxos?: Utxo[]; // ensure these inputs will be consumed in the transaction
|
|
56
55
|
buildUnsigned?: boolean; // false
|
|
57
56
|
}
|
|
58
57
|
|
|
@@ -83,7 +82,7 @@ export interface WalletI {
|
|
|
83
82
|
// namedExists(name: string, dbName?: string): Promise<boolean>;
|
|
84
83
|
|
|
85
84
|
// Funds
|
|
86
|
-
getBalance(
|
|
85
|
+
getBalance(): Promise<any>;
|
|
87
86
|
getMaxAmountToSend(params?: any): Promise<any>;
|
|
88
87
|
send(requests: any, options?: any): Promise<any>;
|
|
89
88
|
sendMax(address: string, options?: any): Promise<any>;
|
|
@@ -97,7 +96,7 @@ export interface WaitForTransactionOptions {
|
|
|
97
96
|
|
|
98
97
|
export interface WaitForTransactionResponse {
|
|
99
98
|
transactionInfo?: ElectrumRawTransaction;
|
|
100
|
-
balance?:
|
|
99
|
+
balance?: bigint;
|
|
101
100
|
}
|
|
102
101
|
|
|
103
102
|
export type CancelFn = () => Promise<void>;
|
package/src/wallet/model.test.ts
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UtxoId } from "../interface";
|
|
2
2
|
import { fromUtxoId, toUtxoId } from "./model";
|
|
3
3
|
|
|
4
4
|
test("Should serialize utxo", () => {
|
|
5
5
|
const utxo = toUtxoId({
|
|
6
6
|
txid: "this",
|
|
7
7
|
vout: 42,
|
|
8
|
-
satoshis: 1,
|
|
9
8
|
}).toString();
|
|
10
|
-
expect(utxo).toBe("this:42
|
|
9
|
+
expect(utxo).toBe("this:42");
|
|
11
10
|
});
|
|
12
11
|
|
|
13
12
|
test("Should deserialize utxo", () => {
|
|
14
13
|
const utxo = fromUtxoId("this:42:1");
|
|
15
14
|
expect(utxo.txid).toBe("this");
|
|
16
15
|
expect(utxo.vout).toBe(42);
|
|
17
|
-
expect(utxo.satoshis).toBe(1);
|
|
18
16
|
});
|
|
19
17
|
|
|
20
18
|
test("Should deserialize utxo", () => {
|
|
21
19
|
const u = {
|
|
22
20
|
txid: "this",
|
|
23
21
|
vout: 42,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
expect(toUtxoId(u)).toBe("this:42:1");
|
|
22
|
+
} as UtxoId;
|
|
23
|
+
expect(toUtxoId(u)).toBe("this:42");
|
|
27
24
|
});
|
package/src/wallet/model.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { sanitizeUnit } from "../util/sanitizeUnit.js";
|
|
3
|
-
import { UnitEnum } from "../enum.js";
|
|
4
|
-
import { NFTCapability, UtxoI } from "../interface.js";
|
|
1
|
+
import { NFTCapability, UtxoId } from "../interface.js";
|
|
5
2
|
import { DELIMITER } from "../constant.js";
|
|
6
3
|
import {
|
|
7
4
|
Input,
|
|
@@ -28,21 +25,11 @@ export type SendRequestType =
|
|
|
28
25
|
|
|
29
26
|
export class SendRequest {
|
|
30
27
|
cashaddr: string;
|
|
31
|
-
value:
|
|
32
|
-
unit: UnitEnum;
|
|
28
|
+
value: bigint;
|
|
33
29
|
|
|
34
|
-
constructor({
|
|
35
|
-
cashaddr,
|
|
36
|
-
value,
|
|
37
|
-
unit,
|
|
38
|
-
}: {
|
|
39
|
-
cashaddr: string;
|
|
40
|
-
value: number;
|
|
41
|
-
unit: UnitEnum;
|
|
42
|
-
}) {
|
|
30
|
+
constructor({ cashaddr, value }: { cashaddr: string; value: bigint }) {
|
|
43
31
|
this.cashaddr = cashaddr;
|
|
44
|
-
this.value = value;
|
|
45
|
-
this.unit = sanitizeUnit(unit);
|
|
32
|
+
this.value = BigInt(value);
|
|
46
33
|
}
|
|
47
34
|
}
|
|
48
35
|
|
|
@@ -51,7 +38,7 @@ export class TokenGenesisRequest {
|
|
|
51
38
|
capability?: NFTCapability;
|
|
52
39
|
commitment?: string;
|
|
53
40
|
cashaddr?: string;
|
|
54
|
-
value?:
|
|
41
|
+
value?: bigint; // satoshi value
|
|
55
42
|
|
|
56
43
|
constructor({
|
|
57
44
|
amount,
|
|
@@ -64,7 +51,7 @@ export class TokenGenesisRequest {
|
|
|
64
51
|
capability?: NFTCapability;
|
|
65
52
|
commitment?: string;
|
|
66
53
|
cashaddr?: string;
|
|
67
|
-
value?:
|
|
54
|
+
value?: bigint;
|
|
68
55
|
}) {
|
|
69
56
|
this.amount = amount;
|
|
70
57
|
this.capability = capability;
|
|
@@ -104,7 +91,7 @@ export class TokenBurnRequest {
|
|
|
104
91
|
|
|
105
92
|
export class TokenSendRequest {
|
|
106
93
|
cashaddr: string; // cashaddr or tokenaddr to send tokens to
|
|
107
|
-
value?:
|
|
94
|
+
value?: bigint; // satoshi value
|
|
108
95
|
amount: bigint; // fungible token amount
|
|
109
96
|
tokenId: string;
|
|
110
97
|
capability?: NFTCapability;
|
|
@@ -119,8 +106,8 @@ export class TokenSendRequest {
|
|
|
119
106
|
commitment,
|
|
120
107
|
}: {
|
|
121
108
|
cashaddr: string;
|
|
122
|
-
value?:
|
|
123
|
-
amount?:
|
|
109
|
+
value?: bigint;
|
|
110
|
+
amount?: bigint;
|
|
124
111
|
tokenId: string;
|
|
125
112
|
capability?: NFTCapability;
|
|
126
113
|
commitment?: string;
|
|
@@ -140,7 +127,7 @@ export class TokenMintRequest {
|
|
|
140
127
|
capability?: NFTCapability;
|
|
141
128
|
commitment?: string;
|
|
142
129
|
cashaddr?: string;
|
|
143
|
-
value?:
|
|
130
|
+
value?: bigint;
|
|
144
131
|
|
|
145
132
|
constructor({
|
|
146
133
|
capability,
|
|
@@ -151,7 +138,7 @@ export class TokenMintRequest {
|
|
|
151
138
|
capability?: NFTCapability;
|
|
152
139
|
commitment?: string;
|
|
153
140
|
cashaddr?: string;
|
|
154
|
-
value?:
|
|
141
|
+
value?: bigint;
|
|
155
142
|
}) {
|
|
156
143
|
this.capability = capability;
|
|
157
144
|
this.commitment = commitment;
|
|
@@ -294,13 +281,13 @@ export class OpReturnData {
|
|
|
294
281
|
}
|
|
295
282
|
}
|
|
296
283
|
|
|
297
|
-
export type SendRequestArray = Array<string |
|
|
284
|
+
export type SendRequestArray = Array<string | bigint | Uint8Array>;
|
|
298
285
|
|
|
299
286
|
export type SourceOutput = Input & Output;
|
|
300
287
|
|
|
301
288
|
export class SendResponse {
|
|
302
289
|
txId?: string;
|
|
303
|
-
balance?:
|
|
290
|
+
balance?: bigint;
|
|
304
291
|
explorerUrl?: string;
|
|
305
292
|
tokenIds?: string[];
|
|
306
293
|
unsignedTransaction?: string; // unsigned transaction hex
|
|
@@ -343,34 +330,15 @@ export class XPubKey {
|
|
|
343
330
|
}
|
|
344
331
|
}
|
|
345
332
|
|
|
346
|
-
export const fromUtxoId = (utxoId: string):
|
|
347
|
-
const [txid, vout, satoshis
|
|
348
|
-
utxoId.split(DELIMITER);
|
|
333
|
+
export const fromUtxoId = (utxoId: string): UtxoId => {
|
|
334
|
+
const [txid, vout, satoshis] = utxoId.split(DELIMITER);
|
|
349
335
|
return {
|
|
350
|
-
satoshis: satoshis ? parseInt(satoshis) :
|
|
336
|
+
satoshis: satoshis ? BigInt(parseInt(satoshis)) : 0n,
|
|
351
337
|
vout: parseInt(vout),
|
|
352
338
|
txid,
|
|
353
|
-
|
|
354
|
-
? {
|
|
355
|
-
tokenId,
|
|
356
|
-
amount: BigInt(amount),
|
|
357
|
-
capability: capability || undefined,
|
|
358
|
-
commitment: commitment || undefined,
|
|
359
|
-
}
|
|
360
|
-
: undefined,
|
|
361
|
-
} as UtxoI;
|
|
339
|
+
} as UtxoId;
|
|
362
340
|
};
|
|
363
341
|
|
|
364
|
-
export const toUtxoId = (utxo:
|
|
365
|
-
return [
|
|
366
|
-
utxo.txid,
|
|
367
|
-
utxo.vout,
|
|
368
|
-
utxo.satoshis,
|
|
369
|
-
utxo.token?.tokenId,
|
|
370
|
-
utxo.token?.amount,
|
|
371
|
-
utxo.token?.capability,
|
|
372
|
-
utxo.token?.commitment,
|
|
373
|
-
]
|
|
374
|
-
.join(DELIMITER)
|
|
375
|
-
.replace(/:+$/, "");
|
|
342
|
+
export const toUtxoId = (utxo: UtxoId): string => {
|
|
343
|
+
return [utxo.txid, utxo.vout].join(DELIMITER).replace(/:+$/, "");
|
|
376
344
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"electrumTransformer.d.ts","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAY,MAAM,gBAAgB,CAAC;AASlE,eAAO,MAAM,iBAAiB,qEAQ3B;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,sBAAsB,EAAE,CAkTnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"electrumTransformer.js","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface BalanceResponse {
|
|
2
|
-
bch: number;
|
|
3
|
-
sat: number;
|
|
4
|
-
[currency: string]: number;
|
|
5
|
-
}
|
|
6
|
-
export declare function balanceResponseFromSatoshi(value: number, priceCache?: boolean): Promise<BalanceResponse>;
|
|
7
|
-
export declare function balanceFromSatoshi(value: number, rawUnit: string, priceCache?: boolean): Promise<number>;
|
|
8
|
-
//# sourceMappingURL=balanceObjectFromSatoshi.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"balanceObjectFromSatoshi.d.ts","sourceRoot":"","sources":["../../../src/util/balanceObjectFromSatoshi.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { bchParam } from "../chain.js";
|
|
2
|
-
import { UnitEnum } from "../enum.js";
|
|
3
|
-
import { floor } from "./floor.js";
|
|
4
|
-
import { ExchangeRate } from "../rate/ExchangeRate.js";
|
|
5
|
-
import { sanitizeUnit } from "./sanitizeUnit.js";
|
|
6
|
-
import { Config } from "../config.js";
|
|
7
|
-
export async function balanceResponseFromSatoshi(value, priceCache = true) {
|
|
8
|
-
const response = {};
|
|
9
|
-
response.bch = value / bchParam.subUnits;
|
|
10
|
-
response.sat = value;
|
|
11
|
-
const currencyValue = (value / bchParam.subUnits) *
|
|
12
|
-
(await ExchangeRate.get(Config.DefaultCurrency, priceCache));
|
|
13
|
-
response[Config.DefaultCurrency] = floor(currencyValue, 2);
|
|
14
|
-
return response;
|
|
15
|
-
}
|
|
16
|
-
export async function balanceFromSatoshi(value, rawUnit, priceCache = true) {
|
|
17
|
-
const unit = sanitizeUnit(rawUnit);
|
|
18
|
-
switch (unit) {
|
|
19
|
-
case UnitEnum.BCH:
|
|
20
|
-
return value / bchParam.subUnits;
|
|
21
|
-
case UnitEnum.SAT:
|
|
22
|
-
return value;
|
|
23
|
-
case UnitEnum.SATS:
|
|
24
|
-
return value;
|
|
25
|
-
case UnitEnum.SATOSHI:
|
|
26
|
-
return value;
|
|
27
|
-
case UnitEnum.SATOSHIS:
|
|
28
|
-
return value;
|
|
29
|
-
default:
|
|
30
|
-
const currencyValue = (value / bchParam.subUnits) *
|
|
31
|
-
(await ExchangeRate.get(Config.DefaultCurrency, priceCache));
|
|
32
|
-
return Number(currencyValue.toFixed(2));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=balanceObjectFromSatoshi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"balanceObjectFromSatoshi.js","sourceRoot":"","sources":["../../../src/util/balanceObjectFromSatoshi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtC,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAa,EACb,aAAsB,IAAI;IAE1B,MAAM,QAAQ,GAAG,EAAqB,CAAC;IAEvC,QAAQ,CAAC,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACzC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC;IACrB,MAAM,aAAa,GACjB,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,OAAe,EACf,aAAsB,IAAI;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,GAAG;YACf,OAAO,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,KAAK,QAAQ,CAAC,GAAG;YACf,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,KAAK,CAAC;QACf;YACE,MAAM,aAAa,GACjB,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC3B,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Config } from "../config";
|
|
2
|
-
import { bchParam } from "../chain";
|
|
3
|
-
import { balanceResponseFromSatoshi } from "./balanceObjectFromSatoshi";
|
|
4
|
-
import { balanceFromSatoshi } from "./balanceObjectFromSatoshi";
|
|
5
|
-
|
|
6
|
-
test("Get balanceResponse from 1 bch in satoshi", async () => {
|
|
7
|
-
let bal = await balanceResponseFromSatoshi(100000000);
|
|
8
|
-
expect(bal.bch).toBe(1);
|
|
9
|
-
expect(bal.sat).toBe(bchParam.subUnits);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test("Get balanceResponse from 0", async () => {
|
|
13
|
-
let bal = await balanceResponseFromSatoshi(0);
|
|
14
|
-
expect(bal.bch).toBe(0);
|
|
15
|
-
expect(bal.sat).toBe(0);
|
|
16
|
-
expect(bal.usd).toBe(0);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test("Get balanceResponse from 1 bch in eur", async () => {
|
|
20
|
-
Config.DefaultCurrency = "eur";
|
|
21
|
-
let bal = await balanceResponseFromSatoshi(100000000);
|
|
22
|
-
expect(bal.bch).toBe(1);
|
|
23
|
-
expect(bal.sat).toBe(bchParam.subUnits);
|
|
24
|
-
expect(bal.eur).toBeGreaterThan(0);
|
|
25
|
-
Config.DefaultCurrency = "usd";
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
test("Get balanceResponse from 1 satoshi", async () => {
|
|
29
|
-
let bal = await balanceResponseFromSatoshi(110000000);
|
|
30
|
-
expect(bal.bch).toBe(1.1);
|
|
31
|
-
expect(bal.sat).toBe(110000000);
|
|
32
|
-
expect(bal.usd!.toString()).toMatch(/\d+\.?\d{1,2}/);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
test("Get balanceResponse from 1 sat", async () => {
|
|
36
|
-
let val = await balanceFromSatoshi(1, "sat");
|
|
37
|
-
expect(val).toBe(1);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
test("Get balanceResponse from 1 sats", async () => {
|
|
41
|
-
let val = await balanceFromSatoshi(1, "sats");
|
|
42
|
-
expect(val).toBe(1);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test("Get balanceResponse from 1 satoshi", async () => {
|
|
46
|
-
let val = await balanceFromSatoshi(1, "satoshi");
|
|
47
|
-
expect(val).toBe(1);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
test("Get balanceResponse from 1 satoshis", async () => {
|
|
51
|
-
let val = await balanceFromSatoshi(1, "satoshis");
|
|
52
|
-
expect(val).toBe(1);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
test("Get balanceResponse from 1 bch", async () => {
|
|
56
|
-
let val = await balanceFromSatoshi(bchParam.subUnits, "bch");
|
|
57
|
-
expect(val).toBe(1);
|
|
58
|
-
});
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { bchParam } from "../chain.js";
|
|
2
|
-
import { UnitEnum } from "../enum.js";
|
|
3
|
-
import { floor } from "./floor.js";
|
|
4
|
-
import { ExchangeRate } from "../rate/ExchangeRate.js";
|
|
5
|
-
import { sanitizeUnit } from "./sanitizeUnit.js";
|
|
6
|
-
import { Config } from "../config.js";
|
|
7
|
-
|
|
8
|
-
export interface BalanceResponse {
|
|
9
|
-
bch: number;
|
|
10
|
-
sat: number;
|
|
11
|
-
[currency: string]: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export async function balanceResponseFromSatoshi(
|
|
15
|
-
value: number,
|
|
16
|
-
priceCache: boolean = true
|
|
17
|
-
): Promise<BalanceResponse> {
|
|
18
|
-
const response = {} as BalanceResponse;
|
|
19
|
-
|
|
20
|
-
response.bch = value / bchParam.subUnits;
|
|
21
|
-
response.sat = value;
|
|
22
|
-
const currencyValue =
|
|
23
|
-
(value / bchParam.subUnits) *
|
|
24
|
-
(await ExchangeRate.get(Config.DefaultCurrency, priceCache));
|
|
25
|
-
response[Config.DefaultCurrency] = floor(currencyValue, 2);
|
|
26
|
-
return response;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export async function balanceFromSatoshi(
|
|
30
|
-
value: number,
|
|
31
|
-
rawUnit: string,
|
|
32
|
-
priceCache: boolean = true
|
|
33
|
-
): Promise<number> {
|
|
34
|
-
const unit = sanitizeUnit(rawUnit);
|
|
35
|
-
switch (unit) {
|
|
36
|
-
case UnitEnum.BCH:
|
|
37
|
-
return value / bchParam.subUnits;
|
|
38
|
-
case UnitEnum.SAT:
|
|
39
|
-
return value;
|
|
40
|
-
case UnitEnum.SATS:
|
|
41
|
-
return value;
|
|
42
|
-
case UnitEnum.SATOSHI:
|
|
43
|
-
return value;
|
|
44
|
-
case UnitEnum.SATOSHIS:
|
|
45
|
-
return value;
|
|
46
|
-
default:
|
|
47
|
-
const currencyValue =
|
|
48
|
-
(value / bchParam.subUnits) *
|
|
49
|
-
(await ExchangeRate.get(Config.DefaultCurrency, priceCache));
|
|
50
|
-
return Number(currencyValue.toFixed(2));
|
|
51
|
-
}
|
|
52
|
-
}
|