UNPKG

@melonproject/protocol

Version:

Technology Regulated and Operated Investment Funds

30 lines (29 loc) 1.31 kB
import { Address } from '@melonproject/token-math'; import { Contracts } from '../../Contracts'; import { TransactionArgs, UnsignedRawTransaction } from './transactionFactory'; import { Environment } from '../environment/Environment'; interface PrepareDeployReturn { unsignedTransaction: UnsignedRawTransaction; txIdentifier?: string; } interface SendDeployArgs { signedTransaction?: string; unsignedTransaction?: UnsignedRawTransaction; txIdentifier?: string; } declare type PrepareDeployFunction = { (environment: Environment, pathToSolidityFile: string, args?: TransactionArgs): Promise<PrepareDeployReturn>; (environment: Environment, contract: Contracts, args: TransactionArgs): Promise<PrepareDeployReturn>; }; declare type SendDeployFunction = (environment: any, args: SendDeployArgs) => Promise<Address>; declare type DeployContract = { (environment: Environment, pathToSolidityFile: string, args?: TransactionArgs): Promise<Address>; (environment: Environment, contract: Contracts, args: TransactionArgs): Promise<Address>; }; interface DeployContractMixin { prepare: PrepareDeployFunction; send: SendDeployFunction; } declare type EnhancedDeploy = DeployContract & DeployContractMixin; declare const deployContract: EnhancedDeploy; export { deployContract };