Skip to content

Commit

Permalink
Add genesis block hash as network param (#223)
Browse files Browse the repository at this point in the history
* Add genesis block hash as network param

* Remove hardcoded genesis block hashes
  • Loading branch information
altafan authored Dec 14, 2023
1 parent 786a89e commit e420485
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 35 deletions.
66 changes: 35 additions & 31 deletions network/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,47 +21,51 @@ type Network struct {
// Confidential prefix
Confidential byte
// Bitcoin Asset Hash for the current network
AssetID string
AssetID string
GenesisBlockHash string
}

// Liquid defines the network parameters for the main Liquid network.
var Liquid = Network{
Name: "liquid",
Bech32: "ex",
Blech32: "lq",
HDPublicKey: [4]byte{0x04, 0x88, 0xb2, 0x1e},
HDPrivateKey: [4]byte{0x04, 0x88, 0xad, 0xe4},
PubKeyHash: 57,
ScriptHash: 39,
Wif: 0x80,
Confidential: 12,
AssetID: "6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d",
Name: "liquid",
Bech32: "ex",
Blech32: "lq",
HDPublicKey: [4]byte{0x04, 0x88, 0xb2, 0x1e},
HDPrivateKey: [4]byte{0x04, 0x88, 0xad, 0xe4},
PubKeyHash: 57,
ScriptHash: 39,
Wif: 0x80,
Confidential: 12,
AssetID: "6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d",
GenesisBlockHash: "1466275836220db2944ca059a3a10ef6fd2ea684b0688d2c379296888a206003",
}

// Regtest defines the network parameters for the regression regtest network.
var Regtest = Network{
Name: "regtest",
Bech32: "ert",
Blech32: "el",
HDPublicKey: [4]byte{0x04, 0x35, 0x87, 0xcf},
HDPrivateKey: [4]byte{0x04, 0x35, 0x83, 0x94},
PubKeyHash: 235,
ScriptHash: 75,
Wif: 0xef,
Confidential: 4,
AssetID: "5ac9f65c0efcc4775e0baec4ec03abdde22473cd3cf33c0419ca290e0751b225",
Name: "regtest",
Bech32: "ert",
Blech32: "el",
HDPublicKey: [4]byte{0x04, 0x35, 0x87, 0xcf},
HDPrivateKey: [4]byte{0x04, 0x35, 0x83, 0x94},
PubKeyHash: 235,
ScriptHash: 75,
Wif: 0xef,
Confidential: 4,
AssetID: "5ac9f65c0efcc4775e0baec4ec03abdde22473cd3cf33c0419ca290e0751b225",
GenesisBlockHash: "00902a6b70c2ca83b5d9c815d96a0e2f4202179316970d14ea1847dae5b1ca21",
}

// Testnet defines the network parameters for the regression testnet network.
var Testnet = Network{
Name: "testnet",
Bech32: "tex",
Blech32: "tlq",
HDPublicKey: [4]byte{0x04, 0x35, 0x87, 0xcf},
HDPrivateKey: [4]byte{0x04, 0x35, 0x83, 0x94},
PubKeyHash: 36,
ScriptHash: 19,
Wif: 0xef,
Confidential: 23,
AssetID: "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
Name: "testnet",
Bech32: "tex",
Blech32: "tlq",
HDPublicKey: [4]byte{0x04, 0x35, 0x87, 0xcf},
HDPrivateKey: [4]byte{0x04, 0x35, 0x83, 0x94},
PubKeyHash: 36,
ScriptHash: 19,
Wif: 0xef,
Confidential: 23,
AssetID: "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
GenesisBlockHash: "a771da8e52ee6ad581ed1e9a99825e5b3b7992225534eaa2ae23244fe26ab1c1",
}
4 changes: 2 additions & 2 deletions psetv2/pset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1438,7 +1438,7 @@ func TestBroadcastBlindedTaprootKeyTx(t *testing.T) {

tweakedPrivKey := taproot.TweakTaprootPrivKey(privkey, []byte{})

genesisBlockhash, _ := chainhash.NewHashFromStr("00902a6b70c2ca83b5d9c815d96a0e2f4202179316970d14ea1847dae5b1ca21")
genesisBlockhash, _ := chainhash.NewHashFromStr(network.Regtest.GenesisBlockHash)
unsignedTx, err := ptx.UnsignedTx()
require.NoError(t, err)

Expand Down Expand Up @@ -1587,7 +1587,7 @@ func TestBroadcastBlindedTaprootTapscriptTx(t *testing.T) {
})
require.NoError(t, err)

genesisBlockhash, _ := chainhash.NewHashFromStr("00902a6b70c2ca83b5d9c815d96a0e2f4202179316970d14ea1847dae5b1ca21")
genesisBlockhash, _ := chainhash.NewHashFromStr(network.Regtest.GenesisBlockHash)
unsignedTx, err := ptx.UnsignedTx()
require.NoError(t, err)

Expand Down
4 changes: 2 additions & 2 deletions taproot/taproot_e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ func TestKeyPathSpend(t *testing.T) {
unsignedTx := p.UnsignedTx
// Sign step

genesisBlockhash, _ := chainhash.NewHashFromStr("00902a6b70c2ca83b5d9c815d96a0e2f4202179316970d14ea1847dae5b1ca21")
genesisBlockhash, _ := chainhash.NewHashFromStr(network.Regtest.GenesisBlockHash)

sighash := unsignedTx.HashForWitnessV1(
0,
Expand Down Expand Up @@ -286,7 +286,7 @@ func TestTapscriptSpend(t *testing.T) {
unsignedTx := p.UnsignedTx

// Sign step
genesisBlockhash, _ := chainhash.NewHashFromStr("00902a6b70c2ca83b5d9c815d96a0e2f4202179316970d14ea1847dae5b1ca21")
genesisBlockhash, _ := chainhash.NewHashFromStr(network.Regtest.GenesisBlockHash)

leafProof := tree.LeafMerkleProofs[0]
leafHash := leafProof.TapHash()
Expand Down

0 comments on commit e420485

Please sign in to comment.