wormhole/event_database/cloud_functions/process-transfer.go

30 lines
678 B
Go

package p
import (
"context"
"encoding/json"
"fmt"
"log"
"github.com/certusone/wormhole/node/pkg/vaa"
)
// ProcessTransfer is triggered by a PubSub message, once a TokenTransferPayload is written to a row.
func ProcessTransfer(ctx context.Context, m PubSubMessage) error {
data := string(m.Data)
if data == "" {
return fmt.Errorf("no data to process in message")
}
log.Printf("ProcessTransfer got message!")
signedVaa, err := vaa.Unmarshal(m.Data)
if err != nil {
log.Println("failed Unmarshaling VAA")
return err
}
jsonVaa, _ := json.MarshalIndent(signedVaa, "", " ")
log.Printf("ProcessTransfer Unmarshaled VAA: %q\n", string(jsonVaa))
return nil
}