@atomicfinance/bitcoin-dlc-provider 3.6.1 → 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/.nvmrc +1 -1
- 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 +72 -0
- package/dist/BitcoinDlcProvider.d.ts +17 -16
- package/dist/BitcoinDlcProvider.js +345 -315
- package/dist/BitcoinDlcProvider.js.map +1 -1
- package/dist/utils/Utils.d.ts +6 -6
- package/dist/utils/Utils.js +4 -4
- package/dist/utils/Utils.js.map +1 -1
- package/lib/BitcoinDlcProvider.ts +624 -612
- package/lib/utils/Utils.ts +19 -24
- package/package.json +10 -10
- package/yalc.lock +10 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Tx } from '@node-dlc/bitcoin';
|
|
2
|
+
import { StreamReader } from '@node-dlc/bufio';
|
|
3
|
+
import { expect } from 'chai';
|
|
4
|
+
|
|
5
|
+
import { DlcTransactions } from '../../lib/messages/DlcTransactions';
|
|
6
|
+
import { MessageType } from '../../lib/MessageType';
|
|
7
|
+
|
|
8
|
+
describe('DlcTransactions', () => {
|
|
9
|
+
const contractId = Buffer.from(
|
|
10
|
+
'6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8',
|
|
11
|
+
'hex',
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
const fundTx = Tx.decode(
|
|
15
|
+
StreamReader.fromBuffer(
|
|
16
|
+
Buffer.from(
|
|
17
|
+
'02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000',
|
|
18
|
+
'hex',
|
|
19
|
+
),
|
|
20
|
+
),
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const fundTxVout = 0;
|
|
24
|
+
|
|
25
|
+
const refundTx = Tx.decode(
|
|
26
|
+
StreamReader.fromBuffer(
|
|
27
|
+
Buffer.from(
|
|
28
|
+
'02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460',
|
|
29
|
+
'hex',
|
|
30
|
+
),
|
|
31
|
+
),
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const cet0 = Tx.decode(
|
|
35
|
+
StreamReader.fromBuffer(
|
|
36
|
+
Buffer.from(
|
|
37
|
+
'02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000',
|
|
38
|
+
'hex',
|
|
39
|
+
),
|
|
40
|
+
),
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const cet1 = Tx.decode(
|
|
44
|
+
StreamReader.fromBuffer(
|
|
45
|
+
Buffer.from(
|
|
46
|
+
'02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000',
|
|
47
|
+
'hex',
|
|
48
|
+
),
|
|
49
|
+
),
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
describe('serialize', () => {
|
|
53
|
+
it('serializes', () => {
|
|
54
|
+
const instance = new DlcTransactions();
|
|
55
|
+
|
|
56
|
+
instance.contractId = contractId;
|
|
57
|
+
instance.fundTx = fundTx;
|
|
58
|
+
instance.fundTxVout = fundTxVout;
|
|
59
|
+
instance.refundTx = refundTx;
|
|
60
|
+
instance.cets.push(cet0);
|
|
61
|
+
instance.cets.push(cet1);
|
|
62
|
+
|
|
63
|
+
expect(instance.serialize().toString("hex")).to.equal(
|
|
64
|
+
"ef2e" + // type
|
|
65
|
+
"6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8" + // contract_id
|
|
66
|
+
"00c5" + // fund_tx_len
|
|
67
|
+
"02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000" +
|
|
68
|
+
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +
|
|
69
|
+
"0071" + // refund_tx_len
|
|
70
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460" +
|
|
71
|
+
"02" + // num_cets
|
|
72
|
+
"0052" + // cet_0_len
|
|
73
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
|
|
74
|
+
"0052" + // cet_1_len
|
|
75
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
|
|
76
|
+
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
77
|
+
); // prettier-ignore
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
describe('deserialize', () => {
|
|
82
|
+
const buf = Buffer.from(
|
|
83
|
+
"ef2e" + // type
|
|
84
|
+
"6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8" + // contract_id
|
|
85
|
+
"00c5" + // fund_tx_len
|
|
86
|
+
"02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000" +
|
|
87
|
+
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +
|
|
88
|
+
"0071" + // refund_tx_len
|
|
89
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460" +
|
|
90
|
+
"02" + // num_cets
|
|
91
|
+
"0052" + // cet_0_len
|
|
92
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
|
|
93
|
+
"0052" + // cet_1_len
|
|
94
|
+
"02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
|
|
95
|
+
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
96
|
+
, "hex"
|
|
97
|
+
); // prettier-ignore
|
|
98
|
+
|
|
99
|
+
it('deserializes', () => {
|
|
100
|
+
const unknownInstance = DlcTransactions.deserialize(buf);
|
|
101
|
+
|
|
102
|
+
if (unknownInstance.type === MessageType.DlcTransactions) {
|
|
103
|
+
const instance = unknownInstance as DlcTransactions;
|
|
104
|
+
|
|
105
|
+
expect(instance.fundTx.serialize()).to.deep.equal(fundTx.serialize());
|
|
106
|
+
expect(Number(instance.fundTxVout)).to.deep.equal(Number(fundTxVout));
|
|
107
|
+
expect(instance.refundTx.serialize()).to.deep.equal(
|
|
108
|
+
refundTx.serialize(),
|
|
109
|
+
);
|
|
110
|
+
expect(instance.cets[0].serialize()).to.deep.equal(cet0.serialize());
|
|
111
|
+
expect(instance.cets[1].serialize()).to.deep.equal(cet1.serialize());
|
|
112
|
+
} else {
|
|
113
|
+
throw Error('DlcTransactions Incorrect type');
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it('deserializes without cets', () => {
|
|
118
|
+
// Set parseCets to false
|
|
119
|
+
const unknownInstance = DlcTransactions.deserialize(buf, false);
|
|
120
|
+
|
|
121
|
+
if (unknownInstance.type === MessageType.DlcTransactions) {
|
|
122
|
+
const instance = unknownInstance as DlcTransactions;
|
|
123
|
+
|
|
124
|
+
expect(instance.fundTx.serialize()).to.deep.equal(fundTx.serialize());
|
|
125
|
+
expect(Number(instance.fundTxVout)).to.deep.equal(Number(fundTxVout));
|
|
126
|
+
expect(instance.refundTx.serialize()).to.deep.equal(
|
|
127
|
+
refundTx.serialize(),
|
|
128
|
+
);
|
|
129
|
+
expect(instance.cets.length).to.equal(1);
|
|
130
|
+
} else {
|
|
131
|
+
throw Error('DlcTransactions Incorrect type');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
describe('toJSON', () => {
|
|
137
|
+
it('convert to JSON', async () => {
|
|
138
|
+
const instance = new DlcTransactions();
|
|
139
|
+
|
|
140
|
+
instance.contractId = contractId;
|
|
141
|
+
instance.fundTx = fundTx;
|
|
142
|
+
instance.fundTxVout = fundTxVout;
|
|
143
|
+
instance.refundTx = refundTx;
|
|
144
|
+
instance.cets.push(cet0);
|
|
145
|
+
instance.cets.push(cet1);
|
|
146
|
+
|
|
147
|
+
const jsonInstance = instance.toJSON();
|
|
148
|
+
|
|
149
|
+
expect(jsonInstance.contractId).to.equal(contractId.toString('hex'));
|
|
150
|
+
expect(jsonInstance.fundTx).to.equal(fundTx.serialize().toString('hex'));
|
|
151
|
+
expect(jsonInstance.refundTx).to.equal(
|
|
152
|
+
refundTx.serialize().toString('hex'),
|
|
153
|
+
);
|
|
154
|
+
expect(jsonInstance.cets[0]).to.equal(cet0.serialize().toString('hex'));
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
|
|
3
|
+
import { EnumEventDescriptor } from '../../lib/messages/EventDescriptor';
|
|
4
|
+
|
|
5
|
+
describe('EnumEventDescriptorV0', () => {
|
|
6
|
+
const outcomeOne = Buffer.from('64756d6d7931', 'hex').toString();
|
|
7
|
+
|
|
8
|
+
const outcomeTwo = Buffer.from('64756d6d7932', 'hex').toString();
|
|
9
|
+
|
|
10
|
+
describe('serialize', () => {
|
|
11
|
+
it('serializes', () => {
|
|
12
|
+
const instance = new EnumEventDescriptor();
|
|
13
|
+
|
|
14
|
+
instance.length = BigInt(16);
|
|
15
|
+
instance.outcomes = [outcomeOne, outcomeTwo];
|
|
16
|
+
|
|
17
|
+
expect(instance.serialize().toString("hex")).to.equal(
|
|
18
|
+
"fdd806" + // type
|
|
19
|
+
"10" + // length
|
|
20
|
+
"0002" + // num_outcomes
|
|
21
|
+
"06" + // outcome_1_len
|
|
22
|
+
"64756d6d7931" + // outcome_1
|
|
23
|
+
"06" + // outcome_2_len
|
|
24
|
+
"64756d6d7932" // outcome_2
|
|
25
|
+
); // prettier-ignore
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('deserialize', () => {
|
|
30
|
+
it('deserializes', () => {
|
|
31
|
+
const buf = Buffer.from(
|
|
32
|
+
"fdd806" + // type
|
|
33
|
+
"10" + // length
|
|
34
|
+
"0002" + // num_outcomes
|
|
35
|
+
"06" + // outcome_1_len
|
|
36
|
+
"64756d6d7931" + // outcome_1
|
|
37
|
+
"06" + // outcome_2_len
|
|
38
|
+
"64756d6d7932" // outcome_2
|
|
39
|
+
, "hex"
|
|
40
|
+
); // prettier-ignore
|
|
41
|
+
|
|
42
|
+
const instance = EnumEventDescriptor.deserialize(buf);
|
|
43
|
+
|
|
44
|
+
expect(Number(instance.outcomes[0].length)).to.equal(outcomeOne.length);
|
|
45
|
+
expect(instance.outcomes[0]).to.deep.equal(outcomeOne);
|
|
46
|
+
expect(Number(instance.outcomes[1].length)).to.equal(outcomeTwo.length);
|
|
47
|
+
expect(instance.outcomes[1]).to.deep.equal(outcomeTwo);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
DigitDecompositionEventDescriptor,
|
|
5
|
+
EventDescriptor,
|
|
6
|
+
MessageType,
|
|
7
|
+
} from '../../lib';
|
|
8
|
+
|
|
9
|
+
describe('EventDescriptorV0', () => {
|
|
10
|
+
const instance = new DigitDecompositionEventDescriptor();
|
|
11
|
+
instance.base = 2;
|
|
12
|
+
instance.isSigned = false;
|
|
13
|
+
instance.unit = 'BTC-USD';
|
|
14
|
+
instance.precision = 0;
|
|
15
|
+
instance.nbDigits = 17;
|
|
16
|
+
|
|
17
|
+
describe('serialize', () => {
|
|
18
|
+
it('serializes', () => {
|
|
19
|
+
expect(instance.serialize().toString("hex")).to.equal(
|
|
20
|
+
"fdd80a" + // type event_descriptor
|
|
21
|
+
"11" + // length
|
|
22
|
+
"0002" + // base
|
|
23
|
+
"00" + // isSigned
|
|
24
|
+
"07" + // unitLen
|
|
25
|
+
"4254432d555344" + // unit
|
|
26
|
+
"00000000" + // precision
|
|
27
|
+
"0011" // nbDigits
|
|
28
|
+
); // prettier-ignore
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('deserialize', () => {
|
|
33
|
+
it('deserializes', () => {
|
|
34
|
+
const unknownInstance = EventDescriptor.deserialize(
|
|
35
|
+
Buffer.from(
|
|
36
|
+
'fdd80a' + // type contract_descriptor
|
|
37
|
+
'11' + // length
|
|
38
|
+
'0002' + // base
|
|
39
|
+
'00' + // isSigned
|
|
40
|
+
'07' + // unitLen
|
|
41
|
+
'4254432d555344' + // unit
|
|
42
|
+
'00000000' + // precision
|
|
43
|
+
'0011', // nbDigits
|
|
44
|
+
'hex',
|
|
45
|
+
),
|
|
46
|
+
); // prettier-ignore
|
|
47
|
+
|
|
48
|
+
if (
|
|
49
|
+
unknownInstance.type === MessageType.DigitDecompositionEventDescriptorV0
|
|
50
|
+
) {
|
|
51
|
+
const instance = unknownInstance as DigitDecompositionEventDescriptor;
|
|
52
|
+
|
|
53
|
+
expect(instance.length).to.equal(17n);
|
|
54
|
+
expect(instance.base).to.equal(2);
|
|
55
|
+
expect(instance.isSigned).to.equal(false);
|
|
56
|
+
expect(instance.unit).to.equal('BTC-USD');
|
|
57
|
+
expect(instance.precision).to.equal(0);
|
|
58
|
+
expect(instance.nbDigits).to.equal(17);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
describe('validate', () => {
|
|
64
|
+
const instance = new DigitDecompositionEventDescriptor();
|
|
65
|
+
|
|
66
|
+
beforeEach(() => {
|
|
67
|
+
instance.base = 2;
|
|
68
|
+
instance.isSigned = false;
|
|
69
|
+
instance.unit = 'BTC-USD';
|
|
70
|
+
instance.precision = 0;
|
|
71
|
+
instance.nbDigits = 17;
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('should not throw error', () => {
|
|
75
|
+
expect(() => instance.validate()).to.not.throw();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it('should throw if base <= 0', () => {
|
|
79
|
+
instance.base = 0;
|
|
80
|
+
expect(() => instance.validate()).to.throw('base must be greater than 0');
|
|
81
|
+
|
|
82
|
+
instance.base = -1;
|
|
83
|
+
expect(() => instance.validate()).to.throw('base must be greater than 0');
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it('should throw if isSigned is true', () => {
|
|
87
|
+
instance.isSigned = true;
|
|
88
|
+
expect(() => instance.validate()).to.throw(
|
|
89
|
+
'node-dlc does not support isSigned',
|
|
90
|
+
);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Sequence, Tx } from '@node-dlc/bitcoin';
|
|
2
|
+
import { StreamReader } from '@node-dlc/bufio';
|
|
3
|
+
import { expect } from 'chai';
|
|
4
|
+
|
|
5
|
+
import { FundingInput } from '../../lib/messages/FundingInput';
|
|
6
|
+
|
|
7
|
+
describe('FundingInput', () => {
|
|
8
|
+
let instance: FundingInput;
|
|
9
|
+
|
|
10
|
+
const type = Buffer.from('fda714', 'hex');
|
|
11
|
+
const length = Buffer.from('3f', 'hex');
|
|
12
|
+
const inputSerialID = Buffer.from('000000000000dae8', 'hex');
|
|
13
|
+
const prevTxLen = Buffer.from('0029', 'hex');
|
|
14
|
+
const prevTx = Buffer.from(
|
|
15
|
+
'02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000',
|
|
16
|
+
'hex',
|
|
17
|
+
);
|
|
18
|
+
const prevTxVout = Buffer.from('00000000', 'hex');
|
|
19
|
+
const sequence = Buffer.from('ffffffff', 'hex');
|
|
20
|
+
const maxWitnessLen = Buffer.from('006b', 'hex');
|
|
21
|
+
const redeemScriptLen = Buffer.from('0000', 'hex');
|
|
22
|
+
|
|
23
|
+
const fundingInputHex = Buffer.concat([
|
|
24
|
+
type,
|
|
25
|
+
length,
|
|
26
|
+
inputSerialID,
|
|
27
|
+
prevTxLen,
|
|
28
|
+
prevTx,
|
|
29
|
+
prevTxVout,
|
|
30
|
+
sequence,
|
|
31
|
+
maxWitnessLen,
|
|
32
|
+
redeemScriptLen,
|
|
33
|
+
]);
|
|
34
|
+
|
|
35
|
+
beforeEach(() => {
|
|
36
|
+
instance = new FundingInput();
|
|
37
|
+
|
|
38
|
+
instance.length = BigInt(63);
|
|
39
|
+
instance.inputSerialId = BigInt(56040);
|
|
40
|
+
instance.prevTx = Tx.decode(StreamReader.fromBuffer(prevTx));
|
|
41
|
+
instance.prevTxVout = 0;
|
|
42
|
+
instance.sequence = Sequence.default();
|
|
43
|
+
instance.maxWitnessLen = 107;
|
|
44
|
+
instance.redeemScript = Buffer.from('', 'hex');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe('serialize', () => {
|
|
48
|
+
it('serializes', () => {
|
|
49
|
+
expect(instance.serialize().toString('hex')).to.equal(
|
|
50
|
+
fundingInputHex.toString('hex'),
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
describe('deserialize', () => {
|
|
56
|
+
it('deserializes', () => {
|
|
57
|
+
const instance = FundingInput.deserialize(fundingInputHex);
|
|
58
|
+
|
|
59
|
+
expect(Number(instance.length)).to.equal(63);
|
|
60
|
+
expect(Number(instance.inputSerialId)).to.equal(56040);
|
|
61
|
+
expect(instance.prevTx.serialize()).to.deep.equal(prevTx);
|
|
62
|
+
expect(instance.prevTxVout).to.equal(0);
|
|
63
|
+
expect(instance.sequence.value).to.equal(4294967295);
|
|
64
|
+
expect(instance.maxWitnessLen).to.equal(107);
|
|
65
|
+
expect(instance.redeemScript).to.deep.equal(Buffer.from('', 'hex'));
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
describe('validate', () => {
|
|
70
|
+
it('should ensure inputs are segwit', () => {
|
|
71
|
+
instance.prevTx = Tx.decode(
|
|
72
|
+
StreamReader.fromBuffer(
|
|
73
|
+
Buffer.from(
|
|
74
|
+
'02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000', // has no inputs
|
|
75
|
+
'hex',
|
|
76
|
+
),
|
|
77
|
+
),
|
|
78
|
+
);
|
|
79
|
+
expect(function () {
|
|
80
|
+
instance.validate();
|
|
81
|
+
}).to.throw(Error);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
|
|
3
|
+
import { FundingSignatures } from '../../lib/messages/FundingSignatures';
|
|
4
|
+
import { ScriptWitnessV0 } from '../../lib/messages/ScriptWitnessV0';
|
|
5
|
+
|
|
6
|
+
describe('FundingSignatures', () => {
|
|
7
|
+
let instance: FundingSignatures;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
instance = new FundingSignatures();
|
|
11
|
+
|
|
12
|
+
// Create test witness elements
|
|
13
|
+
const witness1 = new ScriptWitnessV0();
|
|
14
|
+
witness1.length = 71;
|
|
15
|
+
witness1.witness = Buffer.alloc(71, 0x01);
|
|
16
|
+
|
|
17
|
+
const witness2 = new ScriptWitnessV0();
|
|
18
|
+
witness2.length = 33;
|
|
19
|
+
witness2.witness = Buffer.alloc(33, 0x02);
|
|
20
|
+
|
|
21
|
+
const witness3 = new ScriptWitnessV0();
|
|
22
|
+
witness3.length = 65;
|
|
23
|
+
witness3.witness = Buffer.alloc(65, 0x03);
|
|
24
|
+
|
|
25
|
+
// Set up witness elements for two funding inputs
|
|
26
|
+
instance.witnessElements = [
|
|
27
|
+
[witness1, witness2], // First funding input
|
|
28
|
+
[witness3], // Second funding input
|
|
29
|
+
];
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('serialize and deserialize', () => {
|
|
33
|
+
it('should round-trip correctly', () => {
|
|
34
|
+
const serialized = instance.serialize();
|
|
35
|
+
expect(serialized).to.be.instanceof(Buffer);
|
|
36
|
+
expect(serialized.length).to.be.greaterThan(0);
|
|
37
|
+
|
|
38
|
+
const deserialized = FundingSignatures.deserialize(serialized);
|
|
39
|
+
expect(deserialized.witnessElements).to.have.length(2);
|
|
40
|
+
|
|
41
|
+
// Check first funding input witnesses
|
|
42
|
+
expect(deserialized.witnessElements[0]).to.have.length(2);
|
|
43
|
+
expect(deserialized.witnessElements[0][0].length).to.equal(71);
|
|
44
|
+
expect(deserialized.witnessElements[0][0].witness).to.deep.equal(
|
|
45
|
+
Buffer.alloc(71, 0x01),
|
|
46
|
+
);
|
|
47
|
+
expect(deserialized.witnessElements[0][1].length).to.equal(33);
|
|
48
|
+
expect(deserialized.witnessElements[0][1].witness).to.deep.equal(
|
|
49
|
+
Buffer.alloc(33, 0x02),
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
// Check second funding input witnesses
|
|
53
|
+
expect(deserialized.witnessElements[1]).to.have.length(1);
|
|
54
|
+
expect(deserialized.witnessElements[1][0].length).to.equal(65);
|
|
55
|
+
expect(deserialized.witnessElements[1][0].witness).to.deep.equal(
|
|
56
|
+
Buffer.alloc(65, 0x03),
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
describe('toJSON', () => {
|
|
62
|
+
it('should convert to canonical rust-dlc JSON format', () => {
|
|
63
|
+
const json = instance.toJSON();
|
|
64
|
+
expect(json.fundingSignatures).to.be.an('array');
|
|
65
|
+
expect(json.fundingSignatures).to.have.length(2);
|
|
66
|
+
|
|
67
|
+
// Check first funding input
|
|
68
|
+
expect(json.fundingSignatures[0].witnessElements).to.have.length(2);
|
|
69
|
+
expect(json.fundingSignatures[0].witnessElements[0].witness).to.be.a(
|
|
70
|
+
'string',
|
|
71
|
+
);
|
|
72
|
+
expect(json.fundingSignatures[0].witnessElements[1].witness).to.be.a(
|
|
73
|
+
'string',
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// Check second funding input
|
|
77
|
+
expect(json.fundingSignatures[1].witnessElements).to.have.length(1);
|
|
78
|
+
expect(json.fundingSignatures[1].witnessElements[0].witness).to.be.a(
|
|
79
|
+
'string',
|
|
80
|
+
);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|