fix: term sell

This commit is contained in:
2026-03-30 11:59:42 +08:00
parent 6b35f61d95
commit cddfcc3eef
3 changed files with 55 additions and 4 deletions

View File

@@ -189,7 +189,58 @@ func TestParseTermBuy(t *testing.T) {
t.Fatalf("expected token0 amount 6952026214256, got %d", signal.Token0AmountUint64)
}
if signal.Token1AmountUint64 != 250000000 {
t.Fatalf("expected token1 amount 653333333, got %d", signal.Token1AmountUint64)
t.Fatalf("expected token1 amount 250000000, got %d", signal.Token1AmountUint64)
}
}
func TestParseTermSell(t *testing.T) {
rpcUrl := os.Getenv("SOL_RPC_URL")
if rpcUrl == "" {
t.Fatalf("SOL_RPC_URL is not set")
}
client := rpc.New(rpcUrl)
ch := make(chan TxSignal)
closed := make(chan struct{})
go func() {
ParseTransactionForSubscribe(
context.Background(),
getTransaction(t, client, "4oSnHnDSscjmc6XX1rjXCEBavoLR9wkdZvGCAUn928iLWqrCwt2a6mgJpjP4NHqrCboUC82ugrjjEbNGNYAagkue"),
nil,
ch,
closed,
)
}()
go func() {
<-closed
close(ch)
}()
signals := make([]TxSignal, 0)
for signal := range ch {
signals = append(signals, signal)
}
if len(signals) != 1 {
t.Fatalf("expected 1 signal, got %d", len(signals))
}
signal := signals[0]
if signal.Label != "terminal" {
t.Fatalf("expected terminal signal, got %s", signal.Label)
}
if signal.Event != "sell" {
t.Fatalf("expected sell event, got %s", signal.Event)
}
if signal.Maker != "DjAj23BSiaRJKJziKHwtLexEHRDgL4tEjx4Ye4Gkug2E" {
t.Fatalf("expected maker DjAj23BSiaRJKJziKHwtLexEHRDgL4tEjx4Ye4Gkug2E, got %s", signal.Maker)
}
if signal.Token0Address != "5J6TKpfP5SHDaUNAdDg23c31wS3KnfZ3JTfFErt4pump" {
t.Fatalf("expected token0 address 5J6TKpfP5SHDaUNAdDg23c31wS3KnfZ3JTfFErt4pump, got %s", signal.Token0Address)
}
if signal.Token0AmountUint64 != 6384819151429 {
t.Fatalf("expected token0 amount 6384819151429, got %d", signal.Token0AmountUint64)
}
if signal.Token1AmountUint64 != 243633622 {
t.Fatalf("expected token1 amount 243633622, got %d", signal.Token1AmountUint64)
}
}