@layerzerolabs/lz-aptos-sdk-v1
Version:
Aptos SDK for LayerZero
4,259 lines • 187 kB
text/typescript
import * as aptos from 'aptos';
import { HexString } from 'aptos';
import { Environment, Stage } from '@layerzerolabs/lz-definitions';
import BN from 'bn.js';
import { types } from '@layerzerolabs/lz-movevm-sdk-v2';
/**
* Interface representing the channel type.
*/
interface ChannelType {
/**
* The outbound nonce.
*/
outbound_nonce: string;
/**
* The inbound nonce.
*/
inbound_nonce: string;
/**
* The payload hashes.
*/
payload_hashs: {
handle: string;
};
}
/**
* Class representing a channel.
*/
declare class Channel {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* Creates an instance of the Channel class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Gets outbound events.
*
* @param {bigint} start - The start index.
* @param {number} limit - The limit of events to retrieve.
* @returns {Promise<aptos.Types.Event[]>} A promise that resolves to an array of events.
*/
getOutboundEvents(start: bigint, limit: number): Promise<aptos.Types.Event[]>;
/**
* Gets inbound events.
*
* @param {bigint} start - The start index.
* @param {number} limit - The limit of events to retrieve.
* @returns {Promise<aptos.Types.Event[]>} A promise that resolves to an array of events.
*/
getInboundEvents(start: bigint, limit: number): Promise<aptos.Types.Event[]>;
/**
* Gets receive events.
*
* @param {bigint} start - The start index.
* @param {number} limit - The limit of events to retrieve.
* @returns {Promise<aptos.Types.Event[]>} A promise that resolves to an array of events.
*/
getReceiveEvents(start: bigint, limit: number): Promise<aptos.Types.Event[]>;
/**
* Gets the channel state.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<ChannelType>} A promise that resolves to the channel state.
*/
getChannelState(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, query?: {
ledgerVersion?: bigint | number;
}): Promise<ChannelType>;
/**
* Gets the outbound nonce.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the outbound nonce.
*/
getOutboundNonce(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, query?: {
ledgerVersion?: bigint | number;
}): Promise<aptos.BCS.Uint64>;
/**
* Gets the inbound nonce.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the inbound nonce.
*/
getInboundNonce(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, query?: {
ledgerVersion?: bigint | number;
}): Promise<aptos.BCS.Uint64>;
/**
* Gets the payload hash.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {aptos.BCS.Uint64} nonce - The nonce.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<string>} A promise that resolves to the payload hash.
*/
getPayloadHash(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, nonce: aptos.BCS.Uint64, query?: {
ledgerVersion?: bigint | number;
}): Promise<string>;
/**
* Checks if the proof is delivered.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {aptos.BCS.Uint64} nonce - The nonce.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<boolean>} A promise that resolves to true if the proof is delivered, false otherwise.
*/
isProofDelivered(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, nonce: aptos.BCS.Uint64, query?: {
ledgerVersion?: bigint | number;
}): Promise<boolean>;
}
/**
* Consistent with aptos_std::type_info::TypeInfo
*/
interface TypeInfo {
/**
* The account address.
*/
account_address: string;
/**
* The module name.
*/
module_name: string;
/**
* The struct name.
*/
struct_name: string;
}
/**
* Extends {@link TypeInfo}
*/
interface TypeInfoEx extends TypeInfo {
/**
* A value in `account_address::module_name::struct_name` format.
*/
type: string;
}
/**
* Interface representing coin information.
*/
interface CoinInfo {
/**
* The name of the coin.
*/
name: string;
/**
* The symbol of the coin.
*/
symbol: string;
/**
* The number of decimals the coin uses.
*/
decimals: number;
/**
* The total supply of the coin.
*/
supply: bigint;
}
/**
* Extends {@link CoinInfo}
*/
interface CoinInfoEx extends CoinInfo {
/**
* The type of the coin.
*/
type: string;
}
/**
* Interface representing coin information resource.
*/
interface CoinInfoResource {
/**
* The type of the resource.
*/
type: string;
/**
* The data of the resource.
*/
data: {
/**
* The number of decimals the coin uses.
*/
decimals: number;
/**
* The name of the coin.
*/
name: string;
/**
* The supply of the coin.
*/
supply: {
vec: [{
integer: {
vec: [{
value: string;
}];
};
}];
};
/**
* The symbol of the coin.
*/
symbol: string;
};
}
/**
* Interface representing ULN configuration type.
*/
interface UlnConfigType {
/**
* The number of inbound confirmations.
*/
inbound_confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32;
/**
* The oracle address.
*/
oracle: string;
/**
* The number of outbound confirmations.
*/
outbound_confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32;
/**
* The relayer address.
*/
relayer: string;
}
/**
* Interface representing a packet.
*/
interface Packet {
/**
* The nonce of the packet.
*/
nonce: string | aptos.BCS.Uint64;
/**
* The source chain ID.
*/
src_chain_id: string | aptos.BCS.Uint16;
/**
* The source address.
*/
src_address: Buffer;
/**
* The destination chain ID.
*/
dst_chain_id: string | aptos.BCS.Uint16;
/**
* The destination address.
*/
dst_address: Buffer;
/**
* The payload of the packet.
*/
payload: Buffer;
}
/**
* Interface representing ULN signer fee.
*/
interface UlnSignerFee {
/**
* The base fee.
*/
base_fee: aptos.BCS.Uint64;
/**
* The fee per byte.
*/
fee_per_byte: aptos.BCS.Uint64;
}
/**
* Interface representing the ULN configuration.
*/
interface UlnConfig$1 {
/**
* The number of confirmations.
*/
confirmations: aptos.BCS.Uint64;
/**
* The optional DVN threshold.
*/
optionalDVNThreshold: aptos.BCS.Uint32;
/**
* The required DVNs.
*/
requiredDVNs: string[];
/**
* The optional DVNs.
*/
optionalDVNs: string[];
/**
* Whether to use the default for confirmations.
*/
useDefaultForConfirmations: boolean;
/**
* Whether to use the default for required DVNs.
*/
useDefaultForRequiredDVNs: boolean;
/**
* Whether to use the default for optional DVNs.
*/
useDefaultForOptionalDVNs: boolean;
}
/**
* Use to parse the ULN configuration response from the contract method,
* Everyone who needs to use the ULN configuration should use @see UlnConfig instead of this.
*/
interface UlnConfigResponse {
confirmations: bigint;
optional_dvn_threshold: number;
required_dvns: string[];
optional_dvns: string[];
use_default_for_confirmations: boolean;
use_default_for_required_dvns: boolean;
use_default_for_optional_dvns: boolean;
}
/**
* Interface representing the executor configuration.
*/
interface ExecutorConfig$1 {
/**
* The maximum message size.
*/
maxMessageSize: aptos.BCS.Uint32;
/**
* The executor address.
*/
executorAddress: string;
}
/**
* Use to parse the Executor configuration response from the contract method,
* Everyone who needs to use the Executor configuration should use @see ExecutorConfig instead of this.
*/
interface ExecutorConfigResponse {
max_message_size: number;
executor_address: string;
}
type index$3_CoinInfo = CoinInfo;
type index$3_CoinInfoEx = CoinInfoEx;
type index$3_CoinInfoResource = CoinInfoResource;
type index$3_ExecutorConfigResponse = ExecutorConfigResponse;
type index$3_Packet = Packet;
type index$3_TypeInfo = TypeInfo;
type index$3_TypeInfoEx = TypeInfoEx;
type index$3_UlnConfigResponse = UlnConfigResponse;
type index$3_UlnConfigType = UlnConfigType;
type index$3_UlnSignerFee = UlnSignerFee;
declare namespace index$3 {
export type { index$3_CoinInfo as CoinInfo, index$3_CoinInfoEx as CoinInfoEx, index$3_CoinInfoResource as CoinInfoResource, ExecutorConfig$1 as ExecutorConfig, index$3_ExecutorConfigResponse as ExecutorConfigResponse, index$3_Packet as Packet, index$3_TypeInfo as TypeInfo, index$3_TypeInfoEx as TypeInfoEx, UlnConfig$1 as UlnConfig, index$3_UlnConfigResponse as UlnConfigResponse, index$3_UlnConfigType as UlnConfigType, index$3_UlnSignerFee as UlnSignerFee };
}
/**
* Class representing an endpoint.
*/
declare class Endpoint {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* The module name with namespace.
*/
readonly moduleName: string;
/**
* The view module name.
*/
readonly viewModule: string;
/**
* The view module name for uln301.
*/
readonly viewUln301Module: string;
/**
* Creates an instance of the Endpoint class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Initializes the endpoint.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} localChainId - The local chain ID.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
initialize(signer: aptos.AptosAccount, localChainId: aptos.BCS.Uint16): Promise<aptos.Types.Transaction>;
/**
* Gets the local chain ID.
*
* @returns {Promise<aptos.BCS.Uint64 | undefined>} A promise that resolves to the local chain ID or undefined if not found.
*/
getLocalChainId(): Promise<aptos.BCS.Uint64 | undefined>;
/**
* Gets the UA type information.
*
* @param {aptos.MaybeHexString} uaAddress - The UA address.
* @returns {Promise<TypeInfoEx>} A promise that resolves to the type information.
*/
getUATypeInfo(uaAddress: aptos.MaybeHexString): Promise<TypeInfoEx>;
/**
* Gets the oracle fee.
*
* @param {aptos.MaybeHexString} oracleAddr - The oracle address.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the oracle fee.
*/
getOracleFee(oracleAddr: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Uint64>;
/**
* Gets the register events.
*
* @param {bigint} start - The start index.
* @param {number} limit - The limit of events to fetch.
* @returns {Promise<aptos.Types.Event[]>} A promise that resolves to an array of events.
*/
getRegisterEvents(start: bigint, limit: number): Promise<aptos.Types.Event[]>;
/**
* Quotes the fee.
*
* @param {aptos.MaybeHexString} uaAddress - The UA address.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {number} payloadSize - The payload size.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @param {aptos.BCS.Bytes} [msglibParams] - The msglib parameters.
* @returns {Promise<{ nativeFee: aptos.BCS.Uint64; zroFee: aptos.BCS.Uint64 }>} A promise that resolves to the quoted fee.
*/
quoteFee(uaAddress: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes, payloadSize: number, msglibParams?: aptos.BCS.Bytes, payInZro?: boolean, query?: {
ledgerVersion?: bigint | number;
}): Promise<{
nativeFee: aptos.BCS.Uint64;
zroFee: aptos.BCS.Uint64;
}>;
/**
* Checks if a message is verifiable.
*
* @param {string} packetHeaderBytes - The packet header bytes.
* @param {string} payloadHash - The payload hash.
* @returns {Promise<aptos.BCS.Uint8>} A promise that resolves to the verifiable state.
*/
verifiable(packetHeaderBytes: string, payloadHash: string): Promise<aptos.BCS.Uint8>;
/**
* Checks if a message is executable.
*
* @param {aptos.BCS.Uint32} srcEid - The source endpoint ID.
* @param {aptos.BCS.Bytes} sender - The sender.
* @param {aptos.BCS.Uint64} nonce - The nonce.
* @param {aptos.MaybeHexString} receiver - The receiver.
* @returns {Promise<aptos.BCS.Uint8>} A promise that resolves to the executable state.
*/
executable(srcEid: aptos.BCS.Uint32, sender: aptos.BCS.Bytes, nonce: aptos.BCS.Uint64, receiver: aptos.MaybeHexString): Promise<aptos.BCS.Uint8>;
/**
* Gets the send msglib.
*
* @param {aptos.MaybeHexString} uaAddress - The UA address.
* @param {aptos.BCS.Uint16} chainId - The chain ID.
* @returns {Promise<[aptos.BCS.Uint64, aptos.BCS.Uint8]>} A promise that resolves to the send msglib.
*/
getSendMsglib(uaAddress: aptos.MaybeHexString, chainId: aptos.BCS.Uint16): Promise<[aptos.BCS.Uint64, aptos.BCS.Uint8]>;
/**
* Gets the receive msglib.
*
* @param {aptos.MaybeHexString} uaAddress - The UA address.
* @param {aptos.BCS.Uint16} chainId - The chain ID.
* @returns {Promise<[aptos.BCS.Uint64, aptos.BCS.Uint8]>} A promise that resolves to the receive msglib.
*/
getReceiveMsglib(uaAddress: aptos.MaybeHexString, chainId: aptos.BCS.Uint16): Promise<[aptos.BCS.Uint64, aptos.BCS.Uint8]>;
/**
* Creates a payload for registering an executor.
*
* @param {string} executorType - The executor type.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
registerExecutorPayload(executorType: string): aptos.Types.EntryFunctionPayload;
/**
* Registers an executor.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} executorType - The executor type.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
registerExecutor(signer: aptos.AptosAccount, executorType: string): Promise<aptos.Types.Transaction>;
/**
* Gets the executor capability.
*
* @param {string} [version='1'] - The version.
* @returns {Promise<string | undefined>} A promise that resolves to the executor capability or undefined if not found.
*/
getExecutorCap(version?: string): Promise<string | undefined>;
}
/**
* Interface representing the fee configuration.
*/
interface Fee {
/**
* The airdrop amount cap.
*/
airdropAmtCap: aptos.BCS.Uint64;
/**
* The price ratio.
*/
priceRatio: aptos.BCS.Uint64;
/**
* The gas price.
*/
gasPrice: aptos.BCS.Uint64;
}
/**
* Class representing an Executor.
*/
declare class Executor {
private sdk;
readonly module: string;
readonly moduleName: string;
readonly type: string;
/**
* Creates an instance of the Executor class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Creates the payload for setting the default adapter parameters.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @returns {aptos.Types.EntryFunctionPayload} The payload for setting the default adapter parameters.
*/
setDefaultAdapterParamsPayload(dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the default adapter parameters.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setDefaultAdapterParams(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Gets the default adapter parameters for a given chain ID.
*
* @param {aptos.BCS.Uint16} chainId - The chain ID.
* @returns {Promise<aptos.BCS.Bytes>} A promise that resolves to the default adapter parameters.
* @throws {Error} If the LayerZero account is undefined.
*/
getDefaultAdapterParams(chainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
/**
* Checks if an address is registered.
*
* @param {aptos.MaybeHexString} address - The address to check.
* @returns {Promise<boolean>} A promise that resolves to true if the address is registered, false otherwise.
*/
isRegistered(address: aptos.MaybeHexString): Promise<boolean>;
/**
* Creates the payload for registering an executor.
*
* @returns {aptos.Types.EntryFunctionPayload} The payload for registering an executor.
*/
registerPayload(): aptos.Types.EntryFunctionPayload;
/**
* Registers an executor.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
register(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
/**
* Creates the payload for setting the fee.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {Fee} config - The fee configuration.
* @returns {aptos.Types.EntryFunctionPayload} The payload for setting the fee.
*/
setFeePayload(dstChainId: aptos.BCS.Uint16, config: Fee): aptos.Types.EntryFunctionPayload;
/**
* Sets the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {Fee} config - The fee configuration.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFee(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, config: Fee): Promise<aptos.Types.Transaction>;
/**
* Gets the fee configuration for a given executor and chain ID.
*
* @param {aptos.MaybeHexString} executor - The executor address.
* @param {aptos.BCS.Uint16} chainId - The chain ID.
* @param {object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<Fee>} A promise that resolves to the fee configuration.
* @throws {Error} If an error occurs while fetching the fee configuration.
*/
getFee(executor: aptos.MaybeHexString, chainId: aptos.BCS.Uint16, query?: {
ledgerVersion?: bigint | number;
}): Promise<Fee>;
/**
* Creates the payload for airdropping tokens.
*
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} guid - The GUID.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to airdrop.
* @returns {aptos.Types.EntryFunctionPayload} The payload for airdropping tokens.
*/
airdropPayload(srcChainId: aptos.BCS.Uint16, guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Airdrops tokens.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} guid - The GUID.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to airdrop.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
airdrop(signer: aptos.AptosAccount, srcChainId: aptos.BCS.Uint16, guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Checks if a GUID has been airdropped to a receiver.
*
* @param {aptos.BCS.Bytes} guid - The GUID.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @returns {Promise<boolean>} A promise that resolves to true if the GUID has been airdropped, false otherwise.
* @throws {Error} If the LayerZero account is undefined.
*/
isAirdropped(guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString): Promise<boolean>;
/**
* Quotes the fee for a given executor, destination chain ID, and adapter parameters.
*
* @param {aptos.MaybeHexString} executor - The executor address.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the quoted fee.
*/
quoteFee(executor: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes, query?: {
ledgerVersion?: bigint | number;
}): Promise<aptos.BCS.Uint64>;
/**
* Builds the default adapter parameters.
*
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} uaGas - The user application gas.
* @returns {aptos.BCS.Bytes} The default adapter parameters.
*/
buildDefaultAdapterParams(uaGas: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.BCS.Bytes;
/**
* Builds the airdrop adapter parameters.
*
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} uaGas - The user application gas.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} airdropAmount - The airdrop amount.
* @param {string} airdropAddress - The airdrop address.
* @returns {aptos.BCS.Bytes} The airdrop adapter parameters.
*/
buildAirdropAdapterParams(uaGas: aptos.BCS.Uint64 | aptos.BCS.Uint32, airdropAmount: aptos.BCS.Uint64 | aptos.BCS.Uint32, airdropAddress: string): aptos.BCS.Bytes;
/**
* Decodes the adapter parameters.
*
* txType 1
* bytes [2 8 ]
* fields [txType extraGas]
* txType 2
* bytes [2 8 8 unfixed ]
* fields [txType extraGas airdropAmt airdropAddress]
*
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @returns {[aptos.BCS.Uint16, aptos.BCS.Uint64, aptos.BCS.Uint64, string]} The decoded adapter parameters.
* @throws {Error} If the adapter parameters are invalid.
*/
decodeAdapterParams(adapterParams: aptos.BCS.Bytes): [aptos.BCS.Uint16, aptos.BCS.Uint64, aptos.BCS.Uint64, string];
/**
* Rebuilds a compiled script to query type arguments for the lz_receive function.
*
* @param {Packet} packet - The packet.
* @returns {Promise<string>} A promise that resolves to the rebuilt script bytecode.
* @throws {Error} If the executor_ext account is undefined.
*/
rebuildTypeArgsScript(packet: Packet): Promise<string>;
/**
* Executes compiled script on chain to get type arguments for lz_receive function.
*
* @param {Packet} packet - The packet.
* @returns {Promise<string[]>} A promise that resolves to the type arguments.
* @throws {Error} If the sdk accounts layerzero_apps_pubkey is undefined.
*/
getLzReceiveTypeArguments(packet: Packet): Promise<string[]>;
/**
* Gets lz_receive_types arguments by view function (tagged with #[view]).
* 1. Tries UA::${module}::lz_receive_types, if failed, then
* 2. Tries UA::lz_receive::lz_receive_types by convention.
*
* @param {Packet} packet - The packet.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<[string[], TypeInfoEx]>} A promise that resolves to the type arguments and TypeInfoEx.
* @throws {Error} If the lz_receive_types arguments cannot be retrieved.
*/
getLzReceiveTypeArgumentsView(packet: Packet, ledger_version?: string): Promise<[string[], TypeInfoEx]>;
/**
* Gets the payload for the lz_receive function.
*
* @param {string[]} type_arguments - The type arguments.
* @param {Packet} packet - The packet.
* @param {TypeInfo} [uaTypeInfo] - The TypeInfo.
* @returns {Promise<aptos.Types.EntryFunctionPayload>} A promise that resolves to the payload.
*/
getLzReceivePayload(type_arguments: string[], packet: Packet, uaTypeInfo?: TypeInfo): Promise<aptos.Types.EntryFunctionPayload>;
/**
* Executes the lz_receive function.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string[]} type_arguments - The type arguments.
* @param {Packet} packet - The packet.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
lzReceive(signer: aptos.AptosAccount, type_arguments: string[], packet: Packet): Promise<aptos.Types.Transaction>;
/**
* Auto-detects lz_receive_types and calls lz_receive.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Packet} packet - The packet.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
lzReceiveNew(signer: aptos.AptosAccount, packet: Packet): Promise<aptos.Types.Transaction>;
/**
* Gets the short request event type.
*
* @returns {string} The short request event type.
*/
getShortRequestEventType(): string;
}
/**
* Class representing the executor configuration.
*/
declare class ExecutorConfig {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* Creates an instance of the ExecutorConfig class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Gets the default executor for a given remote chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<[string, aptos.BCS.Uint64]>} A promise that resolves to the executor and version.
* @throws {Error} If the SDK accounts layerzero is undefined.
*/
getDefaultExecutor(remoteChainId: aptos.BCS.Uint16): Promise<[string, aptos.BCS.Uint64]>;
/**
* Gets the executor for a given user address and remote chain ID.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {Object} [query] - Optional query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<[string, aptos.BCS.Uint64]>} A promise that resolves to the executor and version.
*/
getExecutor(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, query?: {
ledgerVersion?: bigint | number;
}): Promise<[string, aptos.BCS.Uint64]>;
/**
* Creates a payload for setting the default executor.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} version - The version.
* @param {aptos.MaybeHexString} executor - The executor address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setDefaultExecutorPayload(remoteChainId: aptos.BCS.Uint16, version: aptos.BCS.Uint8, executor: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
}
declare class ExecutorV2 {
private sdk;
/**
* The module name.
*/
readonly module: string;
readonly type: string;
/**
* Creates an instance of the UlnReceive class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
quoteFee(uaAddress: string, executorAddress: string, dstChainId: bigint, adapterParams: Uint8Array): Promise<aptos.BCS.Uint64>;
}
declare class MsgLib {
private sdk;
/**
* The module name.
*/
readonly module: string;
readonly routingModule: string;
/**
* Creates an instance of the MsgLib class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
createInitPayload(): Promise<aptos.Types.EntryFunctionPayload>;
init(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
createSyncVersionPayload(uaAddress: string, chainId: aptos.BCS.Uint64): Promise<aptos.Types.EntryFunctionPayload>;
syncVersion(signer: aptos.AptosAccount, uaAddress: string, chainId: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Checks if the module is initialized.
*
* @returns {Promise<boolean>} A promise that resolves to true if the module is initialized, false otherwise.
*/
isInitialize(): Promise<boolean>;
isVersionSynced(uaAddress: string, chainId: aptos.BCS.Uint64): Promise<boolean>;
}
/**
* Class representing message library authorization.
*/
declare class MsgLibAuth {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* The module name string.
*/
readonly moduleName: string;
/**
* Creates an instance of the MsgLibAuth class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Checks if a message library receive address is allowed.
*
* @param {string} msglibReceive - The message library receive address.
* @returns {Promise<boolean>} A promise that resolves to true if allowed, false otherwise.
* @throws Will throw an error if sdk accounts msglib_auth is undefined.
*/
isAllowed(msglibReceive: string): Promise<boolean>;
/**
* Creates a payload to deny a message library receive address.
*
* @param {string} msglibReceive - The message library receive address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
denyPayload(msglibReceive: string): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload to allow a message library receive address.
*
* @param {string} msglibReceive - The message library receive address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
allowPayload(msglibReceive: string): aptos.Types.EntryFunctionPayload;
/**
* Allows a message library receive address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} msglibReceive - The message library receive address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
allow(signer: aptos.AptosAccount, msglibReceive: string): Promise<aptos.Types.Transaction>;
}
/**
* Class representing the MsgLibConfig module.
*/
declare class MsgLibConfig {
private sdk;
/**
* The module path.
*/
readonly module: string;
/**
* The module name.
*/
readonly moduleName: string;
/**
* The semver module path.
*/
readonly semverModule: string;
/**
* Creates an instance of the MsgLibConfig class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Gets the default send message library version for a remote chain.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<{ major: aptos.BCS.Uint64; minor: aptos.BCS.Uint8 }>} A promise that resolves to the version.
* @throws Will throw an error if the SDK accounts layerzero is undefined.
*/
getDefaultSendMsgLib(remoteChainId: aptos.BCS.Uint16): Promise<{
major: aptos.BCS.Uint64;
minor: aptos.BCS.Uint8;
}>;
/**
* Gets the default receive message library version for a remote chain.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<{ major: aptos.BCS.Uint64; minor: aptos.BCS.Uint8 }>} A promise that resolves to the version.
* @throws Will throw an error if the SDK accounts layerzero is undefined.
*/
getDefaultReceiveMsgLib(remoteChainId: aptos.BCS.Uint16): Promise<{
major: aptos.BCS.Uint64;
minor: aptos.BCS.Uint8;
}>;
/**
* Creates a payload for setting the default send message library version.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} major - The major version.
* @param {aptos.BCS.Uint8} minor - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setDefaultSendMsgLibPayload(remoteChainId: aptos.BCS.Uint16, major: aptos.BCS.Uint64, minor: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload for setting the default receive message library version.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} major - The major version.
* @param {aptos.BCS.Uint8} minor - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setDefaultReceiveMsgLibPayload(remoteChainId: aptos.BCS.Uint16, major: aptos.BCS.Uint64, minor: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
}
/**
* Class representing the MsgLibV1_0 module.
*/
declare class MsgLibV1_0 {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* Creates an instance of the MsgLibV1_0 class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
}
/**
* Class representing packet events.
*/
declare class PacketEvent {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* The outbound event type.
*/
readonly OutboundEventType: string;
/**
* The inbound event type.
*/
readonly InboundEventType: string;
/**
* Creates an instance of the PacketEvent class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Returns an array of VersionedEvent objects for inbound events.
*
* @param {bigint} start - The start index of the events, starting from 0.
* @param {number} limit - The maximum number of events to return.
* @returns {Promise<aptos.Types.VersionedEvent[]>} An array of VersionedEvent objects.
* @throws {Error} If sdk accounts layerzero is undefined.
* @example
* [
* {
* "version": "2527457",
* "guid": {
* "creation_number": "7",
* "account_address": "0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90"
* },
* "sequence_number": "0",
* "type": "0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::InboundEvent",
* "data": {
* "packet": {
* "dst_address": "0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa",
* "dst_chain_id": "108",
* "nonce": "1",
* "payload": "0x00000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4857203756ea4273c43f583acd5b7a72aa168098da3fb9ffe4f6505515aae8fc9b0000000002faf080",
* "src_address": "0x50002cdfe7ccb0c41f519c6eb0653158d11cd907",
* "src_chain_id": "101"
* }
* }
* },
* {
* "version": "2617627",
* "guid": {
* "creation_number": "7",
* "account_address": "0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90"
* },
* "sequence_number": "1",
* "type": "0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::InboundEvent",
* "data": {
* "packet": {
* "dst_address": "0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa",
* "dst_chain_id": "108",
* "nonce": "2",
* "payload": "0x00000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7495f9f30a60c7cda8a60937b4281d00d8730596409820bbf59b2674624c76d9b00000000000f4240",
* "src_address": "0x50002cdfe7ccb0c41f519c6eb0653158d11cd907",
* "src_chain_id": "101"
* }
* }
* }
* ]
*/
getInboundEvents(start: bigint, limit: number): Promise<aptos.Types.VersionedEvent[]>;
/**
* Returns the count of inbound events.
*
* @returns {Promise<number>} The count of inbound events.
* @throws {Error} If sdk accounts layerzero is undefined.
*/
getInboundEventCount(): Promise<number>;
/**
* Returns an array of VersionedEvent objects for outbound events.
*
* @param {bigint} start - The start index of the events, starting from 0.
* @param {number} limit - The maximum number of events to return.
* @returns {Promise<aptos.Types.VersionedEvent[]>} An array of VersionedEvent objects.
* @throws {Error} If sdk accounts layerzero is undefined.
* @example
* [
* {
* version: '3290647',
* guid: {
* creation_number: '8',
* account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90'
* },
* sequence_number: '0',
* type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::OutboundEvent',
* data: {
* encoded_packet: '0x0000000000000001006cf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa006f86bb63148d17d445ed5398ef26aa05bf76dd5b59010000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c316070000000000000000000000003a983ffaa79e2d12ef94b50f68346a4b9c653a9a00000000001e848000'
* }
* },
* {
* version: '3308828',
* guid: {
* creation_number: '8',
* account_address: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90'
* },
* sequence_number: '1',
* type: '0x54ad3d30af77b60d939ae356e6606de9a4da67583f02b962d2d3f2e481484e90::packet_event::OutboundEvent',
* data: {
* encoded_packet: '0x0000000000000001006cf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa006aa5972eee0c9b5bbb89a5b16d1d65f94c9ef25166010000000000000000000000009702230a8ea53601f5cd2dc00fdbc13d4df4a8c700000000000000000000000015028e41c7ed391674505f6ea1213045571564e4000000000000006400'
* }
* }
* ]
*/
getOutboundEvents(start: bigint, limit: number): Promise<aptos.Types.VersionedEvent[]>;
/**
* Returns the count of outbound events.
*
* @returns {Promise<number>} The count of outbound events.
* @throws {Error} If sdk accounts layerzero is undefined.
*/
getOutboundEventCount(): Promise<number>;
}
declare class UlnConfig {
private sdk;
/**
* Oracle type identifier.
*/
TYPE_ORACLE: number;
/**
* Relayer type identifier.
*/
TYPE_RELAYER: number;
/**
* Inbound confirmations type identifier.
*/
TYPE_INBOUND_CONFIRMATIONS: number;
/**
* Outbound confirmations type identifier.
*/
TYPE_OUTBOUND_CONFIRMATIONS: number;
/**
* The module name.
*/
readonly module: string;
/**
* The module name with namespace.
*/
readonly moduleName: string;
/**
* Creates an instance of the UlnConfig class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Creates a payload for setting the default app configuration.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {UlnConfigType} config - The configuration.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setDefaultAppConfigPayload(remoteChainId: aptos.BCS.Uint16, config: UlnConfigType): aptos.Types.EntryFunctionPayload;
/**
* Sets the default app configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {UlnConfigType} config - The configuration.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setDefaultAppConfig(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, config: UlnConfigType): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the chain address size.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} addressSize - The address size.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setChainAddressSizePayload(remoteChainId: aptos.BCS.Uint16, addressSize: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Sets the chain address size.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} addressSize - The address size.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setChainAddressSize(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, addressSize: aptos.BCS.Uint8): Promise<aptos.Types.Transaction>;
/**
* Gets the chain address size for a given remote chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<aptos.BCS.Uint8>} A promise that resolves to the address size.
* @throws {Error} If the SDK accounts layerzero is undefined.
*/
getChainAddressSize(remoteChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Uint8>;
/**
* Gets the default app configuration for a given remote chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {object} [query] - Optional query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<UlnConfigType>} A promise that resolves to the configuration.
* @throws {Error} If the SDK accounts layerzero is undefined.
*/
getDefaultAppConfig(remoteChainId: aptos.BCS.Uint16, query?: {
ledgerVersion?: bigint | number;
}): Promise<UlnConfigType>;
/**
* Gets the app configuration for a given user address and remote chain ID.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {object} [query] - Optional query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<UlnConfigType>} A promise that resolves to the configuration.
* @throws {Error} If the SDK accounts layerzero is undefined.
*/
getAppConfig(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16, query?: {
ledgerVersion?: bigint | number;
}): Promise<UlnConfigType>;
/**
* Merges the given configuration with the default configuration.
*
* @param {UlnConfigType} config - The configuration.
* @param {UlnConfigType} defaultConfig - The default configuration.
* @returns {UlnConfigType} The merged configuration.
*/
private mergeConfig;
/**
* Quotes the fee for a given user address, destination chain ID, and payload size.
*
* @param {aptos.MaybeHexString} uaAddress - The user address.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {number} payloadSize - The payload size.
* @param {object} [query] - Optional query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the fee.
* @throws {Error} If the SDK accounts layerzero is undefined.
*/
quoteFee(uaAddress: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, payloadSize: number, query?: {
ledgerVersion?: bigint | number;
}): Promise<aptos.BCS.Uint64>;
}
/**
* The zero address in hex string format.
*/
declare const ZERO_ADDRESS_HEX: string;
/**
* The zero address in byte array format.
*/
declare const ZERO_ADDRESS_BYTES: Uint8Array;
/**
* The gas limit safety basis points.
*/
declare const GAS_LIMIT_SAFETY_BPS = 2000;
/**
* Encodes a packet into a buffer.
*
* @param {Packet} packet - The packet to encode.
* @returns {Buffer} The encoded packet.
*/
declare function encodePacket(packet: Packet): Buffer;
/**
* Computes the GUID for a packet.
*
* @param {Packet} packet - The packet.
* @returns {string} The computed GUID.
*/
declare function computeGuid(packet: Packet): string;
type GetAddressSizeOfChainFunc = (chainId: number) => Promise<number>;
/**
* decode the packet generated on the Aptos chain only, it assumes that the size of the source address is 32
*
* @param {Buffer} buf - The buffer containing the encoded packet.
* @param {number | GetAddressSizeOfChainFunc} getAddressSizeOfChain - A number or a function to return the size of the destination address.
* @returns {Promise<Packet>} The decoded packet.
*/
declare function decodePacket(buf: Buffer, getAddressSizeOfChain: number | GetAddressSizeOfChainFunc): Promise<Packet>;
/**
* Decodes an encoded packet string.
*
* @param {string} encodedPacket - The encoded packet string.
* @param {number} dstAddressSize - The size of the destination address.
* @returns {Promise<Packet>} The decoded packet.
*/
declare function decodePacketString(encodedPacket: string, dstAddressSize: number): Promise<Packet>;
/**
* Computes the SHA3-256 hash of a buffer.
*
* @param {Buffer} buf - The buffer to hash.
* @returns {string} The hash of the buffer.
*/
declare function hashBuffer(buf: Buffer): string;
/**
* Computes the hash of a packet.
*
* @param {Packet} packet - The packet to hash.
* @returns {string} The hash of the packet.
*/
declare function hashPacket(packet: Packet): string;
/**
* Rebuilds a packet from an event.
*
* @param {aptos.Types.Event} event - The event.
* @param {GetAddressSizeOfChainFunc | number} getAddressSizeOfChain - A function or number to get the address size of the chain.
* @returns {Promise<Packet>} The rebuilt packet.
*/
declare function rebuildPacketFromEvent(event: aptos.Types.Event, getAddressSizeOfChain: GetAddressSizeOfChainFunc | number): Promise<Packet>;
/**
* Generates a multisig public key and address.
*
* @param {Uint8Array[]} publicKeys - The public keys.
* @param {number} threshold - The threshold.
* @returns {Promise<[aptos.TxnBuilderTypes.MultiEd25519PublicKey, string]>} The multisig public key and address.
*/
declare function generateMultisig(publicKeys: Uint8Array[], threshold: number): Promise<[aptos.TxnBuilderTypes.MultiEd25519PublicKey, string]>;
/**
* Signs a BCS transaction with multiple signatures.
*
* @param {aptos.TxnBuilderTypes.MultiEd25519PublicKey} pubkey - The multisig public key.
* @param {aptos.TxnBuilderTypes.RawTransaction} rawTx - The raw transaction.
* @param {aptos.HexString[]} signatures - The signatures.
* @param {number[]} bitmap - The bitmap.
* @returns {aptos.BCS.Bytes} The signed BCS transaction.
*/
declare function multiSigSignedBCSTxn(pubkey: aptos.TxnBuilderTypes.MultiEd25519PublicKey, rawTx: aptos.TxnBuilderTypes.RawTransaction, signatures: aptos.HexString[], bitmap: number[]): aptos.BCS.Bytes;
/**
* Ensures the full address format.
*
* @param {string | aptos.HexString} address - The address.
* @returns {aptos.HexString} The full address.
*/
declare function fullAddress(address: string | aptos.HexString): aptos.HexString;
/**
* Converts a hex string to an ASCII string.
* https://github.com/ChainSafe/web3.js/blob/release/1.7.5/packages/web3-utils/src/index.js#L166
*
* @param {string} hex - The hex string.
* @returns {string} The ASCII string.
* @throws {Error} If the hex string is invalid.
*/
declare function hexToAscii(hex: string): string;
/**
* Checks if two addresses are the same.
*
* @param {string | HexString} a - The first address.
* @param {string | HexString} b - The second address.
* @returns {boolean} True if the addresses are the same, false otherwise.
*/
declare function isSameAddress(a: string | HexString, b: string | HexString): boolean;
/**
* Checks if an address is the zero address.
*
* @param {string | HexString} a - The address.
* @returns {boolean} True if the address is the zero address, false otherwise.
*/
declare function isZeroAddress(a: string | HexString): boolean;
/**
* Converts a Uint64 to bytes.
*
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} number - The number to convert.
* @returns {aptos.BCS.Bytes} The bytes.
*/
declare function convertUint64ToBytes(number: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.BCS.Bytes;
/**
* Converts bytes to a Uint64.
*
* @param {aptos.BCS.Bytes} bytes - The bytes to convert.
* @returns {aptos.BCS.Uint64} The Uint64.
*/
declare function convertBytesToUint64(bytes: aptos.BCS.Bytes): aptos.BCS.Uint64;
/**
* Checks if an error is an API error with a specific status.
*
* @param {any} e - The error.
* @param {number} status - The status.
* @returns {boolean} True if the error is an API error with the specified status, false otherwise.
*/
declare function isErrorOfApiError(e: any, status: number): boolean;
/**
* Converts aptos.BCS.Bytes to a Uint8Array, left padding with 0x0 elements.
*
* @param {aptos.BCS.Bytes} data - The data to convert.
* @param {number} length - The length of the resulting array.
* @returns {Uint8Array} The resulting Uint8Array.
*/
declare function bytesToUint8Array(data: aptos.BCS.Bytes, length: number): Uint8Array;
/**
* Converts a hex string to a Uint8Array, left padding with 0x0 elements.
*
* @deprecated use {@link stringToPaddedUint8Array}
* @param {string} str - The hex string.
* @param {number} length - The length of the resulting array.
* @returns {Uint8Array} The resulting Uint8Array.
*/
declare function convertToPaddedUint8Array(str: string, length: number): Uint8Array;
/**
* Converts a hex string to a Uint8Array, left padding with 0x0 elements.
*
* @param {string} str - The hex string.
* @param {number} length - The length of the resulting array.
* @returns {Uint8Array} The resulting Uint8Array.
*/
declare function stringToPaddedUint8Array(str: string, length: number): Uint8Array;
/**
* Left pads a Uint8Array with 0x0 elements.
*
* @param {Uint8Array} bytes - The bytes to pad.
* @param {number} length - The length of the resulting array.
* @returns {Uint8Array} The resulting Uint8Array.
*/
declare function paddingUint8Array(bytes: Uint8Array, length: number): Uint8Array;
/**
* convert a hex string to Uint8Array
* 0x123 will be [0x01, 0x23] instead of [0x12, 0x03]
*
* @param {string} str - The hex string.
* @returns {Uint8Array} The resulting Uint8Array.
*/
declare function stringToUint8Array(str: string): Uint8Array;
/**
* Interface representing a multiple signature item.
*/
interface MutipleSignatureItem {
/**
* The signature in hex string format.
*/
signature: aptos.HexString;
/**
* The bitmap index.
*/
bitmap: number;
}
/**
* Type representing a function that signs data with multiple signers.
*
* @param {Uint8Array} data - The data to sign.
* @returns {Promise<MutipleSignatureItem[]>} A promise that resolves to an array of multiple signature items.
*/
type MultipleSignFunc = (data: Uint8Array) => Promise<MutipleSignatureItem[]>;
/**
* Creates a sign function with multiple signers.
*
* @param {...aptos.AptosAccount[]} signers - The signers.
* @returns {MultipleSignFunc} The sign function.
*/
declare function makeSignFuncWithMultipleSigners(...signers: aptos.AptosAccount[]): (data: Uint8Array) => Promise<MutipleSignatureItem[]>;
/**
* Applies a gas limit safety margin.
*
* @param {string} gasUsed - The gas used.
* @returns {bigint} The gas limit with safety margin applied.
*/
declare function applyGasLimitSafety(gasUsed: string): bigint;
/**
* Decodes a payload.
*
* @param {Buffer} payload - The payload.
* @returns {{ packetType: number, remoteCoinAddr: Buffer, receiverBytes: Buffer, amount: BN }} The decoded payload.
*/
declare function decodePayload(payload: Buffer): {
packetType: number;
remoteCoinAddr: Buffer;
receiverBytes: Buffer;
amount: BN;
};
/**
* Gets the signed transaction hash.
*
* @param {Uint8Array} signedTransaction - The signed transaction.
* @returns {string} The transaction hash.
*/
declare function getSignedTransactionHash(signedTransaction: Uint8Array): string;
/**
* Gets the address from a public key.
*
* @param {aptos.TxnBuilderTypes.Ed25519PublicKey} publicKey - The public key.
* @returns {aptos.HexString} The address.
*/
declare function getAddressFromPublicKey(publicKey: aptos.TxnBuilderTypes.Ed25519PublicKey): aptos.HexString;
/**
* return the type arguments, which is needed to call lz_receive
*
* @param {aptos.BCS.Bytes} bytecode - The bytecode generated by `make compile-script-template`.
* @param {SDK} sdk - The SDK instance.
* @param {aptos.TxnBuilderTypes.Ed25519PublicKey} publicKey - The public key of the signer who will submit the transaction.
* @param {aptos.BCS.Bytes} dstAddress - The UA address on Aptos.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID of the packet.
* @param {aptos.BCS.Bytes} srcAddress - The source address (UA address) of the packet.
* @param {aptos.BCS.Bytes} payload - The payload of the packet.
* @returns {Promise<string[]>} The type arguments.
*/
declare function getLzReceiveTypeArguments(bytecode: aptos.BCS.Bytes, sdk: SDK, publicKey: aptos.TxnBuilderTypes.Ed25519PublicKey, dstAddress: aptos.BCS.Bytes, srcChainId: aptos.BCS.Uint16, srcAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): Promise<string[]>;
/**
* Gets the resource address.
*
* @param {aptos.MaybeHexString} source - The source address.
* @param {Uint8Array} seed - The seed.
* @returns {aptos.HexString} The resource address.
*/
declare function getResourceAddress(source: aptos.MaybeHexString, seed: Uint8Array): aptos.HexString;
/**
* Gets an Aptos account from a private key.
*
* @param {string} key - The private key.
* @returns {aptos.AptosAccount} The Aptos account.
*/
declare function getAccountFromPrivateKey(key: string): aptos.AptosAccount;
/**
* Gets an Aptos account from a mnemonic phrase.
*
* @param {string} mnemonic - The mnemonic phrase.
* @param {string} [path="m/44'/637'/0'/0'/0'"] - The derivation path.
* @returns {aptos.AptosAccount} The Aptos account.
* @throws {Error} If the derivation path is invalid.
*/
declare function getAccountFromMnemonic(mnemonic: string, path?: string): aptos.AptosAccount;
/**
* Normalizes a TypeInfo object.
*
* @param {TypeInfo} typeInfo - The TypeInfo object.
* @returns {TypeInfo} The normalized TypeInfo object.
*/
declare function normalizeTypeInfo(typeInfo: TypeInfo): TypeInfo;
/**
* Builds a struct tag from a TypeInfo object.
*
* @param {TypeInfo} typeInfo - The TypeInfo object.
* @returns {string} The struct tag.
*/
declare function buildStructTagFromTypeInfo(typeInfo: TypeInfo): string;
/**
* Checks if a value is a TypeInfo object.
*
* @param {TypeInfo | any} value - The value to check.
* @returns {boolean} True if the value is a TypeInfo object, false otherwise.
*/
declare function isTypeInfo(value: TypeInfo | any): value is TypeInfo;
declare const utils_GAS_LIMIT_SAFETY_BPS: typeof GAS_LIMIT_SAFETY_BPS;
type utils_GetAddressSizeOfChainFunc = GetAddressSizeOfChainFunc;
type utils_MultipleSignFunc = MultipleSignFunc;
type utils_MutipleSignatureItem = MutipleSignatureItem;
declare const utils_ZERO_ADDRESS_BYTES: typeof ZERO_ADDRESS_BYTES;
declare const utils_ZERO_ADDRESS_HEX: typeof ZERO_ADDRESS_HEX;
declare const utils_applyGasLimitSafety: typeof applyGasLimitSafety;
declare const utils_buildStructTagFromTypeInfo: typeof buildStructTagFromTypeInfo;
declare const utils_bytesToUint8Array: typeof bytesToUint8Array;
declare const utils_computeGuid: typeof computeGuid;
declare const utils_convertBytesToUint64: typeof convertBytesToUint64;
declare const utils_convertToPaddedUint8Array: typeof convertToPaddedUint8Array;
declare const utils_convertUint64ToBytes: typeof convertUint64ToBytes;
declare const utils_decodePacket: typeof decodePacket;
declare const utils_decodePacketString: typeof decodePacketString;
declare const utils_decodePayload: typeof decodePayload;
declare const utils_encodePacket: typeof encodePacket;
declare const utils_fullAddress: typeof fullAddress;
declare const utils_generateMultisig: typeof generateMultisig;
declare const utils_getAccountFromMnemonic: typeof getAccountFromMnemonic;
declare const utils_getAccountFromPrivateKey: typeof getAccountFromPrivateKey;
declare const utils_getAddressFromPublicKey: typeof getAddressFromPublicKey;
declare const utils_getLzReceiveTypeArguments: typeof getLzReceiveTypeArguments;
declare const utils_getResourceAddress: typeof getResourceAddress;
declare const utils_getSignedTransactionHash: typeof getSignedTransactionHash;
declare const utils_hashBuffer: typeof hashBuffer;
declare const utils_hashPacket: typeof hashPacket;
declare const utils_hexToAscii: typeof hexToAscii;
declare const utils_isErrorOfApiError: typeof isErrorOfApiError;
declare const utils_isSameAddress: typeof isSameAddress;
declare const utils_isTypeInfo: typeof isTypeInfo;
declare const utils_isZeroAddress: typeof isZeroAddress;
declare const utils_makeSignFuncWithMultipleSigners: typeof makeSignFuncWithMultipleSigners;
declare const utils_multiSigSignedBCSTxn: typeof multiSigSignedBCSTxn;
declare const utils_normalizeTypeInfo: typeof normalizeTypeInfo;
declare const utils_paddingUint8Array: typeof paddingUint8Array;
declare const utils_rebuildPacketFromEvent: typeof rebuildPacketFromEvent;
declare const utils_stringToPaddedUint8Array: typeof stringToPaddedUint8Array;
declare const utils_stringToUint8Array: typeof stringToUint8Array;
declare namespace utils {
export { utils_GAS_LIMIT_SAFETY_BPS as GAS_LIMIT_SAFETY_BPS, type utils_GetAddressSizeOfChainFunc as GetAddressSizeOfChainFunc, type utils_MultipleSignFunc as MultipleSignFunc, type utils_MutipleSignatureItem as MutipleSignatureItem, utils_ZERO_ADDRESS_BYTES as ZERO_ADDRESS_BYTES, utils_ZERO_ADDRESS_HEX as ZERO_ADDRESS_HEX, utils_applyGasLimitSafety as applyGasLimitSafety, utils_buildStructTagFromTypeInfo as buildStructTagFromTypeInfo, utils_bytesToUint8Array as bytesToUint8Array, utils_computeGuid as computeGuid, utils_convertBytesToUint64 as convertBytesToUint64, utils_convertToPaddedUint8Array as convertToPaddedUint8Array, utils_convertUint64ToBytes as convertUint64ToBytes, utils_decodePacket as decodePacket, utils_decodePacketString as decodePacketString, utils_decodePayload as decodePayload, utils_encodePacket as encodePacket, utils_fullAddress as fullAddress, utils_generateMultisig as generateMultisig, utils_getAccountFromMnemonic as getAccountFromMnemonic, utils_getAccountFromPrivateKey as getAccountFromPrivateKey, utils_getAddressFromPublicKey as getAddressFromPublicKey, utils_getLzReceiveTypeArguments as getLzReceiveTypeArguments, utils_getResourceAddress as getResourceAddress, utils_getSignedTransactionHash as getSignedTransactionHash, utils_hashBuffer as hashBuffer, utils_hashPacket as hashPacket, utils_hexToAscii as hexToAscii, utils_isErrorOfApiError as isErrorOfApiError, utils_isSameAddress as isSameAddress, utils_isTypeInfo as isTypeInfo, utils_isZeroAddress as isZeroAddress, utils_makeSignFuncWithMultipleSigners as makeSignFuncWithMultipleSigners, utils_multiSigSignedBCSTxn as multiSigSignedBCSTxn, utils_normalizeTypeInfo as normalizeTypeInfo, utils_paddingUint8Array as paddingUint8Array, utils_rebuildPacketFromEvent as rebuildPacketFromEvent, utils_stringToPaddedUint8Array as stringToPaddedUint8Array, utils_stringToUint8Array as stringToUint8Array };
}
/**
* Class representing the ULN Receive module.
*/
declare class UlnReceive {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* Creates an instance of the UlnReceive class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Initializes the module.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
initialize(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
/**
* Checks if the module is initialized.
*
* @returns {Promise<boolean>} A promise that resolves to true if the module is initialized, false otherwise.
*/
isInitialize(): Promise<boolean>;
/**
* Gets the payload for the oracle propose transaction.
*
* @param {Uint8Array} hash - The hash.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.EntryFunctionPayload>} A promise that resolves to the transaction payload.
*/
getOracleProposePayload(hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.EntryFunctionPayload>;
/**
* Proposes an oracle transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} hash - The hash.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
oraclePropose(signer: aptos.AptosAccount, hash: string, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the proposal for a given oracle and hash.
*
* @param {aptos.MaybeHexString} oracle - The oracle address.
* @param {string} hash - The hash.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the proposal.
*/
getProposal(oracle: aptos.MaybeHexString, hash: string): Promise<aptos.BCS.Uint64>;
/**
* Gets the payload for the relayer verify transaction.
*
* @param {Uint8Array} dstAddress - The destination address.
* @param {Uint8Array} packetBytes - The packet bytes.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.EntryFunctionPayload>} A promise that resolves to the transaction payload.
*/
getRelayerVerifyPayload(dstAddress: Uint8Array, packetBytes: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.EntryFunctionPayload>;
/**
* Verifies a relayer transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} dstAddress - The destination address.
* @param {Uint8Array} packetBytes - The packet bytes.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
relayerVerify(signer: aptos.AptosAccount, dstAddress: Uint8Array, packetBytes: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for the oracle propose transaction with multisig.
*
* @param {string} multisigAccountAddress - The multisig account address.
* @param {Buffer} hash - The hash.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.TxnBuilderTypes.TransactionPayload>} A promise that resolves to the transaction payload.
*/
oracleProposePayloadMS(multisigAccountAddress: string, hash: Buffer, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.TxnBuilderTypes.TransactionPayload>;
/**
* Gets the raw transaction for the oracle propose transaction with multisig.
*
* @param {string} multisigAccountAddress - The multisig account address.
* @param {Buffer} hash - The hash.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.TxnBuilderTypes.RawTransaction>} A promise that resolves to the raw transaction.
*/
oracleProposeTxn(multisigAccountAddress: string, hash: Buffer, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.TxnBuilderTypes.RawTransaction>;
/**
* Gets the signing message for submitting a hash.
*
* @param {aptos.TxnBuilderTypes.RawTransaction} txn - The raw transaction.
* @returns {aptos.TxnBuilderTypes.SigningMessage} The signing message.
*/
getSubmitHashSigningMessage(txn: aptos.TxnBuilderTypes.RawTransaction): aptos.TxnBuilderTypes.SigningMessage;
/**
* Proposes an oracle transaction with multisig.
*
* @param {string} multisigAccountAddress - The multisig account address.
* @param {aptos.TxnBuilderTypes.MultiEd25519PublicKey} multisigAccountPubkey - The multisig account public key.
* @param {MultipleSignFunc} signFunc - The sign function.
* @param {Buffer} hash - The hash.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
oracleProposeMS(multisigAccountAddress: string, multisigAccountPubkey: aptos.TxnBuilderTypes.MultiEd25519PublicKey, signFunc: MultipleSignFunc, hash: Buffer, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
}
/**
* Class representing a ULN Signer.
*/
declare class UlnSigner {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* The module name with namespace.
*/
readonly moduleName: string;
/**
* Creates an instance of the UlnSigner class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Creates a transaction payload for registering.
*
* @returns {Promise<aptos.TxnBuilderTypes.TransactionPayload>} The transaction payload.
*/
register_TransactionPayload(): Promise<aptos.TxnBuilderTypes.TransactionPayload>;
/**
* Registers a multisig account.
*
* @param {string} multisigAccountAddress - The multisig account address.
* @param {aptos.TxnBuilderTypes.MultiEd25519PublicKey} multisigAccountPubkey - The multisig account public key.
* @param {MultipleSignFunc} signFunc - The sign function.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
registerMS(multisigAccountAddress: string, multisigAccountPubkey: aptos.TxnBuilderTypes.MultiEd25519PublicKey, signFunc: MultipleSignFunc): Promise<aptos.Types.Transaction>;
/**
* Checks if an address is registered.
*
* @param {aptos.MaybeHexString} address - The address to check.
* @returns {Promise<boolean>} True if the address is registered, false otherwise.
*/
isRegistered(address: aptos.MaybeHexString): Promise<boolean>;
/**
* Creates a payload for registering.
*
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
registerPayload(): aptos.Types.EntryFunctionPayload;
/**
* Registers an account.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
register(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
/**
* Creates a transaction payload for setting a fee.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} feePerByte - The fee per byte.
* @returns {Promise<aptos.TxnBuilderTypes.TransactionPayload>} The transaction payload.
*/
getSetFee_TransactionPayload(dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, feePerByte: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.TxnBuilderTypes.TransactionPayload>;
/**
* Creates a payload for setting a fee.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} feePerByte - The fee per byte.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setFeePayload(dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, feePerByte: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Sets a fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} feePerByte - The fee per byte.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setFee(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, feePerByte: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Sets a fee for a multisig account.
*
* @param {string} multisigAccountAddress - The multisig account address.
* @param {aptos.TxnBuilderTypes.MultiEd25519PublicKey} multisigAccountPubkey - The multisig account public key.
* @param {MultipleSignFunc} signFunc - The sign function.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} feePerByte - The fee per byte.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setFeeMS(multisigAccountAddress: string, multisigAccountPubkey: aptos.TxnBuilderTypes.MultiEd25519PublicKey, signFunc: MultipleSignFunc, dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, feePerByte: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the fee for a given address and destination chain ID.
*
* @param {aptos.MaybeHexString} address - The address.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {Object} [query] - The query parameters.
* @param {bigint | number} [query.ledgerVersion] - The ledger version.
* @returns {Promise<UlnSignerFee>} The fee.
*/
getFee(address: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, query?: {
ledgerVersion?: bigint | number;
}): Promise<UlnSignerFee>;
}
/**
* Class representing the ULN (Universal Layer Network).
*/
declare class Uln {
/**
* Instance of UlnReceive.
*/
Receive: UlnReceive;
/**
* Instance of UlnSigner.
*/
Signer: UlnSigner;
/**
* Instance of UlnConfig.
*/
Config: UlnConfig;
/**
* Instance of MsgLibV1_0.
*/
MsgLibV1: MsgLibV1_0;
/**
* Instance of PacketEvent.
*/
PacketEvent: PacketEvent;
/**
* Creates an instance of the Uln class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
}
type index$2_MsgLibV1_0 = MsgLibV1_0;
declare const index$2_MsgLibV1_0: typeof MsgLibV1_0;
type index$2_PacketEvent = PacketEvent;
declare const index$2_PacketEvent: typeof PacketEvent;
type index$2_Uln = Uln;
declare const index$2_Uln: typeof Uln;
type index$2_UlnConfig = UlnConfig;
declare const index$2_UlnConfig: typeof UlnConfig;
type index$2_UlnReceive = UlnReceive;
declare const index$2_UlnReceive: typeof UlnReceive;
type index$2_UlnSigner = UlnSigner;
declare const index$2_UlnSigner: typeof UlnSigner;
declare namespace index$2 {
export { index$2_MsgLibV1_0 as MsgLibV1_0, index$2_PacketEvent as PacketEvent, index$2_Uln as Uln, index$2_UlnConfig as UlnConfig, index$2_UlnReceive as UlnReceive, index$2_UlnSigner as UlnSigner };
}
declare class Uln301 {
private sdk;
/**
* The module name.
*/
readonly module: string;
readonly adminModule: string;
readonly routerModule: string;
/**
* Creates an instance of the UlnReceive class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
private emptyUlnConfig;
private emptyExecutorConfig;
createInitializePayload(eid: aptos.BCS.Uint32): Promise<aptos.Types.EntryFunctionPayload>;
isInitialized(): Promise<boolean>;
createSetDefaultUlnSendConfigPayload(dstEid: aptos.BCS.Uint32, ulnConfig: types.UlnConfig): Promise<aptos.Types.EntryFunctionPayload>;
setDefaultUlnSendConfig(signer: aptos.AptosAccount, dstEid: aptos.BCS.Uint32, ulnConfig: types.UlnConfig): Promise<aptos.Types.Transaction>;
createSetDefaultUlnReceiveConfigPayload(srcEid: aptos.BCS.Uint32, ulnConfig: types.UlnConfig): Promise<aptos.Types.EntryFunctionPayload>;
setDefaultUlnReceiveConfig(signer: aptos.AptosAccount, srcEid: aptos.BCS.Uint32, ulnConfig: types.UlnConfig): Promise<aptos.Types.Transaction>;
createSetDefaultExecutorConfigPayload(eid: aptos.BCS.Uint32, executorConfig: types.ExecutorConfig): Promise<aptos.Types.EntryFunctionPayload>;
setDefaultExecutorConfig(signer: aptos.AptosAccount, eid: aptos.BCS.Uint32, executorConfig: types.ExecutorConfig): Promise<aptos.Types.Transaction>;
createSetWorkerConfigForFeeLibRoutingOptInPayload(optIn: boolean): Promise<aptos.Types.EntryFunctionPayload>;
setWorkerConfigForFeeLibRoutingOptIn(signer: aptos.AptosAccount, optIn: boolean): Promise<aptos.Types.Transaction>;
getTreasury(): Promise<aptos.MaybeHexString>;
getDefaultUlnSendConfig(dstEid: aptos.BCS.Uint32): Promise<types.UlnConfig>;
getDefaultUlnReceiveConfig(srcEid: aptos.BCS.Uint32): Promise<types.UlnConfig>;
getDefaultExecutorConfig(eid: aptos.BCS.Uint32): Promise<types.ExecutorConfig>;
getAppSendConfig(oappAddress: string, dstEid: aptos.BCS.Uint32): Promise<types.UlnConfig>;
getAppReceiveConfig(oappAddress: string, srcEid: aptos.BCS.Uint32): Promise<types.UlnConfig>;
getAppExecutorConfig(oappAddress: string, eid: aptos.BCS.Uint32): Promise<types.ExecutorConfig>;
workerConfigForFeeLibRoutingOptIn(): Promise<boolean>;
verifiable(packetHeader: string, payloadHash: string): Promise<boolean>;
getVerificationConfirmations(packetHeaderHash: string, payloadHash: string, dvnAddress: string): Promise<aptos.BCS.Uint64>;
version(): Promise<[aptos.BCS.Uint64, aptos.BCS.Uint64, aptos.BCS.Uint64]>;
getUaConfig(uaAddress: string, chainId: aptos.BCS.Uint64, configType: types.ConfigType): Promise<types.UlnConfig>;
/**
* Parses the ULN configuration response.
*
* @param {UlnConfigResponse} ulnConfigResponse - The ULN configuration response.
* @returns {UlnConfig} The parsed ULN configuration.
*/
private parseUlnConfig;
/**
* Parses the executor configuration response.
*
* @param {ExecutorConfigResponse} executorConfigResponse - The executor configuration response.
* @returns {ExecutorConfig} The parsed executor configuration.
*/
private parseExecutorConfig;
}
declare class Uln301Receiver {
private sdk;
/**
* The module name.
*/
readonly module: string;
/**
* Creates an instance of the UlnReceive class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
createSetChainAddressSizePayload(eid: aptos.BCS.Uint32, size: aptos.BCS.Uint64): Promise<aptos.Types.EntryFunctionPayload>;
setChainAddressSize(signer: aptos.AptosAccount, eid: aptos.BCS.Uint32, size: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
createCommitVerificationPayload(uaType: string, rawPacketBytes: Uint8Array): Promise<aptos.Types.EntryFunctionPayload>;
commitVerification(signer: aptos.AptosAccount, uaType: string, rawPacketBytes: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Checks if the module is initialized.
*
* @returns {Promise<boolean>} A promise that resolves to true if the module is initialized, false otherwise.
*/
isInitialize(): Promise<boolean>;
getAddressSize(chainId: aptos.BCS.Uint32): Promise<aptos.BCS.Uint64>;
}
/**
* Class representing the Layerzero module.
*/
declare class Layerzero {
/**
* The Channel instance.
* @see {@link Channel}
*/
Channel: Channel;
/**
* The Executor instance.
* @see {@link Executor}
*/
Executor: Executor;
/**
* The ExecutorV2 instance.
* @see {@link ExecutorV2}
*/
ExecutorV2: ExecutorV2;
/**
* The Endpoint instance.
* @see {@link Endpoint}
*/
Endpoint: Endpoint;
/**
* The Uln instance.
* @see {@link Uln}
*/
Uln: Uln;
/**
* The Uln301 instance.
* @see {@link Uln301}
*/
Uln301: Uln301;
/**
* The Uln301Receiver instance.
* @see {@link Uln301Receiver}
*/
Uln301Receiver: Uln301Receiver;
/**
* The MsgLibConfig instance.
* @see {@link MsgLibConfig}
*/
MsgLibConfig: MsgLibConfig;
/**
* The MsgLibAuth instance.
* @see {@link MsgLibAuth}
*/
MsgLibAuth: MsgLibAuth;
/**
* The ExecutorConfig instance.
* @see {@link ExecutorConfig}
*/
ExecutorConfig: ExecutorConfig;
/**
* The MsgLib instance.
* @see {@link MsgLib}
*/
MsgLib: MsgLib;
/**
* Creates an instance of the Layerzero class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
}
/**
* Node URLs for different environments.
*/
declare const NODE_URL: {
[env in Environment]: string;
};
/**
* Faucet URLs for different environments.
*/
declare const FAUCET_URL: {
[env in Environment]: string;
};
/**
* Layerzero addresses for different stages.
*/
declare const LAYERZERO_ADDRESS: {
[stage in Stage]?: string;
};
declare const ULN_301_ADDRESS: {
[stage in Stage]?: string;
};
declare const ULN_301_RECEIVE_HELPER_ADDRESS: {
[stage in Stage]?: string;
};
declare const MSGLIB_ROUTING_HELPER_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Layerzero apps addresses for different stages.
*/
declare const LAYERZERO_APPS_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Oracle addresses for different stages.
*/
declare const ORACLE_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Oracle signer addresses for different stages.
*/
declare const ORACLE_SIGNER_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Relayer signer addresses for different stages.
*/
declare const RELAYER_SIGNER_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Executor addresses for different stages.
*/
declare const EXECUTOR_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Executor extension addresses for different stages.
*/
declare const EXECUTOR_EXT_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Executor v2 addresses for different stages.
*/
declare const EXECUTOR_V2_ADDRESS: {
[stage in Stage]?: string;
};
declare const EXECUTOR_FEE_LIB_V1_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Layerzero apps public keys for different stages.
*/
declare const LAYERZERO_APPS_PUBKEY: {
[stage in Stage]?: string;
};
/**
* Bridge addresses for different stages.
*/
declare const BRIDGE_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Bridge precrime addresses for different stages.
*/
declare const BRIDGE_PRECRIME_ADDRESS: {
[stage in Stage]?: string;
};
/**
* OFT precrime addresses for different stages.
*/
declare const OFT_PRECRIME_ADDRESS: {
[stage in Stage]?: string;
};
/**
* Counter addresses for different stages.
*/
declare const COUNTER_ADDRESS: {
[stage in Stage]?: string;
};
declare const LAYERZERO_VIEW_ADDRESS: {
[stage in Stage]?: string;
};
declare const LAYERZERO_VIEW_ULN301_ADDRESS: {
[stage in Stage]?: string;
};
declare const AIRDROP_WRAPPER_ADDRESS: {
[stage in Stage]?: string;
};
declare const constants_AIRDROP_WRAPPER_ADDRESS: typeof AIRDROP_WRAPPER_ADDRESS;
declare const constants_BRIDGE_ADDRESS: typeof BRIDGE_ADDRESS;
declare const constants_BRIDGE_PRECRIME_ADDRESS: typeof BRIDGE_PRECRIME_ADDRESS;
declare const constants_COUNTER_ADDRESS: typeof COUNTER_ADDRESS;
declare const constants_EXECUTOR_ADDRESS: typeof EXECUTOR_ADDRESS;
declare const constants_EXECUTOR_EXT_ADDRESS: typeof EXECUTOR_EXT_ADDRESS;
declare const constants_EXECUTOR_FEE_LIB_V1_ADDRESS: typeof EXECUTOR_FEE_LIB_V1_ADDRESS;
declare const constants_EXECUTOR_V2_ADDRESS: typeof EXECUTOR_V2_ADDRESS;
declare const constants_FAUCET_URL: typeof FAUCET_URL;
declare const constants_LAYERZERO_ADDRESS: typeof LAYERZERO_ADDRESS;
declare const constants_LAYERZERO_APPS_ADDRESS: typeof LAYERZERO_APPS_ADDRESS;
declare const constants_LAYERZERO_APPS_PUBKEY: typeof LAYERZERO_APPS_PUBKEY;
declare const constants_LAYERZERO_VIEW_ADDRESS: typeof LAYERZERO_VIEW_ADDRESS;
declare const constants_LAYERZERO_VIEW_ULN301_ADDRESS: typeof LAYERZERO_VIEW_ULN301_ADDRESS;
declare const constants_MSGLIB_ROUTING_HELPER_ADDRESS: typeof MSGLIB_ROUTING_HELPER_ADDRESS;
declare const constants_NODE_URL: typeof NODE_URL;
declare const constants_OFT_PRECRIME_ADDRESS: typeof OFT_PRECRIME_ADDRESS;
declare const constants_ORACLE_ADDRESS: typeof ORACLE_ADDRESS;
declare const constants_ORACLE_SIGNER_ADDRESS: typeof ORACLE_SIGNER_ADDRESS;
declare const constants_RELAYER_SIGNER_ADDRESS: typeof RELAYER_SIGNER_ADDRESS;
declare const constants_ULN_301_ADDRESS: typeof ULN_301_ADDRESS;
declare const constants_ULN_301_RECEIVE_HELPER_ADDRESS: typeof ULN_301_RECEIVE_HELPER_ADDRESS;
declare namespace constants {
export { constants_AIRDROP_WRAPPER_ADDRESS as AIRDROP_WRAPPER_ADDRESS, constants_BRIDGE_ADDRESS as BRIDGE_ADDRESS, constants_BRIDGE_PRECRIME_ADDRESS as BRIDGE_PRECRIME_ADDRESS, constants_COUNTER_ADDRESS as COUNTER_ADDRESS, constants_EXECUTOR_ADDRESS as EXECUTOR_ADDRESS, constants_EXECUTOR_EXT_ADDRESS as EXECUTOR_EXT_ADDRESS, constants_EXECUTOR_FEE_LIB_V1_ADDRESS as EXECUTOR_FEE_LIB_V1_ADDRESS, constants_EXECUTOR_V2_ADDRESS as EXECUTOR_V2_ADDRESS, constants_FAUCET_URL as FAUCET_URL, constants_LAYERZERO_ADDRESS as LAYERZERO_ADDRESS, constants_LAYERZERO_APPS_ADDRESS as LAYERZERO_APPS_ADDRESS, constants_LAYERZERO_APPS_PUBKEY as LAYERZERO_APPS_PUBKEY, constants_LAYERZERO_VIEW_ADDRESS as LAYERZERO_VIEW_ADDRESS, constants_LAYERZERO_VIEW_ULN301_ADDRESS as LAYERZERO_VIEW_ULN301_ADDRESS, constants_MSGLIB_ROUTING_HELPER_ADDRESS as MSGLIB_ROUTING_HELPER_ADDRESS, constants_NODE_URL as NODE_URL, constants_OFT_PRECRIME_ADDRESS as OFT_PRECRIME_ADDRESS, constants_ORACLE_ADDRESS as ORACLE_ADDRESS, constants_ORACLE_SIGNER_ADDRESS as ORACLE_SIGNER_ADDRESS, constants_RELAYER_SIGNER_ADDRESS as RELAYER_SIGNER_ADDRESS, constants_ULN_301_ADDRESS as ULN_301_ADDRESS, constants_ULN_301_RECEIVE_HELPER_ADDRESS as ULN_301_RECEIVE_HELPER_ADDRESS };
}
/**
* Enum representing different coin types.
*/
declare enum CoinType {
APTOS = "AptosCoin",// native coin
WETH = "WETH",
WBTC = "WBTC",
USDC = "USDC",
USDT = "USDT",
BUSD = "BUSD",
USDD = "USDD"
}
/**
* Type representing a bridge coin type.
*/
type BridgeCoinType = CoinType.WETH | CoinType.WBTC | CoinType.USDC | CoinType.USDT | CoinType.BUSD | CoinType.USDD;
/**
* Type representing a coin type that may be a bridge coin type, a string, or a TypeInfo object.
*/
type MayBeBridgeCoinType = BridgeCoinType | string | TypeInfo;
/**
* Class representing a coin.
*/
declare class Coin {
private sdk;
private readonly bridge;
/**
* Creates an instance of the Coin class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} [bridge] - The bridge address.
*/
constructor(sdk: SDK, bridge?: aptos.MaybeHexString);
/**
* Gets the coin type as a string.
*
* @param {CoinType | string | TypeInfo} coin - The coin type.
* @returns {string} The coin type as a string.
*/
getCoinType(coin: CoinType | string | TypeInfo): string;
/**
* Creates a payload for transferring a coin.
*
* @param {CoinType} coin - The coin type.
* @param {aptos.MaybeHexString} to - The recipient address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to transfer.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
transferPayload(coin: CoinType, to: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Transfers a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {CoinType} coin - The coin type.
* @param {aptos.MaybeHexString} to - The recipient address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to transfer.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
transfer(signer: aptos.AptosAccount, coin: CoinType, to: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the balance of a coin for a given owner.
*
* @param {CoinType} coin - The coin type.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the balance.
*/
balance(coin: CoinType, owner: aptos.MaybeHexString): Promise<aptos.BCS.Uint64>;
/**
* Checks if an account is registered for a given coin.
*
* @param {CoinType} coin - The coin type.
* @param {aptos.MaybeHexString} accountAddr - The account address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is registered, false otherwise.
*/
isAccountRegistered(coin: CoinType, accountAddr: aptos.MaybeHexString): Promise<boolean>;
}
declare const DEFAULT_LIMITER_CAP_SD = 1000000000000;
declare const DEFAULT_LIMITER_WINDOW_SEC: number;
/**
* Interface representing a remote coin.
*/
interface RemoteCoin {
/**
* The address of the remote coin.
*/
address: aptos.BCS.Bytes;
/**
* The total value locked (TVL) in SD.
*/
tvlSD: aptos.BCS.Uint64;
/**
* Indicates whether the coin is unwrappable.
*/
unwrappable: boolean;
}
/**
* Enum representing packet types.
*/
declare enum PacketType {
RECIEVE = 0,
SEND = 1
}
/**
* Class representing a bridge.
*/
declare class Bridge {
private sdk;
private coin;
private lzApp;
private readonly uaType;
readonly address: aptos.MaybeHexString;
readonly module: string;
readonly moduleName: string;
SEND_PAYLOAD_LENGTH: number;
/**
* Creates an instance of Bridge.
*
* @param {SDK} sdk - The SDK instance.
* @param {Coin} coin - The coin instance.
* @param {aptos.MaybeHexString} [bridge] - The bridge address.
* @param {aptos.MaybeHexString} [lzApp] - The LzApp address.
*/
constructor(sdk: SDK, coin: Coin, bridge?: aptos.MaybeHexString, lzApp?: aptos.MaybeHexString);
/**
* Sets the application configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} major - The major version.
* @param {aptos.BCS.Uint8} minor - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setAppConfig(signer: aptos.AptosAccount, major: aptos.BCS.Uint16, minor: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Gets the minimum destination gas.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64} type - The type.
* @returns {Promise<aptos.BCS.Uint64>} The minimum destination gas.
*/
getMinDstGas(dstChainId: aptos.BCS.Uint16, type: aptos.BCS.Uint64): Promise<aptos.BCS.Uint64>;
/**
* Sets the minimum destination gas payload.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64} packetType - The packet type.
* @param {aptos.BCS.Uint64} minGas - The minimum gas.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setMinDstGasPayload(dstChainId: aptos.BCS.Uint16, packetType: aptos.BCS.Uint64, minGas: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* @deprecated use {@link isCustomAdapterParamsEnabled} instead
*/
customAdapterParamsEnabled(): Promise<boolean>;
/**
* Checks if custom adapter parameters are enabled.
*
* @returns {Promise<boolean>} True if custom adapter parameters are enabled, false otherwise.
*/
isCustomAdapterParamsEnabled(): Promise<boolean>;
/**
* Enables or disables custom adapter parameters.
*
* @param {boolean} enable - Whether to enable custom adapter parameters.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
enableCustomAdapterParamsPayload(enable: boolean): aptos.Types.EntryFunctionPayload;
/**
* Sets the remote bridge payload.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteBridgeAddr - The remote bridge address.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setRemoteBridgePayload(remoteChainId: aptos.BCS.Uint16, remoteBridgeAddr: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the remote bridge.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteBridgeAddr - The remote bridge address.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setRemoteBridge(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, remoteBridgeAddr: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Registers a coin payload.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {string} name - The name of the coin.
* @param {string} symbol - The symbol of the coin.
* @param {aptos.BCS.Uint8} decimals - The decimals of the coin.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} limiterCapSD - The limiter cap in SD.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
registerCoinPayload(coin: BridgeCoinType, name: string, symbol: string, decimals: aptos.BCS.Uint8, limiterCapSD: aptos.BCS.Uint32 | aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Registers a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {string} name - The name of the coin.
* @param {string} symbol - The symbol of the coin.
* @param {aptos.BCS.Uint8} decimals - The decimals of the coin.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} limiterCapSD - The limiter cap in SD.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
registerCoin(signer: aptos.AptosAccount, coin: BridgeCoinType, name: string, symbol: string, decimals: aptos.BCS.Uint8, limiterCapSD: aptos.BCS.Uint32 | aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Sets the remote coin payload.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.MaybeHexString} remoteCoinAddr - The remote coin address.
* @param {boolean} unwrappable - Whether the coin is unwrappable.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setRemoteCoinPayload(coin: BridgeCoinType, remoteChainId: aptos.BCS.Uint16, remoteCoinAddr: aptos.MaybeHexString, unwrappable: boolean): aptos.Types.EntryFunctionPayload;
/**
* Sets the remote coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.MaybeHexString} remoteCoinAddr - The remote coin address.
* @param {boolean} unwrappable - Whether the coin is unwrappable.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setRemoteCoin(signer: aptos.AptosAccount, coin: BridgeCoinType, remoteChainId: aptos.BCS.Uint16, remoteCoinAddr: aptos.MaybeHexString, unwrappable: boolean): Promise<aptos.Types.Transaction>;
/**
* Sets the force resume payload.
*
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
forceResumePayload(srcChainId: aptos.BCS.Uint16): aptos.Types.EntryFunctionPayload;
/**
* Sets the force resume.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
forceResume(signer: aptos.AptosAccount, srcChainId: aptos.BCS.Uint16): Promise<aptos.Types.Transaction>;
/**
* Sets the pause state for a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {boolean} paused - Whether to pause the coin.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
setPause(signer: aptos.AptosAccount, coin: BridgeCoinType, paused: boolean): Promise<aptos.Types.Transaction>;
/**
* Sets the send coin payload.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} dstReceiver - The destination receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountLD - The amount in LD.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} nativeFee - The native fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} zroFee - The ZRO fee.
* @param {boolean} unwrap - Whether to unwrap the coin.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {aptos.BCS.Bytes} msglibParams - The message library parameters.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
sendCoinPayload(coin: BridgeCoinType, dstChainId: aptos.BCS.Uint16, dstReceiver: aptos.BCS.Bytes, amountLD: aptos.BCS.Uint64 | aptos.BCS.Uint32, nativeFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, zroFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, unwrap: boolean, adapterParams: aptos.BCS.Bytes, msglibPararms: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sends a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} dstReceiver - The destination receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountLD - The amount in LD.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} nativeFee - The native fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} zroFee - The ZRO fee.
* @param {boolean} unwrap - Whether to unwrap the coin.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {aptos.BCS.Bytes} msglibParams - The message library parameters.
* @returns {Promise<aptos.Types.Transaction>} The transaction.
*/
sendCoin(signer: aptos.AptosAccount, coin: BridgeCoinType, dstChainId: aptos.BCS.Uint16, dstReceiver: aptos.BCS.Bytes, amountLD: aptos.BCS.Uint64 | aptos.BCS.Uint32, nativeFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, zroFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, unwrap: boolean, adapterParams: aptos.BCS.Bytes, msglibParams: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Sets the lz receive payload.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} srcAddress - The source address.
* @param {aptos.BCS.Bytes} payload - The payload.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
lzReceivePayload(coin: BridgeCoinType, srcChainId: aptos.BCS.Uint16, srcAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Receives a LayerZero message.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} srcAddress - The source address.
* @param {aptos.BCS.Bytes} payload - The payload.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
lzReceive(signer: aptos.AptosAccount, coin: BridgeCoinType, srcChainId: aptos.BCS.Uint16, srcAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Gets the types from a packet.
*
* @param {Packet} packet - The packet.
* @returns {Promise<string[]>} A promise that resolves to the types.
*/
getTypesFromPacket(packet: Packet): Promise<string[]>;
/**
* Creates a payload for claiming a coin.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
claimCoinPayload(coin: BridgeCoinType): aptos.Types.EntryFunctionPayload;
/**
* Claims a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
claimCoin(signer: aptos.AptosAccount, coin: BridgeCoinType): Promise<aptos.Types.Transaction>;
/**
* Checks if the global pause is enabled.
*
* @returns {Promise<boolean>} A promise that resolves to true if the global pause is enabled, false otherwise.
*/
globalPaused(): Promise<boolean>;
/**
* Gets the remote bridge address for a given remote chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<aptos.BCS.Bytes>} A promise that resolves to the remote bridge address.
*/
getRemoteBridge(remoteChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
/**
* Gets the coin type by remote coin address.
*
* @param {string | aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteCoinAddr - The remote coin address.
* @returns {Promise<TypeInfoEx>} A promise that resolves to the coin type information.
*/
getCoinTypeByRemoteCoin(remoteChainId: string | aptos.BCS.Uint16, remoteCoinAddr: aptos.BCS.Bytes): Promise<TypeInfoEx>;
/**
* Gets the remote coin information.
*
* @param {MayBeBridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<RemoteCoin>} A promise that resolves to the remote coin information.
*/
getRemoteCoin(coin: MayBeBridgeCoinType, remoteChainId: aptos.BCS.Uint16): Promise<RemoteCoin>;
/**
* Gets the coin store resource.
*
* @param {MayBeBridgeCoinType} coin - The coin type.
* @returns {Promise<aptos.Types.MoveResource>} A promise that resolves to the coin store resource.
*/
private getCoinStore;
/**
* Gets the remote chains for a given coin.
*
* @param {MayBeBridgeCoinType} coin - The coin type.
* @returns {Promise<string[]>} A promise that resolves to the remote chains.
*/
getRemoteChains(coin: MayBeBridgeCoinType): Promise<string[]>;
/**
* Gets the remote coins for a given coin.
*
* @param {MayBeBridgeCoinType} coin - The coin type.
* @returns {Promise<RemoteCoin[]>} A promise that resolves to the remote coins.
*/
getRemoteCoins(coin: MayBeBridgeCoinType): Promise<RemoteCoin[]>;
/**
* Checks if a remote coin exists for a given coin and remote chain ID.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<boolean>} A promise that resolves to true if the remote coin exists, false otherwise.
*/
hasRemoteCoin(coin: BridgeCoinType, remoteChainId: aptos.BCS.Uint16): Promise<boolean>;
/**
* Gets the claimable coin amount for a given coin and owner.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the claimable coin amount.
*/
getClaimableCoin(coin: BridgeCoinType, owner: aptos.MaybeHexString): Promise<aptos.BCS.Uint64>;
/**
* Checks if a coin is registered.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<boolean>} A promise that resolves to true if the coin is registered, false otherwise.
*/
hasCoinRegistered(coin: BridgeCoinType): Promise<boolean>;
/**
* Gets the LD to SD rate for a given coin.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<string>} A promise that resolves to the LD to SD rate.
*/
getLd2SdRate(coin: BridgeCoinType): Promise<string>;
/**
* Converts an amount from SD to LD.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountSD - The amount in SD.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the amount in LD.
*/
convertAmountToLD(coin: BridgeCoinType, amountSD: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.BCS.Uint64>;
/**
* Converts an amount from LD to SD.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountLD - The amount in LD.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the amount in SD.
*/
convertAmountToSD(coin: BridgeCoinType, amountLD: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.BCS.Uint64>;
/**
* Creates a payload for registering a coin.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
registerPayload(coin: BridgeCoinType): aptos.Types.EntryFunctionPayload;
/**
* Registers a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
coinRegister(signer: aptos.AptosAccount, coin: BridgeCoinType): Promise<aptos.Types.Transaction>;
/**
* Gets the coin type store resource.
*
* @returns {Promise<aptos.Types.MoveResource>} A promise that resolves to the coin type store resource.
*/
private getCoinTypeStore;
/**
* Gets the coin types.
*
* @returns {Promise<TypeInfoEx[]>} A promise that resolves to the coin types.
*/
getCoinTypes(): Promise<TypeInfoEx[]>;
/**
* Gets the coin information for a given coin type.
*
* @param {MayBeBridgeCoinType} coinType - The coin type.
* @returns {Promise<CoinInfoEx>} A promise that resolves to the coin information.
*/
getCoinInfo(coinType: MayBeBridgeCoinType): Promise<CoinInfoEx>;
/**
* Gets the limited amount for a given coin.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<{ limited: boolean; amount: aptos.BCS.Uint64 }>} A promise that resolves to the limited amount.
*/
getLimitedAmount(coin: BridgeCoinType): Promise<{
limited: boolean;
amount: aptos.BCS.Uint64;
}>;
/**
* Gets the current timestamp.
*
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the current timestamp.
*/
private getCurrentTimestamp;
/**
* Creates a payload for setting the limiter cap.
*
* @param {BridgeCoinType} coin - The coin type.
* @param {boolean} enable - Whether to enable the limiter.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} capSD - The cap in SD.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} windowSec - The window in seconds.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setLimiterCapPayload(coin: BridgeCoinType, enable: boolean, capSD: aptos.BCS.Uint32 | aptos.BCS.Uint64, windowSec: aptos.BCS.Uint32 | aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Sets the limiter cap.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {BridgeCoinType} coin - The coin type.
* @param {boolean} enable - Whether to enable the limiter.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} capSD - The cap in SD.
* @param {aptos.BCS.Uint32 | aptos.BCS.Uint64} windowSec - The window in seconds.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setLimiterCap(signer: aptos.AptosAccount, coin: BridgeCoinType, enable: boolean, capSD: aptos.BCS.Uint32 | aptos.BCS.Uint64, windowSec: aptos.BCS.Uint32 | aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the limit cap for a given coin.
*
* @param {BridgeCoinType} coin - The coin type.
* @returns {Promise<{ enabled: boolean; capSD: aptos.BCS.Uint64; windowSec: aptos.BCS.Uint64 }>} A promise that resolves to an object containing the limit cap information.
* @throws {Error} If an error occurs while fetching the limit cap.
*/
getLimitCap(coin: BridgeCoinType): Promise<{
enabled: boolean;
capSD: aptos.BCS.Uint64;
windowSec: aptos.BCS.Uint64;
}>;
/**
* Sets the global pause state.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {boolean} pause - The pause state to set.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setGlobalPause(signer: aptos.AptosAccount, pause: boolean): Promise<aptos.Types.Transaction>;
}
type bridge_Bridge = Bridge;
declare const bridge_Bridge: typeof Bridge;
declare const bridge_DEFAULT_LIMITER_CAP_SD: typeof DEFAULT_LIMITER_CAP_SD;
declare const bridge_DEFAULT_LIMITER_WINDOW_SEC: typeof DEFAULT_LIMITER_WINDOW_SEC;
type bridge_PacketType = PacketType;
declare const bridge_PacketType: typeof PacketType;
type bridge_RemoteCoin = RemoteCoin;
declare namespace bridge {
export { bridge_Bridge as Bridge, bridge_DEFAULT_LIMITER_CAP_SD as DEFAULT_LIMITER_CAP_SD, bridge_DEFAULT_LIMITER_WINDOW_SEC as DEFAULT_LIMITER_WINDOW_SEC, bridge_PacketType as PacketType, type bridge_RemoteCoin as RemoteCoin };
}
/**
* Class representing a Counter application.
*/
declare class Counter {
/**
* The SDK instance.
*/
private sdk;
/**
* The LzApp instance.
*/
private lzApp;
/**
* The user application type.
*/
private readonly uaType;
/**
* The address of the counter.
*/
readonly address: aptos.MaybeHexString;
/**
* The length of the send payload.
*/
SEND_PAYLOAD_LENGTH: number;
/**
* Creates an instance of Counter.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} counter - The counter address.
* @param {aptos.MaybeHexString} [lzApp] - The LzApp address.
*/
constructor(sdk: SDK, counter: aptos.MaybeHexString, lzApp?: aptos.MaybeHexString);
/**
* Initializes the counter.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
initialize(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
/**
* Gets the remote address for a given chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<aptos.BCS.Bytes>} The remote address.
*/
getRemote(remoteChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
/**
* Gets the current count.
*
* @returns {Promise<aptos.BCS.Uint64>} The current count.
*/
getCount(): Promise<aptos.BCS.Uint64>;
/**
* Creates a payload for setting a remote address.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setRemotePayload(remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets a remote address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
setRemote(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the executor version and address.
*
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} executorVersion - The executor version.
* @param {string} executorAddress - The executor address.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setExecutorPayload(uaType: string, remoteChainId: aptos.BCS.Uint16, executorVersion: aptos.BCS.Uint8, executorAddress: string): aptos.Types.EntryFunctionPayload;
/**
* Sets the executor version and address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} executorVersion - The executor version.
* @param {string} executorAddress - The executor address.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
setExecutor(signer: aptos.AptosAccount, uaType: string, remoteChainId: aptos.BCS.Uint16, executorVersion: aptos.BCS.Uint8, executorAddress: string): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the send msglib.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setAppSendMsglibPayload(remoteChainId: aptos.BCS.Uint16, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload for setting the receive msglib.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setAppReceiveMsglibPayload(remoteChainId: aptos.BCS.Uint16, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload for setting the application configuration.
*
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setAppConfigPayload(majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the application configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
setAppConfig(signer: aptos.AptosAccount, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Sets the application configuration bundle.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {UlnConfigType} config - The configuration bundle.
* @returns {Promise<void>} A promise that resolves when the configuration is set.
*/
setAppConfigBundle(signer: aptos.AptosAccount, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, config: UlnConfigType): Promise<void>;
/**
* Creates a payload for sending data to a remote chain.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} fee - The fee amount.
* @param {Uint8Array} adapterParams - The adapter parameters.
* @param {Uint8Array} msglibParams - The msglib parameters.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
sendToRemotePayload(remoteChainId: aptos.BCS.Uint16, fee: aptos.BCS.Uint64 | aptos.BCS.Uint32, adapterParams: Uint8Array, msglibParams: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Sends data to a remote chain.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} fee - The fee amount.
* @param {Uint8Array} adapterParams - The adapter parameters.
* @param {Uint8Array} msglibParams - The msglib parameters.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
sendToRemote(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, fee: aptos.BCS.Uint64 | aptos.BCS.Uint32, adapterParams: Uint8Array, msglibParams: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Receives data from a remote chain.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @param {aptos.BCS.Bytes} payload - The payload data.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
lzReceive(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Checks if a counter is created for a given address.
*
* @param {aptos.MaybeHexString} address - The address to check.
* @returns {Promise<boolean>} True if the counter is created, false otherwise.
*/
isCounterCreated(address: aptos.MaybeHexString): Promise<boolean>;
/**
* Gets the fee quote for sending a message to a remote chain.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {string} adapterParams - The adapter parameters.
* @param {string} msglibParams - The msglib parameters.
* @param {boolean} payInZro - Whether to pay the fee in ZRO tokens.
* @returns {Promise<[aptos.BCS.Uint64, aptos.BCS.Uint64]>} A tuple containing the native fee and ZRO fee.
*/
quoteFee(remoteChainId: aptos.BCS.Uint16, adapterParams: string, msglibParams: string, payInZro: boolean): Promise<[aptos.BCS.Uint64, aptos.BCS.Uint64]>;
}
/**
* Class representing a Multisig Oracle.
*/
declare class MultisigOracle {
sdk: SDK;
readonly address: aptos.MaybeHexString;
readonly module: string;
readonly moduleName: string;
/**
* Creates an instance of the MultisigOracle class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} address - The address of the multisig oracle.
*/
constructor(sdk: SDK, address: aptos.MaybeHexString);
/**
* Gets the payload for proposing a transaction.
*
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations required.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getProposePayload(hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Proposes a transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations required.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
propose(signer: aptos.AptosAccount, hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the entry function for proposing a transaction.
*
* @param {aptos.MaybeHexString} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations required.
* @returns {aptos.TxnBuilderTypes.TransactionPayloadEntryFunction} The entry function.
*/
getProposeEntryFunction(hash: aptos.MaybeHexString, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.TxnBuilderTypes.TransactionPayloadEntryFunction;
/**
* Gets the payload for transferring the validator role.
*
* @param {aptos.MaybeHexString} newValidator - The new validator address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getTransferValidatorPayload(newValidator: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
/**
* Sets the validator.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} newValidator - The new validator address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setValidator(signer: aptos.AptosAccount, newValidator: aptos.MaybeHexString): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting an admin.
*
* @param {aptos.MaybeHexString} candidate - The candidate address.
* @param {boolean} active - The active state.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetAdminPayload(candidate: aptos.MaybeHexString, active: boolean): aptos.Types.EntryFunctionPayload;
/**
* Sets an admin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} candidate - The candidate address.
* @param {boolean} active - The active state.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setAdmin(signer: aptos.AptosAccount, candidate: aptos.MaybeHexString, active: boolean): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for allowlisting a user address.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getAllowlistPayload(ua: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
/**
* Allowlists a user address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} ua - The user address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
allowlist(signer: aptos.AptosAccount, ua: aptos.MaybeHexString): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for denylisting a user address.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getDenylistPayload(ua: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
/**
* Denylists a user address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} ua - The user address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
denylist(signer: aptos.AptosAccount, ua: aptos.MaybeHexString): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting the fee.
*
* @param {aptos.BCS.Uint64} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} baseFee - The base fee.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetFeePayload(remoteChainId: aptos.BCS.Uint64, baseFee: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Sets the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint64} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} baseFee - The base fee.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFee(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint64, baseFee: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for withdrawing the fee.
*
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64} amount - The amount to withdraw.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getWithdrawFeePayload(receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Withdraws the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64} amount - The amount to withdraw.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
withdrawFee(signer: aptos.AptosAccount, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Checks if an account is an admin.
*
* @param {aptos.MaybeHexString} account - The account address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is an admin, false otherwise.
*/
isAdmin(account: aptos.MaybeHexString): Promise<boolean>;
/**
* Gets the validator address.
*
* @returns {Promise<aptos.MaybeHexString>} A promise that resolves to the validator address.
*/
getValidator(): Promise<aptos.MaybeHexString>;
/**
* Checks if an account is a validator.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is a validator, false otherwise.
*/
isValidator(validator: aptos.MaybeHexString): Promise<boolean>;
/**
* Gets the multisig public key and address.
*
* @param {string[]} validatorPubKeys - The validator public keys.
* @returns {Promise<[aptos.TxnBuilderTypes.MultiEd25519PublicKey, string]>} A promise that resolves to the multisig public key and address.
*/
getMultisigPubKeyAndAddress(validatorPubKeys: string[]): Promise<[aptos.TxnBuilderTypes.MultiEd25519PublicKey, string]>;
/**
* Gets the resource address.
*
* @returns {Promise<string>} A promise that resolves to the resource address.
*/
getResourceAddress(): Promise<string>;
}
/**
* Class representing a Multisig Oracle TSS.
*/
declare class MultisigOracleTss {
sdk: SDK;
readonly address: aptos.MaybeHexString;
readonly module: string;
readonly moduleName: string;
/**
* Creates an instance of the MultisigOracleTss class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} address - The address of the multisig oracle.
*/
constructor(sdk: SDK, address: aptos.MaybeHexString);
/**
* Gets the payload for proposing a transaction.
*
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getProposePayload(hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Proposes a transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
propose(signer: aptos.AptosAccount, hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting a validator.
*
* @param {Uint8Array} validator - The validator address.
* @param {boolean} active - Whether the validator is active.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetValidatorPayload(validator: Uint8Array, active: boolean, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Sets a validator.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} validator - The validator address.
* @param {boolean} active - Whether the validator is active.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setValidator(signer: aptos.AptosAccount, validator: Uint8Array, active: boolean, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting the threshold.
*
* @param {aptos.BCS.Uint8} threshold - The threshold.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetThresholdPayload(threshold: aptos.BCS.Uint8, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Sets the threshold.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint8} threshold - The threshold.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setThreshold(signer: aptos.AptosAccount, threshold: aptos.BCS.Uint8, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting an admin.
*
* @param {aptos.MaybeHexString} candidate - The candidate address.
* @param {boolean} active - Whether the admin is active.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetAdminPayload(candidate: aptos.MaybeHexString, active: boolean, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Sets an admin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} candidate - The candidate address.
* @param {boolean} active - Whether the admin is active.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setAdmin(signer: aptos.AptosAccount, candidate: aptos.MaybeHexString, active: boolean, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for allowlisting a user.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getAllowlistPayload(ua: aptos.MaybeHexString, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Allowlists a user.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} ua - The user address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
allowlist(signer: aptos.AptosAccount, ua: aptos.MaybeHexString, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for denylisting a user.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getDenylistPayload(ua: aptos.MaybeHexString, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): aptos.Types.EntryFunctionPayload;
/**
* Denylists a user.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} ua - The user address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} expiration - The expiration time.
* @param {Uint8Array} signatures - The signatures.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
denylist(signer: aptos.AptosAccount, ua: aptos.MaybeHexString, expiration: aptos.BCS.Uint64 | aptos.BCS.Uint32, signatures: Uint8Array): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for initializing the configuration.
*
* @param {Uint8Array[]} validators - The validators.
* @param {aptos.BCS.Uint8} threshold - The threshold.
* @param {aptos.MaybeHexString[]} admins - The admins.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getInitConfigPayload(validators: Uint8Array[], threshold: aptos.BCS.Uint8, admins: aptos.MaybeHexString[]): {
function: string;
type_arguments: never[];
arguments: (number | Uint8Array[] | aptos.MaybeHexString[])[];
};
/**
* Initializes the configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array[]} validators - The validators.
* @param {aptos.BCS.Uint8} threshold - The threshold.
* @param {aptos.MaybeHexString[]} admins - The admins.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
initConfig(signer: aptos.AptosAccount, validators: Uint8Array[], threshold: aptos.BCS.Uint8, admins: aptos.MaybeHexString[]): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting the fee.
*
* @param {aptos.BCS.Uint64} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} baseFee - The base fee.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetFeePayload(remoteChainId: aptos.BCS.Uint64, baseFee: aptos.BCS.Uint64): {
function: string;
type_arguments: never[];
arguments: bigint[];
};
/**
* Gets the payload for upgrading the contract.
*
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getUpgradePayload(): {
function: string;
type_arguments: never[];
arguments: never[];
};
/**
* Upgrades the contract.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
upgrade(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for setting the use of MSO.
*
* @param {boolean} useMso - Whether to use MSO.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getSetUseMsoPayload(useMso: boolean): {
function: string;
type_arguments: never[];
arguments: boolean[];
};
/**
* Sets the use of MSO.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {boolean} useMso - Whether to use MSO.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setUseMso(signer: aptos.AptosAccount, useMso: boolean): Promise<aptos.Types.Transaction>;
/**
* Sets the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint64} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} baseFee - The base fee.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFee(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint64, baseFee: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the payload for withdrawing the fee.
*
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64} amount - The amount to withdraw.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getWithdrawFeePayload(receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Withdraws the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64} amount - The amount to withdraw.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
withdrawFee(signer: aptos.AptosAccount, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the list of admin addresses.
*
* @returns {Promise<aptos.MaybeHexString[]>} A promise that resolves to the list of admin addresses.
*/
getAdmins(): Promise<aptos.MaybeHexString[]>;
/**
* Gets the list of validator addresses.
*
* @returns {Promise<aptos.MaybeHexString[]>} A promise that resolves to the list of validator addresses.
*/
getValidators(): Promise<aptos.MaybeHexString[]>;
/**
* Gets the threshold value.
*
* @returns {Promise<aptos.BCS.Uint8>} A promise that resolves to the threshold value.
*/
getThreshold(): Promise<aptos.BCS.Uint8>;
/**
* Gets the resource address.
*
* @returns {Promise<string>} A promise that resolves to the resource address.
*/
getResourceAddress(): Promise<string>;
/**
* Checks if an account is an admin.
*
* @param {aptos.MaybeHexString} account - The account address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is an admin, false otherwise.
*/
isAdmin(account: aptos.MaybeHexString): Promise<boolean>;
/**
* Checks if an account is a validator.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is a validator, false otherwise.
*/
isValidator(validator: aptos.MaybeHexString): Promise<boolean>;
/**
* Hashes the propose function data.
*
* @param {aptos.MaybeHexString} hash - The hash.
* @param {number} blockConfirmation - The block confirmation.
* @param {number} expiration - The expiration time.
* @returns {string} The hashed propose function data.
*/
hashPropose(hash: aptos.MaybeHexString, blockConfirmation: number, expiration: number): string;
/**
* Hashes the set validator function data.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @param {boolean} active - The active state.
* @param {number} expiration - The expiration time.
* @returns {string} The hashed set validator function data.
*/
hashSetValidator(validator: aptos.MaybeHexString, active: boolean, expiration: number): string;
/**
* Hashes the set threshold function data.
*
* @param {aptos.BCS.Uint8} threshold - The threshold value.
* @param {number} expiration - The expiration time.
* @returns {string} The hashed set threshold function data.
*/
hashSetThreshold(threshold: aptos.BCS.Uint8, expiration: number): string;
/**
* Hashes the allowlist function data.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @param {number} expiration - The expiration time.
* @returns {string} The hashed allowlist function data.
*/
hashAllowlist(ua: aptos.MaybeHexString, expiration: number): string;
/**
* Hashes the denylist function data.
*
* @param {aptos.MaybeHexString} ua - The user address.
* @param {number} expiration - The expiration time.
* @returns {string} The hashed denylist function data.
*/
hashDenylist(ua: aptos.MaybeHexString, expiration: number): string;
}
/**
* Class representing an OFT (Omnichain Fungible Token).
*/
declare class OFT {
readonly address: aptos.MaybeHexString;
readonly module: string;
SEND_PAYLOAD_LENGTH: number;
private sdk;
private lzApp;
/**
* Creates an instance of the OFT class.
*
* @param {SDK} sdk - The SDK instance.
*/
constructor(sdk: SDK);
/**
* Sets the application configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} major - The major version.
* @param {aptos.BCS.Uint8} minor - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setAppConfig(signer: aptos.AptosAccount, oftType: string, major: aptos.BCS.Uint16, minor: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Gets the minimum destination gas.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64} type - The type.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the minimum destination gas.
*/
getMinDstGas(oftType: string, dstChainId: aptos.BCS.Uint16, type: aptos.BCS.Uint64): Promise<aptos.BCS.Uint64>;
/**
* Gets the payload for setting the minimum destination gas.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64} packetType - The packet type.
* @param {aptos.BCS.Uint64} minGas - The minimum gas.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setMinDstGasPayload(oftType: string, dstChainId: aptos.BCS.Uint16, packetType: aptos.BCS.Uint64, minGas: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Checks if custom adapter parameters are enabled.
*
* @param {string} oftType - The OFT type.
* @returns {Promise<boolean>} A promise that resolves to true if custom adapter parameters are enabled, false otherwise.
*/
customAdapterParamsEnabled(oftType: string): Promise<boolean>;
/**
* Gets the payload for enabling custom adapter parameters.
*
* @param {string} oftType - The OFT type.
* @param {boolean} enable - Whether to enable custom adapter parameters.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
enableCustomAdapterParamsPayload(oftType: string, enable: boolean): aptos.Types.EntryFunctionPayload;
/**
* Gets the payload for setting the remote address.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteOftAddr - The remote OFT address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setRemotePayload(oftType: string, remoteChainId: aptos.BCS.Uint16, remoteOftAddr: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the remote address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteOftAddr - The remote OFT address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setRemote(signer: aptos.AptosAccount, oftType: string, remoteChainId: aptos.BCS.Uint16, remoteOftAddr: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Gets the remote address.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<aptos.BCS.Bytes>} A promise that resolves to the remote address.
*/
getRemote(oftType: string, remoteChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
/**
* Gets the payload for setting the default fee.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint64} feeBp - The fee basis points.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
payloadOfSetDefaultFee(oftType: string, feeBp: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Sets the default fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint64} feeBp - The fee basis points.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setDefaultFee(signer: aptos.AptosAccount, oftType: string, feeBp: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the default fee.
*
* @param {string} oftType - The OFT type.
* @returns {Promise<string>} A promise that resolves to the default fee.
*/
getDefaultFee(oftType: string): Promise<string>;
/**
* Gets the payload for setting the fee.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {boolean} enabled - Whether the fee is enabled.
* @param {aptos.BCS.Uint64} feeBp - The fee basis points.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
payloadOfSetFee(oftType: string, remoteChainId: aptos.BCS.Uint16, enabled: boolean, feeBp: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Sets the fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {boolean} enabled - Whether the fee is enabled.
* @param {aptos.BCS.Uint64} feeBp - The fee basis points.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFee(signer: aptos.AptosAccount, oftType: string, remoteChainId: aptos.BCS.Uint16, enabled: boolean, feeBp: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Gets the fee.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<string>} A promise that resolves to the fee.
*/
getFee(oftType: string, remoteChainId: aptos.BCS.Uint16): Promise<string>;
/**
* Gets the payload for setting the fee owner.
*
* @param {string} oftType - The OFT type.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
payloadOfSetFeeOwner(oftType: string, owner: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
/**
* Sets the fee owner.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFeeOwner(signer: aptos.AptosAccount, oftType: string, owner: aptos.MaybeHexString): Promise<aptos.Types.Transaction>;
/**
* Gets the fee owner.
*
* @param {string} oftType - The OFT type.
* @returns {Promise<aptos.HexString>} A promise that resolves to the fee owner.
*/
getFeeOwner(oftType: string): Promise<aptos.HexString>;
/**
* Gets the payload for sending a coin.
*
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} dstReceiver - The destination receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to send.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} minAmount - The minimum amount.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} nativeFee - The native fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} zroFee - The ZRO fee.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {aptos.BCS.Bytes} msglibParams - The message library parameters.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
sendCoinPayload(oftType: string, dstChainId: aptos.BCS.Uint16, dstReceiver: aptos.BCS.Bytes, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32, minAmount: aptos.BCS.Uint64 | aptos.BCS.Uint32, nativeFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, zroFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, adapterParams: aptos.BCS.Bytes, msglibPararms: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sends a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The OFT type.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Bytes} dstReceiver - The destination receiver address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to send.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} minAmount - The minimum amount.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} nativeFee - The native fee.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} zroFee - The ZRO fee.
* @param {aptos.BCS.Bytes} adapterParams - The adapter parameters.
* @param {aptos.BCS.Bytes} msglibParams - The message library parameters.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
sendCoin(signer: aptos.AptosAccount, oftType: string, dstChainId: aptos.BCS.Uint16, dstReceiver: aptos.BCS.Bytes, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32, minAmount: aptos.BCS.Uint64 | aptos.BCS.Uint32, nativeFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, zroFee: aptos.BCS.Uint64 | aptos.BCS.Uint32, adapterParams: aptos.BCS.Bytes, msglibParams: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Creates the payload for the LayerZero receive function.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} srcAddress - The source address.
* @param {aptos.BCS.Bytes} payload - The payload.
* @returns {aptos.Types.EntryFunctionPayload} The payload for the LayerZero receive function.
*/
payloadOfLzReceive(oftType: string, srcChainId: aptos.BCS.Uint16, srcAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Executes the LayerZero receive function.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The type of the OFT.
* @param {aptos.BCS.Uint16} srcChainId - The source chain ID.
* @param {aptos.BCS.Bytes} srcAddress - The source address.
* @param {aptos.BCS.Bytes} payload - The payload.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
lzReceive(signer: aptos.AptosAccount, oftType: string, srcChainId: aptos.BCS.Uint16, srcAddress: aptos.BCS.Bytes, payload: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Creates the payload for claiming a coin.
*
* @param {string} oftType - The type of the OFT.
* @returns {aptos.Types.EntryFunctionPayload} The payload for claiming a coin.
*/
payloadOfClaimCoin(oftType: string): aptos.Types.EntryFunctionPayload;
/**
* Claims a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The type of the OFT.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
claimCoin(signer: aptos.AptosAccount, oftType: string): Promise<aptos.Types.Transaction>;
/**
* Checks if the OFT is initialized.
*
* @param {string} oftType - The type of the OFT.
* @returns {Promise<boolean>} A promise that resolves to true if the OFT is initialized, false otherwise.
*/
isInitialized(oftType: string): Promise<boolean>;
/**
* Gets the claimable coin amount for a given owner.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the claimable coin amount.
*/
getClaimableCoin(oftType: string, owner: aptos.MaybeHexString): Promise<aptos.BCS.Uint64>;
/**
* Gets the total value locked for the OFT.
*
* @param {string} oftType - The type of the OFT.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the total value locked.
*/
getTotalValueLocked(oftType: string): Promise<aptos.BCS.Uint64>;
/**
* Gets the LD to SD rate for the OFT.
*
* @param {string} oftType - The type of the OFT.
* @returns {Promise<string>} A promise that resolves to the LD to SD rate.
*/
getLd2SdRate(oftType: string): Promise<string>;
/**
* Converts an amount from SD to LD.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountSD - The amount in SD.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the amount in LD.
*/
convertAmountToLD(oftType: string, amountSD: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.BCS.Uint64>;
/**
* Converts an amount from LD to SD.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amountLD - The amount in LD.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the amount in SD.
*/
convertAmountToSD(oftType: string, amountLD: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.BCS.Uint64>;
/**
* Creates the payload for registering a coin.
*
* @param {string} oftType - The type of the OFT.
* @returns {aptos.Types.EntryFunctionPayload} The payload for registering a coin.
*/
payloadOfCoinRegister(oftType: string): aptos.Types.EntryFunctionPayload;
/**
* Registers a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The type of the OFT.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
coinRegister(signer: aptos.AptosAccount, oftType: string): Promise<aptos.Types.Transaction>;
/**
* Gets the address from the OFT type.
*
* @param {string} oftType - The type of the OFT.
* @returns {string} The address.
* @throws {Error} If the OFT type is invalid.
*/
getTypeAddress(oftType: string): string;
/**
* Gets the global store resource for the OFT.
*
* @param {string} oftType - The type of the OFT.
* @returns {Promise<aptos.Types.MoveResource>} A promise that resolves to the global store resource.
*/
private getGlobalStore;
/**
* Gets the coin store resource for the OFT.
*
* @param {string} oftType - The type of the OFT.
* @returns {Promise<aptos.Types.MoveResource>} A promise that resolves to the coin store resource.
*/
private getCoinStore;
/**
* Creates the payload for transferring a coin.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} to - The recipient address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to transfer.
* @returns {aptos.Types.EntryFunctionPayload} The payload for transferring a coin.
*/
transferPayload(oftType: string, to: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Transfers a coin.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} to - The recipient address.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} amount - The amount to transfer.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
transfer(signer: aptos.AptosAccount, oftType: string, to: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Gets the balance of a coin for a given owner.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} owner - The owner address.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the balance.
*/
balance(oftType: string, owner: aptos.MaybeHexString): Promise<aptos.BCS.Uint64>;
/**
* Checks if an account is registered for a given coin.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} accountAddr - The account address.
* @returns {Promise<boolean>} A promise that resolves to true if the account is registered, false otherwise.
*/
isAccountRegistered(oftType: string, accountAddr: aptos.MaybeHexString): Promise<boolean>;
/**
* Gets the current timestamp.
*
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the current timestamp.
*/
private getCurrentTimestamp;
/**
* Gets the supply of a coin for a given owner.
*
* @param {string} oftType - The type of the OFT.
* @param {aptos.MaybeHexString} oftOwner - The owner address.
* @returns {Promise<aptos.BCS.Uint128>} A promise that resolves to the supply.
*/
supply(oftType: string, oftOwner: aptos.MaybeHexString): Promise<aptos.BCS.Uint128>;
}
/**
* Class representing an Oracle.
*/
declare class Oracle {
sdk: SDK;
/**
* The address of the Oracle.
*/
readonly address: aptos.MaybeHexString;
/**
* The module of the Oracle.
*/
readonly module: string;
/**
* The module name of the Oracle.
*/
readonly moduleName: string;
/**
* Creates an instance of the Oracle class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} address - The address of the Oracle.
*/
constructor(sdk: SDK, address: aptos.MaybeHexString);
/**
* Gets the threshold value.
*
* @returns {Promise<aptos.BCS.Uint8>} A promise that resolves to the threshold value.
*/
getThreshold(): Promise<aptos.BCS.Uint8>;
/**
* Creates a payload for setting the threshold.
*
* @param {aptos.BCS.Uint8} threshold - The threshold value.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setThresholdPayload(threshold: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Sets the threshold value.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint8} threshold - The threshold value.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setThreshold(signer: aptos.AptosAccount, threshold: aptos.BCS.Uint8): Promise<aptos.Types.Transaction>;
/**
* Checks if a validator is valid.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @returns {Promise<boolean>} A promise that resolves to true if the validator is valid, false otherwise.
*/
isValidator(validator: aptos.MaybeHexString): Promise<boolean>;
/**
* Creates a payload for setting a validator.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @param {boolean} active - The active status of the validator.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setValidatorPayload(validator: aptos.MaybeHexString, active: boolean): aptos.Types.EntryFunctionPayload;
/**
* Sets a validator.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} validator - The validator address.
* @param {boolean} active - The active status of the validator.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setValidator(signer: aptos.AptosAccount, validator: aptos.MaybeHexString, active: boolean): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting a fee.
*
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setFeePayload(dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Sets a fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} dstChainId - The destination chain ID.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} baseFee - The base fee.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setFee(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, baseFee: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for proposing a transaction.
*
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
getProposePayload(hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
/**
* Proposes a transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
propose(signer: aptos.AptosAccount, hash: Uint8Array, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
/**
* Checks if a proposal is submitted.
*
* @param {aptos.MaybeHexString} validator - The validator address.
* @param {string} hash - The hash of the transaction.
* @param {aptos.BCS.Uint64 | aptos.BCS.Uint32} confirmations - The number of confirmations.
* @returns {Promise<boolean>} A promise that resolves to true if the proposal is submitted, false otherwise.
*/
isSubmitted(validator: aptos.MaybeHexString, hash: string, confirmations: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<boolean>;
/**
* Gets the resource address.
*
* @returns {Promise<string>} A promise that resolves to the resource address.
*/
getResourceAddress(): Promise<string>;
/**
* Withdraws a fee.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.MaybeHexString} receiver - The receiver address.
* @param {aptos.BCS.Uint64} amount - The amount to withdraw.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
withdrawFee(signer: aptos.AptosAccount, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
}
/**
* Class representing the LzApp.
*/
declare class LzApp {
/**
* The SDK instance.
*/
private sdk;
/**
* The LzApp address.
*/
private readonly lzApp;
/**
* The UA address.
*/
private readonly ua;
/**
* Creates an instance of the LzApp class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} lzApp - The LzApp address.
* @param {aptos.MaybeHexString} ua - The UA address.
*/
constructor(sdk: SDK, lzApp: aptos.MaybeHexString, ua: aptos.MaybeHexString);
/**
* Gets the remote address for a given remote chain ID.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @returns {Promise<aptos.BCS.Bytes>} A promise that resolves to the remote address.
*/
getRemote(remoteChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
/**
* Gets the minimum destination gas for a given UA type, remote chain ID, and packet type.
*
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} packetType - The packet type.
* @returns {Promise<aptos.BCS.Uint64>} A promise that resolves to the minimum destination gas.
*/
getMinDstGas(uaType: string, remoteChainId: aptos.BCS.Uint16, packetType: aptos.BCS.Uint64): Promise<aptos.BCS.Uint64>;
/**
* Creates a payload for setting the minimum destination gas.
*
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} packetType - The packet type.
* @param {aptos.BCS.Uint64} minDstGas - The minimum destination gas.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setMinDstPayload(uaType: string, remoteChainId: aptos.BCS.Uint16, packetType: aptos.BCS.Uint64, minDstGas: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Sets the minimum destination gas.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint64} packetType - The packet type.
* @param {aptos.BCS.Uint64} minDstGas - The minimum destination gas.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setMinDstGas(signer: aptos.AptosAccount, uaType: string, remoteChainId: aptos.BCS.Uint16, packetType: aptos.BCS.Uint64, minDstGas: aptos.BCS.Uint64): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the remote address.
*
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setRemotePaylaod(remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the remote address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Bytes} remoteAddress - The remote address.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setRemote(signer: aptos.AptosAccount, remoteChainId: aptos.BCS.Uint16, remoteAddress: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the executor version and address.
*
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} executorVersion - The executor version.
* @param {string} executorAddress - The executor address.
* @returns {aptos.Types.EntryFunctionPayload} The entry function payload.
*/
setExecutorPayload(uaType: string, remoteChainId: aptos.BCS.Uint16, executorVersion: aptos.BCS.Uint8, executorAddress: string): aptos.Types.EntryFunctionPayload;
/**
* Sets the executor version and address.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} executorVersion - The executor version.
* @param {string} executorAddress - The executor address.
* @returns {Promise<aptos.Types.Transaction>} The transaction result.
*/
setExecutor(signer: aptos.AptosAccount, uaType: string, remoteChainId: aptos.BCS.Uint16, executorVersion: aptos.BCS.Uint8, executorAddress: string): Promise<aptos.Types.Transaction>;
/**
* Creates a payload for setting the send msglib.
*
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setSendMsglibPayload(uaType: string, remoteChainId: aptos.BCS.Uint16, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload for setting the receive msglib.
*
* @param {string} uaType - The user application type.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setReceiveMsglibPayload(uaType: string, remoteChainId: aptos.BCS.Uint16, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8): aptos.Types.EntryFunctionPayload;
/**
* Creates a payload for setting the configuration.
*
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {aptos.Types.EntryFunctionPayload} The payload.
*/
setConfigPayload(uaType: string, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
/**
* Sets the configuration.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {aptos.BCS.Uint8} configType - The configuration type.
* @param {aptos.BCS.Bytes} configBytes - The configuration bytes.
* @returns {Promise<aptos.Types.Transaction>} A promise that resolves to the transaction.
*/
setConfig(signer: aptos.AptosAccount, uaType: string, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, configType: aptos.BCS.Uint8, configBytes: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Sets the configuration bundle.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {string} uaType - The UA type.
* @param {aptos.BCS.Uint16} majorVersion - The major version.
* @param {aptos.BCS.Uint8} minorVersion - The minor version.
* @param {aptos.BCS.Uint16} remoteChainId - The remote chain ID.
* @param {UlnConfigType} config - The configuration.
* @returns {Promise<void>} A promise that resolves when the configuration bundle is set.
*/
setConfigBundle(signer: aptos.AptosAccount, uaType: string, majorVersion: aptos.BCS.Uint16, minorVersion: aptos.BCS.Uint8, remoteChainId: aptos.BCS.Uint16, config: UlnConfigType): Promise<void>;
}
/**
* Class representing the PreCrime module.
*/
declare class PreCrime {
private sdk;
/**
* The address of the PreCrime module.
*/
readonly address: aptos.MaybeHexString;
/**
* The module path for the PreCrime module.
*/
readonly module: string;
/**
* The module name for the PreCrime module.
*/
readonly moduleName: string;
/**
* Creates an instance of the PreCrime class.
*
* @param {SDK} sdk - The SDK instance.
* @param {aptos.MaybeHexString} address - The address of the PreCrime module.
*/
constructor(sdk: SDK, address: aptos.MaybeHexString);
/**
* Set the precrime peers for a given OFT type.
*
* @param {string} oftType - The OFT type, e.g. 0x1::BTCbOFT::BTCb.
* @param {aptos.BCS.Uint32[]} eids - The EIDs to set the precrime peers for, e.g. [101, 102, 106] for [ETHEREUM, BSC, AVALANCHE].
* @param {aptos.MaybeHexString[]} precrimePeers - The precrime peers to set.
* @returns {aptos.Types.EntryFunctionPayload} The payload to be used in the transaction.
*/
setPreCrimePeersPayload(oftType: string, eids: aptos.BCS.Uint32[], precrimePeers: aptos.MaybeHexString[]): aptos.Types.EntryFunctionPayload;
/**
* Set the max batch size for a given OFT type.
*
* @param {string} oftType - The OFT type, e.g. 0x1::BTCbOFT::BTCb.
* @param {aptos.BCS.Uint64} maxBatchSize - The max batch size to set.
* @returns {aptos.Types.EntryFunctionPayload} The payload to be used in the transaction.
*/
setMaxBatchSizePayload(oftType: string, maxBatchSize: aptos.BCS.Uint64): aptos.Types.EntryFunctionPayload;
/**
* Get the configuration for the given packets.
*
* @param {aptos.MaybeHexString[]} packets - The packets to get the configuration for.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<aptos.MaybeHexString>} The configuration.
*/
getConfig(packets: aptos.MaybeHexString[], ledger_version?: string): Promise<aptos.MaybeHexString>;
/**
* Simulate the given packets.
*
* @param {aptos.MaybeHexString[]} packets - The packets to simulate.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<aptos.MaybeHexString>} The simulation result.
*/
simulate(packets: aptos.MaybeHexString[], ledger_version?: string): Promise<aptos.MaybeHexString>;
/**
* Perform precrime with the given packets and simulations.
*
* @param {aptos.MaybeHexString[]} packets - The packets to precrime.
* @param {aptos.MaybeHexString[]} simulations - The simulations to use for precrime.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<boolean>} The result of the precrime.
*/
precrime(packets: aptos.MaybeHexString[], simulations: aptos.MaybeHexString[], ledger_version?: string): Promise<boolean>;
/**
* Get the configuration types for the given packets.
*
* @param {aptos.MaybeHexString[]} packets - The packets to get the configuration types for.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<string[]>} The configuration types.
*/
getConfigTypes(packets: aptos.MaybeHexString[], ledger_version?: string): Promise<string[]>;
/**
* Get the simulation types for the given packets.
*
* @param {aptos.MaybeHexString[]} packets - The packets to get the simulation types for.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<string[]>} The simulation types.
*/
getSimulateTypes(packets: aptos.MaybeHexString[], ledger_version?: string): Promise<string[]>;
/**
* Get the precrime types for the given packets and simulations.
*
* @param {aptos.MaybeHexString[]} packets - The packets to get the precrime types for.
* @param {aptos.MaybeHexString[]} simulations - The simulations to use for precrime.
* @param {string} [ledger_version] - The ledger version.
* @returns {Promise<string[]>} The precrime types.
*/
getPreCrimeTypes(packets: aptos.MaybeHexString[], simulations: aptos.MaybeHexString[], ledger_version?: string): Promise<string[]>;
/**
* Format the given types.
*
* @param {TypeInfo[]} types - The types to format.
* @returns {string[]} The formatted types.
*/
private formatTypes;
/**
* Assert that the given OFT type is valid.
*
* @param {string} oftType - The OFT type to assert.
* @throws {Error} If the OFT type is invalid.
*/
private assertType;
}
type index$1_Coin = Coin;
declare const index$1_Coin: typeof Coin;
type index$1_Counter = Counter;
declare const index$1_Counter: typeof Counter;
type index$1_LzApp = LzApp;
declare const index$1_LzApp: typeof LzApp;
type index$1_MultisigOracle = MultisigOracle;
declare const index$1_MultisigOracle: typeof MultisigOracle;
type index$1_MultisigOracleTss = MultisigOracleTss;
declare const index$1_MultisigOracleTss: typeof MultisigOracleTss;
type index$1_OFT = OFT;
declare const index$1_OFT: typeof OFT;
type index$1_Oracle = Oracle;
declare const index$1_Oracle: typeof Oracle;
type index$1_PreCrime = PreCrime;
declare const index$1_PreCrime: typeof PreCrime;
declare namespace index$1 {
export { index$1_Coin as Coin, index$1_Counter as Counter, index$1_LzApp as LzApp, index$1_MultisigOracle as MultisigOracle, index$1_MultisigOracleTss as MultisigOracleTss, index$1_OFT as OFT, index$1_Oracle as Oracle, index$1_PreCrime as PreCrime, index$1_bridge as bridge };
}
/**
* Rebuilds a compiled script bytecode with updated addresses and names.
*
* @param {string | Uint8Array} bytecode - The original bytecode.
* @param {Array<{ oldValue: Uint8Array, newValue: Uint8Array }>} addresses - The addresses to update.
* @param {Array<{ oldValue: string, newValue: string }>} names - The names to update.
* @returns {string} The updated bytecode as a hex string.
*/
declare function rebuildCompileScriptBytecode(bytecode: string | Uint8Array, addresses: {
oldValue: Uint8Array;
newValue: Uint8Array;
}[], names: {
oldValue: string;
newValue: string;
}[]): string;
declare const index_rebuildCompileScriptBytecode: typeof rebuildCompileScriptBytecode;
declare namespace index {
export { index_rebuildCompileScriptBytecode as rebuildCompileScriptBytecode };
}
/**
* Options for configuring accounts.
*/
type AccountsOption = {
layerzero?: aptos.MaybeHexString;
layerzero_common?: aptos.MaybeHexString;
msglib_auth?: aptos.MaybeHexString;
msglib_v1_1?: aptos.MaybeHexString;
msglib_v2?: aptos.MaybeHexString;
msglib_v2_1?: aptos.MaybeHexString;
msglib_v3?: aptos.MaybeHexString;
msglib_routing_helper?: aptos.MaybeHexString;
uln_301?: aptos.MaybeHexString;
uln_301_receiver?: aptos.MaybeHexString;
zro?: aptos.MaybeHexString;
executor_auth?: aptos.MaybeHexString;
executor_ext?: aptos.MaybeHexString;
executor_v2?: aptos.MaybeHexString;
layerzero_apps?: aptos.MaybeHexString;
layerzero_apps_pubkey?: aptos.MaybeHexString;
} & {
[key: string]: aptos.MaybeHexString;
};
/**
* Options for configuring the SDK.
*/
interface SdkOptions {
/**
* The Aptos client provider.
*/
provider: aptos.AptosClient;
/**
* The stage of the SDK.
*/
stage?: Stage;
/**
* The accounts options.
*/
accounts?: AccountsOption;
}
/**
* The main SDK class for interacting with Layerzero.
*/
declare class SDK {
/**
* The stage of the SDK.
*/
stage: Stage;
/**
* The Aptos client instance.
*/
client: aptos.AptosClient;
/**
* The Layerzero module instance.
*/
LayerzeroModule: Layerzero;
/**
* The accounts options.
*/
accounts: AccountsOption;
/**
* Creates an instance of the SDK class.
*
* @param {SdkOptions} options - The SDK options.
*/
constructor(options: SdkOptions);
viewFunction(payload: aptos.Types.ViewRequest): Promise<aptos.Types.MoveValue[]>;
/**
* Sends and confirms a BCS transaction.
*
* @param {aptos.BCS.Bytes} bcsTransction - The BCS transaction.
* @returns {Promise<aptos.Types.Transaction>} The confirmed transaction.
*/
sendAndConfirmBcsTransaction(bcsTransction: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
/**
* Sends and confirms a transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.Types.EntryFunctionPayload} payload - The transaction payload.
* @returns {Promise<aptos.Types.Transaction>} The confirmed transaction.
*/
sendAndConfirmTransaction(signer: aptos.AptosAccount, payload: aptos.Types.EntryFunctionPayload): Promise<aptos.Types.Transaction>;
sendAndConfirmScriptTransaction(signer: aptos.AptosAccount, payload: aptos.TxnBuilderTypes.Script): Promise<aptos.Types.Transaction>;
/**
* Estimates the gas for a transaction.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {aptos.Types.EntryFunctionPayload} payload - The transaction payload.
* @returns {Promise<{ max_gas_amount: string, gas_unit_price: string }>} The gas estimation.
*/
estimateGas(signer: aptos.AptosAccount, payload: aptos.Types.EntryFunctionPayload): Promise<{
max_gas_amount: string;
gas_unit_price: string;
}>;
estimateScriptTxGas(signer: aptos.AptosAccount, payload: aptos.TxnBuilderTypes.TransactionPayloadScript): Promise<{
max_gas_amount: string;
gas_unit_price: string;
}>;
innerEstimateGas(signer: aptos.AptosAccount, txnRequest: aptos.TxnBuilderTypes.RawTransaction): Promise<{
max_gas_amount: string;
gas_unit_price: string;
}>;
/**
* Sends and confirms a multi-signature transaction.
*
* @param {aptos.AptosClient} client - The Aptos client.
* @param {string} multisigAccountAddress - The multi-signature account address.
* @param {aptos.TxnBuilderTypes.MultiEd25519PublicKey} multisigAccountPubkey - The multi-signature account public key.
* @param {aptos.TxnBuilderTypes.TransactionPayload} payload - The transaction payload.
* @param {MultipleSignFunc} [signFunc] - The sign function.
* @param {MutipleSignatureItem[]} [signedItems] - The signed items.
* @returns {Promise<aptos.Types.Transaction_UserTransaction>} The confirmed transaction.
*/
sendAndConfirmMultiSigTransaction(client: aptos.AptosClient, multisigAccountAddress: string, multisigAccountPubkey: aptos.TxnBuilderTypes.MultiEd25519PublicKey, payload: aptos.TxnBuilderTypes.TransactionPayload, signFunc?: MultipleSignFunc, signedItems?: MutipleSignatureItem[]): Promise<aptos.Types.Transaction_UserTransaction>;
/**
* Deploys a package.
*
* @param {aptos.AptosAccount} signer - The signer account.
* @param {Uint8Array} metadata - The package metadata.
* @param {aptos.TxnBuilderTypes.Module[]} modules - The modules to deploy.
* @returns {Promise<string>} The transaction hash.
*/
deploy(signer: aptos.AptosAccount, metadata: Uint8Array, modules: aptos.TxnBuilderTypes.Module[]): Promise<string>;
/**
* Waits for a transaction to be confirmed and retrieves it.
*
* @param {string} txnHash - The transaction hash.
* @returns {Promise<aptos.Types.Transaction>} The confirmed transaction.
*/
private waitAndGetTransaction;
/**
* Sends and confirms a raw transaction.
*
* @param {Uint8Array} signedTransaction - The signed transaction.
* @returns {Promise<aptos.Types.Transaction>} The confirmed transaction.
*/
private sendAndConfirmRawTransaction;
}
export { type AccountsOption, SDK, type SdkOptions, index$1 as apps, constants, index as format, index$3 as types, index$2 as uln, utils };