consensus/monero/crypto/merkle_test.go
DataHoarder 97390b2e48
All checks were successful
continuous-integration/drone/push Build is passing
Added merkle root hash test/bench
2024-04-07 05:26:22 +02:00

236 lines
19 KiB
Go

package crypto
import (
"git.gammaspectra.live/P2Pool/consensus/v3/types"
"runtime"
"testing"
)
var coinbaseHash = types.MustHashFromString("ee753e41e8184a46b0745259a8747178f5363a8a1a3f74fe678484ea15c7bd71")
var transactionHashes = []types.Hash{
types.MustHashFromString("cddf2384a4932a197abc550cdd5ad6c95d672cebb83160abf19924dc997e8edf"),
types.MustHashFromString("79d787da728f4af551316dde20778d6f48da7cbd04ec225c5b95e2d73f6e5f6f"),
types.MustHashFromString("fd23c5a9685cb51ad37bf76c86ea4958ec5397f9a7e5ffa516f1db8410cd326c"),
types.MustHashFromString("db9eb675dc95869f171b46e425558f6aa1b001ebcd5381012448d70b8262b57e"),
types.MustHashFromString("b9fe20547b00559713bdeed6995eb7ca66ad35276278985d0d2d2650e746cc3c"),
types.MustHashFromString("9140c728606d6bd151755149be4f79a85cff9abaaa9e5c7b91ca1a9733daa0b8"),
types.MustHashFromString("25246fceb9693b5fc93fa41c7bcf8ae6e230d81642bba7f4eede630fbed92b08"),
types.MustHashFromString("0e7c4c6e2e32cbaf62b50d68fb9ce7fd479871d0fdf17711c28eaece14626d32"),
types.MustHashFromString("1e3af836680a3e53dfbfed1b0efbfb10374bd7b37bb8170c38a24095f83bd935"),
types.MustHashFromString("c59b3bd28780d279a0208a9ead4ccbbeaec7e1abc05d58aab8adbd80a36a68e7"),
types.MustHashFromString("f7d8370f105111fb81e8f1cf1d05c6dee7b9f054d9a9e3fcb94af1b3e8ca589e"),
types.MustHashFromString("ff58baa59818e22bded1dd1c68d03d0df799266a4c6a8d88699c40617f15bbca"),
types.MustHashFromString("08f322f1cc54f6f9762182621ff7b58a5b72ca1709e205f6ed00668dc7507d6d"),
types.MustHashFromString("5e18bc7509c34920436b0bd93656c979eef68d67f6df0380c8489e09c6df4f5b"),
types.MustHashFromString("eed7526a8268fc1293670df3e984b4577db043dafa689a39c89c3bdc8c8c5f9b"),
types.MustHashFromString("bff4954737d899a989f6455aaa90400280de5618aba7d8654ef0a946ef9ce92d"),
types.MustHashFromString("458fd3920fa14093829f71b250500e85df649a3b29ac3828dd1e8c868f252f47"),
types.MustHashFromString("4d47834ed1014be8217805d3fe803f52d80fc1bbd39cf51252ec0cbc1fa91e5c"),
types.MustHashFromString("aa73deecd7bd57497138f079302e04a5d6a49d7caab136b6ef66506e91150261"),
types.MustHashFromString("504bbb63c231bb042f34155352aa396a9ceca8b51693b6bffb481f5dbb698fa1"),
types.MustHashFromString("b460b100439ef6ee37e2f41abc0c0fbc958e247ced878589840d50b05494d91f"),
types.MustHashFromString("c7a529d7f53cdf4e8fece5aee596990f6d3d6c8da7745cdff4db3e5543071278"),
types.MustHashFromString("9457b617370431458b4b4911a41bc7f5b570736c9308864d176c8e87cc650841"),
types.MustHashFromString("5b54d94f9f08a2f3a4ced3e52b00b2d9780d80f31f9204760e3fbfef9f736119"),
types.MustHashFromString("5098a60dc4cf37999abc606a622891a27007f3b7d1bd81022373912ec9b99827"),
types.MustHashFromString("d740df7261dff412ab12468204b24fd050fc89888910db0543e330e22f0248b7"),
types.MustHashFromString("5b23c66dc8d35f425a5d20fbbc2ff99296f64526ebd74bb1a60834e7077deac1"),
types.MustHashFromString("413de703256ef65c65002f7312e0621a9932b2cc1ae1e6a0d44a1f2b49ff1e56"),
types.MustHashFromString("630cdc536a94ac8ec7d64337ab51abe72b0a368ebeb18554f0a31daa8a713014"),
types.MustHashFromString("054c0282718251eb33342057969305ffe9f6bd5e18b61096355e4af2cec6cf69"),
types.MustHashFromString("25e2d9d4d8d0aacc2c676f3d0b868b55764a281134b601b29ba415ee0fcd3276"),
types.MustHashFromString("aaecdd27f71526d28883755c0861396a54206046191ff5824043d2615e55590a"),
types.MustHashFromString("44c0608118e6bcb8f85a2f3c2e89f57e3c59aa6900c002ddbbfb19e37fee7796"),
types.MustHashFromString("1bec72925f28aa318979e256b289ec4f5a3782d7a10fb6b79f6067d8afe95be8"),
types.MustHashFromString("a38bdc0600500e460757e31beac3aa49f9475e70290e7a6c7d04386c77487b6e"),
types.MustHashFromString("706509b0bfccdfbba12e9274f8a9e793f1ea29665740db3e6539fe7475d5e46b"),
types.MustHashFromString("8d8413696999f8c1681dfe2421a660817c5c50dfdb532bb694c5dadc2472e550"),
types.MustHashFromString("7a12070c5a88df0e9394e7f18ed4b8e3fa524aa87e60bc22456a4a3becb56764"),
types.MustHashFromString("295aa5659aa756e350ac796c9a98993b671ed209b2cae83a4d7356accc285202"),
types.MustHashFromString("cfb61ef78f8f85e92fcfd786d75a389bc15c35811393fe028fdf587db50e686b"),
types.MustHashFromString("69fbe9b38d3f10d7e389fe2b29dbd7f3ee4cee7bc6090a99fdf76a6748488761"),
types.MustHashFromString("496d48ae2d631cb82afe7566f6a4ba1b4baf2cfad41ecb7e32a56fcff606939f"),
types.MustHashFromString("e0d3ded14c308b348f08067b1ac2953be4b91486d5491a61da371629916074fc"),
types.MustHashFromString("7364e7b266da1de580e6bd0941be05aae0c47407c8efd8e4600116439e32fa6a"),
types.MustHashFromString("8609b4433a80184f3955d6cbb30edaa2adff2594d1e18b276af34a33ab362e31"),
types.MustHashFromString("1201232d1dcc59866142c64d0efc4de82c58e02af411abd885263c9ba813fc0c"),
types.MustHashFromString("321c3beedf5c48e631beecd078e5eeb8dcb266393e11f589319729f4fb6e7348"),
types.MustHashFromString("46916446f786e4b94d89b528f3a2759b13e811febaeafee516bfd20720f11f7c"),
types.MustHashFromString("1b0bef8fe9832cc1a4b6c043de2ad894addea88ae1b7b2a6aa32874b9bb88ce7"),
types.MustHashFromString("ea9c45bd25587b59aa42bead429d074f7e8843ed50e3622186357ad570395b35"),
types.MustHashFromString("e9549d1a143a83ff57460afef1d481a3d471faa5d3af3e44731da3b686774a72"),
types.MustHashFromString("470c17cf43c1b69c41438fa4146666b3165efd5c469b1d056c9c875ee2e9897b"),
types.MustHashFromString("25d7b2df1609be88955e805ef74d9b612d86aacd22cd28a08fafce4fbf752e74"),
types.MustHashFromString("0e47a753fa446c0bc22ce595cc85d350cd566b6439c7057eb93bd40d50aa800f"),
types.MustHashFromString("62fae90678fa62629a3c664849d53dd84d1b07b03f2b86534fa387fa59e847cb"),
types.MustHashFromString("ea51462b15feca1d886654fcc378ad9af590fa9bb2139e47c15b50f7e2f0c02c"),
types.MustHashFromString("ac3c2fa54bebece904e013a404ebda55d71530b88b8b07ff8a02b0d5f189eef9"),
types.MustHashFromString("33c48bd7ffce621b366dc8e01f366e173595054dcf884d5ff805c0eaecb72e25"),
types.MustHashFromString("2bbb4fa3aa1c821a9a0258c952116d3a4ae32a76620233e0438d7ba55b6da49a"),
types.MustHashFromString("4db3df6d3938f97c72af1601304cd9967f899980d6607374bbf86f0d17ad850b"),
types.MustHashFromString("88ed132319b8047c2b16231bbb3f9be794e1eb8efcd7690a26a8a869830fc41d"),
types.MustHashFromString("061bd03e5c8eb5a9429cb9c40aaf6a3b1a6f1d3245faae0317ea36278041551f"),
types.MustHashFromString("e898737e2731408ae2065ba40d50f6a8ba1579627b265eff21ddf66e94406a67"),
types.MustHashFromString("0a1927f3040e0ceb561c209bffeba2baafc64463d6e826a44b07224e1b33db1f"),
types.MustHashFromString("047898ab71a56f32cae55e3d7610a39f611af38f4b78da4d3022c31756ae5840"),
types.MustHashFromString("d17734ba8502e1d843ed9b5e8024a6063e6e69eb2d8c8070be389a205d74d600"),
types.MustHashFromString("0dd9c23349e2f4815a955677664b203c89e6c13dedfc898e5b7578d267b24cd6"),
types.MustHashFromString("fddd42f155af4ba2abad0c81da39ea718aab16aec6c4711bfe411794747a2f4f"),
types.MustHashFromString("e18d46c481e23ed3b8840cefe3905650d531b883f2e2c790146c7012c47a3b6d"),
types.MustHashFromString("19665b34ec7f35a08577b98c96edc7047b05843274e20eb2814717637f471b1e"),
types.MustHashFromString("d5c01196839e5b4672cfe40ea4ab9f6336b34654b1ae7c217aaf5e8b0f2c5fc5"),
types.MustHashFromString("50510ad4ebf26ad05ef919e89ef9b4466c5088e561f4c654a482b774a7d54f65"),
types.MustHashFromString("bf81b130f5e6c42b98e7cdb4d6b069925912acb6c77f947dbe2c8facfae27c89"),
types.MustHashFromString("d37bd1f90d5cccac49353fe02e6d2d623c0eb191ce754660bc18e1a9942c2d78"),
types.MustHashFromString("577c302353070be7d97cd12872be01359f1d43c7e6378660b8b615060c16b8a2"),
types.MustHashFromString("6fb7e5eeb4ae89afc3cbbe8fbb7afd70bf49cf2215e3791f7675e39384fac371"),
types.MustHashFromString("ca7dbf859b64585ee14cc4ed599f6155a0bd2447ba43bcbe74dc0ccee1ef86d5"),
types.MustHashFromString("b64f3a1fbbf13dbcc938c90b1ad7c9c83afc214df864871a370eeca416676f32"),
types.MustHashFromString("13c4ff36c68596f944d6cfe90257a5ef82326d2bd84c1556938f20ca894a299c"),
types.MustHashFromString("b95f26b687ecadc25889c3090fa87690e38ba31b451977f67ac2de2cf39cd493"),
types.MustHashFromString("6b8e27b676127e05a3ba2af8af816c6b2e80b3f8d095e22aea851f1295e3fe7f"),
types.MustHashFromString("d9ff0fd31bc62255fe56d31d4ed7b8dc59acf90f26a9ab86e972e66fb1dc15b7"),
types.MustHashFromString("b153b4c0156b5b8af65e955e420f8aeaea4fd10fcc95c829c281ff5d5a904ffa"),
types.MustHashFromString("b33ad9ce6f64d17dd8fe3699c232140812296c1f0dd1acba8aa7387933ea011b"),
types.MustHashFromString("14e7565befc016cbfc9f0c13b31dddfc2c12b1ec1470c20d6a6011cb7e0d2a76"),
types.MustHashFromString("b3bc4e32df3ebe666d9371cad481662cc39a83060f0b2390f8816cc10c61aca6"),
types.MustHashFromString("7d0527769a405d133c100c5b5699120860de94eb862efa4dcb23de854f1cfc3e"),
types.MustHashFromString("81af0333720d4da40d4b6709e9d5bba789be881f497ffb69e351823576cf57dc"),
types.MustHashFromString("692f4e4844ecb87c8b7516df8be772fb1468d095d7210ec97237d8fbb1466591"),
types.MustHashFromString("f539e463bdc2bd318f6b3f2644a61f045c281ba4a97129a8ee62f1b8eee4ba67"),
types.MustHashFromString("c87f83afe3236223559769f7849e57a499b464f5e530a1fd0398102ae31672af"),
types.MustHashFromString("d69f567761fcd9a500aa0c4f9afa0d4bed813e2f3aff4b262209daa6f899407e"),
types.MustHashFromString("d8ea809ed72e43238283fac1bdcf64e05833ee43f5a39b2e3814a084375a4881"),
types.MustHashFromString("0240bafc039a8cac9000be6cc08ddaea8d6cec88080afcd12349e993c452c9bc"),
types.MustHashFromString("226df20aa1a4089d55e5a29cfafc87059f26ba320a97ce2f7292d6d6fa486363"),
types.MustHashFromString("332dff525d904c35930dd032fffc8fd3dd0f5b7902f628240592867a9e8730a2"),
types.MustHashFromString("ef2a9286f77c7e3f1e8894154b81bc09e36b88208edb7bf052a3d341943c9d30"),
types.MustHashFromString("a8bbc9b7ad570f99ea78d047e662b60bdf594ef6df85cf13f75ac6f1f0c2adf7"),
types.MustHashFromString("bcd041df38ec4ac0a01d9645f9d87e93d4420a3d16199ee3d3a1f3882b1a9b39"),
types.MustHashFromString("1137f19c9e4ff4c91be3c6e31d0b89723affeeb92fc3160acaba25d6ecd781a3"),
types.MustHashFromString("48724eedb41ae3eb79ff15b89a7eb12d5e5712ee88f8164576f38252b20501f9"),
types.MustHashFromString("ad8cb9cb0d6e27b0dee638645afec3cbb5b07706066def5c74ca97b1183350c7"),
types.MustHashFromString("0bf97873dd790da98b0119d6e930bd369f4b1f8ebd99b748218586f13f56e9c5"),
types.MustHashFromString("540e77253297aa3876cdf32772f3c4a8881e43f5c483875fc9301cd5dcb174d5"),
types.MustHashFromString("a3dc055ec30c425feae230b58e5be69917f3ca30713c185342e484c832d6c8f3"),
types.MustHashFromString("1ef9c73ae6f18a18942ba0864902727324ebfc2d4c5abdd070a8066068ec84d2"),
types.MustHashFromString("16c418c3779d03b5960974593f61ef55df390a39f814b6224cfe28e826504b65"),
types.MustHashFromString("0e87d6f8ded36258ae20e13d525da01bf0a80bb4e4380bc6300eb04cd0a6a5b3"),
types.MustHashFromString("fa2b42c7ff8f5b54c5448268542102c6ae26f88e194d704bd80f3ca66497384c"),
types.MustHashFromString("a75e7363381b3228f3f803f57b17e3ab24a6c6b517fde55d736555ee1d0e4e2d"),
types.MustHashFromString("507bdc48012ccda79df3599dd170c3b1c63ecbd014301dd868391ff1af126c2d"),
types.MustHashFromString("03cc9ac0a5895837cf39d000fe6fe8d8bc0af1298344f142628421980504bcd8"),
types.MustHashFromString("9283339af46cf80b27f415eed963426262d69f97056b837bf09e9dea79c98604"),
types.MustHashFromString("332a06d1a4f74eab0acf44cbb9df4fc4b2e745756340a1391a22bb813230bf8b"),
types.MustHashFromString("eef06ea21fff84fd97e740ecf3ba44992783e98c424a8b9c3ffc00c9d6fd8f86"),
types.MustHashFromString("e7bc98bb441c175a3b7fd772735b341ae1b122028c8eced659879372464d7b39"),
types.MustHashFromString("9e425523130b9f5c0067712d37ed5091412ba2bae02909ba87d2fa22f9c1079a"),
types.MustHashFromString("0ee4ffd2ccf9ee1616ea762c44d0118b01068be4fc4491ccd1abae6d2fe8e8f0"),
types.MustHashFromString("867effe0fc0bd45eac9f43e1a7d657b689f5872dff084857a8477bfe09d367e0"),
types.MustHashFromString("f035a7aeadfa482b143cd5b1a58eafdc65cba1c0312525035a7306b200ae5219"),
types.MustHashFromString("227a1e8ae7bc0b20e963d9e98ecc1b011b885ef7ebc241e8841f5c23ae0e87e1"),
types.MustHashFromString("e0ea2309def4d9edd2e85dfd505cbff83e4c11f9b87c89648553182dd0e3c6a4"),
types.MustHashFromString("ae801ed39e3a8a6d426d4d112630f6b274a0092b3e0fd67a47fe45d3792c0198"),
types.MustHashFromString("4df224c0eed14c04c56c611d248d6e7ae8e22c44e64b2559e07f8c8d96ec199e"),
types.MustHashFromString("8b2380939014603ee486df86c96fb468e6cc2a45af605a82fcd5f27ea286356a"),
types.MustHashFromString("8112f845b70cd83e88f18f68fec27ef5b84bc8dd2a4644ad7bc02bea7957a706"),
types.MustHashFromString("5220ee5ad1c66f5982d0c02dd6114c8a62e93c09b14d7bcadf8b2d3199218394"),
types.MustHashFromString("ddaab657981b18d77be4c2ca6b03160751f1f637e8ddfbbe02a28945701221f5"),
types.MustHashFromString("8b2757da65e0e661dd3e435509d09c75e3b4213a2977f9ede1bf61b47795103a"),
types.MustHashFromString("7ecc9aa2808f5b0c05ca7bd9707dbad550b3cb6415166a353c6f06b0dbcbed40"),
types.MustHashFromString("8ed25db5591c258f5de18f4314210274bf6fcf90f96b6b385296644a95e60759"),
types.MustHashFromString("6c7f52defe12caba6899e39eac0a462e2824f064203c8d6a488c3bb7a02851b6"),
types.MustHashFromString("25d4e7a3f6ef1cda5cfcd2b1a93ad7764af3aec77ba366437d299b2bfec16c2d"),
types.MustHashFromString("a8607db1aa5aafccbf1fb5a8e80147cedcff2059b84c2a5a9cc82c225f8bd9aa"),
types.MustHashFromString("5dfdae2d095f564535736e150a8d49f8c1322d824d9153fe666ed9f9bb4cfda4"),
types.MustHashFromString("a6005b8f156df5907843cc1e44c1dda5154da21842b5810e83b7e830f4a1b0c2"),
types.MustHashFromString("660364b954fce78bf34cd2e5cfa40cf855e6474df911bc55a6bb0d17636d275d"),
types.MustHashFromString("2f2af06ab36829d3945d4b1c5a0017c6021d45894c79510c0fd653a19abedd4e"),
types.MustHashFromString("57d23ad96a2937a74026b42b1155f4f51387d27c2460a8937b52d1b3844e35a2"),
types.MustHashFromString("e3d72b53c4e8d18855686aaf92292d6021249b49af9ffb94ac26ab529c98c4ac"),
types.MustHashFromString("61e309e790f67b8ab18ac537c8f546aab36ddf14093f38f8cf6e2f7b66b31e64"),
types.MustHashFromString("a3e32f2b90b06ed0512b939d25c79a549d3e3f44d3ca323d8f729e2614b342f4"),
types.MustHashFromString("0fd6e88d4473b1e74ae0ce7a4b0401de1ef4a554a1fa19d893eb073bbb9bd95a"),
types.MustHashFromString("8e952cb4b352d783b767bacbd99f7ad38594a176398f2a4a33e1e819a51d1231"),
types.MustHashFromString("c53552978bd59aee02f097d8684d56cadffacebeeca82b9e8c899c7ace543a6a"),
types.MustHashFromString("c9da423c14938edfeb7a86bb8ccf39d409d897625161f16e0381fea9ecc367fe"),
types.MustHashFromString("58ac55cfc493ac6936fe486f717faaf58be873bfe9a8b7e2f8f17a3d8a5e0f31"),
types.MustHashFromString("89b93411b5b779c73b0428569ab33a5f335b5218ce1046cfe88f9f9d97bcdf8a"),
types.MustHashFromString("1e78c817d51fbea3433a83a7fb4875ec581150ed5d9a47c8438aeb5536de2e46"),
types.MustHashFromString("1acdb9cd856cc7c4d1c99fa0180c5d29a6c44712b746bf34d94576bee7a237d8"),
types.MustHashFromString("093b3d57c2bae491bd69960a8ad4750cf0a5ba697680c0c27b343323ac460241"),
types.MustHashFromString("8b5cc7873e573a99e51845097964fabaaa8ef6a83e1e1ccbb8ce2d8156b0cb95"),
types.MustHashFromString("019708c95e4243d2e22a545ca0f1e8cbb30d610ff31e9646ce3447ef327dedd6"),
types.MustHashFromString("8806721c5ec4b9de9f93cac309b1c99363b3e2f108f3886cfa2d89e50109fec2"),
types.MustHashFromString("f39ac9c066f4726e9a5643e5b0eed7615ad306753565621ebe330ea4625c17e6"),
types.MustHashFromString("19463ac7d3413ac185be35695beb4302631a1411e12c7d83ddd72b530eb0f7b4"),
types.MustHashFromString("94b068b577dde97667ce8ee44584eb03726353c74ad3226e2da8bad961867d16"),
types.MustHashFromString("992bfcb70384e6a7a42d6eff8ff63e224056d441c2cf70d6c30b3390b566d10a"),
types.MustHashFromString("e6d6687d089edfdc3dda0345641e4708b7c9d5b945dcbdafdd1ff6c0be349293"),
types.MustHashFromString("ea318665296573c0f61f12fd367f9fa24dfd2a970c2f094b860db5ca071ee2fb"),
types.MustHashFromString("f949462a8fbb73df0a90b81861f14abccecf751a4eae062efc3ba9f8ba8b4307"),
types.MustHashFromString("ef8409d286dfc25d9437e0af43bdab12458dc488dd942013104b9389d74c286e"),
types.MustHashFromString("fedd6f4cd049f31444e595c1da94be1eedaa76f1f4de5e34f3b559c979f1fa76"),
types.MustHashFromString("75fa5327ec946c86fc2fa04c97685adbda87fc5bea157270d43a3a222cd6e134"),
types.MustHashFromString("fc0881140e1b40f53277150012c1ca6ea1e9a39e52acf033bf8121d34ae2a405"),
types.MustHashFromString("66bab6a9f0b91e52e03ed1bf55a90ac3741fb5709ac4583e2a5858b6b11881b5"),
types.MustHashFromString("e2b7e798e75ac720fedc7d5d8028952efa208c1642da9667e1a75f113ab38c73"),
types.MustHashFromString("b588d1e71c406aefc10a77e03494cc4ddeafdf027b87dcb94a8a7f9dc398f597"),
types.MustHashFromString("4bacefb2551f329a5fee9b3fb2e29de2f5a7436c3486dae66e6c460a07249be7"),
types.MustHashFromString("a4a8320ae3666adc729334e4fd39b7f6f48ecbda09f7c11dfe90c0da2c3b4aa7"),
types.MustHashFromString("85201c298d52aaee3ba5477fcfce1e983a7407d33323baa097820b7103befa24"),
types.MustHashFromString("6e740b18aaf6e4c665b9ed2f50d4b2556757ce1430f93a9eb3b6ac4bd758d81d"),
types.MustHashFromString("c971024c24f0989daa0ca81c27d25f9c4ff74a4126b461b733447128b0390f9b"),
types.MustHashFromString("4059986ea5651e01ba110278f3300fc2021d92d29e1d9b95febeb2a57ac127e6"),
types.MustHashFromString("7ee43f37ce30598f39051e36088a5d49c118f874c553330a3953a39b1090a45f"),
types.MustHashFromString("af52e0bbf4182086d7a27d156c41575b421f21d42701c2d4d67b409de2a67063"),
types.MustHashFromString("7bc09953afc74d42cd9ac8c3156f6bcf9cd4831b23c38a4a48d7f5b90887958d"),
types.MustHashFromString("d83ca5b06e7756f921e8ee6778b802057f2a85fedf553ef6ed2afb3299668512"),
types.MustHashFromString("101709996351c0312694d6333015c9111fffa6fcee34ee31aca9b5e7da09d6f1"),
types.MustHashFromString("2baaf299969d7cf3281ad79033d501c3c3e5e38186f2c257aadee5dec635b120"),
types.MustHashFromString("22ab3cdb4a5f82cfd5f99edc5811779847645e825eeb6114d0f74b570beaf8a4"),
types.MustHashFromString("5efd58d951348ecb78472d51da0b96b6cc91e02f6c7b2c4e5347a628495a5045"),
types.MustHashFromString("b8758a4651a9e4c1bf2919f447fea1e9e895e7a99e89432b1c78bccbc6316f79"),
types.MustHashFromString("2dde61f4687fc5c397627672c5d72000d70e2f15368591cada5db0da9452b6de"),
types.MustHashFromString("9bd3de9ae980475e9e0f54b78d633233b64172764a2c7083f83d9893e7577633"),
types.MustHashFromString("859b541ebe34789aaf981e508ca57f22fc12c9d0c449128577ef29fccc91397a"),
types.MustHashFromString("a80cd3973465056eec6db02af78b55e78b45b74e5350a3a0b6224f43c3fa70e1"),
types.MustHashFromString("57043e4b9428659469a96f729eaf7167402f46a704f032279ad5114319627b87"),
types.MustHashFromString("5b4c62ea6f82f5d3f31ae70e79948c462826da13bc9996066b7152bd151cd3f8"),
types.MustHashFromString("b4c42e3bed170aa85f92ca5fcbba8a70ab49b5580a8d799eae3c27b92149a97f"),
types.MustHashFromString("db909f01e3cca4d91f1f830c7ce25b119fe328f913d2ca03ab733b0ca19a1084"),
types.MustHashFromString("6f709825d02a53c7de51e233c480578719ec14030c65ed8e920f08f24166bfb8"),
types.MustHashFromString("21543f184d9034e3ac0a047fa4278437cbbfe4727bf81c9ba4dadec351984eca"),
}
func TestBinaryTreeHash_RootHash(t *testing.T) {
merkleTree := make(BinaryTreeHash, len(transactionHashes)+1)
merkleTree[0] = coinbaseHash
copy(merkleTree[1:], transactionHashes)
txTreeHash := merkleTree.RootHash()
expectedHash := types.MustHashFromString("aae24a83557abb68a871e189dfa56a2f95026410d11cd4acd9db3cb858507e79")
if txTreeHash != expectedHash {
t.Errorf("root hash %s does not match %s", txTreeHash, expectedHash)
}
}
func BenchmarkBinaryTreeHash_RootHash(b *testing.B) {
merkleTree := make(BinaryTreeHash, len(transactionHashes)+1)
merkleTree[0] = coinbaseHash
copy(merkleTree[1:], transactionHashes)
b.ReportAllocs()
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
var txTreeHash types.Hash
for pb.Next() {
txTreeHash = merkleTree.RootHash()
}
runtime.KeepAlive(txTreeHash)
})
}