Ethereum lockup VAA submission to devnet
This commit is contained in:
parent
e9fa171da8
commit
5b8c6e89bd
|
@ -44,6 +44,8 @@ func vaaConsensusProcessor(lockC chan *common.ChainLock, setC chan *common.Guard
|
||||||
// Get initial validator set from Ethereum. We could also fetch it from Solana,
|
// Get initial validator set from Ethereum. We could also fetch it from Solana,
|
||||||
// because both sets are synchronized, we simply made an arbitrary decision to use Ethereum.
|
// because both sets are synchronized, we simply made an arbitrary decision to use Ethereum.
|
||||||
|
|
||||||
|
// TODO: this can deadlock even in the same RunGroup - needs to fetch the set independently
|
||||||
|
|
||||||
logger.Info("waiting for initial validator set to be fetched from Ethereum")
|
logger.Info("waiting for initial validator set to be fetched from Ethereum")
|
||||||
gs := <-setC
|
gs := <-setC
|
||||||
logger.Info("current guardian set received",
|
logger.Info("current guardian set received",
|
||||||
|
@ -264,7 +266,8 @@ func vaaConsensusProcessor(lockC chan *common.ChainLock, setC chan *common.Guard
|
||||||
}
|
}
|
||||||
|
|
||||||
if t, ok := v.Payload.(*vaa.BodyTransfer); ok {
|
if t, ok := v.Payload.(*vaa.BodyTransfer); ok {
|
||||||
if t.TargetChain == vaa.ChainIDSolana {
|
switch {
|
||||||
|
case t.TargetChain == vaa.ChainIDSolana:
|
||||||
logger.Info("submitting signed VAA to Solana",
|
logger.Info("submitting signed VAA to Solana",
|
||||||
zap.String("digest", hash),
|
zap.String("digest", hash),
|
||||||
zap.Any("vaa", signed),
|
zap.Any("vaa", signed),
|
||||||
|
@ -273,7 +276,14 @@ func vaaConsensusProcessor(lockC chan *common.ChainLock, setC chan *common.Guard
|
||||||
if idx == 0 {
|
if idx == 0 {
|
||||||
vaaC <- state.vaaSignatures[hash].ourVAA
|
vaaC <- state.vaaSignatures[hash].ourVAA
|
||||||
}
|
}
|
||||||
} else {
|
case t.TargetChain == vaa.ChainIDEthereum:
|
||||||
|
timeout, _ := context.WithTimeout(ctx, 15*time.Second)
|
||||||
|
tx, err := devnet.SubmitVAA(timeout, *ethRPC, v)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("failed to submit lockup to Ethereum", zap.Error(err))
|
||||||
|
}
|
||||||
|
logger.Info("lockup submitted to Ethereum", zap.Any("tx", tx))
|
||||||
|
default:
|
||||||
logger.Error("we don't know how to submit this VAA",
|
logger.Error("we don't know how to submit this VAA",
|
||||||
zap.String("digest", hash),
|
zap.String("digest", hash),
|
||||||
zap.Any("vaa", signed),
|
zap.Any("vaa", signed),
|
||||||
|
|
Loading…
Reference in New Issue