Skip to content

Commit

Permalink
Merge pull request #534 from ScorexFoundation/v2.2
Browse files Browse the repository at this point in the history
v2.2
  • Loading branch information
catena2w authored Jun 26, 2019
2 parents 4751421 + 55a1e4c commit f993b70
Show file tree
Hide file tree
Showing 87 changed files with 6,707 additions and 1,650 deletions.
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@ jdk:

script:
- sbt -jvm-opts .travis.jvmopts test
# enable scoverage after SpamSpecification timeout issue is resolved
# - sbt -jvm-opts .travis.jvmopts coverage test

after_success:
# - sbt coverageReport coveralls
- sbt -jvm-opts .travis.jvmopts publish

env:
Expand Down
6 changes: 3 additions & 3 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ val scorexUtil = "org.scorexfoundation" %% "scorex-util" % "0.1.4"
val macroCompat = "org.typelevel" %% "macro-compat" % "1.1.1"
val paradise = "org.scalamacros" %% "paradise" % "2.1.0" cross CrossVersion.full

val specialVersion = "master-534cb6f5-SNAPSHOT"
val specialVersion = "master-4178b526-SNAPSHOT"
val specialCommon = "io.github.scalan" %% "common" % specialVersion
val specialCore = "io.github.scalan" %% "core" % specialVersion
val specialLibrary = "io.github.scalan" %% "library" % specialVersion
Expand Down Expand Up @@ -172,7 +172,7 @@ lazy val scalanizer = Project("scalanizer", file("scalanizer"))
lazy val sigmaapi = Project("sigma-api", file("sigma-api"))
.settings(libraryDefSettings :+ addCompilerPlugin(paradise),
libraryDependencies ++= Seq(
specialCommon, meta, libraryapi, macroCompat, scrypto, bouncycastleBcprov
specialCommon, libraryapi, macroCompat, scrypto, bouncycastleBcprov
))

lazy val sigmaimpl = Project("sigma-impl", file("sigma-impl"))
Expand Down Expand Up @@ -201,7 +201,7 @@ lazy val sigma = (project in file("."))
.settings(commonSettings: _*)

