diff --git a/internal/bcd/literal.go b/internal/bcd/literal.go index 5d53ea8be..0b98293de 100644 --- a/internal/bcd/literal.go +++ b/internal/bcd/literal.go @@ -62,6 +62,11 @@ func IsContract(str string) bool { return contractRegex.MatchString(str) } +// FindContract - +func FindContract(str string) string { + return contractRegex.FindString(str) +} + // IsBakerHash - func IsBakerHash(str string) bool { return bakerHashRegex.MatchString(str) diff --git a/internal/parsers/operations/transaction.go b/internal/parsers/operations/transaction.go index 22d4a3d73..2b2203445 100644 --- a/internal/parsers/operations/transaction.go +++ b/internal/parsers/operations/transaction.go @@ -117,7 +117,10 @@ func (p Transaction) parseContractParams(ctx context.Context, data noderpc.Opera } if tx.Errors[i].Is(consts.TezlinkError) && strings.Contains(tx.Errors[i].ErrorMessage, consts.TezlinkContractDoesNotExistMarker) { - return nil + if bcd.FindContract(tx.Errors[i].ErrorMessage) == tx.Destination.Address { + store.MarkAccountGhost(tx.Destination.Address) + } + return p.getEntrypoint(tx) } }