Explorar el Código

node: move watchers to dedicated package (#1647)

* node: reorganize watchers into own package

Change-Id: Idda82def1c8e1e07376bdc46a50fc02bd6f2386d

* node: rename terra to cosmwasm

Change-Id: Iebe5ccc7c66b772962425a42997bd2cfb66c6908
Hendrik Hofstadt hace 3 años
padre
commit
02cf08531e

+ 6 - 7
node/cmd/guardiand/node.go

@@ -11,7 +11,12 @@ import (
 	"path"
 	"strings"
 
-	"github.com/certusone/wormhole/node/pkg/evm"
+	"github.com/certusone/wormhole/node/pkg/watchers/cosmwasm"
+
+	"github.com/certusone/wormhole/node/pkg/watchers/algorand"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm"
+	"github.com/certusone/wormhole/node/pkg/watchers/near"
+	"github.com/certusone/wormhole/node/pkg/watchers/solana"
 
 	"github.com/benbjohnson/clock"
 	"github.com/certusone/wormhole/node/pkg/db"
@@ -33,7 +38,6 @@ import (
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"
 	"github.com/certusone/wormhole/node/pkg/readiness"
 	"github.com/certusone/wormhole/node/pkg/reporter"
-	solana "github.com/certusone/wormhole/node/pkg/solana"
 	"github.com/certusone/wormhole/node/pkg/supervisor"
 	eth_common "github.com/ethereum/go-ethereum/common"
 	ethcrypto "github.com/ethereum/go-ethereum/crypto"
@@ -43,11 +47,6 @@ import (
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 	"go.uber.org/zap"
 
-	cosmwasm "github.com/certusone/wormhole/node/pkg/terra"
-
-	"github.com/certusone/wormhole/node/pkg/algorand"
-	"github.com/certusone/wormhole/node/pkg/near"
-
 	ipfslog "github.com/ipfs/go-log/v2"
 )
 

+ 2 - 2
node/hack/parse_eth_tx/parse_eth_tx.go

@@ -10,8 +10,8 @@ import (
 	"flag"
 	"log"
 
-	"github.com/certusone/wormhole/node/pkg/evm"
-	"github.com/certusone/wormhole/node/pkg/evm/connectors"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors"
 	"go.uber.org/zap"
 
 	ethCommon "github.com/ethereum/go-ethereum/common"

+ 1 - 1
node/hack/repair_eth/repair_eth.go

@@ -14,7 +14,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
 
 	"github.com/certusone/wormhole/node/pkg/db"
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"

+ 2 - 2
node/hack/repair_terra/repair.go

@@ -20,7 +20,7 @@ import (
 
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"
 	nodev1 "github.com/certusone/wormhole/node/pkg/proto/node/v1"
-	cosmwasm "github.com/certusone/wormhole/node/pkg/terra"
+	"github.com/certusone/wormhole/node/pkg/watchers/cosmwasm"
 	"github.com/wormhole-foundation/wormhole/sdk/vaa"
 
 	"github.com/tidwall/gjson"
@@ -111,7 +111,7 @@ func getSequencesForTxhash(txhash string, fcd string, contractAddressLogKey stri
 	return sequences, nil
 }
 
-// This was stolen from pkg/terra/watcher.go
+// This was stolen from pkg/cosmwasm/watcher.go
 func EventsToMessagePublications(contract string, txHash string, events []gjson.Result, chainID vaa.ChainID, contractAddressLogKey string) []*common.MessagePublication {
 	msgs := make([]*common.MessagePublication, 0, len(events))
 	for _, event := range events {

+ 1 - 1
node/pkg/devnet/guardianset_vaa.go

@@ -5,7 +5,7 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
 
 	"github.com/ethereum/go-ethereum/accounts/abi/bind"
 	"github.com/ethereum/go-ethereum/common"

+ 0 - 95
node/pkg/terra/sender.go

@@ -1,95 +0,0 @@
-package cosmwasm
-
-import (
-	"context"
-	"encoding/json"
-	"io/ioutil"
-	"time"
-
-	sdk "github.com/cosmos/cosmos-sdk/types"
-	"github.com/terra-money/terra.go/client"
-	"github.com/terra-money/terra.go/key"
-	"github.com/terra-money/terra.go/msg"
-
-	"github.com/wormhole-foundation/wormhole/sdk/vaa"
-)
-
-type submitVAAMsg struct {
-	Params submitVAAParams `json:"submit_v_a_a"`
-}
-
-type submitVAAParams struct {
-	VAA []byte `json:"vaa"`
-}
-
-// SubmitVAA prepares transaction with signed VAA and sends it to a cosmwasm blockchain
-func SubmitVAA(ctx context.Context, urlLCD string, chainID string, contractAddress string, feePayer string, signed *vaa.VAA) (*sdk.TxResponse, error) {
-
-	// Serialize VAA
-	vaaBytes, err := signed.Marshal()
-	if err != nil {
-		return nil, err
-	}
-
-	// Derive Raw Private Key
-	privKey, err := key.DerivePrivKeyBz(feePayer, key.CreateHDPath(0, 0))
-	if err != nil {
-		return nil, err
-	}
-
-	// Generate StdPrivKey
-	tmKey, err := key.PrivKeyGen(privKey)
-	if err != nil {
-		return nil, err
-	}
-
-	// Generate Address from Public Key
-	addr := msg.AccAddress(tmKey.PubKey().Address())
-
-	// Create LCDClient
-	LCDClient := client.NewLCDClient(
-		urlLCD,
-		chainID,
-		msg.NewDecCoinFromDec("uusd", msg.NewDecFromIntWithPrec(msg.NewInt(15), 2)), // 0.15uusd
-		msg.NewDecFromIntWithPrec(msg.NewInt(15), 1), tmKey, time.Second*15,
-	)
-
-	contract, err := msg.AccAddressFromBech32(contractAddress)
-	if err != nil {
-		return nil, err
-	}
-
-	// Create tx
-	contractCall, err := json.Marshal(submitVAAMsg{
-		Params: submitVAAParams{
-			VAA: vaaBytes,
-		}})
-
-	if err != nil {
-		return nil, err
-	}
-
-	executeContract := msg.NewMsgExecuteContract(addr, contract, contractCall, msg.NewCoins())
-
-	transaction, err := LCDClient.CreateAndSignTx(ctx, client.CreateTxOptions{
-		Msgs: []msg.Msg{
-			executeContract,
-		},
-		FeeAmount: msg.NewCoins(),
-	})
-	if err != nil {
-		return nil, err
-	}
-
-	// Broadcast
-	return LCDClient.Broadcast(ctx, transaction)
-}
-
-// ReadKey reads file and returns its content as a string
-func ReadKey(path string) (string, error) {
-	b, err := ioutil.ReadFile(path)
-	if err != nil {
-		return "", err
-	}
-	return string(b), nil
-}

+ 0 - 0
node/pkg/algorand/watcher.go → node/pkg/watchers/algorand/watcher.go


+ 1 - 1
node/pkg/terra/watcher.go → node/pkg/watchers/cosmwasm/watcher.go

@@ -415,7 +415,7 @@ func EventsToMessagePublications(contract string, txHash string, events []gjson.
 			continue
 		}
 
-		logger.Info("new message detected on terra",
+		logger.Info("new message detected on cosmwasm",
 			zap.String("network", networkName),
 			zap.String("chainId", chainId),
 			zap.String("txHash", txHash),

+ 1 - 1
node/pkg/evm/by_transaction.go → node/pkg/watchers/evm/by_transaction.go

@@ -5,7 +5,7 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors"
 
 	"github.com/certusone/wormhole/node/pkg/common"
 	eth_common "github.com/ethereum/go-ethereum/common"

+ 2 - 2
node/pkg/evm/connectors/celo.go → node/pkg/watchers/evm/connectors/celo.go

@@ -3,8 +3,8 @@ package connectors
 import (
 	"context"
 
-	celoAbi "github.com/certusone/wormhole/node/pkg/evm/connectors/celoabi"
-	ethAbi "github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
+	celoAbi "github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/celoabi"
+	ethAbi "github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
 
 	celoBind "github.com/celo-org/celo-blockchain/accounts/abi/bind"
 	celoCommon "github.com/celo-org/celo-blockchain/common"

+ 0 - 0
node/pkg/evm/connectors/celoabi/abi.go → node/pkg/watchers/evm/connectors/celoabi/abi.go


+ 2 - 1
node/pkg/evm/connectors/common.go → node/pkg/watchers/evm/connectors/common.go

@@ -6,7 +6,8 @@ import (
 	"math/big"
 	"sync"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
+
 	"github.com/ethereum/go-ethereum"
 	"github.com/ethereum/go-ethereum/common"
 	"github.com/ethereum/go-ethereum/core/types"

+ 0 - 0
node/pkg/evm/connectors/ethabi/abi.go → node/pkg/watchers/evm/connectors/ethabi/abi.go


+ 2 - 1
node/pkg/evm/connectors/ethereum.go → node/pkg/watchers/evm/connectors/ethereum.go

@@ -3,9 +3,10 @@ package connectors
 import (
 	"context"
 
+	ethAbi "github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
+
 	ethRpc "github.com/ethereum/go-ethereum/rpc"
 
-	ethAbi "github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
 	ethereum "github.com/ethereum/go-ethereum"
 	ethBind "github.com/ethereum/go-ethereum/accounts/abi/bind"
 	ethCommon "github.com/ethereum/go-ethereum/common"

+ 2 - 1
node/pkg/evm/connectors/logpoller.go → node/pkg/watchers/evm/connectors/logpoller.go

@@ -6,7 +6,8 @@ import (
 	"math/big"
 	"time"
 
-	ethAbi "github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
+	ethAbi "github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
+
 	"github.com/certusone/wormhole/node/pkg/supervisor"
 	ethereum "github.com/ethereum/go-ethereum"
 	ethCommon "github.com/ethereum/go-ethereum/common"

+ 0 - 0
node/pkg/evm/connectors/poller.go → node/pkg/watchers/evm/connectors/poller.go


+ 1 - 1
node/pkg/evm/finalizers/default.go → node/pkg/watchers/evm/finalizers/default.go

@@ -3,7 +3,7 @@ package finalizers
 import (
 	"context"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors"
 )
 
 // DefaultFinalizer assumes all blocks to be finalized.

+ 2 - 1
node/pkg/evm/finalizers/moonbeam.go → node/pkg/watchers/evm/finalizers/moonbeam.go

@@ -3,7 +3,8 @@ package finalizers
 import (
 	"context"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors"
+
 	"go.uber.org/zap"
 )
 

+ 0 - 0
node/pkg/evm/utils.go → node/pkg/watchers/evm/utils.go


+ 0 - 0
node/pkg/evm/utils_test.go → node/pkg/watchers/evm/utils_test.go


+ 3 - 3
node/pkg/evm/watcher.go → node/pkg/watchers/evm/watcher.go

@@ -7,9 +7,9 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/certusone/wormhole/node/pkg/evm/connectors"
-	"github.com/certusone/wormhole/node/pkg/evm/connectors/ethabi"
-	"github.com/certusone/wormhole/node/pkg/evm/finalizers"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/connectors/ethabi"
+	"github.com/certusone/wormhole/node/pkg/watchers/evm/finalizers"
 
 	"github.com/certusone/wormhole/node/pkg/p2p"
 	gossipv1 "github.com/certusone/wormhole/node/pkg/proto/gossip/v1"

+ 0 - 0
node/pkg/near/watcher.go → node/pkg/watchers/near/watcher.go


+ 0 - 0
node/pkg/solana/client.go → node/pkg/watchers/solana/client.go