Closed Fiftyw3bs closed 1 week ago
It appears that you compiled your program with PLC version 1.1.0 and later applied argument lifted with version 1.0.0. You may want to set target-version
to 1.0.0 or lift with version 1.1.0...
I sincerely can't relate ;(
Here is how my cabal file looks:
myapp.cabal
:
...
flag defer-plugin-errors
description:
Defer errors from the plugin, useful for things like Haddock that can't handle it.
default: False
manual: True
common myapp-common
default-language: Haskell2010
default-extensions:
DataKinds
DeriveAnyClass
DerivingStrategies
DerivingVia
GADTs
LambdaCase
MultiWayIf
OverloadedStrings
RecordWildCards
RoleAnnotations
TemplateHaskell
TypeFamilies
UndecidableInstances
UnicodeSyntax
ViewPatterns
DeriveGeneric
NamedFieldPuns
TypeOperators
ghc-options: -Wall
build-depends:
, aeson
, base <5
, bytestring
, file-embed
, plutus-ledger-api
, ply-core
, text
-- set target plutus-core version
ghc-options: -fplugin-opt PlutusTx.Plugin:target-version=1.0.0
-- so unfoldings are present even when compiled without optmizations
ghc-options:
-fno-ignore-interface-pragmas -fno-omit-interface-pragmas
-Wno-partial-type-signatures
-- expose all unfoldings, so plutustx compiler can do its job
ghc-options: -fexpose-all-unfoldings -fobject-code
library myapp-onchain
import: myapp-common
exposed-modules:
...
other-modules:
hs-source-dirs: onchain
build-depends:
, cardano-api
, plutus-core
, plutus-ledger-api
, plutus-tx
, aeson
, serialise
, plutus-tx-plugin
-- , plutarch
library myapp-server-skeleton
import: myapp-common
hs-source-dirs: server-lib/MyApp
exposed-modules:
...
other-modules:
...
build-depends:
, base
, aeson
, myapp-onchain
, atlas-cardano
, swagger2
, servant-server
, containers
, plutus-ledger-api
, extra
library myapp-server-lib
import: myapp-common
hs-source-dirs: server-lib/MyApp
exposed-modules:
...
other-modules:
...
build-depends:
, base
, aeson
, myapp-onchain
, myapp-server-skeleton
, atlas-cardano
, swagger2
, servant-server
, servant-swagger
, containers
, text
, lens
, plutus-ledger-api
, extra
, validation
executable myapp-exe
import: myapp-common
hs-source-dirs: server
main-is: server-main.hs
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
hs-source-dirs: app
default-language: Haskell2010
ghc-options:
-O2 -threaded -rtsopts -with-rtsopts=-T -fplugin-opt
PlutusTx.Plugin:defer-errors
build-depends:
, optparse-applicative
, myapp-onchain
, myapp-server-skeleton
, myapp-server-lib
, aeson-pretty
, base
, bytestring
, atlas-cardano
, servant-server
, transformers
, wai
, wai-cors
, http-types
, warp
-- , utilities
test-suite myapp-colony-tests
import: myapp-common
ghc-options: -threaded -rtsopts
type: exitcode-stdio-1.0
main-is: Colony/colony-tests.hs
hs-source-dirs: tests
other-modules:
Colony.Tests.Utils
Colony.Tests.CreateColony
Colony.Tests.AddMember
build-depends:
, base
, containers
, myapp-onchain
, myapp-server-skeleton
, myapp-server-lib
, atlas-cardano
, mtl
, plutus-simple-model
, tasty
, tasty-hunit
test-suite myapp-colony-privnet-tests
import: myapp-common
type: exitcode-stdio-1.0
ghc-options: -threaded -rtsopts
hs-source-dirs: tests-privnet
main-is: Colony/colony-privnet-tests.hs
other-modules:
Colony.Tests.CreateColony
Colony.Tests.Utils
build-depends:
, base
, myapp-onchain
, myapp-server-skeleton
, myapp-server-lib
, atlas-cardano
, tasty
, tasty-hunit
-- , plutus-size-check
, plutus-ledger-api
, plutus-tx
, plutus-tx-plugin
cabal.project
:
repository cardano-haskell-packages
url: https://input-output-hk.github.io/cardano-haskell-packages
secure: True
root-keys:
3e0cce471cf09815f930210f7827266fd09045445d65923e6d0238a6cd15126f
443abb7fb497a134c343faf52f0b659bd7999bc06b7f63fa76dc99d631f9bea1
a86a1f6ce86c449c46666bda44268677abf29b5b2d2eb5ec7af903ec2f117a82
bcec67e8e99cabfa7764d75ad9b158d72bfacf70ca1d0ec8bc6b4406d1bf8413
c00aae8461a256275598500ea0e187588c35a5d5d7454fb57eac18d9edb86a56
d4a35cd3121aa00d18544bb0ac01c3e1691d618f462c46129271bccf39f7e8ee
-- repeating the index-state for hackage to work around hackage.nix parsing limitation
index-state: 2024-08-27T16:28:01Z
index-state:
, hackage.haskell.org 2024-08-27T16:28:01Z
, cardano-haskell-packages 2024-07-24T14:16:32Z
packages:
.
, ./onchain/Utilities
package postgresql-libpq
flags: +use-pkg-config
source-repository-package
type: git
location: https://github.com/geniusyield/ply
tag: 4a61941b3287782d2c11f9ab1cae0889d0a57385
--sha256: sha256-24WKaBs6qiJzi++wTyqIh61Dc1QeCzeo0YqLE4wsEbg=
subdir: ply-core
source-repository-package
type: git
location: https://github.com/geniusyield/atlas
tag: v0.6.0
--sha256: sha256-v+tTCIz8uyaQfsMJRc5F36TNK9ZPfrBxwXLYaXqZrZA=
-------- Begin contents from @atlas@'s @cabal.project@ file. --------
package cardano-crypto-praos
flags: -external-libsodium-vrf
source-repository-package
type: git
location: https://github.com/maestro-org/haskell-sdk
tag: v1.7.2
--sha256: sha256-nXnelHH4a+V0nguP8oUDlyEz/fLQ/i1fs/flyZTmvAc=
-- TODO: Temporary, until proposed changes are in upstream (track https://github.com/mlabs-haskell/clb/pull/44)
source-repository-package
type: git
location: https://github.com/sourabhxyz/clb
tag: 09414a93047b4c7f6e03e20d1730c9c0f88e1d46
--sha256: sha256-y5fF8IDywt/pQ3HsRE6CpAlqK4uiU/SRuDIqSHxBED0=
-- Obtaining cardano-node stuff for 9.1.0. These aren't published on CHaP yet.
source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-node
tag: 9.1.0
--sha256: sha256-F5wgRA820x16f+8c/LlEEBG0rMJIA1XWw6X0ZwX5UWs=
subdir:
cardano-node
cardano-testnet
trace-dispatcher
-- TODO: Make changes upstream
source-repository-package
type: git
location: https://github.com/geniusyield/cardano-wallet
tag: 3413fdf74fd25b100662abf2a49c1afc892f1b79
--sha256: sha256-V5DNUzraaDJo6cXc1eeVVIJNWqC8JayQrJeNNLg/Els=
subdir:
lib/address-derivation-discovery
lib/balance-tx/
lib/coin-selection/
lib/crypto-primitives/
lib/delta-store/
lib/delta-table
lib/delta-types/
lib/iohk-monitoring-extra
lib/launcher/
lib/network-layer/
lib/numeric/
lib/primitive/
lib/read
lib/secrets
lib/std-gen-seed/
lib/test-utils/
lib/text-class/
lib/wai-middleware-logging/
lib/wallet-benchmarks/
lib/wallet/
------ Following is mostly from @cardano-wallet@'s @cabal.project@ file. -------
--------------------------------------------------------------------------------
source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-addresses
tag: 2bca06deaa60e54a5322ac757387d744bf043367
--sha256: 1y1mzfly7jac40b9g4xc078rcm5zqhc3xxv77kwxi10yph1jwq7z
subdir: command-line
core
-- Normally cabal won't apply ghc-options which we specify to build packages
-- to their "regular" dependencies.
-- However, the dependencies declared using the `source-repository-package`
-- pragma are an exception to this rule.
-- This is why we need to manually control options that are applied to the
-- `cardano-addresses` package by declaring them explicitly here.
--
-- Cardano Addresses CLI uses an outdated version of the `optparse-applicative`
-- library. This causes a deprecation warning to be emitted when building.
-- We don't want to promote this warning to an error level as it break the
-- release build and cardano-addresses codebase is not under our control.
package cardano-addresses-cli
ghc-options:
-Wwarn=deprecations
package cardano-addresses
ghc-options:
-Wwarn=incomplete-uni-patterns
-- END Cardano Addresses Dependency
--------------------------------------------------------------------------------
source-repository-package
type: git
location: https://github.com/input-output-hk/cardano-sl-x509
tag: a91add165152fa36f08e95fafe7da24f1dba4690
--sha256: 1ia8vlqghis92cla8qmqa6kh8f3jn29b01fshyk5hmgy5373s684
source-repository-package
type: git
location: https://github.com/cardano-foundation/cardano-wallet-client.git
tag: 353412ca621dc28af53e4a19795338b19bab1b7b
--sha256: 04q58c82wy6x9nkwqbvcxbv6s61fx08h5kf62sb511aqp08id4bb
subdir: generated
--------------------------------------------------------------------------------
-- BEGIN Constraints tweaking section
allow-newer:
async-timer:unliftio-core
, servant-openapi3:*
, katip:Win32
, raven-haskell:aeson
constraints:
base >= 4.18.2.0 && < 5
, openapi3 >= 3.2.0
, persistent ^>= 2.14.6.0
, cardano-node ^>= 9.1.0
, bech32 >= 1.1.7
-- , postgresql-libpq >= 0.10
-- lower versions of katip won't build with the Win32-2.12.0.1
-- which is shipped with the ghc-9.2.8
, katip >= 0.8.7.4
-- Cardano Node dependencies:
, io-classes >= 1.4
, io-classes -asserts
, ouroboros-consensus-cardano ^>= 0.18
, ouroboros-network ^>= 0.16.1
, ouroboros-network-protocols ^>= 0.9
-- END Constraints tweaking section
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Flags for dependencies without an S-R-P pragma should be kept in this section
-- (conversely, flags for the S-R-P dependencies should be kept within the
-- same section where an S-R-P pragma is located,
-- for them to be managed together)
-- Using RDRAND instead of /dev/urandom as an entropy source for key
-- generation is dubious. Set the flag so we use /dev/urandom by default.
package cryptonite
flags: -support_rdrand
package cardano-config
flags: -systemd
package cardano-node
flags: -systemd
package bitvec
flags: -simd
-- -------------------------------------------------------------------------
-------- End contents from @cardano-wallet@'s @cabal.project@ file. --------
-------- End contents from @atlas@'s @cabal.project@ file. --------
No where else in my implementation have I had to explicitly specify a version.
I deleted my build directory and compiled the app again, and everything seems to work well now.
Thanks!
I'm not sure what is going on. I get the following while trying to build transaction.
What does it mean to apply two programs together and how does one ensure the right ones are applied?