BCS
The @mysten/sui.js/bcs
package extends @mysten/bcs
with Sui specific scheme definitions.
To learn more about using BCS see the BCS documentation.
the bcs
export of @mysten/sui.js/bcs
contains all the same exports as bcs
from @mysten/bcs
plus the following pre-defined schemes:
U8
U16
U32
U64
U128
U256
ULEB128
Bool
String
Address
Argument
CallArg
CompressedSignature
GasData
MultiSig
MultiSigPkMap
MultiSigPublicKey
ObjectArg
ObjectDigest
ProgrammableMoveCall
ProgrammableTransaction
PublicKey
SenderSignedData
SharedObjectRef
StructTag
SuiObjectRef
Transaction
TransactionData
TransactionDataV1
TransactionExpiration
TransactionKind
TypeTag
All the upper-cased values are BcsType
instances, and can be used directly to parse and serialize
data.
import { bcs } from '@mysten/sui.js/bcs';
bcs.U8.serialize(1);
bcs.Address.serialize('0x1');
bcs.TypeTag.serialize({
vector: {
u8: true,
},
});