go-proxy/customdiff_test.go
2026-04-05 01:05:00 +00:00

39 lines
1.1 KiB
Go

package proxy
import "testing"
func TestCustomDiff_OnLogin(t *testing.T) {
cd := NewCustomDiff(10000)
miner := &Miner{user: "WALLET+50000"}
cd.OnLogin(Event{Miner: miner})
if miner.User() != "WALLET" {
t.Fatalf("expected stripped user, got %q", miner.User())
}
if miner.customDiff != 50000 {
t.Fatalf("expected custom diff 50000, got %d", miner.customDiff)
}
miner = &Miner{user: "WALLET+abc"}
cd.OnLogin(Event{Miner: miner})
if miner.User() != "WALLET+abc" {
t.Fatalf("expected invalid suffix to remain unchanged")
}
if miner.customDiff != 0 {
t.Fatalf("expected invalid suffix to disable custom diff, got %d", miner.customDiff)
}
miner = &Miner{user: "WALLET"}
cd.OnLogin(Event{Miner: miner})
if miner.customDiff != 10000 {
t.Fatalf("expected global diff fallback, got %d", miner.customDiff)
}
}
func TestEffectiveShareDifficulty_CustomDiffCapsPoolDifficulty(t *testing.T) {
job := Job{Target: "01000000"}
miner := &Miner{customDiff: 25000}
if got := EffectiveShareDifficulty(job, miner); got != 25000 {
t.Fatalf("expected capped difficulty 25000, got %d", got)
}
}