Skip to content

Commit

Permalink
Merge pull request #2027 from ergoplatform/with-sigma-v5.0.10
Browse files Browse the repository at this point in the history
Upgrade sigma to v5.0.10
  • Loading branch information
kushti committed Aug 21, 2023
2 parents ebce412 + fd95228 commit 7457d5e
Show file tree
Hide file tree
Showing 10 changed files with 21 additions and 15 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ val circeVersion = "0.13.0"
val akkaVersion = "2.6.10"
val akkaHttpVersion = "10.2.4"

val sigmaStateVersion = "5.0.8"
val sigmaStateVersion = "5.0.10"

// for testing current sigmastate build (see sigmastate-ergo-it jenkins job)
val effectiveSigmaStateVersion = Option(System.getenv().get("SIGMASTATE_VERSION")).getOrElse(sigmaStateVersion)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import org.ergoplatform.ErgoLikeContext.Height
import org.ergoplatform.sdk.wallet.protocol.context.ErgoLikeParameters
import org.ergoplatform.wallet.protocol.Constants
import org.ergoplatform.{ErgoBox, ErgoBoxCandidate, ErgoLikeContext, ErgoLikeInterpreter}
import scorex.crypto.authds.ADDigest
import scorex.util.ScorexLogging
import sigmastate.Values.ErgoTree
import sigmastate.interpreter.Interpreter.{ScriptEnv, VerificationResult}
import sigmastate.{AvlTreeData, AvlTreeFlags}
import special.collection.Coll

import scala.util.Try

Expand Down Expand Up @@ -100,7 +100,7 @@ object ErgoInterpreter {
new ErgoInterpreter(params)

/** Create [[AvlTreeData]] with the given digest and all operations enabled. */
def avlTreeFromDigest(digest: ADDigest): AvlTreeData = {
def avlTreeFromDigest(digest: Coll[Byte]): AvlTreeData = {
val flags = AvlTreeFlags(insertAllowed = true, updateAllowed = true, removeAllowed = true)
AvlTreeData(digest, flags, Constants.HashLength)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.ergoplatform.wallet.serialization

import org.ergoplatform.JsonCodecs
import org.ergoplatform.sdk.JsonCodecs

/**
* JSON Codecs provided as singleton package, not trait.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.ergoplatform.wallet.interpreter

import org.ergoplatform.sdk.wallet.protocol.context.{ErgoLikeParameters, ErgoLikeStateContext}
import scorex.crypto.authds.ADDigest
import scorex.util.encode.Base16
import sigmastate.basics.CryptoConstants
import sigmastate.eval.Extensions.ArrayOps
import sigmastate.eval.{CGroupElement, CPreHeader, Colls}
import special.collection.Coll
import special.sigma.{Header, PreHeader}
Expand Down Expand Up @@ -39,9 +39,10 @@ trait InterpreterSpecCommon {

override def sigmaLastHeaders: Coll[Header] = Colls.emptyColl

override def previousStateDigest: ADDigest =
ADDigest @@ Base16.decode("a5df145d41ab15a01e0cd3ffbab046f0d029e5412293072ad0f5827428589b9302")
override def previousStateDigest: Coll[Byte] =
Base16.decode("a5df145d41ab15a01e0cd3ffbab046f0d029e5412293072ad0f5827428589b9302")
.getOrElse(throw new Error(s"Failed to parse genesisStateDigest"))
.toColl

override def sigmaPreHeader: PreHeader = CPreHeader(
version = 0,
Expand Down
2 changes: 2 additions & 0 deletions src/main/scala/org/ergoplatform/http/api/ApiCodecs.scala
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ import sigmastate.serialization.OpCodes
import special.sigma.AnyValue
import org.ergoplatform.nodeView.state.SnapshotsInfo
import org.ergoplatform.nodeView.state.UtxoState.ManifestId
import org.ergoplatform.sdk.JsonCodecs

import java.math.BigInteger
import scala.util.{Failure, Success, Try}

Expand Down
3 changes: 2 additions & 1 deletion src/main/scala/org/ergoplatform/http/api/ScanEntities.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package org.ergoplatform.http.api

import io.circe.{Decoder, HCursor}
import org.ergoplatform.ErgoBox.BoxId
import org.ergoplatform.{ErgoBox, JsonCodecs}
import org.ergoplatform.ErgoBox
import org.ergoplatform.sdk.JsonCodecs
import org.ergoplatform.wallet.Constants.ScanId

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ object Header extends ApiCodecs {
version = header.version,
parentId = header.parentId.toBytes.toColl,
ADProofsRoot = header.ADProofsRoot.asInstanceOf[Array[Byte]].toColl,
stateRoot = CAvlTree(ErgoInterpreter.avlTreeFromDigest(header.stateRoot)),
stateRoot = CAvlTree(ErgoInterpreter.avlTreeFromDigest(header.stateRoot.toColl)),
transactionsRoot = header.transactionsRoot.asInstanceOf[Array[Byte]].toColl,
timestamp = header.timestamp,
nBits = header.nBits,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.ergoplatform.nodeView.mempool

import io.circe.{Encoder, Json}
import org.ergoplatform.JsonCodecs
import org.ergoplatform.sdk.JsonCodecs
import org.ergoplatform.settings.Algos
import scorex.crypto.authds.merkle.MerkleProof
import scorex.crypto.hash.Digest32
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import scorex.crypto.authds.ADDigest
import scorex.util.ScorexLogging
import scorex.util.serialization.{Reader, Writer}
import sigmastate.basics.CryptoConstants.EcPointType
import sigmastate.eval.Extensions.ArrayOps
import sigmastate.eval.SigmaDsl
import special.collection.Coll

Expand Down Expand Up @@ -83,10 +84,10 @@ class ErgoStateContext(val lastHeaders: Seq[Header],

// todo remove from ErgoLikeContext and from ErgoStateContext
// State root hash before the last block
override def previousStateDigest: ADDigest = if (sigmaLastHeaders.toArray.nonEmpty) {
ADDigest @@ sigmaLastHeaders.toArray.head.stateRoot.digest.toArray
override def previousStateDigest: Coll[Byte] = if (sigmaLastHeaders.toArray.nonEmpty) {
sigmaLastHeaders.toArray.head.stateRoot.digest
} else {
genesisStateDigest
genesisStateDigest.toColl
}

/* NOHF PROOF:
Expand Down Expand Up @@ -274,7 +275,7 @@ class ErgoStateContext(val lastHeaders: Seq[Header],
}.flatten

override def toString: String =
s"ErgoStateContext($currentHeight, ${encoder.encode(previousStateDigest)}, $lastHeaders, $currentParameters)"
s"ErgoStateContext($currentHeight, ${encoder.encode(previousStateDigest.toArray)}, $lastHeaders, $currentParameters)"


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ package org.ergoplatform.nodeView.wallet.models
import io.circe.generic.encoding.DerivedObjectEncoder.deriveEncoder
import io.circe.syntax._
import io.circe.{Encoder, Json}
import org.ergoplatform.{ErgoBox, JsonCodecs}
import org.ergoplatform.ErgoBox
import org.ergoplatform.sdk.JsonCodecs

/**
* Response for requested boxes that contains ErgoBoxes and ChangeBoxes
Expand Down

0 comments on commit 7457d5e

Please sign in to comment.