Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to latest Plutus #42

Merged
merged 52 commits into from
Dec 20, 2021
Merged

Update to latest Plutus #42

merged 52 commits into from
Dec 20, 2021

Conversation

VictorCMiraldo
Copy link
Contributor

@VictorCMiraldo VictorCMiraldo commented Dec 8, 2021

While looking into issue #37, and understanding that those checks were merged on verion v2021-12-06 of plutus-apps, I attempted to update our cabal file following our process in the readme file (which worked last time!), only to be met with a compilation error within plutus-tx-plugin, which is a library from within plutus:

src/PlutusTx/Compiler/Expr.hs:775:41: error:
    Not in scope: type constructor or class `GHC.GenTickish'
    Perhaps you meant one of these:
      `GHC.Tickish' (imported from GhcPlugins),
      `GHC.Tickish' (imported from CoreSyn)
    Neither `Class', `CoreSyn', `CostCentre', `FV', `GhcPlugins',
            `MkId' nor `PrelNames' exports `GenTickish'.
    |
775 | getSourceSpan :: Maybe GHC.ModBreaks -> GHC.GenTickish pass -> Maybe GHC.RealSrcSpan
    |                                         ^^^^^^^^^^^^^^
cabal: Failed to build plutus-tx-plugin-0.1.0.0 (which is required by
test:spec from cooked-validators-0.0.0). See the build log above for details.

After a long odyssey and with a lot of help from Cheng and Adrian, I managed to get a nix enviroment that builds everything I need and enables me to build plutus and the necessary dev tooling.

@GuillaumeDesforges , I'd love your review of the nix files in this PR, since you were the person to help get this going in the first place. Because we had to build haskell-language-server with a custom patch to ghcide and with a custom ghc, I tried to split my dependencies into development deps and build deps. HLS is a dev-dep, and CI should not worry about it. I hope I did this in a reasonable way. :)

@VictorCMiraldo VictorCMiraldo added the help wanted Extra attention is needed label Dec 8, 2021
@VictorCMiraldo VictorCMiraldo changed the title WIP: Attempt to update to latest plutus; need help with nix and ghc versions Update to latest Plutus Dec 8, 2021
@VictorCMiraldo VictorCMiraldo removed the help wanted Extra attention is needed label Dec 9, 2021
…xO feature raises serious concerns. I think this will have to be reimplemented differently within plutus
Victor Miraldo and others added 8 commits December 13, 2021 11:45
most notably awaitTime had an off-by-one error; we must wait until the slot
that contains time t, and then another slot to be sure we return
in a time that is in the future of t.
useful error information and respect newlines
othewise we'd trivially get a 'ValueNotPreserved' error
* Rewrite balancing in terms of BalancableOut class

* Start working on balance tests themselves

* Describe spendValueFrom

* Add some more tests on balancespec

* Update and fix balance tests
Copy link
Contributor

@0xd34df00d 0xd34df00d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a couple of tiny notes.

cooked-validators/src/Cooked/MockChain/Monad.hs Outdated Show resolved Hide resolved
cooked-validators/src/Cooked/MockChain/Monad.hs Outdated Show resolved Hide resolved
0xd34df00d and others added 4 commits December 17, 2021 15:01
* Remove the MarkedMaker and its tests; at the end of the day, the
features used around it are all exemplified elsewhere
* Ported the datum hijacking attack to PMultiSigStateful
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants