diff --git a/core/shared/src/main/scala/sigma/VersionContext.scala b/core/shared/src/main/scala/sigma/VersionContext.scala index 14e6dc8b21..a7928cd513 100644 --- a/core/shared/src/main/scala/sigma/VersionContext.scala +++ b/core/shared/src/main/scala/sigma/VersionContext.scala @@ -35,9 +35,7 @@ object VersionContext { */ val MaxSupportedScriptVersion: Byte = 2 // supported versions 0, 1, 2 - /** The first version of ErgoTree starting from which the JIT costing interpreter must be used. - * It must also be used for all subsequent versions (3, 4, etc). - */ + /** The first version of ErgoTree starting from which the JIT costing interpreter is used. */ val JitActivationVersion: Byte = 2 private val _defaultContext = VersionContext( diff --git a/interpreter/shared/src/main/scala/sigmastate/interpreter/InterpreterContext.scala b/interpreter/shared/src/main/scala/sigmastate/interpreter/InterpreterContext.scala index 017af3ff9b..864146ca07 100644 --- a/interpreter/shared/src/main/scala/sigmastate/interpreter/InterpreterContext.scala +++ b/interpreter/shared/src/main/scala/sigmastate/interpreter/InterpreterContext.scala @@ -5,11 +5,9 @@ import sigmastate.SType import sigmastate.Values.EvaluatedValue import sigmastate.interpreter.ContextExtension.VarBinding import sigmastate.serialization.SigmaSerializer -import sigmastate.utils.{SigmaByteReader, SigmaByteWriter} +import sigmastate.utils.{SigmaByteWriter, SigmaByteReader} import sigma.AnyValue -import scala.collection.mutable - /** * User-defined variables to be put into context. * Each variable is identified by `id: Byte` and can be accessed from a script @@ -35,7 +33,6 @@ object ContextExtension { type VarBinding = (Byte, EvaluatedValue[_ <: SType]) object serializer extends SigmaSerializer[ContextExtension, ContextExtension] { - override def serialize(obj: ContextExtension, w: SigmaByteWriter): Unit = { val size = obj.values.size if (size > Byte.MaxValue) @@ -48,13 +45,13 @@ object ContextExtension { val extSize = r.getByte() if (extSize < 0) error(s"Negative amount of context extension values: $extSize") - val ext = (0 until extSize) - .map(_ => (r.getByte(), r.getValue().asInstanceOf[EvaluatedValue[_ <: SType]])) - ContextExtension(mutable.LinkedHashMap(ext:_*)) - } - } + val values = (0 until extSize) + .map(_ => (r.getByte(), r.getValue().asInstanceOf[EvaluatedValue[_ <: SType]])) + ContextExtension(values.toMap) + } + } } diff --git a/interpreter/shared/src/main/scala/sigmastate/utils/Helpers.scala b/interpreter/shared/src/main/scala/sigmastate/utils/Helpers.scala index 5693def9af..e3407c57e8 100644 --- a/interpreter/shared/src/main/scala/sigmastate/utils/Helpers.scala +++ b/interpreter/shared/src/main/scala/sigmastate/utils/Helpers.scala @@ -129,6 +129,19 @@ object Helpers { case Right(b) => Right(f(b)) case _ => this.asInstanceOf[Either[A, B1]] } + + /** Returns a `Some` containing the `Right` value + * if it exists or a `None` if this is a `Left`. + * + * {{{ + * Right(12).toOption // Some(12) + * Left(12).toOption // None + * }}} + */ + def toOption: Option[B] = source match { + case Right(value) => Some(value) + case _ => None + } } /** Decodes the given hex string into byte array and then uses diff --git a/sc/shared/src/test/scala/org/ergoplatform/ErgoLikeTransactionSpec.scala b/sc/shared/src/test/scala/org/ergoplatform/ErgoLikeTransactionSpec.scala index b8579ddedf..1661f43803 100644 --- a/sc/shared/src/test/scala/org/ergoplatform/ErgoLikeTransactionSpec.scala +++ b/sc/shared/src/test/scala/org/ergoplatform/ErgoLikeTransactionSpec.scala @@ -1,6 +1,8 @@ package org.ergoplatform +import io.circe.parser import org.ergoplatform.ErgoBox.TokenId +import org.ergoplatform.sdk.JsonCodecs import org.ergoplatform.settings.ErgoAlgos import scorex.util.encode.Base16 import scorex.util.{Random, ModifierId} @@ -17,8 +19,9 @@ import sigmastate.helpers.TestingHelpers.copyTransaction import sigmastate.utils.Helpers import sigma.SigmaDslTesting import sigma.Extensions._ +import sigmastate.utils.Helpers.EitherOps // required for Scala 2.11 -class ErgoLikeTransactionSpec extends SigmaDslTesting { +class ErgoLikeTransactionSpec extends SigmaDslTesting with JsonCodecs { property("ErgoBox test vectors") { val token1 = "6e789ab7b2fffff12280a6cd01557f6fb22b7f80ff7aff8e1f7f15973d7f0001" @@ -124,12 +127,14 @@ class ErgoLikeTransactionSpec extends SigmaDslTesting { } } - property("ErgoLikeTransaction: Serializer round trip") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("ErgoLikeTransaction: Serializer round trip") { forAll(MinSuccessful(50)) { t: ErgoLikeTransaction => roundTripTest(t)(ErgoLikeTransaction.serializer) } forAll(MinSuccessful(50)) { t: ErgoLikeTransaction => roundTripTestWithPos(t)(ErgoLikeTransaction.serializer) } } - property("ErgoLikeTransaction with same token in different outputs : Serializer round trip") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("ErgoLikeTransaction with same token in different outputs : Serializer round trip") { forAll { txIn: ErgoLikeTransaction => whenever(txIn.outputCandidates.head.additionalTokens.nonEmpty) { val out = txIn.outputCandidates.head @@ -306,6 +311,167 @@ class ErgoLikeTransactionSpec extends SigmaDslTesting { } } + property("context extension serialization test vector") { + val txJs: String = + """ + |{ + | "id": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "inputs": [ + | { + | "boxId": "f64a3f6033ac9436035f1281db6da9be26b4f06b4f4d16e38d6e66e02b4b5a26", + | "spendingProof": { + | "proofBytes": "", + | "extension": { + | "0": "0e9f0f03eb6ce4f6ebf591fb573a47a5f45dc32dda1df82e086bbe1f09be1cb08eb755c702039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe42039d2a0a218d7c48c8fd46a8d29431bd056c84882a216a567326c3c7984ec83500000052073b233f9224be81ed84020c69bbd0cf03dc57cda5486dc50f49c2fb65b9c5de6300000022696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65000000066c61746573740003ad08081f556b87ee0dc46268b34249ecd7b0f6f0cf42815db8f810140b8133b70000038c2861b79527ca2b127e8810825fdd482679e938a73e62d50c0acaafbfc33e170209820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e0cd12d6cce7fef5daa90b45e7a0b3feb7b889c8cb4dbe458f81b91cb2dc0adf700000056071f96aa5c76e1b753546096cce3146970ff136b73c6c2426d49076627c60d9c0300000026696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65566f7465000000066c6174657374000003f196e783d22a19d0b359d9937f5c244d1f1fe664e0fc685439c9064940787c51ff03f40602753476d35f0373a2ddd03c6306e1192c6c729acf984550729c2ce224e6ff01035c4fb1d25cbaf3a3532ed97310b9db523e3f0e9dcfdd39c35565eec364c6f2e00331cc638f36191662151900b3de1f51ac2d932f58c54bcf5cc6de65ad0e12d5780371d59fdfd95372b157c05ac5206634cc6a11cb7be0008b275d598fd9206eda29023a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d3b0839c7f77efc86dba0a45faacd64a638b68e0ac26aa80a158c8ebe57ae15830000005d0733c60503ff52123772daeac14d72f684ce371bf2785087bb09878150d78549f80000002d696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b6550726f6669745368617265000000066c617465737400000103d479de5022c92078576191f4ec13915a729deaa9e655bf042480b1f487b99a0dff000003692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603e93db403babf1829d3630f412f7e75126dc8fe06a9af5ccae817818b0f923138028830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c280892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20000005807acfbfb8d5b5108a6bcba28d96e6a1c23a3b2a1500d74a4b5646d63a92b3a258e00000028696d2e706169646569612e7374616b696e672e636f6e7472616374732e4368616e67655374616b65000000066c61746573740000028bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400028f90981e071173fb1bb8d89741720a4838ee6614635a2931575f46cc1ba23b610000005407b0a75422339f6a60bbca898b8345b8f02cad644f68a94ddbf55f127835dd154a00000024696d2e706169646569612e7374616b696e672e636f6e7472616374732e556e7374616b65000000066c617465737400000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103253c1c4b5771de43d4383cc1c0fb120db149965d370c6d64155b033f7b923c1b03841d98088445454ad639a3d65f142d5a0d5cfd50002f3d417272438edde4de5203b7db2ecffb7f3157905e3c7ba8862c136ec5dc7ef41ef2215815f2431090982702deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410dae12a45275dc4a032174f973aa7a621c45518caeb4f0943106b6aa926a304f5120000005707a494c122a6fdb63fe8224a797e678384f937d5625cfad5469aa8e2d9599555c200000027696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b655374617465000000066c61746573740003046a30ec7a0caa7917718f3b155108ac75b419bbc706c2065cd90b7d44588fda0000ff0103b2af5cb66e6c1ad1121b5015b01c00385a16dd603948c5008e5420969979a5dcff010104c457a729b4931b", + | "1": "0204" + | } + | } + | }, + | { + | "boxId": "77d114e0b536e5ba15cac9e36f07b2fc5f32b6957ea7982811ca91d758d76a9e", + | "spendingProof": { + | "proofBytes": "", + | "extension": { + | "0": "0eb70603e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f301024932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a249760084f7d55ab90470ebf4d4baaf057d8b42d8cc2dab619edaa2998a10479d000000060a0a0000000003342f928c7ed219a5aaf29c4b29bd1bf169467ae8603b33d7e78a83ae49769da10101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da0336d703874a7f5f50ba0f85ee86201212ea0b235e29986f72e158c4d1c98ae161039f3a488b1ae525477f300719d82844e32833486d07ebe3dd6241c9b91e43190402efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adff0367ddf3435981f4aa5571b91dd46fe813667f2888d4fc691968fde15879b97000000260a000000002000ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac2800000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104186d05", + | "1": "0c3c0e0e142001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f61800000000000000000000000009573d9c00000000000076a220059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10180000018b04b346390000000013a608b200000000000184f8200cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41180000018b10954f99000000001d32fba20000000000052eaa200ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41180000018b045782ed0000000016739515000000000001b9c6202bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d180000018aff88ac1f00000000062920e6000000000000ac1d2059abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8180000000000000000000000003ef71392000000000003ea892072df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a18000000000000000000000000009c3c4100000000000008e2207350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac5180000018b04b346390000000042fbbc7e000000000004e8f7207755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa1800000000000000000000000018f25226000000000000f124208c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a56180000018b4d48257000000002308ce71800000000003bfba22099cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9180000018b680d4ec000000000032db5630000000000008ee520a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f180000018b4d48257000000001886334cb000000000021809820ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3180000018b680d4ec000000000010cbac4000000000000349320b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb918000000000000000000000000008ff4df0000000000000a1f20bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c92180000018c07d1ab7100000000071fd106000000000000f18a20c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77180000018b0bca79510000000006ab2c550000000000008f5b20c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149180000018af6463f8800000000123a6b440000000000021dc520c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e180000018c07d1ab7100000001c99d2dc7000000000036065520c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a180000018b05bc55ab000000000181c047000000000000260e20d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa180000018b682470e400000000011910a000000000000036c1", + | "2": "0eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700", + | "3": "0ea60a03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004eff69aa3196e5a0967841000", + | "4": "0ea70a02000000000000000000000000000000000000000000000000000000000000000001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f60000000002059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004efeeed6e6fb76e2d01", + | "5": "0e46020000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000004", + | "6": "0eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700" + | } + | } + | }, + | { + | "boxId": "17d1e4c4616a362bae8648ec0a8fa88aa1d3d96d142fe450742f4a2682145ff7", + | "spendingProof": { + | "proofBytes": "", + | "extension": { + | "0": "0ef40303e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103dda4c007ce8365b877b79e8b30a927e15b438b674e39e8ab9dc1b901c6feb8c303dd36ea8f88b9263cbde24fcdad778475e8f94bb6901c2556d79e5fa167e236ae025bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa5be447c71392c430b0126048269f9a788af35527755face9d229fd86530e34f5000000090300000000004c4b40000398eb5d3b8876940dccef4fa83bcebdd738dbeef9482f55cd13c034025412a83affffff0311ee6ddc0c44d48571f45874e8007cf669cd3338679165d8ea9cf35357bdda3b03ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da037935a425cf6ad3f58f04db153bf2e7ca5d985e3fa12fc7cfad61f73c9ce8e39a02ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130eeab3b56ae3fcb0ad2ffc7548748cee3ce641da2998b4a78e1559ec7320e40450000000903000000000000006400038179943fc3ecaa747fcb4cc813933f82005475db2f09261cf27c5ecab30b3b40000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104b804", + | "1": "0eb80503e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103337f72319307df7b0c3bc42c6e24c16d3ad0d011400d5f2712ec2d6aeaf8629f010104da02" + | } + | } + | } + | ], + | "dataInputs": [ + | { + | "boxId": "8bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c66" + | }, + | { + | "boxId": "8bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c66" + | } + | ], + | "outputs": [ + | { + | "boxId": "95ba6b501b710bdfb261995a5511579b0c31170596041318450eea4827931fab", + | "value": 13250000, + | "ergoTree": "1032040004020e20deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410da0e20039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe420e208830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c2800e208bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc50e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e203a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d0e2009820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e040004000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f90400040c02000402040204420201040404020442020204060402044202030408040204420204040a040204420205040c040204420206040e040204420400040204420400040004020402d808d601b2db6501fe730000d602e4e30102d6037e720204d604b2a4730100d605dc640be4c6720104640283080e73027303730473057306730773087309e4e3000ed606b2a5730a00d607db63087206d608db6308a7d196830401938cb2db63087201730b0001730ced927203730d907203730e97830701ed937202730f93cbc27204b4e4b2720573100073117312ed937202731393cbc27204b4e4b2720573140073157316ed937202731793cbc27204b4e4b272057318007319731aed937202731b93cbc27204b4e4b27205731c00731d731eed937202731f93cbc27204b4e4b2720573200073217322ed937202732393cbc27204b4e4b2720573240073257326ed937202732793cbc27204b4e4b272057328007329732a9683030193cbc27206b4e4b27205732b00732c732d93b27207732e00b27208732f00938cb27207733000018cb2720873310001", + | "assets": [ + | { + | "tokenId": "00ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac28", + | "amount": 1 + | }, + | { + | "tokenId": "0040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc5983", + | "amount": 108412307528 + | } + | ], + | "creationHeight": 1140118, + | "additionalRegisters": { + | "R4": "0c64022c659cd7a638ab858b03135353be754e13098e23833a36f417e236b5e7b204c7060720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e160900072000", + | "R5": "11078094c7e7fe62d8e3abe8d9014400001608", + | "R6": "1d0502c0f4b8dace019cfa86e3d7010200120200c29a989d73021414021414", + | "R7": "0c3c6464024ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e1609000720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e16090007200008e92e280c717db90215047a2f08a82a03246a52824a5c74379f666806485cd40607200056736400f2fccbe31edd2bd0f1873e3445207fed1bfbcd1cb52a929b81e1fe1f03072000", + | "R8": "1102d2e9a4850218" + | }, + | "transactionId": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "index": 0 + | }, + | { + | "boxId": "8ea30f311e0d45ccc7123f9578e016dbedaa8b1239eee2a5d5eeb6ac3e985ade", + | "value": 1000000, + | "ergoTree": "108601040004000e20efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adf0e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a2040004040400040c044a040a040c044a040a040c044a040204080500041004100410050104000410042004000400040204000406050004000200040404000408050004000200040002640200026406010006010004000410041004200500050004100410041006010001010400050004000400040004000601000400040004020402040204000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f904000400040c044c040005000400040004000400040204000402041004200500040004020402044204020402040004000404040a0404040a0414024e02c6021f0248025b029802eb02870215023f027c025702db024f025e02cd02750255026f02dd02bc0240023b024102ac02f80244021f02de028e021602090200040ad830d601b2db6501fe730000d602b2a4730100d603db63087202d604dc640be4c6720104640283030e730273037304e4e3000ed605e4e3010c3c0e0ed606ad7205d901063c0e0e8c720601d607db0c0e7206d608e4c67202040c64d609b27208730500d60ae4c672020511d60bb1720ad60ce4b27204730600d60ddb0c0eb4720c73079d99b1720c73087309d60eb3b4720a730a720badb4ad720dd9010e04b4720c9a9a730b9c730c720e730d9a730e9c730f9a720e731099720b7311b1720dd9010e0e7312d60fdb0c0e720ed610addc640b7209027206e4e3020ed901103295e67210ad720fd9011204d801d6149a9c7212731373147cb4e4721072149a72147315ad720ed90112057316d611e4c67202070c3c6464d612b27211731700d6138c721201d614addc640b7213027206e4e3030ed90114327cb4e4721473187319d615e4c67202061dd616b2b27215731a00731b00d617b2b27215731c00731d00d618b27215731e00d61995917217731f7db27218732000027321d61ab2b27215732200732300d61bb27215732400d61c9591721a73257db2721b732600027327d61d9a7219721cd61e95917e721d047328a2997329721d732a732bd61f732cd620732dd6219a721d721ed6228c721202d623addc640b7222027206e4e3050ed901233295e67223d801d625e4722386027cb47225732e732f7cb4722573307331860273327333d624e4c672020811d625ad7205d901253c0e0ead720fd9012704d801d6299a9c7227733473357cb48c72250272299a72297336d6268602ad7224d901260573377338d627addb0c0e7224d9012704b0ad7207d9012904d801d62bb272107229009592b2722b733900733ad801d62cad7224d9012c05d801d62e7e722c069d9a9a9c9d9c7eb2721472290006722e7e7216067e721e0695917e721904733b9c9d9c7e8cb272237229000106722e7e7217067eb27218733c0006721f95917e721c04733d9c9d9c7e8cb272237229000206722e7e721a067eb2721b733e000672207e7221068602722c93addc0c1d722b01722cd9012d41069a7e8c722d01068c722d02adb27225722900d9012d057e722d067226733fd901294249129a8c722901b28c8c72290201722700d628b2a5734000d629e4c672280511d62ae4c67228070c3c6464d62bb2722a734100d62cdb64018c722b01d62de4c67228040c64d62eb2a5734200d62f938c722b027222d63093b4722a7343b1722ab472117344b17211d196830a01938cb2db63087201734500017346938cb2720373470001b4e4b272047348007349734a96ad7207d9013104d801d633b272107231008c9592b27233734b00734cd801d634ad7224d9013405d801d6367e7234069d9a9a9c9d9c7eb272147231000672367e7216067e721e0695917e721904734d9c9d9c7e8cb27223723100010672367e7217067eb27218734e0006721f95917e721c04734f9c9d9c7e8cb27223723100020672367e721a067eb2721b7350000672207e7221068602723493addc0c1d7233017234d9013541069a7e8c723501068c723502adb27225723100d90135057e723506722602939a7eb2720a73510006b272277352007eb272297353000693db6401e4dc640e7213027206e4e3040e722c93db6401e4dc640d720902b57205d901313c0e0e917cb48c723102735473557356e4e3060edb6401b2722d7357009683020193cbc2722eb4e4b272047358007359735a92c1722ec1a796830b0193c17228c1720293db63087228720393db6401b2722d735b00db6401b27208735c00722f723093b27229735d00b2720a735e0093b47229735f7360b4720a7361736293e4c67228061d72157230722f93e4c6722808117224ec92b17205736393722c832102736473657366736773687369736a736b736c736d736e736f7370737173727373737473757376737773787379737a737b737c737d737e737f738001738101738201738301738401af720fd9013104937eb2b47229738501b1722972310006997eb2720e72310006b27227723100", + | "assets": [], + | "creationHeight": 1140118, + | "additionalRegisters": {}, + | "transactionId": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "index": 1 + | }, + | { + | "boxId": "87276307cea6b7c0c61625da8f47af411b6e39ffcd6505987e1741a8e76ea3bb", + | "value": 150000, + | "ergoTree": "0008cd03832bdacda82a0c081a5e245a197b0a8685afc21e1f456247d0ff94863d42c858", + | "assets": [ + | { + | "tokenId": "0040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc5983", + | "amount": 100 + | } + | ], + | "creationHeight": 1140118, + | "additionalRegisters": {}, + | "transactionId": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "index": 2 + | }, + | { + | "boxId": "597af8ad6e8adbd8a519dcc7a507a97f7969bccaf0d1b2f2189de9229ee600c7", + | "value": 4850000, + | "ergoTree": "1005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a57304", + | "assets": [], + | "creationHeight": 1140118, + | "additionalRegisters": {}, + | "transactionId": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "index": 3 + | }, + | { + | "boxId": "425b9450d13ae3ac82a6ba514848482d1440432b3b71f7d929006f5867b649a8", + | "value": 1662350000, + | "ergoTree": "103b040004000e20008a3b597bd494557adf7d0d0a3b6ba32f935cf52f83f46a6b1233333a487a5101000e200040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc59830e205bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa040004000400040205000500050004000e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5040004000e20225e3fc5d189f547d9c626bebdc671398b6c007c783dc47f903f24bf7f3484790e20bc4a5ab9e45ab74b79faecbf67496cc2bf8c2b0e55dbe8accfc39d14891174900e20767caa80b98e496ad8a9f689c4410ae453327f0f95e95084c0ae206350793b7704000402041204040502040404020442040004000406040204120500050004020402041204020402040204420e20ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130040204020412050005000400040204120402040004020442040204020100d803d601aea4d9010163d801d603db630872019591b172037300938cb272037301000173027303d6027304d6037305d197830201720195ef7201d810d604b2a5730600d605e4c672040511d606b2a4730700d607c2a7d608b2b5a5d901086393c272087207730800d609db6501fed60ae4c6b272097309000464d60be4e3000ed60cb5a4d9010c6393c2720c7207d60db0720c730ad9010d41639a8c720d01c18c720d02d60edb63087208d60fd9010f0eb0dc0c0f720c01d9011163db63087211730bd90111414d0ed801d6138c7211029a8c72110195938c721301720f8c721302730cd610da720f017202d611dc640be4c6b27209730d0004640283020e730e730fe4e3010ed612afb5720ed901124d0e948c7212017202d901124d0e938c721202da720f018c721201d613afdc0c0f720c01d9011363db63087213d901134d0ed801d6158c721301ec9372157202aedb63087208d901164d0e938c72160172159591b27205731000b2e4c672060511731100d803d614dc640b720a0283040e7312731373147203720bd6159a9c7cb4e4b2721473150073167317b272057318007319d616b2db6308b2b5a5d901166393cbc27216b4e4b27214731a00731b731c731d00731e009683070192c1720899720d7cb4e4b27214731f007320732192b0720e7322d90117414d0ed801d6198c7217029a8c72170195938c72190172028c72190273239999721072157cb4e4b272147324007325732672127213938c7216017202928c721602721593cbc2b2a4732700b4e4b272117328007329732ad801d614dc640b720a0283020e732b7203720b9683060192c1720899720d7cb4e4b27214732c00732d732e92b0720e732fd90115414d0ed801d6178c7215029a8c72150195938c72170172028c72170273309972107cb4e4b27214733100733273337212721393cbc2b2a4733400b4e4b2721173350073367337938cb2db63087204733800028cb2db6308720673390002733a", + | "assets": [ + | { + | "tokenId": "0040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc5983", + | "amount": 10098621471 + | } + | ], + | "creationHeight": 1140118, + | "additionalRegisters": {}, + | "transactionId": "314641065c532406b68ff6b590280a18ce239811439b054624e60d40d7d55008", + | "index": 4 + | } + | ], + | "size": 16024 + | }""".stripMargin + val tx = parser.parse(txJs).toOption.get.as[ErgoLikeTransaction].toOption.get + val txBytes = ErgoLikeTransactionSerializer.toBytes(tx) + + val expectedTxHex = "03f64a3f6033ac9436035f1281db6da9be26b4f06b4f4d16e38d6e66e02b4b5a260002000e9f0f03eb6ce4f6ebf591fb573a47a5f45dc32dda1df82e086bbe1f09be1cb08eb755c702039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe42039d2a0a218d7c48c8fd46a8d29431bd056c84882a216a567326c3c7984ec83500000052073b233f9224be81ed84020c69bbd0cf03dc57cda5486dc50f49c2fb65b9c5de6300000022696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65000000066c61746573740003ad08081f556b87ee0dc46268b34249ecd7b0f6f0cf42815db8f810140b8133b70000038c2861b79527ca2b127e8810825fdd482679e938a73e62d50c0acaafbfc33e170209820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e0cd12d6cce7fef5daa90b45e7a0b3feb7b889c8cb4dbe458f81b91cb2dc0adf700000056071f96aa5c76e1b753546096cce3146970ff136b73c6c2426d49076627c60d9c0300000026696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65566f7465000000066c6174657374000003f196e783d22a19d0b359d9937f5c244d1f1fe664e0fc685439c9064940787c51ff03f40602753476d35f0373a2ddd03c6306e1192c6c729acf984550729c2ce224e6ff01035c4fb1d25cbaf3a3532ed97310b9db523e3f0e9dcfdd39c35565eec364c6f2e00331cc638f36191662151900b3de1f51ac2d932f58c54bcf5cc6de65ad0e12d5780371d59fdfd95372b157c05ac5206634cc6a11cb7be0008b275d598fd9206eda29023a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d3b0839c7f77efc86dba0a45faacd64a638b68e0ac26aa80a158c8ebe57ae15830000005d0733c60503ff52123772daeac14d72f684ce371bf2785087bb09878150d78549f80000002d696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b6550726f6669745368617265000000066c617465737400000103d479de5022c92078576191f4ec13915a729deaa9e655bf042480b1f487b99a0dff000003692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603e93db403babf1829d3630f412f7e75126dc8fe06a9af5ccae817818b0f923138028830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c280892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20000005807acfbfb8d5b5108a6bcba28d96e6a1c23a3b2a1500d74a4b5646d63a92b3a258e00000028696d2e706169646569612e7374616b696e672e636f6e7472616374732e4368616e67655374616b65000000066c61746573740000028bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400028f90981e071173fb1bb8d89741720a4838ee6614635a2931575f46cc1ba23b610000005407b0a75422339f6a60bbca898b8345b8f02cad644f68a94ddbf55f127835dd154a00000024696d2e706169646569612e7374616b696e672e636f6e7472616374732e556e7374616b65000000066c617465737400000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103253c1c4b5771de43d4383cc1c0fb120db149965d370c6d64155b033f7b923c1b03841d98088445454ad639a3d65f142d5a0d5cfd50002f3d417272438edde4de5203b7db2ecffb7f3157905e3c7ba8862c136ec5dc7ef41ef2215815f2431090982702deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410dae12a45275dc4a032174f973aa7a621c45518caeb4f0943106b6aa926a304f5120000005707a494c122a6fdb63fe8224a797e678384f937d5625cfad5469aa8e2d9599555c200000027696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b655374617465000000066c61746573740003046a30ec7a0caa7917718f3b155108ac75b419bbc706c2065cd90b7d44588fda0000ff0103b2af5cb66e6c1ad1121b5015b01c00385a16dd603948c5008e5420969979a5dcff010104c457a729b4931b01020477d114e0b536e5ba15cac9e36f07b2fc5f32b6957ea7982811ca91d758d76a9e0007000eb70603e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f301024932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a249760084f7d55ab90470ebf4d4baaf057d8b42d8cc2dab619edaa2998a10479d000000060a0a0000000003342f928c7ed219a5aaf29c4b29bd1bf169467ae8603b33d7e78a83ae49769da10101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da0336d703874a7f5f50ba0f85ee86201212ea0b235e29986f72e158c4d1c98ae161039f3a488b1ae525477f300719d82844e32833486d07ebe3dd6241c9b91e43190402efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adff0367ddf3435981f4aa5571b91dd46fe813667f2888d4fc691968fde15879b97000000260a000000002000ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac2800000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104186d05010c3c0e0e142001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f61800000000000000000000000009573d9c00000000000076a220059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10180000018b04b346390000000013a608b200000000000184f8200cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41180000018b10954f99000000001d32fba20000000000052eaa200ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41180000018b045782ed0000000016739515000000000001b9c6202bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d180000018aff88ac1f00000000062920e6000000000000ac1d2059abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8180000000000000000000000003ef71392000000000003ea892072df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a18000000000000000000000000009c3c4100000000000008e2207350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac5180000018b04b346390000000042fbbc7e000000000004e8f7207755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa1800000000000000000000000018f25226000000000000f124208c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a56180000018b4d48257000000002308ce71800000000003bfba22099cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9180000018b680d4ec000000000032db5630000000000008ee520a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f180000018b4d48257000000001886334cb000000000021809820ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3180000018b680d4ec000000000010cbac4000000000000349320b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb918000000000000000000000000008ff4df0000000000000a1f20bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c92180000018c07d1ab7100000000071fd106000000000000f18a20c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77180000018b0bca79510000000006ab2c550000000000008f5b20c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149180000018af6463f8800000000123a6b440000000000021dc520c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e180000018c07d1ab7100000001c99d2dc7000000000036065520c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a180000018b05bc55ab000000000181c047000000000000260e20d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa180000018b682470e400000000011910a000000000000036c1020eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700030ea60a03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004eff69aa3196e5a0967841000040ea70a02000000000000000000000000000000000000000000000000000000000000000001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f60000000002059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004efeeed6e6fb76e2d01050e46020000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000004060eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c70017d1e4c4616a362bae8648ec0a8fa88aa1d3d96d142fe450742f4a2682145ff70002000ef40303e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103dda4c007ce8365b877b79e8b30a927e15b438b674e39e8ab9dc1b901c6feb8c303dd36ea8f88b9263cbde24fcdad778475e8f94bb6901c2556d79e5fa167e236ae025bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa5be447c71392c430b0126048269f9a788af35527755face9d229fd86530e34f5000000090300000000004c4b40000398eb5d3b8876940dccef4fa83bcebdd738dbeef9482f55cd13c034025412a83affffff0311ee6ddc0c44d48571f45874e8007cf669cd3338679165d8ea9cf35357bdda3b03ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da037935a425cf6ad3f58f04db153bf2e7ca5d985e3fa12fc7cfad61f73c9ce8e39a02ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130eeab3b56ae3fcb0ad2ffc7548748cee3ce641da2998b4a78e1559ec7320e40450000000903000000000000006400038179943fc3ecaa747fcb4cc813933f82005475db2f09261cf27c5ecab30b3b40000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104b804010eb80503e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103337f72319307df7b0c3bc42c6e24c16d3ad0d011400d5f2712ec2d6aeaf8629f010104da02028bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c668bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c660200ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac280040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc598305d0dba8061032040004020e20deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410da0e20039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe420e208830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c2800e208bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc50e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e203a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d0e2009820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e040004000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f90400040c02000402040204420201040404020442020204060402044202030408040204420204040a040204420205040c040204420206040e040204420400040204420400040004020402d808d601b2db6501fe730000d602e4e30102d6037e720204d604b2a4730100d605dc640be4c6720104640283080e73027303730473057306730773087309e4e3000ed606b2a5730a00d607db63087206d608db6308a7d196830401938cb2db63087201730b0001730ced927203730d907203730e97830701ed937202730f93cbc27204b4e4b2720573100073117312ed937202731393cbc27204b4e4b2720573140073157316ed937202731793cbc27204b4e4b272057318007319731aed937202731b93cbc27204b4e4b27205731c00731d731eed937202731f93cbc27204b4e4b2720573200073217322ed937202732393cbc27204b4e4b2720573240073257326ed937202732793cbc27204b4e4b272057328007329732a9683030193cbc27206b4e4b27205732b00732c732d93b27207732e00b27208732f00938cb27207733000018cb272087331000196cb4502000101c89082ef9303050c64022c659cd7a638ab858b03135353be754e13098e23833a36f417e236b5e7b204c7060720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e16090007200011078094c7e7fe62d8e3abe8d90144000016081d0502c0f4b8dace019cfa86e3d7010200120200c29a989d730214140214140c3c6464024ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e1609000720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e16090007200008e92e280c717db90215047a2f08a82a03246a52824a5c74379f666806485cd40607200056736400f2fccbe31edd2bd0f1873e3445207fed1bfbcd1cb52a929b81e1fe1f030720001102d2e9a4850218c0843d108601040004000e20efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adf0e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a2040004040400040c044a040a040c044a040a040c044a040204080500041004100410050104000410042004000400040204000406050004000200040404000408050004000200040002640200026406010006010004000410041004200500050004100410041006010001010400050004000400040004000601000400040004020402040204000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f904000400040c044c040005000400040004000400040204000402041004200500040004020402044204020402040004000404040a0404040a0414024e02c6021f0248025b029802eb02870215023f027c025702db024f025e02cd02750255026f02dd02bc0240023b024102ac02f80244021f02de028e021602090200040ad830d601b2db6501fe730000d602b2a4730100d603db63087202d604dc640be4c6720104640283030e730273037304e4e3000ed605e4e3010c3c0e0ed606ad7205d901063c0e0e8c720601d607db0c0e7206d608e4c67202040c64d609b27208730500d60ae4c672020511d60bb1720ad60ce4b27204730600d60ddb0c0eb4720c73079d99b1720c73087309d60eb3b4720a730a720badb4ad720dd9010e04b4720c9a9a730b9c730c720e730d9a730e9c730f9a720e731099720b7311b1720dd9010e0e7312d60fdb0c0e720ed610addc640b7209027206e4e3020ed901103295e67210ad720fd9011204d801d6149a9c7212731373147cb4e4721072149a72147315ad720ed90112057316d611e4c67202070c3c6464d612b27211731700d6138c721201d614addc640b7213027206e4e3030ed90114327cb4e4721473187319d615e4c67202061dd616b2b27215731a00731b00d617b2b27215731c00731d00d618b27215731e00d61995917217731f7db27218732000027321d61ab2b27215732200732300d61bb27215732400d61c9591721a73257db2721b732600027327d61d9a7219721cd61e95917e721d047328a2997329721d732a732bd61f732cd620732dd6219a721d721ed6228c721202d623addc640b7222027206e4e3050ed901233295e67223d801d625e4722386027cb47225732e732f7cb4722573307331860273327333d624e4c672020811d625ad7205d901253c0e0ead720fd9012704d801d6299a9c7227733473357cb48c72250272299a72297336d6268602ad7224d901260573377338d627addb0c0e7224d9012704b0ad7207d9012904d801d62bb272107229009592b2722b733900733ad801d62cad7224d9012c05d801d62e7e722c069d9a9a9c9d9c7eb2721472290006722e7e7216067e721e0695917e721904733b9c9d9c7e8cb272237229000106722e7e7217067eb27218733c0006721f95917e721c04733d9c9d9c7e8cb272237229000206722e7e721a067eb2721b733e000672207e7221068602722c93addc0c1d722b01722cd9012d41069a7e8c722d01068c722d02adb27225722900d9012d057e722d067226733fd901294249129a8c722901b28c8c72290201722700d628b2a5734000d629e4c672280511d62ae4c67228070c3c6464d62bb2722a734100d62cdb64018c722b01d62de4c67228040c64d62eb2a5734200d62f938c722b027222d63093b4722a7343b1722ab472117344b17211d196830a01938cb2db63087201734500017346938cb2720373470001b4e4b272047348007349734a96ad7207d9013104d801d633b272107231008c9592b27233734b00734cd801d634ad7224d9013405d801d6367e7234069d9a9a9c9d9c7eb272147231000672367e7216067e721e0695917e721904734d9c9d9c7e8cb27223723100010672367e7217067eb27218734e0006721f95917e721c04734f9c9d9c7e8cb27223723100020672367e721a067eb2721b7350000672207e7221068602723493addc0c1d7233017234d9013541069a7e8c723501068c723502adb27225723100d90135057e723506722602939a7eb2720a73510006b272277352007eb272297353000693db6401e4dc640e7213027206e4e3040e722c93db6401e4dc640d720902b57205d901313c0e0e917cb48c723102735473557356e4e3060edb6401b2722d7357009683020193cbc2722eb4e4b272047358007359735a92c1722ec1a796830b0193c17228c1720293db63087228720393db6401b2722d735b00db6401b27208735c00722f723093b27229735d00b2720a735e0093b47229735f7360b4720a7361736293e4c67228061d72157230722f93e4c6722808117224ec92b17205736393722c832102736473657366736773687369736a736b736c736d736e736f7370737173727373737473757376737773787379737a737b737c737d737e737f738001738101738201738301738401af720fd9013104937eb2b47229738501b1722972310006997eb2720e72310006b2722772310096cb450000f093090008cd03832bdacda82a0c081a5e245a197b0a8685afc21e1f456247d0ff94863d42c85896cb4501016400d082a8021005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a5730496cb450000b0e5d59806103b040004000e20008a3b597bd494557adf7d0d0a3b6ba32f935cf52f83f46a6b1233333a487a5101000e200040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc59830e205bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa040004000400040205000500050004000e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5040004000e20225e3fc5d189f547d9c626bebdc671398b6c007c783dc47f903f24bf7f3484790e20bc4a5ab9e45ab74b79faecbf67496cc2bf8c2b0e55dbe8accfc39d14891174900e20767caa80b98e496ad8a9f689c4410ae453327f0f95e95084c0ae206350793b7704000402041204040502040404020442040004000406040204120500050004020402041204020402040204420e20ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130040204020412050005000400040204120402040004020442040204020100d803d601aea4d9010163d801d603db630872019591b172037300938cb272037301000173027303d6027304d6037305d197830201720195ef7201d810d604b2a5730600d605e4c672040511d606b2a4730700d607c2a7d608b2b5a5d901086393c272087207730800d609db6501fed60ae4c6b272097309000464d60be4e3000ed60cb5a4d9010c6393c2720c7207d60db0720c730ad9010d41639a8c720d01c18c720d02d60edb63087208d60fd9010f0eb0dc0c0f720c01d9011163db63087211730bd90111414d0ed801d6138c7211029a8c72110195938c721301720f8c721302730cd610da720f017202d611dc640be4c6b27209730d0004640283020e730e730fe4e3010ed612afb5720ed901124d0e948c7212017202d901124d0e938c721202da720f018c721201d613afdc0c0f720c01d9011363db63087213d901134d0ed801d6158c721301ec9372157202aedb63087208d901164d0e938c72160172159591b27205731000b2e4c672060511731100d803d614dc640b720a0283040e7312731373147203720bd6159a9c7cb4e4b2721473150073167317b272057318007319d616b2db6308b2b5a5d901166393cbc27216b4e4b27214731a00731b731c731d00731e009683070192c1720899720d7cb4e4b27214731f007320732192b0720e7322d90117414d0ed801d6198c7217029a8c72170195938c72190172028c72190273239999721072157cb4e4b272147324007325732672127213938c7216017202928c721602721593cbc2b2a4732700b4e4b272117328007329732ad801d614dc640b720a0283020e732b7203720b9683060192c1720899720d7cb4e4b27214732c00732d732e92b0720e732fd90115414d0ed801d6178c7215029a8c72150195938c72170172028c72170273309972107cb4e4b27214733100733273337212721393cbc2b2a4733400b4e4b2721173350073367337938cb2db63087204733800028cb2db6308720673390002733a96cb4501019ff8b2cf2500" + val expectedTxBytes = Base16.decode(expectedTxHex).get + txBytes shouldNot be(expectedTxBytes) + + val tx2 = ErgoLikeTransactionSerializer.fromBytes(expectedTxBytes) + + // check the message is expected for both transactions + val message = Base16.encode(tx.messageToSign) + val message2 = Base16.encode(tx2.messageToSign) + val expectedMessage = "03f64a3f6033ac9436035f1281db6da9be26b4f06b4f4d16e38d6e66e02b4b5a260002000e9f0f03eb6ce4f6ebf591fb573a47a5f45dc32dda1df82e086bbe1f09be1cb08eb755c702039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe42039d2a0a218d7c48c8fd46a8d29431bd056c84882a216a567326c3c7984ec83500000052073b233f9224be81ed84020c69bbd0cf03dc57cda5486dc50f49c2fb65b9c5de6300000022696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65000000066c61746573740003ad08081f556b87ee0dc46268b34249ecd7b0f6f0cf42815db8f810140b8133b70000038c2861b79527ca2b127e8810825fdd482679e938a73e62d50c0acaafbfc33e170209820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e0cd12d6cce7fef5daa90b45e7a0b3feb7b889c8cb4dbe458f81b91cb2dc0adf700000056071f96aa5c76e1b753546096cce3146970ff136b73c6c2426d49076627c60d9c0300000026696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65566f7465000000066c6174657374000003f196e783d22a19d0b359d9937f5c244d1f1fe664e0fc685439c9064940787c51ff03f40602753476d35f0373a2ddd03c6306e1192c6c729acf984550729c2ce224e6ff01035c4fb1d25cbaf3a3532ed97310b9db523e3f0e9dcfdd39c35565eec364c6f2e00331cc638f36191662151900b3de1f51ac2d932f58c54bcf5cc6de65ad0e12d5780371d59fdfd95372b157c05ac5206634cc6a11cb7be0008b275d598fd9206eda29023a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d3b0839c7f77efc86dba0a45faacd64a638b68e0ac26aa80a158c8ebe57ae15830000005d0733c60503ff52123772daeac14d72f684ce371bf2785087bb09878150d78549f80000002d696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b6550726f6669745368617265000000066c617465737400000103d479de5022c92078576191f4ec13915a729deaa9e655bf042480b1f487b99a0dff000003692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603e93db403babf1829d3630f412f7e75126dc8fe06a9af5ccae817818b0f923138028830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c280892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20000005807acfbfb8d5b5108a6bcba28d96e6a1c23a3b2a1500d74a4b5646d63a92b3a258e00000028696d2e706169646569612e7374616b696e672e636f6e7472616374732e4368616e67655374616b65000000066c61746573740000028bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400028f90981e071173fb1bb8d89741720a4838ee6614635a2931575f46cc1ba23b610000005407b0a75422339f6a60bbca898b8345b8f02cad644f68a94ddbf55f127835dd154a00000024696d2e706169646569612e7374616b696e672e636f6e7472616374732e556e7374616b65000000066c617465737400000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103253c1c4b5771de43d4383cc1c0fb120db149965d370c6d64155b033f7b923c1b03841d98088445454ad639a3d65f142d5a0d5cfd50002f3d417272438edde4de5203b7db2ecffb7f3157905e3c7ba8862c136ec5dc7ef41ef2215815f2431090982702deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410dae12a45275dc4a032174f973aa7a621c45518caeb4f0943106b6aa926a304f5120000005707a494c122a6fdb63fe8224a797e678384f937d5625cfad5469aa8e2d9599555c200000027696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b655374617465000000066c61746573740003046a30ec7a0caa7917718f3b155108ac75b419bbc706c2065cd90b7d44588fda0000ff0103b2af5cb66e6c1ad1121b5015b01c00385a16dd603948c5008e5420969979a5dcff010104c457a729b4931b01020477d114e0b536e5ba15cac9e36f07b2fc5f32b6957ea7982811ca91d758d76a9e0007000eb70603e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f301024932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a249760084f7d55ab90470ebf4d4baaf057d8b42d8cc2dab619edaa2998a10479d000000060a0a0000000003342f928c7ed219a5aaf29c4b29bd1bf169467ae8603b33d7e78a83ae49769da10101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da0336d703874a7f5f50ba0f85ee86201212ea0b235e29986f72e158c4d1c98ae161039f3a488b1ae525477f300719d82844e32833486d07ebe3dd6241c9b91e43190402efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adff0367ddf3435981f4aa5571b91dd46fe813667f2888d4fc691968fde15879b97000000260a000000002000ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac2800000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104186d05050e46020000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000004010c3c0e0e142001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f61800000000000000000000000009573d9c00000000000076a220059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10180000018b04b346390000000013a608b200000000000184f8200cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41180000018b10954f99000000001d32fba20000000000052eaa200ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41180000018b045782ed0000000016739515000000000001b9c6202bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d180000018aff88ac1f00000000062920e6000000000000ac1d2059abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8180000000000000000000000003ef71392000000000003ea892072df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a18000000000000000000000000009c3c4100000000000008e2207350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac5180000018b04b346390000000042fbbc7e000000000004e8f7207755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa1800000000000000000000000018f25226000000000000f124208c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a56180000018b4d48257000000002308ce71800000000003bfba22099cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9180000018b680d4ec000000000032db5630000000000008ee520a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f180000018b4d48257000000001886334cb000000000021809820ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3180000018b680d4ec000000000010cbac4000000000000349320b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb918000000000000000000000000008ff4df0000000000000a1f20bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c92180000018c07d1ab7100000000071fd106000000000000f18a20c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77180000018b0bca79510000000006ab2c550000000000008f5b20c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149180000018af6463f8800000000123a6b440000000000021dc520c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e180000018c07d1ab7100000001c99d2dc7000000000036065520c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a180000018b05bc55ab000000000181c047000000000000260e20d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa180000018b682470e400000000011910a000000000000036c1060eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700020eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700030ea60a03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004eff69aa3196e5a0967841000040ea70a02000000000000000000000000000000000000000000000000000000000000000001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f60000000002059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004efeeed6e6fb76e2d0117d1e4c4616a362bae8648ec0a8fa88aa1d3d96d142fe450742f4a2682145ff70002000ef40303e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103dda4c007ce8365b877b79e8b30a927e15b438b674e39e8ab9dc1b901c6feb8c303dd36ea8f88b9263cbde24fcdad778475e8f94bb6901c2556d79e5fa167e236ae025bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa5be447c71392c430b0126048269f9a788af35527755face9d229fd86530e34f5000000090300000000004c4b40000398eb5d3b8876940dccef4fa83bcebdd738dbeef9482f55cd13c034025412a83affffff0311ee6ddc0c44d48571f45874e8007cf669cd3338679165d8ea9cf35357bdda3b03ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da037935a425cf6ad3f58f04db153bf2e7ca5d985e3fa12fc7cfad61f73c9ce8e39a02ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130eeab3b56ae3fcb0ad2ffc7548748cee3ce641da2998b4a78e1559ec7320e40450000000903000000000000006400038179943fc3ecaa747fcb4cc813933f82005475db2f09261cf27c5ecab30b3b40000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104b804010eb80503e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103337f72319307df7b0c3bc42c6e24c16d3ad0d011400d5f2712ec2d6aeaf8629f010104da02028bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c668bc89854360edb452240d4ab38853f3ffaebc323b7d2070f021bbdcf45752c660200ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac280040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc598305d0dba8061032040004020e20deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410da0e20039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe420e208830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c2800e208bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc50e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e203a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d0e2009820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e040004000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f90400040c02000402040204420201040404020442020204060402044202030408040204420204040a040204420205040c040204420206040e040204420400040204420400040004020402d808d601b2db6501fe730000d602e4e30102d6037e720204d604b2a4730100d605dc640be4c6720104640283080e73027303730473057306730773087309e4e3000ed606b2a5730a00d607db63087206d608db6308a7d196830401938cb2db63087201730b0001730ced927203730d907203730e97830701ed937202730f93cbc27204b4e4b2720573100073117312ed937202731393cbc27204b4e4b2720573140073157316ed937202731793cbc27204b4e4b272057318007319731aed937202731b93cbc27204b4e4b27205731c00731d731eed937202731f93cbc27204b4e4b2720573200073217322ed937202732393cbc27204b4e4b2720573240073257326ed937202732793cbc27204b4e4b272057328007329732a9683030193cbc27206b4e4b27205732b00732c732d93b27207732e00b27208732f00938cb27207733000018cb272087331000196cb4502000101c89082ef9303050c64022c659cd7a638ab858b03135353be754e13098e23833a36f417e236b5e7b204c7060720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e16090007200011078094c7e7fe62d8e3abe8d90144000016081d0502c0f4b8dace019cfa86e3d7010200120200c29a989d730214140214140c3c6464024ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e1609000720004ec61f485b98eb87153f7c57db4f5ecd75556fddbc403b41acf8441fde8e16090007200008e92e280c717db90215047a2f08a82a03246a52824a5c74379f666806485cd40607200056736400f2fccbe31edd2bd0f1873e3445207fed1bfbcd1cb52a929b81e1fe1f030720001102d2e9a4850218c0843d108601040004000e20efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adf0e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a2040004040400040c044a040a040c044a040a040c044a040204080500041004100410050104000410042004000400040204000406050004000200040404000408050004000200040002640200026406010006010004000410041004200500050004100410041006010001010400050004000400040004000601000400040004020402040204000e2000ff963212ba003aeba715c067e92ef299c55f35aed7b6aef4c975ae81a5d3f904000400040c044c040005000400040004000400040204000402041004200500040004020402044204020402040004000404040a0404040a0414024e02c6021f0248025b029802eb02870215023f027c025702db024f025e02cd02750255026f02dd02bc0240023b024102ac02f80244021f02de028e021602090200040ad830d601b2db6501fe730000d602b2a4730100d603db63087202d604dc640be4c6720104640283030e730273037304e4e3000ed605e4e3010c3c0e0ed606ad7205d901063c0e0e8c720601d607db0c0e7206d608e4c67202040c64d609b27208730500d60ae4c672020511d60bb1720ad60ce4b27204730600d60ddb0c0eb4720c73079d99b1720c73087309d60eb3b4720a730a720badb4ad720dd9010e04b4720c9a9a730b9c730c720e730d9a730e9c730f9a720e731099720b7311b1720dd9010e0e7312d60fdb0c0e720ed610addc640b7209027206e4e3020ed901103295e67210ad720fd9011204d801d6149a9c7212731373147cb4e4721072149a72147315ad720ed90112057316d611e4c67202070c3c6464d612b27211731700d6138c721201d614addc640b7213027206e4e3030ed90114327cb4e4721473187319d615e4c67202061dd616b2b27215731a00731b00d617b2b27215731c00731d00d618b27215731e00d61995917217731f7db27218732000027321d61ab2b27215732200732300d61bb27215732400d61c9591721a73257db2721b732600027327d61d9a7219721cd61e95917e721d047328a2997329721d732a732bd61f732cd620732dd6219a721d721ed6228c721202d623addc640b7222027206e4e3050ed901233295e67223d801d625e4722386027cb47225732e732f7cb4722573307331860273327333d624e4c672020811d625ad7205d901253c0e0ead720fd9012704d801d6299a9c7227733473357cb48c72250272299a72297336d6268602ad7224d901260573377338d627addb0c0e7224d9012704b0ad7207d9012904d801d62bb272107229009592b2722b733900733ad801d62cad7224d9012c05d801d62e7e722c069d9a9a9c9d9c7eb2721472290006722e7e7216067e721e0695917e721904733b9c9d9c7e8cb272237229000106722e7e7217067eb27218733c0006721f95917e721c04733d9c9d9c7e8cb272237229000206722e7e721a067eb2721b733e000672207e7221068602722c93addc0c1d722b01722cd9012d41069a7e8c722d01068c722d02adb27225722900d9012d057e722d067226733fd901294249129a8c722901b28c8c72290201722700d628b2a5734000d629e4c672280511d62ae4c67228070c3c6464d62bb2722a734100d62cdb64018c722b01d62de4c67228040c64d62eb2a5734200d62f938c722b027222d63093b4722a7343b1722ab472117344b17211d196830a01938cb2db63087201734500017346938cb2720373470001b4e4b272047348007349734a96ad7207d9013104d801d633b272107231008c9592b27233734b00734cd801d634ad7224d9013405d801d6367e7234069d9a9a9c9d9c7eb272147231000672367e7216067e721e0695917e721904734d9c9d9c7e8cb27223723100010672367e7217067eb27218734e0006721f95917e721c04734f9c9d9c7e8cb27223723100020672367e721a067eb2721b7350000672207e7221068602723493addc0c1d7233017234d9013541069a7e8c723501068c723502adb27225723100d90135057e723506722602939a7eb2720a73510006b272277352007eb272297353000693db6401e4dc640e7213027206e4e3040e722c93db6401e4dc640d720902b57205d901313c0e0e917cb48c723102735473557356e4e3060edb6401b2722d7357009683020193cbc2722eb4e4b272047358007359735a92c1722ec1a796830b0193c17228c1720293db63087228720393db6401b2722d735b00db6401b27208735c00722f723093b27229735d00b2720a735e0093b47229735f7360b4720a7361736293e4c67228061d72157230722f93e4c6722808117224ec92b17205736393722c832102736473657366736773687369736a736b736c736d736e736f7370737173727373737473757376737773787379737a737b737c737d737e737f738001738101738201738301738401af720fd9013104937eb2b47229738501b1722972310006997eb2720e72310006b2722772310096cb450000f093090008cd03832bdacda82a0c081a5e245a197b0a8685afc21e1f456247d0ff94863d42c85896cb4501016400d082a8021005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a5730496cb450000b0e5d59806103b040004000e20008a3b597bd494557adf7d0d0a3b6ba32f935cf52f83f46a6b1233333a487a5101000e200040ae650c4ed77bcd20391493abe84c1a9bb58ee88e87f15670c801e2fc59830e205bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa040004000400040205000500050004000e20892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20e204fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5040004000e20225e3fc5d189f547d9c626bebdc671398b6c007c783dc47f903f24bf7f3484790e20bc4a5ab9e45ab74b79faecbf67496cc2bf8c2b0e55dbe8accfc39d14891174900e20767caa80b98e496ad8a9f689c4410ae453327f0f95e95084c0ae206350793b7704000402041204040502040404020442040004000406040204120500050004020402041204020402040204420e20ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130040204020412050005000400040204120402040004020442040204020100d803d601aea4d9010163d801d603db630872019591b172037300938cb272037301000173027303d6027304d6037305d197830201720195ef7201d810d604b2a5730600d605e4c672040511d606b2a4730700d607c2a7d608b2b5a5d901086393c272087207730800d609db6501fed60ae4c6b272097309000464d60be4e3000ed60cb5a4d9010c6393c2720c7207d60db0720c730ad9010d41639a8c720d01c18c720d02d60edb63087208d60fd9010f0eb0dc0c0f720c01d9011163db63087211730bd90111414d0ed801d6138c7211029a8c72110195938c721301720f8c721302730cd610da720f017202d611dc640be4c6b27209730d0004640283020e730e730fe4e3010ed612afb5720ed901124d0e948c7212017202d901124d0e938c721202da720f018c721201d613afdc0c0f720c01d9011363db63087213d901134d0ed801d6158c721301ec9372157202aedb63087208d901164d0e938c72160172159591b27205731000b2e4c672060511731100d803d614dc640b720a0283040e7312731373147203720bd6159a9c7cb4e4b2721473150073167317b272057318007319d616b2db6308b2b5a5d901166393cbc27216b4e4b27214731a00731b731c731d00731e009683070192c1720899720d7cb4e4b27214731f007320732192b0720e7322d90117414d0ed801d6198c7217029a8c72170195938c72190172028c72190273239999721072157cb4e4b272147324007325732672127213938c7216017202928c721602721593cbc2b2a4732700b4e4b272117328007329732ad801d614dc640b720a0283020e732b7203720b9683060192c1720899720d7cb4e4b27214732c00732d732e92b0720e732fd90115414d0ed801d6178c7215029a8c72150195938c72170172028c72170273309972107cb4e4b27214733100733273337212721393cbc2b2a4733400b4e4b2721173350073367337938cb2db63087204733800028cb2db6308720673390002733a96cb4501019ff8b2cf2500" + message should be(expectedMessage) + message2 should be(expectedMessage) + + + // check the extensions are expected + val exts = Base16.encode( + tx2.inputs + .flatMap(in => ContextExtension.serializer.toBytes(in.spendingProof.extension)) + .toArray + ) + val expectedExts = "02000e9f0f03eb6ce4f6ebf591fb573a47a5f45dc32dda1df82e086bbe1f09be1cb08eb755c702039208bc4eef9a03e8d78b8663a301bb5faddca78be19d7fe535b3c64cbefe42039d2a0a218d7c48c8fd46a8d29431bd056c84882a216a567326c3c7984ec83500000052073b233f9224be81ed84020c69bbd0cf03dc57cda5486dc50f49c2fb65b9c5de6300000022696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65000000066c61746573740003ad08081f556b87ee0dc46268b34249ecd7b0f6f0cf42815db8f810140b8133b70000038c2861b79527ca2b127e8810825fdd482679e938a73e62d50c0acaafbfc33e170209820fcb8871fb450c3e06b7cb5e27b0455087a366621a9dde7582a019111e3e0cd12d6cce7fef5daa90b45e7a0b3feb7b889c8cb4dbe458f81b91cb2dc0adf700000056071f96aa5c76e1b753546096cce3146970ff136b73c6c2426d49076627c60d9c0300000026696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65566f7465000000066c6174657374000003f196e783d22a19d0b359d9937f5c244d1f1fe664e0fc685439c9064940787c51ff03f40602753476d35f0373a2ddd03c6306e1192c6c729acf984550729c2ce224e6ff01035c4fb1d25cbaf3a3532ed97310b9db523e3f0e9dcfdd39c35565eec364c6f2e00331cc638f36191662151900b3de1f51ac2d932f58c54bcf5cc6de65ad0e12d5780371d59fdfd95372b157c05ac5206634cc6a11cb7be0008b275d598fd9206eda29023a11955c4719e588bce6a7611d27bd1fdfdb57385caee266d8040c894f1c2e1d3b0839c7f77efc86dba0a45faacd64a638b68e0ac26aa80a158c8ebe57ae15830000005d0733c60503ff52123772daeac14d72f684ce371bf2785087bb09878150d78549f80000002d696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b6550726f6669745368617265000000066c617465737400000103d479de5022c92078576191f4ec13915a729deaa9e655bf042480b1f487b99a0dff000003692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603e93db403babf1829d3630f412f7e75126dc8fe06a9af5ccae817818b0f923138028830612c52355f6f280d1297f19f67b078c9daa7d7b04b459c91cc644957c280892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c20000005807acfbfb8d5b5108a6bcba28d96e6a1c23a3b2a1500d74a4b5646d63a92b3a258e00000028696d2e706169646569612e7374616b696e672e636f6e7472616374732e4368616e67655374616b65000000066c61746573740000028bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400028f90981e071173fb1bb8d89741720a4838ee6614635a2931575f46cc1ba23b610000005407b0a75422339f6a60bbca898b8345b8f02cad644f68a94ddbf55f127835dd154a00000024696d2e706169646569612e7374616b696e672e636f6e7472616374732e556e7374616b65000000066c617465737400000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103253c1c4b5771de43d4383cc1c0fb120db149965d370c6d64155b033f7b923c1b03841d98088445454ad639a3d65f142d5a0d5cfd50002f3d417272438edde4de5203b7db2ecffb7f3157905e3c7ba8862c136ec5dc7ef41ef2215815f2431090982702deaecf5b64bad6f5570bad0a610c4e484957cf4782308400bc90404c1d1410dae12a45275dc4a032174f973aa7a621c45518caeb4f0943106b6aa926a304f5120000005707a494c122a6fdb63fe8224a797e678384f937d5625cfad5469aa8e2d9599555c200000027696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b655374617465000000066c61746573740003046a30ec7a0caa7917718f3b155108ac75b419bbc706c2065cd90b7d44588fda0000ff0103b2af5cb66e6c1ad1121b5015b01c00385a16dd603948c5008e5420969979a5dcff010104c457a729b4931b01020407000eb70603e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f301024932c28754f2e4fab8e85af8ee3deb5bbe4924b7585466d20deed4c99e4191a249760084f7d55ab90470ebf4d4baaf057d8b42d8cc2dab619edaa2998a10479d000000060a0a0000000003342f928c7ed219a5aaf29c4b29bd1bf169467ae8603b33d7e78a83ae49769da10101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da0336d703874a7f5f50ba0f85ee86201212ea0b235e29986f72e158c4d1c98ae161039f3a488b1ae525477f300719d82844e32833486d07ebe3dd6241c9b91e43190402efc4f603dea6041286a89f5bd516ac96ea5b25da4f08d76c6927e01d61b22adff0367ddf3435981f4aa5571b91dd46fe813667f2888d4fc691968fde15879b97000000260a000000002000ad20adc989005bb7c79afa64bad214da89c7e627dcb3d5d43580500f08ac2800000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104186d05050e46020000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000004010c3c0e0e142001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f61800000000000000000000000009573d9c00000000000076a220059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10180000018b04b346390000000013a608b200000000000184f8200cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41180000018b10954f99000000001d32fba20000000000052eaa200ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41180000018b045782ed0000000016739515000000000001b9c6202bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d180000018aff88ac1f00000000062920e6000000000000ac1d2059abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8180000000000000000000000003ef71392000000000003ea892072df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a18000000000000000000000000009c3c4100000000000008e2207350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac5180000018b04b346390000000042fbbc7e000000000004e8f7207755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa1800000000000000000000000018f25226000000000000f124208c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a56180000018b4d48257000000002308ce71800000000003bfba22099cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9180000018b680d4ec000000000032db5630000000000008ee520a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f180000018b4d48257000000001886334cb000000000021809820ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3180000018b680d4ec000000000010cbac4000000000000349320b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb918000000000000000000000000008ff4df0000000000000a1f20bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c92180000018c07d1ab7100000000071fd106000000000000f18a20c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77180000018b0bca79510000000006ab2c550000000000008f5b20c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149180000018af6463f8800000000123a6b440000000000021dc520c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e180000018c07d1ab7100000001c99d2dc7000000000036065520c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a180000018b05bc55ab000000000181c047000000000000260e20d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa180000018b682470e400000000011910a000000000000036c1060eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700020eb90e03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000940156600000000000076a200020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b34639000000001375528e00000000000184f8ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001cea98210000000000052eaa0210d819186d6d191bda7b19be4b51981904d7f77a10234eb10b01bd5fc8e235c5000000180000018b045782ed00000000163bec0a000000000001b9c6000346484d4591bba241cf34c6b3d2c326aff25d4280b3d83433a74b35245f89a64c0000022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d4bb0f76e84f71f2fa8b5155975e65bdcfaffe447813106ad0c233a1cc1709e76000000180000018aff88ac1f000000000619dafc000000000000ac1d03554368e4d0b4cc9b3443ad6f72bc0ff71deec537eabecfd17cbecc80fbcf3336010259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed85aa27c1cb688262d74e10b49fbf4f9679ff11c5e009c9a774a6c77a1f617ec9d000000180000000000000000000000003e5afa2d000000000003ea890367c5206da7a0085c258a95358100090a9066ee13ebb287917320055daabe683000ff033b2c18647710a0e3b935d4f294d6fefe3fdfd765a8b0e9161d442301320431db0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a7350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009ab8ed00000000000008e202759942e0d2a2f3e1eed24f06b0ef142b2a214b0aa6e6fcc57e10d1656cf9e5b8000000180000018b04b34639000000004255ace8000000000004e8f700034e2e421fd26777fd4c6a0524e6a3d801f03bff81cca0c00c9e6f35f54cc1863e027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa8c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a560000001800000000000000000000000018c34073000000000000f1240000000001029384d75b5f2302263764d2673003cd44c06c7c408b7c4d8e831300bbed3f0b80000000180000018b4d482570000000022b1f38b500000000003bfb9f03d0d03e447612221ccac12cf3e3d6bc5073d983fb7522c74363f31e0fbde8a4de000299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9a06e5aa62236c9deda8eea97b7efa8d6ccbdc92412d9ac7950affa86733dbba5000000180000018b680d4ec0000000000325d4180000000000008ee503a4f896155688f686280ad0c41b47647d4696846644698c596c812c8424575fdd000002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0fab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000184966c80000000000021809602b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec000000000010a208d00000000000034930002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008e8ffc0000000000000a1fff0002c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018c07d1ab7100000000070e2789000000000000f18a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000069aa4050000000000008f5b0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f8800000000120d3a930000000000021dc5ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018c07d1ab7100000001c52eb0ec000000000036065202c651edb2390f548366a8a81d6034ba8f4754e56a29ea418eb87965457731ea7e000000180000018b05bc55ab00000000017e03f3000000000000260e0003c5023d6899389cedc58954c06f1cc3132dcfc979647b33a6d6e8f5dee42f326800038ff5384fd73e89db8c72c2a6ad6ba8b5cf6f92c49d12c8a194b1a88efd434ac202d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e400000000011657d400000000000036c100ff01010004eff6ea358e026fb512ce08c700030ea60a03c2e8371d6033cf8ca0fcf072738c28237be5ad7697c2f2e418d1710c25760f900201589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f6059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004eff69aa3196e5a0967841000040ea70a02000000000000000000000000000000000000000000000000000000000000000001589f5046591dc1d26205ba59c5da7b53f3545334816a5fc13de877fe6118f60000000002059f1b28e002bd752edd29ec09d1409eaf378857f8b70d9a279b640c130c7d10000000180000000000000000000000000928ed1f000000000000713a00020cb46ec0517046547001c9147d3dc49d738c883ee8e662a4d4fec6c0479f2a41000000180000018b04b346390000000013449c470000000000017998ff020ea9e5c853fda20cbc5121856e8075e1dcf70aab09e6ae354f40b9241a683a41000000180000018b10954f99000000001ca2346c0000000000051dc2022bc48826586af1a980a55acd834f57bc61f6052bdc891a6cc56bf503e9810a7d000000180000018b045782ed00000000160442d7000000000001acc6000259abd2a3048bcd4c1e09aae894c4333af5033c3691cd516446e0499ef4429ed8000000180000018aff88ac1f00000000060a9507000000000000a88c0272df19aefe2083c497fea8d3ab483a3f1b794a61eef61d35e77c416da9a6227a000000180000000000000000000000003dbee058000000000003c613000000027350a28c9e9e96312160029480693456e727add012e53faa9f75cbd8fdaf8ac500000018000000000000000000000000009935980000000000000888027755a547204d2fc0d74e5dd14269ec79af088427353ed2268ffc8fb6a643f1aa000000180000018b04b346390000000041af9cdb000000000004c22d028c1e7db16cc30de47d072be61be6f4af8a97997f277041a2d2b48a52b78e6a5600000018000000000000000000000000129e4d9e000000000000e6260001ff0299cf8f1e3cf8d440d69e9bc49b3ec4629d269523f193c065128ad97183f040b9000000180000018b4d4825700000000225b1866c00000000003ab70002a160b1becc042983975e581c2f102931811eafc056af0320e81d327f168c7b0f000000180000018b680d4ec000000000031df2c70000000000008d0e0002ab27947c472632d7cfece63e5cf94ad711b1479069217141b75f7042143ebdf3000000180000018b4d4825700000000180c9a17a0000000000209d5a02b1ed3d0f313632c842d221ccf278fe8ddb0e5e10222823385e88c03d11c2fcb9000000180000018b680d4ec0000000000107865400000000000033f80002bc1390bb526a741f1c9ad1526fa05c2c3bce353fb517cef91fa9b25088f86c9200000018000000000000000000000000008d2b1800000000000009ccff0102c0340d8d77941d4ea0c2d1072359e0b423ee98adcbbd2fcc3a06e582cdc33a77000000180000018b4d4825700000000006fc7dff000000000000ed6a02c324d257e51e0f9357b83677bca8e43f912e9a42f0972f8aeeb6efad4ab2e149000000180000018b0bca795100000000068a1ba90000000000008b7f0002c3596bc7136b6b3eab9c2f7302316211f02d8e97c294f6f134156ff72572b69e000000180000018af6463f880000000011e009c20000000000021337ff02c5ed1f895d60d20d8474ceb68124e6501698eb011c7478af33833f77ae19356a000000180000018b20547bfa00000001c0c030e2000000000034fd5002d9a5970722adbd8ed1dbf0ba783c5ca5615a96651befc2f9447eee905a131baa000000180000018b05bc55ab00000000017a479c000000000000252f02ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000180000018b682470e40000000001139f06000000000000361f000100000004efeeed6e6fb76e2d0102000ef40303e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103dda4c007ce8365b877b79e8b30a927e15b438b674e39e8ab9dc1b901c6feb8c303dd36ea8f88b9263cbde24fcdad778475e8f94bb6901c2556d79e5fa167e236ae025bcff102254366780cd5191257050a6ed33ac5d12eef0e304139ed5d981f4bfa5be447c71392c430b0126048269f9a788af35527755face9d229fd86530e34f5000000090300000000004c4b40000398eb5d3b8876940dccef4fa83bcebdd738dbeef9482f55cd13c034025412a83affffff0311ee6ddc0c44d48571f45874e8007cf669cd3338679165d8ea9cf35357bdda3b03ec51dc389fb02cd78ad59f29be3b75762259347d9c199c35ed3be637234787da037935a425cf6ad3f58f04db153bf2e7ca5d985e3fa12fc7cfad61f73c9ce8e39a02ecf2d04bae48a00a8a6e49c0567263c9f5d23f26c82358a176abd1f021d8b130eeab3b56ae3fcb0ad2ffc7548748cee3ce641da2998b4a78e1559ec7320e40450000000903000000000000006400038179943fc3ecaa747fcb4cc813933f82005475db2f09261cf27c5ecab30b3b40000351bf7a6ee68cc3e271165a8c4db85be4efb80d87274ab59e5a7eff31a3661b71ff038a8293153829a4505fe4751ac03d4424c2e7d2eafbf6887548f4ad5782c80912ffff010104b804010eb80503e01b42b1c11723cf5c01ab8ec657ae509b3c70f79ffa24da41f3568c536d798103692a0389f5568d6be39754a8b295d273094d7eb9c2529dd73f6519dbf462f3010329df0cdb571558cb9f731c42db7347d55739b1a5fdb89f1f344204647fb4c5ae037db586ef0582dfc907adcb513a71f0d770144ae6e041a116e7aba24158e158c7024fd8b0d6d98242726f57b3dfa686126792b8e5056e1d51b6e90d6880cf2dcdc5528dc9e30a9e7a9786eea3093fddce3c3e82c87fe4136e059ab4a3baa1a4f5490000005a078c6c14c5ed690041c4df42e5e627c313ca870d584666844a71ec70d3b04f90b70000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65536e617073686f74000000066c617465737400000101037883036822c647d301aa181799c949f8a40ab61ae2c4a2d26848a1eca34339ccffff036756a2cdf00690da5984f2680bb20143af90d5dc53a847cf69552de5e8f8fea603638aeb06b3049ff977664ef2fc02993741ef6bc118c83b25389321b7abf948e102892e6f47a10d5c90b87ad4863355cead00c3e2983217ee15533253cd9a6025c28bc78f1c6aaec91e628e15cf668c16cc1e9bd8e4b9b7e16d6318b5f523a5e9bd0000005a07fd6dad711f5f93b5d788b2f9a8145c2b49fea6095044759c679f29b0e06e14ee0000002a696d2e706169646569612e7374616b696e672e636f6e7472616374732e5374616b65436f6d706f756e64000000066c617465737400036d662d230cb41b6d228e04d664451b092785bfa8f0a5e38ea84a8c47663e1ac5000003042ea631a5e8a46726f7328dd491fc58a329e49a87337a0f138495df985c813f000373ed6efca152c5bea220d949b26fc9c679d9da83b1ce64a469c18519790b23c2ff0103337f72319307df7b0c3bc42c6e24c16d3ad0d011400d5f2712ec2d6aeaf8629f010104da02" + expectedExts should be(exts) + + // test equivalence of "from Json" and "from bytes" deserialization + tx2.id shouldBe tx.id + tx2.id shouldBe "d5c0a7908bbb8eefe72ad70a9f668dd47b748239fd34378d3588d5625dd75c82" + println(tx2.id) + } + property("Tuple in register test vector") { val txId = "b5fd96c9f8c1ff436d609a225a12377c6873b890a145fc05f4099845b89315e5" val txHex = "0278c93ee55eec066ec06290524dc01773440fbaff644bd181ab4334f97083863738644bf834de150b9abd077cf52ecb4892536ab6ad6ef8505fb932d9ca7b9fb211fc8294618723eb4909d4553f4d419762332f68865b1d703d00faae81c0e57683108c55647c5837a4fedfb52ffde04db74a8b4b77e37ab81afc3828c904862db6134e0f859ff5f62e4a5cb9da6b15ea1cd1a11dc932899d7b99e9073034ccd4e7c54fa9790d8ee356dce22ee151b044561c96000000038094ebdc031007040205c80105c8010500040004000e1f3faf2cb329f2e90d6d23b58d91bbb6c046aa143261cc21f52fbe2824bfcbf0d807d601e4c6a70408d602b2a5730000d603e4c6a70601d604e4c6a70856d605e4c6a70505d606e4c6a70705d60795720399c1a7c1720299c17202c1a7eb027201d1ededededededededed93c27202c2a793e4c672020408720193e4c6720205059572039d9c72057e8c7204010573019d9c72057e8c72040205730294e4c672020601720393e4c672020705720693e4c672020856720493e4c67202090ec5a7929c720672057207917207730395ef720393b1db630872027304d801d608b2db63087202730500ed938c7208017306938c7208027206d18f34000508cd030c8f9c4dc08f3c006fa85a47c9156dedbede000a8b764c6e374fd097e873ba0405dceeaa0401010564860202660263c0edcea7090008cd030c8f9c4dc08f3c006fa85a47c9156dedbede000a8b764c6e374fd097e873ba04d18f340000c0843d1005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a57304d18f340000" diff --git a/sdk/shared/src/main/scala/org/ergoplatform/sdk/JsonCodecs.scala b/sdk/shared/src/main/scala/org/ergoplatform/sdk/JsonCodecs.scala index c03411507e..878c936c80 100644 --- a/sdk/shared/src/main/scala/org/ergoplatform/sdk/JsonCodecs.scala +++ b/sdk/shared/src/main/scala/org/ergoplatform/sdk/JsonCodecs.scala @@ -10,13 +10,13 @@ import org.ergoplatform.validation.{SigmaValidationSettings, SigmaValidationSett import scorex.crypto.authds.{ADDigest, ADKey} import scorex.crypto.hash.Digest32 import scorex.util.ModifierId -import sigmastate.Values.{ErgoTree, EvaluatedValue} +import sigmastate.Values.{EvaluatedValue, ErgoTree} import sigmastate.eval.Extensions._ -import sigmastate.eval.{CPreHeader, WrapperOf, _} +import sigmastate.eval.{WrapperOf, CPreHeader, _} import sigmastate.exceptions.SigmaException import sigmastate.interpreter.{ContextExtension, ProverResult} -import sigmastate.{AvlTreeData, AvlTreeFlags, SType} -import sigma.{AnyValue, Coll, Colls, Header, PreHeader} +import sigmastate.{AvlTreeData, SType, AvlTreeFlags} +import sigma.{Header, AnyValue, Colls, Coll, PreHeader} import scala.util.Try import sigmastate.utils.Helpers._ // required for Scala 2.11 @@ -245,7 +245,7 @@ trait JsonCodecs { implicit val contextExtensionDecoder: Decoder[ContextExtension] = Decoder.instance({ cursor => for { - values <- cursor.as[mutable.LinkedHashMap[Byte, EvaluatedValue[SType]]] + values <- cursor.as[Map[Byte, EvaluatedValue[SType]]] } yield ContextExtension(values) }) diff --git a/sdk/shared/src/test/scala/org/ergoplatform/sdk/JsonSerializationSpec.scala b/sdk/shared/src/test/scala/org/ergoplatform/sdk/JsonSerializationSpec.scala index 70615d6796..34c966df0a 100644 --- a/sdk/shared/src/test/scala/org/ergoplatform/sdk/JsonSerializationSpec.scala +++ b/sdk/shared/src/test/scala/org/ergoplatform/sdk/JsonSerializationSpec.scala @@ -30,7 +30,8 @@ class JsonSerializationSpec extends SerializationSpecification with JsonCodecs { withClue(s"\n for JSON: ${json.spaces2}") { json.as[T].toTry.get shouldEqual v } } - property("ErgoLikeContext should be encoded into JSON and decoded back correctly") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("ErgoLikeContext should be encoded into JSON and decoded back correctly") { forAll(ergoLikeContextGen, MinSuccessful(50)) { v: ErgoLikeContext => jsonRoundTrip(v) } } @@ -112,15 +113,18 @@ class JsonSerializationSpec extends SerializationSpecification with JsonCodecs { forAll(ergoBoxGen, MinSuccessful(500)) { v: ErgoBox => jsonRoundTrip(v) } } - property("ErgoLikeTransaction should be encoded into JSON and decoded back correctly") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("ErgoLikeTransaction should be encoded into JSON and decoded back correctly") { forAll(ergoLikeTransactionGen, MinSuccessful(50)) { v: ErgoLikeTransaction => jsonRoundTrip(v) } } - property("UnsignedErgoLikeTransaction should be encoded into JSON and decoded back correctly") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("UnsignedErgoLikeTransaction should be encoded into JSON and decoded back correctly") { forAll(unsignedErgoLikeTransactionGen, MinSuccessful(50)) { v: UnsignedErgoLikeTransaction => jsonRoundTrip(v) } } - property("ErgoLikeTransactionTemplate should be encoded into JSON and decoded back correctly") { + // TODO enable after https://github.com/ScorexFoundation/sigmastate-interpreter/issues/681 + ignore("ErgoLikeTransactionTemplate should be encoded into JSON and decoded back correctly") { forAll(ergoLikeTransactionTemplateGen, MinSuccessful(50)) { v: ErgoLikeTransactionTemplate[_ <: UnsignedInput] => v.asJson.as(ergoLikeTransactionTemplateDecoder).toTry.get shouldEqual v }