import { TxData, Input, Output, Change, ScriptType } from '../../config/types'; import { Transaction } from '../../transaction'; // input export const testNormalInput: Input = { preTxHash: '21aa1aff85fc054381f8536d1ab8dbe68f1673a7c67b7ad7816431603c58d32e', preIndex: 1, pubkeyBuf: Buffer.from('b1b89146cea93cf8bec6fa3d4d79c26586ac09a1e8ebf37aa5904629f63c857d', 'hex'), purposeIndex: 44, preValue: '2355557326', addressIndex: 0, scriptType: ScriptType.P2PK_SCHNORR, }; export const testInputWithInvalidInputPublicKey = { ...testNormalInput, pubkeyBuf: Buffer.alloc(0), }; export const testInputWithoutTxId = { ...testNormalInput, preTxHash: '', }; export const testInputWithZeroAmount = { ...testNormalInput, preValue: '0', }; // output export const testNormalOutput: Output = { address: 'kaspa:qq9rmfhgc758j4zquc8yvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028', value: '1000', }; export const testMaxOutput: Output = { address: 'kaspa:qq9rmfhgc758j4zquc8yvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028', value: '2355554326', }; export const testOutputWithInvalidAddress = { ...testNormalOutput, address: 'kaspa:qq9rmfhgc758j4zyvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028', }; export const testOutputWithZeroAmount = { ...testNormalOutput, value: '0', }; export const testOutputValueWithTooManyDecimals = { ...testNormalOutput, value: '49991291000000000', }; export const testOutputValueLessThanDust = { ...testNormalOutput, value: '546', }; export const testOutputValueMax = { ...testNormalOutput, value: '2355547146', }; export const testOutputTooLargeValue = { ...testNormalOutput, value: '2355580000', }; export const testNormalV1Output: Output = { address: 'kaspa:qypmrwy3gm82j08chmr0502d08pxtp4vpxs736ln02jeq33f7c7g2lgk5a8egc4', value: '1000', }; export const testNormalV8Output: Output = { address: 'kaspa:pzuptuuyrnac0w8asd9jc896n2rep76l26xv0varw7kdwy6s6zrfzvsukssy2', value: '1000', }; // change export const testNormalChange: Change = { value: '2355546146', pubkeyBuf: Buffer.from('b1b89146cea93cf8bec6fa3d4d79c26586ac09a1e8ebf37aa5904629f63c857d', 'hex'), purposeIndex: 44, addressIndex: 0, scriptType: ScriptType.P2PK_SCHNORR, }; export const testInsufficientFeeChange: Change = { ...testNormalChange, value: '2355555326', }; export const testTooLargeChange: Change = { ...testNormalChange, value: '1978668132840', }; export const testInvalidChange: Change = { ...testNormalChange, value: '-32854', }; // txData export const testTxData: TxData = { version: 0, inputs: [testNormalInput], output: testNormalOutput, change: testNormalChange, dustSize: '600', }; export const testTransaction: Transaction = Transaction.fromTxData(testTxData); export const testMaxTxData: TxData = { version: 0, inputs: [testNormalInput], output: testMaxOutput, dustSize: '600', }; export const testMaxTransaction: Transaction = Transaction.fromTxData(testMaxTxData); export const testSendV1TxData: TxData = { version: 0, inputs: [testNormalInput], output: testNormalV1Output, change: testNormalChange, dustSize: '600', }; export const testSendToV1AddressTransaction: Transaction = Transaction.fromTxData(testSendV1TxData); export const testSendToV8TxData: TxData = { version: 0, inputs: [testNormalInput], output: testNormalV8Output, change: testNormalChange, dustSize: '600', }; export const testSendToV8AddressTransaction: Transaction = Transaction.fromTxData(testSendToV8TxData); const testTooLargeInputs = []; for (let i = 0; i < 840; i++) { testTooLargeInputs.push(testNormalInput); } export const testTxDataWithLargeInputs: TxData = { ...testTxData, inputs: testTooLargeInputs, output: testNormalOutput, change: testTooLargeChange, dustSize: '600', };