github.com/palcoin-project/palcd@v1.0.0/chaincfg/genesis_test.go (about)

     1  // Copyright (c) 2014-2016 The btcsuite developers
     2  // Use of this source code is governed by an ISC
     3  // license that can be found in the LICENSE file.
     4  
     5  package chaincfg
     6  
     7  import (
     8  	"bytes"
     9  	"testing"
    10  
    11  	"github.com/davecgh/go-spew/spew"
    12  )
    13  
    14  // TestGenesisBlock tests the genesis block of the main network for validity by
    15  // checking the encoded bytes and hashes.
    16  func TestGenesisBlock(t *testing.T) {
    17  	// Encode the genesis block to raw bytes.
    18  	var buf bytes.Buffer
    19  	err := MainNetParams.GenesisBlock.Serialize(&buf)
    20  	if err != nil {
    21  		t.Fatalf("TestGenesisBlock: %v", err)
    22  	}
    23  
    24  	// Ensure the encoded block matches the expected bytes.
    25  	if !bytes.Equal(buf.Bytes(), genesisBlockBytes) {
    26  		t.Fatalf("TestGenesisBlock: Genesis block does not appear valid - "+
    27  			"got %v, want %v", spew.Sdump(buf.Bytes()),
    28  			spew.Sdump(genesisBlockBytes))
    29  	}
    30  
    31  	// Check hash of the block against expected hash.
    32  	hash := MainNetParams.GenesisBlock.BlockHash()
    33  	if !MainNetParams.GenesisHash.IsEqual(&hash) {
    34  		t.Fatalf("TestGenesisBlock: Genesis block hash does not "+
    35  			"appear valid - got %v, want %v", spew.Sdump(hash),
    36  			spew.Sdump(MainNetParams.GenesisHash))
    37  	}
    38  }
    39  
    40  // TestRegTestGenesisBlock tests the genesis block of the regression test
    41  // network for validity by checking the encoded bytes and hashes.
    42  func TestRegTestGenesisBlock(t *testing.T) {
    43  	// Encode the genesis block to raw bytes.
    44  	var buf bytes.Buffer
    45  	err := RegressionNetParams.GenesisBlock.Serialize(&buf)
    46  	if err != nil {
    47  		t.Fatalf("TestRegTestGenesisBlock: %v", err)
    48  	}
    49  
    50  	// Ensure the encoded block matches the expected bytes.
    51  	if !bytes.Equal(buf.Bytes(), regTestGenesisBlockBytes) {
    52  		t.Fatalf("TestRegTestGenesisBlock: Genesis block does not "+
    53  			"appear valid - got %v, want %v",
    54  			spew.Sdump(buf.Bytes()),
    55  			spew.Sdump(regTestGenesisBlockBytes))
    56  	}
    57  
    58  	// Check hash of the block against expected hash.
    59  	hash := RegressionNetParams.GenesisBlock.BlockHash()
    60  	if !RegressionNetParams.GenesisHash.IsEqual(&hash) {
    61  		t.Fatalf("TestRegTestGenesisBlock: Genesis block hash does "+
    62  			"not appear valid - got %v, want %v", spew.Sdump(hash),
    63  			spew.Sdump(RegressionNetParams.GenesisHash))
    64  	}
    65  }
    66  
    67  // TestTestNet3GenesisBlock tests the genesis block of the test network (version
    68  // 3) for validity by checking the encoded bytes and hashes.
    69  func TestTestNet3GenesisBlock(t *testing.T) {
    70  	// Encode the genesis block to raw bytes.
    71  	var buf bytes.Buffer
    72  	err := TestNet3Params.GenesisBlock.Serialize(&buf)
    73  	if err != nil {
    74  		t.Fatalf("TestTestNet3GenesisBlock: %v", err)
    75  	}
    76  
    77  	// Ensure the encoded block matches the expected bytes.
    78  	if !bytes.Equal(buf.Bytes(), testNet3GenesisBlockBytes) {
    79  		t.Fatalf("TestTestNet3GenesisBlock: Genesis block does not "+
    80  			"appear valid - got %v, want %v",
    81  			spew.Sdump(buf.Bytes()),
    82  			spew.Sdump(testNet3GenesisBlockBytes))
    83  	}
    84  
    85  	// Check hash of the block against expected hash.
    86  	hash := TestNet3Params.GenesisBlock.BlockHash()
    87  	if !TestNet3Params.GenesisHash.IsEqual(&hash) {
    88  		t.Fatalf("TestTestNet3GenesisBlock: Genesis block hash does "+
    89  			"not appear valid - got %v, want %v", spew.Sdump(hash),
    90  			spew.Sdump(TestNet3Params.GenesisHash))
    91  	}
    92  }
    93  
    94  // TestSimNetGenesisBlock tests the genesis block of the simulation test network
    95  // for validity by checking the encoded bytes and hashes.
    96  func TestSimNetGenesisBlock(t *testing.T) {
    97  	// Encode the genesis block to raw bytes.
    98  	var buf bytes.Buffer
    99  	err := SimNetParams.GenesisBlock.Serialize(&buf)
   100  	if err != nil {
   101  		t.Fatalf("TestSimNetGenesisBlock: %v", err)
   102  	}
   103  
   104  	// Ensure the encoded block matches the expected bytes.
   105  	if !bytes.Equal(buf.Bytes(), simNetGenesisBlockBytes) {
   106  		t.Fatalf("TestSimNetGenesisBlock: Genesis block does not "+
   107  			"appear valid - got %v, want %v",
   108  			spew.Sdump(buf.Bytes()),
   109  			spew.Sdump(simNetGenesisBlockBytes))
   110  	}
   111  
   112  	// Check hash of the block against expected hash.
   113  	hash := SimNetParams.GenesisBlock.BlockHash()
   114  	if !SimNetParams.GenesisHash.IsEqual(&hash) {
   115  		t.Fatalf("TestSimNetGenesisBlock: Genesis block hash does "+
   116  			"not appear valid - got %v, want %v", spew.Sdump(hash),
   117  			spew.Sdump(SimNetParams.GenesisHash))
   118  	}
   119  }
   120  
   121  // TestSigNetGenesisBlock tests the genesis block of the signet test network for
   122  // validity by checking the encoded bytes and hashes.
   123  func TestSigNetGenesisBlock(t *testing.T) {
   124  	// Encode the genesis block to raw bytes.
   125  	var buf bytes.Buffer
   126  	err := SigNetParams.GenesisBlock.Serialize(&buf)
   127  	if err != nil {
   128  		t.Fatalf("TestSigNetGenesisBlock: %v", err)
   129  	}
   130  
   131  	// Ensure the encoded block matches the expected bytes.
   132  	if !bytes.Equal(buf.Bytes(), sigNetGenesisBlockBytes) {
   133  		t.Fatalf("TestSigNetGenesisBlock: Genesis block does not "+
   134  			"appear valid - got %v, want %v",
   135  			spew.Sdump(buf.Bytes()),
   136  			spew.Sdump(sigNetGenesisBlockBytes))
   137  	}
   138  
   139  	// Check hash of the block against expected hash.
   140  	hash := SigNetParams.GenesisBlock.BlockHash()
   141  	if !SigNetParams.GenesisHash.IsEqual(&hash) {
   142  		t.Fatalf("TestSigNetGenesisBlock: Genesis block hash does "+
   143  			"not appear valid - got %v, want %v", spew.Sdump(hash),
   144  			spew.Sdump(SigNetParams.GenesisHash))
   145  	}
   146  }
   147  
   148  // genesisBlockBytes are the wire encoded bytes for the genesis block of the
   149  // main network as of protocol version 60002.
   150  var genesisBlockBytes = []byte{
   151  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   152  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   153  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   154  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   155  	0x00, 0x00, 0x00, 0x00, 0x3b, 0xa3, 0xed, 0xfd, /* |....;...| */
   156  	0x7a, 0x7b, 0x12, 0xb2, 0x7a, 0xc7, 0x2c, 0x3e, /* |z{..z.,>| */
   157  	0x67, 0x76, 0x8f, 0x61, 0x7f, 0xc8, 0x1b, 0xc3, /* |gv.a....| */
   158  	0x88, 0x8a, 0x51, 0x32, 0x3a, 0x9f, 0xb8, 0xaa, /* |..Q2:...| */
   159  	0x4b, 0x1e, 0x5e, 0x4a, 0x29, 0xab, 0x5f, 0x49, /* |K.^J)._I| */
   160  	0xff, 0xff, 0x00, 0x1d, 0x1d, 0xac, 0x2b, 0x7c, /* |......+|| */
   161  	0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, /* |........| */
   162  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   163  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   164  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   165  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* |........| */
   166  	0xff, 0xff, 0x4d, 0x04, 0xff, 0xff, 0x00, 0x1d, /* |..M.....| */
   167  	0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, /* |..EThe T| */
   168  	0x69, 0x6d, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2f, /* |imes 03/| */
   169  	0x4a, 0x61, 0x6e, 0x2f, 0x32, 0x30, 0x30, 0x39, /* |Jan/2009| */
   170  	0x20, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6c, /* | Chancel| */
   171  	0x6c, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x20, 0x62, /* |lor on b| */
   172  	0x72, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x66, 0x20, /* |rink of | */
   173  	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x62, /* |second b| */
   174  	0x61, 0x69, 0x6c, 0x6f, 0x75, 0x74, 0x20, 0x66, /* |ailout f| */
   175  	0x6f, 0x72, 0x20, 0x62, 0x61, 0x6e, 0x6b, 0x73, /* |or banks| */
   176  	0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xf2, 0x05, /* |........| */
   177  	0x2a, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, /* |*....CA.| */
   178  	0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, 0x48, 0x27, /* |g....UH'| */
   179  	0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, 0xb7, 0x10, /* |.g..q0..| */
   180  	0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, 0x09, 0xa6, /* |\..(.9..| */
   181  	0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, 0xde, 0xb6, /* |yb...a..| */
   182  	0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, 0x38, 0xc4, /* |I..?L.8.| */
   183  	0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, 0x12, 0xde, /* |.U......| */
   184  	0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, 0x8d, 0x57, /* |\8M....W| */
   185  	0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, 0x1d, 0x5f, /* |.Lp+k.._|*/
   186  	0xac, 0x00, 0x00, 0x00, 0x00, /* |.....|    */
   187  }
   188  
   189  // regTestGenesisBlockBytes are the wire encoded bytes for the genesis block of
   190  // the regression test network as of protocol version 60002.
   191  var regTestGenesisBlockBytes = []byte{
   192  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   193  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   194  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   195  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   196  	0x00, 0x00, 0x00, 0x00, 0x3b, 0xa3, 0xed, 0xfd, /* |....;...| */
   197  	0x7a, 0x7b, 0x12, 0xb2, 0x7a, 0xc7, 0x2c, 0x3e, /* |z{..z.,>| */
   198  	0x67, 0x76, 0x8f, 0x61, 0x7f, 0xc8, 0x1b, 0xc3, /* |gv.a....| */
   199  	0x88, 0x8a, 0x51, 0x32, 0x3a, 0x9f, 0xb8, 0xaa, /* |..Q2:...| */
   200  	0x4b, 0x1e, 0x5e, 0x4a, 0xda, 0xe5, 0x49, 0x4d, /* |K.^J)._I| */
   201  	0xff, 0xff, 0x7f, 0x20, 0x02, 0x00, 0x00, 0x00, /* |......+|| */
   202  	0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, /* |........| */
   203  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   204  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   205  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   206  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* |........| */
   207  	0xff, 0xff, 0x4d, 0x04, 0xff, 0xff, 0x00, 0x1d, /* |..M.....| */
   208  	0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, /* |..EThe T| */
   209  	0x69, 0x6d, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2f, /* |imes 03/| */
   210  	0x4a, 0x61, 0x6e, 0x2f, 0x32, 0x30, 0x30, 0x39, /* |Jan/2009| */
   211  	0x20, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6c, /* | Chancel| */
   212  	0x6c, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x20, 0x62, /* |lor on b| */
   213  	0x72, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x66, 0x20, /* |rink of | */
   214  	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x62, /* |second b| */
   215  	0x61, 0x69, 0x6c, 0x6f, 0x75, 0x74, 0x20, 0x66, /* |ailout f| */
   216  	0x6f, 0x72, 0x20, 0x62, 0x61, 0x6e, 0x6b, 0x73, /* |or banks| */
   217  	0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xf2, 0x05, /* |........| */
   218  	0x2a, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, /* |*....CA.| */
   219  	0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, 0x48, 0x27, /* |g....UH'| */
   220  	0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, 0xb7, 0x10, /* |.g..q0..| */
   221  	0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, 0x09, 0xa6, /* |\..(.9..| */
   222  	0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, 0xde, 0xb6, /* |yb...a..| */
   223  	0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, 0x38, 0xc4, /* |I..?L.8.| */
   224  	0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, 0x12, 0xde, /* |.U......| */
   225  	0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, 0x8d, 0x57, /* |\8M....W| */
   226  	0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, 0x1d, 0x5f, /* |.Lp+k.._|*/
   227  	0xac, 0x00, 0x00, 0x00, 0x00, /* |.....|    */
   228  }
   229  
   230  // testNet3GenesisBlockBytes are the wire encoded bytes for the genesis block of
   231  // the test network (version 3) as of protocol version 60002.
   232  var testNet3GenesisBlockBytes = []byte{
   233  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   234  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   235  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   236  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   237  	0x00, 0x00, 0x00, 0x00, 0x3b, 0xa3, 0xed, 0xfd, /* |....;...| */
   238  	0x7a, 0x7b, 0x12, 0xb2, 0x7a, 0xc7, 0x2c, 0x3e, /* |z{..z.,>| */
   239  	0x67, 0x76, 0x8f, 0x61, 0x7f, 0xc8, 0x1b, 0xc3, /* |gv.a....| */
   240  	0x88, 0x8a, 0x51, 0x32, 0x3a, 0x9f, 0xb8, 0xaa, /* |..Q2:...| */
   241  	0x4b, 0x1e, 0x5e, 0x4a, 0xda, 0xe5, 0x49, 0x4d, /* |K.^J)._I| */
   242  	0xff, 0xff, 0x00, 0x1d, 0x1a, 0xa4, 0xae, 0x18, /* |......+|| */
   243  	0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, /* |........| */
   244  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   245  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   246  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   247  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* |........| */
   248  	0xff, 0xff, 0x4d, 0x04, 0xff, 0xff, 0x00, 0x1d, /* |..M.....| */
   249  	0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, /* |..EThe T| */
   250  	0x69, 0x6d, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2f, /* |imes 03/| */
   251  	0x4a, 0x61, 0x6e, 0x2f, 0x32, 0x30, 0x30, 0x39, /* |Jan/2009| */
   252  	0x20, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6c, /* | Chancel| */
   253  	0x6c, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x20, 0x62, /* |lor on b| */
   254  	0x72, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x66, 0x20, /* |rink of | */
   255  	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x62, /* |second b| */
   256  	0x61, 0x69, 0x6c, 0x6f, 0x75, 0x74, 0x20, 0x66, /* |ailout f| */
   257  	0x6f, 0x72, 0x20, 0x62, 0x61, 0x6e, 0x6b, 0x73, /* |or banks| */
   258  	0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xf2, 0x05, /* |........| */
   259  	0x2a, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, /* |*....CA.| */
   260  	0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, 0x48, 0x27, /* |g....UH'| */
   261  	0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, 0xb7, 0x10, /* |.g..q0..| */
   262  	0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, 0x09, 0xa6, /* |\..(.9..| */
   263  	0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, 0xde, 0xb6, /* |yb...a..| */
   264  	0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, 0x38, 0xc4, /* |I..?L.8.| */
   265  	0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, 0x12, 0xde, /* |.U......| */
   266  	0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, 0x8d, 0x57, /* |\8M....W| */
   267  	0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, 0x1d, 0x5f, /* |.Lp+k.._|*/
   268  	0xac, 0x00, 0x00, 0x00, 0x00, /* |.....|    */
   269  }
   270  
   271  // simNetGenesisBlockBytes are the wire encoded bytes for the genesis block of
   272  // the simulation test network as of protocol version 70002.
   273  var simNetGenesisBlockBytes = []byte{
   274  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   275  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   276  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   277  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   278  	0x00, 0x00, 0x00, 0x00, 0x3b, 0xa3, 0xed, 0xfd, /* |....;...| */
   279  	0x7a, 0x7b, 0x12, 0xb2, 0x7a, 0xc7, 0x2c, 0x3e, /* |z{..z.,>| */
   280  	0x67, 0x76, 0x8f, 0x61, 0x7f, 0xc8, 0x1b, 0xc3, /* |gv.a....| */
   281  	0x88, 0x8a, 0x51, 0x32, 0x3a, 0x9f, 0xb8, 0xaa, /* |..Q2:...| */
   282  	0x4b, 0x1e, 0x5e, 0x4a, 0x45, 0x06, 0x86, 0x53, /* |K.^J)._I| */
   283  	0xff, 0xff, 0x7f, 0x20, 0x02, 0x00, 0x00, 0x00, /* |......+|| */
   284  	0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, /* |........| */
   285  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   286  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   287  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   288  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* |........| */
   289  	0xff, 0xff, 0x4d, 0x04, 0xff, 0xff, 0x00, 0x1d, /* |..M.....| */
   290  	0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, /* |..EThe T| */
   291  	0x69, 0x6d, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2f, /* |imes 03/| */
   292  	0x4a, 0x61, 0x6e, 0x2f, 0x32, 0x30, 0x30, 0x39, /* |Jan/2009| */
   293  	0x20, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6c, /* | Chancel| */
   294  	0x6c, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x20, 0x62, /* |lor on b| */
   295  	0x72, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x66, 0x20, /* |rink of | */
   296  	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x62, /* |second b| */
   297  	0x61, 0x69, 0x6c, 0x6f, 0x75, 0x74, 0x20, 0x66, /* |ailout f| */
   298  	0x6f, 0x72, 0x20, 0x62, 0x61, 0x6e, 0x6b, 0x73, /* |or banks| */
   299  	0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xf2, 0x05, /* |........| */
   300  	0x2a, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, /* |*....CA.| */
   301  	0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, 0x48, 0x27, /* |g....UH'| */
   302  	0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, 0xb7, 0x10, /* |.g..q0..| */
   303  	0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, 0x09, 0xa6, /* |\..(.9..| */
   304  	0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, 0xde, 0xb6, /* |yb...a..| */
   305  	0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, 0x38, 0xc4, /* |I..?L.8.| */
   306  	0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, 0x12, 0xde, /* |.U......| */
   307  	0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, 0x8d, 0x57, /* |\8M....W| */
   308  	0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, 0x1d, 0x5f, /* |.Lp+k.._|*/
   309  	0xac, 0x00, 0x00, 0x00, 0x00, /* |.....|    */
   310  }
   311  
   312  // sigNetGenesisBlockBytes are the wire encoded bytes for the genesis block of
   313  // the signet test network as of protocol version 70002.
   314  var sigNetGenesisBlockBytes = []byte{
   315  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |...@....| */
   316  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   317  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   318  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   319  	0x00, 0x00, 0x00, 0x00, 0x3b, 0xa3, 0xed, 0xfd, /* |........| */
   320  	0x7a, 0x7b, 0x12, 0xb2, 0x7a, 0xc7, 0x2c, 0x3e, /* |....;...| */
   321  	0x67, 0x76, 0x8f, 0x61, 0x7f, 0xc8, 0x1b, 0xc3, /* |z{..z.,>| */
   322  	0x88, 0x8a, 0x51, 0x32, 0x3a, 0x9f, 0xb8, 0xaa, /* |gv.a....| */
   323  	0x4b, 0x1e, 0x5e, 0x4a, 0x00, 0x8f, 0x4d, 0x5f, /* |..Q2:...| */
   324  	0xae, 0x77, 0x03, 0x1e, 0x8a, 0xd2, 0x22, 0x03, /* |K.^J..M_| */
   325  	0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, /* |.w....".| */
   326  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   327  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   328  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* |........| */
   329  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* |........| */
   330  	0xff, 0xff, 0x4d, 0x04, 0xff, 0xff, 0x00, 0x1d, /* |........| */
   331  	0x01, 0x04, 0x45, 0x54, 0x68, 0x65, 0x20, 0x54, /* |..M.....| */
   332  	0x69, 0x6d, 0x65, 0x73, 0x20, 0x30, 0x33, 0x2f, /* |..EThe T| */
   333  	0x4a, 0x61, 0x6e, 0x2f, 0x32, 0x30, 0x30, 0x39, /* |imes 03/| */
   334  	0x20, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6c, /* |Jan/2009| */
   335  	0x6c, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x20, 0x62, /* | Chancel| */
   336  	0x72, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x66, 0x20, /* |lor on b| */
   337  	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x62, /* |rink of| */
   338  	0x61, 0x69, 0x6c, 0x6f, 0x75, 0x74, 0x20, 0x66, /* |second b| */
   339  	0x6f, 0x72, 0x20, 0x62, 0x61, 0x6e, 0x6b, 0x73, /* |ailout f| */
   340  	0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xf2, 0x05, /* |or banks| */
   341  	0x2a, 0x01, 0x00, 0x00, 0x00, 0x43, 0x41, 0x04, /* |........| */
   342  	0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, 0x48, 0x27, /* |*....CA.| */
   343  	0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, 0xb7, 0x10, /* |g....UH'| */
   344  	0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, 0x09, 0xa6, /* |.g..q0..| */
   345  	0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, 0xde, 0xb6, /* |\..(.9..| */
   346  	0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, 0x38, 0xc4, /* |yb...a..| */
   347  	0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, 0x12, 0xde, /* |I..?L.8.| */
   348  	0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, 0x8d, 0x57, /* |.U......| */
   349  	0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, 0x1d, 0x5f, /* |\8M....W| */
   350  	0xac, 0x00, 0x00, 0x00, 0x00, /* |.....| */
   351  }