Questions tagged [plutustx]
The plutustx tag has no usage guidance.
39
questions
0
votes
0
answers
9
views
How to analyze the Plutus budget usage?
When I run my minting policy script I get the error
Command failed: transaction build Error: The following scripts have execution failures:
the script for policyId 0 (in the order of the PolicyIds) ...
0
votes
0
answers
73
views
Tx consuming script fails with: Caused by: (unConstrData #44000de140)... Third data argument, does not decode to a context when burning an NFT
I've this tx trying to submit to cardano-node 1.35.5:
...
1
vote
0
answers
20
views
PlutusTx TxInfo Type Mismatch
I am building a PlutusTx V1 Smart Contract for NFT Royalty distribution. Part of that requires totaling up the amount of Lovelace sent to the contract from the most recent tx. I came up with the ...
0
votes
0
answers
7
views
Reference to a name which is not a local
I'm trying to run unsafeFromBuiltinData against the following type used as redeemer:
data TypeA= A PaymentPubKeyHash
| B PaymentPubKeyHash
deriving (Show, P.Eq)
...
2
votes
1
answer
115
views
Unclear error during Plutus ScriptContext construction (force headList [])
I ran into an error while trying to autobalance a transaction body:
module Foo.Offchain where
import Plutus.V1.Ledger.Scripts (MintingPolicy)
import Plutus.V1.Ledger.Address (Address)
import Hydra....
0
votes
1
answer
34
views
Submit transactions to the blockchain in Plutus
Currently my workflow is like this:
write a validator script in Plutus
test the script in by creating functions/endpoints to submit transactions to Plutus.Trace (Emulator)
if the test goes well, I ...
0
votes
1
answer
27
views
suppress errors in trace emulator
I would like to suppress this error. How can I do that ?
Slot 00013: *** CONTRACT LOG: "PassingTest [TEST_TAG:3] -- caught error: WalletContractError (ValidationError (ScriptFailure (...
0
votes
1
answer
52
views
Can't use PlutusTx.Foldable from other module
I want to write a PlutusTx validator which just checks if a transaction was signed by one of the whitelisted public keys.
This would be a first, naiive implementation:
-- | The whitelist used by '...
1
vote
2
answers
272
views
cardano-serialization-lib ExUnits
I am new to Cardano and Plutus.
I was trying to build a transaction that redeems a UTxO from the alwayssucceeds contract on Cardano Testnet.
The Redeemer object constructor takes ExUnits as one of the ...
1
vote
1
answer
67
views
How does valuePaidTo work?
How does valuePaidTo work ? Does it give the value paid by the script to the pubkeyhash or is it the total value of the pubkeyhash for the pending transactions ?
Consider the following TxOut
txOutputs ...
1
vote
0
answers
35
views
How does the Fμω lambda calculus use C?
While poking around in the repositories I wondered how the sha2_256 algorithm was implemented in the PlutusTx module. I followed all the imports and got the following path
The sha2_256 function in ...
2
votes
1
answer
91
views
Is it possible to not compile data constructors with plutus-tx?
I'm having a newtype VerificationKey = HydraVerificationKey (VerKeyDSIGN Ed25519DSIGN) and I would love to be able to use that type directly in our plutus scripts. While I can implement PlutusTx....
0
votes
1
answer
230
views
Plutus transaction error PT5
I am building a transaction where I use the following function to make my datum and redeemer,
writeJSON :: PlutusTx.ToData a => FilePath -> a -> IO ()
writeJSON file = LBS.writeFile file . ...
2
votes
1
answer
87
views
How expressive & secure is the Plutarch eDSL?
The Plutarch eDSL tries to control how plutus core is generated to create a smaller and thus a more efficient validator script (their GitHub).
I am not an in depth user of this tool. Does its approach ...
2
votes
2
answers
104
views
can't understand which part of the code is not "PlutusTx"
I'm trying to write a very simple NFT minting policy myself and I can't get rid of the following error
Program error: GHC Core to PLC plugin: E043:Error: Reference to a name which is not a local, a ...
2
votes
3
answers
222
views
How to get a base 16 hex BuiltinString from getTxId
I am trying to find a way to inspect the base16 hash from a Tx on-chain using plutus.
I get a BuiltinByteString from the txInputs here:
getTxIdBBS :: TxInInfo -> BuiltinByteString
getTxIdBBS txInfo'...
1
vote
1
answer
51
views
Difference between `PlutusTx.TH.compile` and `PlutusTx.compile`?
I've been reading the official Plutus docs and saw that in the explanation about Template Haskell, there is information about PlutusTx.TH.compile, to use it for producing the quoted Plutus Core ...
2
votes
1
answer
124
views
Understand purpose of tx-out-datum-hash in Lars' lobster NFT minting example
When the Alonzo era started on mainnet, Lars deployed a smart contract example, in which he minted a lobster NFT as part of a lobster naming challenge.
In the policy script used to mint the lobster ...
3
votes
1
answer
749
views
What are the benefits of using Plutarch?
Is Plutarch a good replacement for Plutus Tx?
https://github.com/Plutonomicon/plutarch/blob/master/docs/GUIDE.md
1
vote
1
answer
95
views
Confusion regarding findOwnInput function with on-chain code
Context
I was looking for a simple way to get exact TxOut on on-chain code to validate if funds are to be unlocked to correct wallet address. While looking in plutus haddoc I have found this function:
...
1
vote
1
answer
76
views
Cannot compile parameterized mintingPolicy to Plutus
I tried compiling a solution from the examples provided in PPP Iteration #2 but got stuck. Any ideas?
Code: https://github.com/ILIYANGERMANOV/cardano-smart-contracts/blob/main/ivy-token/src/MintIvy.hs
...
0
votes
0
answers
33
views
"No unfolding" error in Visual Studio Code
I copied the Plutus starter template, Plutus Platform starter project, and created a file, BasicPlutusTx.hs (and added it under exposed-modules in the .cabal file).
Then I started copying over all the ...
1
vote
1
answer
18
views
How do I run doctests?
I copied the plutus-starter template: https://github.com/input-output-hk/plutus-starter and created a file BasicPlutusTx.hs (and added it under exposed-modules in the .cabal file).
Then I started ...
4
votes
1
answer
143
views
How to calculate fees for Plutus Smart Contract?
How can someone calculate fee for executing Plutus smart contract given that they know CPU and Memory Units required for executing Plutus Script?
3
votes
1
answer
157
views
How can I secure a Datum value in a smart contract?
I am trying to figure out how to write a script where you can make sure the datum value doesn't change each time an output gets consumed. For example, in the auction script in the pioneer program each ...
3
votes
2
answers
465
views
What exactly is the script context in Plutus context?
I believe the best way to answer this question would be to give examples of the type of information that the script context could contain.
2
votes
1
answer
83
views
Is it possible to have an On-chain Set data structure?
As the title of the question says, is it possible for me to use a Set data structure for the Datum and/or Redeemer?
4
votes
1
answer
122
views
Canonical example of Smart Contract Verification?
Given that the chief benefit of Cardano Smart Contracts over Ethereum Smart Contracts is formal verification (and thus its implied validity, security, and robustness), is there a non-trivial example ...
3
votes
1
answer
273
views
String in Datum
I want to use String or Text in a Datum, like this:
import PlutusTx.Prelude
newtype MyDatum = MyDatum {userReadableStuff :: BuiltinString}
PlutusTx.unstableMakeIsData ''MyDatum
but the complier ...
4
votes
1
answer
217
views
Couldn't match expected type ‘BuiltinData’ in locally run playground
Working through the Plutus Pioneer Week2 homework and getting the following error in the locally served playground.
error:
• Couldn't match expected type ‘BuiltinData’
with ...
2
votes
1
answer
37
views
Are Validators pretending transaction already completed?
A validator is called prior to transaction's start (not to mention completion). But yet a validator routinely checks if a potential recipient has already received his funds, and other such tests about ...
4
votes
1
answer
168
views
Constraints.mustPayToPubKey requires txSignedBy?
For a contract, I want to use Constraints.mustPayToPubKey for an arbitrary pubKeyHash (pkh), such as a lucky winner in a lottery.
Question: Does the validator need to check that the transaction sees ...
5
votes
2
answers
168
views
(Lecture #6 It #2 - Core.Hs) : Explaining lookups use of both typedValidatorLookups and otherScript?
Can somebody explain these lines and why (both) Constraints.typedValidatorLookups... and
Constraints.otherScript... are used? Still struggling to get my head around lookups, so maybe that is why I'm ...
8
votes
1
answer
302
views
How does `submitTxConstraintsWith` make usage of the ScriptLookups?
submitTxConstraintsWith :: ScriptLookups a -> TxConstraints (RedeemerType a) (DatumType a) -> Contract w s e Tx
How does submitTxConstraintsWith make usage of the ScriptLookups?
I always see it ...
1
vote
1
answer
196
views
Is there any eth_sign equivalent signing method in plutus?
I want to use my private key to sign a message, and submit the message and signatures to third party server, the third party server can verify that signatures through plutus smartcontract.
In ethereum ...
6
votes
1
answer
420
views
What does @ prefix means?
like this:
auctionInstance = Scripts.validator @Auctioning
and Hello-world app from https://playground.plutus.iohkdev.io/tutorial/tutorials/plutus-playground.html#running-the-hello-world-app
hello = ...
4
votes
2
answers
88
views
plutus pioneer week01 src code explain
I'm a little confused about the following code(from EnglishAuction.hs):
auctionInstance :: Scripts.ScriptInstance Auctioning
auctionInstance = Scripts.validator @Auctioning
$$(PlutusTx.compile [|| ...
5
votes
1
answer
231
views
Writing basic validator scripts
I need someone to explain to me line by line. The code is from plutu tutorials. https://docs.cardano.org/projects/plutus/en/latest/plutus/tutorials/basic-validators.html
All the code in that page I ...
14
votes
1
answer
322
views
How do I build a debug configuration of a Plutus project?
When I try to set a breakpoint in a small Plutus project such as this, I always get the following error:
:b Week05.Homework1.mkPolicy
cannot set breakpoint on Week05.Homework1.mkPolicy: module Week05....