X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=config%2Fgenesis.go;h=a3b2f7e2a91ccaf1099f626dadb2e423403e60b2;hb=3a6cd9640bdb0eed33451a5af7a0e12cfe423165;hp=501e3e6fb4fa2fc89a461cffe46b79d86132de1b;hpb=b48202a1a11ae65b2938211d94ab44a0d825a948;p=bytom%2Fvapor.git diff --git a/config/genesis.go b/config/genesis.go index 501e3e6f..a3b2f7e2 100644 --- a/config/genesis.go +++ b/config/genesis.go @@ -13,9 +13,19 @@ import ( "github.com/vapor/protocol/vm/vmutil" ) +// FedAddressPath is used to derive federation root xpubs for signing cross-chain txs +var FedAddressPath = [][]byte{ + []byte{0x2C, 0x00, 0x00, 0x00}, + []byte{0x99, 0x00, 0x00, 0x00}, + []byte{0x01, 0x00, 0x00, 0x00}, + []byte{0x00, 0x00, 0x00, 0x00}, + []byte{0x01, 0x00, 0x00, 0x00}, +} + func FederationPMultiSigScript(c *Config) []byte { xpubs := c.Federation.Xpubs - program, err := vmutil.P2SPMultiSigProgram(chainkd.XPubKeys(xpubs), c.Federation.Quorum) + derivedXPubs := chainkd.DeriveXPubs(xpubs, FedAddressPath) + program, err := vmutil.P2SPMultiSigProgram(chainkd.XPubKeys(derivedXPubs), c.Federation.Quorum) if err != nil { log.Panicf("fail to generate federation scirpt for federation: %v", err) } @@ -74,7 +84,7 @@ func mainNetGenesisBlock() *types.Block { BlockHeader: types.BlockHeader{ Version: 1, Height: 0, - Timestamp: 1562571063002, + Timestamp: 1563344560002, BlockCommitment: types.BlockCommitment{ TransactionsMerkleRoot: merkleRoot, TransactionStatusHash: txStatusHash, @@ -105,7 +115,7 @@ func testNetGenesisBlock() *types.Block { BlockHeader: types.BlockHeader{ Version: 1, Height: 0, - Timestamp: 1562571063001, + Timestamp: 1563344560001, BlockCommitment: types.BlockCommitment{ TransactionsMerkleRoot: merkleRoot, TransactionStatusHash: txStatusHash, @@ -136,7 +146,7 @@ func soloNetGenesisBlock() *types.Block { BlockHeader: types.BlockHeader{ Version: 1, Height: 0, - Timestamp: 1562571063000, + Timestamp: 1563344560000, BlockCommitment: types.BlockCommitment{ TransactionsMerkleRoot: merkleRoot, TransactionStatusHash: txStatusHash, @@ -150,9 +160,8 @@ func soloNetGenesisBlock() *types.Block { // GenesisBlock will return genesis block func GenesisBlock() *types.Block { return map[string]func() *types.Block{ - "main": mainNetGenesisBlock, - "test": testNetGenesisBlock, - "solo": soloNetGenesisBlock, - "vapor": soloNetGenesisBlock, + "main": mainNetGenesisBlock, + "test": testNetGenesisBlock, + "solo": soloNetGenesisBlock, }[consensus.ActiveNetParams.Name]() }