@bsv/sdk 1.0.0 → 1.0.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/README.md +25 -3
- package/package.json +9 -5
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- package/.github/ISSUE_TEMPLATE/discussion.md +0 -24
- package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -23
- package/CHANGELOG.md +0 -72
- package/CONTRIBUTING.md +0 -85
- package/ROADMAP.md +0 -3
- package/docs/getting-started/COMMONJS.md +0 -94
- package/docs/getting-started/REACT-TS.md +0 -131
- package/docs/getting-started/TS-NODE.md +0 -106
- package/docs/getting-started/VUE.md +0 -103
- package/jest.config.js +0 -6
- package/mod.ts +0 -8
- package/src/compat/BSM.ts +0 -51
- package/src/compat/ECIES.ts +0 -557
- package/src/compat/HD.ts +0 -348
- package/src/compat/Mnemonic.ts +0 -295
- package/src/compat/__tests/BSM.test.ts +0 -38
- package/src/compat/__tests/ECIES.test.ts +0 -90
- package/src/compat/__tests/HD.test.ts +0 -405
- package/src/compat/__tests/Mnemonic.test.ts +0 -177
- package/src/compat/__tests/Mnemonic.vectors.ts +0 -172
- package/src/compat/bip-39-wordlist-en.ts +0 -2053
- package/src/compat/index.ts +0 -4
- package/src/messages/EncryptedMessage.ts +0 -70
- package/src/messages/SignedMessage.ts +0 -87
- package/src/messages/__tests/EncryptedMessage.test.ts +0 -36
- package/src/messages/__tests/SignedMessage.test.ts +0 -53
- package/src/messages/index.ts +0 -2
- package/src/primitives/AESGCM.ts +0 -479
- package/src/primitives/BasePoint.ts +0 -21
- package/src/primitives/BigNumber.ts +0 -4619
- package/src/primitives/Curve.ts +0 -1163
- package/src/primitives/DRBG.ts +0 -102
- package/src/primitives/ECDSA.ts +0 -164
- package/src/primitives/Hash.ts +0 -1420
- package/src/primitives/JacobianPoint.ts +0 -410
- package/src/primitives/K256.ts +0 -116
- package/src/primitives/Mersenne.ts +0 -123
- package/src/primitives/MontgomoryMethod.ts +0 -160
- package/src/primitives/Point.ts +0 -852
- package/src/primitives/PrivateKey.ts +0 -195
- package/src/primitives/PublicKey.ts +0 -154
- package/src/primitives/Random.ts +0 -55
- package/src/primitives/ReductionContext.ts +0 -528
- package/src/primitives/Signature.ts +0 -235
- package/src/primitives/SymmetricKey.ts +0 -75
- package/src/primitives/TransactionSignature.ts +0 -189
- package/src/primitives/__tests/AESGCM.test.ts +0 -338
- package/src/primitives/__tests/BRC42.private.vectors.ts +0 -33
- package/src/primitives/__tests/BRC42.public.vectors.ts +0 -33
- package/src/primitives/__tests/BigNumber.arithmatic.test.ts +0 -572
- package/src/primitives/__tests/BigNumber.binary.test.ts +0 -203
- package/src/primitives/__tests/BigNumber.constructor.test.ts +0 -176
- package/src/primitives/__tests/BigNumber.dhGroup.test.ts +0 -18
- package/src/primitives/__tests/BigNumber.fixtures.ts +0 -264
- package/src/primitives/__tests/BigNumber.serializers.test.ts +0 -157
- package/src/primitives/__tests/BigNumber.utils.test.ts +0 -347
- package/src/primitives/__tests/Curve.unit.test.ts +0 -192
- package/src/primitives/__tests/DRBG.test.ts +0 -18
- package/src/primitives/__tests/DRBG.vectors.ts +0 -167
- package/src/primitives/__tests/ECDH.test.ts +0 -31
- package/src/primitives/__tests/ECDSA.test.ts +0 -58
- package/src/primitives/__tests/HMAC.test.ts +0 -59
- package/src/primitives/__tests/Hash.test.ts +0 -121
- package/src/primitives/__tests/PBKDF2.vectors.ts +0 -119
- package/src/primitives/__tests/PrivateKey.test.ts +0 -17
- package/src/primitives/__tests/PublicKey.test.ts +0 -66
- package/src/primitives/__tests/Random.test.ts +0 -14
- package/src/primitives/__tests/Reader.test.ts +0 -296
- package/src/primitives/__tests/ReductionContext.test.ts +0 -279
- package/src/primitives/__tests/SymmetricKey.test.ts +0 -58
- package/src/primitives/__tests/SymmetricKey.vectors.ts +0 -40
- package/src/primitives/__tests/Writer.test.ts +0 -198
- package/src/primitives/__tests/sighash.vectors.ts +0 -3503
- package/src/primitives/__tests/utils.test.ts +0 -108
- package/src/primitives/index.ts +0 -8
- package/src/primitives/utils.ts +0 -665
- package/src/script/LockingScript.ts +0 -30
- package/src/script/OP.ts +0 -219
- package/src/script/Script.ts +0 -426
- package/src/script/ScriptChunk.ts +0 -7
- package/src/script/ScriptTemplate.ts +0 -36
- package/src/script/Spend.ts +0 -1379
- package/src/script/UnlockingScript.ts +0 -30
- package/src/script/__tests/Script.test.ts +0 -369
- package/src/script/__tests/Spend.test.ts +0 -248
- package/src/script/__tests/script.invalid.vectors.ts +0 -925
- package/src/script/__tests/script.valid.vectors.ts +0 -1120
- package/src/script/__tests/scriptFromVector.ts +0 -42
- package/src/script/__tests/spend.valid.vectors.ts +0 -2288
- package/src/script/index.ts +0 -7
- package/src/script/templates/P2PKH.ts +0 -109
- package/src/script/templates/RPuzzle.ts +0 -140
- package/src/script/templates/index.ts +0 -2
- package/src/transaction/Broadcaster.ts +0 -42
- package/src/transaction/ChainTracker.ts +0 -22
- package/src/transaction/FeeModel.ts +0 -13
- package/src/transaction/MerklePath.ts +0 -259
- package/src/transaction/Transaction.ts +0 -602
- package/src/transaction/TransactionInput.ts +0 -63
- package/src/transaction/TransactionOutput.ts +0 -37
- package/src/transaction/__tests/MerklePath.test.ts +0 -181
- package/src/transaction/__tests/Transaction.test.ts +0 -413
- package/src/transaction/__tests/bigtx.vectors.ts +0 -4
- package/src/transaction/__tests/bump.invalid.vectors.ts +0 -8
- package/src/transaction/__tests/bump.valid.vectors.ts +0 -4
- package/src/transaction/__tests/tx.invalid.vectors.ts +0 -281
- package/src/transaction/__tests/tx.valid.vectors.ts +0 -364
- package/src/transaction/broadcasters/ARC.ts +0 -106
- package/src/transaction/broadcasters/__tests/ARC.test.ts +0 -115
- package/src/transaction/broadcasters/index.ts +0 -1
- package/src/transaction/fee-models/SatoshisPerKilobyte.ts +0 -71
- package/src/transaction/fee-models/index.ts +0 -1
- package/src/transaction/index.ts +0 -6
- package/ts2md.json +0 -5
- package/tsconfig.base.json +0 -26
- package/tsconfig.cjs.json +0 -11
- package/tsconfig.eslint.json +0 -12
- package/tsconfig.esm.json +0 -9
- package/tsconfig.json +0 -17
- package/tsconfig.types.json +0 -11
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/* eslint-env jest */
|
|
2
|
-
import { toArray, zero2, toHex, encode, fromBase58, toBase58, fromBase58Check, toBase58Check } from '../../../dist/cjs/src/primitives/utils'
|
|
3
|
-
|
|
4
|
-
describe('utils', () => {
|
|
5
|
-
it('should convert to array', () => {
|
|
6
|
-
expect(toArray('1234', 'hex')).toEqual([0x12, 0x34])
|
|
7
|
-
expect(toArray('1234')).toEqual([49, 50, 51, 52])
|
|
8
|
-
expect(toArray('1234', 'utf8')).toEqual([49, 50, 51, 52])
|
|
9
|
-
expect(toArray('\u1234234')).toEqual([18, 52, 50, 51, 52])
|
|
10
|
-
expect(toArray([1, 2, 3, 4])).toEqual([1, 2, 3, 4])
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
it('should zero pad byte to hex', () => {
|
|
14
|
-
expect(zero2('0')).toBe('00')
|
|
15
|
-
expect(zero2('01')).toBe('01')
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
it('should convert to hex', () => {
|
|
19
|
-
expect(toHex([0, 1, 2, 3])).toBe('00010203')
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
it('should encode', () => {
|
|
23
|
-
expect(encode([0, 1, 2, 3])).toEqual([0, 1, 2, 3])
|
|
24
|
-
expect(encode([0, 1, 2, 3], 'hex')).toBe('00010203')
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
describe("base58 to binary", () => {
|
|
28
|
-
it('Converts as expected', () => {
|
|
29
|
-
const actual = fromBase58("6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV")
|
|
30
|
-
expect(toHex(actual)).toEqual('02c0ded2bc1f1305fb0faac5e6c03ee3a1924234985427b6167ca569d13df435cfeb05f9d2')
|
|
31
|
-
})
|
|
32
|
-
it('Converts as expected with leading 1s', () => {
|
|
33
|
-
const actual = fromBase58("111z")
|
|
34
|
-
expect(toHex(actual)).toEqual('00000039')
|
|
35
|
-
})
|
|
36
|
-
it('Throws when called with undefined base58 string', () => {
|
|
37
|
-
expect(() => fromBase58()).toThrow(new Error('Expected base58 string but got “undefined”'))
|
|
38
|
-
})
|
|
39
|
-
it('Throws when called with invalid characters in base58 string', () => {
|
|
40
|
-
expect(() => fromBase58('0L')).toThrow(new Error('Invalid base58 character “0”'))
|
|
41
|
-
})
|
|
42
|
-
})
|
|
43
|
-
describe("binary to base58 string", () => {
|
|
44
|
-
it('Converts to base58 as expected', () => {
|
|
45
|
-
const actual = toBase58(
|
|
46
|
-
toArray("02c0ded2bc1f1305fb0faac5e6c03ee3a1924234985427b6167ca569d13df435cfeb05f9d2", "hex")
|
|
47
|
-
)
|
|
48
|
-
expect(actual).toEqual("6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV")
|
|
49
|
-
})
|
|
50
|
-
it('Converts to base58 as expected with 1s', () => {
|
|
51
|
-
const actual = toBase58([0, 0, 0, 4])
|
|
52
|
-
expect(actual).toEqual("1115")
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
describe('base58check encoding and decoding', () => {
|
|
56
|
-
it('should correctly encode and decode data with default prefix', () => {
|
|
57
|
-
let data = toArray('f5f2d624cfb5c3f66d06123d0829d1c9cebf770e', 'hex')
|
|
58
|
-
let encoded = toBase58Check(data)
|
|
59
|
-
expect(encoded).toBe('1PRTTaJesdNovgne6Ehcdu1fpEdX7913CK')
|
|
60
|
-
expect(fromBase58Check(encoded)).toEqual({ prefix: [0], data })
|
|
61
|
-
|
|
62
|
-
data = toArray('27b5891b01da2db74cde1689a97a2acbe23d5fb1', 'hex')
|
|
63
|
-
encoded = toBase58Check(data)
|
|
64
|
-
expect(encoded).toBe('14cxpo3MBCYYWCgF74SWTdcmxipnGUsPw3')
|
|
65
|
-
expect(fromBase58Check(encoded)).toEqual({ prefix: [0], data })
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('should correctly encode and decode data with custom prefix', () => {
|
|
69
|
-
const prefix = [0x80]
|
|
70
|
-
let data = toArray('1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD', 'hex')
|
|
71
|
-
let encoded = toBase58Check(data, prefix)
|
|
72
|
-
expect(encoded).toBe('5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn')
|
|
73
|
-
expect(fromBase58Check(encoded)).toEqual({ prefix, data })
|
|
74
|
-
|
|
75
|
-
data = toArray('3aba4162c7251c891207b747840551a71939b0de081f85c4e44cf7c13e41daa6', 'hex')
|
|
76
|
-
encoded = toBase58Check(data, prefix)
|
|
77
|
-
expect(encoded).toBe('5JG9hT3beGTJuUAmCQEmNaxAuMacCTfXuw1R3FCXig23RQHMr4K')
|
|
78
|
-
expect(fromBase58Check(encoded)).toEqual({ prefix, data })
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it('should correctly handle encoding and decoding with different encoding formats', () => {
|
|
82
|
-
const prefix = [0x80]
|
|
83
|
-
let dataHex = '1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD01'
|
|
84
|
-
dataHex = dataHex.toLowerCase()
|
|
85
|
-
let data = toArray(dataHex, 'hex')
|
|
86
|
-
let encoded = toBase58Check(data, prefix)
|
|
87
|
-
expect(encoded).toBe('KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ')
|
|
88
|
-
expect(fromBase58Check(encoded, 'hex')).toEqual({ prefix: '80', data: dataHex })
|
|
89
|
-
|
|
90
|
-
dataHex = '3aba4162c7251c891207b747840551a71939b0de081f85c4e44cf7c13e41daa601'
|
|
91
|
-
data = toArray(dataHex, 'hex')
|
|
92
|
-
encoded = toBase58Check(data, prefix)
|
|
93
|
-
expect(encoded).toBe('KyBsPXxTuVD82av65KZkrGrWi5qLMah5SdNq6uftawDbgKa2wv6S')
|
|
94
|
-
expect(fromBase58Check(encoded, 'hex')).toEqual({ prefix: '80', data: dataHex })
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('should correctly encode and decode Bitcoin addresses', () => {
|
|
98
|
-
const dataHex = '086eaa677895f92d4a6c5ef740c168932b5e3f44'
|
|
99
|
-
let data = toArray(dataHex, 'hex')
|
|
100
|
-
let encoded = toBase58Check(data)
|
|
101
|
-
expect(encoded).toBe('1mayif3H2JDC62S4N3rLNtBNRAiUUP99k')
|
|
102
|
-
expect(fromBase58Check(encoded, 'hex')).toEqual({ prefix: '00', data: dataHex })
|
|
103
|
-
|
|
104
|
-
const address = '1mayif3H2JDC62S4N3rLNtBNRAiUUP99k'
|
|
105
|
-
expect(fromBase58Check(address, 'hex')).toEqual({ prefix: '00', data: dataHex })
|
|
106
|
-
})
|
|
107
|
-
})
|
|
108
|
-
})
|
package/src/primitives/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { default as BigNumber } from './BigNumber.js'
|
|
2
|
-
export { default as Point } from './Point.js'
|
|
3
|
-
export { default as PublicKey } from './PublicKey.js'
|
|
4
|
-
export { default as Signature } from './Signature.js'
|
|
5
|
-
export { default as PrivateKey } from './PrivateKey.js'
|
|
6
|
-
export { default as SymmetricKey } from './SymmetricKey.js'
|
|
7
|
-
export * as Hash from './Hash.js'
|
|
8
|
-
export { default as Random } from './Random.js'
|