BCS_SPEC top-level property

BcsConfigTypes BCS_SPEC
final

Implementation

final BCS_SPEC = BcsConfigTypes(
  enums: {
    'Option<T>': {
      "None": null,
      "Some": 'T',
    },
    "ObjectArg": {
      "ImmOrOwned": 'SuiObjectRef',
      "Shared": 'SharedObjectRef',
      "Receiving": 'SuiObjectRef'
    },
    "CallArg": {
      "Pure": [BCS.VECTOR, BCS.U8],
      "Object": 'ObjectArg',
      "ObjVec": [BCS.VECTOR, 'ObjectArg'],
    },
    "TypeTag": {
      "bool": null,
      "u8": null,
      "u64": null,
      "u128": null,
      "address": null,
      "signer": null,
      "vector": 'TypeTag',
      "struct": 'StructTag',
      "u16": null,
      "u32": null,
      "u256": null,
    },
    "TransactionKind": {
      // can not be called from sui.js; dummy placement
      // to set the enum counter right for ProgrammableTransact
      "ProgrammableTransaction": 'ProgrammableTransaction',
      "ChangeEpoch": null,
      "Genesis": null,
      "ConsensusCommitPrologue": null,
    },
    "TransactionExpiration": {
      "None": null,
      "Epoch": BCS.U64,
    },
    "TransactionData": {
      "V1": 'TransactionDataV1',
    },
    "CompressedSignature": {
	    "Ed25519": [BCS.FixedArray, BCS.U8, 64],
	    "Secp256k1": [BCS.FixedArray, BCS.U8, 64],
	    "Secp256r1": [BCS.FixedArray, BCS.U8, 64],
	    "ZkLogin": [BCS.VECTOR, BCS.U8],
    },
    "PublicKey": {
      "Ed25519": [BCS.FixedArray, BCS.U8, 32],
      "Secp256k1": [BCS.FixedArray, BCS.U8, 33],
      "Secp256r1": [BCS.FixedArray, BCS.U8, 33],
      "ZkLogin": [BCS.VECTOR, BCS.U8],
    },
  },
  structs: {
    "SuiObjectRef": {
      "objectId": BCS.ADDRESS,
      "version": BCS.U64,
      "digest": 'ObjectDigest',
    },
    "SharedObjectRef": {
      "objectId": BCS.ADDRESS,
      "initialSharedVersion": BCS.U64,
      "mutable": BCS.BOOL,
    },
    "StructTag": {
      "address": BCS.ADDRESS,
      "module": BCS.STRING,
      "name": BCS.STRING,
      "typeParams": [BCS.VECTOR, 'TypeTag'],
    },
    "GasData": {
      "payment": [BCS.VECTOR, 'SuiObjectRef'],
      "owner": BCS.ADDRESS,
      "price": BCS.U64,
      "budget": BCS.U64,
    },
    // Signed transaction data needed to generate transaction digest.
    "SenderSignedData": {
      "data": 'TransactionData',
      "txSignatures": [BCS.VECTOR, [BCS.VECTOR, BCS.U8]],
    },
    "TransactionDataV1": {
      "kind": 'TransactionKind',
      "sender": BCS.ADDRESS,
      "gasData": 'GasData',
      "expiration": 'TransactionExpiration',
    },
    "MultiSigPkMap": {
      "pubKey": "PublicKey",
      "weight": BCS.U8,
    },
    "MultiSigPublicKey": {
	    "pk_map": [BCS.VECTOR, "MultiSigPkMap"],
	    "threshold": BCS.U16,
    },
    "MultiSig": {
      "sigs": [BCS.VECTOR, "CompressedSignature"],
      "bitmap": BCS.U16,
      "multisig_pk": "MultiSigPublicKey",
    }
  },
  aliases: {
    "ObjectDigest": BCS.BASE58,
  }
);