@ledgerhq/coin-kaspa 1.3.0-nightly.7 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +26 -67
- package/lib/logic/tests/bip32.test.d.ts +2 -0
- package/lib/logic/tests/bip32.test.d.ts.map +1 -0
- package/lib/logic/tests/bip32.test.js +108 -0
- package/lib/logic/tests/bip32.test.js.map +1 -0
- package/lib/logic/tests/getFeeRate.test.d.ts +2 -0
- package/lib/logic/tests/getFeeRate.test.d.ts.map +1 -0
- package/lib/logic/tests/getFeeRate.test.js +57 -0
- package/lib/logic/tests/getFeeRate.test.js.map +1 -0
- package/lib/logic/tests/kaspaAddresses.test.d.ts +2 -0
- package/lib/logic/tests/kaspaAddresses.test.d.ts.map +1 -0
- package/lib/logic/tests/kaspaAddresses.test.js +172 -0
- package/lib/logic/tests/kaspaAddresses.test.js.map +1 -0
- package/lib/logic/tests/massCalcluation.test.d.ts +2 -0
- package/lib/logic/tests/massCalcluation.test.d.ts.map +1 -0
- package/lib/logic/tests/massCalcluation.test.js +27 -0
- package/lib/logic/tests/massCalcluation.test.js.map +1 -0
- package/lib/logic/tests/scanAddresses.integ.test.d.ts +2 -0
- package/lib/logic/tests/scanAddresses.integ.test.d.ts.map +1 -0
- package/lib/logic/tests/scanAddresses.integ.test.js +18 -0
- package/lib/logic/tests/scanAddresses.integ.test.js.map +1 -0
- package/lib/logic/tests/scanOperations.integ.test.d.ts +2 -0
- package/lib/logic/tests/scanOperations.integ.test.d.ts.map +1 -0
- package/lib/logic/tests/scanOperations.integ.test.js +254 -0
- package/lib/logic/tests/scanOperations.integ.test.js.map +1 -0
- package/lib/logic/tests/scanOperations.test.d.ts +2 -0
- package/lib/logic/tests/scanOperations.test.d.ts.map +1 -0
- package/lib/logic/tests/scanOperations.test.js +184 -0
- package/lib/logic/tests/scanOperations.test.js.map +1 -0
- package/lib/logic/tests/scanUtxos.integ.test.d.ts +2 -0
- package/lib/logic/tests/scanUtxos.integ.test.d.ts.map +1 -0
- package/lib/logic/tests/scanUtxos.integ.test.js +13 -0
- package/lib/logic/tests/scanUtxos.integ.test.js.map +1 -0
- package/lib/logic/tests/scanUtxos.test.d.ts +2 -0
- package/lib/logic/tests/scanUtxos.test.d.ts.map +1 -0
- package/lib/logic/tests/scanUtxos.test.js +167 -0
- package/lib/logic/tests/scanUtxos.test.js.map +1 -0
- package/lib/logic/tests/utxoLib.test.d.ts +2 -0
- package/lib/logic/tests/utxoLib.test.d.ts.map +1 -0
- package/lib/logic/tests/utxoLib.test.js +26 -0
- package/lib/logic/tests/utxoLib.test.js.map +1 -0
- package/lib/logic/tests/utxoSelection.test.d.ts +10 -0
- package/lib/logic/tests/utxoSelection.test.d.ts.map +1 -0
- package/lib/logic/tests/utxoSelection.test.js +256 -0
- package/lib/logic/tests/utxoSelection.test.js.map +1 -0
- package/lib/logic/tests/validAddress.test.d.ts +2 -0
- package/lib/logic/tests/validAddress.test.d.ts.map +1 -0
- package/lib/logic/tests/validAddress.test.js +56 -0
- package/lib/logic/tests/validAddress.test.js.map +1 -0
- package/lib/network/tests/getAddressesActive.test.d.ts +2 -0
- package/lib/network/tests/getAddressesActive.test.d.ts.map +1 -0
- package/lib/network/tests/getAddressesActive.test.js +65 -0
- package/lib/network/tests/getAddressesActive.test.js.map +1 -0
- package/lib/network/tests/getBalancesForAddresss.test.d.ts +2 -0
- package/lib/network/tests/getBalancesForAddresss.test.d.ts.map +1 -0
- package/lib/network/tests/getBalancesForAddresss.test.js +40 -0
- package/lib/network/tests/getBalancesForAddresss.test.js.map +1 -0
- package/lib/network/tests/getBlockDagInfo.test.d.ts +2 -0
- package/lib/network/tests/getBlockDagInfo.test.d.ts.map +1 -0
- package/lib/network/tests/getBlockDagInfo.test.js +36 -0
- package/lib/network/tests/getBlockDagInfo.test.js.map +1 -0
- package/lib/network/tests/getFeeEstimate.test.d.ts +2 -0
- package/lib/network/tests/getFeeEstimate.test.d.ts.map +1 -0
- package/lib/network/tests/getFeeEstimate.test.js +54 -0
- package/lib/network/tests/getFeeEstimate.test.js.map +1 -0
- package/lib/network/tests/getTransactions.test.d.ts +2 -0
- package/lib/network/tests/getTransactions.test.d.ts.map +1 -0
- package/lib/network/tests/getTransactions.test.js +157 -0
- package/lib/network/tests/getTransactions.test.js.map +1 -0
- package/lib/network/tests/getUtxosForAddress.test.d.ts +2 -0
- package/lib/network/tests/getUtxosForAddress.test.d.ts.map +1 -0
- package/lib/network/tests/getUtxosForAddress.test.js +142 -0
- package/lib/network/tests/getUtxosForAddress.test.js.map +1 -0
- package/lib/network/tests/getVirtualChainBlueScore.test.d.ts +2 -0
- package/lib/network/tests/getVirtualChainBlueScore.test.d.ts.map +1 -0
- package/lib/network/tests/getVirtualChainBlueScore.test.js +27 -0
- package/lib/network/tests/getVirtualChainBlueScore.test.js.map +1 -0
- package/lib/network/tests/submitTransaction.test.d.ts +2 -0
- package/lib/network/tests/submitTransaction.test.d.ts.map +1 -0
- package/lib/network/tests/submitTransaction.test.js +43 -0
- package/lib/network/tests/submitTransaction.test.js.map +1 -0
- package/lib-es/logic/tests/bip32.test.d.ts +2 -0
- package/lib-es/logic/tests/bip32.test.d.ts.map +1 -0
- package/lib-es/logic/tests/bip32.test.js +80 -0
- package/lib-es/logic/tests/bip32.test.js.map +1 -0
- package/lib-es/logic/tests/getFeeRate.test.d.ts +2 -0
- package/lib-es/logic/tests/getFeeRate.test.d.ts.map +1 -0
- package/lib-es/logic/tests/getFeeRate.test.js +55 -0
- package/lib-es/logic/tests/getFeeRate.test.js.map +1 -0
- package/lib-es/logic/tests/kaspaAddresses.test.d.ts +2 -0
- package/lib-es/logic/tests/kaspaAddresses.test.d.ts.map +1 -0
- package/lib-es/logic/tests/kaspaAddresses.test.js +170 -0
- package/lib-es/logic/tests/kaspaAddresses.test.js.map +1 -0
- package/lib-es/logic/tests/massCalcluation.test.d.ts +2 -0
- package/lib-es/logic/tests/massCalcluation.test.d.ts.map +1 -0
- package/lib-es/logic/tests/massCalcluation.test.js +22 -0
- package/lib-es/logic/tests/massCalcluation.test.js.map +1 -0
- package/lib-es/logic/tests/scanAddresses.integ.test.d.ts +2 -0
- package/lib-es/logic/tests/scanAddresses.integ.test.d.ts.map +1 -0
- package/lib-es/logic/tests/scanAddresses.integ.test.js +16 -0
- package/lib-es/logic/tests/scanAddresses.integ.test.js.map +1 -0
- package/lib-es/logic/tests/scanOperations.integ.test.d.ts +2 -0
- package/lib-es/logic/tests/scanOperations.integ.test.d.ts.map +1 -0
- package/lib-es/logic/tests/scanOperations.integ.test.js +249 -0
- package/lib-es/logic/tests/scanOperations.integ.test.js.map +1 -0
- package/lib-es/logic/tests/scanOperations.test.d.ts +2 -0
- package/lib-es/logic/tests/scanOperations.test.d.ts.map +1 -0
- package/lib-es/logic/tests/scanOperations.test.js +156 -0
- package/lib-es/logic/tests/scanOperations.test.js.map +1 -0
- package/lib-es/logic/tests/scanUtxos.integ.test.d.ts +2 -0
- package/lib-es/logic/tests/scanUtxos.integ.test.d.ts.map +1 -0
- package/lib-es/logic/tests/scanUtxos.integ.test.js +11 -0
- package/lib-es/logic/tests/scanUtxos.integ.test.js.map +1 -0
- package/lib-es/logic/tests/scanUtxos.test.d.ts +2 -0
- package/lib-es/logic/tests/scanUtxos.test.d.ts.map +1 -0
- package/lib-es/logic/tests/scanUtxos.test.js +139 -0
- package/lib-es/logic/tests/scanUtxos.test.js.map +1 -0
- package/lib-es/logic/tests/utxoLib.test.d.ts +2 -0
- package/lib-es/logic/tests/utxoLib.test.d.ts.map +1 -0
- package/lib-es/logic/tests/utxoLib.test.js +24 -0
- package/lib-es/logic/tests/utxoLib.test.js.map +1 -0
- package/lib-es/logic/tests/utxoSelection.test.d.ts +10 -0
- package/lib-es/logic/tests/utxoSelection.test.d.ts.map +1 -0
- package/lib-es/logic/tests/utxoSelection.test.js +229 -0
- package/lib-es/logic/tests/utxoSelection.test.js.map +1 -0
- package/lib-es/logic/tests/validAddress.test.d.ts +2 -0
- package/lib-es/logic/tests/validAddress.test.d.ts.map +1 -0
- package/lib-es/logic/tests/validAddress.test.js +54 -0
- package/lib-es/logic/tests/validAddress.test.js.map +1 -0
- package/lib-es/network/tests/getAddressesActive.test.d.ts +2 -0
- package/lib-es/network/tests/getAddressesActive.test.d.ts.map +1 -0
- package/lib-es/network/tests/getAddressesActive.test.js +63 -0
- package/lib-es/network/tests/getAddressesActive.test.js.map +1 -0
- package/lib-es/network/tests/getBalancesForAddresss.test.d.ts +2 -0
- package/lib-es/network/tests/getBalancesForAddresss.test.d.ts.map +1 -0
- package/lib-es/network/tests/getBalancesForAddresss.test.js +38 -0
- package/lib-es/network/tests/getBalancesForAddresss.test.js.map +1 -0
- package/lib-es/network/tests/getBlockDagInfo.test.d.ts +2 -0
- package/lib-es/network/tests/getBlockDagInfo.test.d.ts.map +1 -0
- package/lib-es/network/tests/getBlockDagInfo.test.js +34 -0
- package/lib-es/network/tests/getBlockDagInfo.test.js.map +1 -0
- package/lib-es/network/tests/getFeeEstimate.test.d.ts +2 -0
- package/lib-es/network/tests/getFeeEstimate.test.d.ts.map +1 -0
- package/lib-es/network/tests/getFeeEstimate.test.js +52 -0
- package/lib-es/network/tests/getFeeEstimate.test.js.map +1 -0
- package/lib-es/network/tests/getTransactions.test.d.ts +2 -0
- package/lib-es/network/tests/getTransactions.test.d.ts.map +1 -0
- package/lib-es/network/tests/getTransactions.test.js +155 -0
- package/lib-es/network/tests/getTransactions.test.js.map +1 -0
- package/lib-es/network/tests/getUtxosForAddress.test.d.ts +2 -0
- package/lib-es/network/tests/getUtxosForAddress.test.d.ts.map +1 -0
- package/lib-es/network/tests/getUtxosForAddress.test.js +140 -0
- package/lib-es/network/tests/getUtxosForAddress.test.js.map +1 -0
- package/lib-es/network/tests/getVirtualChainBlueScore.test.d.ts +2 -0
- package/lib-es/network/tests/getVirtualChainBlueScore.test.d.ts.map +1 -0
- package/lib-es/network/tests/getVirtualChainBlueScore.test.js +25 -0
- package/lib-es/network/tests/getVirtualChainBlueScore.test.js.map +1 -0
- package/lib-es/network/tests/submitTransaction.test.d.ts +2 -0
- package/lib-es/network/tests/submitTransaction.test.d.ts.map +1 -0
- package/lib-es/network/tests/submitTransaction.test.js +41 -0
- package/lib-es/network/tests/submitTransaction.test.js.map +1 -0
- package/package.json +11 -11
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { getTransactions } from "../index";
|
|
2
|
+
describe("getTransactions function", () => {
|
|
3
|
+
beforeEach(() => {
|
|
4
|
+
// Clear all mocks before each test to avoid interference
|
|
5
|
+
jest.clearAllMocks();
|
|
6
|
+
});
|
|
7
|
+
it("should fetch TXs for (burn)address from real API", async () => {
|
|
8
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
9
|
+
ok: true,
|
|
10
|
+
headers: {
|
|
11
|
+
get: jest.fn(() => ""),
|
|
12
|
+
},
|
|
13
|
+
json: async () => [
|
|
14
|
+
{
|
|
15
|
+
subnetwork_id: "0000000000000000000000000000000000000000",
|
|
16
|
+
transaction_id: "72cee02d1c323e0a9154ebac60630f7e370eb9149afaa3eab9277a284c343964",
|
|
17
|
+
hash: "f383585dd39e9459dd97c0551c359e882c8248db618b8726ff9ed57dfb165440",
|
|
18
|
+
mass: "2036",
|
|
19
|
+
block_hash: [
|
|
20
|
+
"89193a460ae5c9dfc5983b72e71ffba2699d75420e906b4475e69861d62fa124",
|
|
21
|
+
"e194ab7d88ae78a212a388309f0994c3a819dc8d0a5c1f69bd0c811c9017e4bd",
|
|
22
|
+
],
|
|
23
|
+
block_time: 1733730605449,
|
|
24
|
+
is_accepted: true,
|
|
25
|
+
accepting_block_hash: "9a2bdd094ae393f94f1a1dee87a9f467d406f8b2a7d9fd9becf9019f0e5eb922",
|
|
26
|
+
accepting_block_blue_score: 95828655,
|
|
27
|
+
inputs: [
|
|
28
|
+
{
|
|
29
|
+
transaction_id: "72cee02d1c323e0a9154ebac60630f7e370eb9149afaa3eab9277a284c343964",
|
|
30
|
+
index: 0,
|
|
31
|
+
previous_outpoint_hash: "6735abfcfeade8fdad092afd5a51ed6089b761fec30ee46a66db3a59ef009b74",
|
|
32
|
+
previous_outpoint_index: "0",
|
|
33
|
+
previous_outpoint_resolved: null,
|
|
34
|
+
previous_outpoint_address: null,
|
|
35
|
+
previous_outpoint_amount: null,
|
|
36
|
+
signature_script: "41b317450a27b848bb8e500cdacbf0fd53b1c6e7dfc9e9752e9f4a1892a8b63508f50a47e96acd45995223fb5d41e791f147d7f52fe5d13418a8a7e68cfa2c638901",
|
|
37
|
+
sig_op_count: "1",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
outputs: [
|
|
41
|
+
{
|
|
42
|
+
transaction_id: "72cee02d1c323e0a9154ebac60630f7e370eb9149afaa3eab9277a284c343964",
|
|
43
|
+
index: 0,
|
|
44
|
+
amount: 69000000,
|
|
45
|
+
script_public_key: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
46
|
+
script_public_key_address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
47
|
+
script_public_key_type: "pubkey",
|
|
48
|
+
accepting_block_hash: null,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
transaction_id: "72cee02d1c323e0a9154ebac60630f7e370eb9149afaa3eab9277a284c343964",
|
|
52
|
+
index: 1,
|
|
53
|
+
amount: 230984512,
|
|
54
|
+
script_public_key: "2055b8f71e0175003a8ad8ce895d0f0ed6ca84d131115192df4e3842c5d8b049f7ac",
|
|
55
|
+
script_public_key_address: "kaspa:qp2m3ac7q96sqw52mr8gjhg0pmtv4px3xyg4ryklfcuy93wckpylwuna456vq",
|
|
56
|
+
script_public_key_type: "pubkey",
|
|
57
|
+
accepting_block_hash: null,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
subnetwork_id: "0000000000000000000000000000000000000000",
|
|
63
|
+
transaction_id: "0ae596c60c4a8b8ff8f9397e70266f68d32effb79ad37826b958f41e40759f90",
|
|
64
|
+
hash: "92d44bdb0fcb210650f7bd62043cb9c0c2013053ac54d1f5ffcb9c016f42f2ea",
|
|
65
|
+
mass: "1624",
|
|
66
|
+
block_hash: ["46ce80a5ff71f84b2a37d7ea615cd93edc4fcacf45a7a95d1d6e51d85360a72e"],
|
|
67
|
+
block_time: 1730564218472,
|
|
68
|
+
is_accepted: true,
|
|
69
|
+
accepting_block_hash: "d16be8f74302ed5fb2ee9873cc4e916aecd3ac346639f44fd5cc4fb0ec7dd076",
|
|
70
|
+
accepting_block_blue_score: 92661331,
|
|
71
|
+
inputs: [
|
|
72
|
+
{
|
|
73
|
+
transaction_id: "0ae596c60c4a8b8ff8f9397e70266f68d32effb79ad37826b958f41e40759f90",
|
|
74
|
+
index: 0,
|
|
75
|
+
previous_outpoint_hash: "48c1f630fe28ec4be1fabb8101dade0022d74dbfadab75e52619d5dde6ffdd5f",
|
|
76
|
+
previous_outpoint_index: "0",
|
|
77
|
+
previous_outpoint_resolved: null,
|
|
78
|
+
previous_outpoint_address: null,
|
|
79
|
+
previous_outpoint_amount: null,
|
|
80
|
+
signature_script: "419e980873eae21f245208162b341bf62b4702a56d94cd0ab55014359001bf3597bf3936b3cb1634f51c232567f2fa1fdd03fefe126ede1c320e4fa2574aa2506f01",
|
|
81
|
+
sig_op_count: "1",
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
outputs: [
|
|
85
|
+
{
|
|
86
|
+
transaction_id: "0ae596c60c4a8b8ff8f9397e70266f68d32effb79ad37826b958f41e40759f90",
|
|
87
|
+
index: 0,
|
|
88
|
+
amount: 3499890212,
|
|
89
|
+
script_public_key: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
90
|
+
script_public_key_address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
91
|
+
script_public_key_type: "pubkey",
|
|
92
|
+
accepting_block_hash: null,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
subnetwork_id: "0000000000000000000000000000000000000000",
|
|
98
|
+
transaction_id: "0958e37fef35f5cc5f53e383f19a1fb589d110bd2e967a34122a48dea1232cb9",
|
|
99
|
+
hash: "7c9881a09bbacefad1f3ed199a7ff531431675dd9e479a46deb97c71aa35fe02",
|
|
100
|
+
mass: "2036",
|
|
101
|
+
block_hash: ["f926e1d1ebb621ce9dc87efca9c4bc02110dee8078ea304c21ab7c65a3d7285b"],
|
|
102
|
+
block_time: 1730187373390,
|
|
103
|
+
is_accepted: true,
|
|
104
|
+
accepting_block_hash: "7bf390afb0a46cd5cc2140540d1aea36f040613873a39fb7d86920ee8ea1cee6",
|
|
105
|
+
accepting_block_blue_score: 92283556,
|
|
106
|
+
inputs: [
|
|
107
|
+
{
|
|
108
|
+
transaction_id: "0958e37fef35f5cc5f53e383f19a1fb589d110bd2e967a34122a48dea1232cb9",
|
|
109
|
+
index: 0,
|
|
110
|
+
previous_outpoint_hash: "ba4d2b0d594e61b003036231c88abcc9a5c1f5ef2d6ea878f8b25a2ab9146d2a",
|
|
111
|
+
previous_outpoint_index: "0",
|
|
112
|
+
previous_outpoint_resolved: null,
|
|
113
|
+
previous_outpoint_address: null,
|
|
114
|
+
previous_outpoint_amount: null,
|
|
115
|
+
signature_script: "41a157a87e0a98d18fa4bd2b3a21925e4d961861b84a1be6bf37e495e49dba28406692ce0f4075c7b2ddc08edd6bb7db511ac6a2fd48e30cd88e38cc3999294ec301",
|
|
116
|
+
sig_op_count: "1",
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
outputs: [
|
|
120
|
+
{
|
|
121
|
+
transaction_id: "0958e37fef35f5cc5f53e383f19a1fb589d110bd2e967a34122a48dea1232cb9",
|
|
122
|
+
index: 0,
|
|
123
|
+
amount: 100000000,
|
|
124
|
+
script_public_key: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
125
|
+
script_public_key_address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
126
|
+
script_public_key_type: "pubkey",
|
|
127
|
+
accepting_block_hash: null,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
transaction_id: "0958e37fef35f5cc5f53e383f19a1fb589d110bd2e967a34122a48dea1232cb9",
|
|
131
|
+
index: 1,
|
|
132
|
+
amount: 1557776051,
|
|
133
|
+
script_public_key: "20ba05376ad62963e66d4a92ac2c73f8183dafcc66dc50960006359a7ad01a75cdac",
|
|
134
|
+
script_public_key_address: "kaspa:qzaq2dm26c5k8endf2f2ctrnlqvrmt7vvmw9p9sqqc6e57ksrf6u6xafdlpx5",
|
|
135
|
+
script_public_key_type: "pubkey",
|
|
136
|
+
accepting_block_hash: null,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
});
|
|
142
|
+
const address = "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e";
|
|
143
|
+
const result = await getTransactions(address);
|
|
144
|
+
expect(result.transactions.length).toBe(3);
|
|
145
|
+
});
|
|
146
|
+
it("should return an error if fetch returns a 500 response", async () => {
|
|
147
|
+
global.fetch = jest.fn().mockResolvedValue({
|
|
148
|
+
ok: false,
|
|
149
|
+
status: 500,
|
|
150
|
+
});
|
|
151
|
+
const address = "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e";
|
|
152
|
+
await expect(getTransactions(address)).rejects.toThrowError("Network response was not ok.");
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=getTransactions.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTransactions.test.js","sourceRoot":"","sources":["../../../src/network/tests/getTransactions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUtxosForAddress.test.d.ts","sourceRoot":"","sources":["../../../src/network/tests/getUtxosForAddress.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { getUtxosForAddresses } from "../index";
|
|
2
|
+
function getUtxoForOutpoint(utxos, outpoint) {
|
|
3
|
+
for (const utxo of utxos) {
|
|
4
|
+
if (utxo.outpoint.transactionId === outpoint.transactionId &&
|
|
5
|
+
utxo.outpoint.index === outpoint.index) {
|
|
6
|
+
return utxo;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
describe("getUtxosForAddress function", () => {
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
// Clear all mocks before each test to avoid interference
|
|
14
|
+
jest.clearAllMocks();
|
|
15
|
+
});
|
|
16
|
+
it("should fetch UTXOs for given address from real API", async () => {
|
|
17
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
18
|
+
ok: true,
|
|
19
|
+
json: async () => [
|
|
20
|
+
{
|
|
21
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
22
|
+
outpoint: {
|
|
23
|
+
transactionId: "402f0762218346d622bbaeaa25107ab2398733f44f2369c902b176b25fa81e37",
|
|
24
|
+
index: 0,
|
|
25
|
+
},
|
|
26
|
+
utxoEntry: {
|
|
27
|
+
amount: "5000000000000",
|
|
28
|
+
scriptPublicKey: {
|
|
29
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
30
|
+
},
|
|
31
|
+
blockDaaScore: "1490933",
|
|
32
|
+
isCoinbase: false,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
37
|
+
outpoint: {
|
|
38
|
+
transactionId: "6ef083d4a8a1d3cf31a90409f6af5fdc00264c684da80fd3aeb4f6f29684824b",
|
|
39
|
+
index: 0,
|
|
40
|
+
},
|
|
41
|
+
utxoEntry: {
|
|
42
|
+
amount: "5000000000000",
|
|
43
|
+
scriptPublicKey: {
|
|
44
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
45
|
+
},
|
|
46
|
+
blockDaaScore: "1491330",
|
|
47
|
+
isCoinbase: false,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
52
|
+
outpoint: {
|
|
53
|
+
transactionId: "4413257fa1f7884b7cd6f7b42c326da71b45f8c609c3c19609cbf00e5cc66bf4",
|
|
54
|
+
index: 0,
|
|
55
|
+
},
|
|
56
|
+
utxoEntry: {
|
|
57
|
+
amount: "10000000000",
|
|
58
|
+
scriptPublicKey: {
|
|
59
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
60
|
+
},
|
|
61
|
+
blockDaaScore: "78211249",
|
|
62
|
+
isCoinbase: false,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
});
|
|
67
|
+
const addresses = ["kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e"];
|
|
68
|
+
const result = await getUtxosForAddresses(addresses);
|
|
69
|
+
const expectedUtxos = [
|
|
70
|
+
{
|
|
71
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
72
|
+
outpoint: {
|
|
73
|
+
transactionId: "402f0762218346d622bbaeaa25107ab2398733f44f2369c902b176b25fa81e37",
|
|
74
|
+
index: 0,
|
|
75
|
+
},
|
|
76
|
+
utxoEntry: {
|
|
77
|
+
amount: "5000000000000",
|
|
78
|
+
scriptPublicKey: {
|
|
79
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
80
|
+
},
|
|
81
|
+
blockDaaScore: "1490933",
|
|
82
|
+
isCoinbase: false,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
87
|
+
outpoint: {
|
|
88
|
+
transactionId: "6ef083d4a8a1d3cf31a90409f6af5fdc00264c684da80fd3aeb4f6f29684824b",
|
|
89
|
+
index: 0,
|
|
90
|
+
},
|
|
91
|
+
utxoEntry: {
|
|
92
|
+
amount: "5000000000000",
|
|
93
|
+
scriptPublicKey: {
|
|
94
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
95
|
+
},
|
|
96
|
+
blockDaaScore: "1491330",
|
|
97
|
+
isCoinbase: false,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
address: "kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e",
|
|
102
|
+
outpoint: {
|
|
103
|
+
transactionId: "4413257fa1f7884b7cd6f7b42c326da71b45f8c609c3c19609cbf00e5cc66bf4",
|
|
104
|
+
index: 0,
|
|
105
|
+
},
|
|
106
|
+
utxoEntry: {
|
|
107
|
+
amount: "10000000000",
|
|
108
|
+
scriptPublicKey: {
|
|
109
|
+
scriptPublicKey: "200000000000000000000000000000000000000000000000000000000000000000ac",
|
|
110
|
+
},
|
|
111
|
+
blockDaaScore: "78211249",
|
|
112
|
+
isCoinbase: false,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
for (const expectedUtxo of expectedUtxos) {
|
|
117
|
+
const utxoFromResponse = getUtxoForOutpoint(result, {
|
|
118
|
+
transactionId: expectedUtxo.outpoint.transactionId,
|
|
119
|
+
index: 0,
|
|
120
|
+
});
|
|
121
|
+
expect(utxoFromResponse).not.toBeNull();
|
|
122
|
+
expect(utxoFromResponse.address).toEqual(expectedUtxo.address);
|
|
123
|
+
expect(utxoFromResponse.outpoint.transactionId).toEqual(expectedUtxo.outpoint.transactionId);
|
|
124
|
+
expect(utxoFromResponse.outpoint.index).toEqual(expectedUtxo.outpoint.index);
|
|
125
|
+
expect(utxoFromResponse.utxoEntry.amount).toEqual(expectedUtxo.utxoEntry.amount);
|
|
126
|
+
expect(utxoFromResponse.utxoEntry.scriptPublicKey.scriptPublicKey).toEqual(expectedUtxo.utxoEntry.scriptPublicKey.scriptPublicKey);
|
|
127
|
+
expect(utxoFromResponse.utxoEntry.blockDaaScore).toEqual(expectedUtxo.utxoEntry.blockDaaScore);
|
|
128
|
+
expect(utxoFromResponse.utxoEntry.isCoinbase).toEqual(expectedUtxo.utxoEntry.isCoinbase);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
it("should throw an error if the response is not ok", async () => {
|
|
132
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
133
|
+
ok: false,
|
|
134
|
+
status: 400,
|
|
135
|
+
});
|
|
136
|
+
const addresses = ["invalidAddress"];
|
|
137
|
+
await expect(getUtxosForAddresses(addresses)).rejects.toThrow();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=getUtxosForAddress.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUtxosForAddress.test.js","sourceRoot":"","sources":["../../../src/network/tests/getUtxosForAddress.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVirtualChainBlueScore.test.d.ts","sourceRoot":"","sources":["../../../src/network/tests/getVirtualChainBlueScore.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getVirtualChainBlueScore } from "../index";
|
|
2
|
+
describe("getVirtualChainBlueScore", () => {
|
|
3
|
+
beforeEach(() => {
|
|
4
|
+
// Clear all mocks before each test to avoid interference
|
|
5
|
+
jest.clearAllMocks();
|
|
6
|
+
});
|
|
7
|
+
it("should return the blue score from the API response", async () => {
|
|
8
|
+
// Mock the global fetch function
|
|
9
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
10
|
+
ok: true,
|
|
11
|
+
json: async () => ({ blueScore: 12345 }),
|
|
12
|
+
});
|
|
13
|
+
const result = await getVirtualChainBlueScore();
|
|
14
|
+
expect(result).toBe(12345);
|
|
15
|
+
});
|
|
16
|
+
it("should throw an error when the fetch fails", async () => {
|
|
17
|
+
// Mock a failed fetch response
|
|
18
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
19
|
+
ok: false,
|
|
20
|
+
});
|
|
21
|
+
await expect(getVirtualChainBlueScore()).rejects.toThrow("Failed to fetch");
|
|
22
|
+
expect(global.fetch).toHaveBeenCalledTimes(1);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=getVirtualChainBlueScore.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVirtualChainBlueScore.test.js","sourceRoot":"","sources":["../../../src/network/tests/getVirtualChainBlueScore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,yDAAyD;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,iCAAiC;QACjC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;YAC7C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,wBAAwB,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,+BAA+B;QAC/B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;YAC7C,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitTransaction.test.d.ts","sourceRoot":"","sources":["../../../src/network/tests/submitTransaction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { submitTransaction } from "../index";
|
|
2
|
+
describe("submitTransaction function", () => {
|
|
3
|
+
beforeEach(() => {
|
|
4
|
+
// Clear all mocks before each test to avoid interference
|
|
5
|
+
jest.clearAllMocks();
|
|
6
|
+
});
|
|
7
|
+
it("Gets information about addresses being active or not", async () => {
|
|
8
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
9
|
+
ok: true,
|
|
10
|
+
json: async () => ({
|
|
11
|
+
transactionId: "396f29c47bdd95dddbe868203ce905535a3de1b48af7adeb40b769662885c008",
|
|
12
|
+
}),
|
|
13
|
+
});
|
|
14
|
+
const transactionDetails = {
|
|
15
|
+
dummy: "data",
|
|
16
|
+
};
|
|
17
|
+
const result = await submitTransaction(JSON.stringify(transactionDetails));
|
|
18
|
+
const expectedResult = {
|
|
19
|
+
txId: "396f29c47bdd95dddbe868203ce905535a3de1b48af7adeb40b769662885c008",
|
|
20
|
+
};
|
|
21
|
+
expect(result).toEqual(expectedResult);
|
|
22
|
+
});
|
|
23
|
+
it("Throws an error if the response is not ok", async () => {
|
|
24
|
+
global.fetch = jest.fn().mockResolvedValueOnce({
|
|
25
|
+
ok: false,
|
|
26
|
+
status: 500,
|
|
27
|
+
});
|
|
28
|
+
const transactionDetails = {
|
|
29
|
+
dummy: "data",
|
|
30
|
+
};
|
|
31
|
+
await expect(submitTransaction(JSON.stringify(transactionDetails))).rejects.toThrow("Failed to submit transaction. Status: 500");
|
|
32
|
+
});
|
|
33
|
+
it("Throws an error if there is an exception while submitting", async () => {
|
|
34
|
+
global.fetch = jest.fn().mockRejectedValueOnce(new Error("Network error"));
|
|
35
|
+
const transactionDetails = {
|
|
36
|
+
dummy: "data",
|
|
37
|
+
};
|
|
38
|
+
await expect(submitTransaction(JSON.stringify(transactionDetails))).rejects.toThrow("Error submitting transaction: Error: Network error");
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=submitTransaction.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitTransaction.test.js","sourceRoot":"","sources":["../../../src/network/tests/submitTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,yDAAyD;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;YAC7C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,aAAa,EAAE,kEAAkE;aAClF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG;YACzB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAE3E,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,kEAAkE;SACzE,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;YAC7C,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG;YACzB,KAAK,EAAE,MAAM;SACd,CAAC;QAEF,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjF,2CAA2C,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAE3E,MAAM,kBAAkB,GAAG;YACzB,KAAK,EAAE,MAAM;SACd,CAAC;QAEF,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjF,oDAAoD,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-kaspa",
|
|
3
|
-
"version": "1.3.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Ledger framework for Kaspa integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -97,15 +97,15 @@
|
|
|
97
97
|
"lru-cache": "^7.14.1",
|
|
98
98
|
"prando": "^6.0.1",
|
|
99
99
|
"rxjs": "^7.8.1",
|
|
100
|
-
"@ledgerhq/coin-framework": "^6.7.0
|
|
101
|
-
"@ledgerhq/cryptoassets": "^13.31.0
|
|
102
|
-
"@ledgerhq/devices": "8.6.
|
|
103
|
-
"@ledgerhq/errors": "^6.
|
|
104
|
-
"@ledgerhq/live-env": "^2.19.0
|
|
105
|
-
"@ledgerhq/live-network": "^2.0.20
|
|
100
|
+
"@ledgerhq/coin-framework": "^6.7.0",
|
|
101
|
+
"@ledgerhq/cryptoassets": "^13.31.0",
|
|
102
|
+
"@ledgerhq/devices": "8.6.1",
|
|
103
|
+
"@ledgerhq/errors": "^6.26.0",
|
|
104
|
+
"@ledgerhq/live-env": "^2.19.0",
|
|
105
|
+
"@ledgerhq/live-network": "^2.0.20",
|
|
106
106
|
"@ledgerhq/logs": "^6.13.0",
|
|
107
|
-
"@ledgerhq/types-cryptoassets": "^7.29.0
|
|
108
|
-
"@ledgerhq/types-live": "^6.87.0
|
|
107
|
+
"@ledgerhq/types-cryptoassets": "^7.29.0",
|
|
108
|
+
"@ledgerhq/types-live": "^6.87.0"
|
|
109
109
|
},
|
|
110
110
|
"devDependencies": {
|
|
111
111
|
"@types/invariant": "^2.2.2",
|
|
@@ -118,8 +118,8 @@
|
|
|
118
118
|
"timemachine": "^0.3.2",
|
|
119
119
|
"ts-jest": "^29.1.1",
|
|
120
120
|
"@ledgerhq/disable-network-setup": "^0.0.0",
|
|
121
|
-
"@ledgerhq/hw-transport-node-speculos": "^6.29.
|
|
122
|
-
"@ledgerhq/hw-transport-node-speculos-http": "^6.30.
|
|
121
|
+
"@ledgerhq/hw-transport-node-speculos": "^6.29.12",
|
|
122
|
+
"@ledgerhq/hw-transport-node-speculos-http": "^6.30.2"
|
|
123
123
|
},
|
|
124
124
|
"scripts": {
|
|
125
125
|
"clean": "rimraf lib lib-es",
|