profile
viewpoint
Hai Nguyen Quang kk-hainq Vietnam, Hanoi Software Engineer @MELD-labs, @HachiSecurity, and @kikaitech.

obsidiansystems/obelisk 647

Functional reactive web and mobile applications, with batteries included.

obsidiansystems/gargoyle 11

A framework for managing daemons from Haskell and libraries for use with postgresql and nix

obsidiansystems/haven 10

Use haskell to produce a nix set of maven dependencies!

obsidiansystems/dependent-monoidal-map 4

Data.Dependent.Map variant that appends conflicting entries when merging maps instead of discarding one side of the conflict

obsidiansystems/dependent-sum-aeson-orphans 3

JSON instances for DSum and DMap

obsidiansystems/plaid 2

Haskell client for Plaid

obsidiansystems/obelisk-https 1

Serve Obelisk applications securely

obsidiansystems/haskell-phone-push 0

Server-side push messaging from Haskell to iOS and Android

startedphadej/file-embed-lzma

started time in 17 minutes

create barnchMELD-labs/plutus

branch : remove-trace-hack

created branch time in an hour

push eventMELD-labs/plutus

Mark | Microtick

commit sha b656821ee0d97d9bb4ea395635593207c11bd822

Restart nix-daemon This note would have saved a bunch of time debugging my plutus build on Linux / Ubuntu...

view details

Ikko Ashimine

commit sha eadd22f016e32d2edbb2acfb610023e62e0c7266

Fix typo in GenDocs.hs occurences -> occurrences

view details

Michael Peyton Jones

commit sha 45f6d4e6e17c9044462063e22678fa95238874d4

