Skip to content

Commit 0749b68

Browse files
authored
Merge pull request #1553 from lightninglabs/testnet4
multi: add testnet4 support
2 parents be39235 + baedfb0 commit 0749b68

File tree

7 files changed

+59
-12
lines changed

7 files changed

+59
-12
lines changed

address/address_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,16 @@ func TestAddressEncoding(t *testing.T) {
342342
},
343343
err: nil,
344344
},
345+
{
346+
name: "testnet4 group collectible",
347+
f: func() (*Tap, string, error) {
348+
return randEncodedAddress(
349+
t, &TestNet4Tap, true, false,
350+
asset.Collectible,
351+
)
352+
},
353+
err: nil,
354+
},
345355
{
346356
name: "simnet collectible",
347357
f: func() (*Tap, string, error) {

address/params.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ const (
1515
// TestnetHRP is the HRP for testnet.
1616
TestnetHRP = "taptb"
1717

18+
// Testnet4HRP is the HRP for testnet4.
19+
Testnet4HRP = "taptb"
20+
1821
// RegTestHRP is the HRP for regtest.
1922
RegTestHRP = "taprt"
2023

@@ -78,6 +81,12 @@ var (
7881
TapHRP: TestnetHRP,
7982
}
8083

84+
// TestNet4Tap holds the chain params for testnet4.
85+
TestNet4Tap = ChainParams{
86+
Params: &chaincfg.TestNet4Params,
87+
TapHRP: Testnet4HRP,
88+
}
89+
8190
// RegressionNetTap holds the chain params for regtest.
8291
RegressionNetTap = ChainParams{
8392
Params: &chaincfg.RegressionNetParams,
@@ -124,6 +133,9 @@ func Net(hrp string) (*ChainParams, error) {
124133
case TestNet3Tap.TapHRP:
125134
return &TestNet3Tap, nil
126135

136+
case TestNet4Tap.TapHRP:
137+
return &TestNet4Tap, nil
138+
127139
case RegressionNetTap.TapHRP:
128140
return &RegressionNetTap, nil
129141

@@ -155,6 +167,9 @@ func ParamsForChain(name string) ChainParams {
155167
case chaincfg.TestNet3Params.Name:
156168
return TestNet3Tap
157169

170+
case chaincfg.TestNet4Params.Name:
171+
return TestNet4Tap
172+
158173
case chaincfg.RegressionNetParams.Name:
159174
return RegressionNetTap
160175

address/testdata/address_tlv_encoding_generated.json

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,27 @@
104104
},
105105
{
106106
"address": {
107-
"version": 0,
108-
"chain_params_hrp": "tapsb",
107+
"version": 1,
108+
"chain_params_hrp": "taptb",
109109
"asset_version": 0,
110110
"asset_id": "b285b6a5adca55cabdda0f1204427e0b6238c0a311965caa87cecac849ba76c2",
111+
"group_key": "03ff4d197521b1af73f4e2ad529abd38d2e7309bdfd4c378f51fb5d920f816c936",
112+
"script_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
113+
"internal_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
114+
"tapscript_sibling": "",
115+
"amount": 1,
116+
"proof_courier_addr": "hashmail://rand.hashmail.proof.courier:443",
117+
"unknown_odd_types": null
118+
},
119+
"expected": "taptb1qqqszqspqqzzpv59k6j6mjj4e27a5rcjq3p8uzmz8rq2xyvktj4g0nk2epym5akzq5ss8l6dr96jrvd0w06w9t2jn27n35h8xzdal4xr0r63ldweyrupdjfkqcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pgqszrp2dpshx6rdv95kcw309aexzmny9e5xzumgd4skjmpwwpex7mmx9e3k7atjd9jhyw35xsesy0g396",
120+
"comment": "testnet4 group collectible"
121+
},
122+
{
123+
"address": {
124+
"version": 1,
125+
"chain_params_hrp": "tapsb",
126+
"asset_version": 0,
127+
"asset_id": "3ea23fd8d66115c9676a57d5684864fd337343e1cce8e6f7e6d2262141cf7795",
111128
"group_key": "",
112129
"script_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
113130
"internal_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
@@ -116,15 +133,15 @@
116133
"proof_courier_addr": "hashmail://rand.hashmail.proof.courier:443",
117134
"unknown_odd_types": null
118135
},
119-
"expected": "tapsb1qqqsqqspqqzzpv59k6j6mjj4e27a5rcjq3p8uzmz8rq2xyvktj4g0nk2epym5akzqcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pgqszrp2dpshx6rdv95kcw309aexzmny9e5xzumgd4skjmpwwpex7mmx9e3k7atjd9jhyw35xsesxc04ee",
136+
"expected": "tapsb1qqqszqspqqzzq04z8lvdvcg4e9nk5474dpyxflfnwdp7rn8gumm7d53xy9qu7au4qcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pgqszrp2dpshx6rdv95kcw309aexzmny9e5xzumgd4skjmpwwpex7mmx9e3k7atjd9jhyw35xsesk46mnu",
120137
"comment": "simnet collectible"
121138
},
122139
{
123140
"address": {
124-
"version": 0,
141+
"version": 1,
125142
"chain_params_hrp": "tapsb",
126143
"asset_version": 0,
127-
"asset_id": "014e5e94531e41814f47525d168b72994a080105dab3c2fe89f4ece727e0665a",
144+
"asset_id": "10d5dc5afdab33b767003f8f20d726eadab89419a18b435280affabfb659eeb1",
128145
"group_key": "",
129146
"script_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
130147
"internal_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
@@ -133,15 +150,15 @@
133150
"proof_courier_addr": "hashmail://rand.hashmail.proof.courier:443",
134151
"unknown_odd_types": null
135152
},
136-
"expected": "tapsb1qqqsqqspqqzzqq2wt629x8jps985w5jaz69h9x22pqqstk4nctlgna8vuun7qej6qcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0py2spsqjdehhggrpypmxzmrfvss8xcmjd9c8gzspqyxz56rpwd5x6ctfdsaz7tmjv9hxgtngv9eksmtpd9kzuurjdahkvtnrda6hy6t9wgargdpn0dwlms",
153+
"expected": "tapsb1qqqszqspqqzzqyx4m3d0m2enkansq0u0yrtjd6k6hz2pngvtgdfgptl6h7m9nm43qcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0py2spsqjdehhggrpypmxzmrfvss8xcmjd9c8gzspqyxz56rpwd5x6ctfdsaz7tmjv9hxgtngv9eksmtpd9kzuurjdahkvtnrda6hy6t9wgargdpntpzt44",
137154
"comment": "simnet collectible with sibling"
138155
},
139156
{
140157
"address": {
141-
"version": 1,
158+
"version": 0,
142159
"chain_params_hrp": "tapsb",
143160
"asset_version": 0,
144-
"asset_id": "0e3551778a29c399050bd495e38fc1c13ff200777972e69db6c84e670b406985",
161+
"asset_id": "bb0f263c1689547badf0bc87ad378aac0e19131613a5da5ef675c30c251bbc8c",
145162
"group_key": "",
146163
"script_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
147164
"internal_key": "02a0afeb165f0ec36880b68e0baabd9ad9c62fd1a69aa998bc30e9a346202e078f",
@@ -152,7 +169,7 @@
152169
"31337": "Zm9v"
153170
}
154171
},
155-
"expected": "tapsb1qqqszqspqqzzqr3429mc52wrnyzsh4y4uw8ursfl7gq8w7tju6wmdjzwvu95q6v9qcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0py2spsqjdehhggrpypmxzmrfvss8xcmjd9c8gzspqyxz56rpwd5x6ctfdsaz7tmjv9hxgtngv9eksmtpd9kzuurjdahkvtnrda6hy6t9wgargdpnl4axjqmxdahsazt7x4",
172+
"expected": "tapsb1qqqsqqspqqzzpwc0yc7pdz250wklp0y845mc4tqwryf3vya9mf00vawrpsj3h0yvqcss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0pqss9g90avt97rkrdzqtdrst427e4kwx9lg6dx4fnz7rp6drgcszupu0py2spsqjdehhggrpypmxzmrfvss8xcmjd9c8gzspqyxz56rpwd5x6ctfdsaz7tmjv9hxgtngv9eksmtpd9kzuurjdahkvtnrda6hy6t9wgargdpnl4axjqmxdahs5ptw90",
156173
"comment": "simnet collectible with sibling and unknown TLV type"
157174
}
158175
],

cmd/commands/conn.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func extractPathArgs(ctx *cli.Context) (string, string, error) {
282282
// determine the correct path to the macaroon when not specified.
283283
network := strings.ToLower(ctx.GlobalString("network"))
284284
switch network {
285-
case "mainnet", "testnet", "regtest", "simnet", "signet":
285+
case "mainnet", "testnet", "testnet4", "regtest", "simnet", "signet":
286286
default:
287287
return "", "", fmt.Errorf("unknown network: %v", network)
288288
}

itest/loadtest/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ func networkParams(network string) (*chaincfg.Params, error) {
238238
case "testnet":
239239
return &chaincfg.TestNet3Params, nil
240240

241+
case "testnet4":
242+
return &chaincfg.TestNet4Params, nil
243+
241244
case "regtest":
242245
return &chaincfg.RegressionNetParams, nil
243246

sample-tapd.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
; a proof.
7070
; universerpccourier.servicerequestimeout=5s
7171

72-
; Network to run on (mainnet, regtest, testnet, simnet, signet)
72+
; Network to run on (mainnet, regtest, testnet, testnet4, simnet, signet)
7373
; network=testnet
7474

7575
; Connect to a custom signet network defined by this challenge instead of using

tapcfg/config.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ var (
210210
// ChainConfig houses the configuration options that govern which chain/network
211211
// we operate on.
212212
type ChainConfig struct {
213-
Network string `long:"network" description:"network to run on" choice:"mainnet" choice:"regtest" choice:"testnet" choice:"simnet" choice:"signet"`
213+
Network string `long:"network" description:"network to run on" choice:"mainnet" choice:"regtest" choice:"testnet" choice:"testnet4" choice:"simnet" choice:"signet"`
214214

215215
SigNetChallenge string `long:"signetchallenge" description:"Connect to a custom signet network defined by this challenge instead of using the global default signet test network -- Can be specified multiple times"`
216216
}
@@ -674,6 +674,8 @@ func ValidateConfig(cfg Config, cfgLogger btclog.Logger) (*Config, error) {
674674
cfg.ActiveNetParams = chaincfg.MainNetParams
675675
case "testnet":
676676
cfg.ActiveNetParams = chaincfg.TestNet3Params
677+
case "testnet4":
678+
cfg.ActiveNetParams = chaincfg.TestNet4Params
677679
case "regtest":
678680
cfg.ActiveNetParams = chaincfg.RegressionNetParams
679681
case "simnet":

0 commit comments

Comments
 (0)