Skip to content

Commit 715b08a

Browse files
committed
cmd: update command line generation tool
1 parent 48c0817 commit 715b08a

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

cmd/main.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,28 @@ func main() {
2222

2323
assocData := bytes.Repeat([]byte{'B'}, 32)
2424

25+
tempDir, err := ioutil.TempDir("", "onion-test")
26+
defer os.Remove(tempDir)
27+
if err != nil {
28+
panic(err)
29+
}
30+
2531
if len(args) == 1 {
2632
fmt.Printf("Usage: %s (generate|decode) <private-keys>\n", args[0])
2733
} else if args[1] == "generate" {
28-
var privKeys []*btcec.PrivateKey
2934
var route []*btcec.PublicKey
3035
for i, hexKey := range args[2:] {
3136
binKey, err := hex.DecodeString(hexKey)
32-
if err != nil || len(binKey) != 32 {
33-
log.Fatalf("%s is not a valid hex privkey %s", hexKey, err)
37+
if err != nil || len(binKey) != 33 {
38+
log.Fatalf("%s is not a valid hex pubkey %s", hexKey, err)
3439
}
35-
privkey, pubkey := btcec.PrivKeyFromBytes(btcec.S256(), binKey)
40+
41+
pubkey, err := btcec.ParsePubKey(binKey, btcec.S256())
42+
if err != nil {
43+
panic(err)
44+
}
45+
3646
route = append(route, pubkey)
37-
privKeys = append(privKeys, privkey)
3847
fmt.Fprintf(os.Stderr, "Node %d pubkey %x\n", i, pubkey.SerializeCompressed())
3948
}
4049

@@ -44,7 +53,7 @@ func main() {
4453
for i := 0; i < len(route); i++ {
4554
hopsData = append(hopsData, sphinx.HopData{
4655
Realm: 0x00,
47-
ForwardAmount: uint32(i),
56+
ForwardAmount: uint64(i),
4857
OutgoingCltv: uint32(i),
4958
})
5059
copy(hopsData[i].NextAddress[:], bytes.Repeat([]byte{byte(i)}, 8))
@@ -76,21 +85,21 @@ func main() {
7685
}
7786

7887
privkey, _ := btcec.PrivKeyFromBytes(btcec.S256(), binKey)
79-
s := sphinx.NewRouter(privkey, &chaincfg.TestNet3Params, nil)
88+
s := sphinx.NewRouter(tempDir, privkey, &chaincfg.TestNet3Params, nil)
8089

8190
var packet sphinx.OnionPacket
8291
err = packet.Decode(bytes.NewBuffer(binMsg))
8392

8493
if err != nil {
8594
log.Fatalf("Error parsing message: %v", err)
8695
}
87-
p, err := s.ProcessOnionPacket(&packet, assocData)
96+
p, err := s.ProcessOnionPacket(&packet, assocData, 10)
8897
if err != nil {
8998
log.Fatalf("Failed to decode message: %s", err)
9099
}
91100

92101
w := bytes.NewBuffer([]byte{})
93-
err = p.Packet.Encode(w)
102+
err = p.NextPacket.Encode(w)
94103

95104
if err != nil {
96105
log.Fatalf("Error serializing message: %v", err)

0 commit comments

Comments
 (0)