github.com/status-im/status-go@v1.1.0/eth-node/bridge/geth/envelope_error.go (about)

     1  package gethbridge
     2  
     3  import (
     4  	"github.com/status-im/status-go/eth-node/types"
     5  	waku "github.com/status-im/status-go/waku/common"
     6  	wakuv2 "github.com/status-im/status-go/wakuv2/common"
     7  )
     8  
     9  // NewWakuEnvelopeErrorWrapper returns a types.EnvelopeError object that mimics Geth's EnvelopeError
    10  func NewWakuEnvelopeErrorWrapper(envelopeError *waku.EnvelopeError) *types.EnvelopeError {
    11  	if envelopeError == nil {
    12  		panic("envelopeError should not be nil")
    13  	}
    14  
    15  	return &types.EnvelopeError{
    16  		Hash:        types.Hash(envelopeError.Hash),
    17  		Code:        mapGethErrorCode(envelopeError.Code),
    18  		Description: envelopeError.Description,
    19  	}
    20  }
    21  
    22  // NewWakuEnvelopeErrorWrapper returns a types.EnvelopeError object that mimics Geth's EnvelopeError
    23  func NewWakuV2EnvelopeErrorWrapper(envelopeError *wakuv2.EnvelopeError) *types.EnvelopeError {
    24  	if envelopeError == nil {
    25  		panic("envelopeError should not be nil")
    26  	}
    27  
    28  	return &types.EnvelopeError{
    29  		Hash:        types.Hash(envelopeError.Hash),
    30  		Code:        mapGethErrorCode(envelopeError.Code),
    31  		Description: envelopeError.Description,
    32  	}
    33  }
    34  
    35  func mapGethErrorCode(code uint) uint {
    36  	switch code {
    37  	case waku.EnvelopeTimeNotSynced:
    38  		return types.EnvelopeTimeNotSynced
    39  	case waku.EnvelopeOtherError:
    40  		return types.EnvelopeOtherError
    41  	}
    42  	return types.EnvelopeOtherError
    43  }