punm parser
This commit is contained in:
41
pumpamm_test.go
Normal file
41
pumpamm_test.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package pump_parser
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
|
||||
agbinary "github.com/gagliardetto/binary"
|
||||
"github.com/gagliardetto/solana-go"
|
||||
|
||||
"testing"
|
||||
)
|
||||
|
||||
type Pool struct {
|
||||
Bump uint8 // 1
|
||||
Index uint16 // 3
|
||||
Creator solana.PublicKey // 35
|
||||
BaseMint solana.PublicKey // 67
|
||||
QuoteMint solana.PublicKey // 99
|
||||
LpMint solana.PublicKey // 131
|
||||
PoolBaseTokenAccount solana.PublicKey // 163
|
||||
PoolQuoteTokenAccount solana.PublicKey // 195
|
||||
LpSupply uint64 // 203
|
||||
CoinCreator solana.PublicKey // 235
|
||||
IsMayhemMode bool // 236
|
||||
}
|
||||
|
||||
func TestDecodePoolData(t *testing.T) {
|
||||
var base64Data = "8ZptBBGxbbz9AAB/+s6++xNrbunrNkEpE9IY0qfortUqEOB5s3kKGSvL+9H0YLudD5fPy6QWG5FDfdl3FQRE3H804Ivg5J2OnSHvBpuIV/6rgYT7aH9jRhjANdrEOdwa6ztVmKDwAAAAAAGcWzgf1bP0MRLCJXxkgXyazv6CfdxoJGAh01hfNVqrkGoU6aOndSrbraRyP929gjNuQ4qg/nj2RjtLlBazO47we2q7UVSLFd69kGDUes9pm4n4dftp/lIZS068RLXhIR1niGtZ0AMAAFC4Q0TJ2zOhAXgWLRoYc4eSeu9nlTcupLKiXLyIDytOAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="
|
||||
data, _ := base64.StdEncoding.DecodeString(base64Data)
|
||||
var pool Pool
|
||||
fmt.Println("data length:", len(data))
|
||||
err := agbinary.NewBorshDecoder(data[8:]).Decode(&pool)
|
||||
if err != nil {
|
||||
t.Errorf("Failed to decode pool data: %v", err)
|
||||
}
|
||||
fmt.Println(pool)
|
||||
}
|
||||
|
||||
func TestAmmBuyEvent(t *testing.T) {
|
||||
fmt.Println(pumpAmmBuyEventDiscriminator)
|
||||
}
|
||||
Reference in New Issue
Block a user