@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
790 lines (785 loc) • 33.2 kB
TypeScript
/* tslint:disable */
/* eslint-disable */
/**
* @param {string} token
* @returns {any}
*/
export function getMintAddress(token: string): any;
/**
* @param {string} token
* @param {boolean} is_sol
* @returns {any}
*/
export function getTokenSettingsAddress(token: string, is_sol: boolean): any;
/**
* @param {string} funder_pubkey
* @param {string} initializer_pubkey
* @param {string} guardian
* @param {string} withdrawal_manager
* @param {string} manager
* @returns {any}
*/
export function initializeSettings(funder_pubkey: string, initializer_pubkey: string, guardian: string, withdrawal_manager: string, manager: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} name
* @param {string} symbol
* @param {number} decimals
* @param {number} event_timestamp
* @param {bigint} event_transaction_lt
* @param {string} event_configuration
* @param {string} token_address
* @param {string} recipient_address
* @param {string} amount
* @param {number} round_number
* @param {string} payload
* @param {bigint} attached_amount
* @returns {any}
*/
export function withdrawalMultiTokenEverRequest(funder_pubkey: string, author_pubkey: string, name: string, symbol: string, decimals: number, event_timestamp: number, event_transaction_lt: bigint, event_configuration: string, token_address: string, recipient_address: string, amount: string, round_number: number, payload: string, attached_amount: bigint): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} mint_pubkey
* @param {number} event_timestamp
* @param {bigint} event_transaction_lt
* @param {string} event_configuration
* @param {string} recipient_address
* @param {string} amount
* @param {number} round_number
* @param {string} payload
* @param {bigint} attached_amount
* @returns {any}
*/
export function withdrawalMultiTokenSolRequest(funder_pubkey: string, author_pubkey: string, mint_pubkey: string, event_timestamp: number, event_transaction_lt: bigint, event_configuration: string, recipient_address: string, amount: string, round_number: number, payload: string, attached_amount: bigint): any;
/**
* @param {string} withdrawal_pubkey
* @param {string} recipient_token_pubkey
* @param {string} token
* @returns {any}
*/
export function withdrawalMultiTokenEver(withdrawal_pubkey: string, recipient_token_pubkey: string, token: string): any;
/**
* @param {string} funder_pubkey
* @param {string} withdrawal_pubkey
* @param {string} recipient_pubkey
* @param {string} token
* @returns {any}
*/
export function createMultiTokenEver(funder_pubkey: string, withdrawal_pubkey: string, recipient_pubkey: string, token: string): any;
/**
* @param {string} withdrawal_pubkey
* @param {string} recipient_token_pubkey
* @param {string} mint
* @returns {any}
*/
export function withdrawalMultiTokenSol(withdrawal_pubkey: string, recipient_token_pubkey: string, mint: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} deposit_seed
* @param {bigint} amount
* @param {string} recipient_address
* @param {bigint} value
* @param {bigint} expected_evers
* @param {string} payload
* @returns {any}
*/
export function depositNativeSol(funder_pubkey: string, author_pubkey: string, deposit_seed: string, amount: bigint, recipient_address: string, value: bigint, expected_evers: bigint, payload: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} author_token_pubkey
* @param {string} token_address
* @param {string} deposit_seed
* @param {bigint} amount
* @param {string} recipient_address
* @param {bigint} value
* @param {bigint} expected_evers
* @param {string} payload
* @returns {any}
*/
export function depositMultiTokenEver(funder_pubkey: string, author_pubkey: string, author_token_pubkey: string, token_address: string, deposit_seed: string, amount: bigint, recipient_address: string, value: bigint, expected_evers: bigint, payload: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} author_token_pubkey
* @param {string} mint_pubkey
* @param {string} deposit_seed
* @param {string} name
* @param {string} symbol
* @param {bigint} amount
* @param {string} recipient_address
* @param {bigint} value
* @param {bigint} expected_evers
* @param {string} payload
* @returns {any}
*/
export function depositMultiTokenSol(funder_pubkey: string, author_pubkey: string, author_token_pubkey: string, mint_pubkey: string, deposit_seed: string, name: string, symbol: string, amount: bigint, recipient_address: string, value: bigint, expected_evers: bigint, payload: string): any;
/**
* @param {string} withdrawal_pubkey
* @param {string} recipient_address
* @param {string} mint_address
* @param {string} recipient_token_pubkey
* @returns {any}
*/
export function executePayloadSol(withdrawal_pubkey: string, recipient_address: string, mint_address: string, recipient_token_pubkey: string): any;
/**
* @param {string} withdrawal_pubkey
* @param {string} recipient_address
* @param {string} mint_address
* @param {string} recipient_token_pubkey
* @returns {any}
*/
export function executePayloadEver(withdrawal_pubkey: string, recipient_address: string, mint_address: string, recipient_token_pubkey: string): any;
/**
* @param {string} authority_pubkey
* @param {string} withdrawal_pubkey
* @param {number} round_number
* @returns {any}
*/
export function voteForWithdrawRequest(authority_pubkey: string, withdrawal_pubkey: string, round_number: number): any;
/**
* @param {string} authority_pubkey
* @param {string} new_guardian
* @returns {any}
*/
export function changeGuardian(authority_pubkey: string, new_guardian: string): any;
/**
* @param {string} authority_pubkey
* @param {string} new_withdrawal_manager
* @returns {any}
*/
export function changeWithdrawalManager(authority_pubkey: string, new_withdrawal_manager: string): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @param {bigint} new_deposit_limit
* @returns {any}
*/
export function changeDepositLimit(authority_pubkey: string, token: string, token_is_sol: boolean, new_deposit_limit: bigint): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @param {bigint | undefined} new_withdrawal_limit
* @param {bigint | undefined} new_withdrawal_daily_limit
* @returns {any}
*/
export function changeWithdrawalLimits(authority_pubkey: string, token: string, token_is_sol: boolean, new_withdrawal_limit?: bigint, new_withdrawal_daily_limit?: bigint): any;
/**
* @param {string} authority_pubkey
* @returns {any}
*/
export function enableEmergency(authority_pubkey: string): any;
/**
* @param {string} authority_pubkey
* @returns {any}
*/
export function enableEmergencyByOwner(authority_pubkey: string): any;
/**
* @param {string} authority_pubkey
* @returns {any}
*/
export function disableEmergency(authority_pubkey: string): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @returns {any}
*/
export function enableTokenEmergency(authority_pubkey: string, token: string, token_is_sol: boolean): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @returns {any}
*/
export function enableTokenEmergencyByOwner(authority_pubkey: string, token: string, token_is_sol: boolean): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @returns {any}
*/
export function disableTokenEmergency(authority_pubkey: string, token: string, token_is_sol: boolean): any;
/**
* @param {string} recipient_pubkey
* @param {string} recipient_token_pubkey
* @param {string} mint_pubkey
* @param {bigint} amount
* @returns {any}
*/
export function withdrawalProxy(recipient_pubkey: string, recipient_token_pubkey: string, mint_pubkey: string, amount: bigint): any;
/**
* @param {string} author_address
* @param {string} deposit_address
* @returns {any}
*/
export function closeDeposit(author_address: string, deposit_address: string): any;
/**
* @param {string} withdrawal_address
* @param {string} withdrawal_author_address
* @returns {any}
*/
export function closeWithdrawal(withdrawal_address: string, withdrawal_author_address: string): any;
/**
* @param {string} authority_pubkey
* @param {string} token
* @param {boolean} token_is_sol
* @param {string} fee_type
* @param {bigint} multiplier
* @param {bigint} divisor
* @returns {any}
*/
export function updateFee(authority_pubkey: string, token: string, token_is_sol: boolean, fee_type: string, multiplier: bigint, divisor: bigint): any;
/**
* @param {string} authority_pubkey
* @param {string} withdrawal_pubkey
* @param {string} recipient_token_pubkey
* @param {string} mint_pubkey
* @param {string} token
* @returns {any}
*/
export function approveWithdrawalEver(authority_pubkey: string, withdrawal_pubkey: string, recipient_token_pubkey: string, mint_pubkey: string, token: string): any;
/**
* @param {string} authority_pubkey
* @param {string} withdrawal_pubkey
* @param {string} recipient_token_pubkey
* @param {string} mint_pubkey
* @returns {any}
*/
export function approveWithdrawalSol(authority_pubkey: string, withdrawal_pubkey: string, recipient_token_pubkey: string, mint_pubkey: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} withdrawal_pubkey
* @param {string} mint_pubkey
* @param {string} deposit_seed
* @param {string} recipient
* @returns {any}
*/
export function cancelWithdrawalSol(funder_pubkey: string, author_pubkey: string, withdrawal_pubkey: string, mint_pubkey: string, deposit_seed: string, recipient: string): any;
/**
* @param {string} funder_pubkey
* @param {string} author_pubkey
* @param {string} mint_pubkey
* @param {string} deposit_seed
* @param {string} recipient
* @param {bigint} amount
* @param {any[]} withdrawal_pubkeys
* @param {string | undefined} vault_pubkey
* @param {bigint} value
* @param {bigint} expected_evers
* @param {string} payload
* @returns {any}
*/
export function fillWithdrawalSol(funder_pubkey: string, author_pubkey: string, mint_pubkey: string, deposit_seed: string, recipient: string, amount: bigint, withdrawal_pubkeys: any[], vault_pubkey: string | undefined, value: bigint, expected_evers: bigint, payload: string): any;
/**
* @param {string} author_pubkey
* @param {string} withdrawal_pubkey
* @param {bigint} bounty
* @returns {any}
*/
export function changeBountyForWithdrawalSol(author_pubkey: string, withdrawal_pubkey: string, bounty: bigint): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackSettings(data: Uint8Array): any;
/**
* @param {number} round_number
* @param {number} event_timestamp
* @param {bigint} event_transaction_lt
* @param {string} event_configuration
* @param {string} mint_address
* @param {string} recipient_address
* @param {string} amount
* @param {string} payload
* @returns {any}
*/
export function getProposalSolAddress(round_number: number, event_timestamp: number, event_transaction_lt: bigint, event_configuration: string, mint_address: string, recipient_address: string, amount: string, payload: string): any;
/**
* @param {string} mint_address
* @param {string} recipient_address
* @returns {any}
*/
export function getProxyAddress(mint_address: string, recipient_address: string): any;
/**
* @param {number} round_number
* @param {number} event_timestamp
* @param {bigint} event_transaction_lt
* @param {string} event_configuration
* @param {string} token_address
* @param {string} recipient_address
* @param {string} amount
* @param {string} name
* @param {string} symbol
* @param {number} decimals
* @param {string} payload
* @returns {any}
*/
export function getProposalEverAddress(round_number: number, event_timestamp: number, event_transaction_lt: bigint, event_configuration: string, token_address: string, recipient_address: string, amount: string, name: string, symbol: string, decimals: number, payload: string): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackTokenSettings(data: Uint8Array): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackWithdrawalMultiTokenEver(data: Uint8Array): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackWithdrawalMultiTokenSol(data: Uint8Array): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackDepositEver(data: Uint8Array): any;
/**
* @param {Uint8Array} data
* @returns {any}
*/
export function unpackDepositSol(data: Uint8Array): any;
/**
* Initialize Javascript logging and panic handler
*/
export function solana_program_init(): void;
/**
*/
export class FillWithdrawals {
free(): void;
/**
*/
to_pubkey: string;
/**
*/
withdrawal_pubkey: string;
}
/**
* A hash; the 32-byte output of a hashing algorithm.
*
* This struct is used most often in `solana-sdk` and related crates to contain
* a [SHA-256] hash, but may instead contain a [blake3] hash, as created by the
* [`blake3`] module (and used in [`Message::hash`]).
*
* [SHA-256]: https://en.wikipedia.org/wiki/SHA-2
* [blake3]: https://github.com/BLAKE3-team/BLAKE3
* [`blake3`]: crate::blake3
* [`Message::hash`]: crate::message::Message::hash
*/
export class Hash {
free(): void;
/**
* Create a new Hash object
*
* * `value` - optional hash as a base58 encoded string, `Uint8Array`, `[number]`
* @param {any} value
*/
constructor(value: any);
/**
* Return the base58 string representation of the hash
* @returns {string}
*/
toString(): string;
/**
* Checks if two `Hash`s are equal
* @param {Hash} other
* @returns {boolean}
*/
equals(other: Hash): boolean;
/**
* Return the `Uint8Array` representation of the hash
* @returns {Uint8Array}
*/
toBytes(): Uint8Array;
}
/**
* A directive for a single invocation of a Solana program.
*
* An instruction specifies which program it is calling, which accounts it may
* read or modify, and additional data that serves as input to the program. One
* or more instructions are included in transactions submitted by Solana
* clients. Instructions are also used to describe [cross-program
* invocations][cpi].
*
* [cpi]: https://docs.solana.com/developing/programming-model/calling-between-programs
*
* During execution, a program will receive a list of account data as one of
* its arguments, in the same order as specified during `Instruction`
* construction.
*
* While Solana is agnostic to the format of the instruction data, it has
* built-in support for serialization via [`borsh`] and [`bincode`].
*
* [`borsh`]: https://docs.rs/borsh/latest/borsh/
* [`bincode`]: https://docs.rs/bincode/latest/bincode/
*
* # Specifying account metadata
*
* When constructing an [`Instruction`], a list of all accounts that may be
* read or written during the execution of that instruction must be supplied as
* [`AccountMeta`] values.
*
* Any account whose data may be mutated by the program during execution must
* be specified as writable. During execution, writing to an account that was
* not specified as writable will cause the transaction to fail. Writing to an
* account that is not owned by the program will cause the transaction to fail.
*
* Any account whose lamport balance may be mutated by the program during
* execution must be specified as writable. During execution, mutating the
* lamports of an account that was not specified as writable will cause the
* transaction to fail. While _subtracting_ lamports from an account not owned
* by the program will cause the transaction to fail, _adding_ lamports to any
* account is allowed, as long is it is mutable.
*
* Accounts that are not read or written by the program may still be specified
* in an `Instruction`'s account list. These will affect scheduling of program
* execution by the runtime, but will otherwise be ignored.
*
* When building a transaction, the Solana runtime coalesces all accounts used
* by all instructions in that transaction, along with accounts and permissions
* required by the runtime, into a single account list. Some accounts and
* account permissions required by the runtime to process a transaction are
* _not_ required to be included in an `Instruction`s account list. These
* include:
*
* - The program ID — it is a separate field of `Instruction`
* - The transaction's fee-paying account — it is added during [`Message`]
* construction. A program may still require the fee payer as part of the
* account list if it directly references it.
*
* [`Message`]: crate::message::Message
*
* Programs may require signatures from some accounts, in which case they
* should be specified as signers during `Instruction` construction. The
* program must still validate during execution that the account is a signer.
*/
export class Instruction {
free(): void;
}
/**
*/
export class Instructions {
free(): void;
/**
*/
constructor();
/**
* @param {Instruction} instruction
*/
push(instruction: Instruction): void;
}
/**
* A vanilla Ed25519 key pair
*/
export class Keypair {
free(): void;
/**
* Create a new `Keypair `
*/
constructor();
/**
* Convert a `Keypair` to a `Uint8Array`
* @returns {Uint8Array}
*/
toBytes(): Uint8Array;
/**
* Recover a `Keypair` from a `Uint8Array`
* @param {Uint8Array} bytes
* @returns {Keypair}
*/
static fromBytes(bytes: Uint8Array): Keypair;
/**
* Return the `Pubkey` for this `Keypair`
* @returns {Pubkey}
*/
pubkey(): Pubkey;
}
/**
* A Solana transaction message (legacy).
*
* See the [`message`] module documentation for further description.
*
* [`message`]: crate::message
*
* Some constructors accept an optional `payer`, the account responsible for
* paying the cost of executing a transaction. In most cases, callers should
* specify the payer explicitly in these constructors. In some cases though,
* the caller is not _required_ to specify the payer, but is still allowed to:
* in the `Message` structure, the first account is always the fee-payer, so if
* the caller has knowledge that the first account of the constructed
* transaction's `Message` is both a signer and the expected fee-payer, then
* redundantly specifying the fee-payer is not strictly required.
*/
export class Message {
free(): void;
/**
* The id of a recent ledger entry.
*/
recent_blockhash: Hash;
}
/**
* The address of a [Solana account][acc].
*
* Some account addresses are [ed25519] public keys, with corresponding secret
* keys that are managed off-chain. Often, though, account addresses do not
* have corresponding secret keys — as with [_program derived
* addresses_][pdas] — or the secret key is not relevant to the operation
* of a program, and may have even been disposed of. As running Solana programs
* can not safely create or manage secret keys, the full [`Keypair`] is not
* defined in `solana-program` but in `solana-sdk`.
*
* [acc]: https://docs.solana.com/developing/programming-model/accounts
* [ed25519]: https://ed25519.cr.yp.to/
* [pdas]: https://docs.solana.com/developing/programming-model/calling-between-programs#program-derived-addresses
* [`Keypair`]: https://docs.rs/solana-sdk/latest/solana_sdk/signer/keypair/struct.Keypair.html
*/
export class Pubkey {
free(): void;
/**
* Create a new Pubkey object
*
* * `value` - optional public key as a base58 encoded string, `Uint8Array`, `[number]`
* @param {any} value
*/
constructor(value: any);
/**
* Return the base58 string representation of the public key
* @returns {string}
*/
toString(): string;
/**
* Check if a `Pubkey` is on the ed25519 curve.
* @returns {boolean}
*/
isOnCurve(): boolean;
/**
* Checks if two `Pubkey`s are equal
* @param {Pubkey} other
* @returns {boolean}
*/
equals(other: Pubkey): boolean;
/**
* Return the `Uint8Array` representation of the public key
* @returns {Uint8Array}
*/
toBytes(): Uint8Array;
/**
* Derive a Pubkey from another Pubkey, string seed, and a program id
* @param {Pubkey} base
* @param {string} seed
* @param {Pubkey} owner
* @returns {Pubkey}
*/
static createWithSeed(base: Pubkey, seed: string, owner: Pubkey): Pubkey;
/**
* Derive a program address from seeds and a program id
* @param {any[]} seeds
* @param {Pubkey} program_id
* @returns {Pubkey}
*/
static createProgramAddress(seeds: any[], program_id: Pubkey): Pubkey;
/**
* Find a valid program address
*
* Returns:
* * `[PubKey, number]` - the program address and bump seed
* @param {any[]} seeds
* @param {Pubkey} program_id
* @returns {any}
*/
static findProgramAddress(seeds: any[], program_id: Pubkey): any;
}
/**
* An atomically-commited sequence of instructions.
*
* While [`Instruction`]s are the basic unit of computation in Solana,
* they are submitted by clients in [`Transaction`]s containing one or
* more instructions, and signed by one or more [`Signer`]s.
*
* [`Signer`]: crate::signer::Signer
*
* See the [module documentation] for more details about transactions.
*
* [module documentation]: self
*
* Some constructors accept an optional `payer`, the account responsible for
* paying the cost of executing a transaction. In most cases, callers should
* specify the payer explicitly in these constructors. In some cases though,
* the caller is not _required_ to specify the payer, but is still allowed to:
* in the [`Message`] structure, the first account is always the fee-payer, so
* if the caller has knowledge that the first account of the constructed
* transaction's `Message` is both a signer and the expected fee-payer, then
* redundantly specifying the fee-payer is not strictly required.
*/
export class Transaction {
free(): void;
/**
* Create a new `Transaction`
* @param {Instructions} instructions
* @param {Pubkey | undefined} payer
*/
constructor(instructions: Instructions, payer?: Pubkey);
/**
* Return a message containing all data that should be signed.
* @returns {Message}
*/
message(): Message;
/**
* Return the serialized message data to sign.
* @returns {Uint8Array}
*/
messageData(): Uint8Array;
/**
* Verify the transaction
*/
verify(): void;
/**
* @param {Keypair} keypair
* @param {Hash} recent_blockhash
*/
partialSign(keypair: Keypair, recent_blockhash: Hash): void;
/**
* @returns {boolean}
*/
isSigned(): boolean;
/**
* @returns {Uint8Array}
*/
toBytes(): Uint8Array;
/**
* @param {Uint8Array} bytes
* @returns {Transaction}
*/
static fromBytes(bytes: Uint8Array): Transaction;
}
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly getMintAddress: (a: number, b: number, c: number) => void;
readonly getTokenSettingsAddress: (a: number, b: number, c: number, d: number) => void;
readonly initializeSettings: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
readonly withdrawalMultiTokenEverRequest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => void;
readonly withdrawalMultiTokenSolRequest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => void;
readonly withdrawalMultiTokenEver: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
readonly createMultiTokenEver: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
readonly withdrawalMultiTokenSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
readonly depositNativeSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void;
readonly depositMultiTokenEver: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => void;
readonly depositMultiTokenSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => void;
readonly executePayloadSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
readonly executePayloadEver: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
readonly voteForWithdrawRequest: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly changeGuardian: (a: number, b: number, c: number, d: number, e: number) => void;
readonly changeWithdrawalManager: (a: number, b: number, c: number, d: number, e: number) => void;
readonly changeDepositLimit: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
readonly changeWithdrawalLimits: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
readonly enableEmergency: (a: number, b: number, c: number) => void;
readonly enableEmergencyByOwner: (a: number, b: number, c: number) => void;
readonly disableEmergency: (a: number, b: number, c: number) => void;
readonly enableTokenEmergency: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly enableTokenEmergencyByOwner: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly disableTokenEmergency: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly withdrawalProxy: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
readonly closeDeposit: (a: number, b: number, c: number, d: number, e: number) => void;
readonly closeWithdrawal: (a: number, b: number, c: number, d: number, e: number) => void;
readonly updateFee: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
readonly approveWithdrawalEver: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
readonly approveWithdrawalSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
readonly cancelWithdrawalSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
readonly __wbg_fillwithdrawals_free: (a: number) => void;
readonly __wbg_get_fillwithdrawals_withdrawal_pubkey: (a: number, b: number) => void;
readonly __wbg_set_fillwithdrawals_withdrawal_pubkey: (a: number, b: number, c: number) => void;
readonly __wbg_get_fillwithdrawals_to_pubkey: (a: number, b: number) => void;
readonly __wbg_set_fillwithdrawals_to_pubkey: (a: number, b: number, c: number) => void;
readonly fillWithdrawalSol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => void;
readonly changeBountyForWithdrawalSol: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly unpackSettings: (a: number, b: number, c: number) => void;
readonly getProposalSolAddress: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => void;
readonly getProxyAddress: (a: number, b: number, c: number, d: number, e: number) => void;
readonly getProposalEverAddress: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => void;
readonly unpackTokenSettings: (a: number, b: number, c: number) => void;
readonly unpackWithdrawalMultiTokenEver: (a: number, b: number, c: number) => void;
readonly unpackWithdrawalMultiTokenSol: (a: number, b: number, c: number) => void;
readonly unpackDepositEver: (a: number, b: number, c: number) => void;
readonly unpackDepositSol: (a: number, b: number, c: number) => void;
readonly __wbg_keypair_free: (a: number) => void;
readonly __wbg_transaction_free: (a: number) => void;
readonly keypair_constructor: () => number;
readonly keypair_toBytes: (a: number, b: number) => void;
readonly keypair_fromBytes: (a: number, b: number, c: number) => void;
readonly keypair_pubkey: (a: number) => number;
readonly transaction_constructor: (a: number, b: number) => number;
readonly transaction_message: (a: number) => number;
readonly transaction_messageData: (a: number, b: number) => void;
readonly transaction_verify: (a: number, b: number) => void;
readonly transaction_partialSign: (a: number, b: number, c: number) => void;
readonly transaction_isSigned: (a: number) => number;
readonly transaction_toBytes: (a: number, b: number) => void;
readonly transaction_fromBytes: (a: number, b: number, c: number) => void;
readonly __wbg_hash_free: (a: number) => void;
readonly __wbg_pubkey_free: (a: number) => void;
readonly __wbg_message_free: (a: number) => void;
readonly __wbg_get_message_recent_blockhash: (a: number) => number;
readonly __wbg_set_message_recent_blockhash: (a: number, b: number) => void;
readonly __wbg_instructions_free: (a: number) => void;
readonly instructions_constructor: () => number;
readonly instructions_push: (a: number, b: number) => void;
readonly solana_program_init: () => void;
readonly hash_constructor: (a: number, b: number) => void;
readonly hash_toString: (a: number, b: number) => void;
readonly hash_equals: (a: number, b: number) => number;
readonly hash_toBytes: (a: number, b: number) => void;
readonly pubkey_constructor: (a: number, b: number) => void;
readonly pubkey_toString: (a: number, b: number) => void;
readonly pubkey_isOnCurve: (a: number) => number;
readonly pubkey_createWithSeed: (a: number, b: number, c: number, d: number, e: number) => void;
readonly pubkey_createProgramAddress: (a: number, b: number, c: number, d: number) => void;
readonly pubkey_findProgramAddress: (a: number, b: number, c: number, d: number) => void;
readonly systeminstruction_createAccount: (a: number, b: number, c: number, d: number, e: number) => number;
readonly systeminstruction_createAccountWithSeed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
readonly systeminstruction_assign: (a: number, b: number) => number;
readonly systeminstruction_assignWithSeed: (a: number, b: number, c: number, d: number, e: number) => number;
readonly systeminstruction_transfer: (a: number, b: number, c: number) => number;
readonly systeminstruction_transferWithSeed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
readonly systeminstruction_allocate: (a: number, b: number) => number;
readonly systeminstruction_allocateWithSeed: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
readonly systeminstruction_createNonceAccount: (a: number, b: number, c: number, d: number) => number;
readonly systeminstruction_advanceNonceAccount: (a: number, b: number) => number;
readonly systeminstruction_withdrawNonceAccount: (a: number, b: number, c: number, d: number) => number;
readonly systeminstruction_authorizeNonceAccount: (a: number, b: number, c: number) => number;
readonly pubkey_equals: (a: number, b: number) => number;
readonly pubkey_toBytes: (a: number, b: number) => void;
readonly __wbg_instruction_free: (a: number) => void;
readonly __wbindgen_malloc: (a: number, b: number) => number;
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
readonly __wbindgen_exn_store: (a: number) => void;
}
export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {SyncInitInput} module
*
* @returns {InitOutput}
*/
export function initSync(module: SyncInitInput): InitOutput;
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;