package Ġscre eps . api Ċ Ċ import Ġkotlin . js . Date Ċ Ċ external Ġinterface ĠMarket Ġ{ ĊĠĠĠ Ġval Ġcredits : ĠDouble ĊĠĠĠ Ġval Ġincoming Transactions : ĠArray < Transaction > ĊĠĠĠ Ġval Ġorders : ĠRecord < String , ĠOrder > ĊĠĠĠ Ġval Ġoutgoing Transactions : ĠArray < Transaction > ĊĊĠĠĠ Ġfun Ġcalc Transaction Cost ( amount : ĠInt , Ġroom Name 1 : ĠString , Ġroom Name 2 : ĠString ): ĠInt ĊĠĠĠ Ġfun Ġcancel Order ( orderId : ĠString ): ĠS cre eps Return Code ĊĠĠĠ Ġfun Ġchange Order Price ( orderId : ĠString , Ġnew Price : ĠDouble ): ĠS cre eps Return Code ĊĠĠĠ Ġfun Ġcreate Order ( params : ĠOrder Creation Params ): ĠS cre eps Return Code ĊĊĠĠĠ Ġfun Ġdeal ( orderId : ĠString , Ġamount : ĠInt , Ġtarget Room Name : ĠString Ġ= Ġdefined Ex tern ally ): ĠS cre eps Return Code ĊĠĠĠ Ġfun Ġextend Order ( orderId : ĠString , Ġadd Amount : ĠInt ): ĠS cre eps Return Code ĊĠĠĠ Ġfun ĠgetAll Orders ( filter : ĠOrder . Filter Ġ= Ġdefined Ex tern ally ): ĠArray < Order > ĊĠĠĠ Ġfun ĠgetAll Orders ( filter : Ġ(( o : ĠOrder ) Ġ-> ĠBoolean ) Ġ= Ġdefined Ex tern ally ): ĠArray < Order > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġdaily Ġprice Ġhistory Ġof Ġthe Ġspecified Ġresource Ġon Ġthe Ġmarket Ġfor Ġthe Ġlast Ġ 1 4 Ġdays ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget History ( resourceType : ĠTr ad able Constant ?): ĠArray < History Entry > ĊĊĠĠĠ Ġfun ĠgetAll Orders (): ĠArray < Order > ĊĠĠĠ Ġfun Ġget Order ById ( id : ĠString ): ĠOrder ? ĊĊĠĠĠ Ġinterface ĠOrder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġcreated : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġactive : ĠBoolean ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠOrder Constant ĊĠĠĠĠĠĠĠ Ġval Ġresource Type : ĠTr ad able Constant ĊĠĠĠĠĠĠĠ Ġval Ġroom Name : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġremaining Amount : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġtotal Amount : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġprice : ĠDouble ĊĊĠĠĠĠĠĠĠ Ġinterface ĠFilter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcreated : ĠInt ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtype : ĠOrder Constant ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresource Type : ĠTr ad able Constant ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġroom Name : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġamount : ĠInt ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġremaining Amount : ĠInt ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġprice : ĠDouble ? ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠTransaction Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Id : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġtime : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġsender : ĠOwner ĊĠĠĠĠĠĠĠ Ġval Ġrecipient : ĠOwner ĊĠĠĠĠĠĠĠ Ġval Ġresource Type : ĠTr ad able Constant ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġfrom : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġto : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġdescription : ĠString ĊĠĠĠĠĠĠĠ Ġval Ġorder : ĠOrder ? ĊĊĠĠĠĠĠĠĠ Ġinterface ĠOrder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype : ĠOrder Constant ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprice : ĠDouble ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠHistory Entry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresource Type : ĠResource Constant ĊĠĠĠĠĠĠĠ Ġval Ġdate : ĠDate ĊĠĠĠĠĠĠĠ Ġval Ġtransactions : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġvolume : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġavg Price : ĠFloat ĊĠĠĠĠĠĠĠ Ġval Ġstd dev Price : ĠFloat ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠOrder Creation Params Ġ( ĊĠĠĠ Ġ@ Js Name (" type ") ĊĠĠĠ Ġval Ġtype : ĠOrder Constant , ĊĊĠĠĠ Ġ@ Js Name (" resourceType ") ĊĠĠĠ Ġval Ġresource Type : ĠTr ad able Constant , ĊĊĠĠĠ Ġ@ Js Name (" price ") ĊĠĠĠ Ġval Ġprice : ĠDouble , ĊĊĠĠĠ Ġ@ Js Name (" total Amount ") ĊĠĠĠ Ġval Ġtotal Amount : ĠInt , ĊĊĠĠĠ Ġ@ Js Name (" room Name ") ĊĠĠĠ Ġval Ġroom Name : ĠString ? Ġ= Ġnull Ċ )