diff --git a/pkg/services/blockchain/eth/resolver.go b/pkg/services/blockchain/eth/resolver.go index dd4ba24..72fa524 100644 --- a/pkg/services/blockchain/eth/resolver.go +++ b/pkg/services/blockchain/eth/resolver.go @@ -207,9 +207,22 @@ func (r *Resolver) Resolve( default: stateInfo, gistInfo, err = r.resolveLatest(ctx, userID) } - if err != nil && err.Error() != "identity not found" { + + if err != nil && err.Error() != "state not found" { return services.IdentityState{}, err } + + if err != nil { + idGen, err := core.CheckGenesisStateID(userID.BigInt(), opts.State) + if err != nil { + return services.IdentityState{}, err + } + if !idGen { + return services.IdentityState{}, services.ErrNotFound + } + stateInfo = &contract.IStateStateInfo{} + stateInfo.State = opts.State + } } identityState := services.IdentityState{}