Skip to main content

Argument

Argument

class Argument

An argument to a programmable transaction command

BCS

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

argument    =  argument-gas
=/ argument-input
=/ argument-result
=/ argument-nested-result

argument-gas = %d00
argument-input = %d01 u16
argument-result = %d02 u16
argument-nested-result = %d03 u16 u16

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.

getNestedResult(ix:)

func getNestedResult(ix: UInt16) -> Argument?

Get the nested result for this result at the given index. Returns None if this is not a Result.

newGas()

static func newGas() -> Argument

The gas coin. The gas coin can only be used by-ref, except for with TransferObjects, which can use it by-value.

newInput(input:)

static func newInput(input: UInt16) -> Argument

One of the input objects or primitive values (from ProgrammableTransaction inputs)

newNestedResult(commandIndex:subresultIndex:)

static func newNestedResult(commandIndex: UInt16, subresultIndex: UInt16) -> Argument

Like a Result but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.

newResult(result:)

static func newResult(result: UInt16) -> Argument

The result of another command (from ProgrammableTransaction commands)

!=(_:_:)

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: Argument, other: Argument) -> 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.