@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
74 lines • 2.75 kB
TypeScript
import { PublicKey } from '@solana/web3.js';
/**
* MultisigIsm instruction types matching Rust enum
* See: rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs
*/
export declare enum SealevelMultisigIsmInstructionType {
INIT = 0,
SET_VALIDATORS_AND_THRESHOLD = 1,
GET_OWNER = 2,
TRANSFER_OWNERSHIP = 3
}
export declare const SealevelMultisigIsmInstructionName: Record<SealevelMultisigIsmInstructionType, string>;
/**
* SetValidatorsAndThreshold instruction data
* Matches: rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs
*
* Note: Instruction format AFTER 8-byte program discriminator:
* [enum_discriminator: u8, domain: u32, validators: Vec<[u8; 20]>, threshold: u8]
*/
export declare class SealevelMultisigIsmSetValidatorsInstruction {
domain: number;
validators: Uint8Array[];
threshold: number;
get validatorAddresses(): string[];
constructor(fields: any);
}
export declare const SealevelMultisigIsmSetValidatorsInstructionSchema: Map<any, any>;
/**
* TransferOwnership instruction data
*/
export declare class SealevelMultisigIsmTransferOwnershipInstruction {
newOwner: Uint8Array | null;
newOwnerPubkey?: PublicKey;
constructor(fields: any);
}
export declare const SealevelMultisigIsmTransferOwnershipInstructionSchema: Map<any, any>;
/**
* On-chain account data structures
* See: rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs
*/
/**
* SealevelValidatorsAndThreshold - Configuration of a validator set and threshold
* Matches: rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs
*/
export declare class SealevelValidatorsAndThreshold {
validators: Uint8Array[];
threshold: number;
get validatorAddresses(): string[];
constructor(fields: any);
}
export declare const SealevelValidatorsAndThresholdSchema: Map<any, any>;
/**
* SealevelDomainData - The data of a "domain data" PDA account
* One of these exists for each domain that's been enrolled
* Matches: rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs
*/
export declare class SealevelDomainData {
bumpSeed: number;
validatorsAndThreshold: SealevelValidatorsAndThreshold;
constructor(fields: any);
}
export declare const SealevelDomainDataSchema: Map<any, any>;
/**
* SealevelAccessControlData - The data of the access control PDA account
* Matches: rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs
*/
export declare class SealevelAccessControlData {
bumpSeed: number;
owner: Uint8Array | null;
ownerPubkey?: PublicKey;
constructor(fields: any);
}
export declare const SealevelAccessControlDataSchema: Map<any, any>;
//# sourceMappingURL=serialization.d.ts.map