@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,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OracleInfoV0 = exports.OracleInfo = exports.MultiOracleInfo = exports.SingleOracleInfo = exports.OracleParams = void 0;
|
|
4
|
+
const bufio_1 = require("@node-dlc/bufio");
|
|
5
|
+
const MessageType_1 = require("../MessageType");
|
|
6
|
+
const getTlv_1 = require("../serialize/getTlv");
|
|
7
|
+
const OracleAnnouncement_1 = require("./OracleAnnouncement");
|
|
8
|
+
/**
|
|
9
|
+
* OracleParams describe allowed differences between oracles in
|
|
10
|
+
* numerical outcome contracts, as per rust-dlc specification.
|
|
11
|
+
*/
|
|
12
|
+
class OracleParams {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.type = OracleParams.type;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates an OracleParams from JSON data
|
|
18
|
+
* @param json JSON object representing oracle params
|
|
19
|
+
*/
|
|
20
|
+
static fromJSON(json) {
|
|
21
|
+
const instance = new OracleParams();
|
|
22
|
+
instance.maxErrorExp = json.maxErrorExp || json.max_error_exp || 0;
|
|
23
|
+
instance.minFailExp = json.minFailExp || json.min_fail_exp || 0;
|
|
24
|
+
instance.maximizeCoverage =
|
|
25
|
+
json.maximizeCoverage || json.maximize_coverage || false;
|
|
26
|
+
return instance;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Deserializes oracle_params_v0 message
|
|
30
|
+
*/
|
|
31
|
+
static deserialize(buf) {
|
|
32
|
+
const instance = new OracleParams();
|
|
33
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
34
|
+
reader.readBigSize(); // read type
|
|
35
|
+
instance.length = reader.readBigSize();
|
|
36
|
+
instance.maxErrorExp = reader.readUInt16BE();
|
|
37
|
+
instance.minFailExp = reader.readUInt16BE();
|
|
38
|
+
instance.maximizeCoverage = reader.readUInt8() === 1;
|
|
39
|
+
return instance;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Deserializes oracle params body without TLV wrapper (for optional deserialization)
|
|
43
|
+
*/
|
|
44
|
+
static deserializeBody(buf) {
|
|
45
|
+
const instance = new OracleParams();
|
|
46
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
47
|
+
// No type/length to read - just the body content
|
|
48
|
+
instance.maxErrorExp = reader.readUInt16BE();
|
|
49
|
+
instance.minFailExp = reader.readUInt16BE();
|
|
50
|
+
instance.maximizeCoverage = reader.readUInt8() === 1;
|
|
51
|
+
return instance;
|
|
52
|
+
}
|
|
53
|
+
validate() {
|
|
54
|
+
if (this.maxErrorExp < 0) {
|
|
55
|
+
throw new Error('maxErrorExp must be greater than or equal to 0');
|
|
56
|
+
}
|
|
57
|
+
if (this.minFailExp < 0) {
|
|
58
|
+
throw new Error('minFailExp must be greater than or equal to 0');
|
|
59
|
+
}
|
|
60
|
+
if (this.maxErrorExp >= this.minFailExp) {
|
|
61
|
+
throw new Error('maxErrorExp must be less than minFailExp');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
toJSON() {
|
|
65
|
+
return {
|
|
66
|
+
maxErrorExp: this.maxErrorExp,
|
|
67
|
+
minFailExp: this.minFailExp,
|
|
68
|
+
maximizeCoverage: this.maximizeCoverage,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
serialize() {
|
|
72
|
+
const writer = new bufio_1.BufferWriter();
|
|
73
|
+
writer.writeBigSize(this.type);
|
|
74
|
+
const dataWriter = new bufio_1.BufferWriter();
|
|
75
|
+
dataWriter.writeUInt16BE(this.maxErrorExp);
|
|
76
|
+
dataWriter.writeUInt16BE(this.minFailExp);
|
|
77
|
+
dataWriter.writeUInt8(this.maximizeCoverage ? 1 : 0);
|
|
78
|
+
writer.writeBigSize(dataWriter.size);
|
|
79
|
+
writer.writeBytes(dataWriter.toBuffer());
|
|
80
|
+
return writer.toBuffer();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Serializes the oracle params body without TLV wrapper (for optional serialization)
|
|
84
|
+
*/
|
|
85
|
+
serializeBody() {
|
|
86
|
+
const writer = new bufio_1.BufferWriter();
|
|
87
|
+
writer.writeUInt16BE(this.maxErrorExp);
|
|
88
|
+
writer.writeUInt16BE(this.minFailExp);
|
|
89
|
+
writer.writeUInt8(this.maximizeCoverage ? 1 : 0);
|
|
90
|
+
return writer.toBuffer();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.OracleParams = OracleParams;
|
|
94
|
+
OracleParams.type = MessageType_1.MessageType.OracleParamsV0;
|
|
95
|
+
/**
|
|
96
|
+
* SingleOracleInfo contains information about a single oracle.
|
|
97
|
+
*/
|
|
98
|
+
class SingleOracleInfo {
|
|
99
|
+
constructor() {
|
|
100
|
+
this.type = SingleOracleInfo.type;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates a SingleOracleInfo from JSON data
|
|
104
|
+
* @param json JSON object representing single oracle info
|
|
105
|
+
*/
|
|
106
|
+
static fromJSON(json) {
|
|
107
|
+
const instance = new SingleOracleInfo();
|
|
108
|
+
const announcementData = json.announcement || json.oracleAnnouncement;
|
|
109
|
+
if (!announcementData) {
|
|
110
|
+
throw new Error('announcement or oracleAnnouncement is required for single oracle info');
|
|
111
|
+
}
|
|
112
|
+
// Parse announcement using proper fromJSON method
|
|
113
|
+
instance.announcement = OracleAnnouncement_1.OracleAnnouncement.fromJSON(announcementData);
|
|
114
|
+
return instance;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Deserializes single oracle info
|
|
118
|
+
*/
|
|
119
|
+
static deserialize(buf) {
|
|
120
|
+
const instance = new SingleOracleInfo();
|
|
121
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
122
|
+
// Read the type and length that serialize() writes
|
|
123
|
+
reader.readBigSize(); // read type
|
|
124
|
+
instance.length = reader.readBigSize(); // read length
|
|
125
|
+
// Read the announcement data
|
|
126
|
+
instance.announcement = OracleAnnouncement_1.OracleAnnouncement.deserialize(reader.readBytes(Number(instance.length)));
|
|
127
|
+
return instance;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Returns the closest maturity date amongst all events
|
|
131
|
+
*/
|
|
132
|
+
getClosestMaturityDate() {
|
|
133
|
+
return this.announcement.oracleEvent.eventMaturityEpoch;
|
|
134
|
+
}
|
|
135
|
+
validate() {
|
|
136
|
+
this.announcement.validate();
|
|
137
|
+
}
|
|
138
|
+
toJSON() {
|
|
139
|
+
// Return enum variant format for Rust compatibility
|
|
140
|
+
return {
|
|
141
|
+
single: {
|
|
142
|
+
oracleAnnouncement: this.announcement.toJSON(),
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
serialize() {
|
|
147
|
+
const writer = new bufio_1.BufferWriter();
|
|
148
|
+
writer.writeBigSize(this.type);
|
|
149
|
+
const dataWriter = new bufio_1.BufferWriter();
|
|
150
|
+
dataWriter.writeBytes(this.announcement.serialize());
|
|
151
|
+
writer.writeBigSize(dataWriter.size);
|
|
152
|
+
writer.writeBytes(dataWriter.toBuffer());
|
|
153
|
+
return writer.toBuffer();
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Serializes the body without TLV wrapper (for embedding in ContractInfo)
|
|
157
|
+
* This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id
|
|
158
|
+
*/
|
|
159
|
+
serializeBody() {
|
|
160
|
+
return this.announcement.serialize();
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Deserializes the body without TLV wrapper (for embedding in ContractInfo)
|
|
164
|
+
* This matches rust-dlc behavior where OracleInfo is read without type_id
|
|
165
|
+
*/
|
|
166
|
+
static deserializeBody(buf) {
|
|
167
|
+
const instance = new SingleOracleInfo();
|
|
168
|
+
// No type/length to read - just the announcement data directly
|
|
169
|
+
instance.announcement = OracleAnnouncement_1.OracleAnnouncement.deserialize(buf);
|
|
170
|
+
return instance;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.SingleOracleInfo = SingleOracleInfo;
|
|
174
|
+
SingleOracleInfo.type = MessageType_1.MessageType.OracleInfoV0; // Using existing type for single oracle
|
|
175
|
+
/**
|
|
176
|
+
* MultiOracleInfo contains information about multiple oracles used in multi-oracle based contracts.
|
|
177
|
+
*/
|
|
178
|
+
class MultiOracleInfo {
|
|
179
|
+
constructor() {
|
|
180
|
+
this.type = MultiOracleInfo.type;
|
|
181
|
+
/** The set of oracle announcements. */
|
|
182
|
+
this.announcements = [];
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Creates a MultiOracleInfo from JSON data
|
|
186
|
+
* @param json JSON object representing multi oracle info
|
|
187
|
+
*/
|
|
188
|
+
static fromJSON(json) {
|
|
189
|
+
const instance = new MultiOracleInfo();
|
|
190
|
+
instance.threshold = json.threshold || 1;
|
|
191
|
+
// Parse oracle announcements using proper fromJSON method
|
|
192
|
+
const announcements = json.oracleAnnouncements || json.oracle_announcements || [];
|
|
193
|
+
instance.announcements = announcements.map((announcementJson) => OracleAnnouncement_1.OracleAnnouncement.fromJSON(announcementJson));
|
|
194
|
+
// Parse oracle params if present (null means explicitly absent)
|
|
195
|
+
const oracleParamsData = json.oracleParams || json.oracle_params;
|
|
196
|
+
if (oracleParamsData !== null && oracleParamsData !== undefined) {
|
|
197
|
+
// Create OracleParams from JSON data using the fromJSON method
|
|
198
|
+
instance.oracleParams = OracleParams.fromJSON(oracleParamsData);
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// Explicitly null/undefined - will serialize as 00 (not present)
|
|
202
|
+
instance.oracleParams = undefined;
|
|
203
|
+
}
|
|
204
|
+
return instance;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Deserializes multi oracle info
|
|
208
|
+
*/
|
|
209
|
+
static deserialize(buf) {
|
|
210
|
+
const instance = new MultiOracleInfo();
|
|
211
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
212
|
+
// Read the type and length that serialize() writes
|
|
213
|
+
reader.readBigSize(); // read type
|
|
214
|
+
instance.length = reader.readBigSize(); // read length
|
|
215
|
+
// In rust-dlc format, MultiOracleInfo body is: threshold + announcements + optional oracle params
|
|
216
|
+
instance.threshold = reader.readUInt16BE();
|
|
217
|
+
const numAnnouncements = Number(reader.readBigSize()); // Changed from readUInt16BE to readBigSize to match rust-dlc vec_cb
|
|
218
|
+
for (let i = 0; i < numAnnouncements; i++) {
|
|
219
|
+
instance.announcements.push(OracleAnnouncement_1.OracleAnnouncement.deserialize((0, getTlv_1.getTlv)(reader)));
|
|
220
|
+
}
|
|
221
|
+
// Optional oracle params using Optional sub-type format
|
|
222
|
+
const oracleParamsData = reader.readOptional();
|
|
223
|
+
if (oracleParamsData) {
|
|
224
|
+
instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);
|
|
225
|
+
}
|
|
226
|
+
return instance;
|
|
227
|
+
}
|
|
228
|
+
validate() {
|
|
229
|
+
if (this.threshold <= 0) {
|
|
230
|
+
throw new Error('threshold must be greater than 0');
|
|
231
|
+
}
|
|
232
|
+
if (this.threshold > this.announcements.length) {
|
|
233
|
+
throw new Error('threshold cannot be greater than number of announcements');
|
|
234
|
+
}
|
|
235
|
+
if (this.announcements.length === 0) {
|
|
236
|
+
throw new Error('must have at least one announcement');
|
|
237
|
+
}
|
|
238
|
+
// Validate all announcements
|
|
239
|
+
this.announcements.forEach((announcement) => announcement.validate());
|
|
240
|
+
// Validate oracle params if present
|
|
241
|
+
if (this.oracleParams) {
|
|
242
|
+
this.oracleParams.validate();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Returns the closest maturity date amongst all events
|
|
247
|
+
*/
|
|
248
|
+
getClosestMaturityDate() {
|
|
249
|
+
return Math.min(...this.announcements.map((a) => a.oracleEvent.eventMaturityEpoch));
|
|
250
|
+
}
|
|
251
|
+
toJSON() {
|
|
252
|
+
// Return enum variant format for Rust compatibility
|
|
253
|
+
return {
|
|
254
|
+
multi: {
|
|
255
|
+
threshold: this.threshold,
|
|
256
|
+
oracleAnnouncements: this.announcements.map((a) => a.toJSON()),
|
|
257
|
+
oracleParams: this.oracleParams?.toJSON(),
|
|
258
|
+
},
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
serialize() {
|
|
262
|
+
const writer = new bufio_1.BufferWriter();
|
|
263
|
+
// writer.writeBigSize(this.type);
|
|
264
|
+
const dataWriter = new bufio_1.BufferWriter();
|
|
265
|
+
dataWriter.writeUInt16BE(this.threshold);
|
|
266
|
+
dataWriter.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb
|
|
267
|
+
for (const announcement of this.announcements) {
|
|
268
|
+
dataWriter.writeBytes(announcement.serialize());
|
|
269
|
+
}
|
|
270
|
+
// Use Optional serialization for oracle params (body content only, not TLV wrapped)
|
|
271
|
+
const oracleParamsData = this.oracleParams
|
|
272
|
+
? this.oracleParams.serializeBody()
|
|
273
|
+
: null;
|
|
274
|
+
dataWriter.writeOptional(oracleParamsData);
|
|
275
|
+
// writer.writeBigSize(dataWriter.size);
|
|
276
|
+
writer.writeBytes(dataWriter.toBuffer());
|
|
277
|
+
return writer.toBuffer();
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Serializes the body without TLV wrapper (for embedding in ContractInfo)
|
|
281
|
+
* This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id
|
|
282
|
+
*/
|
|
283
|
+
serializeBody() {
|
|
284
|
+
const writer = new bufio_1.BufferWriter();
|
|
285
|
+
writer.writeUInt16BE(this.threshold);
|
|
286
|
+
writer.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb
|
|
287
|
+
for (const announcement of this.announcements) {
|
|
288
|
+
writer.writeBytes(announcement.serialize());
|
|
289
|
+
}
|
|
290
|
+
// Use Optional serialization for oracle params (body content only, not TLV wrapped)
|
|
291
|
+
const oracleParamsData = this.oracleParams
|
|
292
|
+
? this.oracleParams.serializeBody()
|
|
293
|
+
: null;
|
|
294
|
+
writer.writeOptional(oracleParamsData);
|
|
295
|
+
return writer.toBuffer();
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Deserializes the body without TLV wrapper (for embedding in ContractInfo)
|
|
299
|
+
* This matches rust-dlc behavior where OracleInfo is read without type_id
|
|
300
|
+
*/
|
|
301
|
+
static deserializeBody(buf) {
|
|
302
|
+
const instance = new MultiOracleInfo();
|
|
303
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
304
|
+
// No type/length to read - directly read the multi-oracle body
|
|
305
|
+
instance.threshold = reader.readUInt16BE();
|
|
306
|
+
const numAnnouncements = Number(reader.readBigSize()); // BigSize for announcements count
|
|
307
|
+
for (let i = 0; i < numAnnouncements; i++) {
|
|
308
|
+
instance.announcements.push(OracleAnnouncement_1.OracleAnnouncement.deserialize((0, getTlv_1.getTlv)(reader)));
|
|
309
|
+
}
|
|
310
|
+
// Optional oracle params using Optional sub-type format
|
|
311
|
+
const oracleParamsData = reader.readOptional();
|
|
312
|
+
if (oracleParamsData) {
|
|
313
|
+
instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);
|
|
314
|
+
}
|
|
315
|
+
return instance;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
exports.MultiOracleInfo = MultiOracleInfo;
|
|
319
|
+
MultiOracleInfo.type = MessageType_1.MessageType.OracleInfoV1; // Using V1 for multi-oracle
|
|
320
|
+
/**
|
|
321
|
+
* OracleInfo contains information about the oracles to be used in
|
|
322
|
+
* executing a DLC. Updated to support both single and multi-oracle
|
|
323
|
+
* patterns as per rust-dlc specification.
|
|
324
|
+
*/
|
|
325
|
+
class OracleInfo {
|
|
326
|
+
static deserialize(buf) {
|
|
327
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
328
|
+
const type = Number(reader.readBigSize());
|
|
329
|
+
switch (type) {
|
|
330
|
+
case MessageType_1.MessageType.OracleInfoV0:
|
|
331
|
+
return SingleOracleInfo.deserialize(buf);
|
|
332
|
+
case MessageType_1.MessageType.OracleInfoV1:
|
|
333
|
+
return MultiOracleInfo.deserialize(buf);
|
|
334
|
+
default:
|
|
335
|
+
throw new Error(`Unknown oracle info type: ${type}`);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Creates an OracleInfo from JSON data (e.g., from test vectors)
|
|
340
|
+
* @param json JSON object representing oracle info
|
|
341
|
+
*/
|
|
342
|
+
static fromJSON(json) {
|
|
343
|
+
if (!json) {
|
|
344
|
+
throw new Error('oracleInfo is required');
|
|
345
|
+
}
|
|
346
|
+
// Handle direct single oracle (legacy format)
|
|
347
|
+
if (json.announcement) {
|
|
348
|
+
return SingleOracleInfo.fromJSON(json);
|
|
349
|
+
}
|
|
350
|
+
// Handle wrapped single oracle
|
|
351
|
+
else if (json.single) {
|
|
352
|
+
return SingleOracleInfo.fromJSON(json.single);
|
|
353
|
+
}
|
|
354
|
+
// Handle multi oracle
|
|
355
|
+
else if (json.multi) {
|
|
356
|
+
return MultiOracleInfo.fromJSON(json.multi);
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
throw new Error('oracleInfo must have either announcement, single, or multi');
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Returns the closest maturity date amongst all events
|
|
364
|
+
*/
|
|
365
|
+
getClosestMaturityDate() {
|
|
366
|
+
if (this instanceof SingleOracleInfo) {
|
|
367
|
+
return this.announcement.oracleEvent.eventMaturityEpoch;
|
|
368
|
+
}
|
|
369
|
+
else if (this instanceof MultiOracleInfo) {
|
|
370
|
+
return this.getClosestMaturityDate();
|
|
371
|
+
}
|
|
372
|
+
throw new Error('Unknown oracle info type');
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
exports.OracleInfo = OracleInfo;
|
|
376
|
+
// For backward compatibility, keep the V0 class as alias to SingleOracleInfo
|
|
377
|
+
class OracleInfoV0 extends SingleOracleInfo {
|
|
378
|
+
/**
|
|
379
|
+
* Creates an OracleInfoV0 from JSON data (alias for SingleOracleInfo.fromJSON)
|
|
380
|
+
* @param json JSON object representing oracle info
|
|
381
|
+
*/
|
|
382
|
+
static fromJSON(json) {
|
|
383
|
+
return SingleOracleInfo.fromJSON(json);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
exports.OracleInfoV0 = OracleInfoV0;
|
|
387
|
+
//# sourceMappingURL=OracleInfoV0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OracleInfoV0.js","sourceRoot":"","sources":["../../lib/messages/OracleInfoV0.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAE7C,gDAA6C;AAE7C,6DAG8B;AAE9B;;;GAGG;AACH,MAAa,YAAY;IAAzB;QA+CS,SAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAyDlC,CAAC;IArGC;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACnE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAChE,QAAQ,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC3D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,iDAAiD;QACjD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAcM,QAAQ;QACb,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;IACH,CAAC;IAEM,MAAM;QACX,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAvGH,oCAwGC;AAvGe,iBAAI,GAAG,yBAAW,CAAC,cAAc,CAAC;AAyGlD;;GAEG;AACH,MAAa,gBAAgB;IAA7B;QA0CS,SAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IAyDtC,CAAC;IAhGC;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;SACH;QAED,kDAAkD;QAClD,QAAQ,CAAC,YAAY,GAAG,uCAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAEtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,mDAAmD;QACnD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc;QAEtD,6BAA6B;QAC7B,QAAQ,CAAC,YAAY,GAAG,uCAAkB,CAAC,WAAW,CACpD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC1C,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAQD;;OAEG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,oDAAoD;QACpD,OAAO;YACL,MAAM,EAAE;gBACN,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;aAC/C;SACK,CAAC;IACX,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QAErD,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACxC,+DAA+D;QAC/D,QAAQ,CAAC,YAAY,GAAG,uCAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAlGH,4CAmGC;AAlGe,qBAAI,GAAG,yBAAW,CAAC,YAAY,CAAC,CAAC,wCAAwC;AAoGzF;;GAEG;AACH,MAAa,eAAe;IAA5B;QA8DS,SAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAMnC,uCAAuC;QAChC,kBAAa,GAAyB,EAAE,CAAC;IAuHlD,CAAC;IAzLC;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QAEvC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAEzC,0DAA0D;QAC1D,MAAM,aAAa,GACjB,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;QAC9D,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,gBAAqB,EAAE,EAAE,CACnE,uCAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC9C,CAAC;QAEF,gEAAgE;QAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;QACjE,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAC/D,+DAA+D;YAC/D,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;SACjE;aAAM;YACL,iEAAiE;YACjE,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC;SACnC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,mDAAmD;QACnD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc;QAEtD,kGAAkG;QAClG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,oEAAoE;QAC3H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,QAAQ,CAAC,aAAa,CAAC,IAAI,CACzB,uCAAkB,CAAC,WAAW,CAAC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;SACH;QAED,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,gBAAgB,EAAE;YACpB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;SACxE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAcM,QAAQ;QACb,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC9C,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;SACH;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,6BAA6B;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,oCAAoC;QACpC,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;SAC9B;IACH,CAAC;IAED;;OAEG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CACnE,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,oDAAoD;QACpD,OAAO;YACL,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;aAC1C;SACK,CAAC;IACX,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,kCAAkC;QAElC,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,sEAAsE;QAE1H,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;SACjD;QAED,oFAAoF;QACpF,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY;YACxC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC;QACT,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAE3C,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,aAAa;QAClB,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,sEAAsE;QAEtH,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7C;QAED,oFAAoF;QACpF,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY;YACxC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAEvC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,+DAA+D;QAC/D,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,kCAAkC;QACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,QAAQ,CAAC,aAAa,CAAC,IAAI,CACzB,uCAAkB,CAAC,WAAW,CAAC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;SACH;QAED,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,gBAAgB,EAAE;YACpB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;SACxE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA3LH,0CA4LC;AA3Le,oBAAI,GAAG,yBAAW,CAAC,YAAY,CAAC,CAAC,4BAA4B;AA6L7E;;;;GAIG;AACH,MAAsB,UAAU;IACvB,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,YAAY;gBAC3B,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,yBAAW,CAAC,YAAY;gBAC3B,OAAO,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,+BAA+B;aAC1B,IAAI,IAAI,CAAC,MAAM,EAAE;YACpB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,sBAAsB;aACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACnB,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;SACH;IACH,CAAC;IAQD;;OAEG;IACI,sBAAsB;QAC3B,IAAI,IAAI,YAAY,gBAAgB,EAAE;YACpC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC;SACzD;aAAM,IAAI,IAAI,YAAY,eAAe,EAAE;YAC1C,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACtC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;CACF;AA3DD,gCA2DC;AAED,6EAA6E;AAC7E,MAAa,YAAa,SAAQ,gBAAgB;IAChD;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAiB,CAAC;IACzD,CAAC;CACF;AARD,oCAQC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { MessageType } from '../MessageType';
|
|
3
|
+
import { IDlcMessage } from './DlcMessage';
|
|
4
|
+
import { IOrderNegotiationFieldsV0JSON, IOrderNegotiationFieldsV1JSON, OrderNegotiationFields } from './OrderNegotiationFields';
|
|
5
|
+
/**
|
|
6
|
+
* OrderAccept contains information about a node and indicates its
|
|
7
|
+
* acceptance of the new order offer. This is the second step towards
|
|
8
|
+
* order negotiation.
|
|
9
|
+
*/
|
|
10
|
+
export declare class OrderAccept implements IDlcMessage {
|
|
11
|
+
static type: MessageType;
|
|
12
|
+
/**
|
|
13
|
+
* Creates an OrderAccept from JSON data
|
|
14
|
+
* @param json JSON object representing an order accept
|
|
15
|
+
*/
|
|
16
|
+
static fromJSON(json: any): OrderAccept;
|
|
17
|
+
/**
|
|
18
|
+
* Deserializes an order_accept message
|
|
19
|
+
* @param buf
|
|
20
|
+
*/
|
|
21
|
+
static deserialize(buf: Buffer): OrderAccept;
|
|
22
|
+
/**
|
|
23
|
+
* The type for order_accept message. order_accept = 62772
|
|
24
|
+
*/
|
|
25
|
+
type: MessageType;
|
|
26
|
+
tempOrderId: Buffer;
|
|
27
|
+
negotiationFields: OrderNegotiationFields;
|
|
28
|
+
/**
|
|
29
|
+
* Converts order_accept to JSON
|
|
30
|
+
*/
|
|
31
|
+
toJSON(): IOrderAcceptJSON;
|
|
32
|
+
/**
|
|
33
|
+
* Serializes the order_accept message into a Buffer
|
|
34
|
+
*/
|
|
35
|
+
serialize(): Buffer;
|
|
36
|
+
}
|
|
37
|
+
export interface IOrderAcceptJSON {
|
|
38
|
+
type: number;
|
|
39
|
+
tempOrderId: string;
|
|
40
|
+
negotiationFields: IOrderNegotiationFieldsV0JSON | IOrderNegotiationFieldsV1JSON;
|
|
41
|
+
}
|
|
42
|
+
export declare class OrderAcceptContainer {
|
|
43
|
+
private accepts;
|
|
44
|
+
/**
|
|
45
|
+
* Adds an OrderAccept to the container.
|
|
46
|
+
* @param accept The OrderAccept to add.
|
|
47
|
+
*/
|
|
48
|
+
addAccept(accept: OrderAccept): void;
|
|
49
|
+
/**
|
|
50
|
+
* Returns all OrderAccepts in the container.
|
|
51
|
+
* @returns An array of OrderAccept instances.
|
|
52
|
+
*/
|
|
53
|
+
getAccepts(): OrderAccept[];
|
|
54
|
+
/**
|
|
55
|
+
* Serializes all OrderAccepts in the container to a Buffer.
|
|
56
|
+
* @returns A Buffer containing the serialized OrderAccepts.
|
|
57
|
+
*/
|
|
58
|
+
serialize(): Buffer;
|
|
59
|
+
/**
|
|
60
|
+
* Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
|
|
61
|
+
* @param buf The Buffer to deserialize.
|
|
62
|
+
* @returns An OrderAcceptContainer instance.
|
|
63
|
+
*/
|
|
64
|
+
static deserialize(buf: Buffer): OrderAcceptContainer;
|
|
65
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrderAcceptContainer = exports.OrderAccept = void 0;
|
|
4
|
+
const bufio_1 = require("@node-dlc/bufio");
|
|
5
|
+
const MessageType_1 = require("../MessageType");
|
|
6
|
+
const getTlv_1 = require("../serialize/getTlv");
|
|
7
|
+
const OrderNegotiationFields_1 = require("./OrderNegotiationFields");
|
|
8
|
+
/**
|
|
9
|
+
* OrderAccept contains information about a node and indicates its
|
|
10
|
+
* acceptance of the new order offer. This is the second step towards
|
|
11
|
+
* order negotiation.
|
|
12
|
+
*/
|
|
13
|
+
class OrderAccept {
|
|
14
|
+
constructor() {
|
|
15
|
+
/**
|
|
16
|
+
* The type for order_accept message. order_accept = 62772
|
|
17
|
+
*/
|
|
18
|
+
this.type = OrderAccept.type;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates an OrderAccept from JSON data
|
|
22
|
+
* @param json JSON object representing an order accept
|
|
23
|
+
*/
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
25
|
+
static fromJSON(json) {
|
|
26
|
+
const instance = new OrderAccept();
|
|
27
|
+
instance.tempOrderId = Buffer.from(json.tempOrderId || json.temp_order_id, 'hex');
|
|
28
|
+
// Handle OrderNegotiationFields - will be parsed during deserialization if needed
|
|
29
|
+
instance.negotiationFields =
|
|
30
|
+
json.negotiationFields || json.negotiation_fields;
|
|
31
|
+
return instance;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Deserializes an order_accept message
|
|
35
|
+
* @param buf
|
|
36
|
+
*/
|
|
37
|
+
static deserialize(buf) {
|
|
38
|
+
const instance = new OrderAccept();
|
|
39
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
40
|
+
const type = reader.readUInt16BE(); // read type
|
|
41
|
+
// Validate type matches expected OrderAccept type
|
|
42
|
+
if (type !== MessageType_1.MessageType.OrderAccept) {
|
|
43
|
+
throw new Error(`Invalid message type. Expected ${MessageType_1.MessageType.OrderAccept}, got ${type}`);
|
|
44
|
+
}
|
|
45
|
+
instance.tempOrderId = reader.readBytes(32);
|
|
46
|
+
instance.negotiationFields = OrderNegotiationFields_1.OrderNegotiationFields.deserialize((0, getTlv_1.getTlv)(reader));
|
|
47
|
+
return instance;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Converts order_accept to JSON
|
|
51
|
+
*/
|
|
52
|
+
toJSON() {
|
|
53
|
+
return {
|
|
54
|
+
type: this.type,
|
|
55
|
+
tempOrderId: this.tempOrderId.toString('hex'),
|
|
56
|
+
negotiationFields: this.negotiationFields.toJSON(),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Serializes the order_accept message into a Buffer
|
|
61
|
+
*/
|
|
62
|
+
serialize() {
|
|
63
|
+
const writer = new bufio_1.BufferWriter();
|
|
64
|
+
writer.writeUInt16BE(this.type);
|
|
65
|
+
writer.writeBytes(this.tempOrderId);
|
|
66
|
+
writer.writeBytes(this.negotiationFields.serialize());
|
|
67
|
+
return writer.toBuffer();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.OrderAccept = OrderAccept;
|
|
71
|
+
OrderAccept.type = MessageType_1.MessageType.OrderAccept;
|
|
72
|
+
class OrderAcceptContainer {
|
|
73
|
+
constructor() {
|
|
74
|
+
this.accepts = [];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Adds an OrderAccept to the container.
|
|
78
|
+
* @param accept The OrderAccept to add.
|
|
79
|
+
*/
|
|
80
|
+
addAccept(accept) {
|
|
81
|
+
this.accepts.push(accept);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Returns all OrderAccepts in the container.
|
|
85
|
+
* @returns An array of OrderAccept instances.
|
|
86
|
+
*/
|
|
87
|
+
getAccepts() {
|
|
88
|
+
return this.accepts;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Serializes all OrderAccepts in the container to a Buffer.
|
|
92
|
+
* @returns A Buffer containing the serialized OrderAccepts.
|
|
93
|
+
*/
|
|
94
|
+
serialize() {
|
|
95
|
+
const writer = new bufio_1.BufferWriter();
|
|
96
|
+
// Write the number of accepts in the container first.
|
|
97
|
+
writer.writeBigSize(this.accepts.length);
|
|
98
|
+
// Serialize each accept and write it.
|
|
99
|
+
this.accepts.forEach((accept) => {
|
|
100
|
+
const serializedAccept = accept.serialize();
|
|
101
|
+
writer.writeBigSize(serializedAccept.length);
|
|
102
|
+
writer.writeBytes(serializedAccept);
|
|
103
|
+
});
|
|
104
|
+
return writer.toBuffer();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
|
|
108
|
+
* @param buf The Buffer to deserialize.
|
|
109
|
+
* @returns An OrderAcceptContainer instance.
|
|
110
|
+
*/
|
|
111
|
+
static deserialize(buf) {
|
|
112
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
113
|
+
const container = new OrderAcceptContainer();
|
|
114
|
+
const acceptsCount = reader.readBigSize();
|
|
115
|
+
for (let i = 0; i < acceptsCount; i++) {
|
|
116
|
+
const acceptLength = reader.readBigSize();
|
|
117
|
+
const acceptBuf = reader.readBytes(Number(acceptLength));
|
|
118
|
+
const accept = OrderAccept.deserialize(acceptBuf);
|
|
119
|
+
container.addAccept(accept);
|
|
120
|
+
}
|
|
121
|
+
return container;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.OrderAcceptContainer = OrderAcceptContainer;
|
|
125
|
+
//# sourceMappingURL=OrderAccept.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderAccept.js","sourceRoot":"","sources":["../../lib/messages/OrderAccept.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAC7C,gDAA6C;AAE7C,qEAIkC;AAElC;;;;GAIG;AACH,MAAa,WAAW;IAAxB;QAgDE;;WAEG;QACI,SAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IA4BjC,CAAC;IA5EC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QAEnC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAChC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EACtC,KAAK,CACN,CAAC;QAEF,kFAAkF;QAClF,QAAQ,CAAC,iBAAiB;YACxB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAEpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QAEhD,kDAAkD;QAClD,IAAI,IAAI,KAAK,yBAAW,CAAC,WAAW,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,kCAAkC,yBAAW,CAAC,WAAW,SAAS,IAAI,EAAE,CACzE,CAAC;SACH;QAED,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5C,QAAQ,CAAC,iBAAiB,GAAG,+CAAsB,CAAC,WAAW,CAC7D,IAAA,eAAM,EAAC,MAAM,CAAC,CACf,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA9EH,kCA+EC;AA9Ee,gBAAI,GAAG,yBAAW,CAAC,WAAW,CAAC;AAwF/C,MAAa,oBAAoB;IAAjC;QACU,YAAO,GAAkB,EAAE,CAAC;IAoDtC,CAAC;IAlDC;;;OAGG;IACI,SAAS,CAAC,MAAmB;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAClD,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArDD,oDAqDC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { MessageType } from '../MessageType';
|
|
3
|
+
import { IDlcMessage } from './DlcMessage';
|
|
4
|
+
export declare abstract class OrderIrcInfo {
|
|
5
|
+
static deserialize(buf: Buffer): OrderIrcInfo;
|
|
6
|
+
abstract type: number;
|
|
7
|
+
abstract toJSON(): IOrderIrcInfoJSON;
|
|
8
|
+
abstract serialize(): Buffer;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* OrderMetadata message contains information about a node and indicates its
|
|
12
|
+
* desire to enter into a new contract. This is the first step toward
|
|
13
|
+
* order negotiation.
|
|
14
|
+
*/
|
|
15
|
+
export declare class OrderIrcInfoV0 extends OrderIrcInfo implements IDlcMessage {
|
|
16
|
+
static type: MessageType;
|
|
17
|
+
/**
|
|
18
|
+
* Deserializes an offer_dlc_v0 message
|
|
19
|
+
* @param buf
|
|
20
|
+
*/
|
|
21
|
+
static deserialize(buf: Buffer): OrderIrcInfoV0;
|
|
22
|
+
/**
|
|
23
|
+
* The type for order_metadata_v0 message. order_metadata_v0 = 62774
|
|
24
|
+
*/
|
|
25
|
+
type: MessageType;
|
|
26
|
+
length: bigint;
|
|
27
|
+
nick: string;
|
|
28
|
+
pubKey: Buffer;
|
|
29
|
+
/**
|
|
30
|
+
* Converts order_metadata_v0 to JSON
|
|
31
|
+
*/
|
|
32
|
+
toJSON(): IOrderIrcInfoJSON;
|
|
33
|
+
/**
|
|
34
|
+
* Serializes the oracle_event message into a Buffer
|
|
35
|
+
*/
|
|
36
|
+
serialize(): Buffer;
|
|
37
|
+
}
|
|
38
|
+
export interface IOrderIrcInfoJSON {
|
|
39
|
+
type: number;
|
|
40
|
+
nick: string;
|
|
41
|
+
pubKey: string;
|
|
42
|
+
}
|