@bigmi/core 0.6.3-alpha.1 → 0.6.3-alpha.3
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/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +11 -1
- package/src/version.ts +1 -1
- package/.env +0 -4
- package/CHANGELOG.md +0 -158
- package/package.json.tmp +0 -73
- package/src/chains/signet.spec.ts +0 -33
- package/src/transports/__mocks__/getTransactionFee.ts +0 -4
- package/src/transports/ankr/__mocks__/getBalance/valid.json +0 -9
- package/src/transports/ankr/__mocks__/getTransactionFee/invalid.json +0 -3
- package/src/transports/ankr/__mocks__/getTransactionFee/valid.json +0 -51
- package/src/transports/ankr/__mocks__/getTransactions/valid.json +0 -1186
- package/src/transports/ankr/ankr.spec.ts +0 -103
- package/src/transports/blockchair/__mocks__/getBalance/invalidAddress.json +0 -29
- package/src/transports/blockchair/__mocks__/getBalance/valid.json +0 -29
- package/src/transports/blockchair/__mocks__/getBalance/zeroBalance.json +0 -29
- package/src/transports/blockchair/__mocks__/getTransactionFee/invalid.json +0 -7
- package/src/transports/blockchair/__mocks__/getTransactionFee/valid.json +0 -37
- package/src/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +0 -28
- package/src/transports/blockchair/__mocks__/getUTXOs/rateLimited.json +0 -28
- package/src/transports/blockchair/__mocks__/getUTXOs/valid.json +0 -95
- package/src/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +0 -869
- package/src/transports/blockchair/blockchair.spec.ts +0 -284
- package/src/transports/blockcypher/__mocks__/getBalance/invalid.json +0 -3
- package/src/transports/blockcypher/__mocks__/getBalance/valid.json +0 -13
- package/src/transports/blockcypher/__mocks__/getTransactionFee/invalid.json +0 -3
- package/src/transports/blockcypher/__mocks__/getTransactionFee/valid.json +0 -22
- package/src/transports/blockcypher/__mocks__/getUTXOs/empty.json +0 -12
- package/src/transports/blockcypher/__mocks__/getUTXOs/paginated.json +0 -2786
- package/src/transports/blockcypher/__mocks__/getUTXOs/rateLimited.json +0 -3
- package/src/transports/blockcypher/__mocks__/getUTXOs/valid.json +0 -27
- package/src/transports/blockcypher/blockcyper.spec.ts +0 -161
- package/src/transports/fallback.spec.ts +0 -128
- package/src/transports/mempool/__mocks__/getBalance/invalid.json +0 -1
- package/src/transports/mempool/__mocks__/getBalance/valid.json +0 -17
- package/src/transports/mempool/__mocks__/getTransactionFee/invalid.json +0 -1
- package/src/transports/mempool/__mocks__/getTransactionFee/valid.json +0 -58
- package/src/transports/mempool/__mocks__/getTransactions/valid.json +0 -1268
- package/src/transports/mempool/mempool.spec.ts +0 -126
- package/tsconfig.json +0 -12
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
-
import { getBalance } from '../../actions/getBalance.js'
|
|
3
|
-
import { getTransactionFee } from '../../actions/getTransactionFee.js'
|
|
4
|
-
import { getTransactions } from '../../actions/getTransactions.js'
|
|
5
|
-
import { bitcoin } from '../../chains/bitcoin.js'
|
|
6
|
-
import { BaseError } from '../../errors/base.js'
|
|
7
|
-
import { createClient, rpcSchema } from '../../factories/createClient.js'
|
|
8
|
-
import { createMockResponse } from '../../test/utils.js'
|
|
9
|
-
import {
|
|
10
|
-
INVALID_TX_ID,
|
|
11
|
-
TX_FEE,
|
|
12
|
-
VALID_TX_ID,
|
|
13
|
-
} from '../__mocks__/getTransactionFee.js'
|
|
14
|
-
import type { UTXOSchema } from '../types.js'
|
|
15
|
-
import getBalanceInValidResponse from './__mocks__/getBalance/invalid.json'
|
|
16
|
-
import getBalanceValidResponse from './__mocks__/getBalance/valid.json'
|
|
17
|
-
import getTransactionFeeInvalidResponse from './__mocks__/getTransactionFee/invalid.json'
|
|
18
|
-
import getTransactionFeeValidResponse from './__mocks__/getTransactionFee/valid.json'
|
|
19
|
-
import getTransactionsValidResponse from './__mocks__/getTransactions/valid.json'
|
|
20
|
-
import { mempool } from './mempool.js'
|
|
21
|
-
import type {
|
|
22
|
-
MempoolBalanceResponse,
|
|
23
|
-
MempoolErrorResponse,
|
|
24
|
-
MempoolUTXOTransactionsResponse,
|
|
25
|
-
} from './mempool.types.js'
|
|
26
|
-
|
|
27
|
-
const address = import.meta.env.VITE_TEST_ADDRESS
|
|
28
|
-
|
|
29
|
-
const USE_MOCK = true
|
|
30
|
-
|
|
31
|
-
const publicClient = createClient({
|
|
32
|
-
chain: bitcoin,
|
|
33
|
-
rpcSchema: rpcSchema<UTXOSchema>(),
|
|
34
|
-
transport: mempool(),
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
describe('Mempool Transport', () => {
|
|
38
|
-
beforeEach(() => {
|
|
39
|
-
vi.restoreAllMocks()
|
|
40
|
-
})
|
|
41
|
-
describe('getBalance action', async () => {
|
|
42
|
-
it('should fetch correct balance', async () => {
|
|
43
|
-
vi.spyOn(global, 'fetch').mockResolvedValue(
|
|
44
|
-
createMockResponse(getBalanceValidResponse as MempoolBalanceResponse)
|
|
45
|
-
)
|
|
46
|
-
const balance = await getBalance(publicClient, { address })
|
|
47
|
-
expect(balance).toBeTypeOf('bigint')
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
it('should throw an error for invalid address response', async () => {
|
|
51
|
-
vi.spyOn(global, 'fetch').mockResolvedValue(
|
|
52
|
-
createMockResponse(getBalanceInValidResponse as MempoolErrorResponse)
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
const nonExistentAddress =
|
|
56
|
-
'1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNaNUIBNSUENopnoidsacn'
|
|
57
|
-
await expect(
|
|
58
|
-
getBalance(publicClient, { address: nonExistentAddress })
|
|
59
|
-
).rejects.toThrow()
|
|
60
|
-
})
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
describe('getTransactions action', async () => {
|
|
64
|
-
it('should get transactions', async () => {
|
|
65
|
-
vi.spyOn(global, 'fetch').mockImplementation((request) => {
|
|
66
|
-
const url = new URL(request.toString())
|
|
67
|
-
|
|
68
|
-
if (url.pathname.endsWith(`/address/${address}`)) {
|
|
69
|
-
return Promise.resolve(
|
|
70
|
-
createMockResponse(
|
|
71
|
-
getBalanceValidResponse as MempoolBalanceResponse
|
|
72
|
-
)
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (url.pathname.includes(`/address/${address}/txs`)) {
|
|
77
|
-
return Promise.resolve(
|
|
78
|
-
createMockResponse(
|
|
79
|
-
getTransactionsValidResponse as MempoolUTXOTransactionsResponse
|
|
80
|
-
)
|
|
81
|
-
)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
throw new BaseError(`Unexpected URL: ${url.pathname}`)
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
const results = await getTransactions(publicClient, { address })
|
|
88
|
-
const { transactions } = results
|
|
89
|
-
expect(transactions.length > 0)
|
|
90
|
-
expect(transactions[0]).toHaveProperty('hash')
|
|
91
|
-
expect(transactions[0]).toHaveProperty('vout')
|
|
92
|
-
expect(transactions[0]).toHaveProperty('vin')
|
|
93
|
-
})
|
|
94
|
-
})
|
|
95
|
-
|
|
96
|
-
describe('getTransactionFee action', async () => {
|
|
97
|
-
it('should get transaction fee', async () => {
|
|
98
|
-
if (USE_MOCK) {
|
|
99
|
-
getTransactionFeeValidResponse.txid = VALID_TX_ID
|
|
100
|
-
getTransactionFeeValidResponse.fee = TX_FEE
|
|
101
|
-
|
|
102
|
-
vi.spyOn(global, 'fetch').mockResolvedValue(
|
|
103
|
-
createMockResponse(getTransactionFeeValidResponse)
|
|
104
|
-
)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const result = await getTransactionFee(publicClient, {
|
|
108
|
-
txId: VALID_TX_ID,
|
|
109
|
-
})
|
|
110
|
-
expect(result).toBeDefined()
|
|
111
|
-
expect(result).toBe(BigInt(TX_FEE))
|
|
112
|
-
})
|
|
113
|
-
|
|
114
|
-
it('should throw an error for invalid transaction ID', async () => {
|
|
115
|
-
if (USE_MOCK) {
|
|
116
|
-
vi.spyOn(global, 'fetch').mockResolvedValue(
|
|
117
|
-
createMockResponse(getTransactionFeeInvalidResponse)
|
|
118
|
-
)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
await expect(
|
|
122
|
-
getTransactionFee(publicClient, { txId: INVALID_TX_ID })
|
|
123
|
-
).rejects.toThrow()
|
|
124
|
-
})
|
|
125
|
-
})
|
|
126
|
-
})
|
package/tsconfig.json
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"composite": true,
|
|
5
|
-
"sourceMap": true,
|
|
6
|
-
"rootDir": "./src",
|
|
7
|
-
"moduleResolution": "Node",
|
|
8
|
-
"outDir": "./dist"
|
|
9
|
-
},
|
|
10
|
-
"include": ["./src/**/*", "./src/**/*.json"],
|
|
11
|
-
"exclude": ["./src/**/*.spec.ts"]
|
|
12
|
-
}
|