Skip to main content

Command

Command Objects

class Command(CommandProtocol)

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

new_make_move_vector

@classmethod
def new_make_move_vector(cls, make_move_vector: 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.

new_merge_coins

@classmethod
def new_merge_coins(cls, merge_coins: MergeCoins) -> Command

It merges n-coins into the first coin

new_move_call

@classmethod
def new_move_call(cls, move_call: MoveCall) -> Command

A call to either an entry or a public Move function

new_publish

@classmethod
def new_publish(cls, 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.

new_split_coins

@classmethod
def new_split_coins(cls, split_coins: SplitCoins) -> Command

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

new_transfer_objects

@classmethod
def new_transfer_objects(cls, transfer_objects: 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.

new_upgrade

@classmethod
def new_upgrade(cls, 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.