From f261b4a961137cecda04568e7b9a0bcae7ccdf0b Mon Sep 17 00:00:00 2001 From: Docusaurus bot <mdoc@docusaurus> Date: Wed, 3 Feb 2021 20:53:50 +0000 Subject: [PATCH] Deploy website Deploy website version based on 09e60ae4042121db44c91885b96df8f427f331c1 --- docs/next/core/addresses.html | 10 +++--- docs/next/core/addresses/index.html | 10 +++--- docs/next/core/dlc.html | 16 ++++----- docs/next/core/dlc/index.html | 16 ++++----- docs/next/core/hd-keys.html | 12 +++---- docs/next/core/hd-keys/index.html | 12 +++---- docs/next/core/txbuilder.html | 36 ++++++++++---------- docs/next/core/txbuilder/index.html | 36 ++++++++++---------- docs/next/crypto/sign.html | 4 +-- docs/next/crypto/sign/index.html | 4 +-- docs/next/getting-setup.html | 11 ++++-- docs/next/getting-setup/index.html | 11 ++++-- docs/next/getting-started.html | 2 +- docs/next/getting-started/index.html | 2 +- docs/next/key-manager/key-manager.html | 22 ++++++------ docs/next/key-manager/key-manager/index.html | 22 ++++++------ docs/next/secp256k1/secp256k1.html | 4 +-- docs/next/secp256k1/secp256k1/index.html | 4 +-- 18 files changed, 124 insertions(+), 110 deletions(-) diff --git a/docs/next/core/addresses.html b/docs/next/core/addresses.html index ca00ee562e..651197101e 100644 --- a/docs/next/core/addresses.html +++ b/docs/next/core/addresses.html @@ -80,7 +80,7 @@ reason to keep using legacy transaction formats.</p> <span class="hljs-keyword">val</span> privkey = <span class="hljs-type">ECPrivateKey</span>() <span class="hljs-comment">// privkey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> pubkey = privkey.publicKey -<span class="hljs-comment">// pubkey: org.bitcoins.crypto.ECPublicKey = ECPublicKey(03d227de8f0b9e9c1e08e87fe7e91e4b3bbba1b9bea9bb7d106fc39981bd638bc7)</span> +<span class="hljs-comment">// pubkey: org.bitcoins.crypto.ECPublicKey = ECPublicKey(035acf2352ed78b114b5d049fdabf4a48d459c6768c48be7cca331ca74725fbabc)</span> <span class="hljs-keyword">val</span> segwitAddress = { <span class="hljs-comment">// see https://bitcoin.org/en/glossary/pubkey-script</span> @@ -89,10 +89,10 @@ reason to keep using legacy transaction formats.</p> <span class="hljs-keyword">val</span> scriptPubKey = <span class="hljs-type">P2WPKHWitnessSPKV0</span>(pubkey) <span class="hljs-type">Bech32Address</span>(scriptPubKey, <span class="hljs-type">TestNet3</span>) } -<span class="hljs-comment">// segwitAddress: Bech32Address = tb1qgz6xsgdj8mn3gr946y5qh4ckt9zxpux89540s6</span> +<span class="hljs-comment">// segwitAddress: Bech32Address = tb1qh7uwgau62tfz4c68galtmg3qu2ps834akdqnk5</span> println(segwitAddress.toString) -<span class="hljs-comment">// tb1qgz6xsgdj8mn3gr946y5qh4ckt9zxpux89540s6</span> +<span class="hljs-comment">// tb1qh7uwgau62tfz4c68galtmg3qu2ps834akdqnk5</span> </code></pre> <h2><a class="anchor" aria-hidden="true" id="generating-legacy-base58-addresses"></a><a href="#generating-legacy-base58-addresses" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Generating legacy (base58) addresses</h2> <p>If you need to generate legacy addresses for backwards @@ -101,10 +101,10 @@ Take a look:</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">// we're reusing the same private/public key pair</span> <span class="hljs-comment">// from before. don't do this in an actual application!</span> <span class="hljs-keyword">val</span> legacyAddress = <span class="hljs-type">P2PKHAddress</span>(pubkey, <span class="hljs-type">TestNet3</span>) -<span class="hljs-comment">// legacyAddress: P2PKHAddress = mmR5fDJRgzekJeespApFVvNuVHy5whEAiN</span> +<span class="hljs-comment">// legacyAddress: P2PKHAddress = mxzgrFEiH8yiWTnkVBhyKdw65ZELqaK1eD</span> println(legacyAddress.toString) -<span class="hljs-comment">// mmR5fDJRgzekJeespApFVvNuVHy5whEAiN</span> +<span class="hljs-comment">// mxzgrFEiH8yiWTnkVBhyKdw65ZELqaK1eD</span> </code></pre> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/core/core-intro"><span class="arrow-prev">← </span><span>Core Module</span></a><a class="docs-next button" href="/docs/next/core/hd-keys"><span>HD Key Generation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#generating-segwit-bech32-addresses">Generating SegWit (bech32) addresses</a></li><li><a href="#generating-legacy-base58-addresses">Generating legacy (base58) addresses</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> document.addEventListener('keyup', function(e) { diff --git a/docs/next/core/addresses/index.html b/docs/next/core/addresses/index.html index ca00ee562e..651197101e 100644 --- a/docs/next/core/addresses/index.html +++ b/docs/next/core/addresses/index.html @@ -80,7 +80,7 @@ reason to keep using legacy transaction formats.</p> <span class="hljs-keyword">val</span> privkey = <span class="hljs-type">ECPrivateKey</span>() <span class="hljs-comment">// privkey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> pubkey = privkey.publicKey -<span class="hljs-comment">// pubkey: org.bitcoins.crypto.ECPublicKey = ECPublicKey(03d227de8f0b9e9c1e08e87fe7e91e4b3bbba1b9bea9bb7d106fc39981bd638bc7)</span> +<span class="hljs-comment">// pubkey: org.bitcoins.crypto.ECPublicKey = ECPublicKey(035acf2352ed78b114b5d049fdabf4a48d459c6768c48be7cca331ca74725fbabc)</span> <span class="hljs-keyword">val</span> segwitAddress = { <span class="hljs-comment">// see https://bitcoin.org/en/glossary/pubkey-script</span> @@ -89,10 +89,10 @@ reason to keep using legacy transaction formats.</p> <span class="hljs-keyword">val</span> scriptPubKey = <span class="hljs-type">P2WPKHWitnessSPKV0</span>(pubkey) <span class="hljs-type">Bech32Address</span>(scriptPubKey, <span class="hljs-type">TestNet3</span>) } -<span class="hljs-comment">// segwitAddress: Bech32Address = tb1qgz6xsgdj8mn3gr946y5qh4ckt9zxpux89540s6</span> +<span class="hljs-comment">// segwitAddress: Bech32Address = tb1qh7uwgau62tfz4c68galtmg3qu2ps834akdqnk5</span> println(segwitAddress.toString) -<span class="hljs-comment">// tb1qgz6xsgdj8mn3gr946y5qh4ckt9zxpux89540s6</span> +<span class="hljs-comment">// tb1qh7uwgau62tfz4c68galtmg3qu2ps834akdqnk5</span> </code></pre> <h2><a class="anchor" aria-hidden="true" id="generating-legacy-base58-addresses"></a><a href="#generating-legacy-base58-addresses" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Generating legacy (base58) addresses</h2> <p>If you need to generate legacy addresses for backwards @@ -101,10 +101,10 @@ Take a look:</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">// we're reusing the same private/public key pair</span> <span class="hljs-comment">// from before. don't do this in an actual application!</span> <span class="hljs-keyword">val</span> legacyAddress = <span class="hljs-type">P2PKHAddress</span>(pubkey, <span class="hljs-type">TestNet3</span>) -<span class="hljs-comment">// legacyAddress: P2PKHAddress = mmR5fDJRgzekJeespApFVvNuVHy5whEAiN</span> +<span class="hljs-comment">// legacyAddress: P2PKHAddress = mxzgrFEiH8yiWTnkVBhyKdw65ZELqaK1eD</span> println(legacyAddress.toString) -<span class="hljs-comment">// mmR5fDJRgzekJeespApFVvNuVHy5whEAiN</span> +<span class="hljs-comment">// mxzgrFEiH8yiWTnkVBhyKdw65ZELqaK1eD</span> </code></pre> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/core/core-intro"><span class="arrow-prev">← </span><span>Core Module</span></a><a class="docs-next button" href="/docs/next/core/hd-keys"><span>HD Key Generation</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#generating-segwit-bech32-addresses">Generating SegWit (bech32) addresses</a></li><li><a href="#generating-legacy-base58-addresses">Generating legacy (base58) addresses</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> document.addEventListener('keyup', function(e) { diff --git a/docs/next/core/dlc.html b/docs/next/core/dlc.html index c973fc5cb5..da09515c6c 100644 --- a/docs/next/core/dlc.html +++ b/docs/next/core/dlc.html @@ -191,7 +191,7 @@ multiOracleCETsWithRounding.length <span class="hljs-keyword">val</span> nonces = <span class="hljs-number">0.</span>until(<span class="hljs-number">15</span>).toVector.map(_ => <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey.schnorrNonce) <span class="hljs-type">OracleAnnouncementV0TLV</span>.dummyForKeys(oraclePrivKey, nonces) } -<span class="hljs-comment">// announcements: Vector[OracleAnnouncementTLV] = Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)))</span> +<span class="hljs-comment">// announcements: Vector[OracleAnnouncementTLV] = Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)))</span> <span class="hljs-keyword">val</span> oracleInfo = <span class="hljs-type">NumericMultiOracleInfo</span>( threshold = <span class="hljs-number">3</span>, announcements, @@ -199,19 +199,19 @@ multiOracleCETsWithRounding.length minFailExp = <span class="hljs-number">3</span>, maximizeCoverage = <span class="hljs-literal">false</span> ) -<span class="hljs-comment">// oracleInfo: NumericMultiOracleInfo = NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)</span> +<span class="hljs-comment">// oracleInfo: NumericMultiOracleInfo = NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)</span> <span class="hljs-keyword">val</span> contractInfo = <span class="hljs-type">ContractInfo</span>(totalCollateral, <span class="hljs-type">ContractOraclePair</span>.<span class="hljs-type">NumericPair</span>(descriptor, oracleInfo)) -<span class="hljs-comment">// contractInfo: ContractInfo = ContractInfo(1000 sats,NumericPair(NumericContractDescriptor(DLCPayoutCurve(Vector(OutcomePayoutEndpoint(0,0), OutcomePayoutEndpoint(1000,0), OutcomePayoutEndpoint(2000,1000), OutcomePayoutEndpoint(32767,1000))),15,RoundingIntervals(Vector(IntervalStart(0,100)))),NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)))</span> +<span class="hljs-comment">// contractInfo: ContractInfo = ContractInfo(1000 sats,NumericPair(NumericContractDescriptor(DLCPayoutCurve(Vector(OutcomePayoutEndpoint(0,0), OutcomePayoutEndpoint(1000,0), OutcomePayoutEndpoint(2000,1000), OutcomePayoutEndpoint(32767,1000))),15,RoundingIntervals(Vector(IntervalStart(0,100)))),NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)))</span> contractInfo.max <span class="hljs-comment">// res13: Satoshis = 1000 sats</span> contractInfo.allOutcomes.length <span class="hljs-comment">// res14: Int = 2870</span> <span class="hljs-keyword">val</span> signingOracles = oracleInfo.singleOracleInfos.take(<span class="hljs-number">3</span>) -<span class="hljs-comment">// signingOracles: Vector[NumericSingleOracleInfo] = Vector(NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))))</span> +<span class="hljs-comment">// signingOracles: Vector[NumericSingleOracleInfo] = Vector(NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))))</span> <span class="hljs-keyword">val</span> outcome = <span class="hljs-type">NumericOracleOutcome</span>(signingOracles.map((_, <span class="hljs-type">UnsignedNumericOutcome</span>(<span class="hljs-type">Vector</span>(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>))))) -<span class="hljs-comment">// outcome: NumericOracleOutcome = NumericOracleOutcome(Vector((NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0)))))</span> +<span class="hljs-comment">// outcome: NumericOracleOutcome = NumericOracleOutcome(Vector((NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0)))))</span> contractInfo.getPayouts(outcome) <span class="hljs-comment">// res15: (Satoshis, Satoshis) = (0 sats,1000 sats)</span> </code></pre> @@ -234,12 +234,12 @@ contractInfo.getPayouts(outcome) contractMaturityBound = <span class="hljs-type">BlockStamp</span>.<span class="hljs-type">BlockHeight</span>(<span class="hljs-number">0</span>), contractTimeout = <span class="hljs-type">BlockStamp</span>.<span class="hljs-type">BlockHeight</span>(<span class="hljs-number">0</span>) ) -<span class="hljs-comment">// offerTLV: DLCOfferTLV = DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(03bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0))</span> +<span class="hljs-comment">// offerTLV: DLCOfferTLV = DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(0255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0))</span> <span class="hljs-keyword">val</span> lnMsgHex = <span class="hljs-type">LnMessage</span>(offerTLV).hex -<span class="hljs-comment">// lnMsgHex: String = a71a000000000000000000000000000000000000000000000000000000000000000000fdd82efd0c7c00000000000003e8fda72046000ffda72638000401000000000000000000000001fd03e80000000000000000000001fd07d000000000000003e8000001fd7fff00000000000003e80000fda7240400010064fdd82cfd0c2400030005fdd824fd0265494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10e02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0fdd822fd01ff000fe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931aa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821dce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbef0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69dc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392ea0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b4689539671fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d7437f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e873b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d10858e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649b2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e7500000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75e9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3deb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cffdd822fd01ff000ff09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08f2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e2975587842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109ab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb349b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e1700267e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838e30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c780929f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bda564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd026597b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdbf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fcf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540fdd822fd01ff000f6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff209d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d26378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367a9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c0137700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c94994998ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603eee4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f43a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674f59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee42486e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c4400000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265c9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288c2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d956598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39fdd822fd01ff000f89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3bd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83ca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df06d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762dee9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874bf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b4271cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1f97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb78978bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f35100000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02653dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777a9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583f6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fefdd822fd01ff000f2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8bc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e504d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7afdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0a1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899de4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71deac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb98066c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd82a05000500030003bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad000000000000000001f40000000000000000000000010000000000000000</span> +<span class="hljs-comment">// lnMsgHex: String = a71a000000000000000000000000000000000000000000000000000000000000000000fdd82efd0c7c00000000000003e8fda72046000ffda72638000401000000000000000000000001fd03e80000000000000000000001fd07d000000000000003e8000001fd7fff00000000000003e80000fda7240400010064fdd82cfd0c2400030005fdd824fd0265d3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e331b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96bfdd822fd01ff000faf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d2041c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d53371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1a7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4d79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9cfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1bf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101ed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7f8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b419400000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc08e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167bcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200fdd822fd01ff000f57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2acf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f95314f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631fea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0d4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10e143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206be5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b718164ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62dd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942ad02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c274607818092e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bdf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265ab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462df5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea383084bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141fdd822fd01ff000fe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267ab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29ee0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e3739514cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338cd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd20547be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6ad4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1beb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82d1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02651e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba7414230113512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cbe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95ffdd822fd01ff000f5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b413809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734e436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb6634488a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf4627140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5aa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839e9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b12a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936ec962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d2417bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5fcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de992200000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02653b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4d5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24cdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636fdd822fd01ff000f8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c08115461158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7ffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859dd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933b9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1bb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e666647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963aef0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174f6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee318810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409ee76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449eb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd82a0500050003000255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2000000000000000001f40000000000000000000000010000000000000000</span> <span class="hljs-keyword">val</span> lnMsg = <span class="hljs-type">LnMessageFactory</span>(<span class="hljs-type">DLCOfferTLV</span>).fromHex(lnMsgHex) -<span class="hljs-comment">// lnMsg: LnMessage[DLCOfferTLV] = LnMessage(DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(03bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0)))</span> +<span class="hljs-comment">// lnMsg: LnMessage[DLCOfferTLV] = LnMessage(DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(0255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0)))</span> lnMsg.tlv == offerTLV <span class="hljs-comment">// res16: Boolean = true</span> diff --git a/docs/next/core/dlc/index.html b/docs/next/core/dlc/index.html index c973fc5cb5..da09515c6c 100644 --- a/docs/next/core/dlc/index.html +++ b/docs/next/core/dlc/index.html @@ -191,7 +191,7 @@ multiOracleCETsWithRounding.length <span class="hljs-keyword">val</span> nonces = <span class="hljs-number">0.</span>until(<span class="hljs-number">15</span>).toVector.map(_ => <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey.schnorrNonce) <span class="hljs-type">OracleAnnouncementV0TLV</span>.dummyForKeys(oraclePrivKey, nonces) } -<span class="hljs-comment">// announcements: Vector[OracleAnnouncementTLV] = Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)))</span> +<span class="hljs-comment">// announcements: Vector[OracleAnnouncementTLV] = Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)))</span> <span class="hljs-keyword">val</span> oracleInfo = <span class="hljs-type">NumericMultiOracleInfo</span>( threshold = <span class="hljs-number">3</span>, announcements, @@ -199,19 +199,19 @@ multiOracleCETsWithRounding.length minFailExp = <span class="hljs-number">3</span>, maximizeCoverage = <span class="hljs-literal">false</span> ) -<span class="hljs-comment">// oracleInfo: NumericMultiOracleInfo = NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)</span> +<span class="hljs-comment">// oracleInfo: NumericMultiOracleInfo = NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)</span> <span class="hljs-keyword">val</span> contractInfo = <span class="hljs-type">ContractInfo</span>(totalCollateral, <span class="hljs-type">ContractOraclePair</span>.<span class="hljs-type">NumericPair</span>(descriptor, oracleInfo)) -<span class="hljs-comment">// contractInfo: ContractInfo = ContractInfo(1000 sats,NumericPair(NumericContractDescriptor(DLCPayoutCurve(Vector(OutcomePayoutEndpoint(0,0), OutcomePayoutEndpoint(1000,0), OutcomePayoutEndpoint(2000,1000), OutcomePayoutEndpoint(32767,1000))),15,RoundingIntervals(Vector(IntervalStart(0,100)))),NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)))</span> +<span class="hljs-comment">// contractInfo: ContractInfo = ContractInfo(1000 sats,NumericPair(NumericContractDescriptor(DLCPayoutCurve(Vector(OutcomePayoutEndpoint(0,0), OutcomePayoutEndpoint(1000,0), OutcomePayoutEndpoint(2000,1000), OutcomePayoutEndpoint(32767,1000))),15,RoundingIntervals(Vector(IntervalStart(0,100)))),NumericMultiOracleInfo(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),5,3,false)))</span> contractInfo.max <span class="hljs-comment">// res13: Satoshis = 1000 sats</span> contractInfo.allOutcomes.length <span class="hljs-comment">// res14: Int = 2870</span> <span class="hljs-keyword">val</span> signingOracles = oracleInfo.singleOracleInfos.take(<span class="hljs-number">3</span>) -<span class="hljs-comment">// signingOracles: Vector[NumericSingleOracleInfo] = Vector(NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))))</span> +<span class="hljs-comment">// signingOracles: Vector[NumericSingleOracleInfo] = Vector(NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))), NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))))</span> <span class="hljs-keyword">val</span> outcome = <span class="hljs-type">NumericOracleOutcome</span>(signingOracles.map((_, <span class="hljs-type">UnsignedNumericOutcome</span>(<span class="hljs-type">Vector</span>(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>))))) -<span class="hljs-comment">// outcome: NumericOracleOutcome = NumericOracleOutcome(Vector((NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0)))))</span> +<span class="hljs-comment">// outcome: NumericOracleOutcome = NumericOracleOutcome(Vector((NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0))), (NumericSingleOracleInfo(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),UnsignedNumericOutcome(Vector(0, 0, 0, 0, 0)))))</span> contractInfo.getPayouts(outcome) <span class="hljs-comment">// res15: (Satoshis, Satoshis) = (0 sats,1000 sats)</span> </code></pre> @@ -234,12 +234,12 @@ contractInfo.getPayouts(outcome) contractMaturityBound = <span class="hljs-type">BlockStamp</span>.<span class="hljs-type">BlockHeight</span>(<span class="hljs-number">0</span>), contractTimeout = <span class="hljs-type">BlockStamp</span>.<span class="hljs-type">BlockHeight</span>(<span class="hljs-number">0</span>) ) -<span class="hljs-comment">// offerTLV: DLCOfferTLV = DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(03bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0))</span> +<span class="hljs-comment">// offerTLV: DLCOfferTLV = DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(0255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0))</span> <span class="hljs-keyword">val</span> lnMsgHex = <span class="hljs-type">LnMessage</span>(offerTLV).hex -<span class="hljs-comment">// lnMsgHex: String = a71a000000000000000000000000000000000000000000000000000000000000000000fdd82efd0c7c00000000000003e8fda72046000ffda72638000401000000000000000000000001fd03e80000000000000000000001fd07d000000000000003e8000001fd7fff00000000000003e80000fda7240400010064fdd82cfd0c2400030005fdd824fd0265494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10e02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0fdd822fd01ff000fe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931aa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821dce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbef0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69dc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392ea0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b4689539671fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d7437f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e873b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d10858e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649b2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e7500000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75e9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3deb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cffdd822fd01ff000ff09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08f2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e2975587842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109ab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb349b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e1700267e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838e30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c780929f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bda564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd026597b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdbf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fcf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540fdd822fd01ff000f6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff209d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d26378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367a9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c0137700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c94994998ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603eee4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f43a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674f59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee42486e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c4400000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265c9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288c2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d956598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39fdd822fd01ff000f89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3bd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83ca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df06d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762dee9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874bf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b4271cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1f97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb78978bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f35100000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02653dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777a9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583f6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fefdd822fd01ff000f2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8bc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e504d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7afdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0a1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899de4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71deac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb98066c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd82a05000500030003bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad000000000000000001f40000000000000000000000010000000000000000</span> +<span class="hljs-comment">// lnMsgHex: String = a71a000000000000000000000000000000000000000000000000000000000000000000fdd82efd0c7c00000000000003e8fda72046000ffda72638000401000000000000000000000001fd03e80000000000000000000001fd07d000000000000003e8000001fd7fff00000000000003e80000fda7240400010064fdd82cfd0c2400030005fdd824fd0265d3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e331b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96bfdd822fd01ff000faf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d2041c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d53371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1a7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4d79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9cfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1bf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101ed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7f8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b419400000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc08e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167bcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200fdd822fd01ff000f57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2acf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f95314f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631fea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0d4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10e143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206be5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b718164ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62dd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942ad02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c274607818092e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bdf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd0265ab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462df5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea383084bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141fdd822fd01ff000fe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267ab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29ee0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e3739514cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338cd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd20547be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6ad4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1beb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82d1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02651e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba7414230113512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cbe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95ffdd822fd01ff000f5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b413809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734e436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb6634488a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf4627140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5aa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839e9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b12a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936ec962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d2417bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5fcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de992200000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd824fd02653b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4d5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24cdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636fdd822fd01ff000f8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c08115461158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7ffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859dd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933b9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1bb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e666647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963aef0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174f6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee318810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409ee76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449eb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e00000000fdd80a0f0002000564756d6d7900000000000f0564756d6d79fdd82a0500050003000255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2000000000000000001f40000000000000000000000010000000000000000</span> <span class="hljs-keyword">val</span> lnMsg = <span class="hljs-type">LnMessageFactory</span>(<span class="hljs-type">DLCOfferTLV</span>).fromHex(lnMsgHex) -<span class="hljs-comment">// lnMsg: LnMessage[DLCOfferTLV] = LnMessage(DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x494069f9c488c1e80017fde57081da16f2bc9829f76b38c2c0a7a65a4ce03b10)),FieldElement(ByteVector(32 bytes, 0xe02c48434e67cf327f50e0b0808c459ce8716483abc7e7d37ec0f90a91da1136))),SchnorrPublicKey(ByteVector(32 bytes, 0x248869c5594f858df9fc8c86dfbbcd3b1c6d51b8c6fdb5314549772993c69fc0)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe351ab847a64747ab5f4391753f2864b6c0f2a0d614e177fee33a5fb9f02765d)), SchnorrNonce(ByteVector(32 bytes, 0x5ab52b3c13037b05c7835f7d47c59a6ca80deef38be913be0d8f236ecb83931a)), SchnorrNonce(ByteVector(32 bytes, 0xa543eeda0ad9141e233dbf73fd4fa8e953dd6e066fecab929af5c9264dce821d)), SchnorrNonce(ByteVector(32 bytes, 0xce17a338b49651b2bc06cbe9488b7ac1d4c638fb1e2c1b6f92f1a6c2aed1ecbe)), SchnorrNonce(ByteVector(32 bytes, 0xf0fb4c6c8fe032031d024a00f0546b9574761ab03f0cc228cc6a6cf926efe69d)), SchnorrNonce(ByteVector(32 bytes, 0xc7c5c505fe8d3d745173ae6c33adc139a2928706fb4435dad97332efb731392e)), SchnorrNonce(ByteVector(32 bytes, 0xa0ba65f4a8e24c28cf10440fd99a69db1367b10d27a6818a4c89ab6d31e644cb)), SchnorrNonce(ByteVector(32 bytes, 0x585b498290224e3ed09989182565fe61f20b463c5bf306d3968b55b468953967)), SchnorrNonce(ByteVector(32 bytes, 0x1fd99a73a7ec38a3a330bf6a77840dd0d51141c3252847660aa801bda070d743)), SchnorrNonce(ByteVector(32 bytes, 0x7f99c5d290515bafb6776ba4cdd49c02b7b1e48c374aab8025801e9cdbb60f3b)), SchnorrNonce(ByteVector(32 bytes, 0x81b8df35c9792b6ace93dffb9891ee68b18864b49dd6270c0f33634e187335e8)), SchnorrNonce(ByteVector(32 bytes, 0x73b32b61dc0f99c94b8c81ffb8470b48313b1d5f599bdc5484090a72d86d1085)), SchnorrNonce(ByteVector(32 bytes, 0x8e5ccb72a2881445c49a574cf76e71ca8ef78edc9ead27e4fb8544b668133649)), SchnorrNonce(ByteVector(32 bytes, 0xb2df4608ef930d5500e2a9d3c6214223344eba1768b7efe8cc550a3a48fbfeac)), SchnorrNonce(ByteVector(32 bytes, 0x7e4b7575cd91a85f141486ff36bb0b1ee18f4a02e872ff96fcafcbe120ee6e75))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x169be8a1df72f4da0910c66824a647179101d6e8e18ca4e1917149f0cdd23d75)),FieldElement(ByteVector(32 bytes, 0xe9fda53f96f5787f08058d0a12bdfcac58c9e50b30471dc84a3d4d90eeb604a3))),SchnorrPublicKey(ByteVector(32 bytes, 0xdeb8083d21addbe497a7af3da4da0034ab345eefae32347c2cba39dc997608cf)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xf09e57cfe07c19caa641169000b99f954320955b9484f8d47e1162a9a7377b08)), SchnorrNonce(ByteVector(32 bytes, 0xf2362496aeea6cbaaa7f798626bc880ca2925d46c39055ae880425e41e297558)), SchnorrNonce(ByteVector(32 bytes, 0x7842a8b2378c4a05b8ff9d27325d7961c3af0dd65f5ababa098a5e6636825f1f)), SchnorrNonce(ByteVector(32 bytes, 0x7e87d13d414b9af75066fa99e8e9df8716c0010248f85155f5f24865ff6a67bf)), SchnorrNonce(ByteVector(32 bytes, 0x6cc6cc505b5a4f959982d21197a569d56c0fcc3439c5a56dc934e1a4ad82fef2)), SchnorrNonce(ByteVector(32 bytes, 0x888f3c88c03c1f1fae6dad98457ce5e772890a7f343d4529514c50aeca4e361f)), SchnorrNonce(ByteVector(32 bytes, 0x89c6a97778bf549954cf31a82cd7fec00a04398de0df5fdbdfbfea933c136109)), SchnorrNonce(ByteVector(32 bytes, 0xab791e6620596026071ff7c258de50b0587cc262d9758c897c1943bff8dc3fb3)), SchnorrNonce(ByteVector(32 bytes, 0x49b9a1e1777152e62216e98fae2a2f59a17e98687e9921784b637960d3e17002)), SchnorrNonce(ByteVector(32 bytes, 0x67e30b4a2b97f3fc18bc93361c937f7c6d0dcbd5c34f0f5c4db7f14c600a2838)), SchnorrNonce(ByteVector(32 bytes, 0xe30e550f9f511024de10714256cf087c7945146e9b184f5539776cfaf947c4a8)), SchnorrNonce(ByteVector(32 bytes, 0x871d05b8ee421a00f35757185db0fc6824c644e2b85484d31bc6d9ca874c7809)), SchnorrNonce(ByteVector(32 bytes, 0x29f1bc0b87482258d550d5ab8e9da2002827408c61eb3d1103a6dec3d6cd0d0b)), SchnorrNonce(ByteVector(32 bytes, 0x817805a4194c069c2d34825bfe6577cc30836b2734d044ece421e8ed4f2051bd)), SchnorrNonce(ByteVector(32 bytes, 0xa564a5bb9f9a3557c85ce0bfb11dd411453640140b560b2533b0ff7d89c4b7ae))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x97b6266068dd80b4b2a232774349ea78eeca1a24a87679c124ccb3975eececdb)),FieldElement(ByteVector(32 bytes, 0xf9a0949f43e0d436e5af9988658728bb64b08f04aed49da88f34636dcec710fc))),SchnorrPublicKey(ByteVector(32 bytes, 0xf7cb0a064e092a8d8390057e439784e9d71865c1ee7387e145d9400057786540)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x6eedcf1218f6263e90f00e4d953593351b95185eafbd0643aadb537a2bb5224b)), SchnorrNonce(ByteVector(32 bytes, 0x1dc5ad31c29de34b5ad65af4fef2d7ed7c60e333bc1c778ec1ebe6059dc1d71c)), SchnorrNonce(ByteVector(32 bytes, 0x4ef725e9991f715c379124d86606caed9d01410ebe63748e4f74d9060efb0ff2)), SchnorrNonce(ByteVector(32 bytes, 0x09d8fb7b8b0c1ca0d8257c3e4109825ae62f0253b8e8d03e59a36322c694cf9d)), SchnorrNonce(ByteVector(32 bytes, 0x0213276f9feaa7a5cea6ce1168598b31c8eae74820fc24b810f000b4757cd8d2)), SchnorrNonce(ByteVector(32 bytes, 0x6378ab5146aba9b234a796dd4ce28c52e7e676d96c88501b4c77b2f718d5a367)), SchnorrNonce(ByteVector(32 bytes, 0xa9a1f2dd5a4ba560c7ce9398f9627b64e77416e0dfdcdc413d90d1561716c013)), SchnorrNonce(ByteVector(32 bytes, 0x7700bf7edd1e73bdde9fc453f53dc2e6fa0682531997ca7b57b10ba05723127f)), SchnorrNonce(ByteVector(32 bytes, 0x8932fd1657571e1646eeae88bdbf3564fd69948c5ccb39edf7f9bb67c9499499)), SchnorrNonce(ByteVector(32 bytes, 0x8ff01f5603b48595dd0aac3cf43c51dbfb6fe5e53cdecc702d45a8b4ce57832b)), SchnorrNonce(ByteVector(32 bytes, 0x6885c4b2c9def7aea28414892e388145366116492ad0a47cb4d357fb5f2603ee)), SchnorrNonce(ByteVector(32 bytes, 0xe4441cb94d233749375756dbc62d8489d2dd001e906cc95433a94f1cbebcc7f4)), SchnorrNonce(ByteVector(32 bytes, 0x3a81bbf108d4973985dcbff9eb24886bdd7c3fcd6d5d768b568dc6c6ca941674)), SchnorrNonce(ByteVector(32 bytes, 0xf59f28c6f02a63c8ebcd457eba0dc42911f5a0a47f82e349f089511b212ee424)), SchnorrNonce(ByteVector(32 bytes, 0x86e145e30949a9ef647aed9a41569f7a5c38999887dad0f6ce9e25323bfe3c44))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xc9afa4b133a9f19f85d66b0686b5075e32e55d8c1a9d794467b416d5f697b288)),FieldElement(ByteVector(32 bytes, 0xc2f4c0c29a8b01a4f242e4a176b5e5ebb625925ef8729684dfe209db8acd8d95))),SchnorrPublicKey(ByteVector(32 bytes, 0x6598b6825e9d2215b7380b28e8e4f1451b8143168482ef54e9859179d183fd39)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x89560f547abf3ed286e4c42073e3374a7cc38fdda6e63878eefc109422fdedc3)), SchnorrNonce(ByteVector(32 bytes, 0xbd231db9032c4fe7f3928ecef178fa8adc8b985126e02119485155f7403c541f)), SchnorrNonce(ByteVector(32 bytes, 0x4f7b5fab487381331d97d15d4b8cd6d0f134e2f79e78ee98e825bb402fccbf29)), SchnorrNonce(ByteVector(32 bytes, 0x019b40a4d65491ea879c275ba424a786f92cd2c9793a50d9a7713f553b5a6d83)), SchnorrNonce(ByteVector(32 bytes, 0xca1f2ef3130f5b09462de5d2261ae0723c4d9e8b5e0e38f25d1573cc27514ff9)), SchnorrNonce(ByteVector(32 bytes, 0x012c904d38ea98b191ea8255b45c32c09f896677b083fbd5de54198a44421df0)), SchnorrNonce(ByteVector(32 bytes, 0x6d4645b996f5c47a5e2ba53b761bd0c9cb2aed4881ab88733eed6ed2fc2762de)), SchnorrNonce(ByteVector(32 bytes, 0xe9c9b3f2191df9c1670e2864e03bc1b189a990322e04623dcad9b1ba2686c874)), SchnorrNonce(ByteVector(32 bytes, 0xbf1d61f7bf938cca04b259aeab5616198b66c08e60479cef69f75f9144edc3bb)), SchnorrNonce(ByteVector(32 bytes, 0x05c33c3e3be84125c8e401383ceb83066396068b92ba23d1c71a4d649f8e5b42)), SchnorrNonce(ByteVector(32 bytes, 0x71cbbf279da0d8ac67f13e74ab41e13db9fbb9eac73d1e49d90fa22e4370e0b1)), SchnorrNonce(ByteVector(32 bytes, 0xf97aea844d364befa9d76ab940018700ad36096977ea062c42a3fc6db1cb7897)), SchnorrNonce(ByteVector(32 bytes, 0x8bad800f3ae9b62b6b5e3ef8ca88915d38f2cd163325c317f82d3fe51c58c4ee)), SchnorrNonce(ByteVector(32 bytes, 0x48a4b4bb04b4a2eec98632797ef6e4903ace7156503a2644c4f421095a6f17cd)), SchnorrNonce(ByteVector(32 bytes, 0x2bff98ac885fcdbcd21ed69f06c64e0694286bec8c499dbb5bf73b79c915f351))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3dfa0bdd3fcd61e8c1a01c69c6f43a18bac4e4abaa55d0109eaa93a9b24c8777)),FieldElement(ByteVector(32 bytes, 0xa9f16c49dbca9a5aa3dfb9911aee5dfcaf7eb6978acc134f56f59e881ef43583))),SchnorrPublicKey(ByteVector(32 bytes, 0xf6fe423a39e31b6ffe6a2366df2ab7383c20e5c7cfbb0994b1e07e33010bc9fe)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x2dd313c8397391327c8c1e9cbdb299c53998e044c0b8028f1d879c4bb9c759e4)), SchnorrNonce(ByteVector(32 bytes, 0x259d982df4725871033fe099213692a3149829e9a817d474265ad2a46a35f5d8)), SchnorrNonce(ByteVector(32 bytes, 0xbc13f51fda182c9a398d7ec8d8b49102b18064f25624e408c7efe8e9fe605e7f)), SchnorrNonce(ByteVector(32 bytes, 0x00a40f2c68c630d41a88f4e3a5f4608e55e4e3d12e27e61a1c653af6be58c27e)), SchnorrNonce(ByteVector(32 bytes, 0x24deabdbffca973a8182cc2e41fab6d2b5de1c59748459b66a7bb19df1b5a44c)), SchnorrNonce(ByteVector(32 bytes, 0x74517d0241457eb38ee17ebdfc5d691bc3c00c19bb791e511517c6def4248e50)), SchnorrNonce(ByteVector(32 bytes, 0x4d4081f99af41b701b856d98e638895f4f9709549c8cb32ab588a06669e95c7a)), SchnorrNonce(ByteVector(32 bytes, 0xfdc9395778c3cde5ef6f4965bbcb95ed7f824aa0c39d79324da2ec19db78022b)), SchnorrNonce(ByteVector(32 bytes, 0x87f0d628a9b8045d5bf619219e8c01287778b07327094ac5495277ec0db4a9a0)), SchnorrNonce(ByteVector(32 bytes, 0xa1a67e9cd577e9d02f30cb046110681b2374c864a83f54755d207bf294b5899d)), SchnorrNonce(ByteVector(32 bytes, 0xe4831efdde37de9600326fee304b8fb705e4e01020154dc6751acec9dc06f22d)), SchnorrNonce(ByteVector(32 bytes, 0x7539d12ab161fdde62e351fecca48fac7aa94926884ee2cd81930cf97ddd688a)), SchnorrNonce(ByteVector(32 bytes, 0x450cc5fb18723533dc868189cb9ef2eaed1983e81e9128c0499b6df11a0fea71)), SchnorrNonce(ByteVector(32 bytes, 0xdeac4c405f24a7485830316131dac5fc4e2c2d8f468db9d378db49d81fbeb980)), SchnorrNonce(ByteVector(32 bytes, 0x66c97fc2b76ce227060f1863c8ebd67c04043e1e9901d936a351be7dab2df81a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(03bee19b0513d77ef0632602e620623f8f12e889827738d287a8635e5528fce9ad),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0)))</span> +<span class="hljs-comment">// lnMsg: LnMessage[DLCOfferTLV] = LnMessage(DLCOfferTLV(0,DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000),ContractInfoV0TLV(1000 sats,ContractDescriptorV1TLV(15,PayoutFunctionV0TLV(Vector(TLVPoint(0,0 sats,0,true), TLVPoint(1000,0 sats,0,true), TLVPoint(2000,1000 sats,0,true), TLVPoint(32767,1000 sats,0,true))),RoundingIntervalsV0TLV(Vector((0,100 sats)))),OracleInfoV2TLV(3,Vector(OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xd3b67689ec12427da3845e7fd7980de33d53eed511f28c00f79c2e4567ce2b2f)),FieldElement(ByteVector(32 bytes, 0x5c7e4ba8a6ea9ba97d7eb6d8df27061b5f5e0cb470f2f0f9f39931777c5ba8e3))),SchnorrPublicKey(ByteVector(32 bytes, 0x31b5d08f668f86516aa8153efb7559f58be06236ffedcaa85d4c0c8f5ff7a96b)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xaf14cdc42d1bca3581212faeddd4e52a86d794d8cd7b2b1961cc0e7908c8d204)), SchnorrNonce(ByteVector(32 bytes, 0x1c9058b02b642f7444540ed3cba5011ae6d92b57b72f5831f938ec4c9e7bc0ce)), SchnorrNonce(ByteVector(32 bytes, 0x290d8fab42e69db70e86069b210a6e0c7a978932a87d24cdc5746527ddba50d5)), SchnorrNonce(ByteVector(32 bytes, 0x3371a500dc2b837956910c44fcd5cfd75dde488466d802c34ade50833fe4d77b)), SchnorrNonce(ByteVector(32 bytes, 0x708254285226f6bcef0fb810ac2b274d092d1abff5675d5414dd4e4a0abeafcb)), SchnorrNonce(ByteVector(32 bytes, 0x8d6ad2a9a9332fc23ac729688d0706fd1b0f869bcb84c45c4fe6945893d31ca1)), SchnorrNonce(ByteVector(32 bytes, 0xa7ff860493396d07044a61e6120b616611fc0ab9044b2deb148fa6c447523fc6)), SchnorrNonce(ByteVector(32 bytes, 0x841f81a19d248a6b1ef039d7fe91c93950b6fb0f1009256573c42aab9f96e1e4)), SchnorrNonce(ByteVector(32 bytes, 0x732eac20a196eceec67fc7c2790c22c313009766ad6e86266e40afac0205e3f4)), SchnorrNonce(ByteVector(32 bytes, 0xd79be538478e6c8bf1c6c912e6f0e00be10483e41f421f4d38792bf2dc82a1e9)), SchnorrNonce(ByteVector(32 bytes, 0xcfec339fe297081da2263c7f3f49c660f355607e67215dc6bda617200f8c12a1)), SchnorrNonce(ByteVector(32 bytes, 0xbf6ce5477aafc6edbe91aa8653b5dec89d94596fe2720d29d17da54b081ed101)), SchnorrNonce(ByteVector(32 bytes, 0xed85a26e23fef76524393d0e975dfce143579624961840395fc58aee477eecd7)), SchnorrNonce(ByteVector(32 bytes, 0xf8a0c2bbaae55f05e35c75d5c79b54d70b55909e1cd0fa74cbdb8994c5872b9d)), SchnorrNonce(ByteVector(32 bytes, 0x609ea5547a0d48d2e69d13e4efd7b4b7df5758d6d64f9923454c677f7e4b4194))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x513a15be2f4ec53b9ead52dd20302109311884ad03081b3d748234efa571dbc0)),FieldElement(ByteVector(32 bytes, 0x8e84f481f203aae90d0766dad65b3cab724643ec4a7df98a061938d850bc0167))),SchnorrPublicKey(ByteVector(32 bytes, 0xbcdf6088369ecf4b92c6e43007670402c2b4f65df187401a81fb7e6460e3d200)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x57d1c50494f2d68463f5c0240554b54ecd41fbf562e03de810750452f884f2ac)), SchnorrNonce(ByteVector(32 bytes, 0xf61b731bd9a40d21fc50aa5abdfdd729da0f1cdf2e2257da56491d7165b4929e)), SchnorrNonce(ByteVector(32 bytes, 0x9ad60f61cd55d56327e5f3dde61ec8589ac2d0d74eba009e6db292b169c0f953)), SchnorrNonce(ByteVector(32 bytes, 0x14f8361c7f0fa2b2d5d4f46ebe0dc36f4fa46d04057dfbc4d4813948b7a1a631)), SchnorrNonce(ByteVector(32 bytes, 0xfea93324deb0402251f7b91556bf427cd34862217d7c64a6c29b0fd294134da0)), SchnorrNonce(ByteVector(32 bytes, 0xd4004f633944bd0211fb48e8f3f7975fc1ad5f2b8c695369d0fc5cc420349a10)), SchnorrNonce(ByteVector(32 bytes, 0xe143a474cc64acaa7935bf026678fcf20211981de0dc38096e5531a221318206)), SchnorrNonce(ByteVector(32 bytes, 0xbe5f2d1aa9a0f021c906daa7f1da6101b451b917d632fc9d44a871845b0b7181)), SchnorrNonce(ByteVector(32 bytes, 0x64ec86e7ac96ba11d853901c04d631e05b1b5798499fbc73104ed16ed9efce5e)), SchnorrNonce(ByteVector(32 bytes, 0x8b7044fcac0c2da948fc6e8e0a8ceb61c2c0e7d63a4a46bd3f64272d8b473a62)), SchnorrNonce(ByteVector(32 bytes, 0xdd3bb1732da9a6fef6f5877568983554c9f8a73d59ff23a7ee89a9941c27942a)), SchnorrNonce(ByteVector(32 bytes, 0xd02129a396de43cea4ccc0fa431317d0ec1926fca405563a0562291cf116c52b)), SchnorrNonce(ByteVector(32 bytes, 0x0e2a3d64fedda483a06a60988797a3cb3fc05442aaf519c319460c2746078180)), SchnorrNonce(ByteVector(32 bytes, 0x92e27b1ca66de8c59eaf4263e9821020df584d167f4e6f7c848945ef9be544bd)), SchnorrNonce(ByteVector(32 bytes, 0xf88002d8e93c355243cf780620481028177559988721679793eb3c565f535b7d))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0xab0c948dbd2fcaf7b77a15307a6bfd74976f6bd123ff83572053578b5b15462d)),FieldElement(ByteVector(32 bytes, 0xf5ed680e5531f650428b45c40c3d7914c4e617200a742046ff0e8c17cea38308))),SchnorrPublicKey(ByteVector(32 bytes, 0x4bcec7f21751f0cd6b7f24c2a8d5af2697eb33dc775751429c681e2a4d790141)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0xe9b9cfcab4109ad67132e70f38d77a96970ea2f2fb51f0d48e9936fd21acc267)), SchnorrNonce(ByteVector(32 bytes, 0xab65cec1602324ffc6d0dd9eaba8a9c7113c5bf4c3d2345ea82ff82d0d6ef29e)), SchnorrNonce(ByteVector(32 bytes, 0xe0cbb566fc08233bf8dd6a8a64ed6f60a565b56ad52c593ef93a15ff8b880f9d)), SchnorrNonce(ByteVector(32 bytes, 0x1b2076ab336cb312d3674e4b3d20615ae165034785aa5b685edf5886ceb3b961)), SchnorrNonce(ByteVector(32 bytes, 0x742bbc22ed48b505c25e96223e321c5f44179788d232db9f40f0d00f2e373951)), SchnorrNonce(ByteVector(32 bytes, 0x4cbb7cfeacbec425e1d90c0dac5067d82dfc3530e8393ea310c0b7ffcb8a338c)), SchnorrNonce(ByteVector(32 bytes, 0xd0e0d962d86c9ab6f09014298225128988ad2e3a71d9c003fbcfbc8a06eec619)), SchnorrNonce(ByteVector(32 bytes, 0x024884fb8dc232e7fb3a950fab1fa7c2660576d70861084cb6814f15f2f1b3bd)), SchnorrNonce(ByteVector(32 bytes, 0x5bb38998d15f9150fc20c14a47518d6fc950417112d47183042dc0f77f1dd205)), SchnorrNonce(ByteVector(32 bytes, 0x47be966d8ec48c7a812ec1b85591a7e21a038756386bae4ca4dc0028ec29ef6a)), SchnorrNonce(ByteVector(32 bytes, 0xd4993a6ef0571240e15bdec0482f6bea4cade0cc1f117230043767a50c976bcd)), SchnorrNonce(ByteVector(32 bytes, 0x8520447c6c5d887f68e5431bc2d32a2a6505c65f2ebcf80fa774b95f90e06a1b)), SchnorrNonce(ByteVector(32 bytes, 0xeb71c6791fa58144c61454035279e4ede63e34e764542b75c3495531a3255357)), SchnorrNonce(ByteVector(32 bytes, 0x751a98beb7da963a6ecb44b3ab875e4d92500bd71ae4fc86517ca260b817fe82)), SchnorrNonce(ByteVector(32 bytes, 0xd1dd70bfb892b78bea33e09d2b3c260980e4fe9a77eda4eacc7dc76a0902bd2a))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x1e7fb9e7b0ab725ff38a3b584665f0f22b3f7b22fecded73557ffba741423011)),FieldElement(ByteVector(32 bytes, 0x3512275015bea1cfd4f9c881cf9e758bc13ee08378d6edc46d8a2157ccced7cb))),SchnorrPublicKey(ByteVector(32 bytes, 0xe79c38c8ef52cf3d50d6047f5a067e0ec54a990bc3e32020d3e882243465c95f)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x5cf1256c0d64456d0b189231a4df2d45b317d2d57fe1e6e433ef41e8c9a1a5b4)), SchnorrNonce(ByteVector(32 bytes, 0x13809a2396651d686dabdd9be7890140e012c7030c221b667b45af518fec6734)), SchnorrNonce(ByteVector(32 bytes, 0xe436af4bd3d101e563a028f8ab7a89e47db16ed11f6e3cc50711fe17bcb66344)), SchnorrNonce(ByteVector(32 bytes, 0x88a66c5864fe36ef4b87edf79f18b79d4807c777f2d3a10ad790d1b94a6cf462)), SchnorrNonce(ByteVector(32 bytes, 0x7140cdf79ddfab4e39220ba5ed87afe44b867f6c4206bc0a15de9a47b08397a5)), SchnorrNonce(ByteVector(32 bytes, 0xaa524c958dcbd1d24412eee28c8409da5200b0bd58cf58b8d45b25d94f84b5be)), SchnorrNonce(ByteVector(32 bytes, 0x86a2ccd866e3ccce0d19b49e45aec6535fc54e5e95758b4aadccc7f4c0026839)), SchnorrNonce(ByteVector(32 bytes, 0xe9979cde9cf8e0b614e2d4049f16568ba6887895233f5e548eb71f9d624ec9e0)), SchnorrNonce(ByteVector(32 bytes, 0x824eec694b6a942c4a223a44626dd52f1ecfaf8a0be932ed933140ce649dc63e)), SchnorrNonce(ByteVector(32 bytes, 0x5a1de5018c55d2c3698ccc01b6cff80efb50be232ad240d8cd7e2f10d74037b1)), SchnorrNonce(ByteVector(32 bytes, 0x2a0c4afcb13354272fe9cdb2e0d9d39aaf02f9f789d56f3f7489ad219825936e)), SchnorrNonce(ByteVector(32 bytes, 0xc962ce03e8b3a24137a8a52b5f318ddeae2af951ff8323fa9a53aaa34a0c4d24)), SchnorrNonce(ByteVector(32 bytes, 0x17bdc030e626ea3d3886d5562801c5b7ad88ab268f40229c70897313127a9399)), SchnorrNonce(ByteVector(32 bytes, 0x956074a0b0ae084dc940bcbaecb8ab9b9b40cf999c537773cf67aac0af771ba5)), SchnorrNonce(ByteVector(32 bytes, 0xfcf21546ac295385625659819fb5804ae2af934a792869bcf19168bff8de9922))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy)), OracleAnnouncementV0TLV(SchnorrDigitalSignature(SchnorrNonce(ByteVector(32 bytes, 0x3b3c783743b44a61e6f1b66d322f27e27eba9d6569fb1c3f985f839ca2bf16b4)),FieldElement(ByteVector(32 bytes, 0xd5d174bb772641c568efcd4b359a3d33293efb595494ffc4fa7907bbffd4fa24))),SchnorrPublicKey(ByteVector(32 bytes, 0xcdc99f3d7f7181c7eb4061a9f52f53b1c48e100702b82d9632cac01a86fd4636)),OracleEventV0TLV(Vector(SchnorrNonce(ByteVector(32 bytes, 0x8f3b8da7a041fddd6269913f8e7f4fb6ded3a6afa5351908c19328a92c081154)), SchnorrNonce(ByteVector(32 bytes, 0x61158b3661f6f4ba453ac1b9466b9bf77c237ebbf8cd2594f8541397a3f599e7)), SchnorrNonce(ByteVector(32 bytes, 0xffc45837ab24d113584d53d72020fea73e1a0e492946e4c5c853ea4b8300859d)), SchnorrNonce(ByteVector(32 bytes, 0xd6fbe6af2079af051b7cb92d5bd8f6504bd621eace23656a1b015b5edb66e4aa)), SchnorrNonce(ByteVector(32 bytes, 0x7181937f5ad20189145f3e116b03cf1d803b53bd05296a9395b2983af73fc933)), SchnorrNonce(ByteVector(32 bytes, 0xb9600fd431d7c49b417cb51a7849eaf9b9df86b22aef8b96456c099090f00d1b)), SchnorrNonce(ByteVector(32 bytes, 0xb809950b8ae32bb9342c2a960e5c2237ef25c92198318280b58dc4eb70a3facf)), SchnorrNonce(ByteVector(32 bytes, 0x16691c8ea227eac5f7c28df360da5915329c18c4ed5588946da69ff88f2b7e66)), SchnorrNonce(ByteVector(32 bytes, 0x6647d1ef644bb4fb3a111b39a4ec86d271fa44d4de3fb02b1158c065f4e963ae)), SchnorrNonce(ByteVector(32 bytes, 0xf0ab050d33e3f903723ec4388b7cf4522abc636aa7c11c60b253264cf7fea174)), SchnorrNonce(ByteVector(32 bytes, 0xf6fb94a48579d0873c5f3822a6be3bae508fea00796de6801b6524e86d8d27ae)), SchnorrNonce(ByteVector(32 bytes, 0x6f1736ff51a79e5ecd5b4d910fd32c2d39be478a4aff5276b1c94c62d4244ee3)), SchnorrNonce(ByteVector(32 bytes, 0x18810c2bbb9d8e8c5eb5aafdc80790c7039f54f51228bd0df77c280e6b80409e)), SchnorrNonce(ByteVector(32 bytes, 0xe76dc94330e87e01407bfec388bc9042c86923cb010d141ec230f065d380f449)), SchnorrNonce(ByteVector(32 bytes, 0xeb87a9c0aa8a3e8f713c26e528e18234e3edef3bd81b851739ed3ae62aa52d6e))),UInt32Impl(0),UnsignedDigitDecompositionEventDescriptor(UInt16Impl(2),UInt16Impl(15),dummy,Int32Impl(0)),dummy))),OracleParamsV0TLV(5,3,false))),ECPublicKey(0255a28c0a0a691a9d42ab049bd3964fe4835cd61e1da4f77a9663672cdc2b25f2),EmptyScriptPubKey,500 sats,Vector(),EmptyScriptPubKey,1 sats/vbyte,BlockHeight(0),BlockHeight(0)))</span> lnMsg.tlv == offerTLV <span class="hljs-comment">// res16: Boolean = true</span> diff --git a/docs/next/core/hd-keys.html b/docs/next/core/hd-keys.html index ac8d63de16..e48e1f8fa0 100644 --- a/docs/next/core/hd-keys.html +++ b/docs/next/core/hd-keys.html @@ -86,13 +86,13 @@ use that to generate further private and public keys:</p> <span class="hljs-comment">// how long our phrase ends up being</span> <span class="hljs-comment">// 256 bits of entropy results in 24 words</span> <span class="hljs-keyword">val</span> entropy: <span class="hljs-type">BitVector</span> = <span class="hljs-type">MnemonicCode</span>.getEntropy256Bits -<span class="hljs-comment">// entropy: BitVector = BitVector(256 bits, 0x30b1eca493d4079eb5b85483d42ee5c5688b611d00bda74ebe9fb838f5b370f7)</span> +<span class="hljs-comment">// entropy: BitVector = BitVector(256 bits, 0x909e8fcc1d178b1ec4a14c79dc539d7738a478fd2d574af67d89bec76fbe90b0)</span> <span class="hljs-keyword">val</span> mnemonicCode = <span class="hljs-type">MnemonicCode</span>.fromEntropy(entropy) <span class="hljs-comment">// mnemonicCode: MnemonicCode = Masked(MnemonicCodeImpl)</span> mnemonicCode.words <span class="hljs-comment">// the phrase the user should write down</span> -<span class="hljs-comment">// res0: Vector[String] = Vector(cost, month, circle, chicken, document, soon, street, appear, long, pause, ride, member, master, rack, inject, bless, point, invest, pony, idea, monster, super, sense, valid) // the phrase the user should write down</span> +<span class="hljs-comment">// res0: Vector[String] = Vector(mountain, virtual, vessel, demand, judge, month, barely, civil, keep, tip, trap, unveil, medal, detect, visa, priority, enough, recycle, give, laugh, ivory, tent, drift, boat) // the phrase the user should write down</span> <span class="hljs-comment">// the password argument is an optional, extra security</span> <span class="hljs-comment">// measure. all MnemonicCode instances will give you a</span> @@ -108,7 +108,7 @@ mnemonicCode.words <span class="hljs-comment">// the phrase the user should writ bip39Seed) <span class="hljs-comment">// xpriv: ExtPrivateKey = Masked(ExtPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> xpub = xpriv.extPublicKey -<span class="hljs-comment">// xpub: ExtPublicKey = zpub6jftahH18ngZxths52w3bDsP4AgL3ER5TpXHbAoZZGa5hAB5mRC4Duxyf1TsRVMpVxPSSyiKpUfDE4YNzXTAooHA5qQBRND3gQzvEhMjj94</span> +<span class="hljs-comment">// xpub: ExtPublicKey = zpub6jftahH18ngZwnvbiZg653pJpUPcJWop1qsUYBYLHJwtSYCKkGTBQvbRiHAZD72F1Lfh9m1BMUQSm14fXwDeDjXwgxzURYpGchM1fccK4N7</span> <span class="hljs-comment">// you can now use the generated xpriv to derive further</span> <span class="hljs-comment">// private or public keys</span> @@ -154,7 +154,7 @@ spend or steal any of your money.</p> <span class="hljs-comment">// can generate addresses with it!</span> accountXpriv.extPublicKey } -<span class="hljs-comment">// accountXpub: ExtPublicKey = zpub6rDfUeMvbrd8BpEdqYccigAujz733VjFHMudRMZ9fnEf9FBYW3bc5K78XUySqWmNuRr6fwRMjtwJAyWoDyBcBwTYgnkBWaw19qfLL85hPpb</span> +<span class="hljs-comment">// accountXpub: ExtPublicKey = zpub6qr3dRWJfRBZF6QcsA9MKXpjK85tUCEf5pXxMoGJ5AsxK8UXBSJkQGyovRzy8evQCLuTkB7Witi7UH9xrKJqmSJA3SVREAQyEvxG4LyMyKD</span> <span class="hljs-comment">// address no. 0 ---------------┐</span> <span class="hljs-comment">// external address ----------┐ |</span> @@ -177,12 +177,12 @@ spend or steal any of your money.</p> <span class="hljs-keyword">val</span> scriptPubKey = <span class="hljs-type">P2WPKHWitnessSPKV0</span>(pubkey) <span class="hljs-type">Bech32Address</span>(scriptPubKey, <span class="hljs-type">TestNet3</span>) } -<span class="hljs-comment">// firstAccountAddress: Bech32Address = tb1qfrlx94dyvup0yeyz2vvj9q2wwlvt2m0ddku5z5</span> +<span class="hljs-comment">// firstAccountAddress: Bech32Address = tb1quna7vw7k2j4yxljp49hq4wn2as8gdfsumtzv25</span> <span class="hljs-comment">// tada! We just generated an address you can send money to,</span> <span class="hljs-comment">// without having access to the private key!</span> firstAccountAddress.value -<span class="hljs-comment">// res2: String = tb1qfrlx94dyvup0yeyz2vvj9q2wwlvt2m0ddku5z5</span> +<span class="hljs-comment">// res2: String = tb1quna7vw7k2j4yxljp49hq4wn2as8gdfsumtzv25</span> <span class="hljs-comment">// you can now continue deriving addresses from the same public</span> <span class="hljs-comment">// key, by imitating what we did above. To get the next</span> diff --git a/docs/next/core/hd-keys/index.html b/docs/next/core/hd-keys/index.html index ac8d63de16..e48e1f8fa0 100644 --- a/docs/next/core/hd-keys/index.html +++ b/docs/next/core/hd-keys/index.html @@ -86,13 +86,13 @@ use that to generate further private and public keys:</p> <span class="hljs-comment">// how long our phrase ends up being</span> <span class="hljs-comment">// 256 bits of entropy results in 24 words</span> <span class="hljs-keyword">val</span> entropy: <span class="hljs-type">BitVector</span> = <span class="hljs-type">MnemonicCode</span>.getEntropy256Bits -<span class="hljs-comment">// entropy: BitVector = BitVector(256 bits, 0x30b1eca493d4079eb5b85483d42ee5c5688b611d00bda74ebe9fb838f5b370f7)</span> +<span class="hljs-comment">// entropy: BitVector = BitVector(256 bits, 0x909e8fcc1d178b1ec4a14c79dc539d7738a478fd2d574af67d89bec76fbe90b0)</span> <span class="hljs-keyword">val</span> mnemonicCode = <span class="hljs-type">MnemonicCode</span>.fromEntropy(entropy) <span class="hljs-comment">// mnemonicCode: MnemonicCode = Masked(MnemonicCodeImpl)</span> mnemonicCode.words <span class="hljs-comment">// the phrase the user should write down</span> -<span class="hljs-comment">// res0: Vector[String] = Vector(cost, month, circle, chicken, document, soon, street, appear, long, pause, ride, member, master, rack, inject, bless, point, invest, pony, idea, monster, super, sense, valid) // the phrase the user should write down</span> +<span class="hljs-comment">// res0: Vector[String] = Vector(mountain, virtual, vessel, demand, judge, month, barely, civil, keep, tip, trap, unveil, medal, detect, visa, priority, enough, recycle, give, laugh, ivory, tent, drift, boat) // the phrase the user should write down</span> <span class="hljs-comment">// the password argument is an optional, extra security</span> <span class="hljs-comment">// measure. all MnemonicCode instances will give you a</span> @@ -108,7 +108,7 @@ mnemonicCode.words <span class="hljs-comment">// the phrase the user should writ bip39Seed) <span class="hljs-comment">// xpriv: ExtPrivateKey = Masked(ExtPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> xpub = xpriv.extPublicKey -<span class="hljs-comment">// xpub: ExtPublicKey = zpub6jftahH18ngZxths52w3bDsP4AgL3ER5TpXHbAoZZGa5hAB5mRC4Duxyf1TsRVMpVxPSSyiKpUfDE4YNzXTAooHA5qQBRND3gQzvEhMjj94</span> +<span class="hljs-comment">// xpub: ExtPublicKey = zpub6jftahH18ngZwnvbiZg653pJpUPcJWop1qsUYBYLHJwtSYCKkGTBQvbRiHAZD72F1Lfh9m1BMUQSm14fXwDeDjXwgxzURYpGchM1fccK4N7</span> <span class="hljs-comment">// you can now use the generated xpriv to derive further</span> <span class="hljs-comment">// private or public keys</span> @@ -154,7 +154,7 @@ spend or steal any of your money.</p> <span class="hljs-comment">// can generate addresses with it!</span> accountXpriv.extPublicKey } -<span class="hljs-comment">// accountXpub: ExtPublicKey = zpub6rDfUeMvbrd8BpEdqYccigAujz733VjFHMudRMZ9fnEf9FBYW3bc5K78XUySqWmNuRr6fwRMjtwJAyWoDyBcBwTYgnkBWaw19qfLL85hPpb</span> +<span class="hljs-comment">// accountXpub: ExtPublicKey = zpub6qr3dRWJfRBZF6QcsA9MKXpjK85tUCEf5pXxMoGJ5AsxK8UXBSJkQGyovRzy8evQCLuTkB7Witi7UH9xrKJqmSJA3SVREAQyEvxG4LyMyKD</span> <span class="hljs-comment">// address no. 0 ---------------┐</span> <span class="hljs-comment">// external address ----------┐ |</span> @@ -177,12 +177,12 @@ spend or steal any of your money.</p> <span class="hljs-keyword">val</span> scriptPubKey = <span class="hljs-type">P2WPKHWitnessSPKV0</span>(pubkey) <span class="hljs-type">Bech32Address</span>(scriptPubKey, <span class="hljs-type">TestNet3</span>) } -<span class="hljs-comment">// firstAccountAddress: Bech32Address = tb1qfrlx94dyvup0yeyz2vvj9q2wwlvt2m0ddku5z5</span> +<span class="hljs-comment">// firstAccountAddress: Bech32Address = tb1quna7vw7k2j4yxljp49hq4wn2as8gdfsumtzv25</span> <span class="hljs-comment">// tada! We just generated an address you can send money to,</span> <span class="hljs-comment">// without having access to the private key!</span> firstAccountAddress.value -<span class="hljs-comment">// res2: String = tb1qfrlx94dyvup0yeyz2vvj9q2wwlvt2m0ddku5z5</span> +<span class="hljs-comment">// res2: String = tb1quna7vw7k2j4yxljp49hq4wn2as8gdfsumtzv25</span> <span class="hljs-comment">// you can now continue deriving addresses from the same public</span> <span class="hljs-comment">// key, by imitating what we did above. To get the next</span> diff --git a/docs/next/core/txbuilder.html b/docs/next/core/txbuilder.html index df3534ea4e..e3f7228c4a 100644 --- a/docs/next/core/txbuilder.html +++ b/docs/next/core/txbuilder.html @@ -64,7 +64,7 @@ }); </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/bitcoin-s/bitcoin-s/blob/master/docs/core/txbuilder.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">TxBuilder Example</h1></header><article><div><span><p>Bitcoin-S features a transaction building API that allows you to construct and sign Bitcoin transactions. Here's an example of how to use it</p> <pre><code class="hljs css language-scala"><span class="hljs-keyword">implicit</span> <span class="hljs-keyword">val</span> ec: <span class="hljs-type">ExecutionContext</span> = <span class="hljs-type">ExecutionContext</span>.<span class="hljs-type">Implicits</span>.global -<span class="hljs-comment">// ec: ExecutionContext = scala.concurrent.impl.ExecutionContextImpl$$anon$3@2a3bfa[Running, parallelism = 2, size = 2, active = 0, running = 0, steals = 39, tasks = 0, submissions = 0]</span> +<span class="hljs-comment">// ec: ExecutionContext = scala.concurrent.impl.ExecutionContextImpl$$anon$3@5d4b613c[Running, parallelism = 2, size = 2, active = 0, running = 0, steals = 33, tasks = 0, submissions = 0]</span> <span class="hljs-comment">// Initialize a transaction builder</span> <span class="hljs-keyword">val</span> builder = <span class="hljs-type">RawTxBuilder</span>() @@ -74,19 +74,19 @@ <span class="hljs-keyword">val</span> privKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// privKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> pubKey = privKey.publicKey -<span class="hljs-comment">// pubKey: ECPublicKey = ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)</span> +<span class="hljs-comment">// pubKey: ECPublicKey = ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)</span> <span class="hljs-comment">// this is the script that the TxBuilder is going to create a</span> <span class="hljs-comment">// script signature that validly spends this scriptPubKey</span> <span class="hljs-keyword">val</span> creditingSpk = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = privKey.publicKey) -<span class="hljs-comment">// creditingSpk: P2PKHScriptPubKey = pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186)</span> +<span class="hljs-comment">// creditingSpk: P2PKHScriptPubKey = pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334)</span> <span class="hljs-keyword">val</span> amount = <span class="hljs-number">10000.</span>satoshis <span class="hljs-comment">// amount: Satoshis = 10000 sats</span> <span class="hljs-comment">// this is the UTXO we are going to be spending</span> <span class="hljs-keyword">val</span> utxo = <span class="hljs-type">TransactionOutput</span>(value = amount, scriptPubKey = creditingSpk) -<span class="hljs-comment">// utxo: TransactionOutput = TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))</span> +<span class="hljs-comment">// utxo: TransactionOutput = TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))</span> <span class="hljs-comment">// the private key that locks the funds for the script we are spending too</span> <span class="hljs-keyword">val</span> destinationPrivKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey @@ -99,7 +99,7 @@ <span class="hljs-comment">// the script that corresponds to destination private key, this is what is receiving the money</span> <span class="hljs-keyword">val</span> destinationSPK = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = destinationPrivKey.publicKey) -<span class="hljs-comment">// destinationSPK: P2PKHScriptPubKey = pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)</span> +<span class="hljs-comment">// destinationSPK: P2PKHScriptPubKey = pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)</span> <span class="hljs-comment">// this is where we are sending money too</span> <span class="hljs-comment">// we could add more destinations here if we</span> @@ -110,7 +110,7 @@ <span class="hljs-type">Vector</span>(destination0) } -<span class="hljs-comment">// destinations: Vector[TransactionOutput] = Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)))</span> +<span class="hljs-comment">// destinations: Vector[TransactionOutput] = Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)))</span> <span class="hljs-comment">// Add the destinations to the tx builder</span> builder ++= destinations @@ -123,17 +123,17 @@ builder ++= destinations inputs = <span class="hljs-type">Vector</span>.empty, outputs = <span class="hljs-type">Vector</span>(utxo), lockTime = <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// creditingTx: BaseTransaction = BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0))</span> +<span class="hljs-comment">// creditingTx: BaseTransaction = BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0))</span> <span class="hljs-comment">// this is the information we need from the crediting TX</span> <span class="hljs-comment">// to properly "link" it in the transaction we are creating</span> <span class="hljs-keyword">val</span> outPoint = <span class="hljs-type">TransactionOutPoint</span>(creditingTx.txId, <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// outPoint: TransactionOutPoint = TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0)</span> +<span class="hljs-comment">// outPoint: TransactionOutPoint = TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0)</span> <span class="hljs-keyword">val</span> input = <span class="hljs-type">TransactionInput</span>( outPoint, <span class="hljs-type">EmptyScriptSignature</span>, sequenceNumber = <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// input: TransactionInput = TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))</span> +<span class="hljs-comment">// input: TransactionInput = TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))</span> <span class="hljs-comment">// Add a new input to our builder</span> builder += input @@ -141,11 +141,11 @@ builder += input <span class="hljs-comment">// We can now generate a RawTxBuilderResult ready to be finalized</span> <span class="hljs-keyword">val</span> builderResult = builder.result() -<span class="hljs-comment">// builderResult: RawTxBuilderResult = RawTxBuilderResult(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9))),UInt32Impl(0))</span> +<span class="hljs-comment">// builderResult: RawTxBuilderResult = RawTxBuilderResult(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0))),UInt32Impl(0))</span> <span class="hljs-comment">// this contains the information needed to analyze our input during finalization</span> <span class="hljs-keyword">val</span> inputInfo = <span class="hljs-type">P2PKHInputInfo</span>(outPoint, amount, privKey.publicKey) -<span class="hljs-comment">// inputInfo: P2PKHInputInfo = P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51))</span> +<span class="hljs-comment">// inputInfo: P2PKHInputInfo = P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78))</span> <span class="hljs-comment">// this is how much we are going to pay as a fee to the network</span> <span class="hljs-comment">// for this example, we are going to pay 1 satoshi per byte</span> @@ -155,18 +155,18 @@ builder += input <span class="hljs-keyword">val</span> changePrivKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// changePrivKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> changeSPK = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = changePrivKey.publicKey) -<span class="hljs-comment">// changeSPK: P2PKHScriptPubKey = pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69)</span> +<span class="hljs-comment">// changeSPK: P2PKHScriptPubKey = pkh(58fb9f2e725119eb133ed20585a290920a04cc57)</span> <span class="hljs-comment">// We chose a finalizer that adds a change output to our tx based on a fee rate</span> <span class="hljs-keyword">val</span> finalizer = <span class="hljs-type">StandardNonInteractiveFinalizer</span>( <span class="hljs-type">Vector</span>(inputInfo), feeRate, changeSPK) -<span class="hljs-comment">// finalizer: StandardNonInteractiveFinalizer = StandardNonInteractiveFinalizer(Vector(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51))),1 sats/byte,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))</span> +<span class="hljs-comment">// finalizer: StandardNonInteractiveFinalizer = StandardNonInteractiveFinalizer(Vector(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78))),1 sats/byte,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))</span> <span class="hljs-comment">// We can now finalize the tx builder result from earlier with this finalizer</span> <span class="hljs-keyword">val</span> unsignedTxF: <span class="hljs-type">Future</span>[<span class="hljs-type">Transaction</span>] = finalizer.buildTx(builderResult) -<span class="hljs-comment">// unsignedTxF: Future[Transaction] = Future(Success(BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)), TransactionOutput(4775 sats,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))),UInt32Impl(0))))</span> +<span class="hljs-comment">// unsignedTxF: Future[Transaction] = Future(Success(BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)), TransactionOutput(4775 sats,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))),UInt32Impl(0))))</span> <span class="hljs-comment">// We now turn to signing the unsigned transaction</span> <span class="hljs-comment">// this contains all the information we need to</span> @@ -176,12 +176,12 @@ builder += input signers = <span class="hljs-type">Vector</span>(privKey), hashType = <span class="hljs-type">HashType</span>.sigHashAll) -<span class="hljs-comment">// utxoInfo: ScriptSignatureParams[P2PKHInputInfo] = ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1)))</span> +<span class="hljs-comment">// utxoInfo: ScriptSignatureParams[P2PKHInputInfo] = ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1)))</span> <span class="hljs-comment">// all of the UTXO spending information, since we only have</span> <span class="hljs-comment">// one input, this is just one element</span> <span class="hljs-keyword">val</span> utxoInfos: <span class="hljs-type">Vector</span>[<span class="hljs-type">ScriptSignatureParams</span>[<span class="hljs-type">InputInfo</span>]] = <span class="hljs-type">Vector</span>(utxoInfo) -<span class="hljs-comment">// utxoInfos: Vector[ScriptSignatureParams[InputInfo]] = Vector(ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1))))</span> +<span class="hljs-comment">// utxoInfos: Vector[ScriptSignatureParams[InputInfo]] = Vector(ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1))))</span> <span class="hljs-comment">// Yay! Now we use the RawTxSigner object to sign the tx.</span> <span class="hljs-comment">// The 'sign' method is going produce a validly signed transaction</span> @@ -201,7 +201,7 @@ builder += input } <span class="hljs-type">Await</span>.result(signedTxF, <span class="hljs-number">30.</span>seconds) } -<span class="hljs-comment">// signedTx: Transaction = BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),P2PKHScriptSignature(ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51), ECDigitalSignature(3044022029af98ddea8c23469f2ef4a5c487c2fa56be56d468f3ef35d8dc2e9f270b8b9a02203f9e5b8896791f0c9828c6afeb32c24f68ec455ba87777fcba153066e71524a201)),UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)), TransactionOutput(4775 sats,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))),UInt32Impl(0))</span> +<span class="hljs-comment">// signedTx: Transaction = BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),P2PKHScriptSignature(ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78), ECDigitalSignature(304402206fc175d30b425fd7bb1cfa4f7be015e653497090eb197103d732a9906534fd4a02203fdc5fdc1108ed1f125e60958b3f66731fffab556417d856a0facb88ac383e4001)),UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)), TransactionOutput(4775 sats,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))),UInt32Impl(0))</span> </code></pre> <pre><code class="hljs css language-scala">signedTx.inputs.length <span class="hljs-comment">// res2: Int = 1</span> @@ -211,7 +211,7 @@ signedTx.outputs.length <span class="hljs-comment">//remember, you can call .hex on any bitcoin-s data structure to get the hex representation!</span> signedTx.hex -<span class="hljs-comment">// res4: String = 0200000001ac660902517f245ccfb9fa1bec7e0c97dabb2d13c27a8e3de717b8876fb0a90f000000006a473044022029af98ddea8c23469f2ef4a5c487c2fa56be56d468f3ef35d8dc2e9f270b8b9a02203f9e5b8896791f0c9828c6afeb32c24f68ec455ba87777fcba153066e71524a20121037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51000000000288130000000000001976a914d6f74af82b47434d76bf3dde59b8f97da833e6b988aca7120000000000001976a914d00dc9a9b4c49d28d841b60e253f0b171b158d6988ac00000000</span> +<span class="hljs-comment">// res4: String = 02000000019d13e0adce1d271569a8108741ae6d2dd04b0bf28dafe478cc3efb44c7387a0c000000006a47304402206fc175d30b425fd7bb1cfa4f7be015e653497090eb197103d732a9906534fd4a02203fdc5fdc1108ed1f125e60958b3f66731fffab556417d856a0facb88ac383e400121036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78000000000288130000000000001976a9147cf76425aed0d3d513c8ea6c53648d8f079f54f088aca7120000000000001976a91458fb9f2e725119eb133ed20585a290920a04cc5788ac00000000</span> </code></pre> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/core/dlc"><span class="arrow-prev">← </span><span>Discreet Log Contract Data Structures</span></a><a class="docs-next button" href="/docs/next/core/lightning-network"><span>Lightning Network Data Types</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> document.addEventListener('keyup', function(e) { diff --git a/docs/next/core/txbuilder/index.html b/docs/next/core/txbuilder/index.html index df3534ea4e..e3f7228c4a 100644 --- a/docs/next/core/txbuilder/index.html +++ b/docs/next/core/txbuilder/index.html @@ -64,7 +64,7 @@ }); </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/bitcoin-s/bitcoin-s/blob/master/docs/core/txbuilder.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">TxBuilder Example</h1></header><article><div><span><p>Bitcoin-S features a transaction building API that allows you to construct and sign Bitcoin transactions. Here's an example of how to use it</p> <pre><code class="hljs css language-scala"><span class="hljs-keyword">implicit</span> <span class="hljs-keyword">val</span> ec: <span class="hljs-type">ExecutionContext</span> = <span class="hljs-type">ExecutionContext</span>.<span class="hljs-type">Implicits</span>.global -<span class="hljs-comment">// ec: ExecutionContext = scala.concurrent.impl.ExecutionContextImpl$$anon$3@2a3bfa[Running, parallelism = 2, size = 2, active = 0, running = 0, steals = 39, tasks = 0, submissions = 0]</span> +<span class="hljs-comment">// ec: ExecutionContext = scala.concurrent.impl.ExecutionContextImpl$$anon$3@5d4b613c[Running, parallelism = 2, size = 2, active = 0, running = 0, steals = 33, tasks = 0, submissions = 0]</span> <span class="hljs-comment">// Initialize a transaction builder</span> <span class="hljs-keyword">val</span> builder = <span class="hljs-type">RawTxBuilder</span>() @@ -74,19 +74,19 @@ <span class="hljs-keyword">val</span> privKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// privKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> pubKey = privKey.publicKey -<span class="hljs-comment">// pubKey: ECPublicKey = ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)</span> +<span class="hljs-comment">// pubKey: ECPublicKey = ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)</span> <span class="hljs-comment">// this is the script that the TxBuilder is going to create a</span> <span class="hljs-comment">// script signature that validly spends this scriptPubKey</span> <span class="hljs-keyword">val</span> creditingSpk = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = privKey.publicKey) -<span class="hljs-comment">// creditingSpk: P2PKHScriptPubKey = pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186)</span> +<span class="hljs-comment">// creditingSpk: P2PKHScriptPubKey = pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334)</span> <span class="hljs-keyword">val</span> amount = <span class="hljs-number">10000.</span>satoshis <span class="hljs-comment">// amount: Satoshis = 10000 sats</span> <span class="hljs-comment">// this is the UTXO we are going to be spending</span> <span class="hljs-keyword">val</span> utxo = <span class="hljs-type">TransactionOutput</span>(value = amount, scriptPubKey = creditingSpk) -<span class="hljs-comment">// utxo: TransactionOutput = TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))</span> +<span class="hljs-comment">// utxo: TransactionOutput = TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))</span> <span class="hljs-comment">// the private key that locks the funds for the script we are spending too</span> <span class="hljs-keyword">val</span> destinationPrivKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey @@ -99,7 +99,7 @@ <span class="hljs-comment">// the script that corresponds to destination private key, this is what is receiving the money</span> <span class="hljs-keyword">val</span> destinationSPK = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = destinationPrivKey.publicKey) -<span class="hljs-comment">// destinationSPK: P2PKHScriptPubKey = pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)</span> +<span class="hljs-comment">// destinationSPK: P2PKHScriptPubKey = pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)</span> <span class="hljs-comment">// this is where we are sending money too</span> <span class="hljs-comment">// we could add more destinations here if we</span> @@ -110,7 +110,7 @@ <span class="hljs-type">Vector</span>(destination0) } -<span class="hljs-comment">// destinations: Vector[TransactionOutput] = Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)))</span> +<span class="hljs-comment">// destinations: Vector[TransactionOutput] = Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)))</span> <span class="hljs-comment">// Add the destinations to the tx builder</span> builder ++= destinations @@ -123,17 +123,17 @@ builder ++= destinations inputs = <span class="hljs-type">Vector</span>.empty, outputs = <span class="hljs-type">Vector</span>(utxo), lockTime = <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// creditingTx: BaseTransaction = BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0))</span> +<span class="hljs-comment">// creditingTx: BaseTransaction = BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0))</span> <span class="hljs-comment">// this is the information we need from the crediting TX</span> <span class="hljs-comment">// to properly "link" it in the transaction we are creating</span> <span class="hljs-keyword">val</span> outPoint = <span class="hljs-type">TransactionOutPoint</span>(creditingTx.txId, <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// outPoint: TransactionOutPoint = TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0)</span> +<span class="hljs-comment">// outPoint: TransactionOutPoint = TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0)</span> <span class="hljs-keyword">val</span> input = <span class="hljs-type">TransactionInput</span>( outPoint, <span class="hljs-type">EmptyScriptSignature</span>, sequenceNumber = <span class="hljs-type">UInt32</span>.zero) -<span class="hljs-comment">// input: TransactionInput = TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))</span> +<span class="hljs-comment">// input: TransactionInput = TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))</span> <span class="hljs-comment">// Add a new input to our builder</span> builder += input @@ -141,11 +141,11 @@ builder += input <span class="hljs-comment">// We can now generate a RawTxBuilderResult ready to be finalized</span> <span class="hljs-keyword">val</span> builderResult = builder.result() -<span class="hljs-comment">// builderResult: RawTxBuilderResult = RawTxBuilderResult(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9))),UInt32Impl(0))</span> +<span class="hljs-comment">// builderResult: RawTxBuilderResult = RawTxBuilderResult(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0))),UInt32Impl(0))</span> <span class="hljs-comment">// this contains the information needed to analyze our input during finalization</span> <span class="hljs-keyword">val</span> inputInfo = <span class="hljs-type">P2PKHInputInfo</span>(outPoint, amount, privKey.publicKey) -<span class="hljs-comment">// inputInfo: P2PKHInputInfo = P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51))</span> +<span class="hljs-comment">// inputInfo: P2PKHInputInfo = P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78))</span> <span class="hljs-comment">// this is how much we are going to pay as a fee to the network</span> <span class="hljs-comment">// for this example, we are going to pay 1 satoshi per byte</span> @@ -155,18 +155,18 @@ builder += input <span class="hljs-keyword">val</span> changePrivKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// changePrivKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> changeSPK = <span class="hljs-type">P2PKHScriptPubKey</span>(pubKey = changePrivKey.publicKey) -<span class="hljs-comment">// changeSPK: P2PKHScriptPubKey = pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69)</span> +<span class="hljs-comment">// changeSPK: P2PKHScriptPubKey = pkh(58fb9f2e725119eb133ed20585a290920a04cc57)</span> <span class="hljs-comment">// We chose a finalizer that adds a change output to our tx based on a fee rate</span> <span class="hljs-keyword">val</span> finalizer = <span class="hljs-type">StandardNonInteractiveFinalizer</span>( <span class="hljs-type">Vector</span>(inputInfo), feeRate, changeSPK) -<span class="hljs-comment">// finalizer: StandardNonInteractiveFinalizer = StandardNonInteractiveFinalizer(Vector(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51))),1 sats/byte,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))</span> +<span class="hljs-comment">// finalizer: StandardNonInteractiveFinalizer = StandardNonInteractiveFinalizer(Vector(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78))),1 sats/byte,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))</span> <span class="hljs-comment">// We can now finalize the tx builder result from earlier with this finalizer</span> <span class="hljs-keyword">val</span> unsignedTxF: <span class="hljs-type">Future</span>[<span class="hljs-type">Transaction</span>] = finalizer.buildTx(builderResult) -<span class="hljs-comment">// unsignedTxF: Future[Transaction] = Future(Success(BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)), TransactionOutput(4775 sats,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))),UInt32Impl(0))))</span> +<span class="hljs-comment">// unsignedTxF: Future[Transaction] = Future(Success(BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),EmptyScriptSignature,UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)), TransactionOutput(4775 sats,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))),UInt32Impl(0))))</span> <span class="hljs-comment">// We now turn to signing the unsigned transaction</span> <span class="hljs-comment">// this contains all the information we need to</span> @@ -176,12 +176,12 @@ builder += input signers = <span class="hljs-type">Vector</span>(privKey), hashType = <span class="hljs-type">HashType</span>.sigHashAll) -<span class="hljs-comment">// utxoInfo: ScriptSignatureParams[P2PKHInputInfo] = ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1)))</span> +<span class="hljs-comment">// utxoInfo: ScriptSignatureParams[P2PKHInputInfo] = ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1)))</span> <span class="hljs-comment">// all of the UTXO spending information, since we only have</span> <span class="hljs-comment">// one input, this is just one element</span> <span class="hljs-keyword">val</span> utxoInfos: <span class="hljs-type">Vector</span>[<span class="hljs-type">ScriptSignatureParams</span>[<span class="hljs-type">InputInfo</span>]] = <span class="hljs-type">Vector</span>(utxoInfo) -<span class="hljs-comment">// utxoInfos: Vector[ScriptSignatureParams[InputInfo]] = Vector(ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),10000 sats,ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(bc415b369612ea08ebe6c413bbeb6d66a06b4186))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1))))</span> +<span class="hljs-comment">// utxoInfos: Vector[ScriptSignatureParams[InputInfo]] = Vector(ScriptSignatureParams(P2PKHInputInfo(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),10000 sats,ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78)),BaseTransaction(Int32Impl(1),Vector(),Vector(TransactionOutput(10000 sats,pkh(5b42c40f856a2ef02ede48a67f1e9fd3216c9334))),UInt32Impl(0)),Vector(Masked(ECPrivateKeyImpl)),SIGHASH_ALL(Int32Impl(1))))</span> <span class="hljs-comment">// Yay! Now we use the RawTxSigner object to sign the tx.</span> <span class="hljs-comment">// The 'sign' method is going produce a validly signed transaction</span> @@ -201,7 +201,7 @@ builder += input } <span class="hljs-type">Await</span>.result(signedTxF, <span class="hljs-number">30.</span>seconds) } -<span class="hljs-comment">// signedTx: Transaction = BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0fa9b06f87b817e73d8e7ac2132dbbda970c7eec1bfab9cf5c247f51020966ac:0),P2PKHScriptSignature(ECPublicKey(037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51), ECDigitalSignature(3044022029af98ddea8c23469f2ef4a5c487c2fa56be56d468f3ef35d8dc2e9f270b8b9a02203f9e5b8896791f0c9828c6afeb32c24f68ec455ba87777fcba153066e71524a201)),UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(d6f74af82b47434d76bf3dde59b8f97da833e6b9)), TransactionOutput(4775 sats,pkh(d00dc9a9b4c49d28d841b60e253f0b171b158d69))),UInt32Impl(0))</span> +<span class="hljs-comment">// signedTx: Transaction = BaseTransaction(Int32Impl(2),Vector(TransactionInputImpl(TransactionOutPoint(0c7a38c744fb3ecc78e4af8df20b4bd02d6dae418710a86915271dceade0139d:0),P2PKHScriptSignature(ECPublicKey(036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78), ECDigitalSignature(304402206fc175d30b425fd7bb1cfa4f7be015e653497090eb197103d732a9906534fd4a02203fdc5fdc1108ed1f125e60958b3f66731fffab556417d856a0facb88ac383e4001)),UInt32Impl(0))),Vector(TransactionOutput(5000 sats,pkh(7cf76425aed0d3d513c8ea6c53648d8f079f54f0)), TransactionOutput(4775 sats,pkh(58fb9f2e725119eb133ed20585a290920a04cc57))),UInt32Impl(0))</span> </code></pre> <pre><code class="hljs css language-scala">signedTx.inputs.length <span class="hljs-comment">// res2: Int = 1</span> @@ -211,7 +211,7 @@ signedTx.outputs.length <span class="hljs-comment">//remember, you can call .hex on any bitcoin-s data structure to get the hex representation!</span> signedTx.hex -<span class="hljs-comment">// res4: String = 0200000001ac660902517f245ccfb9fa1bec7e0c97dabb2d13c27a8e3de717b8876fb0a90f000000006a473044022029af98ddea8c23469f2ef4a5c487c2fa56be56d468f3ef35d8dc2e9f270b8b9a02203f9e5b8896791f0c9828c6afeb32c24f68ec455ba87777fcba153066e71524a20121037c0b68d111a0dcf74efe839529393672b483a6a01485def3b28353dedf409f51000000000288130000000000001976a914d6f74af82b47434d76bf3dde59b8f97da833e6b988aca7120000000000001976a914d00dc9a9b4c49d28d841b60e253f0b171b158d6988ac00000000</span> +<span class="hljs-comment">// res4: String = 02000000019d13e0adce1d271569a8108741ae6d2dd04b0bf28dafe478cc3efb44c7387a0c000000006a47304402206fc175d30b425fd7bb1cfa4f7be015e653497090eb197103d732a9906534fd4a02203fdc5fdc1108ed1f125e60958b3f66731fffab556417d856a0facb88ac383e400121036e672c96cf608ad5c60bc8b7c1563402f80ca2e7c9d870b4a62aecadc78cad78000000000288130000000000001976a9147cf76425aed0d3d513c8ea6c53648d8f079f54f088aca7120000000000001976a91458fb9f2e725119eb133ed20585a290920a04cc5788ac00000000</span> </code></pre> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/core/dlc"><span class="arrow-prev">← </span><span>Discreet Log Contract Data Structures</span></a><a class="docs-next button" href="/docs/next/core/lightning-network"><span>Lightning Network Data Types</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> document.addEventListener('keyup', function(e) { diff --git a/docs/next/crypto/sign.html b/docs/next/crypto/sign.html index 33e2b0fc6d..3db666c8c7 100644 --- a/docs/next/crypto/sign.html +++ b/docs/next/crypto/sign.html @@ -96,13 +96,13 @@ <span class="hljs-comment">// extPrivKey: ExtPrivateKey = Masked(ExtPrivateKeyImpl)</span> extPrivKey.sign(<span class="hljs-type">DoubleSha256Digest</span>.empty.bytes) -<span class="hljs-comment">// res0: ECDigitalSignature = ECDigitalSignature(30450221009e258f37ce2bd66ee029241a729675d8b68a7fc09ab802e34785e59c92b009a10220278446b561eea98167a785c619eba1bab1919eec7367a6703e072946e722acf8)</span> +<span class="hljs-comment">// res0: ECDigitalSignature = ECDigitalSignature(3044022037e3c6e52558482b6439324b90dcbe577960ecb960515b175b5c6099007bf799022072cd0e20942e1c7ac47321045933843e9840adbda43fb55f35df32bb65a3e52e)</span> <span class="hljs-keyword">val</span> path = <span class="hljs-type">BIP32Path</span>(<span class="hljs-type">Vector</span>(<span class="hljs-type">BIP32Node</span>(<span class="hljs-number">0</span>,<span class="hljs-literal">false</span>))) <span class="hljs-comment">// path: BIP32Path = m/0</span> extPrivKey.sign(<span class="hljs-type">DoubleSha256Digest</span>.empty.bytes,path) -<span class="hljs-comment">// res1: ECDigitalSignature = ECDigitalSignature(3045022100a8ef11edf78ae9a2acd77137233d211757de7a168118f38ef0e8033a4850a1390220648ccd983dbfd6af1821ed6a60e4e740a19b4a6e74a8b83937bb4355598e0770)</span> +<span class="hljs-comment">// res1: ECDigitalSignature = ECDigitalSignature(3045022100f5ba36bc72e014290dd50d7204ca6b8a4ebb4b7763e6ba02c897473cdc27f55d02203ed254c4f700852b92ed15cd482c23e4b2c28ea370f0583290e3a8e8e0dedd9a)</span> </code></pre> <p>With <code>ExtSign</code>, you can use <code>ExtPrivateKey</code> to sign transactions inside of <code>TxBuilder</code> since <code>UTXOSpendingInfo</code> takes in <code>Sign</code> as a parameter.</p> <p>You can also provide a <code>path</code> to use to derive a child <code>ExtPrivateKey</code>, and then sign with that child private key</p> diff --git a/docs/next/crypto/sign/index.html b/docs/next/crypto/sign/index.html index 33e2b0fc6d..3db666c8c7 100644 --- a/docs/next/crypto/sign/index.html +++ b/docs/next/crypto/sign/index.html @@ -96,13 +96,13 @@ <span class="hljs-comment">// extPrivKey: ExtPrivateKey = Masked(ExtPrivateKeyImpl)</span> extPrivKey.sign(<span class="hljs-type">DoubleSha256Digest</span>.empty.bytes) -<span class="hljs-comment">// res0: ECDigitalSignature = ECDigitalSignature(30450221009e258f37ce2bd66ee029241a729675d8b68a7fc09ab802e34785e59c92b009a10220278446b561eea98167a785c619eba1bab1919eec7367a6703e072946e722acf8)</span> +<span class="hljs-comment">// res0: ECDigitalSignature = ECDigitalSignature(3044022037e3c6e52558482b6439324b90dcbe577960ecb960515b175b5c6099007bf799022072cd0e20942e1c7ac47321045933843e9840adbda43fb55f35df32bb65a3e52e)</span> <span class="hljs-keyword">val</span> path = <span class="hljs-type">BIP32Path</span>(<span class="hljs-type">Vector</span>(<span class="hljs-type">BIP32Node</span>(<span class="hljs-number">0</span>,<span class="hljs-literal">false</span>))) <span class="hljs-comment">// path: BIP32Path = m/0</span> extPrivKey.sign(<span class="hljs-type">DoubleSha256Digest</span>.empty.bytes,path) -<span class="hljs-comment">// res1: ECDigitalSignature = ECDigitalSignature(3045022100a8ef11edf78ae9a2acd77137233d211757de7a168118f38ef0e8033a4850a1390220648ccd983dbfd6af1821ed6a60e4e740a19b4a6e74a8b83937bb4355598e0770)</span> +<span class="hljs-comment">// res1: ECDigitalSignature = ECDigitalSignature(3045022100f5ba36bc72e014290dd50d7204ca6b8a4ebb4b7763e6ba02c897473cdc27f55d02203ed254c4f700852b92ed15cd482c23e4b2c28ea370f0583290e3a8e8e0dedd9a)</span> </code></pre> <p>With <code>ExtSign</code>, you can use <code>ExtPrivateKey</code> to sign transactions inside of <code>TxBuilder</code> since <code>UTXOSpendingInfo</code> takes in <code>Sign</code> as a parameter.</p> <p>You can also provide a <code>path</code> to use to derive a child <code>ExtPrivateKey</code>, and then sign with that child private key</p> diff --git a/docs/next/getting-setup.html b/docs/next/getting-setup.html index 60b0def996..5405100f8a 100644 --- a/docs/next/getting-setup.html +++ b/docs/next/getting-setup.html @@ -194,8 +194,15 @@ These options should default to use the latest bitcoind downloaded from <code>sb } </code></pre> <h2><a class="anchor" aria-hidden="true" id="step-6-optional-moving-to-testnet"></a><a href="#step-6-optional-moving-to-testnet" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 6 (Optional): Moving To Testnet</h2> -<p>To run your Bitcoin-S Server on testnet, simply change <code>network = testnet3</code> and change your <code>peers = ["neutrino.testnet3.suredbits.com:18333"]</code> in your <code>.bitcoin-s/bitcoin-s.conf</code> file. This will allow you to connect to Suredbits' neutrino-enabled <code>bitcoind</code> node. Keep in mind then when you restart your server, it will begin initial sync which will take many hours as all block filters for all testnet blocks will be downloaded. If you wish to speed this process up, download <a href="https://s3-us-west-2.amazonaws.com/www.suredbits.com/testnet-chaindump-2-25-2020.zip">this snapshot</a>, unzip it and put the file in your <code>$HOME/.bitcoin-s/testnet3</code> directory and then from there, run</p> -<pre><code class="hljs css language-bashrc">cat chaindump.sql <span class="hljs-string">| sqlite3 chaindb.sqlite</span> +<p>To run your Bitcoin-S Server on testnet, simply change <code>network = testnet3</code> and change +your <code>peers = ["neutrino.testnet3.suredbits.com:18333"]</code> in your <code>.bitcoin-s/bitcoin-s.conf</code> file. +This will allow you to connect to Suredbits' neutrino-enabled <code>bitcoind</code> node. +Keep in mind then when you restart your server, it will begin initial sync which will take +many hours as all block filters for all testnet blocks will be downloaded. +If you wish to speed this process up, +download <a href="https://s3-us-west-2.amazonaws.com/www.suredbits.com/chaindb-testnet-2021-02-03.zip">this snapshot</a>, unzip it and put the file in your <code>$HOME/.bitcoin-s/testnet3</code> directory and then from there, run</p> +<pre><code class="hljs css language-bashrc">$ unzip chaindb-testnet<span class="hljs-number">-2021</span><span class="hljs-number">-02</span><span class="hljs-number">-03.</span>zip +$ mv chaindb.sqlite ~/.bitcoin-s/testnet/ </code></pre> <p>This should take a couple minutes to execute, but once it is done, you will only have a short while left to sync once you start your server.</p> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/bips"><span class="arrow-prev">← </span><span>Supported BIPs</span></a><a class="docs-next button" href="/docs/next/applications/cli"><span>CLI</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#getting-setup-with-bitcoin-s">Getting Setup With Bitcoin-S</a></li><li><a href="#step-1-java-and-scala">Step 1: Java and Scala</a></li><li><a href="#step-2-bitcoin-s-repository">Step 2: Bitcoin-S Repository</a><ul class="toc-headings"><li><a href="#optional">Optional</a></li></ul></li><li><a href="#step-3-configuration">Step 3: Configuration</a></li><li><a href="#step-4-optional-discreet-log-contract-branch">Step 4 (Optional): Discreet Log Contract Branch</a></li><li><a href="#step-5-setting-up-a-bitcoin-s-server">Step 5: Setting Up A Bitcoin-S Server</a><ul class="toc-headings"><li><a href="#option-a-neutrino-server">Option A: Neutrino Server</a></li><li><a href="#option-b-bitcoind-backend">Option B: Bitcoind Backend</a></li></ul></li><li><a href="#step-6-optional-moving-to-testnet">Step 6 (Optional): Moving To Testnet</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> diff --git a/docs/next/getting-setup/index.html b/docs/next/getting-setup/index.html index 60b0def996..5405100f8a 100644 --- a/docs/next/getting-setup/index.html +++ b/docs/next/getting-setup/index.html @@ -194,8 +194,15 @@ These options should default to use the latest bitcoind downloaded from <code>sb } </code></pre> <h2><a class="anchor" aria-hidden="true" id="step-6-optional-moving-to-testnet"></a><a href="#step-6-optional-moving-to-testnet" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Step 6 (Optional): Moving To Testnet</h2> -<p>To run your Bitcoin-S Server on testnet, simply change <code>network = testnet3</code> and change your <code>peers = ["neutrino.testnet3.suredbits.com:18333"]</code> in your <code>.bitcoin-s/bitcoin-s.conf</code> file. This will allow you to connect to Suredbits' neutrino-enabled <code>bitcoind</code> node. Keep in mind then when you restart your server, it will begin initial sync which will take many hours as all block filters for all testnet blocks will be downloaded. If you wish to speed this process up, download <a href="https://s3-us-west-2.amazonaws.com/www.suredbits.com/testnet-chaindump-2-25-2020.zip">this snapshot</a>, unzip it and put the file in your <code>$HOME/.bitcoin-s/testnet3</code> directory and then from there, run</p> -<pre><code class="hljs css language-bashrc">cat chaindump.sql <span class="hljs-string">| sqlite3 chaindb.sqlite</span> +<p>To run your Bitcoin-S Server on testnet, simply change <code>network = testnet3</code> and change +your <code>peers = ["neutrino.testnet3.suredbits.com:18333"]</code> in your <code>.bitcoin-s/bitcoin-s.conf</code> file. +This will allow you to connect to Suredbits' neutrino-enabled <code>bitcoind</code> node. +Keep in mind then when you restart your server, it will begin initial sync which will take +many hours as all block filters for all testnet blocks will be downloaded. +If you wish to speed this process up, +download <a href="https://s3-us-west-2.amazonaws.com/www.suredbits.com/chaindb-testnet-2021-02-03.zip">this snapshot</a>, unzip it and put the file in your <code>$HOME/.bitcoin-s/testnet3</code> directory and then from there, run</p> +<pre><code class="hljs css language-bashrc">$ unzip chaindb-testnet<span class="hljs-number">-2021</span><span class="hljs-number">-02</span><span class="hljs-number">-03.</span>zip +$ mv chaindb.sqlite ~/.bitcoin-s/testnet/ </code></pre> <p>This should take a couple minutes to execute, but once it is done, you will only have a short while left to sync once you start your server.</p> </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/bips"><span class="arrow-prev">← </span><span>Supported BIPs</span></a><a class="docs-next button" href="/docs/next/applications/cli"><span>CLI</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#getting-setup-with-bitcoin-s">Getting Setup With Bitcoin-S</a></li><li><a href="#step-1-java-and-scala">Step 1: Java and Scala</a></li><li><a href="#step-2-bitcoin-s-repository">Step 2: Bitcoin-S Repository</a><ul class="toc-headings"><li><a href="#optional">Optional</a></li></ul></li><li><a href="#step-3-configuration">Step 3: Configuration</a></li><li><a href="#step-4-optional-discreet-log-contract-branch">Step 4 (Optional): Discreet Log Contract Branch</a></li><li><a href="#step-5-setting-up-a-bitcoin-s-server">Step 5: Setting Up A Bitcoin-S Server</a><ul class="toc-headings"><li><a href="#option-a-neutrino-server">Option A: Neutrino Server</a></li><li><a href="#option-b-bitcoind-backend">Option B: Bitcoind Backend</a></li></ul></li><li><a href="#step-6-optional-moving-to-testnet">Step 6 (Optional): Moving To Testnet</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2021 Suredbits & the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script> diff --git a/docs/next/getting-started.html b/docs/next/getting-started.html index 2dd92e361a..05cb66fbd0 100644 --- a/docs/next/getting-started.html +++ b/docs/next/getting-started.html @@ -120,7 +120,7 @@ libraryDependencies += <span class="hljs-string">"org.bitcoin-s"</span> %% <span <h3><a class="anchor" aria-hidden="true" id="nightly-builds"></a><a href="#nightly-builds" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Nightly builds</h3> <p>You can also run on the bleeding edge of Bitcoin-S, by adding a snapshot build to your <code>build.sbt</code>. The most -recent snapshot published is <code>0.4.0+304-d159f3eb-SNAPSHOT</code>.</p> +recent snapshot published is <code>0.4.0+305-09e60ae4-SNAPSHOT</code>.</p> <p>To fetch snapshots, you will need to add the correct resolver in your <code>build.sbt</code>:</p> <pre><code class="hljs css language-sbt">resolvers += Resolver.sonatypeRepo(<span class="hljs-string">"snapshots"</span>) diff --git a/docs/next/getting-started/index.html b/docs/next/getting-started/index.html index 2dd92e361a..05cb66fbd0 100644 --- a/docs/next/getting-started/index.html +++ b/docs/next/getting-started/index.html @@ -120,7 +120,7 @@ libraryDependencies += <span class="hljs-string">"org.bitcoin-s"</span> %% <span <h3><a class="anchor" aria-hidden="true" id="nightly-builds"></a><a href="#nightly-builds" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Nightly builds</h3> <p>You can also run on the bleeding edge of Bitcoin-S, by adding a snapshot build to your <code>build.sbt</code>. The most -recent snapshot published is <code>0.4.0+304-d159f3eb-SNAPSHOT</code>.</p> +recent snapshot published is <code>0.4.0+305-09e60ae4-SNAPSHOT</code>.</p> <p>To fetch snapshots, you will need to add the correct resolver in your <code>build.sbt</code>:</p> <pre><code class="hljs css language-sbt">resolvers += Resolver.sonatypeRepo(<span class="hljs-string">"snapshots"</span>) diff --git a/docs/next/key-manager/key-manager.html b/docs/next/key-manager/key-manager.html index ea5a99ee7f..d07a83e5ad 100644 --- a/docs/next/key-manager/key-manager.html +++ b/docs/next/key-manager/key-manager.html @@ -77,14 +77,14 @@ <span class="hljs-comment">//get 256 bits of random entropy</span> <span class="hljs-keyword">val</span> entropy = <span class="hljs-type">MnemonicCode</span>.getEntropy256Bits -<span class="hljs-comment">// entropy: scodec.bits.BitVector = BitVector(256 bits, 0x6a5989d0d6be604b1908db3a53bf7e5c70bf99dcf09e916e9b24b53e33963f35)</span> +<span class="hljs-comment">// entropy: scodec.bits.BitVector = BitVector(256 bits, 0x466292abdeb56cec4b7dccbccb5f6442018d2c11f1f6d33582cc9009872173d5)</span> <span class="hljs-keyword">val</span> mnemonic = <span class="hljs-type">MnemonicCode</span>.fromEntropy(entropy) <span class="hljs-comment">// mnemonic: MnemonicCode = Masked(MnemonicCodeImpl)</span> <span class="hljs-comment">//you can print that mnemonic seed with this</span> println(mnemonic.words) -<span class="hljs-comment">// Vector(heart, slush, injury, pulp, toward, cereal, goddess, bread, demise, over, test, rib, armor, smooth, inherit, because, multiply, inquiry, since, heavy, tobacco, slam, wolf, royal)</span> +<span class="hljs-comment">// Vector(edit, behind, priority, runway, fine, involve, combine, ridge, rubber, foot, suit, lottery, boat, noodle, elephant, disagree, spring, project, rebel, cactus, observe, mouse, soon, purpose)</span> </code></pre> <p>Now that we have a <code>MnemonicCode</code> that was securely generated, we need to now create <code>KeyManagerParams</code> which tells us how to generate generate specific kinds of addresses for wallets.</p> @@ -99,7 +99,7 @@ generate specific kinds of addresses for wallets.</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">//this will create a temp directory with the prefix 'key-manager-example` that will</span> <span class="hljs-comment">//have a file in it called "encrypted-bitcoin-s-seed.json"</span> <span class="hljs-keyword">val</span> seedPath = <span class="hljs-type">Files</span>.createTempDirectory(<span class="hljs-string">"key-manager-example"</span>).resolve(<span class="hljs-type">WalletStorage</span>.<span class="hljs-type">ENCRYPTED_SEED_FILE_NAME</span>) -<span class="hljs-comment">// seedPath: Path = /tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json</span> +<span class="hljs-comment">// seedPath: Path = /tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json</span> <span class="hljs-comment">//let's create a native segwit key manager</span> <span class="hljs-keyword">val</span> purpose = <span class="hljs-type">HDPurposes</span>.<span class="hljs-type">SegWit</span> @@ -110,19 +110,19 @@ generate specific kinds of addresses for wallets.</p> <span class="hljs-comment">// network: RegTest.type = RegTest</span> <span class="hljs-keyword">val</span> kmParams = <span class="hljs-type">KeyManagerParams</span>(seedPath, purpose, network) -<span class="hljs-comment">// kmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json,m/84',RegTest)</span> +<span class="hljs-comment">// kmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json,m/84',RegTest)</span> <span class="hljs-keyword">val</span> aesPasswordOpt = <span class="hljs-type">Some</span>(<span class="hljs-type">AesPassword</span>.fromString(<span class="hljs-string">"password"</span>)) <span class="hljs-comment">// aesPasswordOpt: Some[AesPassword] = Some(Masked(AesPassword))</span> <span class="hljs-keyword">val</span> km = <span class="hljs-type">BIP39KeyManager</span>.initializeWithMnemonic(aesPasswordOpt, mnemonic, <span class="hljs-type">None</span>, kmParams) -<span class="hljs-comment">// km: Either[KeyManagerInitializeError, BIP39KeyManager] = Right(org.bitcoins.keymanager.bip39.BIP39KeyManager@e1be49a)</span> +<span class="hljs-comment">// km: Either[KeyManagerInitializeError, BIP39KeyManager] = Right(org.bitcoins.keymanager.bip39.BIP39KeyManager@28a32a9f)</span> <span class="hljs-keyword">val</span> rootXPub = km.right.get.getRootXPub -<span class="hljs-comment">// rootXPub: ExtPublicKey = vpub5SLqN2bLY4WeZ8oS5X7NfTanVTWFygQkGjavNa5YWWykQEY3cAK2Q41dVnGuKRsLbaWGN2EyAoLQHXzVfgcWk5LKhmPR9kKhCW9wGfX56ny</span> +<span class="hljs-comment">// rootXPub: ExtPublicKey = vpub5SLqN2bLY4WeYxKJZg9VRL6qsBmnuSLF5WuQZ3nxVpVg6RMEvd4bfvfMjqtnWGnEnZKca26C382MJCfdJhdzUem8QfWDw6cxSAWkEjaK63z</span> println(rootXPub) -<span class="hljs-comment">// vpub5SLqN2bLY4WeZ8oS5X7NfTanVTWFygQkGjavNa5YWWykQEY3cAK2Q41dVnGuKRsLbaWGN2EyAoLQHXzVfgcWk5LKhmPR9kKhCW9wGfX56ny</span> +<span class="hljs-comment">// vpub5SLqN2bLY4WeYxKJZg9VRL6qsBmnuSLF5WuQZ3nxVpVg6RMEvd4bfvfMjqtnWGnEnZKca26C382MJCfdJhdzUem8QfWDw6cxSAWkEjaK63z</span> </code></pre> <p>Which should print something that looks like this</p> <p><code>vpub5SLqN2bLY4WeXxMqwJHJFBEwxSscGB2uDUnsTS3edVjZEwTrQDFDNqoR2xLqARQPabGaXsHSTenTRcqm2EnB9MpuC4vSk3LqSgNmGGZtuq7</code></p> @@ -131,17 +131,17 @@ println(rootXPub) again after initializing it once. You can use the same <code>mnemonic</code> for different networks, which you control <code>KeyManagerParams</code>.</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">//let's create a nested segwit key manager for mainnet</span> <span class="hljs-keyword">val</span> mainnetKmParams = <span class="hljs-type">KeyManagerParams</span>(seedPath, <span class="hljs-type">HDPurposes</span>.<span class="hljs-type">SegWit</span>, <span class="hljs-type">MainNet</span>) -<span class="hljs-comment">// mainnetKmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json,m/84',MainNet)</span> +<span class="hljs-comment">// mainnetKmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json,m/84',MainNet)</span> <span class="hljs-comment">//we do not need to all `initializeWithMnemonic()` again as we have saved the seed to dis</span> <span class="hljs-keyword">val</span> mainnetKeyManager = <span class="hljs-type">BIP39KeyManager</span>.fromMnemonic(mnemonic, mainnetKmParams, <span class="hljs-type">None</span>, <span class="hljs-type">Instant</span>.now) -<span class="hljs-comment">// mainnetKeyManager: BIP39KeyManager = org.bitcoins.keymanager.bip39.BIP39KeyManager@2ed05572</span> +<span class="hljs-comment">// mainnetKeyManager: BIP39KeyManager = org.bitcoins.keymanager.bip39.BIP39KeyManager@3e6cb3be</span> <span class="hljs-keyword">val</span> mainnetXpub = mainnetKeyManager.getRootXPub -<span class="hljs-comment">// mainnetXpub: ExtPublicKey = zpub6jftahH18ngZxKZuQxFsVoxoBL63kANjwBfoW9f62YVGcdnxcnyGtJeBac7FK4V2E8yVMvdD1SkbpgSkYUGZw24jB8B7VPbeHQQWq1uAnAR</span> +<span class="hljs-comment">// mainnetXpub: ExtPublicKey = zpub6jftahH18ngZx95mu7HzFgUrZ4MafvJEjxzHgdNW1r1CJpc9wFirABHupfj8VuPvR7nqZvURsmSYqM7tBVJ3fbVXt2HvGjtuX4mKo5sC7gT</span> println(mainnetXpub) -<span class="hljs-comment">// zpub6jftahH18ngZxKZuQxFsVoxoBL63kANjwBfoW9f62YVGcdnxcnyGtJeBac7FK4V2E8yVMvdD1SkbpgSkYUGZw24jB8B7VPbeHQQWq1uAnAR</span> +<span class="hljs-comment">// zpub6jftahH18ngZx95mu7HzFgUrZ4MafvJEjxzHgdNW1r1CJpc9wFirABHupfj8VuPvR7nqZvURsmSYqM7tBVJ3fbVXt2HvGjtuX4mKo5sC7gT</span> </code></pre> <p>Which gives us something that looks like this</p> <p><code>zpub6jftahH18ngZw98KGjRo5XcxeKTQ2eztsvskb1dC9XF5TLimQquTs6Ry7nBBA425D9joXmfgJJCexmJ1u2SELJZJfRi95gcnXadLpZzYb5c</code></p> diff --git a/docs/next/key-manager/key-manager/index.html b/docs/next/key-manager/key-manager/index.html index ea5a99ee7f..d07a83e5ad 100644 --- a/docs/next/key-manager/key-manager/index.html +++ b/docs/next/key-manager/key-manager/index.html @@ -77,14 +77,14 @@ <span class="hljs-comment">//get 256 bits of random entropy</span> <span class="hljs-keyword">val</span> entropy = <span class="hljs-type">MnemonicCode</span>.getEntropy256Bits -<span class="hljs-comment">// entropy: scodec.bits.BitVector = BitVector(256 bits, 0x6a5989d0d6be604b1908db3a53bf7e5c70bf99dcf09e916e9b24b53e33963f35)</span> +<span class="hljs-comment">// entropy: scodec.bits.BitVector = BitVector(256 bits, 0x466292abdeb56cec4b7dccbccb5f6442018d2c11f1f6d33582cc9009872173d5)</span> <span class="hljs-keyword">val</span> mnemonic = <span class="hljs-type">MnemonicCode</span>.fromEntropy(entropy) <span class="hljs-comment">// mnemonic: MnemonicCode = Masked(MnemonicCodeImpl)</span> <span class="hljs-comment">//you can print that mnemonic seed with this</span> println(mnemonic.words) -<span class="hljs-comment">// Vector(heart, slush, injury, pulp, toward, cereal, goddess, bread, demise, over, test, rib, armor, smooth, inherit, because, multiply, inquiry, since, heavy, tobacco, slam, wolf, royal)</span> +<span class="hljs-comment">// Vector(edit, behind, priority, runway, fine, involve, combine, ridge, rubber, foot, suit, lottery, boat, noodle, elephant, disagree, spring, project, rebel, cactus, observe, mouse, soon, purpose)</span> </code></pre> <p>Now that we have a <code>MnemonicCode</code> that was securely generated, we need to now create <code>KeyManagerParams</code> which tells us how to generate generate specific kinds of addresses for wallets.</p> @@ -99,7 +99,7 @@ generate specific kinds of addresses for wallets.</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">//this will create a temp directory with the prefix 'key-manager-example` that will</span> <span class="hljs-comment">//have a file in it called "encrypted-bitcoin-s-seed.json"</span> <span class="hljs-keyword">val</span> seedPath = <span class="hljs-type">Files</span>.createTempDirectory(<span class="hljs-string">"key-manager-example"</span>).resolve(<span class="hljs-type">WalletStorage</span>.<span class="hljs-type">ENCRYPTED_SEED_FILE_NAME</span>) -<span class="hljs-comment">// seedPath: Path = /tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json</span> +<span class="hljs-comment">// seedPath: Path = /tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json</span> <span class="hljs-comment">//let's create a native segwit key manager</span> <span class="hljs-keyword">val</span> purpose = <span class="hljs-type">HDPurposes</span>.<span class="hljs-type">SegWit</span> @@ -110,19 +110,19 @@ generate specific kinds of addresses for wallets.</p> <span class="hljs-comment">// network: RegTest.type = RegTest</span> <span class="hljs-keyword">val</span> kmParams = <span class="hljs-type">KeyManagerParams</span>(seedPath, purpose, network) -<span class="hljs-comment">// kmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json,m/84',RegTest)</span> +<span class="hljs-comment">// kmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json,m/84',RegTest)</span> <span class="hljs-keyword">val</span> aesPasswordOpt = <span class="hljs-type">Some</span>(<span class="hljs-type">AesPassword</span>.fromString(<span class="hljs-string">"password"</span>)) <span class="hljs-comment">// aesPasswordOpt: Some[AesPassword] = Some(Masked(AesPassword))</span> <span class="hljs-keyword">val</span> km = <span class="hljs-type">BIP39KeyManager</span>.initializeWithMnemonic(aesPasswordOpt, mnemonic, <span class="hljs-type">None</span>, kmParams) -<span class="hljs-comment">// km: Either[KeyManagerInitializeError, BIP39KeyManager] = Right(org.bitcoins.keymanager.bip39.BIP39KeyManager@e1be49a)</span> +<span class="hljs-comment">// km: Either[KeyManagerInitializeError, BIP39KeyManager] = Right(org.bitcoins.keymanager.bip39.BIP39KeyManager@28a32a9f)</span> <span class="hljs-keyword">val</span> rootXPub = km.right.get.getRootXPub -<span class="hljs-comment">// rootXPub: ExtPublicKey = vpub5SLqN2bLY4WeZ8oS5X7NfTanVTWFygQkGjavNa5YWWykQEY3cAK2Q41dVnGuKRsLbaWGN2EyAoLQHXzVfgcWk5LKhmPR9kKhCW9wGfX56ny</span> +<span class="hljs-comment">// rootXPub: ExtPublicKey = vpub5SLqN2bLY4WeYxKJZg9VRL6qsBmnuSLF5WuQZ3nxVpVg6RMEvd4bfvfMjqtnWGnEnZKca26C382MJCfdJhdzUem8QfWDw6cxSAWkEjaK63z</span> println(rootXPub) -<span class="hljs-comment">// vpub5SLqN2bLY4WeZ8oS5X7NfTanVTWFygQkGjavNa5YWWykQEY3cAK2Q41dVnGuKRsLbaWGN2EyAoLQHXzVfgcWk5LKhmPR9kKhCW9wGfX56ny</span> +<span class="hljs-comment">// vpub5SLqN2bLY4WeYxKJZg9VRL6qsBmnuSLF5WuQZ3nxVpVg6RMEvd4bfvfMjqtnWGnEnZKca26C382MJCfdJhdzUem8QfWDw6cxSAWkEjaK63z</span> </code></pre> <p>Which should print something that looks like this</p> <p><code>vpub5SLqN2bLY4WeXxMqwJHJFBEwxSscGB2uDUnsTS3edVjZEwTrQDFDNqoR2xLqARQPabGaXsHSTenTRcqm2EnB9MpuC4vSk3LqSgNmGGZtuq7</code></p> @@ -131,17 +131,17 @@ println(rootXPub) again after initializing it once. You can use the same <code>mnemonic</code> for different networks, which you control <code>KeyManagerParams</code>.</p> <pre><code class="hljs css language-scala"><span class="hljs-comment">//let's create a nested segwit key manager for mainnet</span> <span class="hljs-keyword">val</span> mainnetKmParams = <span class="hljs-type">KeyManagerParams</span>(seedPath, <span class="hljs-type">HDPurposes</span>.<span class="hljs-type">SegWit</span>, <span class="hljs-type">MainNet</span>) -<span class="hljs-comment">// mainnetKmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example142861398342225246/encrypted-bitcoin-s-seed.json,m/84',MainNet)</span> +<span class="hljs-comment">// mainnetKmParams: KeyManagerParams = KeyManagerParams(/tmp/key-manager-example5196382048855943004/encrypted-bitcoin-s-seed.json,m/84',MainNet)</span> <span class="hljs-comment">//we do not need to all `initializeWithMnemonic()` again as we have saved the seed to dis</span> <span class="hljs-keyword">val</span> mainnetKeyManager = <span class="hljs-type">BIP39KeyManager</span>.fromMnemonic(mnemonic, mainnetKmParams, <span class="hljs-type">None</span>, <span class="hljs-type">Instant</span>.now) -<span class="hljs-comment">// mainnetKeyManager: BIP39KeyManager = org.bitcoins.keymanager.bip39.BIP39KeyManager@2ed05572</span> +<span class="hljs-comment">// mainnetKeyManager: BIP39KeyManager = org.bitcoins.keymanager.bip39.BIP39KeyManager@3e6cb3be</span> <span class="hljs-keyword">val</span> mainnetXpub = mainnetKeyManager.getRootXPub -<span class="hljs-comment">// mainnetXpub: ExtPublicKey = zpub6jftahH18ngZxKZuQxFsVoxoBL63kANjwBfoW9f62YVGcdnxcnyGtJeBac7FK4V2E8yVMvdD1SkbpgSkYUGZw24jB8B7VPbeHQQWq1uAnAR</span> +<span class="hljs-comment">// mainnetXpub: ExtPublicKey = zpub6jftahH18ngZx95mu7HzFgUrZ4MafvJEjxzHgdNW1r1CJpc9wFirABHupfj8VuPvR7nqZvURsmSYqM7tBVJ3fbVXt2HvGjtuX4mKo5sC7gT</span> println(mainnetXpub) -<span class="hljs-comment">// zpub6jftahH18ngZxKZuQxFsVoxoBL63kANjwBfoW9f62YVGcdnxcnyGtJeBac7FK4V2E8yVMvdD1SkbpgSkYUGZw24jB8B7VPbeHQQWq1uAnAR</span> +<span class="hljs-comment">// zpub6jftahH18ngZx95mu7HzFgUrZ4MafvJEjxzHgdNW1r1CJpc9wFirABHupfj8VuPvR7nqZvURsmSYqM7tBVJ3fbVXt2HvGjtuX4mKo5sC7gT</span> </code></pre> <p>Which gives us something that looks like this</p> <p><code>zpub6jftahH18ngZw98KGjRo5XcxeKTQ2eztsvskb1dC9XF5TLimQquTs6Ry7nBBA425D9joXmfgJJCexmJ1u2SELJZJfRi95gcnXadLpZzYb5c</code></p> diff --git a/docs/next/secp256k1/secp256k1.html b/docs/next/secp256k1/secp256k1.html index db33c08587..593bec74c7 100644 --- a/docs/next/secp256k1/secp256k1.html +++ b/docs/next/secp256k1/secp256k1.html @@ -114,12 +114,12 @@ println(<span class="hljs-string">s"Verified with NativeSecp256k1 again=<span cl <pre><code class="hljs css language-scala"><span class="hljs-keyword">val</span> privKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// privKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> publicKey = privKey.publicKeyWithBouncyCastle -<span class="hljs-comment">// publicKey: ECPublicKey = ECPublicKey(03cf99214d15cf91e7d5c43c958fb5c9855a6322893ef36fefd41d1831fb69df7d)</span> +<span class="hljs-comment">// publicKey: ECPublicKey = ECPublicKey(034a208ca3dd746001e1c74d6c7ab8e4dfbbb5bc39248865db3499dcbb680da544)</span> <span class="hljs-keyword">val</span> dataToSign = <span class="hljs-type">DoubleSha256Digest</span>.empty <span class="hljs-comment">// dataToSign: DoubleSha256Digest = DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000)</span> <span class="hljs-keyword">val</span> signature = privKey.signWithBouncyCastle(dataToSign.bytes) -<span class="hljs-comment">// signature: ECDigitalSignature = ECDigitalSignature(304402203aaf38072f0a1945c272a34afdc46211b2c75a96d85724b8d951b24e79ccbd7c0220595dc40e03c9a27f121f031acac0570cc67ac7a89322b44b5b5ecff4537216e5)</span> +<span class="hljs-comment">// signature: ECDigitalSignature = ECDigitalSignature(3045022100a544f8ad388d5263b44c8f75cf1aeab46908e6d6e2c6ea916c6d297dc775de9d022015691c9649469f46ef0f46c33826b621b4450544434d4ea4a2accc95df516a45)</span> <span class="hljs-keyword">val</span> verified = publicKey.verifyWithBouncyCastle(dataToSign.bytes, signature) <span class="hljs-comment">// verified: Boolean = true</span> diff --git a/docs/next/secp256k1/secp256k1/index.html b/docs/next/secp256k1/secp256k1/index.html index db33c08587..593bec74c7 100644 --- a/docs/next/secp256k1/secp256k1/index.html +++ b/docs/next/secp256k1/secp256k1/index.html @@ -114,12 +114,12 @@ println(<span class="hljs-string">s"Verified with NativeSecp256k1 again=<span cl <pre><code class="hljs css language-scala"><span class="hljs-keyword">val</span> privKey = <span class="hljs-type">ECPrivateKey</span>.freshPrivateKey <span class="hljs-comment">// privKey: ECPrivateKey = Masked(ECPrivateKeyImpl)</span> <span class="hljs-keyword">val</span> publicKey = privKey.publicKeyWithBouncyCastle -<span class="hljs-comment">// publicKey: ECPublicKey = ECPublicKey(03cf99214d15cf91e7d5c43c958fb5c9855a6322893ef36fefd41d1831fb69df7d)</span> +<span class="hljs-comment">// publicKey: ECPublicKey = ECPublicKey(034a208ca3dd746001e1c74d6c7ab8e4dfbbb5bc39248865db3499dcbb680da544)</span> <span class="hljs-keyword">val</span> dataToSign = <span class="hljs-type">DoubleSha256Digest</span>.empty <span class="hljs-comment">// dataToSign: DoubleSha256Digest = DoubleSha256Digest(0000000000000000000000000000000000000000000000000000000000000000)</span> <span class="hljs-keyword">val</span> signature = privKey.signWithBouncyCastle(dataToSign.bytes) -<span class="hljs-comment">// signature: ECDigitalSignature = ECDigitalSignature(304402203aaf38072f0a1945c272a34afdc46211b2c75a96d85724b8d951b24e79ccbd7c0220595dc40e03c9a27f121f031acac0570cc67ac7a89322b44b5b5ecff4537216e5)</span> +<span class="hljs-comment">// signature: ECDigitalSignature = ECDigitalSignature(3045022100a544f8ad388d5263b44c8f75cf1aeab46908e6d6e2c6ea916c6d297dc775de9d022015691c9649469f46ef0f46c33826b621b4450544434d4ea4a2accc95df516a45)</span> <span class="hljs-keyword">val</span> verified = publicKey.verifyWithBouncyCastle(dataToSign.bytes, signature) <span class="hljs-comment">// verified: Boolean = true</span>