myria-core-sdk
Version:
Latest version SDK
38 lines (37 loc) • 1.46 kB
TypeScript
import Web3 from 'web3';
import { provider as Provider, PromiEvent, TransactionReceipt } from 'web3-core';
import { Contract, ContractSendMethod } from 'web3-eth-contract';
import { Address, CallOptions, SendOptions } from '../types/CommonTypes';
import { TxResult } from '../typesBundle';
export interface Json {
abi: any;
networks: {
[network: number]: any;
};
}
export interface ContractInfo {
contract: Contract;
json: Json;
isTest: boolean;
}
export default class MContract {
[x: string]: any;
private defaultOptions;
web3: Web3;
networkId: number;
accountAddress: Address;
contractInfo: ContractInfo;
private currentTxHash;
constructor(provider: Provider, networkId: number, web3: Web3, contractInfo: ContractInfo, sendOptions?: SendOptions);
setDefaultAccount(account: Address): void;
setProvider(provider: Provider, networkId: number): void;
setContractProvider(contract: Contract, contractJson: Json, provider: Provider, networkId: number): void;
call(method: ContractSendMethod, specificOptions?: CallOptions): Promise<any>;
createTimeoutPromise(timeout: number, promi: PromiEvent<TransactionReceipt | string>): any;
send(contract: Contract, method: ContractSendMethod, specificOptions?: SendOptions): Promise<TxResult>;
private _send;
private estimateGas;
private toEstimateOptions;
private toCallOptions;
private toNativeSendOptions;
}