def runErgoTask(task: String, sigmastateVersion: String, log: Logger): Unit = {
val ergoBranch = "master"
val ergoBranch = "v2.2-faster-costing"
val sbtEnvVars = Seq("BUILD_ENV" -> "test", "SIGMASTATE_VERSION" -> sigmastateVersion)

log.info(s"Testing current build in Ergo (branch $ergoBranch):")
Expand Down
12 changes: 12 additions & 0 deletions docs/releasenotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

# v2.1
- soft-forkability for language evolution (add types, operations) #500
- ErgoTree language specification (abstract syntax, typing rules, semantics, serialization format) #495
- ErgoTree IR extended with metadata to generate specification appendixes.
- more operations implemented (zip #498, element-wise xor for collections #494, flatMap #493,
plusModQ, minusModQ #488, logical xor #478, filter #471, Option.map #469, groupGenerator #440)
- security improvements (like limiting ErgoTree depth during deserialization #459 #482)
- ICO and LETS examples #450
- final version of ErgoScript white paper (#410)
- improvements in scorex-util serialization
- various fixes code cleanup and better test coverage (#504, #508, #515)
83 changes: 79 additions & 4 deletions docs/sigmastate_protocols/sigmastate_protocols.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
@InProceedings{RMCI17,
author="Reyzin, Leonid
and Meshkov, Dmitry
and Chepurnoy, Alexander
and Ivanov, Sasha",
editor="Kiayias, Aggelos",
title="Improving Authenticated Dynamic Dictionaries, with Applications to Cryptocurrencies",
booktitle="Financial Cryptography and Data Security",
year="2017",
publisher="Springer International Publishing",
address="Cham",
pages="376--392",
abstract="We improve the design and implementation of two-party and three-party authenticated dynamic dictionaries and apply these dictionaries to cryptocurrency ledgers.",
isbn="978-3-319-70972-7"
}


@InProceedings{CKM18a,
author="Chepurnoy, Alexander
and Kharin, Vasily
and Meshkov, Dmitry",
editor="Garcia-Alfaro, Joaquin
and Herrera-Joancomart{\'i}, Jordi
and Livraga, Giovanni
and Rios, Ruben",
title="Self-reproducing Coins as Universal Turing Machine",
booktitle="Data Privacy Management, Cryptocurrencies and Blockchain Technology",
year="2018",
publisher="Springer International Publishing",
address="Cham",
pages="57--64",
abstract="Turing-completeness of smart contract languages in blockchain systems is often associated with a variety of language features (such as loops). On the contrary, we show that Turing-completeness of a blockchain system can be achieved through unwinding the recursive calls between multiple transactions and blocks instead of using a single one. We prove it by constructing a simple universal Turing machine using a small set of language features in the unspent transaction output (UTXO) model, with explicitly given relations between input and output transaction states. Neither unbounded loops nor possibly infinite validation time are needed in this approach.",
isbn="978-3-030-00305-0"
}


@InProceedings{fiatshamir,
author="Fiat, Amos
and Shamir, Adi",
Expand Down Expand Up @@ -33,6 +69,13 @@ @misc{ct
title = {Confidential Transactions},
howpublished = {\url{https://people.xiph.org/~greg/confidential_values.txt}}
}
@misc{erc20,
year = {2018},
author = {The Ethereum Wiki},
title = {ERC20 Token Standard},
howpublished = {\url{https://theethereum.wiki/w/index.php/ERC20_Token_Standard}}
}

@misc{mw,
year = {2016},
author = {T.E. Jedusor},
Expand All @@ -45,7 +88,13 @@ @misc{zcash1
howpublished = {\url{https://z.cash}}
}

@misc{whitepaper,
@misc{advtutorial,
year = {2019},
month = {03},
title = {Advanced ErgoScript Tutorial},
howpublished = {\url{https://docs.ergoplatform.com/sigmastate_protocols.pdf}}
}
@misc{tutorial,
year = {2019},
month = {03},
title = {ErgoScript, a Cryptocurrency Scripting Language Supporting Noninteractive Zero-Knowledge Proofs},
Expand All @@ -69,7 +118,7 @@ @misc{coinjoin

@misc{langrepo,
author = {Scorex Foundation},
title = {Sigmastate Interpretter},
title = {Sigmastate Interpretter (ErgoScript)},
year = {2017},
publisher = {GitHub},
journal = {GitHub repository},
Expand Down Expand Up @@ -163,6 +212,34 @@ @phdthesis{Cra96
school = {University of Amsterdam},
year = 1996
}
@article{wood2014ethereum,
title={Ethereum: A secure decentralised generalised transaction ledger},
author={Wood, Gavin},
journal={Ethereum project yellow paper},
volume={151},
pages={1--32},
year={2014}
}


@article{rps15,
added-at = {2018-08-14T00:00:00.000+0200},
author = {Delmolino, Kevin and Arnett, Mitchell and Kosba, Ahmed E. and Miller, Andrew and Shi, Elaine},
biburl = {https://www.bibsonomy.org/bibtex/201346e267684bdc7cd96b186072bbf50/dblp},
ee = {http://eprint.iacr.org/2015/460},
interhash = {c694ac7b413b6acfd8c4d518df9ca33d},
intrahash = {01346e267684bdc7cd96b186072bbf50},
journal = {IACR Cryptology ePrint Archive},
keywords = {dblp},
pages = 460,
timestamp = {2018-08-15T11:53:36.000+0200},
title = {Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab.},
url = {http://dblp.uni-trier.de/db/journals/iacr/iacr2015.html#DelmolinoAKMS15},
volume = 2015,
year = 2015
}



@misc{Dam10,
author = {Ivan Damg{\aa}rd},
Expand Down Expand Up @@ -621,8 +698,6 @@ @article{CLWML16
biburl = {http://dblp.uni-trier.de/rec/bib/journals/tc/00010WML16},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
homebrowsesearchabout

@article{MWMS16,
title = {Publicly verifiable databases with efficient insertion/deletion operations},
Expand Down
Loading

0 comments on commit f993b70

Please sign in to comment.