mainnet-js 2.3.15 → 2.4.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.
Files changed (41) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-2.3.15.js → mainnet-2.4.0.js} +15 -5
  3. package/dist/module/history/electrumTransformer.d.ts +11 -3
  4. package/dist/module/history/electrumTransformer.d.ts.map +1 -1
  5. package/dist/module/history/electrumTransformer.js +199 -195
  6. package/dist/module/history/electrumTransformer.js.map +1 -1
  7. package/dist/module/history/interface.d.ts +19 -13
  8. package/dist/module/history/interface.d.ts.map +1 -1
  9. package/dist/module/interface.d.ts +10 -1
  10. package/dist/module/interface.d.ts.map +1 -1
  11. package/dist/module/interface.js.map +1 -1
  12. package/dist/module/network/ElectrumNetworkProvider.d.ts +8 -6
  13. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
  14. package/dist/module/network/ElectrumNetworkProvider.js +28 -6
  15. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  16. package/dist/module/network/NetworkProvider.d.ts +8 -3
  17. package/dist/module/network/NetworkProvider.d.ts.map +1 -1
  18. package/dist/module/util/header.d.ts +3 -0
  19. package/dist/module/util/header.d.ts.map +1 -0
  20. package/dist/module/util/header.js +13 -0
  21. package/dist/module/util/header.js.map +1 -0
  22. package/dist/module/util/index.d.ts +1 -0
  23. package/dist/module/util/index.d.ts.map +1 -1
  24. package/dist/module/util/index.js +1 -0
  25. package/dist/module/util/index.js.map +1 -1
  26. package/dist/module/wallet/Wif.d.ts +27 -6
  27. package/dist/module/wallet/Wif.d.ts.map +1 -1
  28. package/dist/module/wallet/Wif.js +29 -7
  29. package/dist/module/wallet/Wif.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +1 -1
  32. package/src/history/electrumTransformer.test.ts +112 -55
  33. package/src/history/electrumTransformer.ts +279 -284
  34. package/src/history/interface.ts +19 -13
  35. package/src/interface.ts +11 -1
  36. package/src/network/ElectrumNetworkProvider.ts +58 -11
  37. package/src/network/NetworkProvider.ts +13 -3
  38. package/src/util/header.test.ts +34 -0
  39. package/src/util/header.ts +16 -0
  40. package/src/util/index.ts +1 -0
  41. package/src/wallet/Wif.ts +55 -21
@@ -1,5 +1,13 @@
1
+ import { UnitEnum } from "../enum.js";
1
2
  import NetworkProvider from "../network/NetworkProvider.js";
2
- import { TransactionHistoryI, TransactionHistoryItemI } from "./interface.js";
3
- export declare function getAddressHistory(cashaddr: string, provider: NetworkProvider, unit?: string, start?: number, count?: number, collapseChange?: boolean): Promise<TransactionHistoryI>;
4
- export declare function getDetailedHistory(cashaddr: string, hash: string, height: number, provider: NetworkProvider, collapseChange: boolean): Promise<TransactionHistoryItemI[]>;
3
+ import { TransactionHistoryItem } from "./interface.js";
4
+ export declare const getAddressHistory: ({ address, provider, unit, fromHeight, toHeight, start, count, }: {
5
+ address: string;
6
+ provider: NetworkProvider;
7
+ unit?: UnitEnum | undefined;
8
+ fromHeight?: number | undefined;
9
+ toHeight?: number | undefined;
10
+ start?: number | undefined;
11
+ count?: number | undefined;
12
+ }) => Promise<TransactionHistoryItem[]>;
5
13
  //# sourceMappingURL=electrumTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electrumTransformer.d.ts","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAK5D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,EACzB,IAAI,SAAQ,EACZ,KAAK,SAAI,EACT,KAAK,SAAK,EACV,cAAc,UAAO,GACpB,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAsBpC"}
