Skip to main content

Command

Namespace: IotaSdk

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
public class Command : ICommand, System.IEquatable`1[[IotaSdk.Command, IotaSdk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.IDisposable

Inheritance Object → Command
Implements ICommand, IEquatable<Command>, IDisposable
Attributes NullableContextAttribute, NullableAttribute

Constructors​

Command(UInt64)​

public Command(ulong pointer)

Parameters​

pointer UInt64

Methods​

Destroy()​

public void Destroy()

Dispose()​

public void Dispose()

Equals(Command)​

public bool Equals(Command? other)

Parameters​

other Command?

Returns​

Boolean

Equals(Object)​

public override bool Equals(object? obj)

Parameters​

obj Object?

Returns​

Boolean

NewMakeMoveVector(MakeMoveVector)​

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

public static Command NewMakeMoveVector(MakeMoveVector makeMoveVector)

Parameters​

makeMoveVector MakeMoveVector

Returns​

Command

NewMergeCoins(MergeCoins)​

It merges n-coins into the first coin

public static Command NewMergeCoins(MergeCoins mergeCoins)

Parameters​

mergeCoins MergeCoins

Returns​

Command

NewMoveCall(MoveCall)​

A call to either an entry or a public Move function

public static Command NewMoveCall(MoveCall moveCall)

Parameters​

moveCall MoveCall

Returns​

Command

NewPublish(Publish)​

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

public static Command NewPublish(Publish publish)

Parameters​

publish Publish

Returns​

Command

NewSplitCoins(SplitCoins)​

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

public static Command NewSplitCoins(SplitCoins splitCoins)

Parameters​

splitCoins SplitCoins

Returns​

Command

NewTransferObjects(TransferObjects)​

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.

public static Command NewTransferObjects(TransferObjects transferObjects)

Parameters​

transferObjects TransferObjects

Returns​

Command

NewUpgrade(Upgrade)​

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.
public static Command NewUpgrade(Upgrade upgrade)

Parameters​

upgrade Upgrade

Returns​

Command