@atomicfinance/types 3.6.0 → 4.0.0
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-build.log +1 -0
- package/.turbo/turbo-test.log +0 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
- package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
- package/.yalc/@node-dlc/messaging/README.md +24 -0
- package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
- package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
- package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
- package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
- package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
- package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
- package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
- package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
- package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
- package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
- package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
- package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
- package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
- package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
- package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
- package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
- package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
- package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
- package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
- package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
- package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
- package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
- package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
- package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
- package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
- package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
- package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
- package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
- package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
- package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
- package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
- package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
- package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
- package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
- package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
- package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
- package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
- package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
- package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
- package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
- package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
- package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
- package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
- package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
- package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
- package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
- package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
- package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
- package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
- package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
- package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
- package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
- package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
- package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
- package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
- package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
- package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
- package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
- package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
- package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
- package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
- package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
- package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
- package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
- package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
- package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
- package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
- package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
- package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
- package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
- package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
- package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
- package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
- package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
- package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
- package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
- package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
- package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
- package/.yalc/@node-dlc/messaging/package.json +42 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
- package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
- package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
- package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
- package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
- package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
- package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
- package/CHANGELOG.md +70 -0
- package/dist/dlc.d.ts +3 -3
- package/dist/models/Output.js.map +1 -1
- package/lib/dlc.ts +4 -14
- package/lib/models/Output.ts +4 -1
- package/package.json +4 -4
- package/yalc.lock +10 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { MessageType, PROTOCOL_VERSION } from '../MessageType';
|
|
4
|
+
import { deserializeTlv } from '../serialize/deserializeTlv';
|
|
5
|
+
import { getTlv } from '../serialize/getTlv';
|
|
6
|
+
import { bigIntToNumber, toBigInt } from '../util';
|
|
7
|
+
import { IDlcMessage } from './DlcMessage';
|
|
8
|
+
import { FundingInput, IFundingInputJSON } from './FundingInput';
|
|
9
|
+
import { FundingSignatures, IFundingSignaturesJSON } from './FundingSignatures';
|
|
10
|
+
import { ScriptWitnessV0 } from './ScriptWitnessV0';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* DlcClose message contains information about a node and indicates its
|
|
14
|
+
* desire to close an existing contract.
|
|
15
|
+
* Updated to follow DlcOffer architectural patterns.
|
|
16
|
+
*/
|
|
17
|
+
export class DlcClose implements IDlcMessage {
|
|
18
|
+
public static type = MessageType.DlcClose;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Creates a DlcClose from JSON data (e.g., from test vectors)
|
|
22
|
+
* Handles both our internal format and external test vector formats
|
|
23
|
+
* @param json JSON object representing a DLC close message
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
26
|
+
public static fromJSON(json: any): DlcClose {
|
|
27
|
+
const instance = new DlcClose();
|
|
28
|
+
|
|
29
|
+
// Basic fields with field name variations
|
|
30
|
+
instance.protocolVersion =
|
|
31
|
+
json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;
|
|
32
|
+
|
|
33
|
+
// Basic fields with field name variations
|
|
34
|
+
instance.contractId = Buffer.from(
|
|
35
|
+
json.contractId || json.contract_id,
|
|
36
|
+
'hex',
|
|
37
|
+
);
|
|
38
|
+
instance.closeSignature = Buffer.from(
|
|
39
|
+
json.closeSignature || json.close_signature,
|
|
40
|
+
'hex',
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
// Use toBigInt helper to handle BigInt values from json-bigint
|
|
44
|
+
instance.offerPayoutSatoshis = toBigInt(
|
|
45
|
+
json.offerPayoutSatoshis || json.offer_payout_satoshis,
|
|
46
|
+
);
|
|
47
|
+
instance.acceptPayoutSatoshis = toBigInt(
|
|
48
|
+
json.acceptPayoutSatoshis || json.accept_payout_satoshis,
|
|
49
|
+
);
|
|
50
|
+
instance.fundInputSerialId = toBigInt(
|
|
51
|
+
json.fundInputSerialId || json.fund_input_serial_id,
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
// Use FundingInput.fromJSON() for each funding input - proper delegation
|
|
55
|
+
instance.fundingInputs = (json.fundingInputs || json.funding_inputs || [])
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
+
.map((inputJson: any) => FundingInput.fromJSON(inputJson));
|
|
58
|
+
|
|
59
|
+
// Create FundingSignatures manually since it doesn't have fromJSON
|
|
60
|
+
if (json.fundingSignatures || json.funding_signatures) {
|
|
61
|
+
instance.fundingSignatures = new FundingSignatures();
|
|
62
|
+
const sigData = json.fundingSignatures || json.funding_signatures;
|
|
63
|
+
|
|
64
|
+
// Handle different possible structures
|
|
65
|
+
if (sigData.fundingSignatures) {
|
|
66
|
+
// Standard format
|
|
67
|
+
instance.fundingSignatures.witnessElements = sigData.fundingSignatures.map(
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
+
(sig: any) =>
|
|
70
|
+
sig.witnessElements?.map((elem: any) => {
|
|
71
|
+
const witness = new ScriptWitnessV0();
|
|
72
|
+
witness.length =
|
|
73
|
+
elem.length || Buffer.from(elem.witness || '', 'hex').length;
|
|
74
|
+
witness.witness = Buffer.from(elem.witness || '', 'hex');
|
|
75
|
+
return witness;
|
|
76
|
+
}) || [],
|
|
77
|
+
);
|
|
78
|
+
} else if (Array.isArray(sigData)) {
|
|
79
|
+
// Array format
|
|
80
|
+
instance.fundingSignatures.witnessElements = sigData.map(
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
+
(sig: any) =>
|
|
83
|
+
sig.witnessElements?.map((elem: any) => {
|
|
84
|
+
const witness = new ScriptWitnessV0();
|
|
85
|
+
witness.length =
|
|
86
|
+
elem.length || Buffer.from(elem.witness || '', 'hex').length;
|
|
87
|
+
witness.witness = Buffer.from(elem.witness || '', 'hex');
|
|
88
|
+
return witness;
|
|
89
|
+
}) || [],
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return instance;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Deserializes a close_dlc message with backward compatibility
|
|
99
|
+
* Detects old format (without protocol_version) vs new format (with protocol_version)
|
|
100
|
+
* @param buf
|
|
101
|
+
*/
|
|
102
|
+
public static deserialize(buf: Buffer): DlcClose {
|
|
103
|
+
const instance = new DlcClose();
|
|
104
|
+
const reader = new BufferReader(buf);
|
|
105
|
+
|
|
106
|
+
const type = reader.readUInt16BE(); // read type
|
|
107
|
+
|
|
108
|
+
// Validate type matches expected DlcClose type
|
|
109
|
+
if (type !== MessageType.DlcClose) {
|
|
110
|
+
throw new Error(
|
|
111
|
+
`Invalid message type. Expected ${MessageType.DlcClose}, got ${type}`,
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Read protocol version
|
|
116
|
+
instance.protocolVersion = reader.readUInt32BE();
|
|
117
|
+
instance.contractId = reader.readBytes(32);
|
|
118
|
+
instance.closeSignature = reader.readBytes(64);
|
|
119
|
+
instance.offerPayoutSatoshis = reader.readUInt64BE();
|
|
120
|
+
instance.acceptPayoutSatoshis = reader.readUInt64BE();
|
|
121
|
+
instance.fundInputSerialId = reader.readUInt64BE();
|
|
122
|
+
|
|
123
|
+
// Changed from u16 to bigsize for consistency with DlcOffer
|
|
124
|
+
const fundingInputsLen = Number(reader.readBigSize());
|
|
125
|
+
|
|
126
|
+
for (let i = 0; i < fundingInputsLen; i++) {
|
|
127
|
+
// FundingInput body is serialized directly without TLV wrapper in rust-dlc format
|
|
128
|
+
const fundingInput = FundingInput.deserializeBody(
|
|
129
|
+
reader.buffer.subarray(reader.position),
|
|
130
|
+
);
|
|
131
|
+
instance.fundingInputs.push(fundingInput);
|
|
132
|
+
|
|
133
|
+
// Skip past the FundingInput we just read
|
|
134
|
+
const fundingInputLength = fundingInput.serializeBody().length;
|
|
135
|
+
reader.position += fundingInputLength;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Handle FundingSignatures - deserialize raw data (no TLV wrapper) like DlcSign
|
|
139
|
+
instance.fundingSignatures = FundingSignatures.deserialize(
|
|
140
|
+
reader.buffer.subarray(reader.position),
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
// Skip past the funding signatures we just read
|
|
144
|
+
const fundingLength = instance.fundingSignatures.serialize().length;
|
|
145
|
+
reader.position += fundingLength;
|
|
146
|
+
|
|
147
|
+
// Parse any additional TLV stream (for future extensibility)
|
|
148
|
+
while (!reader.eof) {
|
|
149
|
+
const buf = getTlv(reader);
|
|
150
|
+
const tlvReader = new BufferReader(buf);
|
|
151
|
+
const { type } = deserializeTlv(tlvReader);
|
|
152
|
+
|
|
153
|
+
// Store unknown TLVs for future compatibility
|
|
154
|
+
if (!instance.unknownTlvs) {
|
|
155
|
+
instance.unknownTlvs = [];
|
|
156
|
+
}
|
|
157
|
+
instance.unknownTlvs.push({ type: Number(type), data: buf });
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return instance;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* The type for close_dlc message. close_dlc = 52170
|
|
165
|
+
*/
|
|
166
|
+
public type = DlcClose.type;
|
|
167
|
+
|
|
168
|
+
// New fields as per dlcspecs PR #163
|
|
169
|
+
public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version
|
|
170
|
+
|
|
171
|
+
public contractId: Buffer;
|
|
172
|
+
|
|
173
|
+
public closeSignature: Buffer;
|
|
174
|
+
|
|
175
|
+
public offerPayoutSatoshis: bigint;
|
|
176
|
+
|
|
177
|
+
public acceptPayoutSatoshis: bigint;
|
|
178
|
+
|
|
179
|
+
public fundInputSerialId: bigint;
|
|
180
|
+
|
|
181
|
+
public fundingInputs: FundingInput[] = [];
|
|
182
|
+
|
|
183
|
+
public fundingSignatures: FundingSignatures;
|
|
184
|
+
|
|
185
|
+
// Store unknown TLVs for forward compatibility
|
|
186
|
+
public unknownTlvs?: Array<{ type: number; data: Buffer }>;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Validates correctness of all fields
|
|
190
|
+
* @throws Will throw an error if validation fails
|
|
191
|
+
*/
|
|
192
|
+
public validate(): void {
|
|
193
|
+
// Type is set automatically in class
|
|
194
|
+
|
|
195
|
+
// protocol_version validation
|
|
196
|
+
if (this.protocolVersion !== PROTOCOL_VERSION) {
|
|
197
|
+
throw new Error(
|
|
198
|
+
`Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// contractId validation
|
|
203
|
+
if (!this.contractId || this.contractId.length !== 32) {
|
|
204
|
+
throw new Error('contractId must be 32 bytes');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// closeSignature validation
|
|
208
|
+
if (!this.closeSignature || this.closeSignature.length !== 64) {
|
|
209
|
+
throw new Error('closeSignature must be 64 bytes');
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Ensure input serial ids are unique
|
|
213
|
+
const inputSerialIds = this.fundingInputs.map(
|
|
214
|
+
(input: FundingInput) => input.inputSerialId,
|
|
215
|
+
);
|
|
216
|
+
|
|
217
|
+
if (new Set(inputSerialIds).size !== inputSerialIds.length) {
|
|
218
|
+
throw new Error('inputSerialIds must be unique');
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// Ensure funding inputs are segwit
|
|
222
|
+
this.fundingInputs.forEach((input: FundingInput) => input.validate());
|
|
223
|
+
|
|
224
|
+
// Note: FundingSignatures doesn't have a validate method, so we skip validation
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Converts dlc_close to JSON (canonical rust-dlc format)
|
|
229
|
+
*/
|
|
230
|
+
public toJSON(): IDlcCloseJSON {
|
|
231
|
+
// Include unknown TLVs for debugging
|
|
232
|
+
const tlvs = [];
|
|
233
|
+
if (this.unknownTlvs) {
|
|
234
|
+
this.unknownTlvs.forEach((tlv) =>
|
|
235
|
+
tlvs.push({ type: tlv.type, data: tlv.data.toString('hex') }),
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Return canonical rust-dlc format
|
|
240
|
+
return {
|
|
241
|
+
protocolVersion: this.protocolVersion,
|
|
242
|
+
contractId: this.contractId.toString('hex'),
|
|
243
|
+
closeSignature: this.closeSignature.toString('hex'),
|
|
244
|
+
offerPayoutSatoshis: bigIntToNumber(this.offerPayoutSatoshis),
|
|
245
|
+
acceptPayoutSatoshis: bigIntToNumber(this.acceptPayoutSatoshis),
|
|
246
|
+
fundInputSerialId: bigIntToNumber(this.fundInputSerialId),
|
|
247
|
+
fundingInputs: this.fundingInputs.map((input) => input.toJSON()),
|
|
248
|
+
fundingSignatures: this.fundingSignatures.toJSON(),
|
|
249
|
+
} as any; // Allow different field names from interface
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Serializes the close_dlc message into a Buffer
|
|
254
|
+
* Updated serialization format to match DlcOffer patterns
|
|
255
|
+
*/
|
|
256
|
+
public serialize(): Buffer {
|
|
257
|
+
const writer = new BufferWriter();
|
|
258
|
+
writer.writeUInt16BE(this.type);
|
|
259
|
+
|
|
260
|
+
// New fields as per dlcspecs PR #163
|
|
261
|
+
writer.writeUInt32BE(this.protocolVersion);
|
|
262
|
+
writer.writeBytes(this.contractId);
|
|
263
|
+
writer.writeBytes(this.closeSignature);
|
|
264
|
+
writer.writeUInt64BE(this.offerPayoutSatoshis);
|
|
265
|
+
writer.writeUInt64BE(this.acceptPayoutSatoshis);
|
|
266
|
+
writer.writeUInt64BE(this.fundInputSerialId);
|
|
267
|
+
|
|
268
|
+
// Changed from u16 to bigsize for consistency with DlcOffer
|
|
269
|
+
writer.writeBigSize(this.fundingInputs.length);
|
|
270
|
+
|
|
271
|
+
for (const fundingInput of this.fundingInputs) {
|
|
272
|
+
// Use serializeBody() to match rust-dlc behavior - funding inputs in vec are serialized without TLV wrapper
|
|
273
|
+
writer.writeBytes(fundingInput.serializeBody());
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Serialize FundingSignatures directly (no TLV wrapper) like DlcSign
|
|
277
|
+
writer.writeBytes(this.fundingSignatures.serialize());
|
|
278
|
+
|
|
279
|
+
// Write unknown TLVs for forward compatibility
|
|
280
|
+
if (this.unknownTlvs) {
|
|
281
|
+
this.unknownTlvs.forEach((tlv) => {
|
|
282
|
+
writer.writeBytes(tlv.data);
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return writer.toBuffer();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
export interface IDlcCloseJSON {
|
|
291
|
+
type?: number; // Made optional for rust-dlc compatibility
|
|
292
|
+
protocolVersion: number;
|
|
293
|
+
contractId: string;
|
|
294
|
+
closeSignature: string;
|
|
295
|
+
offerPayoutSatoshis: number;
|
|
296
|
+
acceptPayoutSatoshis: number;
|
|
297
|
+
fundInputSerialId: number;
|
|
298
|
+
fundingInputs: IFundingInputJSON[];
|
|
299
|
+
fundingSignatures: IFundingSignaturesJSON;
|
|
300
|
+
serialized?: string; // Made optional - hex serialization for compatibility testing
|
|
301
|
+
tlvs?: any[]; // Made optional - for unknown TLVs
|
|
302
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Tx } from '@node-dlc/bitcoin';
|
|
2
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
3
|
+
|
|
4
|
+
import { DlcAccept, DlcOffer, DlcTransactions } from '..';
|
|
5
|
+
import { MessageType } from '../MessageType';
|
|
6
|
+
import { IDlcMessage } from './DlcMessage';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* DlcClose Metadata object contains information required for verifying DlcClose
|
|
10
|
+
* message.
|
|
11
|
+
*/
|
|
12
|
+
export class DlcCloseMetadata {
|
|
13
|
+
/**
|
|
14
|
+
* Convert JSON to DlcCloseMetadata
|
|
15
|
+
* @param json
|
|
16
|
+
*/
|
|
17
|
+
public static fromJSON(json: IDlcCloseMetadataJSON): DlcCloseMetadata {
|
|
18
|
+
const instance = new DlcCloseMetadata();
|
|
19
|
+
|
|
20
|
+
instance.offerFundingPubKey = Buffer.from(json.offerFundingPubKey, 'hex');
|
|
21
|
+
instance.acceptFundingPubKey = Buffer.from(json.acceptFundingPubKey, 'hex');
|
|
22
|
+
instance.offerPayoutSPK = Buffer.from(json.offerPayoutSPK, 'hex');
|
|
23
|
+
instance.acceptPayoutSPK = Buffer.from(json.acceptPayoutSPK, 'hex');
|
|
24
|
+
instance.offerPayoutSerialId = BigInt(json.offerPayoutSerialId);
|
|
25
|
+
instance.acceptPayoutSerialId = BigInt(json.acceptPayoutSerialId);
|
|
26
|
+
instance.feeRatePerVb = BigInt(json.feeRatePerVb);
|
|
27
|
+
instance.fundTx = Tx.fromHex(json.fundTx);
|
|
28
|
+
instance.fundTxVout = json.fundTxVout;
|
|
29
|
+
|
|
30
|
+
return instance;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public static fromDlcMessages(
|
|
34
|
+
dlcOffer: DlcOffer,
|
|
35
|
+
dlcAccept: DlcAccept,
|
|
36
|
+
dlcTxs: DlcTransactions,
|
|
37
|
+
): DlcCloseMetadata {
|
|
38
|
+
const instance = new DlcCloseMetadata();
|
|
39
|
+
|
|
40
|
+
instance.offerFundingPubKey = dlcOffer.fundingPubkey;
|
|
41
|
+
instance.acceptFundingPubKey = dlcAccept.fundingPubkey;
|
|
42
|
+
instance.offerPayoutSPK = dlcOffer.payoutSpk;
|
|
43
|
+
instance.acceptPayoutSPK = dlcAccept.payoutSpk;
|
|
44
|
+
instance.offerPayoutSerialId = dlcOffer.payoutSerialId;
|
|
45
|
+
instance.acceptPayoutSerialId = dlcAccept.payoutSerialId;
|
|
46
|
+
instance.feeRatePerVb = dlcOffer.feeRatePerVb;
|
|
47
|
+
instance.fundTx = dlcTxs.fundTx;
|
|
48
|
+
instance.fundTxVout = dlcTxs.fundTxVout;
|
|
49
|
+
|
|
50
|
+
return instance;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public offerFundingPubKey: Buffer;
|
|
54
|
+
|
|
55
|
+
public acceptFundingPubKey: Buffer;
|
|
56
|
+
|
|
57
|
+
public offerPayoutSPK: Buffer;
|
|
58
|
+
|
|
59
|
+
public acceptPayoutSPK: Buffer;
|
|
60
|
+
|
|
61
|
+
public offerPayoutSerialId: bigint;
|
|
62
|
+
|
|
63
|
+
public acceptPayoutSerialId: bigint;
|
|
64
|
+
|
|
65
|
+
public feeRatePerVb: bigint;
|
|
66
|
+
|
|
67
|
+
public fundTx: Tx;
|
|
68
|
+
|
|
69
|
+
public fundTxVout: number;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Converts dlc_close_metadata to JSON
|
|
73
|
+
*/
|
|
74
|
+
public toJSON(): IDlcCloseMetadataJSON {
|
|
75
|
+
return {
|
|
76
|
+
offerFundingPubKey: this.offerFundingPubKey.toString('hex'),
|
|
77
|
+
acceptFundingPubKey: this.acceptFundingPubKey.toString('hex'),
|
|
78
|
+
offerPayoutSPK: this.offerPayoutSPK.toString('hex'),
|
|
79
|
+
acceptPayoutSPK: this.acceptPayoutSPK.toString('hex'),
|
|
80
|
+
offerPayoutSerialId: Number(this.offerPayoutSerialId),
|
|
81
|
+
acceptPayoutSerialId: Number(this.acceptPayoutSerialId),
|
|
82
|
+
feeRatePerVb: Number(this.feeRatePerVb),
|
|
83
|
+
fundTx: this.fundTx.serialize().toString('hex'),
|
|
84
|
+
fundTxVout: this.fundTxVout,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public toDlcMessages(): {
|
|
89
|
+
dlcOffer: DlcOffer;
|
|
90
|
+
dlcAccept: DlcAccept;
|
|
91
|
+
dlcTxs: DlcTransactions;
|
|
92
|
+
} {
|
|
93
|
+
const dlcOffer = new DlcOffer();
|
|
94
|
+
const dlcAccept = new DlcAccept();
|
|
95
|
+
const dlcTxs = new DlcTransactions();
|
|
96
|
+
|
|
97
|
+
dlcOffer.fundingPubkey = this.offerFundingPubKey;
|
|
98
|
+
dlcAccept.fundingPubkey = this.acceptFundingPubKey;
|
|
99
|
+
dlcOffer.payoutSpk = this.offerPayoutSPK;
|
|
100
|
+
dlcAccept.payoutSpk = this.acceptPayoutSPK;
|
|
101
|
+
dlcOffer.payoutSerialId = this.offerPayoutSerialId;
|
|
102
|
+
dlcAccept.payoutSerialId = this.acceptPayoutSerialId;
|
|
103
|
+
dlcOffer.feeRatePerVb = this.feeRatePerVb;
|
|
104
|
+
dlcTxs.fundTx = this.fundTx;
|
|
105
|
+
dlcTxs.fundTxVout = this.fundTxVout;
|
|
106
|
+
|
|
107
|
+
return { dlcOffer, dlcAccept, dlcTxs };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface IDlcCloseMetadataJSON {
|
|
112
|
+
offerFundingPubKey: string;
|
|
113
|
+
acceptFundingPubKey: string;
|
|
114
|
+
offerPayoutSPK: string;
|
|
115
|
+
acceptPayoutSPK: string;
|
|
116
|
+
offerPayoutSerialId: number;
|
|
117
|
+
acceptPayoutSerialId: number;
|
|
118
|
+
feeRatePerVb: number;
|
|
119
|
+
fundTx: string;
|
|
120
|
+
fundTxVout: number;
|
|
121
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { MessageType } from '../MessageType';
|
|
4
|
+
import { IDlcMessage } from './DlcMessage';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DlcIds message contains list of buffers
|
|
8
|
+
*/
|
|
9
|
+
export class DlcIds implements IDlcMessage {
|
|
10
|
+
public static type = MessageType.DlcIds;
|
|
11
|
+
|
|
12
|
+
public static deserialize(buf: Buffer): DlcIds {
|
|
13
|
+
const reader = new BufferReader(buf);
|
|
14
|
+
|
|
15
|
+
const type = Number(reader.readUInt16BE());
|
|
16
|
+
|
|
17
|
+
switch (type) {
|
|
18
|
+
case MessageType.DlcIdsV0:
|
|
19
|
+
return DlcIds.deserializeV0(buf);
|
|
20
|
+
default:
|
|
21
|
+
throw new Error(`DLC IDs message type must be DlcIdsV0`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Deserializes an dlc_ids message
|
|
27
|
+
* @param buf
|
|
28
|
+
*/
|
|
29
|
+
private static deserializeV0(buf: Buffer): DlcIds {
|
|
30
|
+
const instance = new DlcIds();
|
|
31
|
+
const reader = new BufferReader(buf);
|
|
32
|
+
|
|
33
|
+
reader.readUInt16BE(); // read type
|
|
34
|
+
const idsLen = reader.readBigSize(); // ids length
|
|
35
|
+
|
|
36
|
+
for (let i = 0; i < idsLen; i++) {
|
|
37
|
+
instance.ids.push(reader.readBytes(32));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return instance;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The type for dlc_ids message
|
|
45
|
+
*/
|
|
46
|
+
public type = DlcIds.type;
|
|
47
|
+
|
|
48
|
+
public ids: Buffer[] = [];
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Serializes the dlc_ids message into a Buffer
|
|
52
|
+
*/
|
|
53
|
+
public serialize(): Buffer {
|
|
54
|
+
const writer = new BufferWriter();
|
|
55
|
+
writer.writeUInt16BE(this.type);
|
|
56
|
+
writer.writeBigSize(this.ids.length);
|
|
57
|
+
for (const id of this.ids) {
|
|
58
|
+
writer.writeBytes(id);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return writer.toBuffer();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Legacy support - keeping old class name as alias
|
|
66
|
+
export const DlcIdsV0 = DlcIds;
|
|
67
|
+
export type DlcIdsV0 = DlcIds;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { BufferReader, BufferWriter } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { MessageType } from '../MessageType';
|
|
4
|
+
import { IDlcMessage } from './DlcMessage';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DlcInfo message contains list of buffers
|
|
8
|
+
*/
|
|
9
|
+
export class DlcInfo implements IDlcMessage {
|
|
10
|
+
public static type = MessageType.DlcInfo;
|
|
11
|
+
|
|
12
|
+
public static deserialize(buf: Buffer): DlcInfo {
|
|
13
|
+
const reader = new BufferReader(buf);
|
|
14
|
+
|
|
15
|
+
const type = Number(reader.readUInt16BE());
|
|
16
|
+
|
|
17
|
+
switch (type) {
|
|
18
|
+
case MessageType.DlcInfoV0:
|
|
19
|
+
return DlcInfo.deserializeV0(buf);
|
|
20
|
+
default:
|
|
21
|
+
throw new Error(`DLC Info message type must be DlcInfoV0`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Deserializes an dlc_info message
|
|
27
|
+
* @param buf
|
|
28
|
+
*/
|
|
29
|
+
private static deserializeV0(buf: Buffer): DlcInfo {
|
|
30
|
+
const instance = new DlcInfo();
|
|
31
|
+
const reader = new BufferReader(buf);
|
|
32
|
+
|
|
33
|
+
reader.readUInt16BE(); // read type
|
|
34
|
+
|
|
35
|
+
instance.numDlcOffers = reader.readUInt32BE();
|
|
36
|
+
instance.numDlcAccepts = reader.readUInt32BE();
|
|
37
|
+
instance.numDlcSigns = reader.readUInt32BE();
|
|
38
|
+
instance.numDlcCancels = reader.readUInt32BE();
|
|
39
|
+
instance.numDlcCloses = reader.readUInt32BE();
|
|
40
|
+
instance.numDlcTransactions = reader.readUInt32BE();
|
|
41
|
+
|
|
42
|
+
return instance;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The type for dlc_info message
|
|
47
|
+
*/
|
|
48
|
+
public type = DlcInfo.type;
|
|
49
|
+
|
|
50
|
+
public numDlcOffers: number;
|
|
51
|
+
|
|
52
|
+
public numDlcAccepts: number;
|
|
53
|
+
|
|
54
|
+
public numDlcSigns: number;
|
|
55
|
+
|
|
56
|
+
public numDlcCancels: number;
|
|
57
|
+
|
|
58
|
+
public numDlcCloses: number;
|
|
59
|
+
|
|
60
|
+
public numDlcTransactions: number;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Serializes the dlc_info message into a Buffer
|
|
64
|
+
*/
|
|
65
|
+
public serialize(): Buffer {
|
|
66
|
+
const writer = new BufferWriter();
|
|
67
|
+
writer.writeUInt16BE(this.type);
|
|
68
|
+
writer.writeUInt32BE(this.numDlcOffers);
|
|
69
|
+
writer.writeUInt32BE(this.numDlcAccepts);
|
|
70
|
+
writer.writeUInt32BE(this.numDlcSigns);
|
|
71
|
+
writer.writeUInt32BE(this.numDlcCancels);
|
|
72
|
+
writer.writeUInt32BE(this.numDlcCloses);
|
|
73
|
+
writer.writeUInt32BE(this.numDlcTransactions);
|
|
74
|
+
|
|
75
|
+
return writer.toBuffer();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Legacy support - keeping old class name as alias
|
|
80
|
+
export const DlcInfoV0 = DlcInfo;
|
|
81
|
+
export type DlcInfoV0 = DlcInfo;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { BufferReader } from '@node-dlc/bufio';
|
|
2
|
+
|
|
3
|
+
import { MessageType } from '../MessageType';
|
|
4
|
+
import {
|
|
5
|
+
EnumeratedDescriptor,
|
|
6
|
+
NumericalDescriptor,
|
|
7
|
+
} from './ContractDescriptor';
|
|
8
|
+
import {
|
|
9
|
+
DisjointContractInfo,
|
|
10
|
+
IContractInfoV0JSON,
|
|
11
|
+
IContractInfoV1JSON,
|
|
12
|
+
SingleContractInfo,
|
|
13
|
+
} from './ContractInfo';
|
|
14
|
+
import { DlcAccept } from './DlcAccept';
|
|
15
|
+
import { DlcClose } from './DlcClose';
|
|
16
|
+
import { DlcOffer } from './DlcOffer';
|
|
17
|
+
import { DlcSign } from './DlcSign';
|
|
18
|
+
import { NodeAnnouncementMessage } from './NodeAnnouncementMessage';
|
|
19
|
+
import { OracleAnnouncement } from './OracleAnnouncement';
|
|
20
|
+
import { OracleAttestation } from './OracleAttestation';
|
|
21
|
+
import { OrderAccept } from './OrderAccept';
|
|
22
|
+
import { OrderOffer } from './OrderOffer';
|
|
23
|
+
|
|
24
|
+
export interface IDlcMessage {
|
|
25
|
+
type: number;
|
|
26
|
+
serialize(): Buffer;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type ContractInfoV0JSON = IContractInfoV0JSON;
|
|
30
|
+
export type ContractInfoV1JSON = IContractInfoV1JSON;
|
|
31
|
+
|
|
32
|
+
export abstract class DlcMessage {
|
|
33
|
+
public static deserialize(
|
|
34
|
+
buf: Buffer,
|
|
35
|
+
):
|
|
36
|
+
| EnumeratedDescriptor
|
|
37
|
+
| NumericalDescriptor
|
|
38
|
+
| SingleContractInfo
|
|
39
|
+
| DisjointContractInfo
|
|
40
|
+
| OrderOffer
|
|
41
|
+
| OrderAccept
|
|
42
|
+
| DlcOffer
|
|
43
|
+
| DlcAccept
|
|
44
|
+
| DlcSign
|
|
45
|
+
| DlcClose
|
|
46
|
+
| OracleAttestation
|
|
47
|
+
| OracleAnnouncement
|
|
48
|
+
| NodeAnnouncementMessage {
|
|
49
|
+
const reader = new BufferReader(buf);
|
|
50
|
+
const type = reader.readUInt16BE();
|
|
51
|
+
|
|
52
|
+
switch (type) {
|
|
53
|
+
case MessageType.ContractDescriptorV0:
|
|
54
|
+
return EnumeratedDescriptor.deserialize(buf);
|
|
55
|
+
case MessageType.ContractDescriptorV1:
|
|
56
|
+
return NumericalDescriptor.deserialize(buf);
|
|
57
|
+
case MessageType.SingleContractInfo:
|
|
58
|
+
return SingleContractInfo.deserialize(buf);
|
|
59
|
+
case MessageType.DisjointContractInfo:
|
|
60
|
+
return DisjointContractInfo.deserialize(buf);
|
|
61
|
+
case MessageType.OrderOffer:
|
|
62
|
+
return OrderOffer.deserialize(buf);
|
|
63
|
+
case MessageType.OrderAccept:
|
|
64
|
+
return OrderAccept.deserialize(buf);
|
|
65
|
+
case MessageType.DlcOffer:
|
|
66
|
+
return DlcOffer.deserialize(buf);
|
|
67
|
+
case MessageType.DlcAccept:
|
|
68
|
+
return DlcAccept.deserialize(buf);
|
|
69
|
+
case MessageType.DlcSign:
|
|
70
|
+
return DlcSign.deserialize(buf);
|
|
71
|
+
case MessageType.DlcClose:
|
|
72
|
+
return DlcClose.deserialize(buf);
|
|
73
|
+
case MessageType.OracleAttestation:
|
|
74
|
+
return OracleAttestation.deserialize(buf);
|
|
75
|
+
case MessageType.OracleAnnouncement:
|
|
76
|
+
return OracleAnnouncement.deserialize(buf);
|
|
77
|
+
case MessageType.NodeAnnouncement:
|
|
78
|
+
return NodeAnnouncementMessage.deserialize(buf);
|
|
79
|
+
default:
|
|
80
|
+
throw new Error(`DlcMessage type ${type} not supported`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
public abstract type: number;
|
|
85
|
+
|
|
86
|
+
public abstract serialize(): Buffer;
|
|
87
|
+
}
|