package octez-protocol-009-PsFLoren-libs

  1. Overview
  2. Docs

Client_proto_fa12 implements built-in support for the FA1.2 standard. This module features functions to check whether a contract implements the standard interface and to interact with such contracts using high-level actions that model the entrypoint calls.

This module also provides functions to unwrap Micheline values into actions, which can be useful for indexers or applications using this module to interpret transactions on FA1.2 contracts as FA1.2 operations.

type callback_contract = Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Contract.t * string option

A callback contract is represented by an address and a possible entrypoint on which the transaction is done.

val print_action : Stdlib.Format.formatter -> action -> unit
val convert_wrapped_parameter_into_action : Protocol_client_context.full -> chain:Tezos_shell_services.Shell_services.chain -> block:Tezos_shell_services.Shell_services.block -> Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Contract.t -> Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Script.node -> action Tezos_base.TzPervasives.tzresult Lwt.t

convert_wrapped_parameter_into_action ccctx ~chain ~block ~contract parameter converts a wrapped FA1.2 contract parameter into the corresponding FA1.2 action.

That is, it takes a contract parameter on the form C_1 .. (C_n ... <entrypoint argument> )) where C_1 ... C_n is a sequence of Left/Right constructors. It finds the entrypoint corresponding to that path in contract's interface. The result of the function is the <entrypoint arguments> applied to the action corresponding to that entrypoint.

val contract_has_fa12_interface : Protocol_client_context.full -> chain:Tezos_shell_services.Shell_services.chain -> block:Tezos_shell_services.Shell_services.block -> contract:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Contract.t -> unit -> unit Tezos_base.TzPervasives.tzresult Lwt.t

Check whether a contract has an FA1.2 interface.

type token_transfer = {
  1. token_contract : string;
  2. destination : string;
  3. amount : Z.t;
  4. tez_amount : string option;
  5. fee : string option;
  6. gas_limit : Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Gas.Arith.integral option;
  7. storage_limit : Z.t option;
}

Single transfer operation.

val inject_token_transfer_batch : Protocol_client_context.full -> chain:Tezos_shell_services.Chain_services.chain -> block:Tezos_shell_services.Block_services.block -> ?confirmations:int -> ?dry_run:bool -> ?verbose_signing:bool -> sender:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Contract.t -> source:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.public_key_hash -> src_pk:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.public_key -> src_sk:Tezos_client_base.Client_keys_v0.sk_uri -> token_transfers:token_transfer list -> fee_parameter:Injection.fee_parameter -> ?counter:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.counter -> ?default_fee:Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Tez.t -> ?default_gas_limit: Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.Gas.Arith.integral -> ?default_storage_limit: Tezos_protocol_009_PsFLoren.Protocol.Alpha_context.counter -> unit -> unit Tezos_base.TzPervasives.tzresult Lwt.t

Inject a batch of token transfers.

OCaml

Innovation. Community. Security.