@avalabs/avalanchejs
Version:
Avalanche Platform JS Library
128 lines • 4.7 kB
TypeScript
import { TransferableOutput } from '../../../serializable';
import type { Utxo } from '../../../serializable/avax/utxo';
import { UnsignedTx } from '../../common';
import type { Context } from '../../context';
import type { FeeState } from '../models';
import type { L1Validator } from '../../../serializable/fxs/pvm/L1Validator';
type CommonTxProps = Readonly<{
changeAddressesBytes?: readonly Uint8Array[];
feeState: FeeState;
fromAddressesBytes: readonly Uint8Array[];
memo?: Uint8Array;
minIssuanceTime?: bigint;
utxos: readonly Utxo[];
}>;
type TxProps<T extends Record<string, unknown>> = CommonTxProps & Readonly<T>;
type TxBuilderFn<T extends TxProps<Record<string, unknown>>> = (props: T, context: Context) => UnsignedTx;
export type NewBaseTxProps = TxProps<{
outputs: readonly TransferableOutput[];
}>;
export declare const newBaseTx: TxBuilderFn<NewBaseTxProps>;
export type NewImportTxProps = Omit<TxProps<{
locktime?: bigint;
sourceChainId: string;
threshold?: number;
toAddressesBytes: readonly Uint8Array[];
}>, 'changeAddressesBytes'>;
export declare const newImportTx: TxBuilderFn<NewImportTxProps>;
export type NewExportTxProps = TxProps<{
destinationChainId: string;
outputs: readonly TransferableOutput[];
}>;
export declare const newExportTx: TxBuilderFn<NewExportTxProps>;
export type NewCreateSubnetTxProps = TxProps<{
locktime?: bigint;
subnetOwners: readonly Uint8Array[];
threshold?: number;
}>;
export declare const newCreateSubnetTx: TxBuilderFn<NewCreateSubnetTxProps>;
export type NewCreateChainTxProps = TxProps<{
chainName: string;
fxIds: readonly string[];
genesisData: Record<string, unknown>;
subnetAuth: readonly number[];
subnetId: string;
vmId: string;
}>;
export declare const newCreateChainTx: TxBuilderFn<NewCreateChainTxProps>;
export type NewAddSubnetValidatorTxProps = TxProps<{
end: bigint;
nodeId: string;
start: bigint;
subnetAuth: readonly number[];
subnetId: string;
weight: bigint;
}>;
export declare const newAddSubnetValidatorTx: TxBuilderFn<NewAddSubnetValidatorTxProps>;
export type NewRemoveSubnetValidatorTxProps = TxProps<{
nodeId: string;
subnetAuth: readonly number[];
subnetId: string;
}>;
export declare const newRemoveSubnetValidatorTx: TxBuilderFn<NewRemoveSubnetValidatorTxProps>;
export type NewAddPermissionlessValidatorTxProps = TxProps<{
delegatorRewardsOwner: readonly Uint8Array[];
end: bigint;
locktime?: bigint;
nodeId: string;
publicKey?: Uint8Array;
rewardAddresses: readonly Uint8Array[];
shares: number;
signature?: Uint8Array;
stakingAssetId?: string;
start: bigint;
subnetId: string;
threshold?: number;
weight: bigint;
}>;
export declare const newAddPermissionlessValidatorTx: TxBuilderFn<NewAddPermissionlessValidatorTxProps>;
export type NewAddPermissionlessDelegatorTxProps = TxProps<{
end: bigint;
locktime?: bigint;
nodeId: string;
rewardAddresses: readonly Uint8Array[];
stakingAssetId?: string;
start: bigint;
subnetId: string;
threshold?: number;
weight: bigint;
}>;
export declare const newAddPermissionlessDelegatorTx: TxBuilderFn<NewAddPermissionlessDelegatorTxProps>;
export type NewTransferSubnetOwnershipTxProps = TxProps<{
locktime?: bigint;
subnetAuth: readonly number[];
subnetId: string;
subnetOwners: readonly Uint8Array[];
threshold?: number;
}>;
export declare const newTransferSubnetOwnershipTx: TxBuilderFn<NewTransferSubnetOwnershipTxProps>;
export type NewConvertSubnetToL1TxProps = TxProps<{
chainId: string;
subnetId: string;
address: Uint8Array;
validators: L1Validator[];
subnetAuth: readonly number[];
}>;
export declare const newConvertSubnetToL1Tx: TxBuilderFn<NewConvertSubnetToL1TxProps>;
export type NewRegisterL1ValidatorTx = TxProps<{
balance: bigint;
blsSignature: Uint8Array;
message: Uint8Array;
}>;
export declare const newRegisterL1ValidatorTx: TxBuilderFn<NewRegisterL1ValidatorTx>;
export type SetL1ValidatorWeightTxProps = TxProps<{
message: Uint8Array;
}>;
export declare const newSetL1ValidatorWeightTx: TxBuilderFn<SetL1ValidatorWeightTxProps>;
export type IncreaseL1ValidatorBalanceTxProps = TxProps<{
balance: bigint;
validationId: string;
}>;
export declare const newIncreaseL1ValidatorBalanceTx: TxBuilderFn<IncreaseL1ValidatorBalanceTxProps>;
export type DisableL1ValidatorTxProps = TxProps<{
disableAuth: readonly number[];
validationId: string;
}>;
export declare const newDisableL1ValidatorTx: TxBuilderFn<DisableL1ValidatorTxProps>;
export {};
//# sourceMappingURL=builder.d.ts.map