Skip to content

Instantly share code, notes, and snippets.

View gclaramunt's full-sized avatar

Gabriel Claramunt gclaramunt

View GitHub Profile
@gclaramunt
gclaramunt / Playground.hs
Created April 15, 2021 02:22
Plutus Playground Smart Contract
import qualified Data.Text as T
import Plutus.Contract hiding (when)
-- ScriptLookups semigroup is defined based on the standard prelude <> and doesn't like the plutus one
import PlutusTx.Prelude hiding ((<>))
import qualified PlutusTx as PlutusTx
import Playground.Contract
import Control.Monad (void, when)
import Ledger (Address (..), Slot (Slot), Validator, pubKeyHash, txOutTxDatum, txOutValue, txOutTxOut, TxOut, ValidatorCtx, Value, scriptAddress, PubKeyHash, Datum(..), TxOutTx, PubKeyHash (..), ValidatorCtx (..), validatorHash, txInInfoValue, outValue, TxInfo (..), txInInfoWitness, DatumHash, TxInInfo(..) )
import qualified Ledger.Value as Value
@gclaramunt
gclaramunt / Playground.hs
Last active April 9, 2021 11:47
Plutus Playground Smart Contract
import qualified Data.Text as T
import Language.Plutus.Contract hiding (when)
-- ScriptLookups semigroup is defined based on the standard prelude <> and doesn't like the plutus one
import Language.PlutusTx.Prelude hiding ((<>))
import qualified Language.PlutusTx as PlutusTx
import Playground.Contract
import Control.Monad (void, when)
import Ledger (Address (..), Slot (Slot), Validator, pubKeyHash, txOutTxDatum, txOutValue, txOutTxOut, TxOut, ValidatorCtx, Value, scriptAddress, PubKeyHash, Datum(..), TxOutTx, PubKeyHash (..), ValidatorCtx (..), validatorHash, txInInfoValue, outValue, TxInfo (..), txInInfoWitness )
import qualified Ledger.Typed.Scripts as Scripts
@gclaramunt
gclaramunt / Playground.hs
Last active April 8, 2021 20:38
Plutus Playground Smart Contract
import qualified Data.Text as T
import Language.Plutus.Contract hiding (when)
-- ScriptLookups semigroup is defined based on the standard prelude <> and doesn't like the plutus one
import Language.PlutusTx.Prelude hiding ((<>))
import qualified Language.PlutusTx as PlutusTx
import Playground.Contract
import Control.Monad (void, when)
import Ledger (Address (..), Slot (Slot), Validator, pubKeyHash, txOutTxDatum, txOutValue, txOutTxOut, TxOut, ValidatorCtx, Value, scriptAddress, PubKeyHash, Datum(..), TxOutTx, PubKeyHash (..), ValidatorCtx (..), validatorHash, txInInfoValue, outValue )
import qualified Ledger.Typed.Scripts as Scripts
@gclaramunt
gclaramunt / Playground.hs
Last active April 7, 2021 12:49
Plutus Playground Smart Contract
import qualified Data.Text as T
import Language.Plutus.Contract hiding (when)
-- ScriptLookups semigroup is defined based on the standard prelude <> and doesn't like the plutus one
import Language.PlutusTx.Prelude hiding ((<>))
import qualified Language.PlutusTx as PlutusTx
import Playground.Contract
import Control.Monad (void, when)
import Ledger (Address (..), Slot (Slot), Validator, pubKeyHash, txOutTxDatum, txOutValue, txOutTxOut, TxOut, ValidatorCtx, Value, scriptAddress, PubKeyHash, Datum(..), TxOutTx, PubKeyHash (..), ValidatorCtx (..), validatorHash, txInInfoValue )
import qualified Ledger.Typed.Scripts as Scripts
@gclaramunt
gclaramunt / Playground.hs
Last active March 29, 2021 01:57
Plutus Playground Smart Contract
import qualified Data.ByteString.Char8 as C
import Language.PlutusTx.Prelude hiding (pure, (<$>))
-- import Ledger.Contexts (TxInfo (..), ValidatorCtx (..), TxInInfo(..) )
-- import qualified Ledger.Constraints as Constraints
-- import qualified Ledger.Contexts as Validation
-- mport qualified Ledger.Interval as Interval
-- import qualified Ledger.Slot as Slot
@gclaramunt
gclaramunt / Playground.hs
Created March 25, 2021 12:02
Plutus Playground Smart Contract
import Control.Monad (void)
import qualified Data.ByteString.Char8 as C
import Language.Plutus.Contract
import qualified Language.PlutusTx as PlutusTx
import Language.PlutusTx.Prelude hiding (pure, (<$>))
import Ledger (Address, Validator, ValidatorCtx, Value, scriptAddress, PubKeyHash, Slot (Slot), Datum(..), TxOutTx, PubKeyHash (..) )
import Ledger.Contexts (TxInfo (..), ValidatorCtx (..))
import qualified Ledger.Constraints as Constraints
import qualified Ledger.Contexts as Validation
@gclaramunt
gclaramunt / Playground.hs
Created March 24, 2021 21:19
Plutus Playground Smart Contract
-- A game with two players. Player 1 thinks of a secret word
-- and uses its hash, and the game validator script, to lock
-- some funds (the prize) in a pay-to-script transaction output.
-- Player 2 guesses the word by attempting to spend the transaction
-- output. If the guess is correct, the validator script releases the funds.
-- If it isn't, the funds stay locked.
import Control.Monad (void)
import qualified Data.ByteString.Char8 as C
import Language.Plutus.Contract
import qualified Language.PlutusTx as PlutusTx
@gclaramunt
gclaramunt / Playground.hs
Created March 12, 2021 03:03
Plutus Playground Smart Contract
import Control.Monad (void)
import qualified Data.ByteString.Char8 as C
import Language.Plutus.Contract
import qualified Language.PlutusTx as PlutusTx
import Language.PlutusTx.Prelude hiding (pure, (<$>))
import Ledger (Address (..), Validator, ValidatorCtx(..), TxInfo(..), TxOut (..), TxOutTx (..), Value, scriptAddress)
import Plutus.V1.Ledger.Scripts (Datum (..), DatumHash, MonetaryPolicyHash, Redeemer, ValidatorHash, validatorHash)
import qualified Ledger.Constraints as Constraints
import qualified Ledger.Contexts as Validation
import qualified Ledger.Typed.Scripts as Scripts
@gclaramunt
gclaramunt / Playground.hs
Last active March 10, 2021 15:34
Plutus Playground Smart Contract
-- This is a starter contract, based on the Game contract,
-- containing the bare minimum required scaffolding.
--
-- What you should change to something more suitable for
-- your use case:
-- * The MyDatum type
-- * The MyMyRedeemerValue type
--
-- And add function implementations (and rename them to
-- something suitable) for the endpoints:
@gclaramunt
gclaramunt / Playground.hs
Last active March 9, 2021 23:41
Plutus Playground Smart Contract
-- This is a starter contract, based on the Game contract,
-- containing the bare minimum required scaffolding.
--
-- What you should change to something more suitable for
-- your use case:
-- * The MyDatum type
-- * The MyMyRedeemerValue type
--
-- And add function implementations (and rename them to
-- something suitable) for the endpoints: