ergo-lib 0.5.0

ErgoTree interpreter and wallet-like features for Ergo
Documentation

Latest Version Documentation

Features:

  • ErgoTree AST;
  • Transactions, boxes, etc.;
  • JSON serialization;
  • Box builder(with mint token support);
  • Transaction creation(builder) and signing;
  • Box selection for funds and assets (with token burning support);

Interpreter (what's implemented):

  • global vars (INPUTS, OUTPUTS, SELF, HEIGHT);
  • Context properties (dataInputs);
  • Value types with serialization for most of them(types and values);
  • EQ(==), NEQ(!=);
  • BlockValue, ValDef, ValUse, FuncValue, Apply;
  • Fold(collection), ExtractAmount(Box.value), SelectField(tuple field access);
  • CalcBlake2b256;
  • Arithmetic ops (+, -, *, /);
  • Comparison ops (>, >=, <, <=);
  • AND, OR, Collection (collection declaration);
  • BinAnd, BinOr;
  • LogicalNot (!);
  • Map, Filter collection ops;
  • BoolToSigmaProp;
  • If;
  • Min, Max;
  • ByIndex, Box.tokens;
  • ExtractScriptBytes (Box.propositionBytes);
  • SizeOf (Coll.size);

Usage

Crate features

json (default feature)

JSON serialization for chain types using serde.