class StdSigmaBuilder extends SigmaBuilder
Standard implementation of SigmaBuilder interface in which most of the operations
delegate common logic to equalityOp, comparisonOp and arithOp with default
implementation.
Note, each method of this class uses current value of currentSrcCtx
dynamic variable
to attach SourceContext to the created node. Thus, it is a responsibility of the
caller to provide valid value of the currentSrcCtx
variable. (See for example how
this variable is used in SigmaParser.)
- Alphabetic
- By Inheritance
- StdSigmaBuilder
- SigmaBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new StdSigmaBuilder()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
arithOp[T <: SNumericType, R](left: Value[T], right: Value[T], cons: (Value[T], Value[T]) ⇒ R): R
Create arithmetic operation using given operation arguments and the given node constructor.
Create arithmetic operation using given operation arguments and the given node constructor.
- left
operand of the operation (left sub-expression)
- right
operand of the operation (right sub-expression)
- cons
constructor of the node
- Attributes
- protected
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
check2[T <: SType](left: Value[T], right: Value[T], constraints: Seq[TypeConstraint2]): Unit
Helper method to check constraints on the arguments of the binary operation.
Helper method to check constraints on the arguments of the binary operation.
- left
operand of the operation (left sub-expression)
- right
operand of the operation (right sub-expression)
- constraints
an array of constraints (should be WrappedArray (not List) for performance) HOTSPOT: called during script deserialization (don't beautify this code)
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
comparisonOp[T <: SType, R](left: Value[T], right: Value[T], cons: (Value[T], Value[T]) ⇒ R): R
Create comparison operation using given operation arguments and the given node constructor.
Create comparison operation using given operation arguments and the given node constructor.
- left
operand of the operation (left sub-expression)
- right
operand of the operation (right sub-expression)
- cons
constructor of the node
- Attributes
- protected
-
val
currentSrcCtx: DynamicVariable[Nullable[SourceContext]]
Dynamic variable used to pass SourceContext to the constructors of the node.
Dynamic variable used to pass SourceContext to the constructors of the node. Used in concrete implementations of this interface.
- Definition Classes
- SigmaBuilder
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equalityOp[T <: SType, R](left: Value[T], right: Value[T], cons: (Value[T], Value[T]) ⇒ R): R
Create equality operation using given operation arguments and the given node constructor.
Create equality operation using given operation arguments and the given node constructor.
- left
operand of the operation (left sub-expression)
- right
operand of the operation (right sub-expression)
- cons
constructor of the node
- Attributes
- protected
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
liftAny(obj: Any): Nullable[SValue]
Created a new Value instance with an appropriate type derived from the given data
obj
.Created a new Value instance with an appropriate type derived from the given data
obj
. Ifobj
is already Value, then it is returned as result. Uses scalan.Nullable instead of Option to avoid allocation on consensus hot path.- Definition Classes
- SigmaBuilder
-
def
mkAND(input: Value[SCollection[SBoolean.type]]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkAllOf(input: Seq[Value[SBoolean.type]]): Value[Nothing]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkAnyOf(input: Seq[Value[SBoolean.type]]): Value[Nothing]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkAppend[IV <: SType](input: Value[SCollection[IV]], col2: Value[SCollection[IV]]): Value[SCollection[IV]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkApply(func: Value[SType], args: IndexedSeq[Value[SType]]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkApplyTypes(input: Value[SType], tpeArgs: Seq[SType]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkArith[T <: SNumericType](left: Value[T], right: Value[T], opCode: OpCode): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkAtLeast(bound: Value[SInt.type], input: Value[SCollection[SSigmaProp.type]]): SigmaPropValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBinAnd(left: BoolValue, right: BoolValue): Value[Nothing]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBinOr(left: BoolValue, right: BoolValue): Value[Nothing]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBinXor(left: BoolValue, right: BoolValue): BoolValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitAnd[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitInversion[T <: SNumericType](input: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitOr[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitShiftLeft[T <: SNumericType](bits: Value[T], shift: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitShiftRight[T <: SNumericType](bits: Value[T], shift: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitShiftRightZeroed[T <: SNumericType](bits: Value[T], shift: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBitXor[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBlock(bindings: Seq[Val], result: Value[SType]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBlockValue(items: IndexedSeq[BlockItem], result: Value[SType]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkBoolToSigmaProp(value: BoolValue): SigmaPropValue
Logically inverse to mkSigmaPropIsProven
Logically inverse to mkSigmaPropIsProven
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkByIndex[IV <: SType](input: Value[SCollection[IV]], index: Value[SInt.type], default: Option[Value[IV]] = None): Value[IV]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkByteArrayToBigInt(input: Value[SByteArray]): Value[SBigInt.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkByteArrayToLong(input: Value[SByteArray]): Value[SLong.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCalcBlake2b256(input: Value[SByteArray]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCalcSha256(input: Value[SByteArray]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCollectionConstant[T <: SType](values: Coll[mkCollectionConstant.T.WrappedType], elementType: T): Constant[SCollection[T]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCollectionConstant[T <: SType](values: Array[mkCollectionConstant.T.WrappedType], elementType: T): Constant[SCollection[T]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkConcreteCollection[T <: SType](items: Seq[Value[T]], elementType: T): Value[SCollection[T]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkConstant[T <: SType](value: mkConstant.T.WrappedType, tpe: T): Constant[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkConstantPlaceholder[T <: SType](id: Int, tpe: T): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCreateAvlTree(operationFlags: ByteValue, digest: Value[SByteArray], keyLength: IntValue, valueLengthOpt: Value[SIntOption]): AvlTreeValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCreateProveDHTuple(gv: Value[SGroupElement.type], hv: Value[SGroupElement.type], uv: Value[SGroupElement.type], vv: Value[SGroupElement.type]): SigmaPropValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkCreateProveDlog(value: Value[SGroupElement.type]): SigmaPropValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkDecodePoint(input: Value[SByteArray]): GroupElementValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkDeserializeContext[T <: SType](id: Byte, tpe: T): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkDeserializeRegister[T <: SType](reg: RegisterId, tpe: T, default: Option[Value[T]] = None): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkDivide[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkDowncast[T <: SNumericType, R <: SNumericType](input: Value[T], tpe: R): Value[R]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkEQ[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExists[IV <: SType](input: Value[SCollection[IV]], condition: Value[SFunc]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExponentiate(left: Value[SGroupElement.type], right: Value[SBigInt.type]): Value[SGroupElement.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractAmount(input: Value[SBox.type]): Value[SLong.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractBytes(input: Value[SBox.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractBytesWithNoRef(input: Value[SBox.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractCreationInfo(input: Value[SBox.type]): Value[STuple]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractId(input: Value[SBox.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractRegisterAs[IV <: SType](input: Value[SBox.type], registerId: RegisterId, tpe: SOption[IV]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkExtractScriptBytes(input: Value[SBox.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkFilter[IV <: SType](input: Value[SCollection[IV]], condition: Value[SFunc]): Value[SCollection[IV]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkFold[IV <: SType, OV <: SType](input: Value[SCollection[IV]], zero: Value[OV], foldOp: Value[SFunc]): Value[OV]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkForAll[IV <: SType](input: Value[SCollection[IV]], condition: Value[SFunc]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkFuncValue(args: IndexedSeq[(Int, SType)], body: Value[SType]): Value[SFunc]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkGE[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkGT[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkGenLambda(tpeParams: Seq[STypeParam], args: IndexedSeq[(String, SType)], givenResType: SType, body: Option[Value[SType]]): Value[Nothing]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkGetVar[T <: SType](varId: Byte, tpe: T): Value[SOption[T]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkIdent(name: String, tpe: SType): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkIf[T <: SType](condition: Value[SBoolean.type], trueBranch: Value[T], falseBranch: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkLE[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkLT[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkLambda(args: IndexedSeq[(String, SType)], givenResType: SType, body: Option[Value[SType]]): Value[SFunc]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkLogicalNot(input: Value[SBoolean.type]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkLongToByteArray(input: Value[SLong.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMapCollection[IV <: SType, OV <: SType](input: Value[SCollection[IV]], mapper: Value[SFunc]): Value[SCollection[OV]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMax[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMethodCall(obj: Value[SType], method: SMethod, args: IndexedSeq[Value[SType]], typeSubst: STypeSubst = Map()): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMethodCallLike(obj: Value[SType], name: String, args: IndexedSeq[Value[SType]], tpe: SType): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMin[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMinus[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMinusModQ(left: Value[SBigInt.type], right: Value[SBigInt.type]): Value[SBigInt.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkModQ(input: Value[SBigInt.type]): Value[SBigInt.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkModulo[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMultiply[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkMultiplyGroup(left: Value[SGroupElement.type], right: Value[SGroupElement.type]): Value[SGroupElement.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkNEQ[T <: SType](left: Value[T], right: Value[T]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkNegation[T <: SNumericType](input: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkOR(input: Value[SCollection[SBoolean.type]]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkOptionGet[T <: SType](input: Value[SOption[T]]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkOptionGetOrElse[T <: SType](input: Value[SOption[T]], default: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkOptionIsDefined[T <: SType](input: Value[SOption[T]]): Value[SBoolean.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkPlus[T <: SNumericType](left: Value[T], right: Value[T]): Value[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkPlusModQ(left: Value[SBigInt.type], right: Value[SBigInt.type]): Value[SBigInt.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSelect(obj: Value[SType], field: String, resType: Option[SType] = None): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSelectField(input: Value[STuple], fieldIndex: Byte): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSigmaAnd(items: Seq[SigmaPropValue]): SigmaPropValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSigmaOr(items: Seq[SigmaPropValue]): SigmaPropValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSigmaPropBytes(value: Value[SSigmaProp.type]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSigmaPropIsProven(value: Value[SSigmaProp.type]): BoolValue
Logically inverse to mkBoolToSigmaProp
Logically inverse to mkBoolToSigmaProp
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSizeOf[V <: SType](input: Value[SCollection[V]]): Value[SInt.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSlice[IV <: SType](input: Value[SCollection[IV]], from: Value[SInt.type], until: Value[SInt.type]): Value[SCollection[IV]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkStringConcat(left: Constant[SString.type], right: Constant[SString.type]): Value[SString.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkSubstConst[T <: SType](scriptBytes: Value[SByteArray], positions: Value[SIntArray], newValues: Value[SCollection[T]]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkTaggedVariable[T <: SType](varId: Byte, tpe: T): TaggedVariable[T]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkTreeLookup(tree: Value[SAvlTree.type], key: Value[SByteArray], proof: Value[SByteArray]): Value[SOption[SByteArray]]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkTuple(items: Seq[Value[SType]]): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkUnitConstant: Value[SUnit.type]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkUpcast[T <: SNumericType, R <: SNumericType](input: Value[T], tpe: R): Value[R]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkVal(name: String, givenType: SType, body: Value[SType]): Val
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkValUse(valId: Int, tpe: SType): Value[SType]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkXor(left: Value[SByteArray], right: Value[SByteArray]): Value[SByteArray]
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkXorOf(input: Value[SCollection[SBoolean.type]]): BoolValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
def
mkZKProofBlock(body: Value[SSigmaProp.type]): BoolValue
- Definition Classes
- StdSigmaBuilder → SigmaBuilder
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()