Skip to content

Support https for grpc from the guardian to wormchain #4763

Description

@SEJeff

Description

A guardian wanted to use https for the --wormchainURL and were getting lots of errors from the global accountant.

An example would be:

2026-04-22 12:38:37.031 ERROR {
  "severity": "ERROR",
  "timestamp": "2026-04-22T16:38:37.031480278Z",
  "logger": "root",
  "message": "failed to submit any observations in batch to accountant",
  "component": "gacct",
  "numMsgs": 1,
  "error": "failed to send broadcast: failed to fetch account: rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\""
}

2026-04-22 12:31:57.228 ERROR {
  "severity": "ERROR",
  "timestamp": "2026-04-22T16:31:57.228257006Z",
  "logger": "root",
  "message": "failed to submit observation to accountant",
  "component": "gacct",
  "idx": 0,
  "msgId": "30/0000000000000000000000008d2de8d2f73f1f4cab472ac9a881c9b123c79627/253330"
}

2026-04-22 12:30:34.409 ERROR {
  "severity": "ERROR",
  "timestamp": "2026-04-22T16:30:34.40989751Z",
  "logger": "root",
  "message": "unsure of status of pending transfer due to query error",
  "component": "gacct",
  "msgId": "23/000000000000000000000000d1a8ab69e00266e8b791a15bc47514153a5045a6/7869"
}

The flags the guardian passed looked like:

--wormchainURL ${HOSTNAME}:443 \
      --accountantCheckEnabled "True" \
      --accountantContract wormhole14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9srrg465 \
      --accountantWS https://${HOSTNAME}:443 \
      --accountantNttContract wormhole1mc23vtzxh46e63vq22e8cnv23an06akvkqws04kghkrxrauzpgwq2hmwm7 \
      --gatewayLCD 'https://${HOSTNAME}/' \
      --gatewayWS 'wss://${HOSTNAME}}/websocket' \
      --ibcBlockHeightURL 'https://${HOSTNAME}/' \
      --ibcLCD 'https://${HOSTNAME}/' \
      --ibcWS 'wss://${HOSTNAME}/websocket' \

Recommendation

This code

func NewConn(ctx context.Context, target string, privateKey cryptotypes.PrivKey, chainId string) (*ClientConn, error) {
c, err := grpc.DialContext(
ctx,
target,
grpc.WithTransportCredentials(insecure.NewCredentials()),
)

Needs to support secure connections in addition to insecure connections.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions