mirror of https://github.com/poanetwork/gecko.git
34 lines
675 B
Go
34 lines
675 B
Go
package nftfx
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/ava-labs/gecko/vms/components/verify"
|
|
"github.com/ava-labs/gecko/vms/secp256k1fx"
|
|
)
|
|
|
|
var (
|
|
errNilTransferOperation = errors.New("nil transfer operation")
|
|
)
|
|
|
|
// TransferOperation ...
|
|
type TransferOperation struct {
|
|
Input secp256k1fx.Input `serialize:"true" json:"input"`
|
|
Output TransferOutput `serialize:"true" json:"output"`
|
|
}
|
|
|
|
// Outs ...
|
|
func (op *TransferOperation) Outs() []verify.Verifiable {
|
|
return []verify.Verifiable{&op.Output}
|
|
}
|
|
|
|
// Verify ...
|
|
func (op *TransferOperation) Verify() error {
|
|
switch {
|
|
case op == nil:
|
|
return errNilTransferOperation
|
|
default:
|
|
return verify.All(&op.Input, &op.Output)
|
|
}
|
|
}
|