profile
viewpoint

input-output-hk/plutus-starter 162

A starter project for Plutus apps

ekmett/hask 159

Category theory for Haskell with a lens flavor (you need GHC 7.8.3, not 7.8.2 to build this!)

input-output-hk/cardano-ledger 140

The ledger implementation and specifications of the Cardano blockchain.

ekmett/parsers 84

Generic parser combinators

ekmett/comonad 72

Haskell 98 comonads

ekmett/constraints 62

Tools for programming with ConstraintKinds in GHC

ekmett/adjunctions 37

Simple adjunctions

ekmett/categories 35

categories from category-extras

sjoerdvisscher/blog 23

This is my blog, I'm hosting it here on GitHub.

ekmett/multicategories 15

Playing around with multicategories and operads

push eventinput-output-hk/plutus-apps

Sjoerd Visscher

commit sha f4c96839bf13c913000c85cfd5fe399d2ea2dd51

Separate out balancing tests

view details

push time in 12 hours

push eventinput-output-hk/plutus-apps

Sjoerd Visscher

commit sha d12e2086309c7e688c60c76537aae334c2a2629e

Separate out balancing tests

view details

push time in 13 hours

push eventinput-output-hk/plutus-apps

Sjoerd Visscher

commit sha 1679a20122c84ca6bee23ca90a14c197cc81e0f7

Separate out balancing tests

view details

push time in 13 hours

issue commentinput-output-hk/plutus-apps

Extra signer UTxO when minting

Indeed, in that case there's no workaround. But see #267 for progress with fixing this bug.

ignaciodopazo

comment created time in 15 hours

PR opened input-output-hk/plutus-apps

Minting doesn't need special treatment after all

Fixes #263

<!-- Here are some checklists you may like to use. Use your judgement.

This is just a checklist, all the normative suggestions are covered in more detail in CONTRIBUTING. --> Pre-submit checklist:

  • Branch
    • [ ] Tests are provided (if possible)
    • [ ] Commit sequence broadly makes sense
    • [ ] Key commits have useful messages
    • [ ] Relevant tickets are mentioned in commit messages
    • [ ] Formatting, materialized Nix files, PNG optimization, etc. are updated
  • PR
    • [ ] Self-reviewed the diff
    • [ ] Useful pull request description
    • [ ] Reviewer requested
+51 -48

0 comment

2 changed files

pr created time in 15 hours

create barnchinput-output-hk/plutus-apps

branch : sv/fix-263

created branch time in 15 hours

issue commentinput-output-hk/plutus-apps

Extra signer UTxO when minting

It turns out part of our balancing code assumes you don't specify an output for the minted value, and that balancing will take care of it. This is a wrong assumption, and we will fix it. A short term workaround is to remove the <> Constraints.mustPayToPubKey pkh (val <> minAda) line.

ignaciodopazo

comment created time in 16 hours

push eventinput-output-hk/plutus-apps

Hai Nguyen Quang

commit sha 34fe6eeff441166fee0cd0ceba68c1439f0e93d2

