diff --git a/pkg/solana/chainreader/chain_reader_test.go b/pkg/solana/chainreader/chain_reader_test.go index cf1e012db..fa2acfdbe 100644 --- a/pkg/solana/chainreader/chain_reader_test.go +++ b/pkg/solana/chainreader/chain_reader_test.go @@ -285,11 +285,11 @@ func TestSolanaChainReaderService_GetLatestValue(t *testing.T) { Seeds: []codec.IdlField{ { Name: PDAPubKeySeedName, - Type: codec.IdlType{AsString: codec.IdlTypePublicKey}, + Type: codec.NewIdlStringType(codec.IdlTypePublicKey), }, { Name: PDAUint64SeedName, - Type: codec.IdlType{AsString: codec.IdlTypeU64}, + Type: codec.NewIdlStringType(codec.IdlTypeU64), }, }, }, @@ -354,7 +354,7 @@ func TestSolanaChainReaderService_GetLatestValue(t *testing.T) { Seeds: []codec.IdlField{ { Name: PDAPubKeySeedName, - Type: codec.IdlType{AsString: codec.IdlTypePublicKey}, + Type: codec.NewIdlStringType(codec.IdlTypePublicKey), }, }, }, diff --git a/pkg/solana/codec/anchoridl.go b/pkg/solana/codec/anchoridl.go index 1bae2288b..cde61e3e3 100644 --- a/pkg/solana/codec/anchoridl.go +++ b/pkg/solana/codec/anchoridl.go @@ -202,7 +202,7 @@ func (env *IdlType) UnmarshalJSON(data []byte) error { switch v := temp.(type) { case string: - env.AsString = IdlTypeAsString(v) + env.asString = IdlTypeAsString(v) case map[string]interface{}: if len(v) == 0 { return nil @@ -255,15 +255,21 @@ func (env *IdlType) UnmarshalJSON(data []byte) error { // Wrapper type: type IdlType struct { - AsString IdlTypeAsString + asString IdlTypeAsString asIdlTypeVec *IdlTypeVec asIdlTypeOption *IdlTypeOption asIdlTypeDefined *IdlTypeDefined asIdlTypeArray *IdlTypeArray } +func NewIdlStringType(asString IdlTypeAsString) IdlType { + return IdlType{ + asString: asString, + } +} + func (env *IdlType) IsString() bool { - return env.AsString != "" + return env.asString != "" } func (env *IdlType) IsIdlTypeVec() bool { return env.asIdlTypeVec != nil @@ -280,7 +286,7 @@ func (env *IdlType) IsArray() bool { // Getters: func (env *IdlType) GetString() IdlTypeAsString { - return env.AsString + return env.asString } func (env *IdlType) GetIdlTypeVec() *IdlTypeVec { return env.asIdlTypeVec