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 ObjectCommand
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