Package

sigmastate

Permalink

package sigmastate

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. sigmastate
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class AND(input: Value[SCollection[SBoolean.type]]) extends Transformer[SCollection[SBoolean.type], SBoolean.type] with NotReadyValueBoolean with Product with Serializable

    Permalink

    AND logical conjunction

  2. case class ArgInfo(name: String, description: String) extends Product with Serializable

    Permalink

    Meta information which can be attached to each argument of SMethod.

    Meta information which can be attached to each argument of SMethod.

    name

    name of the argument

    description

    argument description.

  3. case class ArithOp[T <: SType](left: Value[T], right: Value[T], opCode: OpCode) extends TwoArgumentsOperation[T, T, T] with NotReadyValue[T] with Product with Serializable

    Permalink
  4. class ArithOpCompanion extends TwoArgumentOperationCompanion

    Permalink

    NOTE: by-name argument is required for correct initialization order.

  5. case class AtLeast(bound: Value[SInt.type], input: Value[SCollection[SSigmaProp.type]]) extends Transformer[SCollection[SSigmaProp.type], SSigmaProp.type] with NotReadyValue[SSigmaProp.type] with Product with Serializable

    Permalink

    Logical threshold.

    Logical threshold. AtLeast has two inputs: integer bound and children same as in AND/OR. The result is true if at least bound children are true.

  6. case class AvlTreeData(digest: ADDigest, treeFlags: AvlTreeFlags, keyLength: Int, valueLengthOpt: Option[Int] = None) extends Product with Serializable

    Permalink

    Type of data which efficiently authenticates potentially huge dataset having key-value dictionary interface.

    Type of data which efficiently authenticates potentially huge dataset having key-value dictionary interface. Only root hash of dynamic AVL+ tree, tree height, key length, optional value length, and access flags are stored in an instance of the datatype.

    Please note that standard hash function from CryptoConstants is used, and height is stored along with root hash of the tree, thus digest size is always CryptoConstants.hashLength + 1 bytes.

    digest

    authenticated tree digest: root hash along with tree height

    treeFlags

    - allowed modifications. See AvlTreeFlags description for details

    keyLength

    - all the elements under the tree have the same length

    valueLengthOpt

    - if non-empty, all the values under the tree are of the same length

  7. case class AvlTreeFlags(insertAllowed: Boolean, updateAllowed: Boolean, removeAllowed: Boolean) extends Product with Serializable

    Permalink
  8. case class BinAnd(left: BoolValue, right: BoolValue) extends Relation[SBoolean.type, SBoolean.type] with Product with Serializable

    Permalink

    Logical AND with lazy right argument which is evaluated only if left == true.

    Logical AND with lazy right argument which is evaluated only if left == true. If left argument is false, the right is guaranteed to NOT be evaluated

  9. case class BinOr(left: BoolValue, right: BoolValue) extends Relation[SBoolean.type, SBoolean.type] with Product with Serializable

    Permalink

    Logical OR with lazy right argument which is evaluated only if left == false.

    Logical OR with lazy right argument which is evaluated only if left == false. If left argument is true, the right is guaranteed to NOT be evaluated

  10. case class BinXor(left: BoolValue, right: BoolValue) extends Relation[SBoolean.type, SBoolean.type] with Product with Serializable

    Permalink
  11. case class BitInversion[T <: SNumericType](input: Value[T]) extends OneArgumentOperation[T, T] with Product with Serializable

    Permalink
  12. case class BitOp[T <: SNumericType](left: Value[T], right: Value[T], opCode: OpCode) extends TwoArgumentsOperation[T, T, T] with NotReadyValue[T] with Product with Serializable

    Permalink
  13. class BitOpCompanion extends TwoArgumentOperationCompanion

    Permalink

    NOTE: by-name argument is required for correct initialization order.

  14. case class BoolToSigmaProp(value: BoolValue) extends SigmaPropValue with Product with Serializable

    Permalink

    Embedding of Boolean values to SigmaProp values.

    Embedding of Boolean values to SigmaProp values. As an example, this operation allows boolean experesions to be used as arguments of atLeast(..., sigmaProp(boolExpr), ...) operation. During execution results to either TrueProp or FalseProp values of SigmaProp type.

  15. case class ByteArrayToBigInt(input: Value[SByteArray]) extends Transformer[SByteArray, SBigInt.type] with NotReadyValueBigInt with Product with Serializable

    Permalink

    Convert SByteArray to SBigInt

  16. case class ByteArrayToLong(input: Value[SByteArray]) extends Transformer[SByteArray, SLong.type] with NotReadyValueLong with Product with Serializable

    Permalink

    Convert SByteArray to SLong

  17. case class CAND(sigmaBooleans: Seq[SigmaBoolean]) extends SigmaBoolean with Product with Serializable

    Permalink

    AND conjunction for sigma propositions

  18. case class CAndUncheckedNode(challenge: Challenge, children: Seq[UncheckedSigmaTree]) extends UncheckedConjecture with Product with Serializable

    Permalink
  19. case class CAndUnproven(proposition: CAND, challengeOpt: Option[Challenge] = None, simulated: Boolean, children: Seq[ProofTree]) extends UnprovenConjecture with Product with Serializable

    Permalink
  20. case class COR(sigmaBooleans: Seq[SigmaBoolean]) extends SigmaBoolean with Product with Serializable

    Permalink

    OR disjunction for sigma propositions

  21. case class COrUncheckedNode(challenge: Challenge, children: Seq[UncheckedSigmaTree]) extends UncheckedConjecture with Product with Serializable

    Permalink
  22. case class COrUnproven(proposition: COR, challengeOpt: Option[Challenge] = None, simulated: Boolean, children: Seq[ProofTree]) extends UnprovenConjecture with Product with Serializable

    Permalink
  23. case class CTHRESHOLD(k: Int, sigmaBooleans: Seq[SigmaBoolean]) extends SigmaBoolean with Product with Serializable

    Permalink

    THRESHOLD connector for sigma propositions

  24. case class CThresholdUncheckedNode(challenge: Challenge, children: Seq[UncheckedSigmaTree], k: Integer, polynomialOpt: Option[GF2_192_Poly]) extends UncheckedConjecture with Product with Serializable

    Permalink
  25. case class CThresholdUnproven(proposition: CTHRESHOLD, challengeOpt: Option[Challenge] = None, simulated: Boolean, k: Integer, children: Seq[ProofTree], polynomialOpt: Option[GF2_192_Poly]) extends UnprovenConjecture with Product with Serializable

    Permalink
  26. case class CalcBlake2b256(input: Value[SByteArray]) extends CalcHash with Product with Serializable

    Permalink

    Calculate Blake2b hash from input

  27. trait CalcHash extends Transformer[SByteArray, SByteArray] with NotReadyValueByteArray

    Permalink
  28. case class CalcSha256(input: Value[SByteArray]) extends CalcHash with Product with Serializable

    Permalink

    Calculate Sha256 hash from input

  29. case class Coster(selector: (RuntimeCosting) ⇒ eval.RuntimeCosting.CostingHandler[_]) extends CosterFactory with Product with Serializable

    Permalink

    An instance of this class is created in each STypeCompaion.coster property implementation.

    An instance of this class is created in each STypeCompaion.coster property implementation.

    See also

    SBox, SContext

  30. trait CosterFactory extends AnyRef

    Permalink

    Special interface to access CostingHandler.

    Special interface to access CostingHandler. Each STypeCompanion.coster property optionally defines an instance of this interface to provide access to Coster for its methods. If not specified (which is default) then generic costing mechanism is not used for methods of the corresponding type. (e.g. SInt, SLong)

  31. case class CreateAvlTree(operationFlags: ByteValue, digest: Value[SByteArray], keyLength: IntValue, valueLengthOpt: Value[SIntOption]) extends AvlTreeValue with Product with Serializable

    Permalink

    Construct a new authenticated dictionary with given parameters and tree root digest.

  32. case class CreateProveDHTuple(gv: Value[SGroupElement.type], hv: Value[SGroupElement.type], uv: Value[SGroupElement.type], vv: Value[SGroupElement.type]) extends SigmaPropValue with Product with Serializable

    Permalink

    ErgoTree operation to create a new SigmaProp value representing public key of Diffie Hellman signature protocol.

    ErgoTree operation to create a new SigmaProp value representing public key of Diffie Hellman signature protocol. Common input: (g,h,u,v)

  33. case class CreateProveDlog(value: Value[SGroupElement.type]) extends SigmaPropValue with Product with Serializable

    Permalink

    ErgoTree operation to create a new SigmaProp value representing public key of discrete logarithm signature protocol.

  34. case class DecodePoint(input: Value[SByteArray]) extends Transformer[SByteArray, SGroupElement.type] with NotReadyValueGroupElement with Product with Serializable

    Permalink

    Convert SByteArray to SGroupElement using CryptoConstants.dlogGroup.curve.decodePoint(bytes)

  35. case class Downcast[T <: SNumericType, R <: SNumericType](input: Value[T], tpe: R) extends Transformer[T, R] with Product with Serializable

    Permalink

    Down cast for Numeric types

  36. case class EQ[S <: SType](left: Value[S], right: Value[S]) extends SimpleRelation[S] with Product with Serializable

    Permalink

    Equals operation for SType todo: make EQ to really accept only values of the same type, now EQ(TrueLeaf, IntConstant(5)) is valid

  37. case class Exponentiate(left: Value[SGroupElement.type], right: Value[SBigInt.type]) extends TwoArgumentsOperation[SGroupElement.type, SBigInt.type, SGroupElement.type] with NotReadyValueGroupElement with Product with Serializable

    Permalink
  38. case class GE[T <: SType](left: Value[T], right: Value[T]) extends SimpleRelation[T] with Product with Serializable

    Permalink

    Greater or equals operation for SInt

  39. case class GT[T <: SType](left: Value[T], right: Value[T]) extends SimpleRelation[T] with Product with Serializable

    Permalink

    Greater operation for SInt

  40. case class If[T <: SType](condition: Value[SBoolean.type], trueBranch: Value[T], falseBranch: Value[T]) extends Quadruple[SBoolean.type, T, T, T] with Product with Serializable

    Permalink

    If conditional function.

    If conditional function. Non-lazy - evaluate both branches.

    condition

    - condition to check

    trueBranch

    - branch that will be used if condition is true

    falseBranch

    - branch that will be used if condition is false

  41. case class LE[T <: SType](left: Value[T], right: Value[T]) extends SimpleRelation[T] with Product with Serializable

    Permalink

    Less or equals operation for SInt

  42. case class LT[T <: SType](left: Value[T], right: Value[T]) extends SimpleRelation[T] with Product with Serializable

    Permalink

    Less operation for SInt

  43. case class LogicalNot(input: Value[SBoolean.type]) extends NotReadyValueBoolean with Product with Serializable

    Permalink
  44. trait LogicalTransformerCompanion extends ValueCompanion

    Permalink
  45. case class LongToByteArray(input: Value[SLong.type]) extends Transformer[SLong.type, SByteArray] with NotReadyValueByteArray with Product with Serializable

    Permalink

    Convert SLong to SByteArray

  46. trait MethodByNameUnapply extends STypeCompanion

    Permalink
  47. case class MethodIRInfo(irBuilder: Option[PartialFunction[(SigmaBuilder, SValue, SMethod, Seq[SValue], STypeSubst), SValue]]) extends Product with Serializable

    Permalink

    Meta information connecting SMethod with ErgoTree.

    Meta information connecting SMethod with ErgoTree.

    irBuilder

    optional recognizer and ErgoTree node builder.

  48. case class ModQ(input: Value[SBigInt.type]) extends NotReadyValue[SBigInt.type] with Product with Serializable

    Permalink
  49. case class ModQArithOp(left: Value[SBigInt.type], right: Value[SBigInt.type], opCode: OpCode) extends NotReadyValue[SBigInt.type] with Product with Serializable

    Permalink
  50. abstract class ModQArithOpCompanion extends ValueCompanion

    Permalink
  51. case class MultiplyGroup(left: Value[SGroupElement.type], right: Value[SGroupElement.type]) extends TwoArgumentsOperation[SGroupElement.type, SGroupElement.type, SGroupElement.type] with NotReadyValueGroupElement with Product with Serializable

    Permalink
  52. case class NEQ[S <: SType](left: Value[S], right: Value[S]) extends SimpleRelation[S] with Product with Serializable

    Permalink

    Non-Equals operation for SType

  53. case class Negation[T <: SNumericType](input: Value[T]) extends OneArgumentOperation[T, T] with Product with Serializable

    Permalink

    Negation operation on numeric type T.

  54. trait NumericCastCompanion extends ValueCompanion

    Permalink
  55. case class OR(input: Value[SCollection[SBoolean.type]]) extends Transformer[SCollection[SBoolean.type], SBoolean.type] with NotReadyValueBoolean with Product with Serializable

    Permalink

    OR logical conjunction

  56. sealed trait OneArgumentOperation[IV <: SType, OV <: SType] extends NotReadyValue[OV]

    Permalink
  57. trait OneArgumentOperationCompanion extends ValueCompanion

    Permalink
  58. trait OpGroup[C <: ValueCompanion] extends AnyRef

    Permalink
  59. case class OperationInfo(opDesc: Option[ValueCompanion], description: String, args: Seq[ArgInfo]) extends Product with Serializable

    Permalink

    Meta information which can be attached to SMethod.

    Meta information which can be attached to SMethod.

    description

    human readable description of the method

    args

    one item for each argument

  60. trait ProofTree extends Product

    Permalink
  61. trait ProofTreeConjecture extends ProofTree

    Permalink
  62. trait ProofTreeLeaf extends ProofTree

    Permalink
  63. sealed trait Quadruple[IV1 <: SType, IV2 <: SType, IV3 <: SType, OV <: SType] extends NotReadyValue[OV]

    Permalink

    A tree node with three descendants

  64. trait QuadrupleCompanion extends ValueCompanion

    Permalink
  65. sealed trait Relation[LIV <: SType, RIV <: SType] extends Triple[LIV, RIV, SBoolean.type] with NotReadyValueBoolean

    Permalink
  66. trait RelationCompanion extends ValueCompanion

    Permalink
  67. trait SCollection[T <: SType] extends SProduct with SGenericType

    Permalink
  68. case class SCollectionType[T <: SType](elemType: T) extends SCollection[T] with Product with Serializable

    Permalink
  69. trait SEmbeddable extends SType

    Permalink

    Base trait for all embeddable types.

  70. case class SFunc(tDom: IndexedSeq[SType], tRange: SType, tpeParams: Seq[STypeParam] = Nil) extends SType with SGenericType with Product with Serializable

    Permalink
  71. trait SGenericType extends AnyRef

    Permalink

    Base trait implemented by all generic types (those which has type parameters, e.g.

    Base trait implemented by all generic types (those which has type parameters, e.g. Coll[T], Option[T], etc.)

  72. trait SLogical extends SType

    Permalink
  73. case class SMethod(objType: STypeCompanion, name: String, stype: SFunc, methodId: Byte, irInfo: MethodIRInfo, docInfo: Option[OperationInfo]) extends Product with Serializable

    Permalink

    Method info including name, arg type and result type.

    Method info including name, arg type and result type. Here stype.tDom - arg type and stype.tRange - result type. methodId should be unique among methods of the same objType.

  74. trait SMonoType extends SType with STypeCompanion

    Permalink

    Monomorphic type descriptor i.e.

    Monomorphic type descriptor i.e. a type without generic parameters.

    See also

    SGenericType

  75. trait SNumericType extends SProduct

    Permalink

    Marker trait for all numeric types.

  76. case class SOption[ElemType <: SType](elemType: ElemType) extends SProduct with SGenericType with Product with Serializable

    Permalink

    Type description of optional values.

    Type description of optional values. Instances of Option are either constructed by Some or by None constructors.

  77. trait SPredefType extends SType

    Permalink

    Base trait for all pre-defined types which are not necessary primitive (e.g.

    Base trait for all pre-defined types which are not necessary primitive (e.g. Box, AvlTree).

  78. trait SPrimType extends SType with SPredefType

    Permalink

    Base trait for all primitive types (aka atoms) which don't have internal type items.

    Base trait for all primitive types (aka atoms) which don't have internal type items. All primitive types can occupy a reserved interval of codes from 1 to MaxPrimTypeCode.

  79. trait SProduct extends SType

    Permalink

    Base trait for all types which have methods (and properties)

  80. case class STuple(items: IndexedSeq[SType]) extends SCollection[SAny.type] with Product with Serializable

    Permalink
  81. sealed trait SType extends SigmaNode

    Permalink

    Every type descriptor is a tree represented by nodes in SType hierarchy.

    Every type descriptor is a tree represented by nodes in SType hierarchy. In order to extend type family: - Implement concrete class derived from SType - Implement serializer (see SCollectionSerializer) and register it in STypeSerializer.table Each SType is serialized to array of bytes by: - emitting typeCode of each node (see special case for collections below) - then recursively serializing subtrees from left to right on each level - for each collection of primitive type there is special type code to emit single byte instead of two bytes Types code intervals - (1 .. MaxPrimTypeCode) // primitive types - (CollectionTypeCode .. CollectionTypeCode + MaxPrimTypeCode) // collections of primitive types - (MaxCollectionTypeCode ..) // Other types Collection of non-primitive type is serialized as (CollectionTypeCode, serialize(elementType))

  82. case class STypeApply(name: String, args: IndexedSeq[SType] = IndexedSeq()) extends SType with Product with Serializable

    Permalink
  83. trait STypeCompanion extends AnyRef

    Permalink

    Basic interface for all type companions.

    Basic interface for all type companions. This is necessary to make distinction between concrete type descriptor of a type like Coll[Int] and generic descriptor of Coll[T] type constructor. Some simple types like Int, GroupElement inherit from both SType and STypeCompanion.

    See also

    SInt, SGroupElement, SType

  84. case class STypeVar(name: String) extends SType with Product with Serializable

    Permalink

    Type variable which is used in generic method/func signatures.

  85. case class SigmaAnd(items: Seq[SigmaPropValue]) extends SigmaTransformer[SigmaPropValue, SigmaPropValue] with Product with Serializable

    Permalink

    AND conjunction for sigma propositions

  86. trait SigmaNode extends Product

    Permalink

    Base type for all AST nodes of sigma lang.

  87. trait SigmaNodeCompanion extends AnyRef

    Permalink

    Base type for all companions of AST nodes of sigma lang.

  88. case class SigmaOr(items: Seq[SigmaPropValue]) extends SigmaTransformer[SigmaPropValue, SigmaPropValue] with Product with Serializable

    Permalink

    OR disjunction for sigma propositions

  89. trait SigmaProofOfKnowledgeLeaf[SP <: SigmaProtocol[SP], S <: SigmaProtocolPrivateInput[SP, _]] extends SigmaBoolean with SigmaProtocolCommonInput[SP]

    Permalink
  90. trait SigmaTransformer[IV <: SigmaPropValue, OV <: SigmaPropValue] extends SigmaPropValue

    Permalink
  91. trait SigmaTransformerCompanion extends ValueCompanion

    Permalink
  92. trait SimpleRelation[T <: SType] extends Relation[T, T]

    Permalink
  93. case class SubstConstants[T <: SType](scriptBytes: Value[SByteArray], positions: Value[SIntArray], newValues: Value[SCollection[T]]) extends NotReadyValueByteArray with Product with Serializable

    Permalink

    Transforms serialized bytes of ErgoTree with segregated constants by replacing constants at given positions with new values.

    Transforms serialized bytes of ErgoTree with segregated constants by replacing constants at given positions with new values. This operation allow to use serialized scripts as pre-defined templates. The typical usage is "check that output box have proposition equal to given script bytes, where minerPk (constants(0)) is replaced with currentMinerPk". Each constant in original scriptBytes have SType serialized before actual data (see ConstantSerializer). During substitution each value from newValues is checked to be an instance of the corresponding type. This means, the constants during substitution cannot change their types.

    scriptBytes

    serialized ErgoTree with ConstantSegregationFlag set to 1.

    positions

    zero based indexes in ErgoTree.constants array which should be replaced with new values

    newValues

    new values to be injected into the corresponding positions in ErgoTree.constants array

    returns

    original scriptBytes array where only specified constants are replaced and all other bytes remain exactly the same

  94. case class TreeLookup(tree: Value[SAvlTree.type], key: Value[SByteArray], proof: Value[SByteArray]) extends Quadruple[SAvlTree.type, SByteArray, SByteArray, SOption[SByteArray]] with Product with Serializable

    Permalink

    Perform a lookup of key key in a tree with root tree using proof proof.

    Perform a lookup of key key in a tree with root tree using proof proof. Throws exception if proof is incorrect Return Some(bytes) of leaf with key key if it exists Return None if leaf with provided key does not exist.

  95. sealed trait Triple[LIV <: SType, RIV <: SType, OV <: SType] extends NotReadyValue[OV]

    Permalink

    A tree node with left and right descendants

  96. abstract class TrivialProp extends SigmaBoolean with Product1[Boolean]

    Permalink

    Represents boolean values (true/false) in SigmaBoolean tree.

    Represents boolean values (true/false) in SigmaBoolean tree. Participates in evaluation of CAND, COR, THRESHOLD connectives over SigmaBoolean values. See CAND.normalized, COR.normalized and AtLeast.reduce.

  97. trait TwoArgumentOperationCompanion extends ValueCompanion

    Permalink
  98. sealed trait TwoArgumentsOperation[LIV <: SType, RIV <: SType, OV <: SType] extends Triple[LIV, RIV, OV]

    Permalink
  99. trait UncheckedConjecture extends UncheckedSigmaTree with ProofTreeConjecture

    Permalink
  100. case class UncheckedDiffieHellmanTuple(proposition: ProveDHTuple, commitmentOpt: Option[FirstDiffieHellmanTupleProverMessage], challenge: Challenge, secondMessage: SecondDiffieHellmanTupleProverMessage) extends UncheckedLeaf[ProveDHTuple] with Product with Serializable

    Permalink
  101. trait UncheckedLeaf[SP <: SigmaBoolean] extends UncheckedSigmaTree with ProofTreeLeaf

    Permalink
  102. case class UncheckedSchnorr(proposition: ProveDlog, commitmentOpt: Option[FirstDLogProverMessage], challenge: Challenge, secondMessage: SecondDLogProverMessage) extends UncheckedLeaf[ProveDlog] with Product with Serializable

    Permalink
  103. sealed trait UncheckedSigmaTree extends UncheckedTree

    Permalink
  104. sealed trait UncheckedTree extends ProofTree

    Permalink
  105. sealed trait UnprovenConjecture extends UnprovenTree with ProofTreeConjecture

    Permalink
  106. case class UnprovenDiffieHellmanTuple(proposition: ProveDHTuple, commitmentOpt: Option[FirstDiffieHellmanTupleProverMessage], randomnessOpt: Option[BigInteger], challengeOpt: Option[Challenge] = None, simulated: Boolean) extends UnprovenLeaf with Product with Serializable

    Permalink
  107. sealed trait UnprovenLeaf extends UnprovenTree with ProofTreeLeaf

    Permalink
  108. case class UnprovenSchnorr(proposition: ProveDlog, commitmentOpt: Option[FirstDLogProverMessage], randomnessOpt: Option[BigInteger], challengeOpt: Option[Challenge] = None, simulated: Boolean) extends UnprovenLeaf with Product with Serializable

    Permalink
  109. sealed trait UnprovenTree extends ProofTree

    Permalink
  110. case class Upcast[T <: SNumericType, R <: SNumericType](input: Value[T], tpe: R) extends Transformer[T, R] with Product with Serializable

    Permalink

    Up cast for Numeric types

  111. case class Xor(left: Value[SByteArray], right: Value[SByteArray]) extends TwoArgumentsOperation[SByteArray, SByteArray, SByteArray] with NotReadyValueByteArray with Product with Serializable

    Permalink

    XOR for two SByteArray

  112. case class XorOf(input: Value[SCollection[SBoolean.type]]) extends Transformer[SCollection[SBoolean.type], SBoolean.type] with NotReadyValueBoolean with Product with Serializable

    Permalink

    Similar to allOf, but performing logical XOR operation instead of &&

Value Members

  1. object AND extends LogicalTransformerCompanion with Serializable

    Permalink
  2. object ArithOp extends Serializable

    Permalink
  3. object AtLeast extends ValueCompanion with Serializable

    Permalink
  4. object AvlTreeData extends Serializable

    Permalink
  5. object AvlTreeFlags extends Serializable

    Permalink
  6. object BinAnd extends RelationCompanion with Serializable

    Permalink
  7. object BinOr extends RelationCompanion with Serializable

    Permalink
  8. object BinXor extends RelationCompanion with Serializable

    Permalink
  9. object BitInversion extends OneArgumentOperationCompanion with Serializable

    Permalink
  10. object BitOp extends Serializable

    Permalink
  11. object BoolToSigmaProp extends ValueCompanion with Serializable

    Permalink
  12. object ByteArrayToBigInt extends SimpleTransformerCompanion with Serializable

    Permalink
  13. object ByteArrayToLong extends SimpleTransformerCompanion with Serializable

    Permalink
  14. object CAND extends Serializable

    Permalink
  15. object COR extends Serializable

    Permalink
  16. object CalcBlake2b256 extends SimpleTransformerCompanion with Serializable

    Permalink
  17. object CalcSha256 extends SimpleTransformerCompanion with Serializable

    Permalink
  18. object ConjectureType extends Enumeration

    Permalink
  19. object CreateAvlTree extends ValueCompanion with Serializable

    Permalink
  20. object CreateProveDHTuple extends ValueCompanion with Serializable

    Permalink
  21. object CreateProveDlog extends ValueCompanion with Serializable

    Permalink
  22. object DecodePoint extends SimpleTransformerCompanion with Serializable

    Permalink
  23. def Divide[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink

    SInt division

  24. object Downcast extends NumericCastCompanion with Serializable

    Permalink
  25. object EQ extends RelationCompanion with Serializable

    Permalink
  26. object EcPointFunctions

    Permalink
  27. object Exponentiate extends TwoArgumentOperationCompanion with Serializable

    Permalink
  28. object FiatShamirTree

    Permalink

    Prover Step 7: Convert the tree to a string s for input to the Fiat-Shamir hash function.

    Prover Step 7: Convert the tree to a string s for input to the Fiat-Shamir hash function. The conversion should be such that the tree can be unambiguously parsed and restored given the string. For each non-leaf node, the string should contain its type (OR or AND). For each leaf node, the string should contain the Sigma-protocol statement being proven and the commitment. The string should not contain information on whether a node is marked "real" or "simulated", and should not contain challenges, responses, or the real/simulated flag for any node.

  29. object GE extends RelationCompanion with Serializable

    Permalink
  30. object GT extends RelationCompanion with Serializable

    Permalink
  31. object If extends QuadrupleCompanion with Serializable

    Permalink
  32. object LE extends RelationCompanion with Serializable

    Permalink
  33. object LT extends RelationCompanion with Serializable

    Permalink
  34. object LogicalNot extends ValueCompanion with Serializable

    Permalink
  35. object LongToByteArray extends SimpleTransformerCompanion with Serializable

    Permalink
  36. def Max[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink
  37. def Min[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink
  38. def Minus[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink

    SInt subtraction

  39. def MinusModQ(left: Value[SBigInt.type], right: Value[SBigInt.type]): Value[SBigInt.type]

    Permalink
  40. object ModQ extends ValueCompanion with Serializable

    Permalink
  41. object ModQArithOp extends OpGroup[ModQArithOpCompanion] with Serializable

    Permalink
  42. def Modulo[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink

    SInt modulo

  43. def Multiply[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink

    SInt multiplication

  44. object MultiplyGroup extends TwoArgumentOperationCompanion with Serializable

    Permalink
  45. object NEQ extends RelationCompanion with Serializable

    Permalink
  46. object Negation extends OneArgumentOperationCompanion with Serializable

    Permalink
  47. object NoProof extends UncheckedTree with Product with Serializable

    Permalink
  48. object NoType extends SType with Product with Serializable

    Permalink

    Special type to represent untyped values.

    Special type to represent untyped values. Interpreter raises an error when encounter a Value with this type. All Value nodes with this type should be elimitanted during typing. If no specific type can be assigned statically during typing, then either error should be raised or type SAny should be assigned which is interpreted as dynamic typing.

  49. object OR extends LogicalTransformerCompanion with Serializable

    Permalink
  50. object OperationInfo extends Serializable

    Permalink
  51. object Operations

    Permalink

    WARNING: This file is generated by GenInfoObjects tool.

    WARNING: This file is generated by GenInfoObjects tool. Don't edit it directly, use the tool instead to regenerate. The operations are alphabetically sorted.

  52. def Plus[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]

    Permalink

    SInt addition

  53. def PlusModQ(left: Value[SBigInt.type], right: Value[SBigInt.type]): Value[SBigInt.type]

    Permalink
  54. object SAny extends SPrimType with Product with Serializable

    Permalink

    Any other type is implicitly subtype of this type.

  55. object SAvlTree extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink
  56. object SBigInt extends SPrimType with SEmbeddable with SNumericType with SMonoType with Product with Serializable

    Permalink

    Type of 256 bit integet values.

    Type of 256 bit integet values. Implemented using java.math.BigInteger.

  57. object SBoolean extends SPrimType with SEmbeddable with SLogical with SProduct with SMonoType with Product with Serializable

    Permalink
  58. object SBox extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink
  59. object SByte extends SPrimType with SEmbeddable with SNumericType with SMonoType with Product with Serializable

    Permalink
  60. object SCollection extends STypeCompanion with MethodByNameUnapply

    Permalink
  61. object SCollectionType extends Serializable

    Permalink
  62. object SContext extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink
  63. object SFunc extends Serializable

    Permalink
  64. object SGlobal extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink

    This type is introduced to unify handling of global and non-global (i.e.

    This type is introduced to unify handling of global and non-global (i.e. methods) operations. It unifies implementation of global operation with implementation of methods and avoids code duplication (following DRY principle https://en.wikipedia.org/wiki/Don%27t_repeat_yourself). The WrappedType is special.sigma.SigmaDslBuilder, which is an interface implemented by the singleton sigmastate.eval.CostingSigmaDslBuilder

    The Constant(...) tree node of this type are not allowed, as well as using it in register and context variables (aka ContextExtension)

    When new methods are added to this type via a soft-fork, they will be serialized as part of ErgoTree using MethodCallSerializer, where SGlobal.typeCode will be used.

    See also

    sigmastate.lang.SigmaPredef

  65. object SGroupElement extends SProduct with SPrimType with SEmbeddable with SMonoType with Product with Serializable

    Permalink

    NOTE: this descriptor both type and type companion

  66. object SHeader extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink
  67. object SInt extends SPrimType with SEmbeddable with SNumericType with SMonoType with Product with Serializable

    Permalink
  68. object SLong extends SPrimType with SEmbeddable with SNumericType with SMonoType with Product with Serializable

    Permalink
  69. object SMethod extends Serializable

    Permalink
  70. object SNumericType extends STypeCompanion

    Permalink
  71. object SOption extends STypeCompanion with Serializable

    Permalink
  72. object SPair

    Permalink

    Helper constuctor/extractor for tuples of two types.

  73. object SPreHeader extends SProduct with SPredefType with SMonoType with Product with Serializable

    Permalink
  74. object SPrimType

    Permalink

    Primitive type recognizer to pattern match on TypeCode

  75. object SShort extends SPrimType with SEmbeddable with SNumericType with SMonoType with Product with Serializable

    Permalink
  76. object SSigmaProp extends SProduct with SPrimType with SEmbeddable with SLogical with SMonoType with Product with Serializable

    Permalink
  77. object SString extends SProduct with SMonoType with Product with Serializable

    Permalink

    NOTE: this descriptor both type and type companion

  78. object STuple extends STypeCompanion with Serializable

    Permalink
  79. object SType

    Permalink
  80. object STypeApply extends Serializable

    Permalink
  81. object STypeVar extends Serializable

    Permalink
  82. object SUnit extends SPrimType with Product with Serializable

    Permalink

    The type with single inhabitant value ()

  83. object SigSerializer

    Permalink
  84. object SigmaAnd extends SigmaTransformerCompanion with Serializable

    Permalink
  85. object SigmaOr extends SigmaTransformerCompanion with Serializable

    Permalink
  86. object SubstConstants extends ValueCompanion with Serializable

    Permalink
  87. object TreeLookup extends QuadrupleCompanion with Serializable

    Permalink
  88. object TrivialProp

    Permalink
  89. object Upcast extends NumericCastCompanion with Serializable

    Permalink
  90. object Values

    Permalink
  91. object Xor extends TwoArgumentOperationCompanion with Serializable

    Permalink
  92. object XorOf extends LogicalTransformerCompanion with Serializable

    Permalink
  93. package basics

    Permalink
  94. package eval

    Permalink
  95. package interpreter

    Permalink
  96. package lang

    Permalink
  97. package serialization

    Permalink
  98. package utils

    Permalink
  99. package utxo

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped