import { Abi, EndpointDefinition, TypedValue } from "../abi"; import { IGasLimitEstimator, TransactionsFactoryConfig } from "../core"; import { Address } from "../core/address"; import { BaseFactory } from "../core/baseFactory"; import { Transaction } from "../core/transaction"; import * as resources from "./resources"; /** * Use this class to create multisig related transactions like creating a new multisig contract, * proposing actions, signing actions, and performing actions. */ export declare class MultisigTransactionsFactory extends BaseFactory { private readonly argSerializer; private readonly smartContractFactory; private readonly config; private readonly abi; constructor(options: { config: TransactionsFactoryConfig; abi: Abi; gasLimitEstimator?: IGasLimitEstimator; }); /** * Creates a transaction to deploy a new multisig contract */ createTransactionForDeploy(sender: Address, options: resources.DeployMultisigContractInput): Promise; /** * Proposes adding a new board member */ createTransactionForProposeAddBoardMember(sender: Address, options: resources.ProposeAddBoardMemberInput): Promise; /** * Proposes adding a new proposer */ createTransactionForProposeAddProposer(sender: Address, options: resources.ProposeAddProposerInput): Promise; /** * Proposes removing a user (board member or proposer) */ createTransactionForProposeRemoveUser(sender: Address, options: resources.ProposeRemoveUserInput): Promise; /** * Proposes changing the quorum (minimum signatures required) */ createTransactionForProposeChangeQuorum(sender: Address, options: resources.ProposeChangeQuorumInput): Promise; /** * Proposes a transaction that will transfer EGLD and/or execute a function */ createTransactionForProposeTransferExecute(sender: Address, options: resources.ProposeTransferExecuteInput): Promise; /** * Proposes a transaction that will transfer EGLD and/or execute a function */ createTransactionForDeposit(sender: Address, options: resources.DepositExecuteInput): Promise; /** * Proposes a transaction that will transfer ESDT tokens and/or execute a function */ createTransactionForProposeTransferExecuteEsdt(sender: Address, options: resources.ProposeTransferExecuteEsdtInput): Promise; private mapTokenPayments; /** * Proposes an async call to another contract */ createTransactionForProposeAsyncCall(sender: Address, options: resources.ProposeAsyncCallInput): Promise; /** * Proposes deploying a smart contract from source */ createTransactionForProposeContractDeployFromSource(sender: Address, options: resources.ProposeContractDeployFromSourceInput): Promise; /** * Proposes upgrading a smart contract from source */ createTransactionForProposeContractUpgradeFromSource(sender: Address, options: resources.ProposeContractUpgradeFromSourceInput): Promise; /** * Signs an action (by a board member) */ createTransactionForSignAction(sender: Address, options: resources.ActionInput): Promise; /** * Signs all actions in a batch */ createTransactionForSignBatch(sender: Address, options: resources.GroupInput): Promise; /** * Signs and performs an action in one transaction */ createTransactionForSignAndPerform(sender: Address, options: resources.ActionInput): Promise; /** * Signs and performs all actions in a batch */ createTransactionForSignBatchAndPerform(sender: Address, options: resources.GroupInput): Promise; /** * Withdraws signature from an action */ createTransactionForUnsign(sender: Address, options: resources.ActionInput): Promise; /** * Withdraws signatures from all actions in a batch */ createTransactionForUnsignBatch(sender: Address, options: resources.GroupInput): Promise; /** * Removes signatures from outdated board members */ createTransactionForUnsignForOutdatedBoardMembers(sender: Address, options: resources.UnsignForOutdatedBoardMembersInput): Promise; /** * Performs an action that has reached quorum */ createTransactionForPerformAction(sender: Address, options: resources.ActionInput): Promise; /** * Performs all actions in a batch that have reached quorum */ createTransactionForPerformBatch(sender: Address, options: resources.GroupInput): Promise; /** * Discards an action that is no longer needed */ createTransactionForDiscardAction(sender: Address, options: resources.ActionInput): Promise; /** * Discards all actions in the provided list */ createTransactionForDiscardBatch(sender: Address, options: resources.DiscardBatchInput): Promise; protected argsToTypedValues(args: any[], endpoint?: EndpointDefinition): TypedValue[]; private areArgsOfTypedValue; }