30 lines
678 B
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
|
|
}
|