u8() | (options?) => BcsType<number, number, "u8"> | Creates a BcsType that can be used to read and write an 8-bit unsigned integer. Example bcs.u8().serialize(255).toBytes() // Uint8Array [ 255 ] |
u16() | (options?) => BcsType<number, number, "u16"> | Creates a BcsType that can be used to read and write a 16-bit unsigned integer. Example bcs.u16().serialize(65535).toBytes() // Uint8Array [ 255, 255 ] |
u32() | (options?) => BcsType<number, number, "u32"> | Creates a BcsType that can be used to read and write a 32-bit unsigned integer. Example bcs.u32().serialize(4294967295).toBytes() // Uint8Array [ 255, 255, 255, 255 ] |
u64() | (options?) => BcsType<string, string | number | bigint, "u64"> | Creates a BcsType that can be used to read and write a 64-bit unsigned integer. Example bcs.u64().serialize(1).toBytes() // Uint8Array [ 1, 0, 0, 0, 0, 0, 0, 0 ] |
u128() | (options?) => BcsType<string, string | number | bigint, "u128"> | Creates a BcsType that can be used to read and write a 128-bit unsigned integer. Example bcs.u128().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ] |
u256() | (options?) => BcsType<string, string | number | bigint, "u256"> | Creates a BcsType that can be used to read and write a 256-bit unsigned integer. Example bcs.u256().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ] |
bool() | (options?) => BcsType<boolean, boolean, "bool"> | Creates a BcsType that can be used to read and write boolean values. Example bcs.bool().serialize(true).toBytes() // Uint8Array [ 1 ] |
uleb128() | (options?) => BcsType<number, number, "uleb128"> | Creates a BcsType that can be used to read and write unsigned LEB encoded integers Example `` |
bytes() | (size, options?) => BcsType<Uint8Array, Iterable<number, any, any>, `bytes[${T}]`> | Creates a BcsType representing a fixed length byte array Example bcs.bytes(3).serialize(new Uint8Array([1, 2, 3])).toBytes() // Uint8Array [1, 2, 3] |
byteVector() | (options?) => BcsType<Uint8Array, Iterable<number, any, any>, "vector<u8>"> | Creates a BcsType representing a variable length byte array Example bcs.byteVector().serialize([1, 2, 3]).toBytes() // Uint8Array [3, 1, 2, 3] |
string() | (options?) => BcsType<string, string, string> | Creates a BcsType that can ser/de string values. Strings will be UTF-8 encoded Example bcs.string().serialize('a').toBytes() // Uint8Array [ 1, 97 ] |
fixedArray() | { <T, Name> (size, type, options?): BcsType<InferBcsType<T>[], Iterable<InferBcsInput<T>, any, any> & object, Name>; <T, Input, Name> (size, type, options?): BcsType<T[], Iterable<Input, any, any> & object, Name>; } | Creates a BcsType that represents a fixed length array of a given type Param The number of elements in the array Param The BcsType of each element in the array Example bcs.fixedArray(3, bcs.u8()).serialize([1, 2, 3]).toBytes() // Uint8Array [ 1, 2, 3 ] |
option() | { <T> (type): BcsType<InferBcsType<T> | null, InferBcsInput<T> | null | undefined, `Option<${T["name"]}>`>; <T, Input, Name> (type): BcsType<T | null, Input | null | undefined>; } | Creates a BcsType representing an optional value Param The BcsType of the optional value Example bcs.option(bcs.u8()).serialize(null).toBytes() // Uint8Array [ 0 ] bcs.option(bcs.u8()).serialize(1).toBytes() // Uint8Array [ 1, 1 ] |
vector() | { <T, Name> (type, options?): BcsType<InferBcsType<T>[], Iterable<InferBcsInput<T>, any, any> & object, Name>; <T, Input, Name> (type, options?): BcsType<T[], Iterable<Input, any, any> & object, `vector<${Name}>`>; } | Creates a BcsType representing a variable length vector of a given type Param The BcsType of each element in the vector Example bcs.vector(bcs.u8()).toBytes([1, 2, 3]) // Uint8Array [ 3, 1, 2, 3 ] |
tuple() | (fields, options?) => BcsTuple<T, Name> | Creates a BcsType representing a tuple of a given set of types Example const tuple = bcs.tuple([bcs.u8(), bcs.string(), bcs.bool()]) tuple.serialize([1, 'a', true]).toBytes() // Uint8Array [ 1, 1, 97, 1 ] |
struct() | ( name, fields, options?) => BcsStruct<T, string> | Creates a BcsType representing a struct of a given set of fields Example const struct = bcs.struct('MyStruct', { a: bcs.u8(), b: bcs.string(), }) struct.serialize({ a: 1, b: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ] |
enum() | ( name, fields, options?) => BcsEnum<T, Name> | Creates a BcsType representing an enum of a given set of options Example const enum = bcs.enum('MyEnum', { A: bcs.u8(), B: bcs.string(), C: null, }) enum.serialize({ A: 1 }).toBytes() // Uint8Array [ 0, 1 ] enum.serialize({ B: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ] enum.serialize({ C: true }).toBytes() // Uint8Array [ 2 ] |
map() | { <K, V> (keyType, valueType): BcsType<Map<InferBcsType<K>, InferBcsType<V>>, Map<InferBcsInput<K>, InferBcsInput<V>>, `Map<${K["name"]}, ${V["name"]}>`>; <K, V, InputK, InputV> (keyType, valueType): BcsType<Map<K, V>, Map<InputK, InputV>, `Map<${string}, ${string}>`>; } | Creates a BcsType representing a map of a given key and value type Param The BcsType of the key Param The BcsType of the value Example const map = bcs.map(bcs.u8(), bcs.string()) map.serialize(new Map([[2, 'a']])).toBytes() // Uint8Array [ 1, 2, 1, 97 ] |
lazy() | (cb) => T | Creates a BcsType that wraps another BcsType which is lazily evaluated. This is useful for creating recursive types. |
U8 | BcsType<number, number, "u8"> | - |
U16 | BcsType<number, number, "u16"> | - |
U32 | BcsType<number, number, "u32"> | - |
U64 | BcsType<string, string | number | bigint, "u64"> | - |
U128 | BcsType<string, string | number | bigint, "u128"> | - |
U256 | BcsType<string, string | number | bigint, "u256"> | - |
ULEB128 | BcsType<number, number, "uleb128"> | - |
Bool | BcsType<boolean, boolean, "bool"> | - |
String | BcsType<string, string, string> | - |
Address | BcsType<string, string | Uint8Array, "bytes[32]"> | - |
AppId | BcsEnum<{ Iota: null; }, "AppId"> | - |
Argument | BcsEnum<{ GasCoin: null; Input: BcsType<number, number, "u16">; Result: BcsType<number, number, "u16">; NestedResult: BcsTuple<readonly [BcsType<number, number, "u16">, BcsType<number, number, "u16">], string>; }, "Argument"> | - |
CallArg | BcsEnum<{ Pure: BcsStruct<{ bytes: BcsType<string, string | Uint8Array, string>; }, string>; Object: BcsEnum<{ ImmOrOwnedObject: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; version: BcsType<string, string | number | bigint, "u64">; digest: BcsType<string, string, "ObjectDigest">; }, string>; SharedObject: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; initialSharedVersion: BcsType<string, string | number | bigint, "u64">; mutable: BcsType<boolean, boolean, "bool">; }, string>; Receiving: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; version: BcsType<string, string | number | bigint, "u64">; digest: BcsType<string, string, "ObjectDigest">; }, string>; }, "ObjectArg">; }, "CallArg"> | - |
CompressedSignature | BcsEnum<{ ED25519: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[64]">; Secp256k1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[64]">; Secp256r1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[64]">; }, "CompressedSignature"> | - |
GasData | BcsStruct<{ payment: BcsType<object[], Iterable<{ objectId: string | Uint8Array; version: string | number | bigint; digest: string; }, any, any> & object, string>; owner: BcsType<string, string | Uint8Array, "bytes[32]">; price: BcsType<string, string | number | bigint, "u64">; budget: BcsType<string, string | number | bigint, "u64">; }, string> | - |
Intent | BcsStruct<{ scope: BcsEnum<{ TransactionData: null; TransactionEffects: null; CheckpointSummary: null; PersonalMessage: null; }, "IntentScope">; version: BcsEnum<{ V0: null; }, "IntentVersion">; appId: BcsEnum<{ Iota: null; }, "AppId">; }, string> | - |
IntentMessage() | <T>(T) => BcsStruct<{ intent: BcsStruct<{ scope: BcsEnum<{ TransactionData: null; TransactionEffects: null; CheckpointSummary: null; PersonalMessage: null; }, "IntentScope">; version: BcsEnum<{ V0: null; }, "IntentVersion">; appId: BcsEnum<{ Iota: null; }, "AppId">; }, string>; value: T; }, string> | - |
IntentScope | BcsEnum<{ TransactionData: null; TransactionEffects: null; CheckpointSummary: null; PersonalMessage: null; }, "IntentScope"> | - |
IntentVersion | BcsEnum<{ V0: null; }, "IntentVersion"> | - |
MultiSig | BcsStruct<{ sigs: BcsType<EnumOutputShapeWithKeys<{ ED25519: Uint8Array; Secp256k1: Uint8Array; Secp256r1: Uint8Array; }, "ED25519" | "Secp256k1" | "Secp256r1">[], Iterable<EnumInputShape<{ ED25519: Iterable<number, any, any>; Secp256k1: Iterable<number, any, any>; Secp256r1: Iterable<number, any, any>; }>, any, any> & object, string>; bitmap: BcsType<number, number, "u16">; multisig_pk: BcsStruct<{ pk_map: BcsType<object[], Iterable<{ pubKey: EnumInputShape<{ ED25519: ...; Secp256k1: ...; Secp256r1: ...; }>; weight: number; }, any, any> & object, string>; threshold: BcsType<number, number, "u16">; }, string>; }, string> | - |
MultiSigPkMap | BcsStruct<{ pubKey: BcsEnum<{ ED25519: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[32]">; Secp256k1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[33]">; Secp256r1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[33]">; }, "PublicKey">; weight: BcsType<number, number, "u8">; }, string> | - |
MultiSigPublicKey | BcsStruct<{ pk_map: BcsType<object[], Iterable<{ pubKey: EnumInputShape<{ ED25519: Iterable<number, any, any>; Secp256k1: Iterable<number, any, any>; Secp256r1: Iterable<number, any, any>; }>; weight: number; }, any, any> & object, string>; threshold: BcsType<number, number, "u16">; }, string> | - |
ObjectArg | BcsEnum<{ ImmOrOwnedObject: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; version: BcsType<string, string | number | bigint, "u64">; digest: BcsType<string, string, "ObjectDigest">; }, string>; SharedObject: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; initialSharedVersion: BcsType<string, string | number | bigint, "u64">; mutable: BcsType<boolean, boolean, "bool">; }, string>; Receiving: BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; version: BcsType<string, string | number | bigint, "u64">; digest: BcsType<string, string, "ObjectDigest">; }, string>; }, "ObjectArg"> | - |
ObjectDigest | BcsType<string, string, "ObjectDigest"> | - |
Owner | BcsEnum<{ AddressOwner: BcsType<string, string | Uint8Array, "bytes[32]">; ObjectOwner: BcsType<string, string | Uint8Array, "bytes[32]">; Shared: BcsStruct<{ initialSharedVersion: BcsType<string, string | number | bigint, "u64">; }, string>; Immutable: null; }, "Owner"> | - |
ProgrammableMoveCall | BcsStruct<{ package: BcsType<string, string | Uint8Array, "bytes[32]">; module: BcsType<string, string, string>; function: BcsType<string, string, string>; typeArguments: BcsType<string[], Iterable<string | TypeTag, any, any> & object, string>; arguments: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: boolean | object | null; Input: number; Result: number; NestedResult: readonly [number, number]; }>, any, any> & object, string>; }, string> | - |
ProgrammableTransaction | BcsStruct<{ inputs: BcsType<EnumOutputShapeWithKeys<{ Pure: { bytes: string; }; Object: EnumOutputShapeWithKeys<{ ImmOrOwnedObject: { objectId: string; version: string; digest: string; }; SharedObject: { objectId: string; initialSharedVersion: string; mutable: boolean; }; Receiving: { objectId: string; version: string; digest: string; }; }, "ImmOrOwnedObject" | "SharedObject" | "Receiving">; }, "Pure" | "Object">[], Iterable<EnumInputShape<{ Pure: { bytes: string | Uint8Array; }; Object: EnumInputShape<{ ImmOrOwnedObject: { objectId: ...; version: ...; digest: ...; }; SharedObject: { objectId: ...; initialSharedVersion: ...; mutable: ...; }; Receiving: { objectId: ...; version: ...; digest: ...; }; }>; }>, any, any> & object, string>; commands: BcsType<EnumOutputShapeWithKeys<{ MoveCall: { package: string; module: string; function: string; typeArguments: string[]; arguments: EnumOutputShapeWithKeys<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }, ... | ... | ... | ...>[]; }; TransferObjects: { objects: EnumOutputShapeWithKeys<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }, ... | ... | ... | ...>[]; address: EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [..., ...]; }, "GasCoin" | "Input" | "Result" | "NestedResult">; }; SplitCoins: { coin: EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [..., ...]; }, "GasCoin" | "Input" | "Result" | "NestedResult">; amounts: EnumOutputShapeWithKeys<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }, ... | ... | ... | ...>[]; }; MergeCoins: { destination: EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [..., ...]; }, "GasCoin" | "Input" | "Result" | "NestedResult">; sources: EnumOutputShapeWithKeys<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }, ... | ... | ... | ...>[]; }; Publish: { modules: string[]; dependencies: string[]; }; MakeMoveVec: { type: string | null; elements: EnumOutputShapeWithKeys<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }, ... | ... | ... | ...>[]; }; Upgrade: { modules: string[]; dependencies: string[]; package: string; ticket: EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [..., ...]; }, "GasCoin" | "Input" | "Result" | "NestedResult">; }; }, | "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade">[], Iterable<EnumInputShape<{ MoveCall: { package: string | Uint8Array; module: string; function: string; typeArguments: Iterable<..., ..., ...> & object; arguments: Iterable<..., ..., ...> & object; }; TransferObjects: { objects: Iterable<..., ..., ...> & object; address: EnumInputShape<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }>; }; SplitCoins: { coin: EnumInputShape<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }>; amounts: Iterable<..., ..., ...> & object; }; MergeCoins: { destination: EnumInputShape<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }>; sources: Iterable<..., ..., ...> & object; }; Publish: { modules: Iterable<..., ..., ...> & object; dependencies: Iterable<..., ..., ...> & object; }; MakeMoveVec: { type: string | null; elements: Iterable<..., ..., ...> & object; }; Upgrade: { modules: Iterable<..., ..., ...> & object; dependencies: Iterable<..., ..., ...> & object; package: string | Uint8Array; ticket: EnumInputShape<{ GasCoin: ...; Input: ...; Result: ...; NestedResult: ...; }>; }; }>, any, any> & object, string>; }, string> | - |
PublicKey | BcsEnum<{ ED25519: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[32]">; Secp256k1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[33]">; Secp256r1: BcsType<Uint8Array, Iterable<number, any, any>, "bytes[33]">; }, "PublicKey"> | - |
SenderSignedData | BcsType<object[], Iterable<{ intentMessage: { intent: { scope: EnumInputShape<{ TransactionData: boolean | object | null; TransactionEffects: boolean | object | null; CheckpointSummary: boolean | object | null; PersonalMessage: boolean | object | null; }>; version: { V0: boolean | object | null; }; appId: { Iota: boolean | object | null; }; }; value: { V1: { kind: EnumInputShape<{ ProgrammableTransaction: { inputs: ...; commands: ...; }; ChangeEpoch: ... | ... | ... | ...; Genesis: ... | ... | ... | ...; ConsensusCommitPrologue: ... | ... | ... | ...; }>; sender: string | Uint8Array; gasData: { payment: Iterable<..., ..., ...> & object; owner: string | Uint8Array; price: string | number | bigint; budget: string | number | bigint; }; expiration: EnumInputShape<{ None: ... | ... | ... | ...; Epoch: ... | ...; }>; }; }; }; txSignatures: Iterable<string | Uint8Array, any, any> & object; }, any, any> & object, "SenderSignedData"> | - |
SenderSignedTransaction | BcsStruct<{ intentMessage: BcsStruct<{ intent: BcsStruct<{ scope: BcsEnum<{ TransactionData: null; TransactionEffects: null; CheckpointSummary: null; PersonalMessage: null; }, "IntentScope">; version: BcsEnum<{ V0: null; }, "IntentVersion">; appId: BcsEnum<{ Iota: null; }, "AppId">; }, string>; value: BcsEnum<{ V1: BcsStruct<{ kind: BcsEnum<{ ProgrammableTransaction: ...; ChangeEpoch: ...; Genesis: ...; ConsensusCommitPrologue: ...; }, "TransactionKind">; sender: BcsType<string, ... | ..., "bytes[32]">; gasData: BcsStruct<{ payment: ...; owner: ...; price: ...; budget: ...; }, string>; expiration: BcsEnum<{ None: ...; Epoch: ...; }, "TransactionExpiration">; }, string>; }, "TransactionData">; }, string>; txSignatures: BcsType<string[], Iterable<string | Uint8Array, any, any> & object, string>; }, string> | - |
SharedObjectRef | BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; initialSharedVersion: BcsType<string, string | number | bigint, "u64">; mutable: BcsType<boolean, boolean, "bool">; }, string> | - |
StructTag | BcsStruct<{ address: BcsType<string, string | Uint8Array, "bytes[32]">; module: BcsType<string, string, string>; name: BcsType<string, string, string>; typeParams: BcsType<TypeTag[], Iterable<TypeTag, any, any> & object, string>; }, string> | - |
IotaObjectRef | BcsStruct<{ objectId: BcsType<string, string | Uint8Array, "bytes[32]">; version: BcsType<string, string | number | bigint, "u64">; digest: BcsType<string, string, "ObjectDigest">; }, string> | - |
Command | BcsEnum<{ MoveCall: BcsStruct<{ package: BcsType<string, string | Uint8Array, "bytes[32]">; module: BcsType<string, string, string>; function: BcsType<string, string, string>; typeArguments: BcsType<string[], Iterable<string | TypeTag, any, any> & object, string>; arguments: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: ... | ... | ... | ...; Input: number; Result: number; NestedResult: readonly [..., ...]; }>, any, any> & object, string>; }, string>; TransferObjects: BcsStruct<{ objects: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: ... | ... | ... | ...; Input: number; Result: number; NestedResult: readonly [..., ...]; }>, any, any> & object, string>; address: BcsEnum<{ GasCoin: null; Input: BcsType<number, number, "u16">; Result: BcsType<number, number, "u16">; NestedResult: BcsTuple<readonly [BcsType<number, number, "u16">, BcsType<number, number, "u16">], string>; }, "Argument">; }, string>; SplitCoins: BcsStruct<{ coin: BcsEnum<{ GasCoin: null; Input: BcsType<number, number, "u16">; Result: BcsType<number, number, "u16">; NestedResult: BcsTuple<readonly [BcsType<number, number, "u16">, BcsType<number, number, "u16">], string>; }, "Argument">; amounts: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: ... | ... | ... | ...; Input: number; Result: number; NestedResult: readonly [..., ...]; }>, any, any> & object, string>; }, string>; MergeCoins: BcsStruct<{ destination: BcsEnum<{ GasCoin: null; Input: BcsType<number, number, "u16">; Result: BcsType<number, number, "u16">; NestedResult: BcsTuple<readonly [BcsType<number, number, "u16">, BcsType<number, number, "u16">], string>; }, "Argument">; sources: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: ... | ... | ... | ...; Input: number; Result: number; NestedResult: readonly [..., ...]; }>, any, any> & object, string>; }, string>; Publish: BcsStruct<{ modules: BcsType<string[], Iterable<string | Uint8Array, any, any> & object, string>; dependencies: BcsType<string[], Iterable<string | Uint8Array, any, any> & object, string>; }, string>; MakeMoveVec: BcsStruct<{ type: BcsType<string | null, string | null, string>; elements: BcsType<EnumOutputShapeWithKeys<{ GasCoin: true; Input: number; Result: number; NestedResult: [number, number]; }, "GasCoin" | "Input" | "Result" | "NestedResult">[], Iterable<EnumInputShape<{ GasCoin: ... | ... | ... | ...; Input: number; Result: number; NestedResult: readonly [..., ...]; }>, any, any> & object, string>; }, string>; Upgrade: BcsStruct<{ modules: BcsType<string[], Iterable<string | Uint8Array, any, any> & object, string>; dependencies: BcsType<string[], Iterable<string | Uint8Array, any, any> & object, string>; package: BcsType<string, string | Uint8Array, "bytes[32]">; ticket: BcsEnum<{ GasCoin: null; Input: BcsType<number, number, "u16">; Result: BcsType<number, number, "u16">; NestedResult: BcsTuple<readonly [BcsType<number, number, "u16">, BcsType<number, number, "u16">], string>; }, "Argument">; }, string>; }, "Command"> | - |
TransactionData | BcsEnum<{ V1: BcsStruct<{ kind: BcsEnum<{ ProgrammableTransaction: BcsStruct<{ inputs: BcsType<...[], ... & ..., string>; commands: BcsType<...[], ... & ..., string>; }, string>; ChangeEpoch: null; Genesis: null; ConsensusCommitPrologue: null; }, "TransactionKind">; sender: BcsType<string, string | Uint8Array, "bytes[32]">; gasData: BcsStruct<{ payment: BcsType<object[], Iterable<{ objectId: ...; version: ...; digest: ...; }, any, any> & object, string>; owner: BcsType<string, string | Uint8Array, "bytes[32]">; price: BcsType<string, string | number | bigint, "u64">; budget: BcsType<string, string | number | bigint, "u64">; }, string>; expiration: BcsEnum<{ None: null; Epoch: BcsType<number, string | number, "u64">; }, "TransactionExpiration">; }, string>; }, "TransactionData"> | - |
TransactionDataV1 | BcsStruct<{ kind: BcsEnum<{ ProgrammableTransaction: BcsStruct<{ inputs: BcsType<EnumOutputShapeWithKeys<{ Pure: ...; Object: ...; }, ... | ...>[], Iterable<EnumInputShape<...>, any, any> & object, string>; commands: BcsType<EnumOutputShapeWithKeys<{ MoveCall: ...; TransferObjects: ...; SplitCoins: ...; MergeCoins: ...; Publish: ...; MakeMoveVec: ...; Upgrade: ...; }, ... | ... | ... | ... | ... | ... | ...>[], Iterable<EnumInputShape<...>, any, any> & object, string>; }, string>; ChangeEpoch: null; Genesis: null; ConsensusCommitPrologue: null; }, "TransactionKind">; sender: BcsType<string, string | Uint8Array, "bytes[32]">; gasData: BcsStruct<{ payment: BcsType<object[], Iterable<{ objectId: string | Uint8Array; version: string | number | bigint; digest: string; }, any, any> & object, string>; owner: BcsType<string, string | Uint8Array, "bytes[32]">; price: BcsType<string, string | number | bigint, "u64">; budget: BcsType<string, string | number | bigint, "u64">; }, string>; expiration: BcsEnum<{ None: null; Epoch: BcsType<number, string | number, "u64">; }, "TransactionExpiration">; }, string> | - |
TransactionExpiration | BcsEnum<{ None: null; Epoch: BcsType<number, string | number, "u64">; }, "TransactionExpiration"> | - |
TransactionKind | BcsEnum<{ ProgrammableTransaction: BcsStruct<{ inputs: BcsType<EnumOutputShapeWithKeys<{ Pure: { bytes: string; }; Object: EnumOutputShapeWithKeys<{ ImmOrOwnedObject: ...; SharedObject: ...; Receiving: ...; }, ... | ... | ...>; }, "Pure" | "Object">[], Iterable<EnumInputShape<{ Pure: { bytes: ...; }; Object: EnumInputShape<...>; }>, any, any> & object, string>; commands: BcsType<EnumOutputShapeWithKeys<{ MoveCall: { package: string; module: string; function: string; typeArguments: ...[]; arguments: ...[]; }; TransferObjects: { objects: ...[]; address: EnumOutputShapeWithKeys<..., ...>; }; SplitCoins: { coin: EnumOutputShapeWithKeys<..., ...>; amounts: ...[]; }; MergeCoins: { destination: EnumOutputShapeWithKeys<..., ...>; sources: ...[]; }; Publish: { modules: ...[]; dependencies: ...[]; }; MakeMoveVec: { type: ... | ...; elements: ...[]; }; Upgrade: { modules: ...[]; dependencies: ...[]; package: string; ticket: EnumOutputShapeWithKeys<..., ...>; }; }, | "MoveCall" | "TransferObjects" | "SplitCoins" | "MergeCoins" | "Publish" | "MakeMoveVec" | "Upgrade">[], Iterable<EnumInputShape<{ MoveCall: { package: ...; module: ...; function: ...; typeArguments: ...; arguments: ...; }; TransferObjects: { objects: ...; address: ...; }; SplitCoins: { coin: ...; amounts: ...; }; MergeCoins: { destination: ...; sources: ...; }; Publish: { modules: ...; dependencies: ...; }; MakeMoveVec: { type: ...; elements: ...; }; Upgrade: { modules: ...; dependencies: ...; package: ...; ticket: ...; }; }>, any, any> & object, string>; }, string>; ChangeEpoch: null; Genesis: null; ConsensusCommitPrologue: null; }, "TransactionKind"> | - |
TypeTag | BcsType<string, string | TypeTag, string> | - |
TransactionEffects | BcsEnum<{ V1: BcsStruct<{ status: BcsEnum<{ Success: null; Failed: BcsStruct<{ error: BcsEnum<{ InsufficientGas: ...; InvalidGasObject: ...; InvariantViolation: ...; FeatureNotYetSupported: ...; MoveObjectTooBig: ...; MovePackageTooBig: ...; CircularObjectOwnership: ...; InsufficientCoinBalance: ...; CoinBalanceOverflow: ...; PublishErrorNonZeroAddress: ...; IotaMoveVerificationError: ...; MovePrimitiveRuntimeError: ...; MoveAbort: ...; VMVerificationOrDeserializationError: ...; VMInvariantViolation: ...; FunctionNotFound: ...; ArityMismatch: ...; TypeArityMismatch: ...; NonEntryFunctionInvoked: ...; CommandArgumentError: ...; TypeArgumentError: ...; UnusedValueWithoutDrop: ...; InvalidPublicFunctionReturnType: ...; InvalidTransferObject: ...; EffectsTooLarge: ...; PublishUpgradeMissingDependency: ...; PublishUpgradeDependencyDowngrade: ...; PackageUpgradeError: ...; WrittenObjectsTooLarge: ...; CertificateDenied: ...; IotaMoveVerificationTimedout: ...; SharedObjectOperationNotAllowed: ...; InputObjectDeleted: ...; ExecutionCancelledDueToSharedObjectCongestion: ...; AddressDeniedForCoin: ...; CoinTypeGlobalPause: ...; ExecutionCancelledDueToRandomnessUnavailable: ...; }, "ExecutionFailureStatus">; command: BcsType<... | ..., ... | ... | ... | ... | ..., "Option<u64>">; }, string>; }, "ExecutionStatus">; executedEpoch: BcsType<string, string | number | bigint, "u64">; gasUsed: BcsStruct<{ computationCost: BcsType<string, string | number | bigint, "u64">; computationCostBurned: BcsType<string, string | number | bigint, "u64">; storageCost: BcsType<string, string | number | bigint, "u64">; storageRebate: BcsType<string, string | number | bigint, "u64">; nonRefundableStorageFee: BcsType<string, string | number | bigint, "u64">; }, string>; transactionDigest: BcsType<string, string, "ObjectDigest">; gasObjectIndex: BcsType<number | null, number | null | undefined, "Option<u32>">; eventsDigest: BcsType<string | null, string | null | undefined, "Option<ObjectDigest>">; dependencies: BcsType<string[], Iterable<string, any, any> & object, string>; lamportVersion: BcsType<string, string | number | bigint, "u64">; changedObjects: BcsType<[string, { inputState: EnumOutputShapeWithKeys<{ NotExist: ...; Exist: ...; }, ... | ...>; outputState: EnumOutputShapeWithKeys<{ NotExist: ...; ObjectWrite: ...; PackageWrite: ...; }, ... | ... | ...>; idOperation: EnumOutputShapeWithKeys<{ None: ...; Created: ...; Deleted: ...; }, ... | ... | ...>; }][], Iterable<readonly [string | Uint8Array, { inputState: EnumInputShape<...>; outputState: EnumInputShape<...>; idOperation: EnumInputShape<...>; }], any, any> & object, string>; unchangedSharedObjects: BcsType<[string, EnumOutputShapeWithKeys<{ ReadOnlyRoot: [..., ...]; MutateDeleted: string; ReadDeleted: string; Cancelled: string; PerEpochConfig: true; }, | "ReadOnlyRoot" | "MutateDeleted" | "ReadDeleted" | "Cancelled" | "PerEpochConfig">][], Iterable<readonly [string | Uint8Array, EnumInputShape<{ ReadOnlyRoot: ...; MutateDeleted: ...; ReadDeleted: ...; Cancelled: ...; PerEpochConfig: ...; }>], any, any> & object, string>; auxDataDigest: BcsType<string | null, string | null | undefined, "Option<ObjectDigest>">; }, string>; }, "TransactionEffects"> | - |
PasskeyAuthenticator | BcsStruct<{ authenticatorData: BcsType<Uint8Array, Iterable<number, any, any>, "vector<u8>">; clientDataJson: BcsType<string, string, string>; userSignature: BcsType<Uint8Array, Iterable<number, any, any>, "vector<u8>">; }, string> | - |
MoveAuthenticator | BcsEnum<{ V1: BcsStruct<{ callArgs: BcsType<EnumOutputShapeWithKeys<{ Pure: { bytes: string; }; Object: EnumOutputShapeWithKeys<{ ImmOrOwnedObject: ...; SharedObject: ...; Receiving: ...; }, ... | ... | ...>; }, "Pure" | "Object">[], Iterable<EnumInputShape<{ Pure: { bytes: ...; }; Object: EnumInputShape<...>; }>, any, any> & object, string>; typeArgs: BcsType<string[], Iterable<string | TypeTag, any, any> & object, string>; objectToAuthenticate: BcsEnum<{ Pure: BcsStruct<{ bytes: BcsType<string, ... | ..., string>; }, string>; Object: BcsEnum<{ ImmOrOwnedObject: BcsStruct<{ objectId: ...; version: ...; digest: ...; }, string>; SharedObject: BcsStruct<{ objectId: ...; initialSharedVersion: ...; mutable: ...; }, string>; Receiving: BcsStruct<{ objectId: ...; version: ...; digest: ...; }, string>; }, "ObjectArg">; }, "CallArg">; }, string>; }, "MoveAuthenticator"> | Experimental MoveAuthenticator allows authenticating transactions via a Move function call as part of Account Abstraction. The enum wrapper matches the Rust MoveAuthenticatorInner enum, which adds a one-byte variant prefix to the BCS representation. |