1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071(*****************************************************************************)(* *)(* Open Source License *)(* Copyright (c) 2018 Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)(* *)(* Permission is hereby granted, free of charge, to any person obtaining a *)(* copy of this software and associated documentation files (the "Software"),*)(* to deal in the Software without restriction, including without limitation *)(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *)(* and/or sell copies of the Software, and to permit persons to whom the *)(* Software is furnished to do so, subject to the following conditions: *)(* *)(* The above copyright notice and this permission notice shall be included *)(* in all copies or substantial portions of the Software. *)(* *)(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*)(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *)(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *)(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*)(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *)(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *)(* DEALINGS IN THE SOFTWARE. *)(* *)(*****************************************************************************)openProtocolopenAlpha_contextopenClient_proto_contractsopenClient_keys_v0letget_balance(rpc:#Alpha_client_context.rpc_context)~chain~blockcontract=Alpha_services.Contract.balancerpc(chain,block)contractletget_storage(rpc:#Alpha_client_context.rpc_context)~chain~blockcontract=Alpha_services.Contract.storage_optrpc(chain,block)contractletget_script(rpc:#Alpha_client_context.rpc_context)~chain~blockcontract=Alpha_services.Contract.script_optrpc(chain,block)contractletlist_contract_labels(cctxt:#Alpha_client_context.full)~chain~block=Alpha_services.Contract.listcctxt(chain,block)>>=?funcontracts->List.map_es(funh->(matchContract.is_implicithwith|Somem->(Public_key_hash.rev_findcctxtm>>=?function|None->return""|Somenm->(Raw_contract_alias.find_optcctxtnm>>=?function|None->return(" (known as "^nm^")")|Some_->return(" (known as key:"^nm^")")))|None->(Raw_contract_alias.rev_findcctxth>>=?function|None->return""|Somenm->return(" (known as "^nm^")")))>>=?funnm->letkind=matchContract.is_implicithwithSome_->" (implicit)"|None->""inleth_b58=Contract.to_b58checkhinreturn(nm,h_b58,kind))contractsletget_manager(cctxt:#Alpha_client_context.full)~chain~blocksource=Client_proto_contracts.get_managercctxt~chain~blocksource>>=?funsrc_pkh->Client_keys_v0.get_keycctxtsrc_pkh>>=?fun(src_name,src_pk,src_sk)->return(src_name,src_pkh,src_pk,src_sk)