diff --git a/wallet/wallet.go b/wallet/wallet.go index f5023a1..75858e9 100644 --- a/wallet/wallet.go +++ b/wallet/wallet.go @@ -415,15 +415,20 @@ func (w *Wallet) Receive(token cashu.Token, swap bool) (uint64, error) { tokenMintURL := token.Token[0].Mint // only add mint if not previously trusted - _, ok := w.mints[tokenMintURL] + walletMint, ok := w.mints[tokenMintURL] if !ok { - _, err := w.addMint(tokenMintURL) + mint, err := w.addMint(tokenMintURL) if err != nil { return 0, err } + walletMint = *mint } - activeSatKeyset := w.GetActiveSatKeyset() + var activeSatKeyset crypto.WalletKeyset + for _, k := range walletMint.activeKeysets { + activeSatKeyset = k + break + } counter := w.counterForKeyset(activeSatKeyset.Id) // create blinded messages @@ -634,7 +639,12 @@ func (w *Wallet) getProofsForAmount(amount uint64, mintURL string) (cashu.Proofs return selectedProofs, nil } - activeSatKeyset := w.GetActiveSatKeyset() + var activeSatKeyset crypto.WalletKeyset + for _, k := range selectedMint.activeKeysets { + activeSatKeyset = k + break + } + counter := w.counterForKeyset(activeSatKeyset.Id) // blinded messages for send amount @@ -836,6 +846,7 @@ func (w *Wallet) counterForKeyset(keysetId string) uint32 { return w.db.GetKeysetCounter(keysetId) } +// get active sat keyset for current mint func (w *Wallet) GetActiveSatKeyset() crypto.WalletKeyset { var activeKeyset crypto.WalletKeyset for _, keyset := range w.currentMint.activeKeysets { diff --git a/wallet/wallet_integration_test.go b/wallet/wallet_integration_test.go index 2614ee3..2df41a7 100644 --- a/wallet/wallet_integration_test.go +++ b/wallet/wallet_integration_test.go @@ -77,7 +77,7 @@ func testMain(m *testing.M) int { } testMintPath := filepath.Join(".", "testmint1") - testMint, err := testutils.CreateTestMintServer(lnd1, "mykey", "3338", testMintPath) + testMint, err := testutils.CreateTestMintServer(lnd1, "secretkey1", "3338", testMintPath) if err != nil { log.Println(err) return 1 @@ -192,7 +192,7 @@ func TestReceive(t *testing.T) { } testMintPath := filepath.Join(".", "testmint2") - testMint, err := testutils.CreateTestMintServer(lnd2, "mykey", "3339", testMintPath) + testMint, err := testutils.CreateTestMintServer(lnd2, "secretkey2", "3339", testMintPath) if err != nil { t.Fatal(err) }