@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,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CetAdaptorSignatures = void 0;
|
|
4
|
+
const bufio_1 = require("@node-dlc/bufio");
|
|
5
|
+
const MessageType_1 = require("../MessageType");
|
|
6
|
+
/**
|
|
7
|
+
* CetAdaptorSignatures contains CET signatures and any necessary
|
|
8
|
+
* information linking the signatures to their corresponding outcome
|
|
9
|
+
*/
|
|
10
|
+
class CetAdaptorSignatures {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* The type for cet_adaptor_signature message. cet_adaptor_signature = 42774
|
|
14
|
+
*/
|
|
15
|
+
this.type = CetAdaptorSignatures.type;
|
|
16
|
+
this.sigs = [];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Deserializes a cet_adaptor_signature message
|
|
20
|
+
* @param buf
|
|
21
|
+
*/
|
|
22
|
+
static deserialize(buf) {
|
|
23
|
+
const instance = new CetAdaptorSignatures();
|
|
24
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
25
|
+
const nbSignatures = Number(reader.readBigSize()); // nb_signatures
|
|
26
|
+
// Read exactly nbSignatures * (65 + 97) bytes to match serialize format
|
|
27
|
+
for (let i = 0; i < nbSignatures; i++) {
|
|
28
|
+
const encryptedSig = reader.readBytes(65);
|
|
29
|
+
const dleqProof = reader.readBytes(97);
|
|
30
|
+
instance.sigs.push({ encryptedSig, dleqProof });
|
|
31
|
+
}
|
|
32
|
+
return instance;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Converts cet_adaptor_signature to JSON (canonical rust-dlc format)
|
|
36
|
+
*/
|
|
37
|
+
toJSON() {
|
|
38
|
+
return {
|
|
39
|
+
ecdsaAdaptorSignatures: this.sigs.map((sig) => {
|
|
40
|
+
// Combine encryptedSig and dleqProof into single signature field as expected by rust-dlc
|
|
41
|
+
const signature = Buffer.concat([sig.encryptedSig, sig.dleqProof]);
|
|
42
|
+
return {
|
|
43
|
+
signature: signature.toString('hex'),
|
|
44
|
+
};
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Serializes the cet_adaptor_signature message into a Buffer
|
|
50
|
+
*/
|
|
51
|
+
serialize() {
|
|
52
|
+
const writer = new bufio_1.BufferWriter();
|
|
53
|
+
// writer.writeBigSize(this.type);
|
|
54
|
+
const dataWriter = new bufio_1.BufferWriter();
|
|
55
|
+
dataWriter.writeBigSize(this.sigs.length);
|
|
56
|
+
for (const sig of this.sigs) {
|
|
57
|
+
dataWriter.writeBytes(sig.encryptedSig);
|
|
58
|
+
dataWriter.writeBytes(sig.dleqProof);
|
|
59
|
+
}
|
|
60
|
+
// writer.writeBigSize(dataWriter.size);
|
|
61
|
+
writer.writeBytes(dataWriter.toBuffer());
|
|
62
|
+
return writer.toBuffer();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.CetAdaptorSignatures = CetAdaptorSignatures;
|
|
66
|
+
CetAdaptorSignatures.type = MessageType_1.MessageType.CetAdaptorSignatures;
|
|
67
|
+
//# sourceMappingURL=CetAdaptorSignatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CetAdaptorSignatures.js","sourceRoot":"","sources":["../../lib/messages/CetAdaptorSignatures.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;;GAGG;AACH,MAAa,oBAAoB;IAAjC;QAuBE;;WAEG;QACI,SAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAIjC,SAAI,GAAW,EAAE,CAAC;IAoC3B,CAAC;IA/DC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB;QAEnE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;SACjD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5C,yFAAyF;gBACzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACrC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,kCAAkC;QAElC,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACtC;QAED,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAjEH,oDAkEC;AAjEe,yBAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ContractDescriptorType, MessageType } from '../MessageType';
|
|
3
|
+
import { IDlcMessage } from './DlcMessage';
|
|
4
|
+
import { PayoutFunction, PayoutFunctionV0JSON } from './PayoutFunction';
|
|
5
|
+
import { IRoundingIntervalsJSON, RoundingIntervals } from './RoundingIntervals';
|
|
6
|
+
export declare abstract class ContractDescriptor {
|
|
7
|
+
static deserialize(buf: Buffer): EnumeratedDescriptor | NumericalDescriptor;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a ContractDescriptor from JSON data (e.g., from test vectors)
|
|
10
|
+
* @param json JSON object representing a contract descriptor
|
|
11
|
+
*/
|
|
12
|
+
static fromJSON(json: any): ContractDescriptor;
|
|
13
|
+
abstract contractDescriptorType: ContractDescriptorType;
|
|
14
|
+
abstract type: number;
|
|
15
|
+
abstract toJSON(): EnumeratedDescriptorJSON | NumericalDescriptorJSON;
|
|
16
|
+
abstract serialize(): Buffer;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* EnumeratedContractDescriptor contains information about a contract's outcomes
|
|
20
|
+
* and their corresponding payouts (for enumerated outcomes).
|
|
21
|
+
* This corresponds to the previous ContractDescriptorV0.
|
|
22
|
+
*/
|
|
23
|
+
export declare class EnumeratedDescriptor extends ContractDescriptor implements IDlcMessage {
|
|
24
|
+
static contractDescriptorType: ContractDescriptorType;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an EnumeratedContractDescriptor from JSON data
|
|
27
|
+
* @param json JSON object representing an enumerated contract descriptor
|
|
28
|
+
*/
|
|
29
|
+
static fromJSON(json: any): EnumeratedDescriptor;
|
|
30
|
+
/**
|
|
31
|
+
* Deserializes an enumerated_contract_descriptor message
|
|
32
|
+
* @param buf
|
|
33
|
+
*/
|
|
34
|
+
static deserialize(buf: Buffer): EnumeratedDescriptor;
|
|
35
|
+
/**
|
|
36
|
+
* The type for enumerated_contract_descriptor message - using MessageType for IDlcMessage compatibility
|
|
37
|
+
*/
|
|
38
|
+
type: MessageType;
|
|
39
|
+
/**
|
|
40
|
+
* The contract descriptor type for new format
|
|
41
|
+
*/
|
|
42
|
+
contractDescriptorType: ContractDescriptorType;
|
|
43
|
+
outcomes: IOutcome[];
|
|
44
|
+
/**
|
|
45
|
+
* Converts enumerated_contract_descriptor to JSON
|
|
46
|
+
*/
|
|
47
|
+
toJSON(): EnumeratedDescriptorJSON;
|
|
48
|
+
/**
|
|
49
|
+
* Serializes the enumerated_contract_descriptor message into a Buffer
|
|
50
|
+
*/
|
|
51
|
+
serialize(): Buffer;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* NumericOutcomeContractDescriptor contains information about a contract's outcomes
|
|
55
|
+
* and their corresponding payouts (for numeric outcomes).
|
|
56
|
+
* This corresponds to the previous ContractDescriptorV1.
|
|
57
|
+
*/
|
|
58
|
+
export declare class NumericalDescriptor extends ContractDescriptor implements IDlcMessage {
|
|
59
|
+
static contractDescriptorType: ContractDescriptorType;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a NumericOutcomeContractDescriptor from JSON data
|
|
62
|
+
* @param json JSON object representing a numeric outcome contract descriptor
|
|
63
|
+
*/
|
|
64
|
+
static fromJSON(json: any): NumericalDescriptor;
|
|
65
|
+
/**
|
|
66
|
+
* Deserializes a numeric_outcome_contract_descriptor message
|
|
67
|
+
* @param buf
|
|
68
|
+
*/
|
|
69
|
+
static deserialize(buf: Buffer): NumericalDescriptor;
|
|
70
|
+
/**
|
|
71
|
+
* The type for numeric_outcome_contract_descriptor message - using MessageType for IDlcMessage compatibility
|
|
72
|
+
*/
|
|
73
|
+
type: MessageType;
|
|
74
|
+
/**
|
|
75
|
+
* The contract descriptor type for new format
|
|
76
|
+
*/
|
|
77
|
+
contractDescriptorType: ContractDescriptorType;
|
|
78
|
+
numDigits: number;
|
|
79
|
+
payoutFunction: PayoutFunction;
|
|
80
|
+
roundingIntervals: RoundingIntervals;
|
|
81
|
+
/**
|
|
82
|
+
* Validates correctness of all fields in the message
|
|
83
|
+
* https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type
|
|
84
|
+
* @throws Will throw an error if validation fails
|
|
85
|
+
*/
|
|
86
|
+
validate(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Converts numeric_outcome_contract_descriptor to JSON
|
|
89
|
+
*/
|
|
90
|
+
toJSON(): NumericalDescriptorJSON;
|
|
91
|
+
/**
|
|
92
|
+
* Serializes the numeric_outcome_contract_descriptor message into a Buffer
|
|
93
|
+
*/
|
|
94
|
+
serialize(): Buffer;
|
|
95
|
+
}
|
|
96
|
+
export declare const ContractDescriptorV0: typeof EnumeratedDescriptor;
|
|
97
|
+
export declare const ContractDescriptorV1: typeof NumericalDescriptor;
|
|
98
|
+
export type ContractDescriptorV0 = EnumeratedDescriptor;
|
|
99
|
+
export type ContractDescriptorV1 = NumericalDescriptor;
|
|
100
|
+
interface IOutcome {
|
|
101
|
+
outcome: string;
|
|
102
|
+
localPayout: bigint;
|
|
103
|
+
}
|
|
104
|
+
interface IOutcomeJSON {
|
|
105
|
+
outcome: string;
|
|
106
|
+
localPayout: number;
|
|
107
|
+
}
|
|
108
|
+
export interface EnumeratedDescriptorJSON {
|
|
109
|
+
type?: number;
|
|
110
|
+
contractDescriptorType?: ContractDescriptorType;
|
|
111
|
+
outcomes: IOutcomeJSON[];
|
|
112
|
+
}
|
|
113
|
+
export interface NumericalDescriptorJSON {
|
|
114
|
+
type?: number;
|
|
115
|
+
contractDescriptorType?: ContractDescriptorType;
|
|
116
|
+
numDigits: number;
|
|
117
|
+
payoutFunction: PayoutFunctionV0JSON;
|
|
118
|
+
roundingIntervals: IRoundingIntervalsJSON;
|
|
119
|
+
}
|
|
120
|
+
export type ContractDescriptorV0JSON = EnumeratedDescriptorJSON;
|
|
121
|
+
export type ContractDescriptorV1JSON = NumericalDescriptorJSON;
|
|
122
|
+
export {};
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContractDescriptorV1 = exports.ContractDescriptorV0 = exports.NumericalDescriptor = exports.EnumeratedDescriptor = exports.ContractDescriptor = void 0;
|
|
4
|
+
const bufio_1 = require("@node-dlc/bufio");
|
|
5
|
+
const MessageType_1 = require("../MessageType");
|
|
6
|
+
const PayoutFunction_1 = require("./PayoutFunction");
|
|
7
|
+
const RoundingIntervals_1 = require("./RoundingIntervals");
|
|
8
|
+
class ContractDescriptor {
|
|
9
|
+
static deserialize(buf) {
|
|
10
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
11
|
+
const typeId = Number(reader.readBigSize());
|
|
12
|
+
switch (typeId) {
|
|
13
|
+
case MessageType_1.ContractDescriptorType.Enumerated:
|
|
14
|
+
return EnumeratedDescriptor.deserialize(buf);
|
|
15
|
+
case MessageType_1.ContractDescriptorType.NumericOutcome:
|
|
16
|
+
return NumericalDescriptor.deserialize(buf);
|
|
17
|
+
default:
|
|
18
|
+
throw new Error(`Contract descriptor type must be Enumerated (0) or NumericOutcome (1), got ${typeId}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a ContractDescriptor from JSON data (e.g., from test vectors)
|
|
23
|
+
* @param json JSON object representing a contract descriptor
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
26
|
+
static fromJSON(json) {
|
|
27
|
+
if (!json) {
|
|
28
|
+
throw new Error('contractDescriptor is required');
|
|
29
|
+
}
|
|
30
|
+
// Handle enumerated contract descriptor
|
|
31
|
+
if (json.enumeratedContractDescriptor ||
|
|
32
|
+
json.enumerated_contract_descriptor) {
|
|
33
|
+
return EnumeratedDescriptor.fromJSON(json.enumeratedContractDescriptor ||
|
|
34
|
+
json.enumerated_contract_descriptor);
|
|
35
|
+
}
|
|
36
|
+
// Handle numeric outcome contract descriptor
|
|
37
|
+
else if (json.numericOutcomeContractDescriptor ||
|
|
38
|
+
json.numeric_outcome_contract_descriptor) {
|
|
39
|
+
return NumericalDescriptor.fromJSON(json.numericOutcomeContractDescriptor ||
|
|
40
|
+
json.numeric_outcome_contract_descriptor);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error('contractDescriptor must have either enumeratedContractDescriptor or numericOutcomeContractDescriptor');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.ContractDescriptor = ContractDescriptor;
|
|
48
|
+
/**
|
|
49
|
+
* EnumeratedContractDescriptor contains information about a contract's outcomes
|
|
50
|
+
* and their corresponding payouts (for enumerated outcomes).
|
|
51
|
+
* This corresponds to the previous ContractDescriptorV0.
|
|
52
|
+
*/
|
|
53
|
+
class EnumeratedDescriptor extends ContractDescriptor {
|
|
54
|
+
constructor() {
|
|
55
|
+
super(...arguments);
|
|
56
|
+
/**
|
|
57
|
+
* The type for enumerated_contract_descriptor message - using MessageType for IDlcMessage compatibility
|
|
58
|
+
*/
|
|
59
|
+
this.type = MessageType_1.MessageType.ContractDescriptorV0; // For IDlcMessage compatibility
|
|
60
|
+
/**
|
|
61
|
+
* The contract descriptor type for new format
|
|
62
|
+
*/
|
|
63
|
+
this.contractDescriptorType = MessageType_1.ContractDescriptorType.Enumerated;
|
|
64
|
+
this.outcomes = [];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates an EnumeratedContractDescriptor from JSON data
|
|
68
|
+
* @param json JSON object representing an enumerated contract descriptor
|
|
69
|
+
*/
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
71
|
+
static fromJSON(json) {
|
|
72
|
+
const instance = new EnumeratedDescriptor();
|
|
73
|
+
const payouts = json.payouts || [];
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
+
instance.outcomes = payouts.map((payout) => ({
|
|
76
|
+
outcome: payout.outcome,
|
|
77
|
+
localPayout: BigInt(payout.offerPayout || 0), // Use canonical offerPayout field
|
|
78
|
+
}));
|
|
79
|
+
return instance;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Deserializes an enumerated_contract_descriptor message
|
|
83
|
+
* @param buf
|
|
84
|
+
*/
|
|
85
|
+
static deserialize(buf) {
|
|
86
|
+
const instance = new EnumeratedDescriptor();
|
|
87
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
88
|
+
reader.readBigSize(); // read type (0)
|
|
89
|
+
const numOutcomes = Number(reader.readBigSize());
|
|
90
|
+
for (let i = 0; i < numOutcomes; i++) {
|
|
91
|
+
const outcomeLen = Number(reader.readBigSize());
|
|
92
|
+
const outcome = reader.readBytes(outcomeLen).toString();
|
|
93
|
+
const localPayout = reader.readUInt64BE();
|
|
94
|
+
instance.outcomes.push({
|
|
95
|
+
outcome,
|
|
96
|
+
localPayout,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return instance;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Converts enumerated_contract_descriptor to JSON
|
|
103
|
+
*/
|
|
104
|
+
toJSON() {
|
|
105
|
+
// Return enum variant format for Rust compatibility
|
|
106
|
+
return {
|
|
107
|
+
enumeratedContractDescriptor: {
|
|
108
|
+
payouts: this.outcomes.map((outcome) => ({
|
|
109
|
+
outcome: outcome.outcome,
|
|
110
|
+
offerPayout: Number(outcome.localPayout), // Use offerPayout to match Rust
|
|
111
|
+
})),
|
|
112
|
+
},
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Serializes the enumerated_contract_descriptor message into a Buffer
|
|
118
|
+
*/
|
|
119
|
+
serialize() {
|
|
120
|
+
const writer = new bufio_1.BufferWriter();
|
|
121
|
+
writer.writeBigSize(this.contractDescriptorType);
|
|
122
|
+
writer.writeBigSize(this.outcomes.length);
|
|
123
|
+
for (const outcome of this.outcomes) {
|
|
124
|
+
writer.writeBigSize(outcome.outcome.length);
|
|
125
|
+
writer.writeBytes(Buffer.from(outcome.outcome));
|
|
126
|
+
writer.writeUInt64BE(outcome.localPayout);
|
|
127
|
+
}
|
|
128
|
+
return writer.toBuffer();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.EnumeratedDescriptor = EnumeratedDescriptor;
|
|
132
|
+
EnumeratedDescriptor.contractDescriptorType = MessageType_1.ContractDescriptorType.Enumerated;
|
|
133
|
+
/**
|
|
134
|
+
* NumericOutcomeContractDescriptor contains information about a contract's outcomes
|
|
135
|
+
* and their corresponding payouts (for numeric outcomes).
|
|
136
|
+
* This corresponds to the previous ContractDescriptorV1.
|
|
137
|
+
*/
|
|
138
|
+
class NumericalDescriptor extends ContractDescriptor {
|
|
139
|
+
constructor() {
|
|
140
|
+
super(...arguments);
|
|
141
|
+
/**
|
|
142
|
+
* The type for numeric_outcome_contract_descriptor message - using MessageType for IDlcMessage compatibility
|
|
143
|
+
*/
|
|
144
|
+
this.type = MessageType_1.MessageType.ContractDescriptorV1; // For IDlcMessage compatibility
|
|
145
|
+
/**
|
|
146
|
+
* The contract descriptor type for new format
|
|
147
|
+
*/
|
|
148
|
+
this.contractDescriptorType = MessageType_1.ContractDescriptorType.NumericOutcome;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Creates a NumericOutcomeContractDescriptor from JSON data
|
|
152
|
+
* @param json JSON object representing a numeric outcome contract descriptor
|
|
153
|
+
*/
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
|
155
|
+
static fromJSON(json) {
|
|
156
|
+
const instance = new NumericalDescriptor();
|
|
157
|
+
instance.numDigits = json.numDigits || json.num_digits || 0;
|
|
158
|
+
// Parse payout function using proper fromJSON method
|
|
159
|
+
instance.payoutFunction = PayoutFunction_1.PayoutFunction.fromJSON(json.payoutFunction || json.payout_function);
|
|
160
|
+
// Parse rounding intervals using proper fromJSON method
|
|
161
|
+
instance.roundingIntervals = RoundingIntervals_1.RoundingIntervals.fromJSON(json.roundingIntervals || json.rounding_intervals);
|
|
162
|
+
return instance;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Deserializes a numeric_outcome_contract_descriptor message
|
|
166
|
+
* @param buf
|
|
167
|
+
*/
|
|
168
|
+
static deserialize(buf) {
|
|
169
|
+
const instance = new NumericalDescriptor();
|
|
170
|
+
const reader = new bufio_1.BufferReader(buf);
|
|
171
|
+
reader.readBigSize(); // read type (1)
|
|
172
|
+
instance.numDigits = reader.readUInt16BE();
|
|
173
|
+
// Parse payout function - need to calculate its size to avoid consuming all bytes
|
|
174
|
+
const payoutFunctionStartPos = reader.position;
|
|
175
|
+
const tempPayoutFunction = PayoutFunction_1.PayoutFunction.deserialize(reader.buffer.subarray(reader.position));
|
|
176
|
+
instance.payoutFunction = tempPayoutFunction;
|
|
177
|
+
// Skip past the payout function bytes
|
|
178
|
+
const payoutFunctionSize = tempPayoutFunction.serialize().length;
|
|
179
|
+
reader.position = payoutFunctionStartPos + payoutFunctionSize;
|
|
180
|
+
// Parse remaining bytes as rounding intervals
|
|
181
|
+
instance.roundingIntervals = RoundingIntervals_1.RoundingIntervals.deserialize(reader.buffer.subarray(reader.position));
|
|
182
|
+
return instance;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Validates correctness of all fields in the message
|
|
186
|
+
* https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type
|
|
187
|
+
* @throws Will throw an error if validation fails
|
|
188
|
+
*/
|
|
189
|
+
validate() {
|
|
190
|
+
this.roundingIntervals.validate();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Converts numeric_outcome_contract_descriptor to JSON
|
|
194
|
+
*/
|
|
195
|
+
toJSON() {
|
|
196
|
+
// Return enum variant format for Rust compatibility
|
|
197
|
+
return {
|
|
198
|
+
numericOutcomeContractDescriptor: {
|
|
199
|
+
numDigits: this.numDigits,
|
|
200
|
+
payoutFunction: this.payoutFunction.toJSON(),
|
|
201
|
+
roundingIntervals: this.roundingIntervals.toJSON(),
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Serializes the numeric_outcome_contract_descriptor message into a Buffer
|
|
207
|
+
*/
|
|
208
|
+
serialize() {
|
|
209
|
+
const writer = new bufio_1.BufferWriter();
|
|
210
|
+
writer.writeBigSize(this.contractDescriptorType);
|
|
211
|
+
writer.writeUInt16BE(this.numDigits);
|
|
212
|
+
writer.writeBytes(this.payoutFunction.serialize());
|
|
213
|
+
writer.writeBytes(this.roundingIntervals.serialize());
|
|
214
|
+
return writer.toBuffer();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.NumericalDescriptor = NumericalDescriptor;
|
|
218
|
+
NumericalDescriptor.contractDescriptorType = MessageType_1.ContractDescriptorType.NumericOutcome;
|
|
219
|
+
// Legacy support - keeping old class names as aliases
|
|
220
|
+
exports.ContractDescriptorV0 = EnumeratedDescriptor;
|
|
221
|
+
exports.ContractDescriptorV1 = NumericalDescriptor;
|
|
222
|
+
//# sourceMappingURL=ContractDescriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContractDescriptor.js","sourceRoot":"","sources":["../../lib/messages/ContractDescriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ContractInfoType, MessageType } from '../MessageType';
|
|
3
|
+
import { ContractDescriptor, ContractDescriptorV0JSON, ContractDescriptorV1JSON } from './ContractDescriptor';
|
|
4
|
+
import { DlcMessage, IDlcMessage } from './DlcMessage';
|
|
5
|
+
import { MultiOracleInfoJSON, OracleInfo, SingleOracleInfoJSON } from './OracleInfo';
|
|
6
|
+
export declare abstract class ContractInfo extends DlcMessage {
|
|
7
|
+
static deserialize(buf: Buffer): SingleContractInfo | DisjointContractInfo;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a ContractInfo from JSON data (e.g., from test vectors)
|
|
10
|
+
* @param json JSON object representing contract info
|
|
11
|
+
*/
|
|
12
|
+
static fromJSON(json: any): ContractInfo;
|
|
13
|
+
abstract contractInfoType: ContractInfoType;
|
|
14
|
+
abstract totalCollateral: bigint;
|
|
15
|
+
abstract validate(): void;
|
|
16
|
+
abstract toJSON(): ISingleContractInfoJSON | IDisjointContractInfoJSON;
|
|
17
|
+
abstract serialize(): Buffer;
|
|
18
|
+
getTotalCollateral(): bigint;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* SingleContractInfo contains information about a contract's outcomes,
|
|
22
|
+
* their corresponding payouts, and the oracles to be used.
|
|
23
|
+
* This corresponds to the previous ContractInfoV0.
|
|
24
|
+
*/
|
|
25
|
+
export declare class SingleContractInfo extends ContractInfo implements IDlcMessage {
|
|
26
|
+
static contractInfoType: ContractInfoType;
|
|
27
|
+
static type: MessageType;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a SingleContractInfo from JSON data
|
|
30
|
+
* @param json JSON object representing single contract info
|
|
31
|
+
*/
|
|
32
|
+
static fromJSON(json: any): SingleContractInfo;
|
|
33
|
+
/**
|
|
34
|
+
* Deserializes a single_contract_info message
|
|
35
|
+
* @param buf
|
|
36
|
+
*/
|
|
37
|
+
static deserialize(buf: Buffer): SingleContractInfo;
|
|
38
|
+
/**
|
|
39
|
+
* The type for single_contract_info message - using MessageType for IDlcMessage compatibility
|
|
40
|
+
*/
|
|
41
|
+
type: MessageType;
|
|
42
|
+
/**
|
|
43
|
+
* The contract info type for new format
|
|
44
|
+
*/
|
|
45
|
+
contractInfoType: ContractInfoType;
|
|
46
|
+
totalCollateral: bigint;
|
|
47
|
+
contractDescriptor: ContractDescriptor;
|
|
48
|
+
oracleInfo: OracleInfo;
|
|
49
|
+
get length(): bigint;
|
|
50
|
+
/**
|
|
51
|
+
* Validates correctness of all fields in the message
|
|
52
|
+
* @throws Will throw an error if validation fails
|
|
53
|
+
*/
|
|
54
|
+
validate(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Converts single_contract_info to JSON
|
|
57
|
+
*/
|
|
58
|
+
toJSON(): ISingleContractInfoJSON;
|
|
59
|
+
/**
|
|
60
|
+
* Serializes the single_contract_info message into a Buffer
|
|
61
|
+
*/
|
|
62
|
+
serialize(): Buffer;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* DisjointContractInfo contains information about multiple disjoint contract events.
|
|
66
|
+
* This corresponds to the previous ContractInfoV1.
|
|
67
|
+
*/
|
|
68
|
+
export declare class DisjointContractInfo extends ContractInfo implements IDlcMessage {
|
|
69
|
+
static contractInfoType: ContractInfoType;
|
|
70
|
+
static type: MessageType;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a DisjointContractInfo from JSON data
|
|
73
|
+
* @param json JSON object representing disjoint contract info
|
|
74
|
+
*/
|
|
75
|
+
static fromJSON(json: any): DisjointContractInfo;
|
|
76
|
+
/**
|
|
77
|
+
* Deserializes a disjoint_contract_info message
|
|
78
|
+
* @param buf
|
|
79
|
+
*/
|
|
80
|
+
static deserialize(buf: Buffer): DisjointContractInfo;
|
|
81
|
+
/**
|
|
82
|
+
* The type for disjoint_contract_info message - using MessageType for IDlcMessage compatibility
|
|
83
|
+
*/
|
|
84
|
+
type: MessageType;
|
|
85
|
+
/**
|
|
86
|
+
* The contract info type for new format
|
|
87
|
+
*/
|
|
88
|
+
contractInfoType: ContractInfoType;
|
|
89
|
+
totalCollateral: bigint;
|
|
90
|
+
contractOraclePairs: IContractOraclePair[];
|
|
91
|
+
get length(): bigint;
|
|
92
|
+
/**
|
|
93
|
+
* Validates correctness of all fields in the message
|
|
94
|
+
* @throws Will throw an error if validation fails
|
|
95
|
+
*/
|
|
96
|
+
validate(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Converts disjoint_contract_info to JSON
|
|
99
|
+
*/
|
|
100
|
+
toJSON(): IDisjointContractInfoJSON;
|
|
101
|
+
/**
|
|
102
|
+
* Serializes the disjoint_contract_info message into a Buffer
|
|
103
|
+
*/
|
|
104
|
+
serialize(): Buffer;
|
|
105
|
+
}
|
|
106
|
+
export declare const ContractInfoV0: typeof SingleContractInfo;
|
|
107
|
+
export declare const ContractInfoV1: typeof DisjointContractInfo;
|
|
108
|
+
export type ContractInfoV0 = SingleContractInfo;
|
|
109
|
+
export type ContractInfoV1 = DisjointContractInfo;
|
|
110
|
+
interface IContractOraclePair {
|
|
111
|
+
contractDescriptor: ContractDescriptor;
|
|
112
|
+
oracleInfo: OracleInfo;
|
|
113
|
+
}
|
|
114
|
+
interface IContractOraclePairJSON {
|
|
115
|
+
contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
|
|
116
|
+
oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
|
|
117
|
+
}
|
|
118
|
+
export interface ISingleContractInfoJSON {
|
|
119
|
+
type?: number;
|
|
120
|
+
contractInfoType?: ContractInfoType;
|
|
121
|
+
totalCollateral: number;
|
|
122
|
+
contractInfo: {
|
|
123
|
+
contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
|
|
124
|
+
oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
export interface IDisjointContractInfoJSON {
|
|
128
|
+
type?: number;
|
|
129
|
+
contractInfoType?: ContractInfoType;
|
|
130
|
+
totalCollateral: number;
|
|
131
|
+
contractOraclePairs: IContractOraclePairJSON[];
|
|
132
|
+
}
|
|
133
|
+
export type IContractInfoV0JSON = ISingleContractInfoJSON;
|
|
134
|
+
export type IContractInfoV1JSON = IDisjointContractInfoJSON;
|
|
135
|
+
export {};
|