Bump plutus for important upstream changes (#254) * Bump plutus. * fix API breaking changes (new Ratio) * re-generate use case test files with new plutus * updateMaterialized

view details

Evgenii Akentev

commit sha 21d4afe81333503ed48844fd1cddd905e4d4f5aa

Update instances while processing blocks from alonzo node (fix #206) (#260) * fix cabal warning * Update instances while processing blocks from alonzo node (fix #206)

view details

Maximilian Algehed

commit sha cad5a007bc39c501da250a56976c727b42da1f1c

QuickCheck ContractModel testing facilities to deal with dynamically created tokens (#194) create tokens using the `ContractModel` interface and introduces a `ContractModel` test-suite for the `Plutus.Contracts.Uniswap` contract.

view details

Sjoerd Visscher

commit sha b1d3c103921eab0a3174a5b9f48ed4fd99da6cf9

Add links to Haddocks and the playground (#261) * Add links to Haddocks and the playground * add link to haddocks in readme Co-authored-by: silky <noonsilk+-noonsilk@gmail.com>

view details

Hai Nguyen Quang

commit sha 8c8206088fa2b9c587be435b85c060cb5aca4e58

Refine dependencies and remove unused packages (#214) * re-organize dependencies * fix minor API breaking changes * updateMaterialized

view details

koslambrou

commit sha f664222ff32253bf6d95bed6b7aaf087473975c7

SCP-3196: Added a new Game contract (simplified version of GameStateMachine) (#256) * Parameterized the GameStateMachine contract * Added Game contract which is compatible with remote wallets by using `yieldUnbalancedTx`. * Added the contract in the plutus-pab-executables builtin contract

view details

Maximilian Algehed

commit sha 790548810bc3ee90aee45b3dc90acb063df70ecd

Smart shrinking for state machine tests (#262) * Add Smart shirnking to ContractModel Actions * update materialized * minor tweak to auction contract

view details

Sjoerd Visscher

commit sha 9ccf7bb90caae3e83b954b9870ceeef8ed7b885f

Merge branch 'main' into SCP-3073-emulated-ledger

view details

push time in 19 hours

push eventinput-output-hk/plutus-apps

Maximilian Algehed

commit sha 790548810bc3ee90aee45b3dc90acb063df70ecd

Smart shrinking for state machine tests (#262) * Add Smart shirnking to ContractModel Actions * update materialized * minor tweak to auction contract

view details

push time in a day

PR merged input-output-hk/plutus-apps

Smart shrinking for state machine tests

This fixes an issue that caused quadratic times for QuickCheck shrinking of ContractModels.

Pre-submit checklist:

  • Branch
    • [x] Tests are provided (if possible)
    • [x] Commit sequence broadly makes sense
    • [x] Key commits have useful messages
    • [x] Relevant tickets are mentioned in commit messages
    • [x] Formatting, materialized Nix files, PNG optimization, etc. are updated
  • PR
    • [x] Self-reviewed the diff
    • [x] Useful pull request description
    • [x] Reviewer requested
+62 -31

1 comment

10 changed files

MaximilianAlgehed

pr closed time in a day

PullRequestReviewEvent

push eventinput-output-hk/plutus-apps

Sjoerd Visscher

commit sha b1d3c103921eab0a3174a5b9f48ed4fd99da6cf9

Add links to Haddocks and the playground (#261) * Add links to Haddocks and the playground * add link to haddocks in readme Co-authored-by: silky <noonsilk+-noonsilk@gmail.com>

view details

push time in 2 days

delete branch input-output-hk/plutus-apps

delete branch : sv/link-to-haddocks

delete time in 2 days

PR merged input-output-hk/plutus-apps

Add links to Haddocks and the playground

<!-- Here are some checklists you may like to use. Use your judgement.

This is just a checklist, all the normative suggestions are covered in more detail in CONTRIBUTING. --> Pre-submit checklist:

  • Branch
    • [ ] Tests are provided (if possible)
    • [ ] Commit sequence broadly makes sense
    • [ ] Key commits have useful messages
    • [ ] Relevant tickets are mentioned in commit messages
    • [ ] Formatting, materialized Nix files, PNG optimization, etc. are updated
  • PR
    • [ ] Self-reviewed the diff
    • [ ] Useful pull request description
    • [ ] Reviewer requested
+10 -0

1 comment

2 changed files

sjoerdvisscher

pr closed time in 2 days

push eventinput-output-hk/plutus-apps

Maximilian Algehed

commit sha cad5a007bc39c501da250a56976c727b42da1f1c

QuickCheck ContractModel testing facilities to deal with dynamically created tokens (#194) create tokens using the `ContractModel` interface and introduces a `ContractModel` test-suite for the `Plutus.Contracts.Uniswap` contract.

view details

push time in 2 days

PR merged input-output-hk/plutus-apps

QuickCheck ContractModel testing facilities to deal with dynamically created tokens

In this PR we introduce dynamically created tokens to the ContractModel testing facilities for QuickCheck. We also introduce a ContractModel of the Uniswap contract and fix some minor issues in and update the existing models for contracts in plutus-use-cases.

Pre-submit checklist:

  • Branch
    • [x] Tests are provided (if possible)
    • [x] Commit sequence broadly makes sense
    • [x] Key commits have useful messages
    • [x] Relevant tickets are mentioned in commit messages
    • [x] Formatting, materialized Nix files, PNG optimization, etc. are updated
  • PR
    • [x] Self-reviewed the diff
    • [x] Useful pull request description
    • [x] Reviewer requested
+1404 -447

2 comments

32 changed files

MaximilianAlgehed

pr closed time in 2 days

PR opened input-output-hk/plutus-apps

Add links to Haddocks and the playground

<!-- Here are some checklists you may like to use. Use your judgement.

This is just a checklist, all the normative suggestions are covered in more detail in CONTRIBUTING. --> Pre-submit checklist:

  • Branch
    • [ ] Tests are provided (if possible)
    • [ ] Commit sequence broadly makes sense
    • [ ] Key commits have useful messages
    • [ ] Relevant tickets are mentioned in commit messages
    • [ ] Formatting, materialized Nix files, PNG optimization, etc. are updated
  • PR
    • [ ] Self-reviewed the diff
    • [ ] Useful pull request description
    • [ ] Reviewer requested
+6 -0

0 comment

1 changed file

pr created time in 3 days

create barnchinput-output-hk/plutus-apps

branch : sv/link-to-haddocks

created branch time in 3 days

delete branch tweag/linear-base

delete branch : sv/reenable-doctest

delete time in 3 days

Pull request review commentinput-output-hk/plutus-apps

QuickCheck ContractModel testing facilities to deal with dynamically created tokens

 handle handles key =         Just (WalletContractHandle _ h) -> h         Nothing                         -> error $ "handle: No handle for " ++ show key +type AssetMap = Map AssetKey (Map String AssetClass)+ -- | The `EmulatorTrace` monad does not let you get the result of a computation out, but the way --   "Test.QuickCheck.Monadic" is set up requires you to provide a function @m Property -> Property@. --   This means that we can't use `EmulatorTrace` as the action monad in the `StateModel`. Instead --   we use a state monad that builds up an `EmulatorTrace` computation to be executed at the end --   (by `finalChecks`). We also need access to the contract handles, so what we are building is a --   function from the handles to an emulator trace computation returning potentially updated --   handles.-type ContractMonad state = State.State (ContractMonadState state)--data ContractMonadState state = ContractMonadState (EmulatorAction state) [ContractInstanceSpec state]--instance Semigroup (ContractMonadState state) where-    ContractMonadState f xs <> ContractMonadState g ys = ContractMonadState (f <> g) (xs <> ys)--instance Monoid (ContractMonadState state) where-    mempty = ContractMonadState mempty mempty -newtype EmulatorAction state = EmulatorAction { runEmulatorAction :: Handles state -> EmulatorTrace (Handles state) }+-- TODO: Refactor this(!)

Just checking that you didn't leave this here by accident.

MaximilianAlgehed

comment created time in 3 days

PullRequestReviewEvent

Pull request review commentinput-output-hk/plutus-apps

QuickCheck ContractModel testing facilities to deal with dynamically created tokens

 defaultDist :: InitialDistribution defaultDist = defaultDistFor EM.knownWallets  defaultDistFor :: [EM.Wallet] -> InitialDistribution-defaultDistFor wallets = Map.fromList $ zip wallets (repeat (Ada.lovelaceValueOf 100_000_000))+defaultDistFor wallets = Map.fromList $ zip wallets (repeat (Ada.lovelaceValueOf 100_000_000_000_000_000))

Isn't this a ridiculously large amount?

Edit: Oh I see why, so you don't have to check if the change is too small.

Could you maybe do this only for ContractModel tests? I believe you can do that by changing defaultCheckOptions in propRunActions.

MaximilianAlgehed

comment created time in 3 days

Pull request review commentinput-output-hk/plutus-apps

QuickCheck ContractModel testing facilities to deal with dynamically created tokens

 dummyModelState s = ModelState 0 Map.empty mempty s  -- | The `Spec` monad is a state monad over the `ModelState`. It is used exclusively by the

This description is now out of date.

MaximilianAlgehed

comment created time in 3 days

Pull request review commentinput-output-hk/plutus-apps

QuickCheck ContractModel testing facilities to deal with dynamically created tokens

 class ( Typeable state     --   >      Seller :: ContractInstanceKey MyModel MyObsState MySchema MyError     data ContractInstanceKey state :: * -> Row * -> * -> * +    -- | Get the wallet that the contract running at a specific `ContractInstanceKey` should run+    -- in+    instanceWallet :: ContractInstanceKey state a b c -> Wallet
    instanceWallet :: ContractInstanceKey state w s e -> Wallet
MaximilianAlgehed

comment created time in 3 days

PullRequestReviewEvent

Pull request review commentinput-output-hk/plutus-apps

SCP-3196: Added a new Game contract (simplified version of GameStateMachine)

 data GameInput =     deriving anyclass (ToJSON, FromJSON)  {-# INLINABLE transition #-}-transition :: State GameState -> GameInput -> Maybe (TxConstraints Void Void, State GameState)-transition State{stateData=oldData, stateValue=oldValue} input = case (oldData, input) of+transition+    :: GameParam

Ah that makes sense. Maybe add a bit of documentation that the point is to get different script addresses.

koslambrou

comment created time in 3 days

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
more