import * as ethers from "ethers" ; import { providers , utils } from "ethers" ; export { Contract } from "ethers" ; export type JsonRpcProvider = providers . JsonRpcProvider ; export const JsonRpcProvider = providers . JsonRpcProvider ; export type TransactionReceipt = providers . TransactionReceipt ; export type TransactionResponse = providers . TransactionResponse ; export type BigNumberish = ethers . BigNumberish ; export type Network = providers . Network ; export type Transaction = providers . TransactionRequest ; export type ABIEncoding = string ; export type Address = string ; export type AssetId = string ; export type Bytes32 = string ; export type DecString = string ; export type HexString = string ; export type PublicIdentifier = string ; export type PublicKey = string ; export type PrivateKey = string ; export type SignatureString = string ; export type UrlString = string ; export type BigNumber = ethers . BigNumber ; export const BigNumber = ethers . BigNumber ; export type BigNumberJson = { _hex : HexString ; _isBigNumber : true ; } ; export type StringMapping = { [ key ] : string ; } ; export interface EthSignature { r : string ; s : string ; v : string ; } export type ContractABI = Array < string | utils . ParamType > | string | utils . Interface ; export type SolidityPrimitiveType = string | ethers . BigNumberish | boolean ; type SolidityABIEncoderV2Struct = { [ x ] : SolidityValueType ; } ; type SolidityABIEncoderV2SArray = Array < SolidityValueType > ; export type SolidityValueType = SolidityPrimitiveType | SolidityABIEncoderV2Struct | SolidityABIEncoderV2SArray ; export type Omit < T , K extends keyof T > = Pick < T , Exclude < keyof T , K > > ;