@psf/bch-js 5.4.1 → 6.1.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.
@@ -15,137 +15,6 @@ describe('#utxo', () => {
15
15
  beforeEach(() => (sandbox = sinon.createSandbox()))
16
16
  afterEach(() => sandbox.restore())
17
17
 
18
- describe('#getOld', () => {
19
- it('should get hydrated and filtered UTXOs for an address', async () => {
20
- // Mock dependencies.
21
- sandbox.stub(bchjs.Utxo.electrumx, 'utxo').resolves(mockData.mockUtxoData)
22
- sandbox
23
- .stub(bchjs.Utxo.slp.Utils, 'hydrateUtxos')
24
- .resolves(mockData.mockHydratedUtxos)
25
-
26
- const addr = 'simpleledger:qzv3zz2trz0xgp6a96lu4m6vp2nkwag0kvyucjzqt9'
27
-
28
- const result = await bchjs.Utxo.getOld(addr)
29
- // console.log(`result: ${JSON.stringify(result, null, 2)}`)
30
-
31
- assert.isArray(result)
32
- assert.property(result[0], 'address')
33
- assert.property(result[0], 'bchUtxos')
34
- assert.property(result[0], 'nullUtxos')
35
- assert.property(result[0], 'slpUtxos')
36
- assert.isArray(result[0].bchUtxos)
37
- assert.isArray(result[0].nullUtxos)
38
- })
39
-
40
- it('should catch and throw an error', async () => {
41
- try {
42
- // Force an error
43
- sandbox
44
- .stub(bchjs.Utxo.electrumx, 'utxo')
45
- .rejects(new Error('test error'))
46
-
47
- const addr = 'simpleledger:qzv3zz2trz0xgp6a96lu4m6vp2nkwag0kvyucjzqt9'
48
-
49
- await bchjs.Utxo.getOld(addr)
50
-
51
- assert.fail('Unexpected code path')
52
- } catch (err) {
53
- assert.include(err.message, 'test error')
54
- }
55
- })
56
-
57
- it('should handle an array of addresses', async () => {
58
- // Mock dependencies.
59
- sandbox.stub(bchjs.Utxo.electrumx, 'utxo').resolves({ utxos: {} })
60
- sandbox
61
- .stub(bchjs.Utxo.slp.Utils, 'hydrateUtxos')
62
- .resolves(mockData.mockTwoHydratedAddrs)
63
-
64
- const addr = [
65
- 'simpleledger:qzv3zz2trz0xgp6a96lu4m6vp2nkwag0kvyucjzqt9',
66
- 'bitcoincash:qqh793x9au6ehvh7r2zflzguanlme760wuzehgzjh9'
67
- ]
68
-
69
- const result = await bchjs.Utxo.getOld(addr)
70
- // console.log(`result: ${JSON.stringify(result, null, 2)}`)
71
-
72
- assert.isArray(result)
73
- assert.equal(result.length, 2)
74
- assert.property(result[0], 'address')
75
- assert.property(result[0], 'bchUtxos')
76
- assert.property(result[0], 'nullUtxos')
77
- assert.property(result[0], 'slpUtxos')
78
- assert.isArray(result[0].bchUtxos)
79
- assert.isArray(result[0].nullUtxos)
80
- })
81
-
82
- it('should throw an error for array of 21 elements', async () => {
83
- try {
84
- const addr = 'simpleledger:qzv3zz2trz0xgp6a96lu4m6vp2nkwag0kvyucjzqt9'
85
-
86
- const addrs = []
87
- for (let i = 0; i < 21; i++) {
88
- addrs.push(addr)
89
- }
90
-
91
- await bchjs.Utxo.getOld(addrs)
92
-
93
- assert.fail('Unexpected code path')
94
- } catch (err) {
95
- assert.include(err.message, 'Too many elements, 20 max.')
96
- }
97
- })
98
-
99
- it('should handle NFTs and minting batons', async () => {
100
- // Mock dependencies.
101
- sandbox.stub(bchjs.Utxo.electrumx, 'utxo').resolves({ utxos: {} })
102
- sandbox
103
- .stub(bchjs.Utxo.slp.Utils, 'hydrateUtxos')
104
- .resolves(mockData.mockEveryUtxoType)
105
-
106
- const addr = 'simpleledger:qrm0c67wwqh0w7wjxua2gdt2xggnm90xwsr5k22euj'
107
-
108
- const result = await bchjs.Utxo.getOld(addr)
109
- // console.log(`result: ${JSON.stringify(result, null, 2)}`)
110
-
111
- assert.isArray(result)
112
- assert.property(result[0], 'address')
113
- assert.property(result[0], 'bchUtxos')
114
- assert.property(result[0], 'nullUtxos')
115
- assert.property(result[0], 'slpUtxos')
116
- assert.isArray(result[0].bchUtxos)
117
- assert.isArray(result[0].nullUtxos)
118
-
119
- assert.isArray(result[0].slpUtxos.type1.mintBatons)
120
- assert.isArray(result[0].slpUtxos.type1.tokens)
121
- assert.isArray(result[0].slpUtxos.nft.groupMintBatons)
122
- assert.isArray(result[0].slpUtxos.nft.groupTokens)
123
- assert.isArray(result[0].slpUtxos.nft.tokens)
124
- })
125
-
126
- it('should use the whitelist when flag is set', async () => {
127
- // Mock dependencies.
128
- sandbox.stub(bchjs.Utxo.electrumx, 'utxo').resolves(mockData.mockUtxoData)
129
- sandbox
130
- .stub(bchjs.Utxo.slp.Utils, 'hydrateUtxosWL')
131
- .resolves(mockData.mockHydratedUtxos)
132
-
133
- const addr = 'simpleledger:qzv3zz2trz0xgp6a96lu4m6vp2nkwag0kvyucjzqt9'
134
- const useWhitelist = true
135
-
136
- const result = await bchjs.Utxo.getOld(addr, useWhitelist)
137
- // console.log(`result: ${JSON.stringify(result, null, 2)}`)
138
-
139
- assert.isArray(result)
140
- assert.property(result[0], 'address')
141
- assert.property(result[0], 'bchUtxos')
142
- assert.property(result[0], 'nullUtxos')
143
- assert.property(result[0], 'slpUtxos')
144
- assert.isArray(result[0].bchUtxos)
145
- assert.isArray(result[0].nullUtxos)
146
- })
147
- })
148
-
149
18
  describe('#findBiggestUtxo', () => {
150
19
  it('should throw error for non-array input', async () => {
151
20
  try {