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 }