1
+ {"version":3,"file":"electrumTransformer.d.ts","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"AASA,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;aASnB,MAAM;cACL,eAAe;;;;;;MAMvB,QAAQ,sBAAsB,EAAE,CAmRnC,CAAC"}
@@ -1,211 +1,215 @@
1
- import { binToHex, cashAddressToLockingBytecode, decodeTransaction, hexToBin, lockingBytecodeToCashAddress, } from "@bitauth/libauth";
2
- import { derivePrefix } from "../util/derivePublicKeyHash.js";
1
+ import { binToHex, decodeTransaction, hexToBin, lockingBytecodeToCashAddress, decodeCashAddress, } from "@bitauth/libauth";
3
2
  import { convert } from "../util/convert.js";
4
- import { bchParam } from "../chain.js";
5
- import { floor } from "../util/floor.js";
6
- export async function getAddressHistory(cashaddr, provider, unit = "sat", start = 0, count = 25, collapseChange = true) {
7
- // Get an array of raw transactions as hex
8
- let txnHashes = await provider.getHistory(cashaddr);
9
- // Assume transaction hashes will be served in chronological order
10
- // Slice count in from the end and count to the provided inputs
11
- let len = txnHashes.length;
12
- txnHashes = txnHashes.slice(len - start - count, len - start);
13
- // get the current balance in satoshis
14
- let currentBalance = await provider.getBalance(cashaddr);
15
- // Transform the hex transactions to and array of histroy item array promises.
16
- let txItemPromises = txnHashes.map((tx) => {
17
- return getDetailedHistory(cashaddr, tx.tx_hash, tx.height, provider, collapseChange);
18
- });
19
- // await the history array promises
20
- let items = await Promise.all(txItemPromises);
21
- // flatten the array of responses
22
- let preprocessedTxns = Array.prototype.concat.apply([], items);
23
- // Reverse chronological order (again), so list appear as newest first.
24
- preprocessedTxns = preprocessedTxns.reverse();
25
- // Get the factor to apply the requested unit of measure
26
- let factor = (await convert(bchParam.subUnits, "sat", unit)) / bchParam.subUnits;
27
- // Apply the unit factor and
28
- let txns = applyBalance(preprocessedTxns, currentBalance, unit, factor);
29
- return {
30
- transactions: txns,
31
- };
32
- }
33
- export async function getDetailedHistory(cashaddr, hash, height, provider, collapseChange) {
34
- let transactionHex = await provider.getRawTransaction(hash);
35
- collapseChange;
36
- let addressBytecode = cashAddressToLockingBytecode(cashaddr);
37
- if (typeof addressBytecode === "string")
38
- throw Error(addressBytecode);
39
- let transaction = decodeTransaction(hexToBin(transactionHex));
40
- if (typeof transaction === "string")
41
- throw Error(transaction);
42
- let r = [];
43
- r.push(...(await getMatchingInputs(transaction, cashaddr, height, hash, provider, collapseChange)));
44
- return r;
45
- }
46
- async function getMatchingInputs(transaction, cashaddr, height, hash, provider, collapseChange) {
47
- let addressBytecode = cashAddressToLockingBytecode(cashaddr);
48
- if (typeof addressBytecode === "string")
49
- throw Error(addressBytecode);
50
- let lockingBytecodeHex = binToHex(addressBytecode.bytecode);
51
- let prefix = derivePrefix(cashaddr);
52
- let inputUtxos = await getInputTransactions(transaction, provider);
53
- let fee = getFee(inputUtxos, transaction.outputs, lockingBytecodeHex, collapseChange);
54
- let r = [];
55
- let txIds = [];
56
- for (let input of transaction.inputs) {
57
- let outpoint = inputUtxos[transaction.inputs.indexOf(input)];
58
- // if the utxo of the input matches the address in question
59
- if (binToHex(outpoint.lockingBytecode) === lockingBytecodeHex) {
60
- for (let output of transaction.outputs) {
61
- let idx = transaction.outputs.indexOf(output);
62
- let from = lockingBytecodeToCashAddress(outpoint.lockingBytecode, prefix);
63
- // the output was change
64
- if (binToHex(output.lockingBytecode) === lockingBytecodeHex) {
65
- if (!collapseChange) {
66
- r.push({
67
- from: from,
68
- to: cashaddr,
69
- unit: "sat",
70
- index: idx,
71
- blockheight: height,
72
- txn: `${hash}`,
73
- txId: `${hash}:i:${idx}`,
74
- value: -Number(output.valueSatoshis),
75
- fee: 0,
76
- });
3
+ export const getAddressHistory = async ({ address, provider, unit = "sat", fromHeight = 0, toHeight = -1, start = 0, count = -1, }) => {
4
+ if (count === -1) {
5
+ count = 1e10;
6
+ }
7
+ const history = (await provider.getHistory(address, fromHeight, toHeight))
8
+ .sort((a, b) => a.height <= 0 || b.height <= 0 ? a.height - b.height : b.height - a.height)
9
+ .slice(start, start + count);
10
+ // fill transaction timestamps by requesting headers from network and parsing them
11
+ const heights = history
12
+ .map((tx) => tx.height)
13
+ .filter((height) => height > 0)
14
+ .filter((value, index, array) => array.indexOf(value) === index);
15
+ const timestampMap = (await Promise.all(heights.map(async (height) => [
16
+ height,
17
+ (await provider.getHeader(height, true)).timestamp,
18
+ ]))).reduce((acc, [height, timestamp]) => ({ ...acc, [height]: timestamp }), {});
19
+ // first load all transactions
20
+ const historicTransactions = await Promise.all(history.map(async (tx) => {
21
+ const txHex = (await provider.getRawTransaction(tx.tx_hash));
22
+ const transactionCommon = decodeTransaction(hexToBin(txHex));
23
+ if (typeof transactionCommon === "string") {
24
+ throw transactionCommon;
25
+ }
26
+ const transaction = transactionCommon;
27
+ transaction.blockHeight = tx.height;
28
+ transaction.timestamp = timestampMap[tx.height];
29
+ transaction.hash = tx.tx_hash;
30
+ transaction.size = txHex.length / 2;
31
+ return transaction;
32
+ }));
33
+ // then load their prevout transactions
34
+ const prevoutTransactionHashes = historicTransactions
35
+ .map((tx) => tx.inputs.map((input) => binToHex(input.outpointTransactionHash)))
36
+ .flat()
37
+ .filter((value, index, array) => array.indexOf(value) === index);
38
+ const prevoutTransactionMap = (await Promise.all(prevoutTransactionHashes.map(async (hash) => {
39
+ const txHex = (await provider.getRawTransaction(hash));
40
+ const transaction = decodeTransaction(hexToBin(txHex));
41
+ if (typeof transaction === "string") {
42
+ throw transaction;
43
+ }
44
+ return [hash, transaction];
45
+ }))).reduce((acc, [hash, transaction]) => ({
46
+ ...acc,
47
+ [hash]: transaction,
48
+ }), {});
49
+ const decoded = decodeCashAddress(address);
50
+ if (typeof decoded === "string") {
51
+ throw decoded;
52
+ }
53
+ const addressCache = {};
54
+ // map decoded transaction data to TransactionHistoryItem
55
+ const historyItems = historicTransactions.map((tx) => {
56
+ const result = {};
57
+ let inputTotalValue = 0n;
58
+ let outputTotalValue = 0n;
59
+ result.inputs = tx.inputs.map((input) => {
60
+ const prevoutTx = prevoutTransactionMap[binToHex(input.outpointTransactionHash)];
61
+ if (!prevoutTx) {
62
+ throw new Error("Could not find prevout transaction");
63
+ }
64
+ const prevoutOutput = prevoutTx.outputs[input.outpointIndex];
65
+ if (!prevoutOutput) {
66
+ throw new Error("Could not find prevout output");
67
+ }
68
+ const cached = addressCache[prevoutOutput.lockingBytecode];
69
+ let address;
70
+ if (!cached) {
71
+ address = lockingBytecodeToCashAddress(prevoutOutput.lockingBytecode, decoded.prefix);
72
+ addressCache[prevoutOutput.lockingBytecode] = address;
73
+ }
74
+ else {
75
+ address = cached;
76
+ }
77
+ inputTotalValue += prevoutOutput.valueSatoshis;
78
+ return {
79
+ address: address,
80
+ value: Number(prevoutOutput.valueSatoshis),
81
+ token: prevoutOutput.token
82
+ ? {
83
+ tokenId: binToHex(prevoutOutput.token.category),
84
+ amount: prevoutOutput.token.amount,
85
+ capability: prevoutOutput.token.nft?.capability
86
+ ? prevoutOutput.token.nft.capability
87
+ : undefined,
88
+ commitment: prevoutOutput.token.nft?.capability
89
+ ? binToHex(prevoutOutput.token.nft.commitment)
90
+ : undefined,
77
91
  }
92
+ : undefined,
93
+ };
94
+ });
95
+ result.outputs = tx.outputs.map((output) => {
96
+ const cached = addressCache[output.lockingBytecode];
97
+ let address;
98
+ if (!cached) {
99
+ if (output.valueSatoshis === 0n) {
100
+ address = `OP_RETURN: ${binToHex(output.lockingBytecode)}`;
78
101
  }
79
102
  else {
80
- if (!txIds.find((str) => str === `${hash}:i:${idx}`)) {
81
- // the utxo was sent to another address
82
- let to = lockingBytecodeToCashAddress(output.lockingBytecode, prefix);
83
- r.push({
84
- from: from,
85
- to: to,
86
- unit: "sat",
87
- index: idx,
88
- blockheight: height,
89
- txn: `${hash}`,
90
- txId: `${hash}:i:${idx}`,
91
- value: -Number(output.valueSatoshis),
92
- fee: fee,
93
- });
94
- txIds.push(`${hash}:i:${idx}`);
103
+ address = lockingBytecodeToCashAddress(output.lockingBytecode, decoded.prefix);
104
+ addressCache[output.lockingBytecode] = address;
105
+ }
106
+ }
107
+ else {
108
+ address = cached;
109
+ }
110
+ outputTotalValue += output.valueSatoshis;
111
+ return {
112
+ address: address,
113
+ value: Number(output.valueSatoshis),
114
+ token: output.token
115
+ ? {
116
+ tokenId: binToHex(output.token.category),
117
+ amount: output.token.amount,
118
+ capability: output.token.nft?.capability
119
+ ? output.token.nft.capability
120
+ : undefined,
121
+ commitment: output.token.nft?.capability
122
+ ? binToHex(output.token.nft.commitment)
123
+ : undefined,
95
124
  }
125
+ : undefined,
126
+ };
127
+ });
128
+ result.blockHeight = tx.blockHeight;
129
+ result.timestamp = tx.timestamp;
130
+ result.hash = tx.hash;
131
+ result.size = tx.size;
132
+ result.fee = Number(inputTotalValue - outputTotalValue);
133
+ return result;
134
+ });
135
+ // compute value changes
136
+ historyItems.forEach((tx) => {
137
+ let satoshiBalance = 0;
138
+ const ftTokenBalances = {};
139
+ const nftTokenBalances = {};
140
+ tx.inputs.forEach((input) => {
141
+ if (input.address === address) {
142
+ satoshiBalance -= input.value;
143
+ if (input.token?.amount) {
144
+ ftTokenBalances[input.token.tokenId] =
145
+ (ftTokenBalances[input.token.tokenId] || BigInt(0)) -
146
+ input.token.amount;
147
+ }
148
+ if (input.token?.capability) {
149
+ nftTokenBalances[input.token.tokenId] =
150
+ (nftTokenBalances[input.token.tokenId] || BigInt(0)) - 1n;
96
151
  }
97
152
  }
98
- }
99
- }
100
- // check the transaction outputs for receiving transactions
101
- for (let output of transaction.outputs) {
102
- // the output was a utxo for the address in question
103
- if (binToHex(output.lockingBytecode) === lockingBytecodeHex) {
104
- // the input was from a single address
105
- if (transaction.inputs.length == 1) {
106
- const input = transaction.inputs[0];
107
- const inHash = binToHex(input.outpointTransactionHash);
108
- const transactionHex = await provider.getRawTransaction(inHash);
109
- const inTransaction = decodeTransaction(hexToBin(transactionHex));
110
- if (typeof inTransaction === "string")
111
- throw Error(inTransaction);
112
- let outpoint = inTransaction.outputs[input.outpointIndex];
113
- let from = lockingBytecodeToCashAddress(outpoint.lockingBytecode, prefix);
114
- // if the utxo was from a different address and change is not being output...
115
- if (from !== cashaddr || !collapseChange) {
116
- r.push({
117
- from: from,
118
- to: cashaddr,
119
- unit: "sat",
120
- index: transaction.outputs.indexOf(output),
121
- blockheight: height,
122
- txn: `${hash}`,
123
- txId: `${hash}:o:${transaction.outputs.indexOf(output)}`,
124
- value: Number(output.valueSatoshis),
125
- });
153
+ });
154
+ tx.outputs.forEach((output) => {
155
+ if (output.address === address) {
156
+ satoshiBalance += Number(output.value);
157
+ if (output.token?.amount) {
158
+ ftTokenBalances[output.token.tokenId] =
159
+ (ftTokenBalances[output.token.tokenId] || BigInt(0)) +
160
+ output.token.amount;
161
+ }
162
+ if (output.token?.capability) {
163
+ nftTokenBalances[output.token.tokenId] =
164
+ (nftTokenBalances[output.token.tokenId] || BigInt(0)) + 1n;
126
165
  }
127
166
  }
167
+ });
168
+ tx.valueChange = satoshiBalance;
169
+ tx.tokenAmountChanges = Object.entries(ftTokenBalances).map(([tokenId, amount]) => ({
170
+ tokenId,
171
+ amount,
172
+ nftAmount: BigInt(0),
173
+ }));
174
+ for (const [tokenId, nftAmount] of Object.entries(nftTokenBalances)) {
175
+ const tokenChange = tx.tokenAmountChanges.find((tokenChange) => tokenChange.tokenId === tokenId);
176
+ if (tokenChange) {
177
+ tokenChange.nftAmount = nftAmount;
178
+ }
128
179
  else {
129
- let from = transaction.inputs
130
- .map((i) => `${binToHex(i.outpointTransactionHash)}:o:${i.outpointIndex}`)
131
- .join(";");
132
- r.push({
133
- from: from,
134
- to: cashaddr,
135
- unit: "sat",
136
- index: transaction.outputs.indexOf(output),
137
- blockheight: height,
138
- txn: `${hash}`,
139
- txId: `${hash}:o:${transaction.outputs.indexOf(output)}`,
140
- value: Number(output.valueSatoshis),
141
- // incoming transactions pay no fee.
142
- fee: 0,
180
+ tx.tokenAmountChanges.push({
181
+ tokenId,
182
+ amount: BigInt(0),
183
+ nftAmount,
143
184
  });
144
185
  }
145
186
  }
146
- }
147
- return r;
148
- }
149
- async function getInputTransactions(transaction, provider) {
150
- let inputTransactions = [];
151
- for (let input of transaction.inputs) {
152
- let inHash = binToHex(input.outpointTransactionHash);
153
- let transactionHex = await provider.getRawTransaction(inHash);
154
- let inTransaction = decodeTransaction(hexToBin(transactionHex));
155
- if (typeof inTransaction === "string")
156
- throw Error(inTransaction);
157
- inputTransactions.push(inTransaction.outputs[input.outpointIndex]);
158
- }
159
- return inputTransactions;
160
- }
161
- function getFee(inputUtxos, utxos, lockingBytecodeHex, collapseChange) {
162
- let inValues = 0;
163
- for (let outpoint of inputUtxos) {
164
- if (binToHex(outpoint.lockingBytecode)) {
165
- inValues += Number(outpoint.valueSatoshis);
166
- }
167
- }
168
- const outValues = utxos
169
- .map((utxo) => Number(utxo.valueSatoshis))
170
- .reduce((a, b) => a + b, 0);
171
- let fee = 0;
172
- if (collapseChange) {
173
- const nonChangeOutputs = utxos
174
- .map((output) => binToHex(output.lockingBytecode) === lockingBytecodeHex ? 0 : 1)
175
- .reduce((a, b) => a + b, 0);
176
- fee = floor((inValues - outValues) / nonChangeOutputs, 0);
177
- }
178
- else {
179
- fee = floor((inValues - outValues) / utxos.length, 0);
180
- }
181
- return fee;
182
- }
183
- function applyBalance(preprocessedTxns, currentBalance, unit, factor) {
184
- // balance in satoshis
185
- let bal = currentBalance;
186
- let r = [];
187
- for (let txn of preprocessedTxns) {
188
- // set the balance to the current balance in the appropriate unit
189
- txn.balance = bal;
190
- // If fee is not defined, configure it to zero.
191
- txn.fee = txn.fee ? txn.fee : 0;
192
- // update the running balance in satoshis for the next record
193
- // a receiving value is positive, a send is negative
194
- // The sign is reversed in cronological order from the current balance.
195
- bal -= txn.value;
196
- bal += txn.fee;
197
- // transform the value of the transaction
198
- txn.value = txn.value * factor;
199
- txn.fee = txn.fee * factor;
200
- // If unit is usd, round to two decimal places.
201
- if (unit.toLowerCase() == "usd") {
202
- txn.value = floor(txn.value, 2);
203
- txn.fee = floor(txn.fee, 2);
187
+ });
188
+ // order transactions in a way such that receives are always ordered before sends, per block
189
+ historyItems.sort((a, b) => (a.blockHeight <= 0 || b.blockHeight <= 0
190
+ ? a.blockHeight - b.blockHeight
191
+ : b.blockHeight - a.blockHeight) || a.valueChange - b.valueChange);
192
+ // backfill the balances
193
+ let prevBalance = await provider.getBalance(address);
194
+ let prevValueChange = 0;
195
+ historyItems.forEach((tx) => {
196
+ tx.balance = prevBalance - prevValueChange;
197
+ prevBalance = tx.balance;
198
+ prevValueChange = tx.valueChange;
199
+ });
200
+ // convert units if needed
201
+ if (!unit.includes("sat")) {
202
+ for (const tx of historyItems) {
203
+ for (const input of tx.inputs) {
204
+ input.value = await convert(input.value, "sat", unit);
205
+ }
206
+ for (const output of tx.outputs) {
207
+ output.value = await convert(output.value, "sat", unit);
208
+ }
209
+ tx.valueChange = await convert(tx.valueChange, "sat", unit);
210
+ tx.balance = await convert(tx.balance, "sat", unit);
204
211
  }
205
- // note the unit
206
- txn.unit = unit;
207
- r.push(txn);
208
212
  }
209
- return r;
210
- }
213
+ return historyItems;
214
+ };
211
215
  //# sourceMappingURL=electrumTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electrumTransformer.js","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electrumTransformer.js","sourceRoot":"","sources":["../../../src/history/electrumTransformer.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,23 @@
1
- import { UnitEnum } from "../enum.js";
2
- export interface TransactionHistoryItemI {
3
- to: string;
4
- from: string;
5
- unit: UnitEnum;
6
- index: number;
7
- blockheight: number;
8
- txn: string;
9
- txId: string;
1
+ import { TokenI } from "../interface.js";
2
+ export interface InOutput {
3
+ address: string;
10
4
  value: number;
11
- fee?: number;
12
- balance?: number;
5
+ token?: TokenI;
13
6
  }
14
- export interface TransactionHistoryI {
15
- transactions: TransactionHistoryItemI[];
7
+ export interface TransactionHistoryItem {
8
+ inputs: InOutput[];
9
+ outputs: InOutput[];
10
+ blockHeight: number;
11
+ timestamp?: number;
12
+ hash: string;
13
+ size: number;
14
+ fee: number;
15
+ balance: number;
16
+ valueChange: number;
17
+ tokenAmountChanges: {
18
+ tokenId: string;
19
+ amount: bigint;
20
+ nftAmount: bigint;
21
+ }[];
16
22
  }
17
23
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/history/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,uBAAuB,EAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/history/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL"}
@@ -26,10 +26,19 @@ export interface TxI {
26
26
  height: number;
27
27
  fee?: number;
28
28
  }
29
- export interface HeaderI {
29
+ export interface HexHeaderI {
30
30
  height: number;
31
31
  hex: string;
32
32
  }
33
+ export interface HeaderI {
34
+ version: number;
35
+ previousBlockHash: string;
36
+ merkleRoot: string;
37
+ timestamp: number;
38
+ bits: number;
39
+ nonce: number;
40
+ height: number;
41
+ }
33
42
  export interface TokenI {
34
43
  amount: bigint;
35
44
  tokenId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAKD,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AACF,oBAAY,OAAO,GAAG,OAAO,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AACF,oBAAY,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAKD,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AACF,oBAAY,OAAO,GAAG,OAAO,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AACF,oBAAY,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/interface.ts"],"names":[],"mappings":"AAOA,wEAAwE;AACxE,6FAA6F;AAC7F,MAAM,OAAO,GAAG,CAAmB,CAAI,EAAK,EAAE,CAAC,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmCF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/interface.ts"],"names":[],"mappings":"AAOA,wEAAwE;AACxE,6FAA6F;AAC7F,MAAM,OAAO,GAAG,CAAmB,CAAI,EAAK,EAAE,CAAC,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAC;AA6CF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAC"}