decred.org/dcrdex@v1.0.5/client/asset/ltc/spv_test.go (about) 1 package ltc 2 3 import ( 4 "testing" 5 6 dexltc "decred.org/dcrdex/dex/networks/ltc" 7 ltcchaincfg "github.com/ltcsuite/ltcd/chaincfg" 8 "github.com/ltcsuite/ltcd/ltcutil" 9 ) 10 11 func TestAddressTranslationRoundTrip(t *testing.T) { 12 w := ltcSPVWallet{ 13 chainParams: <cchaincfg.MainNetParams, 14 btcParams: dexltc.MainNetParams, 15 } 16 tests := []struct { 17 name string 18 addr string // ltcutil.Address 19 }{ 20 { 21 "bech32", 22 "ltc1qx9ry0xnsz9spzw0vy7p9szyycmtk4a4xkessy5", 23 }, 24 { 25 "p2pkh", 26 "LXyPtJexNLCdk99vYhgqrB2hXAdq6PQx8r", 27 }, 28 { 29 "p2sh", 30 "MWidTW5JsYaxPeDyQKF3525D8PJZLVb5Ho", 31 }, 32 { 33 "32-byte segwit program (taproot)", 34 "ltc1p7v5t2ltshynyrjj9ft5x5nulf76r8ml23789pwr29vu3rksnue3q2y7w9a", 35 }, 36 } 37 for _, tt := range tests { 38 t.Run(tt.name, func(t *testing.T) { 39 ltcAddr, err := ltcutil.DecodeAddress(tt.addr, w.chainParams) 40 if err != nil { 41 t.Fatal(err) 42 } 43 btcAddr, err := w.addrLTC2BTC(ltcAddr) 44 if err != nil { 45 t.Errorf("ltcSPVWallet.addrLTC2BTC() error = %v", err) 46 return 47 } 48 if btcAddr.String() != tt.addr { 49 t.Errorf("ltcSPVWallet.addrLTC2BTC() = %v, want %v", btcAddr, tt.addr) 50 } 51 reLtcAddr, err := w.addrBTC2LTC(btcAddr) 52 if err != nil { 53 t.Errorf("ltcSPVWallet.addrBTC2LTC() error = %v", err) 54 } 55 if reLtcAddr.String() != tt.addr { 56 t.Errorf("ltcSPVWallet.addrBTC2LTC() = %v, want %v", reLtcAddr, tt.addr) 57 } 58 }) 59 } 60 }