Resolve "feat(Primitives): Have Bytes Primitive extends Uint8Array (if possible)"
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { Address } from '~/src/address';
|
||||
import { Bytes } from '~/src/bytes';
|
||||
import { Address } from '../src/address';
|
||||
import { Bytes } from '../src/bytes';
|
||||
|
||||
describe('Success cases', () => {
|
||||
// Test cases with different address representations
|
||||
@@ -27,7 +27,7 @@ describe('Success cases', () => {
|
||||
type: 'P2PKH',
|
||||
payload: Bytes.fromHex(
|
||||
'626025854e5a67ca5eb122e213f409ec842d45e4',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
},
|
||||
representations: {
|
||||
cashAddr: 'bitcoincash:qp3xqfv9fedx0jj7ky3wyyl5p8kggt29usvlhrrxws',
|
||||
@@ -35,13 +35,13 @@ describe('Success cases', () => {
|
||||
tokenAddr: 'bitcoincash:zp3xqfv9fedx0jj7ky3wyyl5p8kggt29ust4yadq3r',
|
||||
lockscriptBytes: Bytes.fromHex(
|
||||
'76a914626025854e5a67ca5eb122e213f409ec842d45e488ac',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
lockscriptHex: '76a914626025854e5a67ca5eb122e213f409ec842d45e488ac',
|
||||
lockscriptASM:
|
||||
'OP_DUP OP_HASH160 OP_PUSHBYTES_20 0x626025854e5a67ca5eb122e213f409ec842d45e4 OP_EQUALVERIFY OP_CHECKSIG',
|
||||
hash160Bytes: Bytes.fromHex(
|
||||
'626025854e5a67ca5eb122e213f409ec842d45e4',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
hash160Hex: '626025854e5a67ca5eb122e213f409ec842d45e4',
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { BlockHeader } from '~/src/block-header';
|
||||
import { Bytes } from '~/src/bytes';
|
||||
import { BlockHeader } from '../src/block-header';
|
||||
import { Bytes } from '../src/bytes';
|
||||
|
||||
describe('Success cases', () => {
|
||||
// Test cases with different block header representations
|
||||
@@ -16,11 +16,11 @@ describe('Success cases', () => {
|
||||
{
|
||||
raw: Bytes.fromHex(
|
||||
'0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
representations: {
|
||||
bytes: Bytes.fromHex(
|
||||
'0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
hex: '0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
},
|
||||
},
|
||||
|
||||
@@ -51,7 +51,7 @@ describe('Success cases', () => {
|
||||
},
|
||||
toSeed: Bytes.fromHex(
|
||||
'7066f43a742829f0edce7d8e3c31651df320f13913995a6500f4e515db372b35202227f923ff181defc35cea02f8468df39f8fa9d97a202d252e61562e4bbfb5',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
toPhrase:
|
||||
'goose just fan kidney barrel album wave crowd movie flame cousin exhaust',
|
||||
toPhraseWithoutPassphrase:
|
||||
@@ -124,7 +124,7 @@ describe('Success cases', () => {
|
||||
},
|
||||
toSeed: Bytes.fromHex(
|
||||
'2f706756ab2083f7ce07c0c0fcde8f14f062da5de839f42763262b25e0d871f03dd2b561d55eaacc471c94da656ee7b0007fb48a64e31ec91a1a2ba706b46b89',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
toPhrase:
|
||||
'goose just fan kidney barrel album wave crowd movie flame cousin exhaust GeneralProtocols!',
|
||||
toPhraseWithoutPassphrase:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { Satoshis } from '~/src/satoshis';
|
||||
import { Satoshis } from '../src/satoshis';
|
||||
|
||||
describe('Success cases', () => {
|
||||
// Test cases with single representation for each unit
|
||||
|
||||
@@ -17,11 +17,11 @@ describe('Success cases', () => {
|
||||
{
|
||||
raw: Bytes.fromHex(
|
||||
'76a914876fbb82ec05caa6af7a3b5e5a983aae6c6cc6d688ac',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
representations: {
|
||||
bytes: Bytes.fromHex(
|
||||
'76a914876fbb82ec05caa6af7a3b5e5a983aae6c6cc6d688ac',
|
||||
).toBytes(),
|
||||
).toUint8Array(),
|
||||
asm: 'OP_DUP\nOP_HASH160\nOP_PUSHBYTES_20\n0x876fbb82ec05caa6af7a3b5e5a983aae6c6cc6d6\nOP_EQUALVERIFY\nOP_CHECKSIG',
|
||||
hex: '76a914876fbb82ec05caa6af7a3b5e5a983aae6c6cc6d688ac',
|
||||
},
|
||||
@@ -38,19 +38,19 @@ describe('Success cases', () => {
|
||||
fromMethods.forEach(({ name, key }) => {
|
||||
it.each(testCases)(`${name}()`, ({ raw, representations }) => {
|
||||
const script = Script[name](representations[key]);
|
||||
expect(script.toRaw()).toStrictEqual(raw);
|
||||
expect(script.toRaw()).toEqual(raw);
|
||||
});
|
||||
});
|
||||
|
||||
// Test generic from method
|
||||
it.each(testCases)('from(Uint8Array)', ({ raw, representations }) => {
|
||||
const script = Script.from(representations.bytes);
|
||||
expect(script.toRaw()).toStrictEqual(raw);
|
||||
expect(script.toRaw()).toEqual(raw);
|
||||
});
|
||||
|
||||
it.each(testCases)('from(string)', ({ raw, representations }) => {
|
||||
const script = Script.from(representations.hex);
|
||||
expect(script.toRaw()).toStrictEqual(raw);
|
||||
expect(script.toRaw()).toEqual(raw);
|
||||
});
|
||||
|
||||
// Test to methods with their respective types
|
||||
@@ -63,14 +63,14 @@ describe('Success cases', () => {
|
||||
toMethods.forEach(({ name, key }) => {
|
||||
it.each(testCases)(`${name}()`, ({ raw, representations }) => {
|
||||
const script = Script.fromRaw(raw);
|
||||
expect(script[name]()).toStrictEqual(representations[key]);
|
||||
expect(script[name]()).toEqual(representations[key]);
|
||||
});
|
||||
});
|
||||
|
||||
// Test fromRaw specifically
|
||||
it.each(testCases)('fromRaw() creates correct instance', ({ raw }) => {
|
||||
const script = Script.fromRaw(raw);
|
||||
expect(script.toRaw()).toStrictEqual(raw);
|
||||
expect(script.toRaw()).toEqual(raw);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user