This is a parser for Solana programs compiled with Anchor using IDL.
go get github.com/heroims/anchor-idl-parser-go
import (
aip "github.com/heroims/anchor-idl-parser-go"
)
func main() {
// Create Parser
ammIdlParser, err := aip.NewParserWithPath("path/to/amm_idl.json")
ammIdlParser, err := aip.NewParserWithJson("{\"json\": \"data\"}")
if err == nil {
// Parse instruction (support cpi log)
insInfo, insErr := ammIdlParser.InstructionParse(instructionData)
// Parse account
accountInfo, accErr := ammIdlParser.AccountsParse(accountData)
// Parse log
eventInfo, eventErr := ammIdlParser.EventDataParse(logString)
}
}