SCP-2916: Add a doc about profiling scripts (#4113) * SCP-2916: Add a doc about profiling scripts Brief, but points out the key pieces. It's not as checked as I'd like it to be. I haven't yet dug into what it would take to get shell snippets in the docs tested, but it's something I'd like to have eventually. * Apply suggestions from code review Co-authored-by: Marty Stumpf <thealmartyblog@gmail.com> * Fix underline Co-authored-by: Marty Stumpf <thealmartyblog@gmail.com>

view details

koslambrou

commit sha 06e3b84a472790545eb2c3299778806d7791137f

SCP-2906: Deal with real Alonzo transactions in the wallet effect. (#4130) * Defined the type `type CardanoTx = Either SomeCardanoApiTx Tx` * Changed anything that uses the wallet effect from Tx to CardanoTx. * Moved functions from Plutus.Contract.CardanoAPI (plutus-chain-index) to Ledger.Tx.CardanoAPI (plutus-ledger).

view details

Pablo Lamela

commit sha 942bd8c6de6a2d5981d91c704b0258bddd9d9d7c

SCP-2933 - Move Marlowe types to a separate module (#4132)

view details

Shea Levy

commit sha 0cb5c00add3809d9f247e9ec3f069d9ac3becd95

Remove non plutus core components

view details

Michael Peyton Jones

commit sha ca4f0b4b5554c633dcec6d39e9893c65818e65b3

Merge pull request #4094 from input-output-hk/repo-split Remove non plutus core components

view details

Shea Levy

commit sha 1c21a9616ecd5fb199043e3986b7b15049d4baa5

Try to fix buildkite errors

view details

Michael Peyton Jones

commit sha 7b802b4afaad86de7bd7ca288d82ab2fa3770f25

Merge pull request #4145 from input-output-hk/try-fix-buildkite Try to fix buildkite errors

view details

Shea Levy

commit sha ea6d192148640941b9380d91775aff84bed38685

Revert "Try to fix buildkite errors" Didn't work. This reverts commit 1c21a9616ecd5fb199043e3986b7b15049d4baa5.

view details

Michael Peyton Jones

commit sha c7cb48dc299d7f384ea5412d65d9585a9043e5c5

Merge pull request #4146 from input-output-hk/untry-fix-buildkite Revert "Try to fix buildkite errors"

view details

Michael Peyton Jones

commit sha 6507a6afd0091c06f20912df0440bc5e1be58984

Tidy up the README a little

view details

Michael Peyton Jones

commit sha 016f7f5e2c029c06541f30a6ce912dd8c3b9aec6

Add warnings about other repos to issue templates

view details

Michael Peyton Jones

commit sha 9c77e340a77c1bbb0b52edc02fe6fb7373066561

Remove dead architecture docs These were a nice idea, but never really up-to-date or useful.

view details

Michael Peyton Jones

commit sha 7516191064029d051e01c2628afa6c4960e16f8e

Merge pull request #3483 from mark-microtick/master Restart nix-daemon

view details

Michael Peyton Jones

commit sha e04f2bbc04109774f6a8589273a12234e4ebb45f

Merge pull request #4044 from eltociear/patch-1 Fix typo in GenDocs.hs

view details

Michael Peyton Jones

commit sha f3b65ee7d98cf2257df6d2574cd12d8902a6b12a

Merge pull request #4151 from input-output-hk/mpj/post-split-tidying Post-split doc tidying

view details

James

commit sha 19d8f9356bcda19f47b25f9f585f29060ae213ff

Create ISSUE_TEMPLATE/config.yml (#4157) * Create config.yml * Update config.yml * Update config.yml * Update config.yml

view details

Michael Peyton Jones

commit sha 86d3644c67f58e1b914436be07dc546b7d5c0d6e

Fixup 3935 (#4154) * Create a gadget to generate distinct plutus scripts in tests * updateMaterialized * Fix inexplicable typo Co-authored-by: Dan Bornside <dan.bornside@gmail.com>

view details

Michael Peyton Jones

commit sha 64b33d1b6f31a5807e259677f79adb82cc6213c8

Ensure all packages use common stanzas, make warning-free (#4155) We weren't actually using our common stanzas consistently, and in some cases we had whole components that weren't being checked for warnings. I fixed that, and fixed the warnings.

view details

push time in an hour

push eventHachiSecurity/plutus

Mark | Microtick

commit sha b656821ee0d97d9bb4ea395635593207c11bd822

Restart nix-daemon This note would have saved a bunch of time debugging my plutus build on Linux / Ubuntu...

view details

Ikko Ashimine

commit sha eadd22f016e32d2edbb2acfb610023e62e0c7266

Fix typo in GenDocs.hs occurences -> occurrences

view details

Yves Hauser

commit sha 2b7a8c09a399abbfbd090d5664ba1b04bd8ee941

scp-2884 - added ACTUS contract type STK

view details

Yves Hauser

commit sha fbeaefc12d9634b8e4be84a51348757f641a3d6f

Merge remote-tracking branch 'origin/master' into scp-2883-actus-derivative-contracts

view details

Yves Hauser

commit sha 871d624d6f1edd0ed8e121daaedd7902a8dba8ac

scp-2885 - ACTUS option contracts

view details

Yves Hauser

commit sha 75a36736dcaf8248c1a927e2c7794b3eef790111

scp-2886 - ACTUS future contracts

view details

Yves Hauser

commit sha 4b8b7c05aca692fc54a282b4ab22d8fef9f477a2

scp-2881 - JSON serialization for ACTUS data types

view details

Yves Hauser

commit sha c717ada8b20d49d0b7f3cd05a263c9dc779e9806

scp-2881 - JSON serialization for ACTUS data types

view details

Yves Hauser

commit sha 94a3189a6d0c6e8b7fada7b0fc37271a8e7c5aa4

scp-2883 - ACTUS derivative contracts * Added for Marlowe generation * Updated ACTUS Labs

view details

Yves Hauser

commit sha 9aeedbe460019c598eeca054c6b1a4fd28e8d07d

scp-2883 - added derivative contracts to README

view details

Yves Hauser

commit sha 3a5749eded56cfd3aab381547bc32a13ea6cb1a0

scp-2883 - ACTUS derivative contracts short descriptions in README

view details

Yves Hauser

commit sha 746c4d8970e6681ed44e48d9528b6b0a8bd46e25

Merge remote-tracking branch 'origin/master' into scp-2883-actus-derivative-contracts

view details

Michael Peyton Jones

commit sha fb06ec3820c93de0b4ce99fa2835bae13e9fd15c

Add Flat instance for CompiledCodeIn

view details

Michael Peyton Jones

commit sha 721270603a50e8a6acba606c8cf41d60dd1cc914

Add a TH function to load CompiledCode from a file

view details

Michael Peyton Jones

commit sha 8ca8ba2e036190b20c31373aadf4d695664613d1

Add a specific option to dump UPLC so you can directly get the final output only

view details

Michael Peyton Jones

commit sha 698c1e44697040e431cb3a36b414fe8e883063d3

Add docs

view details

Michael Peyton Jones

commit sha c6dbf99ec882bc5c497acd4816cfef73a0b506dd

UpdateMaterialized

view details

Yves Hauser

commit sha 115869afc2239a214665a1c9f77b5abace7a7fef

scp-2883 - as suggested in review

view details

Yves Hauser

commit sha a565955444316d4389283abb2754c40663493bf8

scp-2883 - as suggested in review (correction)

view details

Yves Hauser

commit sha 75ccaf42ac5a452c32d76c8bb4ff49006eb56c7a

Merge pull request #4098 from input-output-hk/scp-2883-actus-derivative-contracts SCP-2883: ACTUS derivative contracts

view details

push time in an hour

create barnchHachiSecurity/plutus

branch : remove-trace-hack

created branch time in an hour

startedsveltejs/svelte

started time in 8 hours

pull request commentinput-output-hk/cardano-wallet

Update dependencies

@rvl Thank you for the confirmation. This is just a draft from our fork to proceed for now. I think the actual update would need to be several more modular PRs. I guess something like #3023 would be a better start.

kk-hainq

comment created time in 21 hours

startedmjosaarinen/tiny_sha3

started time in 21 hours

startedcachix/cachix-action

started time in a day

startedinput-output-hk/hedgehog-extras

started time in a day

startedcmhughes/latexindent.pl

started time in a day

startedJames-Yu/LaTeX-Workshop

started time in a day

startedcachix/cachix

started time in 3 days

startedUnkindPartition/temporary

started time in 3 days

pull request commentinput-output-hk/plutus

Add a compiler option to remove traces

@srid I doubt you remember it but we were in the same project 2-3 years ago and are still in @BeFunctional together!

Anyhow, this PR is not an optimization but a starting point for a later one. The merged state removes traces at runtime, the optimization to remove them at compile time comes later.

For more information, it is trivial to remove trace by name at compile time as in the first attempt:

-- Remove traces according to a plugin flag
GHC.Var f `GHC.App` _ `GHC.App` _ `GHC.App` a | coRemoveTrace compileOpts && GHC.getOccString f == "trace" -> compileExpr a

We thought this is too specific so we altered trace's definition instead, see thread. https://github.com/input-output-hk/plutus/blob/ae5f8b3ff64766717694bdca3d0385e717a963b8/plutus-tx-plugin/src/PlutusTx/Compiler/Builtins.hs#L310-L324

This definition ignores the trace string and effectively removes traces at runtime. It is then still trivial to inline and reduce the traces at compile time with an ad-hoc inline rule, but we again thought it was too specific for instances like this, see thread.

The current plan is to work on a (more) general inline optimization that could inline and reduce trivial functions, whether it comes from trace or not. https://github.com/input-output-hk/plutus/blob/ae5f8b3ff64766717694bdca3d0385e717a963b8/plutus-tx-plugin/src/PlutusTx/Plugin.hs#L83-L87

Here is another relevant thread. I would experiment a bit more this weekend if possible, or at least open a new issue for the inline work to make this clearer to people.

Anyway, very nice to see people like you joining the Plutus conversations, please stay for more!

kk-hainq

comment created time in 3 days

issue commentinput-output-hk/plutus-apps

Chain Index: Allow more user configurations

There are over 8 million transactions post-Alonzo on mainnet after this writing, many if not most are irrelevant to any specific dApp. As a modular next step, I think we should add a config to not store transactions that don't reference any scripts (typical transfers of assets, NFT drops, SPO voting, etc).

What do you think? (cc @silky @sjoerdvisscher).

kk-hainq

comment created time in 4 days

PR opened input-output-hk/cardano-wallet

Update dependencies

This is more or less a proof-of-concept to bump the dependencies of this repository. There have been several breaking changes, mainly from cardano-ledger and cardano-node so this is non-trivial with several undecided fixmes here and there. I've also been able to clean many Nix files by removing unused Plutus subdirs. I suspect we can still trim a lot more across the board.

Context: cardano-wallet is now a dependency of plutus-apps, making these bumps useful for dApp developers who aggressively bump plutus-apps themselves (for new PAB commits, node fixes, etc). While this is not critical and we have no preferences on how to handle it, both #3023 and this would be very useful to dApp developers. We are willing to contribute in any way we can as well.

+843 -2919

0 comment

111 changed files

pr created time in 5 days

create barnchMELD-labs/cardano-wallet

branch : bump-deps

created branch time in 5 days

delete branch MELD-labs/plutus-apps

delete branch : chain-index-swagger

delete time in 5 days

pull request commentinput-output-hk/plutus-apps

Add a swagger ui page for chain index endpoints

@silky False alarm! I pushed those initial IsUtxoResponse commits to see if I missed any CI checks. I did, have fixed it and completed IsUtxoResponse similarly. The PR should be ready now.

image

Should I update and write more to plutus-chain-index & plutus-chain-index-core's READMEs next?

kk-hainq

comment created time in 5 days

push eventMELD-labs/plutus-apps

Hai Nguyen Quang

commit sha 666905800f5a2874400cfa66850bd5794f12ab80

Add tighter types for few chain index responses

view details

push time in 5 days

push eventMELD-labs/plutus-apps

Hai Nguyen Quang

commit sha df90ceb72e13d5c7994cb139d534284e08f003b1

Add tighter types for few chain index responses

view details

push time in 5 days

create barnchHachiSecurity/essential-cardano

branch : add-hachi

created branch time in 5 days

push eventMELD-labs/plutus-apps

Hai Nguyen Quang

commit sha d1f560e7efb6582e0ce06b1226877d7193abd1c6

Add a tighter type for IsUtxoResponse

view details

push time in 5 days

push eventMELD-labs/plutus-apps

Sjoerd Visscher

commit sha 0709726797168dc1a33f4cedbfa0ea1a821581d8

SCP-2945: Only script outputs in unbalanced transactions (#57) * Only script outputs in unbalanced transactions * Don't use ScriptLookups internals in PubKey tests * Fix merge issue

view details

Ulf Norell

commit sha a6868cde87600051a4cc808777d665d0b859853c

add property to sanity check model (#114) checking that balances sometimes change

view details

koslambrou

commit sha ee6d1ee35e9eb6f2153874a74a919f3c611adff0

SCP-3064: Fixed failing test case in the Crowdfunding plutus use case (#131)

view details

dependabot[bot]

commit sha 8ce61db4b505cfab1267dfaa3470d96350137500

chore(deps): bump nixbuild/nix-quick-install-action from 8 to 9 (#133) Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 8 to 9. - [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases) - [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE) - [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v8...v9) --- updated-dependencies: - dependency-name: nixbuild/nix-quick-install-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

koslambrou

commit sha a78e858f77cd3ecb76877351e0832ee5643f09a9

SCP-2368: Hosted PAB scenario - expose partial transactions that need to be balanced, signed and submitted by a remote wallet. (#119) * New WalletEffect, `yieldUnbalancedTx`, which makes available an unbalanced tx to be balanced, signed and then submitted to the blockchain. * Added ToJSON and FromJSON instances to ExportTx (partial tx) * Additionnal Generic and OpenAPI.ToSchema orphan instances for some cardano-api types. * New wallet handler in the PAB: RemoteClient. The only implemented wallet effect for the moment is `YieldUnbalancedTx`. The rest of the effects will be implemented in the future. * Changed the PAB wallet config settings which allows the user to specify if the wallet is available locally or remotely. * In the PAB, partial txs (`ExportTx`) are now exposed in the contract instance status endpoint (additionnaly as a `NewYieldedPartialTx` message in the websocket) when calling `yieldUnbalancedTx`. * Changed the PayToWallet example in plutus-pab to use `yieldUnbalancedTx`.

view details

Hai Nguyen Quang

commit sha 86de7649d0a6a3c329442cbb42be9466b07e2818

Add a swagger ui page for chain index endpoints

view details

Hai Nguyen Quang

commit sha e2c479d1f90e3795cd8df02345a7b316f5044fbe

Add a tighter type for IsUtxoResponse

view details

push time in 5 days

delete branch HachiSecurity/plutus

delete branch : compiler-flag-remove-trace

delete time in 5 days

pull request commentinput-output-hk/iohk-nix

Update nix-tools-regenerate.nix

May I ask the status of this change, or if you plan to merge it? It seems to resolve locale issues when running stack-to-nix on a few machines for us.

angerman

comment created time in 5 days

issue commentinput-output-hk/plutus

Allow validator invocations to spend multiple UTXOs

@purefn My comment was simply about running a validator once instead of twice if we store things in one instead of two UTxOs, regardless of how it's done. Sometimes it makes sense, sometimes it complicates logic and increases congestion risks.

And yes, what you mentioned is useful in several scenarios. For example, to avoid congestion, users in a voting dApp can frictionlessly mint a special token to cast a vote with the vote validated by that token's minting policy. Batchers can then continuously fold these UTxOs to count votes. This scenario combines UTxOs to progress state though, not to avoid the number of validator invocations in transactions.

treeowl

comment created time in 5 days

startednmattia/niv

started time in 5 days

more