|
| 1 | +// Copyright 2024 Blink Labs Software |
| 2 | +// |
| 3 | +// Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | +// you may not use this file except in compliance with the License. |
| 5 | +// You may obtain a copy of the License at |
| 6 | +// |
| 7 | +// http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | +// |
| 9 | +// Unless required by applicable law or agreed to in writing, software |
| 10 | +// distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | +// See the License for the specific language governing permissions and |
| 13 | +// limitations under the License. |
| 14 | + |
| 15 | +package byron_test |
| 16 | + |
| 17 | +import ( |
| 18 | + "encoding/json" |
| 19 | + "reflect" |
| 20 | + "testing" |
| 21 | + |
| 22 | + "github.com/blinklabs-io/gouroboros/ledger/byron" |
| 23 | +) |
| 24 | + |
| 25 | +const byronGenesisConfig = ` |
| 26 | +{ |
| 27 | + "avvmDistr": { |
| 28 | + "-0BJDi-gauylk4LptQTgjMeo7kY9lTCbZv12vwOSTZk=": "9999300000000", |
| 29 | + "-0Np4pyTOWF26iXWVIvu6fhz9QupwWRS2hcCaOEYlw0=": "3760024000000", |
| 30 | + "ocEVzr7ctJ3NyCWj_356QsTyINKoJlwCCAgKFGPjvqg=": "2074165643000000", |
| 31 | + "5Y1_PK90x1jCNzzQwthIt0RGT7E3PAPwDI-tbHN39l8=": "648176763000000" |
| 32 | + }, |
| 33 | + "blockVersionData": { |
| 34 | + "heavyDelThd": "300000000000", |
| 35 | + "maxBlockSize": "2000000", |
| 36 | + "maxHeaderSize": "2000000", |
| 37 | + "maxProposalSize": "700", |
| 38 | + "maxTxSize": "4096", |
| 39 | + "mpcThd": "20000000000000", |
| 40 | + "scriptVersion": 0, |
| 41 | + "slotDuration": "20000", |
| 42 | + "softforkRule": { |
| 43 | + "initThd": "900000000000000", |
| 44 | + "minThd": "600000000000000", |
| 45 | + "thdDecrement": "50000000000000" |
| 46 | + }, |
| 47 | + "txFeePolicy": { |
| 48 | + "multiplier": "43946000000", |
| 49 | + "summand": "155381000000000" |
| 50 | + }, |
| 51 | + "unlockStakeEpoch": "18446744073709551615", |
| 52 | + "updateImplicit": "10000", |
| 53 | + "updateProposalThd": "100000000000000", |
| 54 | + "updateVoteThd": "1000000000000" |
| 55 | + }, |
| 56 | + "ftsSeed": "76617361206f7061736120736b6f766f726f64612047677572646120626f726f64612070726f766f6461", |
| 57 | + "protocolConsts": { |
| 58 | + "k": 2160, |
| 59 | + "protocolMagic": 764824073, |
| 60 | + "vssMaxTTL": 6, |
| 61 | + "vssMinTTL": 2 |
| 62 | + }, |
| 63 | + "startTime": 1506203091, |
| 64 | + "bootStakeholders": { |
| 65 | + "1deb82908402c7ee3efeb16f369d97fba316ee621d09b32b8969e54b": 1, |
| 66 | + "65904a89e6d0e5f881513d1736945e051b76f095eca138ee869d543d": 1, |
| 67 | + "5411c7bf87c252609831a337a713e4859668cba7bba70a9c3ef7c398": 1, |
| 68 | +
|
| 69 | + "6c9e14978b9d6629b8703f4f25e9df6ed4814b930b8403b0d45350ea": 1, |
| 70 | + "43011479a595b300e0726910d0b602ffcdd20466a3b8ceeacd3fbc26": 1, |
| 71 | +
|
| 72 | + "5071d8802ddd05c59f4db907bd1749e82e6242caf6512b20a8368fcf": 1, |
| 73 | + "af2800c124e599d6dec188a75f8bfde397ebb778163a18240371f2d1": 1 |
| 74 | + }, |
| 75 | + "heavyDelegation": { |
| 76 | + "1deb82908402c7ee3efeb16f369d97fba316ee621d09b32b8969e54b":{"cert":"c8b39f094dc00608acb2d20ff274cb3e0c022ccb0ce558ea7c1a2d3a32cd54b42cc30d32406bcfbb7f2f86d05d2032848be15b178e3ad776f8b1bc56a671400d","delegatePk":"6MA6A8Cy3b6kGVyvOfQeZp99JR7PIh+7LydcCl1+BdGQ3MJG9WyOM6wANwZuL2ZN2qmF6lKECCZDMI3eT1v+3w==","issuerPk":"UHMxYf2vtsjLb64OJb35VVEFs2eO+wjxd1uekN5PXHe8yM7/+NkBHLJ4so/dyG2bqwmWVtd6eFbHYZEIy/ZXUg==","omega":0}, |
| 77 | + "65904a89e6d0e5f881513d1736945e051b76f095eca138ee869d543d":{"cert":"552741f728196e62f218047b944b24ce4d374300d04b9b281426f55aa000d53ded66989ad5ea0908e6ff6492001ff18ece6c7040a934060759e9ae09863bf203","delegatePk":"X93u2t4nFNbbL54RBHQ9LY2Bjs3cMG4XYQjbFMqt1EG0V9WEDGD4hAuZyPeMKQriKdT4Qx5ni6elRcNWB7lN2w==","issuerPk":"C9sfXvPZlAN1k/ImYlXxNKVkZYuy34FLO5zvuW2jT6nIiFkchbdw/TZybV89mRxmiCiv/Hu+CHL9aZE25mTZ2A==","omega":0}, |
| 78 | + "5411c7bf87c252609831a337a713e4859668cba7bba70a9c3ef7c398":{"cert":"c946fd596bdb31949aa435390de19a549c9698cad1813e34ff2431bc06190188188f4e84001380713e3f916c7526096e7c4855904bff40385007b81e1e657d0e","delegatePk":"i1Mgdin5ow5LIBUETzN8AXNavmckPBlHDJ2ujHtzJ5gJiHufQg1vcO4enVDBYFKHjlRLZctdRL1pF1ayhM2Cmw==","issuerPk":"mm+jQ8jGw23ho1Vv60Eb/fhwjVr4jehibQ/Gv6Tuu22Zq4PZDWZTGtkSLT+ctLydBbJkSGclMqaNp5b5MoQx/Q==","omega":0}, |
| 79 | +
|
| 80 | + "6c9e14978b9d6629b8703f4f25e9df6ed4814b930b8403b0d45350ea":{"cert":"8ab43e904b06e799c1817c5ced4f3a7bbe15cdbf422dea9d2d5dc2c6105ce2f4d4c71e5d4779f6c44b770a133636109949e1f7786acb5a732bcdea0470fea406","delegatePk":"8U9xLcYA15MFLUhC1QzvpOZYhOps+DcHB564zjAu/IXa6SLV6zg40rkXhPBIJNJnZ7+2W9NqNudP7EbQnZiFjQ==","issuerPk":"JlZuhvxrmxd8hIDidbKxErVz9tBz+d7qU7jZnE7ZdrM1srOELw44AAHwkLySPKqWke2RFeKG2pQh4nRcesyH8Q==","omega":0}, |
| 81 | + "43011479a595b300e0726910d0b602ffcdd20466a3b8ceeacd3fbc26":{"cert":"cf6ddc111545f61c2442b68bd7864ea952c428d145438948ef48a4af7e3f49b175564007685be5ae3c9ece0ab27de09721db0cb63aa67dc081a9f82d7e84210d","delegatePk":"kYDYGOac2ZfjRmPEGKZIwHby4ZzUGU5IbhWdhYC8bNqBNERAxq0OUwb9A1vvkoHaXY+9OPWfWI9wgQFu5hET0g==","issuerPk":"0pZchpkBIxeYxdAtOfyip5qkfD6FSSG1hVyC/RRwiRUX4fp3FlXsjK0T7PblcZrcU5L8BX4XA9X1gzEeg3Ri8Q==","omega":0}, |
| 82 | +
|
| 83 | + "5071d8802ddd05c59f4db907bd1749e82e6242caf6512b20a8368fcf":{"cert":"496b29b5c57e8ac7cffc6e8b5e40b3d260e407ad4d09792decb0a22d54da7f8828265688a18aa1a5c76d9e7477a5f4a650501409fdcd3855b300fd2e2bc3c605","delegatePk":"icKfjErye3rMvliXR4IBNOu6ocrzzpSScKPQx9z9VBsd7zJtLvDbeANByeJh8EiQze7x+cmfbZC47cp9PPwJiA==","issuerPk":"mTqPBW0tPlCwrGATnxDfj4Ej1ffEgXtA2sK13YqpSoLoU2gy5jEt38B4fXtTEMgVZVraT9vPaxIpfURY7Mwt+w==","omega":0}, |
| 84 | + "af2800c124e599d6dec188a75f8bfde397ebb778163a18240371f2d1":{"cert":"e03e62f083df5576360e60a32e22bbb07b3c8df4fcab8079f1d6f61af3954d242ba8a06516c395939f24096f3df14e103a7d9c2b80a68a9363cf1f27c7a4e307","delegatePk":"YSYalbdhPua/IGfa13twNJcpsMUNV7wc8w3g20oec6iF0AVK98I/xsN5GdukHGAqV+LQ+TKaeVS4ZzONb7LJRQ==","issuerPk":"G8l6L+AsKXiAzo7P2Zf+TB7AnuEP7u6faGdgFmsFKB1ig0aP/ZO+ywyVbM3dZC35sSRMkVkRGF+kk1X28iv6uQ==","omega":0} |
| 85 | + }, |
| 86 | + "nonAvvmBalances": {}, |
| 87 | + "vssCerts": { |
| 88 | + "6bef444609d6e336cb1fe1daba278918dbc5768e6754c2945dd8d25c":{"expiryEpoch":5,"signature":"2d96e4d4a4c506cc5762128b814ffb20afb97d30eb976334cd241a3935bd155ea1d68772b0903bde4584470359206769d83fa2ce55f56a1027ec3c52cb5e8703","signingKey":"6MA6A8Cy3b6kGVyvOfQeZp99JR7PIh+7LydcCl1+BdGQ3MJG9WyOM6wANwZuL2ZN2qmF6lKECCZDMI3eT1v+3w==","vssKey":"WCED6k6ArqOnhQtfNRg0FSCxWmAtocZcyV33AdjMotjGwxI="}, |
| 89 | + "eb649333a196ecb024a4a5919d3ce86084014136fd3e884e52ecd057":{"expiryEpoch":5,"signature":"0b115a39935ce6008a4bbad0377f35463fd3510e282186ba43492768a02eb000bd4d3bc50799a24c53879ff2f2587179e797ee1c312acaf107cba67f91cb280b","signingKey":"X93u2t4nFNbbL54RBHQ9LY2Bjs3cMG4XYQjbFMqt1EG0V9WEDGD4hAuZyPeMKQriKdT4Qx5ni6elRcNWB7lN2w==","vssKey":"WCECS11PWxybUHKY2hHmBgm/zYaR2YsqsH+f3uPOp2ydz/E="}, |
| 90 | + "5ffca3a329599727e39a7472c5270e54cf59a27b74306cc9f7fd0f5e":{"expiryEpoch":5,"signature":"6cc8d84dd55b41efcf46c4b3086da1fb60c938182b4b66657650839d9fac1e2194a8253dc6d5c107ac0e9e714d1364fff9d2114eae07363d9937ee1d92b69c06","signingKey":"i1Mgdin5ow5LIBUETzN8AXNavmckPBlHDJ2ujHtzJ5gJiHufQg1vcO4enVDBYFKHjlRLZctdRL1pF1ayhM2Cmw==","vssKey":"WCEDca27BxibVjQoA1QJaWx4gAE2MUB0lHfb6jJ3iorXD7s="}, |
| 91 | + "ce1e50f578d3043dc78d8777f5723cc7b6ca512d8cdbe8a09aafc9c3":{"expiryEpoch":5,"signature":"2b830f1a79d2baca791a90c3784d74ec9f00267efac5ccd3cd7082b854234f411c237b59f34736933ba626fadc87fd6b2114c44486de692892d7401343990e01","signingKey":"8U9xLcYA15MFLUhC1QzvpOZYhOps+DcHB564zjAu/IXa6SLV6zg40rkXhPBIJNJnZ7+2W9NqNudP7EbQnZiFjQ==","vssKey":"WCECs1+lg8Lsm15FxfY8bhGyRuwe8yOaSH0wwSajLRYeW/s="}, |
| 92 | + "0efd6f3b2849d5baf25b3e2bf2d46f88427b4e455fc3dc43f57819c5":{"expiryEpoch":5,"signature":"d381d32a18cd12a1c6ff87da0229c9a5b998fd093ac29f5d932bfc918e7dbc6e1dc292a36c46a3e129c5b1ef661124361426b443480534ff51dacc82bf4b630f","signingKey":"kYDYGOac2ZfjRmPEGKZIwHby4ZzUGU5IbhWdhYC8bNqBNERAxq0OUwb9A1vvkoHaXY+9OPWfWI9wgQFu5hET0g==","vssKey":"WCECgow+hJK+BxjNx0gIYrap+onUsRocObQEVzvJsdj68vw="}, |
| 93 | + "1040655f58d5bf2be1c06f983abf66c7f01d28c239f27648a0c73e5d":{"expiryEpoch":5,"signature":"b02e89abb183da7c871bca87a563d38356b44f403348b6a5f24ee4459335290d980db69a6482455aae231a9880defe2fd4212272c4b2ea3da8744a8ba750440a","signingKey":"icKfjErye3rMvliXR4IBNOu6ocrzzpSScKPQx9z9VBsd7zJtLvDbeANByeJh8EiQze7x+cmfbZC47cp9PPwJiA==","vssKey":"WCECQoZjWJSu/6R74CC0ueh7cXmR0sasmTuCqf8X0BtAQ4o="}, |
| 94 | + "1fa56ba63cff50d124b6af42f33b245a30fcd1b0170d7704b0b201c7":{"expiryEpoch":5,"signature":"7bb244c4fa1499021b0f2d36515a1f288a33cf00f1b88b57626998b439dcfb03ad88a7bc93101e4d83cdc75329799fbb2ccb28a7212a3e49737b06287d09b00c","signingKey":"YSYalbdhPua/IGfa13twNJcpsMUNV7wc8w3g20oec6iF0AVK98I/xsN5GdukHGAqV+LQ+TKaeVS4ZzONb7LJRQ==","vssKey":"WCECNXeQRqiTZSPDDyeRJ3gl/QzYMLLtNH0yN+XOl17pu8Y="} |
| 95 | + } |
| 96 | +} |
| 97 | +` |
| 98 | + |
| 99 | +var expectedGenesisObj = byron.ByronGenesis{ |
| 100 | + // TODO |
| 101 | + AvvmDistr: map[string]string{ |
| 102 | + "-0BJDi-gauylk4LptQTgjMeo7kY9lTCbZv12vwOSTZk=": "9999300000000", |
| 103 | + "-0Np4pyTOWF26iXWVIvu6fhz9QupwWRS2hcCaOEYlw0=": "3760024000000", |
| 104 | + "5Y1_PK90x1jCNzzQwthIt0RGT7E3PAPwDI-tbHN39l8=": "648176763000000", |
| 105 | + "ocEVzr7ctJ3NyCWj_356QsTyINKoJlwCCAgKFGPjvqg=": "2074165643000000", |
| 106 | + }, |
| 107 | + BlockVersionData: byron.ByronGenesisBlockVersionData{ |
| 108 | + HeavyDelThd: 300000000000, |
| 109 | + MaxBlockSize: 2000000, |
| 110 | + MaxHeaderSize: 2000000, |
| 111 | + MaxProposalSize: 700, |
| 112 | + MaxTxSize: 4096, |
| 113 | + MpcThd: 20000000000000, |
| 114 | + ScriptVersion: 0, |
| 115 | + SlotDuration: 20000, |
| 116 | + SoftforkRule: byron.ByronGenesisBlockVersionDataSoftforkRule{ |
| 117 | + InitThd: 900000000000000, |
| 118 | + MinThd: 600000000000000, |
| 119 | + ThdDecrement: 50000000000000, |
| 120 | + }, |
| 121 | + TxFeePolicy: byron.ByronGenesisBlockVersionDataTxFeePolicy{ |
| 122 | + Multiplier: 43946000000, |
| 123 | + Summand: 155381000000000, |
| 124 | + }, |
| 125 | + UnlockStakeEpoch: 0xffffffffffffffff, |
| 126 | + UpdateImplicit: 10000, |
| 127 | + UpdateProposalThd: 100000000000000, |
| 128 | + UpdateVoteThd: 1000000000000, |
| 129 | + }, |
| 130 | + FtsSeed: "76617361206f7061736120736b6f766f726f64612047677572646120626f726f64612070726f766f6461", |
| 131 | + ProtocolConsts: byron.ByronGenesisProtocolConsts{ |
| 132 | + K: 2160, |
| 133 | + ProtocolMagic: 764824073, |
| 134 | + VssMinTTL: 2, |
| 135 | + VssMaxTTL: 6, |
| 136 | + }, |
| 137 | + StartTime: 1506203091, |
| 138 | + BootStakeholders: map[string]int{ |
| 139 | + "1deb82908402c7ee3efeb16f369d97fba316ee621d09b32b8969e54b": 1, |
| 140 | + "43011479a595b300e0726910d0b602ffcdd20466a3b8ceeacd3fbc26": 1, |
| 141 | + "5071d8802ddd05c59f4db907bd1749e82e6242caf6512b20a8368fcf": 1, |
| 142 | + "5411c7bf87c252609831a337a713e4859668cba7bba70a9c3ef7c398": 1, |
| 143 | + "65904a89e6d0e5f881513d1736945e051b76f095eca138ee869d543d": 1, |
| 144 | + "6c9e14978b9d6629b8703f4f25e9df6ed4814b930b8403b0d45350ea": 1, |
| 145 | + "af2800c124e599d6dec188a75f8bfde397ebb778163a18240371f2d1": 1, |
| 146 | + }, |
| 147 | + HeavyDelegation: map[string]byron.ByronGenesisHeavyDelegation{ |
| 148 | + "1deb82908402c7ee3efeb16f369d97fba316ee621d09b32b8969e54b": byron.ByronGenesisHeavyDelegation{ |
| 149 | + Cert: "c8b39f094dc00608acb2d20ff274cb3e0c022ccb0ce558ea7c1a2d3a32cd54b42cc30d32406bcfbb7f2f86d05d2032848be15b178e3ad776f8b1bc56a671400d", |
| 150 | + DelegatePk: "6MA6A8Cy3b6kGVyvOfQeZp99JR7PIh+7LydcCl1+BdGQ3MJG9WyOM6wANwZuL2ZN2qmF6lKECCZDMI3eT1v+3w==", |
| 151 | + IssuerPk: "UHMxYf2vtsjLb64OJb35VVEFs2eO+wjxd1uekN5PXHe8yM7/+NkBHLJ4so/dyG2bqwmWVtd6eFbHYZEIy/ZXUg==", |
| 152 | + Omega: 0, |
| 153 | + }, |
| 154 | + "43011479a595b300e0726910d0b602ffcdd20466a3b8ceeacd3fbc26": byron.ByronGenesisHeavyDelegation{ |
| 155 | + Cert: "cf6ddc111545f61c2442b68bd7864ea952c428d145438948ef48a4af7e3f49b175564007685be5ae3c9ece0ab27de09721db0cb63aa67dc081a9f82d7e84210d", |
| 156 | + DelegatePk: "kYDYGOac2ZfjRmPEGKZIwHby4ZzUGU5IbhWdhYC8bNqBNERAxq0OUwb9A1vvkoHaXY+9OPWfWI9wgQFu5hET0g==", |
| 157 | + IssuerPk: "0pZchpkBIxeYxdAtOfyip5qkfD6FSSG1hVyC/RRwiRUX4fp3FlXsjK0T7PblcZrcU5L8BX4XA9X1gzEeg3Ri8Q==", |
| 158 | + Omega: 0, |
| 159 | + }, |
| 160 | + "5071d8802ddd05c59f4db907bd1749e82e6242caf6512b20a8368fcf": byron.ByronGenesisHeavyDelegation{ |
| 161 | + Cert: "496b29b5c57e8ac7cffc6e8b5e40b3d260e407ad4d09792decb0a22d54da7f8828265688a18aa1a5c76d9e7477a5f4a650501409fdcd3855b300fd2e2bc3c605", |
| 162 | + DelegatePk: "icKfjErye3rMvliXR4IBNOu6ocrzzpSScKPQx9z9VBsd7zJtLvDbeANByeJh8EiQze7x+cmfbZC47cp9PPwJiA==", |
| 163 | + IssuerPk: "mTqPBW0tPlCwrGATnxDfj4Ej1ffEgXtA2sK13YqpSoLoU2gy5jEt38B4fXtTEMgVZVraT9vPaxIpfURY7Mwt+w==", |
| 164 | + Omega: 0, |
| 165 | + }, |
| 166 | + "5411c7bf87c252609831a337a713e4859668cba7bba70a9c3ef7c398": byron.ByronGenesisHeavyDelegation{ |
| 167 | + Cert: "c946fd596bdb31949aa435390de19a549c9698cad1813e34ff2431bc06190188188f4e84001380713e3f916c7526096e7c4855904bff40385007b81e1e657d0e", |
| 168 | + DelegatePk: "i1Mgdin5ow5LIBUETzN8AXNavmckPBlHDJ2ujHtzJ5gJiHufQg1vcO4enVDBYFKHjlRLZctdRL1pF1ayhM2Cmw==", |
| 169 | + IssuerPk: "mm+jQ8jGw23ho1Vv60Eb/fhwjVr4jehibQ/Gv6Tuu22Zq4PZDWZTGtkSLT+ctLydBbJkSGclMqaNp5b5MoQx/Q==", |
| 170 | + Omega: 0, |
| 171 | + }, |
| 172 | + "65904a89e6d0e5f881513d1736945e051b76f095eca138ee869d543d": byron.ByronGenesisHeavyDelegation{ |
| 173 | + Cert: "552741f728196e62f218047b944b24ce4d374300d04b9b281426f55aa000d53ded66989ad5ea0908e6ff6492001ff18ece6c7040a934060759e9ae09863bf203", |
| 174 | + DelegatePk: "X93u2t4nFNbbL54RBHQ9LY2Bjs3cMG4XYQjbFMqt1EG0V9WEDGD4hAuZyPeMKQriKdT4Qx5ni6elRcNWB7lN2w==", |
| 175 | + IssuerPk: "C9sfXvPZlAN1k/ImYlXxNKVkZYuy34FLO5zvuW2jT6nIiFkchbdw/TZybV89mRxmiCiv/Hu+CHL9aZE25mTZ2A==", |
| 176 | + Omega: 0, |
| 177 | + }, |
| 178 | + "6c9e14978b9d6629b8703f4f25e9df6ed4814b930b8403b0d45350ea": byron.ByronGenesisHeavyDelegation{ |
| 179 | + Cert: "8ab43e904b06e799c1817c5ced4f3a7bbe15cdbf422dea9d2d5dc2c6105ce2f4d4c71e5d4779f6c44b770a133636109949e1f7786acb5a732bcdea0470fea406", |
| 180 | + DelegatePk: "8U9xLcYA15MFLUhC1QzvpOZYhOps+DcHB564zjAu/IXa6SLV6zg40rkXhPBIJNJnZ7+2W9NqNudP7EbQnZiFjQ==", |
| 181 | + IssuerPk: "JlZuhvxrmxd8hIDidbKxErVz9tBz+d7qU7jZnE7ZdrM1srOELw44AAHwkLySPKqWke2RFeKG2pQh4nRcesyH8Q==", |
| 182 | + Omega: 0, |
| 183 | + }, |
| 184 | + "af2800c124e599d6dec188a75f8bfde397ebb778163a18240371f2d1": byron.ByronGenesisHeavyDelegation{ |
| 185 | + Cert: "e03e62f083df5576360e60a32e22bbb07b3c8df4fcab8079f1d6f61af3954d242ba8a06516c395939f24096f3df14e103a7d9c2b80a68a9363cf1f27c7a4e307", |
| 186 | + DelegatePk: "YSYalbdhPua/IGfa13twNJcpsMUNV7wc8w3g20oec6iF0AVK98I/xsN5GdukHGAqV+LQ+TKaeVS4ZzONb7LJRQ==", |
| 187 | + IssuerPk: "G8l6L+AsKXiAzo7P2Zf+TB7AnuEP7u6faGdgFmsFKB1ig0aP/ZO+ywyVbM3dZC35sSRMkVkRGF+kk1X28iv6uQ==", |
| 188 | + Omega: 0, |
| 189 | + }, |
| 190 | + }, |
| 191 | + NonAvvmBalances: map[string]interface{}{}, |
| 192 | + VssCerts: map[string]byron.ByronGenesisVssCert{ |
| 193 | + "0efd6f3b2849d5baf25b3e2bf2d46f88427b4e455fc3dc43f57819c5": byron.ByronGenesisVssCert{ |
| 194 | + ExpiryEpoch: 5, |
| 195 | + Signature: "d381d32a18cd12a1c6ff87da0229c9a5b998fd093ac29f5d932bfc918e7dbc6e1dc292a36c46a3e129c5b1ef661124361426b443480534ff51dacc82bf4b630f", |
| 196 | + SigningKey: "kYDYGOac2ZfjRmPEGKZIwHby4ZzUGU5IbhWdhYC8bNqBNERAxq0OUwb9A1vvkoHaXY+9OPWfWI9wgQFu5hET0g==", |
| 197 | + VssKey: "WCECgow+hJK+BxjNx0gIYrap+onUsRocObQEVzvJsdj68vw=", |
| 198 | + }, |
| 199 | + "1040655f58d5bf2be1c06f983abf66c7f01d28c239f27648a0c73e5d": byron.ByronGenesisVssCert{ |
| 200 | + ExpiryEpoch: 5, |
| 201 | + Signature: "b02e89abb183da7c871bca87a563d38356b44f403348b6a5f24ee4459335290d980db69a6482455aae231a9880defe2fd4212272c4b2ea3da8744a8ba750440a", |
| 202 | + SigningKey: "icKfjErye3rMvliXR4IBNOu6ocrzzpSScKPQx9z9VBsd7zJtLvDbeANByeJh8EiQze7x+cmfbZC47cp9PPwJiA==", |
| 203 | + VssKey: "WCECQoZjWJSu/6R74CC0ueh7cXmR0sasmTuCqf8X0BtAQ4o=", |
| 204 | + }, |
| 205 | + "1fa56ba63cff50d124b6af42f33b245a30fcd1b0170d7704b0b201c7": byron.ByronGenesisVssCert{ |
| 206 | + ExpiryEpoch: 5, |
| 207 | + Signature: "7bb244c4fa1499021b0f2d36515a1f288a33cf00f1b88b57626998b439dcfb03ad88a7bc93101e4d83cdc75329799fbb2ccb28a7212a3e49737b06287d09b00c", |
| 208 | + SigningKey: "YSYalbdhPua/IGfa13twNJcpsMUNV7wc8w3g20oec6iF0AVK98I/xsN5GdukHGAqV+LQ+TKaeVS4ZzONb7LJRQ==", |
| 209 | + VssKey: "WCECNXeQRqiTZSPDDyeRJ3gl/QzYMLLtNH0yN+XOl17pu8Y=", |
| 210 | + }, |
| 211 | + "5ffca3a329599727e39a7472c5270e54cf59a27b74306cc9f7fd0f5e": byron.ByronGenesisVssCert{ |
| 212 | + ExpiryEpoch: 5, |
| 213 | + Signature: "6cc8d84dd55b41efcf46c4b3086da1fb60c938182b4b66657650839d9fac1e2194a8253dc6d5c107ac0e9e714d1364fff9d2114eae07363d9937ee1d92b69c06", |
| 214 | + SigningKey: "i1Mgdin5ow5LIBUETzN8AXNavmckPBlHDJ2ujHtzJ5gJiHufQg1vcO4enVDBYFKHjlRLZctdRL1pF1ayhM2Cmw==", |
| 215 | + VssKey: "WCEDca27BxibVjQoA1QJaWx4gAE2MUB0lHfb6jJ3iorXD7s=", |
| 216 | + }, |
| 217 | + "6bef444609d6e336cb1fe1daba278918dbc5768e6754c2945dd8d25c": byron.ByronGenesisVssCert{ |
| 218 | + ExpiryEpoch: 5, |
| 219 | + Signature: "2d96e4d4a4c506cc5762128b814ffb20afb97d30eb976334cd241a3935bd155ea1d68772b0903bde4584470359206769d83fa2ce55f56a1027ec3c52cb5e8703", |
| 220 | + SigningKey: "6MA6A8Cy3b6kGVyvOfQeZp99JR7PIh+7LydcCl1+BdGQ3MJG9WyOM6wANwZuL2ZN2qmF6lKECCZDMI3eT1v+3w==", |
| 221 | + VssKey: "WCED6k6ArqOnhQtfNRg0FSCxWmAtocZcyV33AdjMotjGwxI=", |
| 222 | + }, |
| 223 | + "ce1e50f578d3043dc78d8777f5723cc7b6ca512d8cdbe8a09aafc9c3": byron.ByronGenesisVssCert{ |
| 224 | + ExpiryEpoch: 5, |
| 225 | + Signature: "2b830f1a79d2baca791a90c3784d74ec9f00267efac5ccd3cd7082b854234f411c237b59f34736933ba626fadc87fd6b2114c44486de692892d7401343990e01", |
| 226 | + SigningKey: "8U9xLcYA15MFLUhC1QzvpOZYhOps+DcHB564zjAu/IXa6SLV6zg40rkXhPBIJNJnZ7+2W9NqNudP7EbQnZiFjQ==", |
| 227 | + VssKey: "WCECs1+lg8Lsm15FxfY8bhGyRuwe8yOaSH0wwSajLRYeW/s=", |
| 228 | + }, |
| 229 | + "eb649333a196ecb024a4a5919d3ce86084014136fd3e884e52ecd057": byron.ByronGenesisVssCert{ |
| 230 | + ExpiryEpoch: 5, |
| 231 | + Signature: "0b115a39935ce6008a4bbad0377f35463fd3510e282186ba43492768a02eb000bd4d3bc50799a24c53879ff2f2587179e797ee1c312acaf107cba67f91cb280b", |
| 232 | + SigningKey: "X93u2t4nFNbbL54RBHQ9LY2Bjs3cMG4XYQjbFMqt1EG0V9WEDGD4hAuZyPeMKQriKdT4Qx5ni6elRcNWB7lN2w==", |
| 233 | + VssKey: "WCECS11PWxybUHKY2hHmBgm/zYaR2YsqsH+f3uPOp2ydz/E=", |
| 234 | + }, |
| 235 | + }, |
| 236 | +} |
| 237 | + |
| 238 | +func TestGenesisFromJson(t *testing.T) { |
| 239 | + var tmpGenesis byron.ByronGenesis |
| 240 | + if err := json.Unmarshal([]byte(byronGenesisConfig), &tmpGenesis); err != nil { |
| 241 | + t.Fatalf("unexpected error: %s", err) |
| 242 | + } |
| 243 | + if !reflect.DeepEqual(tmpGenesis, expectedGenesisObj) { |
| 244 | + t.Fatalf("did not get expected object:\n got: %#v\n wanted: %#v", tmpGenesis, expectedGenesisObj) |
| 245 | + } |
| 246 | +} |
0 commit comments