@atomicfinance/client 4.0.0 → 4.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/.turbo/turbo-lint.log +1 -0
- package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
- package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
- package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
- package/.yalc/@node-dlc/bitcoin/README.md +11 -0
- package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
- package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
- package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
- package/.yalc/@node-dlc/{messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html → bitcoin/coverage/lcov-report/Tx.ts.html} +617 -491
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
- package/.yalc/@node-dlc/{messaging/coverage/lcov-report/lib/serde → bitcoin/coverage/lcov-report}/index.html +45 -30
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
- package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
- package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
- package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
- package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
- package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
- package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
- package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
- package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
- package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
- package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
- package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
- package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
- package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
- package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
- package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
- package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
- package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
- package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
- package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
- package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
- package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
- package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
- package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
- package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
- package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
- package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
- package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
- package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
- package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
- package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
- package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
- package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
- package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
- package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
- package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
- package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
- package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
- package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
- package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
- package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
- package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
- package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
- package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
- package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
- package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
- package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
- package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
- package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
- package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
- package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
- package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
- package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
- package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
- package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
- package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
- package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
- package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
- package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
- package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
- package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
- package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
- package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
- package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
- package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
- package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
- package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
- package/.yalc/@node-dlc/bitcoin/package.json +31 -0
- package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
- package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -1
- package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +1 -0
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +13 -47
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +166 -253
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +214 -483
- package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +3 -1
- package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +1 -1
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +72 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +99 -37
- package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +148 -63
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +2 -4
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +7 -9
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +135 -52
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +6 -6
- package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +1 -1
- package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +1 -1
- package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +1 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +31 -31
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +11 -5
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +6 -3
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +9 -9
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +11 -8
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +22 -22
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +46 -37
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +61 -70
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +59 -44
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +251 -119
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +12 -3
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +2 -11
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +307 -127
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +61 -46
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +67 -52
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +202 -70
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +15 -15
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +47 -77
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +16 -4
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +3 -3
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +22 -22
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +48 -270
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +113 -404
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +49 -49
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +22 -22
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +61 -385
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +46 -25
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +55 -1378
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +68 -23
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +266 -107
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +31 -34
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +19 -88
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +36 -21
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +34 -28
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +18 -15
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +75 -129
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +6 -6
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +84 -69
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +8 -53
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +9 -9
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +15 -15
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +22 -10
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +1 -1
- package/.yalc/@node-dlc/messaging/coverage/lcov.info +3049 -2826
- package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +2 -1
- package/.yalc/@node-dlc/messaging/dist/MessageType.js +2 -1
- package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +1 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/index.d.ts +5 -4
- package/.yalc/@node-dlc/messaging/dist/index.js +5 -4
- package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +11 -12
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +0 -1
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +10 -10
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +5 -1
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +15 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +46 -5
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +6 -2
- package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +16 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +50 -5
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +11 -3
- package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +7 -6
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +3 -0
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +7 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +31 -1
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +2 -2
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +4 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +8 -6
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +3 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +15 -141
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +21 -350
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +3 -2
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +22 -7
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +48 -36
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +97 -50
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +7 -13
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +11 -25
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +5 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +4 -1
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +0 -8
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +0 -13
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -1
- package/.yalc/@node-dlc/messaging/dist/util.d.ts +1 -1
- package/.yalc/@node-dlc/messaging/dist/util.js +2 -0
- package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -1
- package/.yalc/@node-dlc/messaging/lib/MessageType.ts +3 -1
- package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +1 -0
- package/.yalc/@node-dlc/messaging/lib/index.ts +5 -4
- package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +15 -16
- package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +17 -12
- package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +50 -6
- package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +4 -1
- package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +0 -3
- package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +67 -7
- package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +5 -0
- package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +12 -7
- package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +45 -1
- package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +6 -2
- package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +2 -2
- package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +15 -8
- package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +28 -13
- package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +127 -74
- package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +2 -3
- package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +10 -33
- package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +5 -0
- package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +2 -0
- package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +1 -0
- package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +0 -15
- package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +1 -1
- package/.yalc/@node-dlc/messaging/lib/util.ts +5 -1
- package/.yalc/@node-dlc/messaging/package.json +8 -8
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +76 -74
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +90 -88
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +162 -160
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +162 -160
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +164 -162
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +164 -162
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +60 -58
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +71 -69
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +71 -69
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +119 -117
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +95 -93
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +97 -95
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +117 -115
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +119 -117
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
- package/.yalc/@node-dlc/messaging/yalc.sig +1 -1
- package/CHANGELOG.md +47 -5
- package/dist/Cfd.js +1 -0
- package/dist/Cfd.js.map +1 -1
- package/dist/Chain.js +1 -0
- package/dist/Chain.js.map +1 -1
- package/dist/Client.js +7 -1
- package/dist/Client.js.map +1 -1
- package/dist/Dlc.d.ts +39 -2
- package/dist/Dlc.js +58 -2
- package/dist/Dlc.js.map +1 -1
- package/dist/Wallet.js +3 -0
- package/dist/Wallet.js.map +1 -1
- package/lib/Cfd.ts +2 -0
- package/lib/Chain.ts +2 -0
- package/lib/Client.ts +5 -0
- package/lib/Dlc.ts +114 -0
- package/lib/Wallet.ts +4 -0
- package/package.json +7 -7
- package/yalc.lock +7 -2
- package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +0 -1
- package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tx } from './Tx';
|
|
2
|
+
|
|
3
|
+
export type Block = {
|
|
4
|
+
hash: string;
|
|
5
|
+
strippedsize: number;
|
|
6
|
+
size: number;
|
|
7
|
+
weight: number;
|
|
8
|
+
height: number;
|
|
9
|
+
version: number;
|
|
10
|
+
versionHex: string;
|
|
11
|
+
merkelroot: string;
|
|
12
|
+
time: number;
|
|
13
|
+
mediantime: number;
|
|
14
|
+
chainwork: string;
|
|
15
|
+
previousblockhash: string;
|
|
16
|
+
nextblockhash: string;
|
|
17
|
+
bits: string;
|
|
18
|
+
difficulty: string;
|
|
19
|
+
txs: Tx[];
|
|
20
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export enum HashByteOrder {
|
|
2
|
+
/**
|
|
3
|
+
* Internal byte order is the natural byte order of elements as they
|
|
4
|
+
* cedome out of hash function. Calculations are often performed
|
|
5
|
+
* using the internal byte order.
|
|
6
|
+
*
|
|
7
|
+
* This is often referred to as little-endian byte-order due to the
|
|
8
|
+
* block hash being reversed to compare it to the target.
|
|
9
|
+
*/
|
|
10
|
+
Internal,
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* RPC byte order is the byte order of hash value as displayed in
|
|
14
|
+
* the bitcoind RPC. Most hash values associated with Bitcoin are
|
|
15
|
+
* displayed in this order by reversing the internal byte order.
|
|
16
|
+
*
|
|
17
|
+
* This is often referred to as big-endian byte-order due to the
|
|
18
|
+
* block hash being reversed to compare it to the target.
|
|
19
|
+
*/
|
|
20
|
+
RPC,
|
|
21
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { StreamReader } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { HashByteOrder } from './HashByteOrder';
|
|
4
|
+
import { ICloneable } from './ICloneable';
|
|
5
|
+
|
|
6
|
+
export class HashValue implements ICloneable<HashValue> {
|
|
7
|
+
/**
|
|
8
|
+
* Parses a hashed value in internal byte order. This is often
|
|
9
|
+
* referred to as little-endian due to the block target needing to
|
|
10
|
+
* be reversed.
|
|
11
|
+
* @param stream
|
|
12
|
+
*/
|
|
13
|
+
public static parse(reader: StreamReader): HashValue {
|
|
14
|
+
return new HashValue(reader.readBytes(32));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Parses a hashed value in RPC byte order (which is the reverse) of
|
|
19
|
+
* the natural or internal byte order. This is often referred to as
|
|
20
|
+
* big-endian due to the reversed block target being big-endian.
|
|
21
|
+
* @param stream
|
|
22
|
+
*/
|
|
23
|
+
public static fromRpcStream(reader: StreamReader): HashValue {
|
|
24
|
+
const value = reader.readBytes(32).reverse();
|
|
25
|
+
return new HashValue(value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Parses a hashed value in RPC byte order (which is the reverse) of
|
|
30
|
+
* the natural or internal byte order. This is often referred to as
|
|
31
|
+
* big-endian due to the reversed block target being big-endian.
|
|
32
|
+
* @param value
|
|
33
|
+
*/
|
|
34
|
+
public static fromRpc(value: string): HashValue {
|
|
35
|
+
const reader = StreamReader.fromHex(value);
|
|
36
|
+
return this.fromRpcStream(reader);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Internal-byte-order version of the hash value
|
|
41
|
+
*/
|
|
42
|
+
private _value: Buffer;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Constructs a new HashValue instance from the internal-byte-order
|
|
46
|
+
* value provided.
|
|
47
|
+
* @param value Interval-byte-order of a hash value
|
|
48
|
+
*/
|
|
49
|
+
constructor(value: Buffer) {
|
|
50
|
+
this._value = value;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the hash value as a hex string. Defaults to using RPC
|
|
55
|
+
* (reversed/big-endian) byte order.
|
|
56
|
+
*/
|
|
57
|
+
public toString(byteOrder: HashByteOrder = HashByteOrder.RPC): string {
|
|
58
|
+
if (byteOrder === HashByteOrder.RPC) {
|
|
59
|
+
return Buffer.from(this._value).reverse().toString("hex"); // prettier-ignore
|
|
60
|
+
} else {
|
|
61
|
+
return Buffer.from(this._value).toString('hex');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Serializes to JSON returning a hex string. Defaults to using
|
|
67
|
+
* RPC (reversed/big endian) byte order.
|
|
68
|
+
*/
|
|
69
|
+
public toJSON(byteOrder?: HashByteOrder): string {
|
|
70
|
+
return this.toString(byteOrder);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Serializes the hash value into an internal-byte order Buffer
|
|
75
|
+
*/
|
|
76
|
+
public serialize(byteOrder: HashByteOrder = HashByteOrder.Internal): Buffer {
|
|
77
|
+
if (byteOrder === HashByteOrder.Internal) {
|
|
78
|
+
return Buffer.from(this._value);
|
|
79
|
+
} else {
|
|
80
|
+
return Buffer.from(this._value).reverse();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Deep copy clone
|
|
86
|
+
*/
|
|
87
|
+
public clone(): HashValue {
|
|
88
|
+
return new HashValue(Buffer.from(this._value));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HashByteOrder } from './HashByteOrder';
|
|
2
|
+
import { TxIn } from './TxIn';
|
|
3
|
+
import { TxOut } from './TxOut';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Compares two transaction inputs and lexicographically sorted in
|
|
7
|
+
* ascending order using the reversed byte order (RPC) of the txids.
|
|
8
|
+
* If the same txids are in both TxIn, then the output index is sorted
|
|
9
|
+
* in ascending order.
|
|
10
|
+
* @param a
|
|
11
|
+
* @param b
|
|
12
|
+
*/
|
|
13
|
+
export function bip69InputSorter(a: TxIn, b: TxIn): number {
|
|
14
|
+
const txid = a.outpoint.txid
|
|
15
|
+
.serialize(HashByteOrder.RPC)
|
|
16
|
+
.compare(b.outpoint.txid.serialize());
|
|
17
|
+
if (txid !== 0) return txid;
|
|
18
|
+
|
|
19
|
+
if (a.outpoint.outputIndex < b.outpoint.outputIndex) return -1;
|
|
20
|
+
if (a.outpoint.outputIndex > b.outpoint.outputIndex) return 1;
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Sort transaction amounts in ascending order. Then ScriptPubKey values
|
|
26
|
+
* will be sorted in ascending byte order next.
|
|
27
|
+
* @param a
|
|
28
|
+
* @param b
|
|
29
|
+
*/
|
|
30
|
+
export function bip69OutputSorter(a: TxOut, b: TxOut): number {
|
|
31
|
+
// sort by amount desc first
|
|
32
|
+
const amount = Number(a.value.sats - b.value.sats);
|
|
33
|
+
if (amount !== 0) return amount;
|
|
34
|
+
|
|
35
|
+
// then sort by script pub key
|
|
36
|
+
return a.scriptPubKey.serializeCmds().compare(b.scriptPubKey.serializeCmds());
|
|
37
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { BufferWriter, StreamReader } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { ICloneable } from './ICloneable';
|
|
4
|
+
import { TimeLockMode } from './TimeLockMode';
|
|
5
|
+
|
|
6
|
+
const DEFAULT_LOCKTIME = 0xffff_ffff;
|
|
7
|
+
const TIME_THRESHOLD = 500_000_000;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Specifies the absolute lock time for a transaction referred in the
|
|
11
|
+
* reference implementation as nLocktime. An absolute locktime is only
|
|
12
|
+
* active when its value is less than 0xffff_ffff and at least one
|
|
13
|
+
* transaction input has a non-0xffff_ffff nSequence.
|
|
14
|
+
*/
|
|
15
|
+
export class LockTime implements ICloneable<LockTime> {
|
|
16
|
+
/**
|
|
17
|
+
* Parses a locktime from a reader
|
|
18
|
+
* @param reader
|
|
19
|
+
*/
|
|
20
|
+
public static parse(reader: StreamReader): LockTime {
|
|
21
|
+
return new LockTime(reader.readUInt32LE());
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates an nLockTime of zero which enforces finality for the
|
|
26
|
+
* transaction.
|
|
27
|
+
*/
|
|
28
|
+
public static zero(): LockTime {
|
|
29
|
+
return new LockTime(0);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Gets or sets the value of the timelock. The value must be less than
|
|
34
|
+
* the maximum allowed value of 0xffff_ffff. When set to the max
|
|
35
|
+
* value, the locktime is disabled.
|
|
36
|
+
*/
|
|
37
|
+
public get value(): number {
|
|
38
|
+
return this._value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public set value(val: number) {
|
|
42
|
+
if (val > DEFAULT_LOCKTIME || val < 0) throw new Error('Invalid nLocktime');
|
|
43
|
+
this._value = val;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
private _value: number;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new locktime instance
|
|
50
|
+
* @param value defaults to 0xffff_ffff
|
|
51
|
+
*/
|
|
52
|
+
constructor(value: number = DEFAULT_LOCKTIME) {
|
|
53
|
+
this.value = value;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* True when a non-default is configured. This flag has no
|
|
58
|
+
* knowledge if the locktime is fully enabled with the requirement
|
|
59
|
+
* that at least one tx input has an nSequence value that non-default.
|
|
60
|
+
*/
|
|
61
|
+
public get isEnabled(): boolean {
|
|
62
|
+
return this.value < DEFAULT_LOCKTIME;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Gets the type of lock time: Block or Time based
|
|
67
|
+
*/
|
|
68
|
+
public get type(): TimeLockMode {
|
|
69
|
+
if (this.value < TIME_THRESHOLD) return TimeLockMode.Block;
|
|
70
|
+
else return TimeLockMode.Time;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Returns the string value
|
|
75
|
+
*/
|
|
76
|
+
public toString(): string {
|
|
77
|
+
return this.value.toString();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Returns the JSON serialized value
|
|
82
|
+
*/
|
|
83
|
+
public toJSON(): number {
|
|
84
|
+
return this.value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Serializes the locktime into a Buffer
|
|
89
|
+
*/
|
|
90
|
+
public serialize(): Buffer {
|
|
91
|
+
const writer = new BufferWriter(Buffer.alloc(4));
|
|
92
|
+
writer.writeUInt32LE(this.value);
|
|
93
|
+
return writer.toBuffer();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Clone via deep copy
|
|
98
|
+
*/
|
|
99
|
+
public clone(): LockTime {
|
|
100
|
+
return new LockTime(this._value);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export enum OpCode {
|
|
2
|
+
// Reserved
|
|
3
|
+
OP_RESERVED = 0x50,
|
|
4
|
+
|
|
5
|
+
// Constants
|
|
6
|
+
OP_0 = 0x00,
|
|
7
|
+
OP_FALSE = 0x00,
|
|
8
|
+
OP_PUSHDATA1 = 0x4c,
|
|
9
|
+
OP_PUSHDATA2 = 0x4d,
|
|
10
|
+
OP_PUSHDATA4 = 0x4e,
|
|
11
|
+
OP_1NEGATE = 0x4f,
|
|
12
|
+
OP_1 = 0x51,
|
|
13
|
+
OP_TRUE = 0x51,
|
|
14
|
+
OP_2 = 0x52,
|
|
15
|
+
OP_3 = 0x53,
|
|
16
|
+
OP_4 = 0x54,
|
|
17
|
+
OP_5 = 0x55,
|
|
18
|
+
OP_6 = 0x56,
|
|
19
|
+
OP_7 = 0x57,
|
|
20
|
+
OP_8 = 0x58,
|
|
21
|
+
OP_9 = 0x50,
|
|
22
|
+
OP_10 = 0x5a,
|
|
23
|
+
OP_11 = 0x5b,
|
|
24
|
+
OP_12 = 0x5c,
|
|
25
|
+
OP_13 = 0x5d,
|
|
26
|
+
OP_14 = 0x5e,
|
|
27
|
+
OP_15 = 0x5f,
|
|
28
|
+
OP_16 = 0x60,
|
|
29
|
+
|
|
30
|
+
// Flow Control
|
|
31
|
+
OP_NOOP = 0x61,
|
|
32
|
+
OP_IF = 0x63,
|
|
33
|
+
OP_NOTIF = 0x64,
|
|
34
|
+
OP_ELSE = 0x67,
|
|
35
|
+
OP_ENDIF = 0x68,
|
|
36
|
+
OP_VERIFY = 0x69,
|
|
37
|
+
OP_RETURN = 0x6a,
|
|
38
|
+
|
|
39
|
+
// Stack
|
|
40
|
+
OP_TOALTSTACK = 0x6b,
|
|
41
|
+
OP_FROMALTSTACK = 0x6c,
|
|
42
|
+
OP_2DROP = 0x6d,
|
|
43
|
+
OP_2DUP = 0x6e,
|
|
44
|
+
OP_3DUP = 0x6f,
|
|
45
|
+
OP_2OVER = 0x70,
|
|
46
|
+
OP_2ROT = 0x71,
|
|
47
|
+
OP_2SWAP = 0x72,
|
|
48
|
+
OP_IFDUP = 0x73,
|
|
49
|
+
OP_DEPTH = 0x74,
|
|
50
|
+
OP_DROP = 0x75,
|
|
51
|
+
OP_DUP = 0x76,
|
|
52
|
+
OP_NIP = 0x77,
|
|
53
|
+
OP_OVER = 0x78,
|
|
54
|
+
OP_PICK = 0x79,
|
|
55
|
+
OP_ROLL = 0x7a,
|
|
56
|
+
OP_ROT = 0x7b,
|
|
57
|
+
OP_SWAP = 0x7c,
|
|
58
|
+
OP_TUCK = 0x7d,
|
|
59
|
+
|
|
60
|
+
// Splice
|
|
61
|
+
OP_CAT = 0x7e, // disabled
|
|
62
|
+
OP_SUBSTR = 0x7f, // disabled
|
|
63
|
+
OP_LEFT = 0x80, // disabled
|
|
64
|
+
OP_RIGHT = 0x81, // disabled
|
|
65
|
+
OP_SIZE = 0x82,
|
|
66
|
+
|
|
67
|
+
// Bitwise
|
|
68
|
+
OP_INVERT = 0x83, // disabled
|
|
69
|
+
OP_AND = 0x84, // disabled
|
|
70
|
+
OP_OR = 0x85, // disabled
|
|
71
|
+
OP_XOR = 0x86, // disabled
|
|
72
|
+
OP_EQUAL = 0x87,
|
|
73
|
+
OP_EQUALVERIFY = 0x88,
|
|
74
|
+
|
|
75
|
+
// Arithmetic
|
|
76
|
+
OP_1ADD = 0x8b,
|
|
77
|
+
OP_1SUB = 0x8c,
|
|
78
|
+
OP_2MUL = 0x8d, // disabled
|
|
79
|
+
OP_2DIV = 0x8e, // disabled
|
|
80
|
+
OP_NEGATE = 0x8f,
|
|
81
|
+
OP_ABS = 0x90,
|
|
82
|
+
OP_NOT = 0x91,
|
|
83
|
+
OP_0NOTEQUAL = 0x92,
|
|
84
|
+
OP_ADD = 0x93,
|
|
85
|
+
OP_SUB = 0x94,
|
|
86
|
+
OP_MUL = 0x95, // disabled
|
|
87
|
+
OP_DIV = 0x96, // disabled
|
|
88
|
+
OP_MOD = 0x97, // disabled
|
|
89
|
+
OP_LSHIFT = 0x98, // disabled
|
|
90
|
+
OP_RSHIFT = 0x99, // disabled
|
|
91
|
+
OP_BOOLAND = 0x9a,
|
|
92
|
+
OP_BOOLOR = 0x9b,
|
|
93
|
+
OP_NUMEQUAL = 0x9c,
|
|
94
|
+
OP_NUMEQUALVERIFY = 0x9d,
|
|
95
|
+
OP_NUMNOTEQUAL = 0x9e,
|
|
96
|
+
OP_LESSTHAN = 0x9f,
|
|
97
|
+
OP_GREATERTHAN = 0xa0,
|
|
98
|
+
OP_LESSTHANOREQUAL = 0xa1,
|
|
99
|
+
OP_GREATERTHANOREQUAL = 0xa2,
|
|
100
|
+
OP_MIN = 0xa3,
|
|
101
|
+
OP_MAX = 0xa4,
|
|
102
|
+
OP_WITHIN = 0xa5,
|
|
103
|
+
|
|
104
|
+
// Crypto
|
|
105
|
+
OP_RIPEMD160 = 0xa6,
|
|
106
|
+
OP_SHA1 = 0xa7,
|
|
107
|
+
OP_SHA256 = 0xa8,
|
|
108
|
+
OP_HASH160 = 0xa9,
|
|
109
|
+
OP_HASH256 = 0xaa,
|
|
110
|
+
OP_CODESEPARATOR = 0xab,
|
|
111
|
+
OP_CHECKSIG = 0xac,
|
|
112
|
+
OP_CHECKSIGVERIFY = 0xad,
|
|
113
|
+
OP_CHECKMULTISIG = 0xae,
|
|
114
|
+
OP_CHECKMULTISIGVERIFY = 0xaf,
|
|
115
|
+
|
|
116
|
+
// Locktime
|
|
117
|
+
OP_CHECKLOCKTIMEVERIFY = 0xb1,
|
|
118
|
+
OP_CHECKSEQUENCEVERIFY = 0xb2,
|
|
119
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { BufferWriter, StreamReader } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { HashByteOrder } from './HashByteOrder';
|
|
4
|
+
import { HashValue } from './HashValue';
|
|
5
|
+
import { ICloneable } from './ICloneable';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A tuple defining a transaction output which contains the transaction
|
|
9
|
+
* identifier and the output index.
|
|
10
|
+
*/
|
|
11
|
+
export class OutPoint implements ICloneable<OutPoint> {
|
|
12
|
+
/**
|
|
13
|
+
* Creates an OutPoint from a byte stream.
|
|
14
|
+
* @param reader
|
|
15
|
+
*/
|
|
16
|
+
public static parse(reader: StreamReader): OutPoint {
|
|
17
|
+
const txid = HashValue.parse(reader);
|
|
18
|
+
const outputIndex = reader.readUInt32LE();
|
|
19
|
+
return new OutPoint(txid, outputIndex);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Creates an OutPoint instance from an Outpoint serialized
|
|
24
|
+
* to the standard string of "txid:vout" where the txid is in RPC
|
|
25
|
+
* (reversed) byte order
|
|
26
|
+
*/
|
|
27
|
+
public static fromString(text: string): OutPoint {
|
|
28
|
+
const parts = /^([0-9a-f]{64,64}):(\d+)$/i.exec(text);
|
|
29
|
+
if (!parts) {
|
|
30
|
+
throw new Error('invalid argument');
|
|
31
|
+
}
|
|
32
|
+
const txid = HashValue.fromRpc(parts[1]);
|
|
33
|
+
const voutIdx = parseInt(parts[2]);
|
|
34
|
+
if (voutIdx < 0) {
|
|
35
|
+
throw new Error('invalid argument');
|
|
36
|
+
}
|
|
37
|
+
return new OutPoint(txid, voutIdx);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Transaction identifier
|
|
42
|
+
*/
|
|
43
|
+
public txid: HashValue;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Index of output in transaction
|
|
47
|
+
*/
|
|
48
|
+
public outputIndex: number;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Constructs a new OutPoint
|
|
52
|
+
* @param txid TxId as a HashValue or an RPC (big-endian) string
|
|
53
|
+
* @param outputIndex
|
|
54
|
+
*/
|
|
55
|
+
constructor(txid: HashValue | string, outputIndex: number) {
|
|
56
|
+
if (txid instanceof HashValue) {
|
|
57
|
+
this.txid = txid;
|
|
58
|
+
} else {
|
|
59
|
+
this.txid = HashValue.fromRpc(txid);
|
|
60
|
+
}
|
|
61
|
+
this.outputIndex = outputIndex;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Converts the outpoint to a human readable string in the format
|
|
66
|
+
* [txid]:[voutidx]
|
|
67
|
+
*/
|
|
68
|
+
public toString(): string {
|
|
69
|
+
return `${this.txid.toString(HashByteOrder.RPC)}:${this.outputIndex}`;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Converts the outpoint to a JSON object with the txid and index
|
|
74
|
+
* tuple
|
|
75
|
+
*/
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
77
|
+
public toJSON() {
|
|
78
|
+
return {
|
|
79
|
+
txid: this.txid.toString(HashByteOrder.RPC),
|
|
80
|
+
index: this.outputIndex,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Serializes the OutPoint to a buffer where the txid is serialized
|
|
86
|
+
* in internal byte order, and the output index is uint32LE
|
|
87
|
+
*/
|
|
88
|
+
public serialize(): Buffer {
|
|
89
|
+
const writer = new BufferWriter(Buffer.alloc(36));
|
|
90
|
+
writer.writeBytes(this.txid.serialize());
|
|
91
|
+
writer.writeUInt32LE(this.outputIndex);
|
|
92
|
+
return writer.toBuffer();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Clones by performing deep copy
|
|
97
|
+
*/
|
|
98
|
+
public clone(): OutPoint {
|
|
99
|
+
return new OutPoint(this.txid.clone(), this.outputIndex);
|
|
100
|
+
}
|
|
101
|
+
}
|