@atomicfinance/types 4.0.0 → 4.0.2
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/.yalc/@node-dlc/noise/.eslintrc +6 -0
- package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
- package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
- package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
- package/.yalc/@node-dlc/noise/README.md +165 -0
- package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
- package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
- package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
- package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
- package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
- package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
- package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
- package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
- package/.yalc/@node-dlc/noise/dist/index.js +69 -0
- package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
- package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
- package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
- package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
- package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
- package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
- package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
- package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
- package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
- package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
- package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
- package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
- package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
- package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
- package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
- package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
- package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
- package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
- package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
- package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
- package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
- package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
- package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
- package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
- package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
- package/.yalc/@node-dlc/noise/package.json +35 -0
- package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
- package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
- package/.yalc/@node-dlc/noise/yalc.sig +1 -0
- package/CHANGELOG.md +45 -5
- package/dist/dlc.d.ts +99 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/models/Amount.js +4 -2
- package/dist/models/Amount.js.map +1 -1
- package/dist/models/Input.d.ts +30 -1
- package/dist/models/Input.js +45 -9
- package/dist/models/Input.js.map +1 -1
- package/dist/models/Outcome.js +1 -0
- package/dist/models/Outcome.js.map +1 -1
- package/dist/models/Utxo.d.ts +3 -3
- package/dist/models/Utxo.js +11 -13
- package/dist/models/Utxo.js.map +1 -1
- package/dist/transaction.js.map +1 -1
- package/lib/block.ts +1 -0
- package/lib/dlc.ts +125 -1
- package/lib/index.ts +7 -1
- package/lib/models/Amount.ts +4 -1
- package/lib/models/Input.ts +75 -8
- package/lib/models/Outcome.ts +1 -0
- package/lib/models/Utxo.ts +21 -13
- package/lib/transaction.ts +1 -0
- package/lib/wallet.ts +1 -0
- package/package.json +4 -4
- package/yalc.lock +12 -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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Script
|
|
2
|
-
import { BufferReader, BufferWriter
|
|
1
|
+
import { Script } from '@node-dlc/bitcoin';
|
|
2
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
3
3
|
import { hash160 } from '@node-dlc/crypto';
|
|
4
4
|
import { BitcoinNetwork } from 'bitcoin-networks';
|
|
5
5
|
import { address } from 'bitcoinjs-lib';
|
|
@@ -7,9 +7,9 @@ import secp256k1 from 'secp256k1';
|
|
|
7
7
|
|
|
8
8
|
import { MessageType, PROTOCOL_VERSION } from '../MessageType';
|
|
9
9
|
import { deserializeTlv } from '../serialize/deserializeTlv';
|
|
10
|
-
import { getTlv
|
|
10
|
+
import { getTlv } from '../serialize/getTlv';
|
|
11
11
|
import { bigIntToNumber, toBigInt } from '../util';
|
|
12
|
-
import { BatchFundingGroup
|
|
12
|
+
import { BatchFundingGroup } from './BatchFundingGroup';
|
|
13
13
|
import {
|
|
14
14
|
CetAdaptorSignatures,
|
|
15
15
|
ICetAdaptorSignaturesJSON,
|
|
@@ -126,6 +126,7 @@ export class DlcAccept implements IDlcMessage {
|
|
|
126
126
|
* @param fundingInputsJson Array of JSON objects representing funding inputs
|
|
127
127
|
*/
|
|
128
128
|
private static parseFundingInputsFromJSON(
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
129
130
|
fundingInputsJson: any[],
|
|
130
131
|
): FundingInput[] {
|
|
131
132
|
return fundingInputsJson.map((inputJson) => {
|
|
@@ -139,6 +140,7 @@ export class DlcAccept implements IDlcMessage {
|
|
|
139
140
|
* @param cetSigsJson JSON object representing CET adaptor signatures
|
|
140
141
|
*/
|
|
141
142
|
private static parseCetAdaptorSignaturesFromJSON(
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
142
144
|
cetSigsJson: any,
|
|
143
145
|
): CetAdaptorSignatures {
|
|
144
146
|
const instance = new CetAdaptorSignatures();
|
|
@@ -150,6 +152,7 @@ export class DlcAccept implements IDlcMessage {
|
|
|
150
152
|
const ecdsaSigs =
|
|
151
153
|
cetSigsJson.ecdsaAdaptorSignatures ||
|
|
152
154
|
cetSigsJson.ecdsa_adaptor_signatures;
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
153
156
|
instance.sigs = ecdsaSigs.map((sig: any) => {
|
|
154
157
|
// The test vectors use 'signature' field, but our internal format uses encryptedSig/dleqProof
|
|
155
158
|
// Adaptor signatures have different format than regular ECDSA (65 bytes + 97 bytes)
|
|
@@ -170,6 +173,7 @@ export class DlcAccept implements IDlcMessage {
|
|
|
170
173
|
* @param negotiationJson JSON object representing negotiation fields
|
|
171
174
|
*/
|
|
172
175
|
private static parseNegotiationFieldsFromJSON(
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
173
177
|
negotiationJson: any,
|
|
174
178
|
): NegotiationFields {
|
|
175
179
|
return NegotiationFields.fromJSON(negotiationJson);
|
|
@@ -277,6 +281,12 @@ export class DlcAccept implements IDlcMessage {
|
|
|
277
281
|
}
|
|
278
282
|
}
|
|
279
283
|
|
|
284
|
+
// Auto-detect single funded DLCs based on minimal acceptCollateral
|
|
285
|
+
// In single funded DLCs, acceptCollateral is typically 0 or very small
|
|
286
|
+
if (instance.acceptCollateral === BigInt(0)) {
|
|
287
|
+
instance.singleFunded = true;
|
|
288
|
+
}
|
|
289
|
+
|
|
280
290
|
return instance;
|
|
281
291
|
}
|
|
282
292
|
|
|
@@ -317,6 +327,28 @@ export class DlcAccept implements IDlcMessage {
|
|
|
317
327
|
// Store unknown TLVs for forward compatibility
|
|
318
328
|
public unknownTlvs?: Array<{ type: number; data: Buffer }>;
|
|
319
329
|
|
|
330
|
+
/**
|
|
331
|
+
* Flag to indicate if this is a single funded DLC
|
|
332
|
+
* In single funded DLCs, the acceptor provides minimal or no collateral
|
|
333
|
+
*/
|
|
334
|
+
public singleFunded = false;
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Marks this DLC accept as single funded
|
|
338
|
+
* For single funded DLCs, acceptCollateral is typically 0 or minimal
|
|
339
|
+
*/
|
|
340
|
+
public markAsSingleFunded(): void {
|
|
341
|
+
this.singleFunded = true;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Checks if this DLC accept is for a single funded DLC
|
|
346
|
+
* @returns True if this is a single funded DLC
|
|
347
|
+
*/
|
|
348
|
+
public isSingleFunded(): boolean {
|
|
349
|
+
return this.singleFunded;
|
|
350
|
+
}
|
|
351
|
+
|
|
320
352
|
/**
|
|
321
353
|
* Get funding, change and payout address from DlcAccept
|
|
322
354
|
* @param network Bitcoin Network
|
|
@@ -398,8 +430,20 @@ export class DlcAccept implements IDlcMessage {
|
|
|
398
430
|
const input = fundingInput as FundingInput;
|
|
399
431
|
return acc + input.prevTx.outputs[input.prevTxVout].value.sats;
|
|
400
432
|
}, BigInt(0));
|
|
401
|
-
|
|
402
|
-
|
|
433
|
+
|
|
434
|
+
if (this.isSingleFunded()) {
|
|
435
|
+
// For single funded DLCs, acceptor may provide minimal or no collateral
|
|
436
|
+
// fundingAmount should be >= acceptCollateral (allowing for 0 collateral case)
|
|
437
|
+
if (this.acceptCollateral > 0 && fundingAmount < this.acceptCollateral) {
|
|
438
|
+
throw new Error(
|
|
439
|
+
'For single funded DLCs, fundingAmount must be at least acceptCollateral',
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
} else {
|
|
443
|
+
// For regular DLCs, funding amount must be greater than accept collateral
|
|
444
|
+
if (this.acceptCollateral >= fundingAmount) {
|
|
445
|
+
throw new Error('fundingAmount must be greater than acceptCollateral');
|
|
446
|
+
}
|
|
403
447
|
}
|
|
404
448
|
}
|
|
405
449
|
|
|
@@ -67,6 +67,7 @@ export class DlcClose implements IDlcMessage {
|
|
|
67
67
|
instance.fundingSignatures.witnessElements = sigData.fundingSignatures.map(
|
|
68
68
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
69
|
(sig: any) =>
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
70
71
|
sig.witnessElements?.map((elem: any) => {
|
|
71
72
|
const witness = new ScriptWitnessV0();
|
|
72
73
|
witness.length =
|
|
@@ -80,6 +81,7 @@ export class DlcClose implements IDlcMessage {
|
|
|
80
81
|
instance.fundingSignatures.witnessElements = sigData.map(
|
|
81
82
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
83
|
(sig: any) =>
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
83
85
|
sig.witnessElements?.map((elem: any) => {
|
|
84
86
|
const witness = new ScriptWitnessV0();
|
|
85
87
|
witness.length =
|
|
@@ -246,7 +248,7 @@ export class DlcClose implements IDlcMessage {
|
|
|
246
248
|
fundInputSerialId: bigIntToNumber(this.fundInputSerialId),
|
|
247
249
|
fundingInputs: this.fundingInputs.map((input) => input.toJSON()),
|
|
248
250
|
fundingSignatures: this.fundingSignatures.toJSON(),
|
|
249
|
-
}
|
|
251
|
+
}; // Allow different field names from interface
|
|
250
252
|
}
|
|
251
253
|
|
|
252
254
|
/**
|
|
@@ -298,5 +300,6 @@ export interface IDlcCloseJSON {
|
|
|
298
300
|
fundingInputs: IFundingInputJSON[];
|
|
299
301
|
fundingSignatures: IFundingSignaturesJSON;
|
|
300
302
|
serialized?: string; // Made optional - hex serialization for compatibility testing
|
|
303
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
301
304
|
tlvs?: any[]; // Made optional - for unknown TLVs
|
|
302
305
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { Tx } from '@node-dlc/bitcoin';
|
|
2
|
-
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
3
2
|
|
|
4
3
|
import { DlcAccept, DlcOffer, DlcTransactions } from '..';
|
|
5
|
-
import { MessageType } from '../MessageType';
|
|
6
|
-
import { IDlcMessage } from './DlcMessage';
|
|
7
4
|
|
|
8
5
|
/**
|
|
9
6
|
* DlcClose Metadata object contains information required for verifying DlcClose
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { MessageType } from '../MessageType';
|
|
4
|
+
import { IDlcMessage } from './DlcMessage';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DlcInput contains information about a DLC input to be used in a funding transaction.
|
|
8
|
+
* Contains the local and remote funding public keys and the contract ID of the DLC input.
|
|
9
|
+
* Matches rust-dlc DlcInput struct.
|
|
10
|
+
*/
|
|
11
|
+
export class DlcInput implements IDlcMessage {
|
|
12
|
+
public static type = MessageType.DlcInput;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Creates a DlcInput from JSON data
|
|
16
|
+
* @param json JSON object representing DLC input
|
|
17
|
+
*/
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
19
|
+
public static fromJSON(json: any): DlcInput {
|
|
20
|
+
const instance = new DlcInput();
|
|
21
|
+
|
|
22
|
+
// Parse local funding public key
|
|
23
|
+
const localFundPubkey = json.localFundPubkey || json.local_fund_pubkey;
|
|
24
|
+
if (typeof localFundPubkey === 'string') {
|
|
25
|
+
instance.localFundPubkey = Buffer.from(localFundPubkey, 'hex');
|
|
26
|
+
} else {
|
|
27
|
+
throw new Error('localFundPubkey is required');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Parse remote funding public key
|
|
31
|
+
const remoteFundPubkey = json.remoteFundPubkey || json.remote_fund_pubkey;
|
|
32
|
+
if (typeof remoteFundPubkey === 'string') {
|
|
33
|
+
instance.remoteFundPubkey = Buffer.from(remoteFundPubkey, 'hex');
|
|
34
|
+
} else {
|
|
35
|
+
throw new Error('remoteFundPubkey is required');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Parse contract ID (32 bytes)
|
|
39
|
+
const contractId = json.contractId || json.contract_id;
|
|
40
|
+
if (typeof contractId === 'string') {
|
|
41
|
+
instance.contractId = Buffer.from(contractId, 'hex');
|
|
42
|
+
} else {
|
|
43
|
+
throw new Error('contractId is required');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return instance;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Deserializes a dlc_input message
|
|
51
|
+
* @param buf
|
|
52
|
+
*/
|
|
53
|
+
public static deserialize(buf: Buffer): DlcInput {
|
|
54
|
+
const instance = new DlcInput();
|
|
55
|
+
const reader = new BufferReader(buf);
|
|
56
|
+
|
|
57
|
+
reader.readBigSize(); // read type
|
|
58
|
+
instance.length = reader.readBigSize();
|
|
59
|
+
|
|
60
|
+
// Read local funding public key (33 bytes)
|
|
61
|
+
instance.localFundPubkey = reader.readBytes(33);
|
|
62
|
+
|
|
63
|
+
// Read remote funding public key (33 bytes)
|
|
64
|
+
instance.remoteFundPubkey = reader.readBytes(33);
|
|
65
|
+
|
|
66
|
+
// Read contract ID (32 bytes)
|
|
67
|
+
instance.contractId = reader.readBytes(32);
|
|
68
|
+
|
|
69
|
+
return instance;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Deserializes a dlc_input without TLV wrapper (for use in FundingInput)
|
|
74
|
+
* @param buf
|
|
75
|
+
*/
|
|
76
|
+
public static deserializeBody(buf: Buffer): DlcInput {
|
|
77
|
+
const instance = new DlcInput();
|
|
78
|
+
const reader = new BufferReader(buf);
|
|
79
|
+
|
|
80
|
+
// Read local funding public key (33 bytes)
|
|
81
|
+
instance.localFundPubkey = reader.readBytes(33);
|
|
82
|
+
|
|
83
|
+
// Read remote funding public key (33 bytes)
|
|
84
|
+
instance.remoteFundPubkey = reader.readBytes(33);
|
|
85
|
+
|
|
86
|
+
// Read contract ID (32 bytes)
|
|
87
|
+
instance.contractId = reader.readBytes(32);
|
|
88
|
+
|
|
89
|
+
return instance;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* The type for dlc_input message. dlc_input = 42773
|
|
94
|
+
*/
|
|
95
|
+
public type = DlcInput.type;
|
|
96
|
+
|
|
97
|
+
public length: bigint;
|
|
98
|
+
|
|
99
|
+
public localFundPubkey: Buffer;
|
|
100
|
+
|
|
101
|
+
public remoteFundPubkey: Buffer;
|
|
102
|
+
|
|
103
|
+
public contractId: Buffer;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Validates correctness of all fields
|
|
107
|
+
* @throws Will throw an error if validation fails
|
|
108
|
+
*/
|
|
109
|
+
public validate(): void {
|
|
110
|
+
if (!this.localFundPubkey) {
|
|
111
|
+
throw new Error('localFundPubkey is required');
|
|
112
|
+
}
|
|
113
|
+
if (!this.remoteFundPubkey) {
|
|
114
|
+
throw new Error('remoteFundPubkey is required');
|
|
115
|
+
}
|
|
116
|
+
if (!this.contractId || this.contractId.length !== 32) {
|
|
117
|
+
throw new Error('contractId must be a 32-byte buffer');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Converts dlc_input to JSON
|
|
123
|
+
*/
|
|
124
|
+
public toJSON(): IDlcInputJSON {
|
|
125
|
+
return {
|
|
126
|
+
localFundPubkey: this.localFundPubkey.toString('hex'),
|
|
127
|
+
remoteFundPubkey: this.remoteFundPubkey.toString('hex'),
|
|
128
|
+
contractId: this.contractId.toString('hex'),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Serializes the dlc_input message into a Buffer
|
|
134
|
+
*/
|
|
135
|
+
public serialize(): Buffer {
|
|
136
|
+
const writer = new BufferWriter();
|
|
137
|
+
writer.writeBigSize(this.type);
|
|
138
|
+
|
|
139
|
+
const dataWriter = new BufferWriter();
|
|
140
|
+
dataWriter.writeBytes(this.localFundPubkey);
|
|
141
|
+
dataWriter.writeBytes(this.remoteFundPubkey);
|
|
142
|
+
dataWriter.writeBytes(this.contractId);
|
|
143
|
+
|
|
144
|
+
writer.writeBigSize(dataWriter.size);
|
|
145
|
+
writer.writeBytes(dataWriter.toBuffer());
|
|
146
|
+
|
|
147
|
+
return writer.toBuffer();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Serializes dlc_input body without TLV wrapper (for embedding in FundingInput)
|
|
152
|
+
*/
|
|
153
|
+
public serializeBody(): Buffer {
|
|
154
|
+
const writer = new BufferWriter();
|
|
155
|
+
writer.writeBytes(this.localFundPubkey);
|
|
156
|
+
writer.writeBytes(this.remoteFundPubkey);
|
|
157
|
+
writer.writeBytes(this.contractId);
|
|
158
|
+
|
|
159
|
+
return writer.toBuffer();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export interface IDlcInputJSON {
|
|
164
|
+
localFundPubkey: string;
|
|
165
|
+
remoteFundPubkey: string;
|
|
166
|
+
contractId: string;
|
|
167
|
+
}
|
|
@@ -207,7 +207,7 @@ export class DlcOffer implements IDlcMessage {
|
|
|
207
207
|
case MessageType.OrderIrcInfoV0:
|
|
208
208
|
instance.ircInfo = OrderIrcInfoV0.deserialize(buf);
|
|
209
209
|
break;
|
|
210
|
-
case MessageType.
|
|
210
|
+
case MessageType.OrderPositionInfo:
|
|
211
211
|
instance.positionInfo = OrderPositionInfo.deserialize(buf);
|
|
212
212
|
break;
|
|
213
213
|
case MessageType.BatchFundingGroup:
|
|
@@ -226,6 +226,13 @@ export class DlcOffer implements IDlcMessage {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
+
// Auto-detect single funded DLCs
|
|
230
|
+
if (
|
|
231
|
+
instance.contractInfo.getTotalCollateral() === instance.offerCollateral
|
|
232
|
+
) {
|
|
233
|
+
instance.singleFunded = true;
|
|
234
|
+
}
|
|
235
|
+
|
|
229
236
|
return instance;
|
|
230
237
|
}
|
|
231
238
|
|
|
@@ -279,6 +286,37 @@ export class DlcOffer implements IDlcMessage {
|
|
|
279
286
|
// Store unknown TLVs for forward compatibility
|
|
280
287
|
public unknownTlvs?: Array<{ type: number; data: Buffer }>;
|
|
281
288
|
|
|
289
|
+
/**
|
|
290
|
+
* Flag to indicate if this is a single funded DLC
|
|
291
|
+
* In single funded DLCs, totalCollateral equals offerCollateral
|
|
292
|
+
*/
|
|
293
|
+
public singleFunded = false;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Marks this DLC offer as single funded and validates that collateral amounts are correct
|
|
297
|
+
* @throws Will throw an error if totalCollateral doesn't equal offerCollateral
|
|
298
|
+
*/
|
|
299
|
+
public markAsSingleFunded(): void {
|
|
300
|
+
const totalCollateral = this.contractInfo.getTotalCollateral();
|
|
301
|
+
if (totalCollateral !== this.offerCollateral) {
|
|
302
|
+
throw new Error(
|
|
303
|
+
`Cannot mark as single funded: totalCollateral (${totalCollateral}) must equal offerCollateral (${this.offerCollateral})`,
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
this.singleFunded = true;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Checks if this DLC offer is single funded (totalCollateral == offerCollateral)
|
|
311
|
+
* @returns True if this is a single funded DLC
|
|
312
|
+
*/
|
|
313
|
+
public isSingleFunded(): boolean {
|
|
314
|
+
return (
|
|
315
|
+
this.singleFunded ||
|
|
316
|
+
this.contractInfo.getTotalCollateral() === this.offerCollateral
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
|
|
282
320
|
/**
|
|
283
321
|
* Get funding, change and payout address from DlcOffer
|
|
284
322
|
* @param network Bitcoin Network
|
|
@@ -400,8 +438,19 @@ export class DlcOffer implements IDlcMessage {
|
|
|
400
438
|
this.contractInfo.validate();
|
|
401
439
|
|
|
402
440
|
// totalCollateral should be > offerCollateral (logical validation)
|
|
403
|
-
|
|
404
|
-
|
|
441
|
+
// Exception: for single funded DLCs, totalCollateral == offerCollateral is allowed
|
|
442
|
+
if (this.isSingleFunded()) {
|
|
443
|
+
if (this.contractInfo.getTotalCollateral() !== this.offerCollateral) {
|
|
444
|
+
throw new Error(
|
|
445
|
+
'For single funded DLCs, totalCollateral must equal offerCollateral',
|
|
446
|
+
);
|
|
447
|
+
}
|
|
448
|
+
} else {
|
|
449
|
+
if (this.contractInfo.getTotalCollateral() <= this.offerCollateral) {
|
|
450
|
+
throw new Error(
|
|
451
|
+
'totalCollateral should be greater than offerCollateral',
|
|
452
|
+
);
|
|
453
|
+
}
|
|
405
454
|
}
|
|
406
455
|
|
|
407
456
|
// validate funding amount
|
|
@@ -409,8 +458,19 @@ export class DlcOffer implements IDlcMessage {
|
|
|
409
458
|
const input = fundingInput as FundingInput;
|
|
410
459
|
return acc + input.prevTx.outputs[input.prevTxVout].value.sats;
|
|
411
460
|
}, BigInt(0));
|
|
412
|
-
|
|
413
|
-
|
|
461
|
+
|
|
462
|
+
if (this.isSingleFunded()) {
|
|
463
|
+
// For single funded DLCs, funding amount must cover the full total collateral plus fees
|
|
464
|
+
if (fundingAmount < this.contractInfo.getTotalCollateral()) {
|
|
465
|
+
throw new Error(
|
|
466
|
+
'For single funded DLCs, fundingAmount must be at least totalCollateral',
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
} else {
|
|
470
|
+
// For regular DLCs, funding amount must be greater than offer collateral
|
|
471
|
+
if (this.offerCollateral >= fundingAmount) {
|
|
472
|
+
throw new Error('fundingAmount must be greater than offerCollateral');
|
|
473
|
+
}
|
|
414
474
|
}
|
|
415
475
|
}
|
|
416
476
|
|
|
@@ -453,7 +513,7 @@ export class DlcOffer implements IDlcMessage {
|
|
|
453
513
|
feeRatePerVb: bigIntToNumber(this.feeRatePerVb),
|
|
454
514
|
cetLocktime: this.cetLocktime,
|
|
455
515
|
refundLocktime: this.refundLocktime,
|
|
456
|
-
}
|
|
516
|
+
}; // Allow different field names from interface
|
|
457
517
|
}
|
|
458
518
|
|
|
459
519
|
/**
|
|
@@ -537,7 +597,7 @@ export interface IDlcOfferJSON {
|
|
|
537
597
|
| IOrderIrcInfoJSON
|
|
538
598
|
| IOrderPositionInfoJSON
|
|
539
599
|
| IBatchFundingGroupJSON
|
|
540
|
-
|
|
|
600
|
+
| unknown
|
|
541
601
|
)[]; // Made optional - for unknown TLVs
|
|
542
602
|
}
|
|
543
603
|
|
|
@@ -79,6 +79,7 @@ export class DlcSign implements IDlcMessage {
|
|
|
79
79
|
* @param cetSigsJson JSON object representing CET adaptor signatures
|
|
80
80
|
*/
|
|
81
81
|
private static parseCetAdaptorSignaturesFromJSON(
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
83
|
cetSigsJson: any,
|
|
83
84
|
): CetAdaptorSignatures {
|
|
84
85
|
const instance = new CetAdaptorSignatures();
|
|
@@ -90,6 +91,7 @@ export class DlcSign implements IDlcMessage {
|
|
|
90
91
|
const ecdsaSigs =
|
|
91
92
|
cetSigsJson.ecdsaAdaptorSignatures ||
|
|
92
93
|
cetSigsJson.ecdsa_adaptor_signatures;
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
95
|
instance.sigs = ecdsaSigs.map((sig: any) => {
|
|
94
96
|
// The test vectors use 'signature' field, but our internal format uses encryptedSig/dleqProof
|
|
95
97
|
// For now, we'll parse the signature as encryptedSig and leave dleqProof empty
|
|
@@ -110,6 +112,7 @@ export class DlcSign implements IDlcMessage {
|
|
|
110
112
|
* @param fundingSigsJson JSON object representing funding signatures
|
|
111
113
|
*/
|
|
112
114
|
private static parseFundingSignaturesFromJSON(
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
113
116
|
fundingSigsJson: any,
|
|
114
117
|
): FundingSignatures {
|
|
115
118
|
const instance = new FundingSignatures();
|
|
@@ -120,8 +123,10 @@ export class DlcSign implements IDlcMessage {
|
|
|
120
123
|
) {
|
|
121
124
|
const fundingSigs =
|
|
122
125
|
fundingSigsJson.fundingSignatures || fundingSigsJson.funding_signatures;
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
123
127
|
instance.witnessElements = fundingSigs.map((sig: any) =>
|
|
124
128
|
(sig.witnessElements || sig.witness_elements || []).map(
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
125
130
|
(element: any) => {
|
|
126
131
|
// Create a ScriptWitnessV0 instance for each witness element
|
|
127
132
|
const witness = new ScriptWitnessV0();
|
|
@@ -27,6 +27,7 @@ export abstract class EventDescriptor {
|
|
|
27
27
|
* Creates an EventDescriptor from JSON data
|
|
28
28
|
* @param json JSON object representing event descriptor
|
|
29
29
|
*/
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
30
31
|
public static fromJSON(json: any): EventDescriptor {
|
|
31
32
|
if (!json) {
|
|
32
33
|
throw new Error('eventDescriptor is required');
|
|
@@ -70,6 +71,7 @@ export class EnumEventDescriptor
|
|
|
70
71
|
* Creates an EnumEventDescriptor from JSON data
|
|
71
72
|
* @param json JSON object representing an enum event descriptor
|
|
72
73
|
*/
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
73
75
|
public static fromJSON(json: any): EnumEventDescriptor {
|
|
74
76
|
const instance = new EnumEventDescriptor();
|
|
75
77
|
instance.outcomes = json.outcomes || [];
|
|
@@ -156,6 +158,7 @@ export class DigitDecompositionEventDescriptor
|
|
|
156
158
|
* Creates a DigitDecompositionEventDescriptor from JSON data
|
|
157
159
|
* @param json JSON object representing digit decomposition event descriptor
|
|
158
160
|
*/
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
159
162
|
public static fromJSON(json: any): DigitDecompositionEventDescriptor {
|
|
160
163
|
const instance = new DigitDecompositionEventDescriptor();
|
|
161
164
|
instance.base = json.base || 10;
|
|
@@ -238,7 +241,7 @@ export class DigitDecompositionEventDescriptor
|
|
|
238
241
|
precision: this.precision,
|
|
239
242
|
nbDigits: this.nbDigits,
|
|
240
243
|
},
|
|
241
|
-
}
|
|
244
|
+
};
|
|
242
245
|
}
|
|
243
246
|
|
|
244
247
|
/**
|
|
@@ -273,13 +276,15 @@ export interface IEnumEventDescriptorJSON {
|
|
|
273
276
|
};
|
|
274
277
|
}
|
|
275
278
|
|
|
279
|
+
// Rust-dlc enum variant format for DigitDecompositionEventDescriptor
|
|
276
280
|
export interface IDigitDecompositionEventDescriptorJSON {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
281
|
+
digitDecompositionEvent: {
|
|
282
|
+
base: number;
|
|
283
|
+
isSigned: boolean;
|
|
284
|
+
unit: string;
|
|
285
|
+
precision: number;
|
|
286
|
+
nbDigits: number;
|
|
287
|
+
};
|
|
283
288
|
}
|
|
284
289
|
|
|
285
290
|
// Legacy interface
|
|
@@ -3,6 +3,7 @@ import { BufferReader, BufferWriter, StreamReader } from '@node-dlc/bufio';
|
|
|
3
3
|
|
|
4
4
|
import { MessageType } from '../MessageType';
|
|
5
5
|
import { bigIntToNumber, toBigInt } from '../util';
|
|
6
|
+
import { DlcInput } from './DlcInput';
|
|
6
7
|
import { IDlcMessage } from './DlcMessage';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -54,6 +55,12 @@ export class FundingInput implements IDlcMessage {
|
|
|
54
55
|
const redeemScript = json.redeemScript || json.redeem_script || '';
|
|
55
56
|
instance.redeemScript = Buffer.from(redeemScript, 'hex');
|
|
56
57
|
|
|
58
|
+
// Parse optional DLC input
|
|
59
|
+
const dlcInput = json.dlcInput || json.dlc_input;
|
|
60
|
+
if (dlcInput) {
|
|
61
|
+
instance.dlcInput = DlcInput.fromJSON(dlcInput);
|
|
62
|
+
}
|
|
63
|
+
|
|
57
64
|
return instance;
|
|
58
65
|
}
|
|
59
66
|
|
|
@@ -78,6 +85,14 @@ export class FundingInput implements IDlcMessage {
|
|
|
78
85
|
const redeemScriptLen = reader.readUInt16BE();
|
|
79
86
|
instance.redeemScript = reader.readBytes(redeemScriptLen);
|
|
80
87
|
|
|
88
|
+
// Read optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)
|
|
89
|
+
if (reader.position < reader.buffer.length) {
|
|
90
|
+
const dlcInputData = reader.readOptional();
|
|
91
|
+
if (dlcInputData) {
|
|
92
|
+
instance.dlcInput = DlcInput.deserializeBody(dlcInputData);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
81
96
|
return instance;
|
|
82
97
|
}
|
|
83
98
|
|
|
@@ -107,6 +122,14 @@ export class FundingInput implements IDlcMessage {
|
|
|
107
122
|
const redeemScriptLen = reader.readUInt16BE();
|
|
108
123
|
instance.redeemScript = reader.readBytes(redeemScriptLen);
|
|
109
124
|
|
|
125
|
+
// Read optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)
|
|
126
|
+
if (reader.position < reader.buffer.length) {
|
|
127
|
+
const dlcInputData = reader.readOptional();
|
|
128
|
+
if (dlcInputData) {
|
|
129
|
+
instance.dlcInput = DlcInput.deserializeBody(dlcInputData);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
110
133
|
return instance;
|
|
111
134
|
}
|
|
112
135
|
|
|
@@ -129,6 +152,8 @@ export class FundingInput implements IDlcMessage {
|
|
|
129
152
|
|
|
130
153
|
public redeemScript: Buffer;
|
|
131
154
|
|
|
155
|
+
public dlcInput?: DlcInput;
|
|
156
|
+
|
|
132
157
|
public scriptSigLength(): number {
|
|
133
158
|
if (this.redeemScript.length > 0) {
|
|
134
159
|
return 1 + this.redeemScript.length;
|
|
@@ -151,7 +176,7 @@ export class FundingInput implements IDlcMessage {
|
|
|
151
176
|
* Converts funding_input to JSON (canonical rust-dlc format)
|
|
152
177
|
*/
|
|
153
178
|
public toJSON(): IFundingInputJSON {
|
|
154
|
-
|
|
179
|
+
const result: IFundingInputJSON = {
|
|
155
180
|
inputSerialId: bigIntToNumber(this.inputSerialId),
|
|
156
181
|
prevTx: this.prevTx.serialize().toString('hex'),
|
|
157
182
|
prevTxVout: this.prevTxVout,
|
|
@@ -159,6 +184,12 @@ export class FundingInput implements IDlcMessage {
|
|
|
159
184
|
maxWitnessLen: this.maxWitnessLen,
|
|
160
185
|
redeemScript: this.redeemScript.toString('hex'),
|
|
161
186
|
};
|
|
187
|
+
|
|
188
|
+
if (this.dlcInput) {
|
|
189
|
+
result.dlcInput = this.dlcInput.toJSON();
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return result;
|
|
162
193
|
}
|
|
163
194
|
|
|
164
195
|
/**
|
|
@@ -178,6 +209,10 @@ export class FundingInput implements IDlcMessage {
|
|
|
178
209
|
dataWriter.writeUInt16BE(this.redeemScript.length);
|
|
179
210
|
dataWriter.writeBytes(this.redeemScript);
|
|
180
211
|
|
|
212
|
+
// Write optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)
|
|
213
|
+
const dlcInputData = this.dlcInput ? this.dlcInput.serializeBody() : null;
|
|
214
|
+
dataWriter.writeOptional(dlcInputData);
|
|
215
|
+
|
|
181
216
|
writer.writeBigSize(dataWriter.size);
|
|
182
217
|
writer.writeBytes(dataWriter.toBuffer());
|
|
183
218
|
|
|
@@ -202,6 +237,10 @@ export class FundingInput implements IDlcMessage {
|
|
|
202
237
|
writer.writeUInt16BE(this.redeemScript.length);
|
|
203
238
|
writer.writeBytes(this.redeemScript);
|
|
204
239
|
|
|
240
|
+
// Write optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)
|
|
241
|
+
const dlcInputData = this.dlcInput ? this.dlcInput.serializeBody() : null;
|
|
242
|
+
writer.writeOptional(dlcInputData);
|
|
243
|
+
|
|
205
244
|
return writer.toBuffer();
|
|
206
245
|
}
|
|
207
246
|
}
|
|
@@ -213,4 +252,9 @@ export interface IFundingInputJSON {
|
|
|
213
252
|
sequence: number;
|
|
214
253
|
maxWitnessLen: number;
|
|
215
254
|
redeemScript: string;
|
|
255
|
+
dlcInput?: {
|
|
256
|
+
localFundPubkey: string;
|
|
257
|
+
remoteFundPubkey: string;
|
|
258
|
+
contractId: string;
|
|
259
|
+
};
|
|
216
260
|
}
|