import { bcs } from '@mysten/sui/bcs'

// OAppInfoV1 struct BCS definition
// Corresponds to the Move struct defined in oapp_info_v1.move
export const OAppInfoV1Bcs = bcs.struct('OAppInfoV1', {
    // Object ID address of the OApp instance
    oapp_object: bcs.Address,
    // Used to populate the MoveCalls to fetch the next nonce that can be executed by an executor
    next_nonce_info: bcs.vector(bcs.u8()),
    // Used to populate the MoveCalls to execute lz_receive by executor
    lz_receive_info: bcs.vector(bcs.u8()),
    // Additional configuration data for custom OApp functionality
    extra_info: bcs.vector(bcs.u8()),
})
