Skip to main content

Command

Command

class Command

A single command in a programmable transaction.

BCS

The BCS serialized form for this type is defined by the following ABNF:

command =  command-move-call
=/ command-transfer-objects
=/ command-split-coins
=/ command-merge-coins
=/ command-publish
=/ command-make-move-vector
=/ command-upgrade

command-move-call = %d00 move-call
command-transfer-objects = %d01 transfer-objects
command-split-coins = %d02 split-coins
command-merge-coins = %d03 merge-coins
command-publish = %d04 publish
command-make-move-vector = %d05 make-move-vector
command-upgrade = %d06 upgrade

debugDescription

var debugDescription: String { get }

A textual representation of this instance, suitable for debugging.

Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:) initializer. This initializer works with any type, and uses the custom debugDescription property for types that conform to CustomDebugStringConvertible:

struct Point: CustomDebugStringConvertible {
let x: Int, y: Int

var debugDescription: String {
return "(\(x), \(y))"
}
}

let p = Point(x: 21, y: 30)
let s = String(reflecting: p)
print(s)
// Prints "(21, 30)"

The conversion of p to a string in the assignment to s uses the Point type's debugDescription property.

newMakeMoveVector(makeMoveVector:)

static func newMakeMoveVector(makeMoveVector: MakeMoveVector) -> Command

Given n-values of the same type, it constructs a vector. For non objects or an empty vector, the type tag must be specified.

newMergeCoins(mergeCoins:)

static func newMergeCoins(mergeCoins: MergeCoins) -> Command

It merges n-coins into the first coin

newMoveCall(moveCall:)

static func newMoveCall(moveCall: MoveCall) -> Command

A call to either an entry or a public Move function

newPublish(publish:)

static func newPublish(publish: Publish) -> Command

Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on-chain.

newSplitCoins(splitCoins:)

static func newSplitCoins(splitCoins: SplitCoins) -> Command

It splits off some amounts into a new coins with those amounts

newTransferObjects(transferObjects:)

static func newTransferObjects(transferObjects: TransferObjects) -> Command

It sends n-objects to the specified address. These objects must have store (public transfer) and either the previous owner must be an address or the object must be newly created.

newUpgrade(upgrade:)

static func newUpgrade(upgrade: Upgrade) -> Command

Upgrades a Move package Takes (in order):

  1. A vector of serialized modules for the package.
  2. A vector of object ids for the transitive dependencies of the new package.
  3. The object ID of the package being upgraded.
  4. An argument holding the UpgradeTicket that must have been produced from an earlier command in the same programmable transaction.

!=(_:_:)

static func != (lhs: Self, rhs: Self) -> Bool

Returns a Boolean value indicating whether two values are not equal.

Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.

This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.

==(_:_:)

static func == (self: Command, other: Command) -> Bool

Returns a Boolean value indicating whether two values are equal.

Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.