diff options
Diffstat (limited to 'packages/contracts/deploy/src/utils/types.ts')
-rw-r--r-- | packages/contracts/deploy/src/utils/types.ts | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/packages/contracts/deploy/src/utils/types.ts b/packages/contracts/deploy/src/utils/types.ts new file mode 100644 index 000000000..855f1e849 --- /dev/null +++ b/packages/contracts/deploy/src/utils/types.ts @@ -0,0 +1,95 @@ +import * as Web3 from 'web3'; + +export enum AbiType { + Function = 'function', + Constructor = 'constructor', + Event = 'event', + Fallback = 'fallback', +} + +export interface ContractArtifact { + contract_name: string; + networks: ContractNetworks; +} + +export interface ContractNetworks { + [key: number]: ContractData; +} + +export interface ContractData { + solc_version: string; + optimizer_enabled: number; + keccak256: string; + abi: Web3.ContractAbi; + unlinked_binary: string; + address?: string; + constructor_args?: string; + updated_at: number; +} + +export interface SolcErrors { + [key: string]: boolean; +} + +export interface CliOptions { + artifactsDir: string; + contractsDir: string; + jsonrpcPort: number; + networkId: number; + shouldOptimize: boolean; + gasPrice: string; + account?: string; + contract?: string; + args?: string; +} + +export interface CompilerOptions { + contractsDir: string; + networkId: number; + optimizerEnabled: number; + artifactsDir: string; +} + +export interface DeployerOptions { + artifactsDir: string; + jsonrpcPort: number; + networkId: number; + defaults: Partial<Web3.TxData>; +} + +export interface ContractSources { + [key: string]: string; +} + +export interface ImportContents { + contents: string; +} + +// TODO: Consolidate with 0x.js definitions once types are moved into a separate package. +export enum ZeroExError { + ContractDoesNotExist = 'CONTRACT_DOES_NOT_EXIST', + ExchangeContractDoesNotExist = 'EXCHANGE_CONTRACT_DOES_NOT_EXIST', + UnhandledError = 'UNHANDLED_ERROR', + UserHasNoAssociatedAddress = 'USER_HAS_NO_ASSOCIATED_ADDRESSES', + InvalidSignature = 'INVALID_SIGNATURE', + ContractNotDeployedOnNetwork = 'CONTRACT_NOT_DEPLOYED_ON_NETWORK', + InsufficientAllowanceForTransfer = 'INSUFFICIENT_ALLOWANCE_FOR_TRANSFER', + InsufficientBalanceForTransfer = 'INSUFFICIENT_BALANCE_FOR_TRANSFER', + InsufficientEthBalanceForDeposit = 'INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT', + InsufficientWEthBalanceForWithdrawal = 'INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL', + InvalidJump = 'INVALID_JUMP', + OutOfGas = 'OUT_OF_GAS', + NoNetworkId = 'NO_NETWORK_ID', + SubscriptionNotFound = 'SUBSCRIPTION_NOT_FOUND', +} + +export interface Token { + address?: string; + name: string; + symbol: string; + decimals: number; + ipfsHash: string; + swarmHash: string; +} + +export type DoneCallback = (err?: Error) => void; |