// Generated by eosio-abi2ts 1.2.2 - eosio::abi/1.2

export type IAsset = string
export type IName = string
export type IChecksum256 = string
export type ITimePointSec = string
export type IUint64 = number | string

export interface ICreateinpay {
  coopname: IName
  username: IName
  income_hash: IChecksum256
  quantity: IAsset
  callback_contract: IName
  confirm_callback: IName
  decline_callback: IName
}

export interface ICreateoutpay {
  coopname: IName
  username: IName
  outcome_hash: IChecksum256
  quantity: IAsset
  callback_contract: IName
  confirm_callback: IName
  decline_callback: IName
}

export interface IIncome {
  id: IUint64
  coopname: IName
  username: IName
  type: IName
  income_hash: IChecksum256
  callback_contract: IName
  confirm_callback: IName
  decline_callback: IName
  quantity: IAsset
  status: IName
  created_at: ITimePointSec
}

export interface IIncomplete {
  coopname: IName
  income_hash: IChecksum256
}

export interface IIndecline {
  coopname: IName
  income_hash: IChecksum256
  reason: string
}

export interface IMigrate {
}

export interface IOutcome {
  id: IUint64
  coopname: IName
  username: IName
  type: IName
  outcome_hash: IChecksum256
  callback_contract: IName
  confirm_callback: IName
  decline_callback: IName
  quantity: IAsset
  status: IName
  created_at: ITimePointSec
}

export interface IOutcomplete {
  coopname: IName
  outcome_hash: IChecksum256
}

export interface IOutdecline {
  coopname: IName
  outcome_hash: IChecksum256
  reason: string
}

