diff --git a/exe/Main.purs b/exe/Main.purs index 4df387c..fe19108 100644 --- a/exe/Main.purs +++ b/exe/Main.purs @@ -3,12 +3,12 @@ module Main (main) where import Contract.Prelude import Contract.Address (ownPaymentPubKeyHash) -import Contract.Monad (defaultContractConfig, runContract_) +import Contract.Monad (defaultTestnetContractConfig, runContract_) import Effect.Aff (launchAff_) main :: Effect Unit main = launchAff_ $ do - cfg <- defaultContractConfig + cfg <- defaultTestnetContractConfig runContract_ cfg $ log <<< show diff --git a/flake.lock b/flake.lock index 620c74b..326e96a 100644 --- a/flake.lock +++ b/flake.lock @@ -255,17 +255,17 @@ "cardano-base_2": { "flake": false, "locked": { - "lastModified": 1635841753, - "narHash": "sha256-OXKsJ1UTj5kJ9xaThM54ZmxFAiFINTPKd4JQa4dPmEU=", + "lastModified": 1654537609, + "narHash": "sha256-4b0keLjRaVSdEwfBXB1iT3QPlsutdxSltGfBufT4Clw=", "owner": "input-output-hk", "repo": "cardano-base", - "rev": "41545ba3ac6b3095966316a99883d678b5ab8da8", + "rev": "0f3a867493059e650cda69e20a5cbf1ace289a57", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "cardano-base", - "rev": "41545ba3ac6b3095966316a99883d678b5ab8da8", + "rev": "0f3a867493059e650cda69e20a5cbf1ace289a57", "type": "github" } }, @@ -356,17 +356,17 @@ "cardano-ledger_2": { "flake": false, "locked": { - "lastModified": 1639498285, - "narHash": "sha256-lRNfkGMHnpPO0T19FZY5BnuRkr0zTRZIkxZVgHH0fys=", + "lastModified": 1655762257, + "narHash": "sha256-SaMhULHXgY0FiSKWc2dAYlgtbfPaFh/bUTgGqoNnMqY=", "owner": "input-output-hk", "repo": "cardano-ledger", - "rev": "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5", + "rev": "ce3057e0863304ccb3f79d78c77136219dc786c6", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "cardano-ledger", - "rev": "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5", + "rev": "ce3057e0863304ccb3f79d78c77136219dc786c6", "type": "github" } }, @@ -418,17 +418,17 @@ "cardano-node_2": { "flake": false, "locked": { - "lastModified": 1640022647, - "narHash": "sha256-M+YnF7Zj/7QK2pu0T75xNVaX0eEeijtBH8yz+jEHIMM=", + "lastModified": 1656166930, + "narHash": "sha256-R7YGQ6UMG16ed9sGguDWq2cUgFnADeRdx8O2s2HqWRk=", "owner": "input-output-hk", "repo": "cardano-node", - "rev": "814df2c146f5d56f8c35a681fe75e85b905aed5d", + "rev": "9f1d7dc163ee66410d912e48509d6a2300cfa68a", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "cardano-node", - "rev": "814df2c146f5d56f8c35a681fe75e85b905aed5d", + "rev": "9f1d7dc163ee66410d912e48509d6a2300cfa68a", "type": "github" } }, @@ -542,24 +542,24 @@ ], "ogmios": "ogmios", "ogmios-datum-cache": "ogmios-datum-cache", - "optparse-applicative": "optparse-applicative", + "optparse-applicative": "optparse-applicative_2", "ouroboros-network": "ouroboros-network_2", "plutus": "plutus_2", "purescript-bridge": "purescript-bridge", "servant-purescript": "servant-purescript" }, "locked": { - "lastModified": 1654586193, - "narHash": "sha256-eunqLMnBekc4vmc5b1IsZlOYvJ9PuLVMKWKwZBwxJ6E=", + "lastModified": 1657205366, + "narHash": "sha256-keMr7lQDRINsR7miVMtgw/K5OCkiaU4HUGkCwEXm04U=", "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7", + "rev": "b7614b4e11a57b5b366b65509b86eb4b086bb1ce", "type": "github" }, "original": { "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7", + "rev": "b7614b4e11a57b5b366b65509b86eb4b086bb1ce", "type": "github" } }, @@ -628,6 +628,23 @@ "type": "github" } }, + "ekg-json": { + "flake": false, + "locked": { + "lastModified": 1642583945, + "narHash": "sha256-VT8Ur585TCn03P2TVi6t92v2Z6tl8vKijICjse6ocv8=", + "owner": "vshabanov", + "repo": "ekg-json", + "rev": "00ebe7211c981686e65730b7144fbf5350462608", + "type": "github" + }, + "original": { + "owner": "vshabanov", + "repo": "ekg-json", + "rev": "00ebe7211c981686e65730b7144fbf5350462608", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -955,6 +972,7 @@ "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", "hackage": "hackage_3", "hpc-coveralls": "hpc-coveralls_3", + "hydra": "hydra_2", "nix-tools": "nix-tools_3", "nixpkgs": [ "cardano-transaction-lib", @@ -970,17 +988,17 @@ "stackage": "stackage_3" }, "locked": { - "lastModified": 1644944726, - "narHash": "sha256-jJWdP/3Ne1y1akC3m9rSO5ItRoBc4UTdVQZBCuPmmrM=", - "owner": "L-as", + "lastModified": 1650194184, + "narHash": "sha256-wwRdO075Gh+NbyTH4Gce/hxn7hKJjbNs4/YrKpOguAA=", + "owner": "mlabs-haskell", "repo": "haskell.nix", - "rev": "45c583b5580c130487eb5a342679f0bdbc2b23fc", + "rev": "cf1f0460b65efadac6dc96169ef1e497410fa4f4", "type": "github" }, "original": { - "owner": "L-as", - "ref": "master", + "owner": "mlabs-haskell", "repo": "haskell.nix", + "rev": "cf1f0460b65efadac6dc96169ef1e497410fa4f4", "type": "github" } }, @@ -1024,51 +1042,51 @@ "hedgehog-extras": { "flake": false, "locked": { - "lastModified": 1626138074, - "narHash": "sha256-KYLGLpDGHWlb/Gcx6Q/2HTnRMzZQmPKz0JbIw+bHh3E=", + "lastModified": 1647260073, + "narHash": "sha256-TR9i1J3HUYz3QnFQbfJPr/kGDahxZPojDsorYtRZeGU=", "owner": "input-output-hk", "repo": "hedgehog-extras", - "rev": "edf6945007177a638fbeb8802397f3a6f4e47c14", + "rev": "967d79533c21e33387d0227a5f6cc185203fe658", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "hedgehog-extras", - "rev": "edf6945007177a638fbeb8802397f3a6f4e47c14", + "rev": "967d79533c21e33387d0227a5f6cc185203fe658", "type": "github" } }, "hjsonpointer": { "flake": false, "locked": { - "lastModified": 1538408336, - "narHash": "sha256-l2GZpN5SGalPalIa8xcHOdafSQqLK1Y66aYWOVElwlk=", + "lastModified": 1654184599, + "narHash": "sha256-y1UCtaVI5Zsb8MeOQA8XbSX3p4/JoroRTG9RGl0I7DY=", "owner": "KtorZ", "repo": "hjsonpointer", - "rev": "75ed0d049c33274a6cb4c36c8538d4bf2ef9c30e", + "rev": "879f0e74d55eef76ceaec8f60ed07657ab84bad7", "type": "github" }, "original": { "owner": "KtorZ", "repo": "hjsonpointer", - "rev": "75ed0d049c33274a6cb4c36c8538d4bf2ef9c30e", + "rev": "879f0e74d55eef76ceaec8f60ed07657ab84bad7", "type": "github" } }, "hjsonschema": { "flake": false, "locked": { - "lastModified": 1588363390, - "narHash": "sha256-lep5HGrtxp/XN72WXY1JVk5lJ5cE0XMhxKwjMpCoAxk=", + "lastModified": 1654186606, + "narHash": "sha256-1UG+rP7Z/kxiqj2qcx70688u1P23RzopAim+MClo6PA=", "owner": "KtorZ", "repo": "hjsonschema", - "rev": "fde6e676f79f3f3320a558f20492ad816a2543a7", + "rev": "35e0b05c3867463363e67f00a5092cd39fa33313", "type": "github" }, "original": { "owner": "KtorZ", "repo": "hjsonschema", - "rev": "fde6e676f79f3f3320a558f20492ad816a2543a7", + "rev": "35e0b05c3867463363e67f00a5092cd39fa33313", "type": "github" } }, @@ -1144,6 +1162,49 @@ "type": "indirect" } }, + "hydra_2": { + "inputs": { + "newNixpkgs": "newNixpkgs", + "nix": "nix_2", + "nixpkgs": [ + "cardano-transaction-lib", + "ogmios", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1657142040, + "narHash": "sha256-QetBWv3AB+mDGJH7CbbLp5LTMtKPG7TuOVyFpHmZXog=", + "owner": "NixOS", + "repo": "hydra", + "rev": "bf50ae0d36be9a7d7d65457cc19245f4da3d8e5d", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "io-sim": { + "flake": false, + "locked": { + "lastModified": 1653046584, + "narHash": "sha256-vFE67shdZScks67KezdKToLuk6k6wwyLFzshClO7Ym0=", + "owner": "input-output-hk", + "repo": "io-sim", + "rev": "f4183f274d88d0ad15817c7052df3a6a8b40e6dc", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "io-sim", + "rev": "f4183f274d88d0ad15817c7052df3a6a8b40e6dc", + "type": "github" + } + }, "iohk-monitoring-framework": { "flake": false, "locked": { @@ -1164,17 +1225,17 @@ "iohk-monitoring-framework_2": { "flake": false, "locked": { - "lastModified": 1624367860, - "narHash": "sha256-QE3QRpIHIABm+qCP/wP4epbUx0JmSJ9BMePqWEd3iMY=", + "lastModified": 1653619339, + "narHash": "sha256-0ia5UflYEmBYepj2gkJy9msknklI0UPtUavMEGwk3Wg=", "owner": "input-output-hk", "repo": "iohk-monitoring-framework", - "rev": "46f994e216a1f8b36fe4669b47b2a7011b0e153c", + "rev": "066f7002aac5a0efc20e49643fea45454f226caa", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "iohk-monitoring-framework", - "rev": "46f994e216a1f8b36fe4669b47b2a7011b0e153c", + "rev": "066f7002aac5a0efc20e49643fea45454f226caa", "type": "github" } }, @@ -1196,6 +1257,25 @@ "type": "github" } }, + "iohk-nix_2": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1649070135, + "narHash": "sha256-UFKqcOSdPWk3TYUCPHF22p1zf7aXQpCmmgf7UMg7fWA=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "cecab9c71d1064f05f1615eead56ac0b9196bc20", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "cecab9c71d1064f05f1615eead56ac0b9196bc20", + "type": "github" + } + }, "iohkNix": { "inputs": { "nixpkgs": [ @@ -1234,6 +1314,38 @@ "type": "github" } }, + "lowdown-src_2": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "newNixpkgs": { + "locked": { + "lastModified": 1647380550, + "narHash": "sha256-909TI9poX7CIUiFx203WL29YON6m/I6k0ExbZvR7bLM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6e3ee8957637a60f5072e33d78e05c0f65c54366", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, "nix": { "inputs": { "lowdown-src": "lowdown-src", @@ -1303,6 +1415,27 @@ "type": "github" } }, + "nix_2": { + "inputs": { + "lowdown-src": "lowdown-src_2", + "nixpkgs": "nixpkgs_3", + "nixpkgs-regression": "nixpkgs-regression_2" + }, + "locked": { + "lastModified": 1654014617, + "narHash": "sha256-qNL3lQPBsnStkru3j1ajN/H+knXI+X3dku8/dBfSw3g=", + "owner": "NixOS", + "repo": "nix", + "rev": "624e38aa43f304fbb78b4779172809add042b513", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.9.1", + "repo": "nix", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1632864508, @@ -1477,6 +1610,21 @@ "type": "indirect" } }, + "nixpkgs-regression_2": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1628785280, @@ -1539,6 +1687,35 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1645296114, + "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1657177452, + "narHash": "sha256-CojBqno3Zbw9/788+kCjRXXornpc4jJGC6RYvTYdVkg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5cbfadba693e0453f3a4090e83fbf845e18d184b", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1634172192, "narHash": "sha256-FBF4U/T+bMg4sEyT/zkgasvVquGzgdAf4y8uCosKMmo=", @@ -1562,6 +1739,7 @@ "cardano-ledger": "cardano-ledger_2", "cardano-node": "cardano-node_2", "cardano-prelude": "cardano-prelude_2", + "ekg-json": "ekg-json", "flake-compat": "flake-compat_2", "flat": "flat_2", "goblins": "goblins_2", @@ -1569,47 +1747,54 @@ "hedgehog-extras": "hedgehog-extras", "hjsonpointer": "hjsonpointer", "hjsonschema": "hjsonschema", + "io-sim": "io-sim", "iohk-monitoring-framework": "iohk-monitoring-framework_2", + "iohk-nix": "iohk-nix_2", "nixpkgs": [ "cardano-transaction-lib", "ogmios", "haskell-nix", - "nixpkgs-2105" + "nixpkgs-unstable" ], + "optparse-applicative": "optparse-applicative", "ouroboros-network": "ouroboros-network", "plutus": "plutus", + "typed-protocols": "typed-protocols", "wai-routes": "wai-routes" }, "locked": { - "lastModified": 1652775217, - "narHash": "sha256-Xt2OaeF45tCPyvKU11ZbcAT/4EkYXcwWWCGVXwPtW/w=", + "lastModified": 1656650330, + "narHash": "sha256-Rl5xNP3LVtuOzXXSsdAWNB3EXGRPsFPMvBO0TDUvSJE=", "owner": "mlabs-haskell", "repo": "ogmios", - "rev": "d187ba9581b9e1b4ed85fdf652b1e08fa6e09d7f", + "rev": "e406801eaeb32b28cd84357596ca1512bff27741", "type": "github" }, "original": { "owner": "mlabs-haskell", "repo": "ogmios", + "rev": "e406801eaeb32b28cd84357596ca1512bff27741", "type": "github" } }, "ogmios-datum-cache": { "inputs": { "flake-compat": "flake-compat_3", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_5", + "unstable_nixpkgs": "unstable_nixpkgs" }, "locked": { - "lastModified": 1652673546, - "narHash": "sha256-fd3UST7vjed7KLOrLsFD8/nP7YXhCAQ3ODFs5SjZ6SQ=", + "lastModified": 1656090737, + "narHash": "sha256-zan1OMF5/O7lfYAA9y4JgveEVKK2Pw9tWBVYbMcPUto=", "owner": "mlabs-haskell", "repo": "ogmios-datum-cache", - "rev": "dbff887d14122249352c1a853be05023f64a2664", + "rev": "98b1c4f2badc7ab1efe4be188ee9f9f5e4e54bb0", "type": "github" }, "original": { "owner": "mlabs-haskell", "repo": "ogmios-datum-cache", + "rev": "98b1c4f2badc7ab1efe4be188ee9f9f5e4e54bb0", "type": "github" } }, @@ -1681,20 +1866,37 @@ "type": "github" } }, + "optparse-applicative_2": { + "flake": false, + "locked": { + "lastModified": 1628901899, + "narHash": "sha256-uQx+SEYsCH7JcG3xAT0eJck9yq3y0cvx49bvItLLer8=", + "owner": "input-output-hk", + "repo": "optparse-applicative", + "rev": "7497a29cb998721a9068d5725d49461f2bba0e7a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "optparse-applicative", + "rev": "7497a29cb998721a9068d5725d49461f2bba0e7a", + "type": "github" + } + }, "ouroboros-network": { "flake": false, "locked": { - "lastModified": 1639767242, - "narHash": "sha256-n/4it/p3OxqtzVHESgZIZVdgFBsSNlvjYdTvxC0gc3I=", + "lastModified": 1654820431, + "narHash": "sha256-bmLD5sFsiny/eRv6MHrqGvo6I4QG9pO0psiHWGFZqro=", "owner": "input-output-hk", "repo": "ouroboros-network", - "rev": "32af91686b86dac7454eee8b8a8d6e97a80638da", + "rev": "a65c29b6a85e90d430c7f58d362b7eb097fd4949", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "ouroboros-network", - "rev": "32af91686b86dac7454eee8b8a8d6e97a80638da", + "rev": "a65c29b6a85e90d430c7f58d362b7eb097fd4949", "type": "github" } }, @@ -1718,17 +1920,17 @@ "plutus": { "flake": false, "locked": { - "lastModified": 1632818067, - "narHash": "sha256-jiqrzS519eoHg9NqTr4UZOVme3uIACL17OCiDMn0LMo=", + "lastModified": 1655404007, + "narHash": "sha256-8ZCD/f321fFs8k+FBfxnpYlm1+C+rKM8Io9K0CDCEqA=", "owner": "input-output-hk", "repo": "plutus", - "rev": "1efbb276ef1a10ca6961d0fd32e6141e9798bd11", + "rev": "f680ac6979e069fcc013e4389ee607ff5fa6672f", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "plutus", - "rev": "1efbb276ef1a10ca6961d0fd32e6141e9798bd11", + "rev": "f680ac6979e069fcc013e4389ee607ff5fa6672f", "type": "github" } }, @@ -1841,6 +2043,38 @@ "type": "github" } }, + "typed-protocols": { + "flake": false, + "locked": { + "lastModified": 1653046676, + "narHash": "sha256-5Wof5yTKb12EPY6B8LfapX18xNZZpF+rvhnQ88U6KdM=", + "owner": "input-output-hk", + "repo": "typed-protocols", + "rev": "181601bc3d9e9d21a671ce01e0b481348b3ca104", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "typed-protocols", + "rev": "181601bc3d9e9d21a671ce01e0b481348b3ca104", + "type": "github" + } + }, + "unstable_nixpkgs": { + "locked": { + "lastModified": 1657211021, + "narHash": "sha256-rTQX2TgrFYjl3leui/jPkUptzjy8nIW3rNenO4PhfLk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "98472c0467e56d143b2f97a669eddefb7cf99b19", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1623875721, diff --git a/flake.nix b/flake.nix index 7244214..eaf894f 100644 --- a/flake.nix +++ b/flake.nix @@ -10,7 +10,9 @@ type = "github"; owner = "Plutonomicon"; repo = "cardano-transaction-lib"; - rev = "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7"; + # should be same rev as in packages.dhall + # Oh update, do `spago2nix generate` + rev = "b7614b4e11a57b5b366b65509b86eb4b086bb1ce"; }; nixpkgs.follows = "cardano-transaction-lib/nixpkgs"; }; @@ -32,7 +34,10 @@ inherit pkgs src; projectName = "seabug-contracts"; shell = { - packages = [ pkgs.fd ]; + packages = [ + pkgs.easy-ps.purs-tidy + pkgs.fd + ]; }; }; in diff --git a/package-lock.json b/package-lock.json index eacbb85..5d06735 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,15 +10,15 @@ "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, - "@ngua/cardano-serialization-lib-browser": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@ngua/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-9.1.2.tgz", - "integrity": "sha512-0KkS3vCwrK8Yxs+yuoFJ05Ou5r0AZJNTWks9otP5h9ODsTUpkgJDb3lVmflJmSB0KnA9JvF3AmcN/swXj/yw+A==" + "@emurgo/cardano-serialization-lib-browser": { + "version": "11.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-11.0.0-beta.1.tgz", + "integrity": "sha512-y2jxCPQBZIG1WTcNxPT8AVb1KjCUQV5nq0em32m4l4siHCQjA4STVVds1r61sSCyviP6dzrAJo4n5i/rs+zeKQ==" }, - "@ngua/cardano-serialization-lib-nodejs": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@ngua/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-9.1.2.tgz", - "integrity": "sha512-6xpp5Xjcqm9eHIrKBUmmIeZV6n0OeK6t8vCyQzF8KcHEQiknAcIcoIq/wf7sEcLV3ohwn945QCKkM3rKsKF5FA==" + "@emurgo/cardano-serialization-lib-nodejs": { + "version": "11.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.0.0-beta.1.tgz", + "integrity": "sha512-YCsfZCXDDFGeX8dp0CFOksPEsTYbnJ8YbmwKc+Vm6e6Vv6yNpXRRhcwE0Zm29lGqLQ+gUbMmLZSclKiXAb52fA==" }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -550,6 +550,11 @@ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, + "b4a": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.5.3.tgz", + "integrity": "sha512-1aCQIzQJK7G0z1Una75tWMlwVAR8o+QHoAlnWc5XAxRVBESY9WsitfBgM5nPyDBP5HrhPU1Np4Pq2Y7CJQ+tVw==" + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -578,6 +583,15 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "blake2b-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", + "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "requires": { + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" + } + }, "blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -2468,6 +2482,11 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", diff --git a/package.json b/package.json index aaaa6f7..ce00467 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,11 @@ "author": "", "license": "MIT", "dependencies": { - "@ngua/cardano-serialization-lib-browser": "9.1.2", - "@ngua/cardano-serialization-lib-nodejs": "9.1.2", + "@emurgo/cardano-serialization-lib-browser": "11.0.0-beta.1", + "@emurgo/cardano-serialization-lib-nodejs": "11.0.0-beta.1", "big-integer": "1.6.51", "blakejs": "1.2.1", + "blake2b-wasm": "2.4.0", "bufferutil": "4.0.5", "jssha": "3.2.0", "node-polyfill-webpack-plugin": "1.1.4", diff --git a/packages.dhall b/packages.dhall index ebc4e01..5864755 100644 --- a/packages.dhall +++ b/packages.dhall @@ -149,7 +149,39 @@ let additions = , "untagged-union" ] , repo = "https://github.com/mlabs-haskell/purescript-aeson.git" - , version = "5054e03ee14376768071c24d63889bfab8db2667" + , version = "69bd18c4a9cffdebc45c55d2448740721a91854c" + } + , aeson-helpers = + { dependencies = + [ "aff" + , "argonaut-codecs" + , "argonaut-core" + , "arrays" + , "bifunctors" + , "contravariant" + , "control" + , "effect" + , "either" + , "enums" + , "foldable-traversable" + , "foreign-object" + , "maybe" + , "newtype" + , "ordered-collections" + , "prelude" + , "profunctor" + , "psci-support" + , "quickcheck" + , "record" + , "spec" + , "spec-quickcheck" + , "transformers" + , "tuples" + , "typelevel-prelude" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-bridge-aeson-helpers.git" + , version = "44d0dae060cf78babd4534320192b58c16a6f45b" } , sequences = { dependencies = @@ -295,7 +327,10 @@ let additions = , "variant" ] , repo = "https://github.com/Plutonomicon/cardano-transaction-lib.git" - , version = "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7" + -- should be same rev as in flake.nix + -- https://github.com/Plutonomicon/cardano-transaction-lib/pull/696 + -- PR: Return error if no utxo is specified for a tx input & Fix transaction inputs locking + , version = "b7614b4e11a57b5b366b65509b86eb4b086bb1ce" } } -in upstream // additions +in upstream // additions diff --git a/spago-packages.nix b/spago-packages.nix index a3ddfc5..1173ff5 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -7,11 +7,23 @@ let "aeson" = pkgs.stdenv.mkDerivation { name = "aeson"; - version = "5054e03ee14376768071c24d63889bfab8db2667"; + version = "69bd18c4a9cffdebc45c55d2448740721a91854c"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-aeson.git"; - rev = "5054e03ee14376768071c24d63889bfab8db2667"; - sha256 = "0rwghhh3a2mxgpnirfbdx4hlh4ah0fxsijlvm4a42dllprfwcfgh"; + rev = "69bd18c4a9cffdebc45c55d2448740721a91854c"; + sha256 = "1khn834wsqgf80p8xjyw6z06dhj8vknj7lhpm5dj44nqlaj8qhqb"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "aeson-helpers" = pkgs.stdenv.mkDerivation { + name = "aeson-helpers"; + version = "44d0dae060cf78babd4534320192b58c16a6f45b"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-bridge-aeson-helpers.git"; + rev = "44d0dae060cf78babd4534320192b58c16a6f45b"; + sha256 = "1fgvaqvd9145zz5xw3fsa5vm75kp6bxcwa2nzq1dx2367h3a0zl0"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -187,11 +199,11 @@ let "cardano-transaction-lib" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-lib"; - version = "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7"; + version = "b7614b4e11a57b5b366b65509b86eb4b086bb1ce"; src = pkgs.fetchgit { url = "https://github.com/Plutonomicon/cardano-transaction-lib.git"; - rev = "a8aabb842ecc1e287d4a60ea4f4c6cff6fbfeea7"; - sha256 = "189764f69c32556bbf2gkyy9hlv65i96yfb7pqw4fyn1r4nfmsbs"; + rev = "b7614b4e11a57b5b366b65509b86eb4b086bb1ce"; + sha256 = "11fkwr2w00k9a03lws9254wbkwn3c35m98mr8xn86i03akp2pqwi"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -1109,6 +1121,18 @@ let installPhase = "ln -s $src $out"; }; + "spec-quickcheck" = pkgs.stdenv.mkDerivation { + name = "spec-quickcheck"; + version = "v4.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/purescript-spec/purescript-spec-quickcheck.git"; + rev = "c2991f475b8fa11de8b68bcb5895b36be04d1e82"; + sha256 = "01xcbfyqzax9c5najbfy12q0nvfklfm37llj2vkmi3wgkskg4prz"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "st" = pkgs.stdenv.mkDerivation { name = "st"; version = "v5.0.1"; @@ -1145,6 +1169,18 @@ let installPhase = "ln -s $src $out"; }; + "text-encoding" = pkgs.stdenv.mkDerivation { + name = "text-encoding"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/AlexaDeWit/purescript-text-encoding.git"; + rev = "609ea0916f6817971d4a6c11b991b59715aaa096"; + sha256 = "1r6ihj6m6ahp1cjf4i25pq9a00r2mvgrd8794xiapzsaigljz42c"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "these" = pkgs.stdenv.mkDerivation { name = "these"; version = "v5.0.0"; diff --git a/spago.dhall b/spago.dhall index 809af23..1eaff4b 100644 --- a/spago.dhall +++ b/spago.dhall @@ -2,16 +2,16 @@ Welcome to a Spago project! You can edit this file as you like. -} -{ name = "my-project" +{ name = "seabug-contract" , dependencies = [ "aeson" + , "aeson-helpers" , "aff" , "aff-promise" , "affjax" , "argonaut" , "argonaut-codecs" , "arrays" - , "monad-logger" , "bifunctors" , "bigints" , "cardano-transaction-lib" @@ -24,12 +24,15 @@ You can edit this file as you like. , "foldable-traversable" , "http-methods" , "maybe" + , "monad-logger" , "mote" , "newtype" , "ordered-collections" , "partial" , "prelude" , "spec" + , "strings" + , "text-encoding" , "transformers" , "tuples" , "uint" diff --git a/src/Seabug/CallContract.purs b/src/Seabug/CallContract.purs index 6c6d3b0..880b20a 100644 --- a/src/Seabug/CallContract.purs +++ b/src/Seabug/CallContract.purs @@ -38,7 +38,6 @@ import Control.Promise (Promise) import Control.Promise as Promise import Data.BigInt (BigInt) import Data.BigInt as BigInt -import Data.Maybe (fromJust) import Data.Tuple.Nested ((/\)) import Data.UInt as UInt import Effect (Effect) @@ -49,7 +48,7 @@ import Effect.Exception (Error) import Seabug.Metadata.Types (SeabugMetadata(SeabugMetadata)) import Seabug.Metadata.Share (unShare) import Partial.Unsafe (unsafePartial) -import Plutus.FromPlutusType (fromPlutusType) +import Plutus.Conversion (fromPlutusAddress) import Seabug.Contract.MarketPlaceBuy (marketplaceBuy) import Seabug.Contract.MarketPlaceListNft (ListNftResult, marketPlaceListNft) import Seabug.Types @@ -66,6 +65,7 @@ import Serialization.Hash ) import Types.Natural as Nat import Wallet (mkNamiWalletAff) +import Types.BigNum as BigNum -- | Exists temporarily for testing purposes callMarketPlaceBuyTest :: String -> Effect (Promise String) @@ -202,8 +202,7 @@ buildNftList inputIndex = UInt.toInt input.index -- TODO: What do we do if this fails? address = - addressBech32 $ unsafePartial $ fromJust $ fromPlutusType $ network /\ - output.address + addressBech32 $ unsafePartial $ fromPlutusAddress network output.address dataHash = fromMaybe mempty $ byteArrayToHex <<< unwrap <$> output.dataHash ipfsHash = metadata.ipfsHash seabugMetadata = convertSeabugMetaData metadata.seabugMetadata @@ -221,7 +220,7 @@ buildNftList -> { currencySymbol :: String, tokenName :: String, amount :: BigInt } mkValueRecord (currencySymbol /\ tokenName /\ amount) = { currencySymbol: byteArrayToHex $ getCurrencySymbol currencySymbol - , tokenName: byteArrayToHex $ unwrap $ getTokenName tokenName + , tokenName: byteArrayToHex $ getTokenName tokenName , amount } @@ -231,7 +230,7 @@ buildNftList , mintPolicy: byteArrayToHex m.mintPolicy , collectionNftCS: byteArrayToHex $ Cardano.Types.Value.getCurrencySymbol $ m.collectionNftCS - , collectionNftTN: byteArrayToHex $ unwrap $ getTokenName m.collectionNftTN + , collectionNftTN: byteArrayToHex $ getTokenName m.collectionNftTN , lockingScript: scriptHashToBech32Unsafe "script" $ unwrap m.lockingScript , authorPkh: byteArrayToHex $ unwrap $ ed25519KeyHashToBytes $ unwrap m.authorPkh @@ -273,7 +272,7 @@ buildNftData { nftCollectionArgs, nftIdArgs } = do lockLockupEnd <- note (error $ "Invalid nft lockLockupEnd: " <> show r.lockLockupEnd) $ Slot - <$> (UInt.fromString $ BigInt.toString r.lockLockupEnd) + <$> (BigNum.fromString $ BigInt.toString r.lockLockupEnd) lockingScript <- note (error $ "Invalid nft lockingScript: " <> r.lockingScript) $ wrap diff --git a/src/Seabug/Contract/MarketPlaceBuy.purs b/src/Seabug/Contract/MarketPlaceBuy.purs index 69aebcb..6ccaa7b 100644 --- a/src/Seabug/Contract/MarketPlaceBuy.purs +++ b/src/Seabug/Contract/MarketPlaceBuy.purs @@ -32,12 +32,10 @@ import Contract.PlutusData , toData , unitRedeemer ) -import Contract.ProtocolParameters.Alonzo (minAdaTxOut) import Contract.Scripts (applyArgs, typedValidatorEnterpriseAddress) import Contract.Transaction - ( BalancedSignedTransaction(BalancedSignedTransaction) - , TransactionOutput(TransactionOutput) - , balanceAndSignTx + ( TransactionOutput(TransactionOutput) + , balanceAndSignTxE , submit ) import Contract.TxConstraints @@ -51,8 +49,10 @@ import Contract.Utxos (utxosAt) import Contract.Value as Value import Contract.Wallet (getWalletAddress) import Data.Array (find) as Array +import Data.Bifunctor (lmap) import Data.BigInt (BigInt, fromInt) import Data.Map (insert, toUnfoldable) +import Data.String.Common (joinWith) import Seabug.MarketPlace (marketplaceValidator) import Seabug.MintingPolicy (mintingPolicy) import Seabug.Token (mkTokenName) @@ -63,6 +63,9 @@ import Seabug.Types , NftId(NftId) ) +minAdaOnlyUTxOValue :: BigInt +minAdaOnlyUTxOValue = fromInt 1_000_000 + -- TODO docstring marketplaceBuy :: forall (r :: Row Type). NftData -> Contract r Unit marketplaceBuy nftData = do @@ -72,12 +75,16 @@ marketplaceBuy nftData = do -- 2) Reindex `Spend` redeemers after finalising transaction inputs. -- 3) Attach datums and redeemers to transaction. -- 3) Sign tx, returning the Cbor-hex encoded `ByteArray`. - BalancedSignedTransaction { signedTxCbor } <- liftedM - "marketplaceBuy: Cannot balance, reindex redeemers, attach datums/redeemers\ - \ and sign" - (balanceAndSignTx unattachedBalancedTx) + signedTx <- liftedE + ( lmap + ( \e -> + "marketplaceBuy: Cannot balance, reindex redeemers, attach datums/redeemers\ + \ and sign: " <> show e + ) + <$> balanceAndSignTxE unattachedBalancedTx + ) -- Submit transaction using Cbor-hex encoded `ByteArray` - transactionHash <- submit signedTxCbor + transactionHash <- submit signedTx log $ "marketplaceBuy: Transaction successfully submitted with hash: " <> show transactionHash log $ "marketplaceBuy: Buy successful: " <> show (curr /\ newName) @@ -98,6 +105,14 @@ mkMarketplaceTx (NftData nftData) = do pkh <- liftedM "marketplaceBuy: Cannot get PaymentPubKeyHash" ownPaymentPubKeyHash policy' <- liftedE $ pure mintingPolicy + log $ "policy args: " <> joinWith "; " + [ "collectionNftCs: " <> show nftCollection.collectionNftCs + , "lockingScript: " <> show nftCollection.lockingScript + , "author: " <> show nftCollection.author + , "authorShare: " <> show nftCollection.authorShare + , "daoScript: " <> show nftCollection.daoScript + , "daoShare: " <> show nftCollection.daoShare + ] policy <- liftedE $ applyArgs policy' [ toData nftCollection.collectionNftCs , toData nftCollection.lockingScript @@ -108,9 +123,8 @@ mkMarketplaceTx (NftData nftData) = do ] curr <- liftedM "marketplaceBuy: Cannot get CurrencySymbol" - $ pure - $ Value.scriptCurrencySymbol - $ policy + $ liftAff + $ Value.scriptCurrencySymbol policy -- curr <- liftContractM "marketplaceBuy: Cannot get CurrencySymbol" -- $ mkCurrencySymbol -- $ Value.getCurrencySymbol currSym @@ -149,7 +163,7 @@ mkMarketplaceTx (NftData nftData) = do shareToSubtract :: BigInt -> BigInt shareToSubtract v - | v < unwrap minAdaTxOut = zero + | v < minAdaOnlyUTxOValue = zero | otherwise = v filterLowValue @@ -157,7 +171,7 @@ mkMarketplaceTx (NftData nftData) = do -> (Value.Value -> TxConstraints Unit Unit) -> TxConstraints Unit Unit filterLowValue v t - | v < unwrap minAdaTxOut = mempty + | v < minAdaOnlyUTxOValue = mempty | otherwise = t (Value.lovelaceValueOf v) authorShare = getShare $ toBigInt nftCollection.authorShare @@ -169,11 +183,9 @@ mkMarketplaceTx (NftData nftData) = do datum = Datum $ toData $ curr /\ oldName userAddr <- liftedM "marketplaceBuy: Cannot get user addr" getWalletAddress userUtxos <- - liftedM "marketplaceBuy: Cannot get user Utxos" $ utxosAt - (unwrap userAddr).address + liftedM "marketplaceBuy: Cannot get user Utxos" $ utxosAt userAddr scriptUtxos <- - liftedM "marketplaceBuy: Cannot get script Utxos" $ utxosAt - (unwrap scriptAddr).address + liftedM "marketplaceBuy: Cannot get script Utxos" $ utxosAt scriptAddr log $ "scriptUtxos: " <> show scriptUtxos utxo /\ utxoIndex <- liftContractM "marketplaceBuy: NFT not found on marketplace" @@ -181,11 +193,12 @@ mkMarketplaceTx (NftData nftData) = do $ toUnfoldable $ unwrap scriptUtxos let + utxosForTx = insert utxo utxoIndex $ unwrap userUtxos lookup = mconcat [ ScriptLookups.mintingPolicy policy , ScriptLookups.typedValidatorLookups $ wrap marketplaceValidator' , ScriptLookups.validator marketplaceValidator'.validator - , ScriptLookups.unspentOutputs $ insert utxo utxoIndex $ unwrap userUtxos + , ScriptLookups.unspentOutputs utxosForTx , ScriptLookups.ownPaymentPubKeyHash pkh ] @@ -210,6 +223,7 @@ mkMarketplaceTx (NftData nftData) = do ( newNftValue <> minAdaVal ) ] + log $ "utxosTx: " <> show utxosForTx -- Created unbalanced tx which stripped datums and redeemers with tx inputs, -- the datums and redeemers will be reattached using a server with redeemers -- reindexed also. diff --git a/src/Seabug/Contract/MarketPlaceListNft.purs b/src/Seabug/Contract/MarketPlaceListNft.purs index 9afafe0..3576531 100644 --- a/src/Seabug/Contract/MarketPlaceListNft.purs +++ b/src/Seabug/Contract/MarketPlaceListNft.purs @@ -45,7 +45,7 @@ marketPlaceListNft = do $ wrap marketplaceValidator' scriptUtxos <- Map.toUnfoldable <<< unwrap <$> liftedM "marketPlaceListNft: Cannot get script Utxos" - (utxosAt (unwrap scriptAddr).address) + (utxosAt scriptAddr) withMetadata <- for scriptUtxos $ \(input /\ output@(TransactionOutput out)) -> runMaybeT $ do diff --git a/src/Seabug/MarketPlace.js b/src/Seabug/MarketPlace.js index 3bc7abf..4677bc0 100644 --- a/src/Seabug/MarketPlace.js +++ b/src/Seabug/MarketPlace.js @@ -3,18 +3,12 @@ exports._marketplaceValidator = { validator: { getValidator: "5908f801000033232332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332233222222323253353033333006300800530070043333573466e1cd55cea8012400046601664646464646464646464646666ae68cdc39aab9d500a480008cccccccccc064cd409c8c8c8cccd5cd19b8735573aa004900011980f981d1aba15002302c357426ae8940088c98d4c168cd5ce02f02d82c82c09aab9e5001137540026ae854028cd409c0a0d5d0a804999aa8173ae502d35742a010666aa05ceb940b4d5d0a80399a8138219aba15006335027335505404c75a6ae854014c8c8c8cccd5cd19b8735573aa0049000119a8109919191999ab9a3370e6aae7540092000233502933504275a6ae854008c11cd5d09aba25002232635305e3357380c40be0ba0b826aae7940044dd50009aba150023232323333573466e1cd55cea80124000466a04e66a084eb4d5d0a80118239aba135744a004464c6a60bc66ae7018817c1741704d55cf280089baa001357426ae8940088c98d4c168cd5ce02f02d82c82c09aab9e5001137540026ae854010cd409dd71aba15003335027335505475c40026ae854008c0e4d5d09aba2500223263530563357380b40ae0aa0a826ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226aae7940044dd50009aba150023232323333573466e1d400520062301e303b357426aae79400c8cccd5cd19b875002480108c074c114d5d09aab9e500423333573466e1d400d20022301d3030357426aae7940148cccd5cd19b875004480008c080dd71aba135573ca00c464c6a60a266ae7015414814013c1381341304d55cea80089baa001357426ae8940088c98d4c128cd5ce027025824824082509931a982499ab9c4901035054350004a048135573ca00226ea8004cd540fdd73ae20012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa06a446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a004464c6a606e66ae700ec0e00d80d44d55cf280089baa00135742a006666aa016eb94028d5d0a80119a807bae357426ae8940088c98d4c0cccd5ce01b81a01901889aba25001135573ca00226ea800488848ccc00401000c00880048848cc00400c00880044cd54005d73ad112232230023756002640026aa05e44646666aae7c008940248cd4020cd540c4c018d55cea80118029aab9e500230043574400605c26ae840044488008488488cc00401000c48004488c8c8cccd5cd19b875001480008d4020c014d5d09aab9e500323333573466e1d4009200225008232635302a33573805c05605205004e26aae7540044dd5000890911801001889100089000919191999ab9a3370e6aae7540092000233006300735742a0046eb4d5d09aba25002232635302433573805004a04604426aae7940044dd500091091980080180110009191999ab9a3370e6aae75400520002375c6ae84d55cf280111931a981019ab9c02402101f01e1375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511931a981199ab9c02702402202102001f135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188c98d4c06ccd5ce00f80e00d00c80c09aab9d37540022440042440024002464646464646666ae68cdc3a800a4018401646666ae68cdc3a80124014401a46666ae68cdc3a801a40104660166eb8d5d0a8029bad357426ae8940148cccd5cd19b875004480188cc034dd71aba15007375c6ae84d5d1280391999ab9a3370ea00a9002119809180a1aba15009375c6ae84d5d1280491999ab9a3370ea00c90011180a180a9aba135573ca01646666ae68cdc3a803a400046026602c6ae84d55cf280611931a981019ab9c02402101f01e01d01c01b01a019018135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188c98d4c044cd5ce00a80900800780709aab9d5003135744a00226aae7940044dd5000909118010019110911998008028020019000919191999ab9a3370ea0029001118031bae357426aae79400c8cccd5cd19b875002480008c020dd71aba135573ca008464c6a601666ae7003c0300280240204d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002232635300833573801801200e00c26aae7940044dd5000a4c2400240022244246600200600422400292010350543100112323001001223300330020020013233223332223322332233322222253353004333573466e1cd4d5403800c88ccc888c8c8c004014c8004d5405888cd4d404c005200022353550180022253353010333573466e3c0080240480444c01c0044c01800cc8004d5405488cd4d404800520002235355017002225335300f333573466e3c00801c04404040044c01800cd4c02cd4c02400c88008888888888801c008005200100600510061335738920121416c6c207370656e7420746f6b656e73206d7573742062652072656d696e7465640000512200212200120012212330010030022001222222222212333333333300100b00a009008007006005004003002200111220021221223300100400312001112212330010030021120011123230010012233003300200200101", }, - validatorHash: { - getValidatorHash: { - getScriptHash: "df4def976c66c24bb32f2bdf63da44bd4d77757811e670457b27690b", - }, - }, + validatorHash: "df4def976c66c24bb32f2bdf63da44bd4d77757811e670457b27690b", forwardingMPS: { getMintingPolicy: "5908c0010000332332233322232323322332232323332223233322232333333332222222232333222323333222232323322323332223232323322332232323333322222332233223322332233223322332222232325335302f332235300a0012235300e002222222222233335302200b203f2333553059120013233505f223335350180032200200200135350160012200133501622533530400021042100103f235302b35301c0012200122235303000322335305500220462333573466e3c00406c11c11802c80fc80fccccd5cd19b8735573a6ea801120002047232635304633573809408e08a0886666ae68cdc39aab9d5002480008cc028c8c8c8c8c8c8c8c8c8c8c8cccd5cd19b8735573aa01490001199999999980c19a813119191999ab9a3370e6aae754009200023301e303635742a00460566ae84d5d1280111931a982b19ab9c05a057055054135573ca00226ea8004d5d0a80519a8130139aba150093335502d75ca0586ae854020ccd540b5d728161aba1500733502603f35742a00c66a04c66aa0a0090eb4d5d0a8029919191999ab9a3370e6aae754009200023350203232323333573466e1cd55cea80124000466a05066a07ceb4d5d0a80118219aba135744a004464c6a60b466ae7017816c1641604d55cf280089baa00135742a0046464646666ae68cdc39aab9d5002480008cd4098cd40f9d69aba150023043357426ae8940088c98d4c168cd5ce02f02d82c82c09aab9e5001137540026ae84d5d1280111931a982b19ab9c05a057055054135573ca00226ea8004d5d0a80219a8133ae35742a00666a04c66aa0a0eb88004d5d0a801181a9aba135744a004464c6a60a466ae7015814c1441404d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa00135742a0046464646666ae68cdc3a800a400c4603a606e6ae84d55cf280191999ab9a3370ea00490021180e18209aba135573ca00846666ae68cdc3a801a40044603860586ae84d55cf280291999ab9a3370ea00890001180f9bae357426aae7940188c98d4c134cd5ce02882702602582502482409aab9d5001137540026ae84d5d1280111931a982319ab9c04a0470450441046132635304533573892010350543500046044135573ca00226ea800448848cc00400c008480048848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004848888c010014848888c00c014848888c008014848888c004014800448c88c008dd6000990009aa81c111999aab9f00125038233503730043574200460066ae880080c08c8c8c8cccd5cd19b8735573aa006900011998039919191999ab9a3370e6aae754009200023300d302e35742a00466a0200546ae84d5d1280111931a981a19ab9c038035033032135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a018eb8d5d09aba25002232635303033573806806205e05c26ae8940044d55cf280089baa00122212333001004003002200122123300100300220011335500175ceb44488c88c008dd5800990009aa81911191999aab9f002250332335032335502e300635573aa004600a6aae794008c010d5d100181589aba100112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208c98d4c0a8cd5ce01701581481401389aab9d500113754002242446004006224400224002464646666ae68cdc39aab9d5002480008cc018c01cd5d0a8011bad357426ae8940088c98d4c090cd5ce01401281181109aab9e50011375400244246600200600440024646666ae68cdc39aab9d5001480008dd71aba135573ca004464c6a604066ae7009008407c0784dd500089119191999ab9a3370ea00290021280391999ab9a3370ea004900111a80518031aba135573ca00846666ae68cdc3a801a40004a014464c6a604666ae7009c09008808408007c4d55cea80089baa00112122230030041122200211222001120012323333573466e1d40052002200623333573466e1d400920002006232635301b33573803e03803403203026aae74dd50008910010910009000919191919191999ab9a3370ea0029006100591999ab9a3370ea0049005100691999ab9a3370ea00690041198059bae35742a00a6eb4d5d09aba2500523333573466e1d4011200623300d375c6ae85401cdd71aba135744a00e46666ae68cdc3a802a400846602460286ae854024dd71aba135744a01246666ae68cdc3a8032400446028602a6ae84d55cf280591999ab9a3370ea00e900011809980b1aba135573ca018464c6a604066ae7009008407c07807407006c0680640604d55cea80209aab9e5003135573ca00426aae7940044dd500090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410009191919191999ab9a3370ea002900111998041bad35742a0086eb4d5d0a8019bad357426ae89400c8cccd5cd19b875002480008c028c02cd5d09aab9e5006232635301133573802a02402001e01c26aae75400c4d5d1280089aab9e5001137540024244600400644424466600200a0080064002464646666ae68cdc3a800a40044600c6eb8d5d09aab9e500323333573466e1d4009200023008375c6ae84d55cf280211931a980599ab9c00f00c00a009008135573aa00226ea80048488c00800c8488c00400c800444888c8c8cccd5cd19b8735573aa0049000119aa80598031aba150023005357426ae8940088c98d4c020cd5ce00600480380309aab9e5001137540029309000900088910919800801801089000a490350543100320013550062211222533535006001135350090032200122133353500b0052200230040023335530071200100500400111220021221223300100400312001122123300100300212001112323001001223300330020020014891cdf4def976c66c24bb32f2bdf63da44bd4d77757811e670457b27690b0001", }, forwardingMPSHash: { - getMintingPolicyHash: { - getScriptHash: "487bb18c7e68bbb8f32e1f4da4ca734f1c4303474bcdb2d2967c6dc4", - }, + getMintingPolicyHash: "487bb18c7e68bbb8f32e1f4da4ca734f1c4303474bcdb2d2967c6dc4", }, }, }; diff --git a/src/Seabug/Metadata.purs b/src/Seabug/Metadata.purs index 39cc600..c9bcaa6 100644 --- a/src/Seabug/Metadata.purs +++ b/src/Seabug/Metadata.purs @@ -34,7 +34,6 @@ import Data.HTTP.Method (Method(GET)) import Data.Newtype (unwrap) import Seabug.Metadata.Types (SeabugMetadata(SeabugMetadata)) import Partial.Unsafe (unsafePartial) -import Types.CborBytes (cborBytesToByteArray) import Debug (traceM) @@ -106,7 +105,7 @@ getMintingTxHash a = mkAsset :: CurrencySymbol -> TokenName -> String mkAsset currSym tname = ((<>) `on` byteArrayToHex) (getCurrencySymbol currSym) - (cborBytesToByteArray $ getTokenName tname) + (getTokenName tname) decodeField :: forall (a :: Type) diff --git a/src/Seabug/MintingPolicy.js b/src/Seabug/MintingPolicy.js index 6b7154c..8d2b9f9 100644 --- a/src/Seabug/MintingPolicy.js +++ b/src/Seabug/MintingPolicy.js @@ -1,7 +1,7 @@ exports._mintingPolicy = { mintingPolicy: { getMintingPolicy: - "5912ef0100003233322232323232323322332232323233223233322232333222323333333322222222323233332222323233223233322232333222323233223322323233223232323232323232332232333332222233333222223322332233223322332233223232323222222223232323232232323333333322222222323232323232323530253530230082200222222222223233335303f01425335308b015335308b013335304b12001223535507f0022235355081010032253353091013305400400213305300300110920133505b335507e30480013370210e029001282e299a9a82f18078011080089931a98410099ab9c49010b756e726561636861626c65000830108001108d011335738921124e4654206d757374206265206275726e65640008c0115335308b015335308b013302c501135308401001222001108d0113357389211f4f776e6572206d757374207369676e20746865207472616e73616374696f6e0008c0115335308b0133355302e1200135045504f25335308c015335308c013304d35305500122200333058307b01b5060108d01108e011333573466e1cccc0b0d4c154004888008070d4c2140400888800d200208e0108d01108d0135303150112222222222009108d01133573892011f556e6465726c79696e67204e4654206d75737420626520756e6c6f636b65640008c01108c01108c012323232323225335309101533530910133301300735308a0100722200200110930113357389213e45786163746c79206f6e65206e657720746f6b656e206d757374206265206d696e74656420616e642065786163746c79206f6e65206f6c64206275726e7400092011533530910153353091013300550033305d30800101d5065153353091013300550023305d30810101f50651333553034120013504b5055330063305d30810135308a0100722200150653370266e054010c238054008c23805400d4058424804424804424c044cd5ce248113526f79616c6974696573206e6f742070616964000920110920113370666e09400807120a09c0113370666e09400406520a09c01135308601003222002225335308e01333573466e20008230042400423c044240044ccd54c0c448004d41214148cc00c004009404c888d4c15c0048894cd4c24404cc14801800c54cd4c24404ccd5cd19b8700533303100204f04f093010920115335350645335350640012132353039001222222222253353507033355304012001503f2353550900100122533530a001333573466e3c00803c28804284044d41d400c541d000884d41ccd4d542400400488004541c540605419484c8ccd5cd19baf0020010950109401323535508501001223374a900019aba0375200466ae80dd48009bb108a01335508501501a304f008109201109201109201225335308c015335308c0133300e00200135308501002222001108e0113357389213e45786163746c79206f6e65206e657720746f6b656e206d757374206265206d696e74656420616e642065786163746c79206f6e65206f6c64206275726e740008d0115335308c013302d501235308501002222001108e0113357389211f4f776e6572206d757374207369676e20746865207472616e73616374696f6e0008d01108d0125335308b015335308b0153353505a53353505e30120022100113263530820133573892010b756e726561636861626c65000830108001108c012213535507f0022253353505e00315335308f01333573466e3c008c13001424404240044ccd5cd19b87001480082440424004424004884248044234044cd5ce2491e45786163746c79206f6e65204e4654206d757374206265206d696e7465640008c0115335308b0133355302e1200135045504f25335308c013304d35305500122200333058307b01b50601333573466e1cccc0b0d4c154004888008070d4c2140400888800d200208e0108d01108d0135303150112222222222009108d01133573892011d556e6465726c79696e67204e4654206d757374206265206c6f636b65640008c01108c0135302f500f222222222200723222325335350565335350563006353029500922222222220072135059001150572153353505300110850122135355078002225335350570031089012213535507c0022253353505b00315335308c015335308c013304f006500d13304f002500a108d0115335308c01333573466e1c015200108e0108d011333573466e1c005200208e0108d01108d0115335308c015335308c013304f002500d13304f006500a108d0115335308c01333573466e1c005200108e0108d011333573466e1c015200208e0108d01108d01108d0122108f011084011303f35307b00422233307f0030050041303c00132001355080012253353504e001150532213535507300222533530830133046002500b135058001130060033200135507f2253353504d001150522213535507200222533530820133045002500a13505700113006003135302150012222222222009135301e003220023200135507c2253353504a0011504f2213535506f002225335307f33042002500713505400113006003135301c0012233335302a0012326353072335738921024c6800073070200123263530723357389201024c680007307023263530723357389201024c6800073070375c01e6eb8038dd700698358061bae00b306b00a3333573466e1d40112000230273065500623333573466e1d401520062302b3066500723333573466e1d4019200223302a30675008306e500923333573466e1d401d200423302c30685009375ca014464c6a60d666ae701a81b01a41a019c198194cccd5cd19b8735573aa004900011980b19191919191919191919191999ab9a3370e6aae754029200023333333333024335044232323333573466e1cd55cea8012400046605460ae6ae854008c124d5d09aba2500223263530783357380ee0f20ec0ea26aae7940044dd50009aba1500a33504404535742a012666aa096eb94128d5d0a804199aa825bae504a35742a00e66a0880ba6ae854018cd4110cd541b8199d69aba150053232323333573466e1cd55cea80124000466a0586464646666ae68cdc39aab9d5002480008cd40d0cd417dd69aba150023064357426ae8940088c98d4c1f0cd5ce03d83e83d03c89aab9e5001137540026ae854008c8c8c8cccd5cd19b8735573aa0049000119a81919a82fbad35742a00460c86ae84d5d1280111931a983e19ab9c07b07d07a079135573ca00226ea8004d5d09aba2500223263530783357380ee0f20ec0ea26aae7940044dd50009aba1500433504475c6ae85400ccd4110cd541b9d710009aba150023056357426ae8940088c98d4c1d0cd5ce03983a83903889aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aab9e5001137540026ae854008c8c8c8cccd5cd19b875001480188c0a4c154d5d09aab9e500323333573466e1d4009200423028305f357426aae7940108cccd5cd19b875003480088c0a0c134d5d09aab9e500523333573466e1d401120002302b375c6ae84d55cf280311931a983799ab9c06e07006d06c06b06a069135573aa00226ea8004d5d09aba2500223263530683357380ce0d20cc0ca26aae7940044dd500089aab9d5004135742a00426ae84d5d1280089aab9e5001137540024446464600200a640026aa0ce4466a6a06a0029000111a9aa82d00111299a9835199ab9a3371e0040120d80d62600e0022600c006640026aa0cc4466a6a0680029000111a9aa82c80111299a9834999ab9a3371e00400e0d60d420022600c006446a600e0044444444444a66a6a07c666aa601c24002a01a4a66a60d8666ae68cdc780600083703689a8208008a820001908370836099a80d11299a9a819801108018800a819190009aa8301108911299a9a81880089a9a80e80191000910999a9a80f802910011802001199aa9803890008028020009109198008018011000911111111109199999999980080580500480400380300280200180110009109198008018011000891091980080180109000891091980080180109000891091980080180109000909111180200290911118018029091111801002909111180080290009091111802002910911119801803002910911119801003002909111180080290008919a80191199a9a807001910010010009a9a8060009100089109198008018010900091b9433355300312001714004664466004646e50cc118004014d4c0fc00c888008cc008dca1a981f801911000998011b9435303f00322200300150145015489003200135504422112225335350150011002221330050023335530071200100500400132001355043221222533535014002153353501400110472210482215335350160031048221533530493300700400213335300912001007003001104a2235300c0022235300e0032232335303400523353035004253353048333573466e3c0080041281245400c412481248cd4c0d4010812494cd4c120ccd5cd19b8f00200104a04915003104915335350180032153353501900221335303100223353032002233530370022335303800223300e002001204c23353038002204c23300e00200122204c2223353034004204c2225335304d333573466e1c01800c13c13854cd4c134ccd5cd19b8700500204f04e13300f004001104e104e1047153353501800121047104722333573466e1c00800410810488ccd5cd19b8f0020010410401335002225335303e0021040100103d1221233001003002120011232230023758002640026aa07a446666aae7c004940388cd4034c010d5d080118019aba200203423232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0b8d5d0a80119a8098151aba135744a004464c6a607066ae700dc0e40d80d44d55cf280089baa00135742a006666aa016eb94028d5d0a80119a807bae357426ae8940088c98d4c0d0cd5ce01981a81901889aba25001135573ca00226ea800488848ccc00401000c00880048848cc00400c00880044cd54005d73ad112232230023756002640026aa06e44646666aae7c008940248cd4020cd540acc018d55cea80118029aab9e500230043574400605e26ae840044488008488488cc00401000c48004488c8c8cccd5cd19b875001480008d4020c014d5d09aab9e500323333573466e1d4009200225008232635302b33573805405805205004e26aae7540044dd5000890911801001889100089000919191999ab9a3370e6aae7540092000233006300735742a0046eb4d5d09aba25002232635302533573804804c04604426aae7940044dd500091091980080180110009191999ab9a3370e6aae75400520002375c6ae84d55cf280111931a981099ab9c02002201f01e1375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511931a981219ab9c02302502202102001f135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880988cccd5cd19b8750024800080988c98d4c070cd5ce00d80e80d00c80c09aab9d3754002464646464646666ae68cdc3a800a4018401646666ae68cdc3a80124014401a46666ae68cdc3a801a40104660166eb8d5d0a8029bad357426ae8940148cccd5cd19b875004480188cc034dd71aba15007375c6ae84d5d1280391999ab9a3370ea00a9002119809180a1aba15009375c6ae84d5d1280491999ab9a3370ea00c90011180a180a9aba135573ca01646666ae68cdc3a803a400046026602c6ae84d55cf280611931a981219ab9c02302502202102001f01e01d01c01b135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188c98d4c054cd5ce00a00b00980900889aab9d5003135744a00226aae7940044dd5000909118010019110911998008028020019000919191999ab9a3370ea0029001118031bae357426aae79400c8cccd5cd19b875002480008c020dd71aba135573ca008464c6a601e66ae7003804003403002c4d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa010600c6ae854008c014d5d09aba25002232635300c33573801601a01401226aae7940044dd50008891091980080180108900091919191999ab9a3370e6aae75400d2000233300b375c6ae85400cc030d5d0a8011bae357426ae8940088c98d4c020cd5ce00380480300289aba25001135573ca00226ea8005264901035054310012001200122212333001004003002200123253353007333573466e21400400c02402058540044dd6800a40004a66a6008666ae68cdc40008010030028a400020029040497a00990009aa802111299a9802199ab9a33710004904002003002899b8b0020011330033370600490400219b8b3370c00490400200089100109100090008891918008009119801980100100081", + "5912eb01000032323332223232323233223233223232332232323233322233322233322233223233322232323232332232333332222232323333333322222222333322223322332233223322332233223322332232323232323232323232323232323233333222223322222222322323232323223232533530703300a3333573466e1d40112000230473066500623333573466e1d401520062304b3067500723333573466e1d4019200223304a30685008306f500923333573466e1d401d200423304c30695009375ca014464c6a60d666ae701b41b01a81a41a019c198cccd5cd19b8735573aa004900011980999191919191919191919191999ab9a3370e6aae754029200023333333333035335025232323333573466e1cd55cea80124000466076605c6ae854008c0a8d5d09aba2500223263530783357380f40f20ee0ec26aae7940044dd50009aba1500a33502502635742a012666aa050eb9409cd5d0a804199aa8143ae502735742a00e66a04a05c6ae854018cd4094cd540c40bdd69aba150053232323333573466e1cd55cea80124000466a0866464646666ae68cdc39aab9d5002480008cd412ccd40d1d69aba150023035357426ae8940088c98d4c1f0cd5ce03f03e83d83d09aab9e5001137540026ae854008c8c8c8cccd5cd19b8735573aa0049000119a82499a81a3ad35742a004606a6ae84d5d1280111931a983e19ab9c07e07d07b07a135573ca00226ea8004d5d09aba2500223263530783357380f40f20ee0ec26aae7940044dd50009aba1500433502575c6ae85400ccd4094cd540c5d710009aba15002302b357426ae8940088c98d4c1d0cd5ce03b03a83983909aba25001135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aab9e5001137540026ae854008c8c8c8cccd5cd19b875001480188c070c098d5d09aab9e500323333573466e1d400920042301b3028357426aae7940108cccd5cd19b875003480088c06cc090d5d09aab9e500523333573466e1d401120002301e375c6ae84d55cf280311931a983799ab9c07107006e06d06c06b06a135573aa00226ea8004d5d09aba2500223263530683357380d40d20ce0cc20d0264c6a60ce66ae7124010350543500068066135573ca00226ea80044d55cea80209aba150021357426ae8940044d55cf280089baa001333333222222223232323232323235302c3530160082200222222222223233335305501425335308101533530810133353061120012235355040002223535504200322533530870133078004002133077003001108801335063335503f305e001337020fc90012832299a9a83418078011080089931a983c19ab9c49010b756e726561636861626c65000790771083011335738921124e4654206d757374206265206275726e6564000820115335308101533530810133037501135307b00122200110830113357389211f4f776e6572206d757374207369676e20746865207472616e73616374696f6e000820115335308101333553055120013505b50732533530820153353082013306635303d00122200333068307001b506a1083011084011333573466e1cccc0dcd4c0f4004888008070d4c1f000888800d2002084010830110830135303850112222222222009108301133573892011f556e6465726c79696e67204e4654206d75737420626520756e6c6f636b65640008201108201108201232323232322533530870153353087013330130073530810100722200200110890113357389213e45786163746c79206f6e65206e657720746f6b656e206d757374206265206d696e74656420616e642065786163746c79206f6e65206f6c64206275726e7400088011533530870153353087013300550033306d307501d506f153353087013300550023306d307601f506f133355305b12001350615079330063306d307635308101007222001506f3370266e054010c218054008c21805400d40584220044220044224044cd5ce248113526f79616c6974696573206e6f742070616964000880110880113370666e09400807120a09c0113370666e09400406520a09c01135307d003222002225335308401333573466e2000821c0421804214044218044ccd54c16048004d417941d8cc00c004009404c888d4c0fc0048894cd4c21c04cc1ac01800c54cd4c21c04ccd5cd19b8700533303c0020650650890108801153353506e53353506e0012132353040001222222222253353507a333553067120015066235355051001225335309601333573466e3c00803c2600425c044d41fc00c541f800884d41f4d4d5414400488004541ed4060541bc84c8ccd5cd19baf00200108b0108a013235355046001223374a900019aba0375200466ae80dd48009bb1081013355046501a3065008108801108801108801225335308201533530820133300e00200135307c00222200110840113357389213e45786163746c79206f6e65206e657720746f6b656e206d757374206265206d696e74656420616e642065786163746c79206f6e65206f6c64206275726e7400083011533530820133038501235307c00222200110840113357389211f4f776e6572206d757374207369676e20746865207472616e73616374696f6e0008301108301253353081015335308101533535062533535068301200221001132635307833573892010b756e726561636861626c6500079077108201221353550400022253353506600315335308501333573466e3c008c18801421c04218044ccd5cd19b870014800821c042180442180488422004420c044cd5ce2491e45786163746c79206f6e65204e4654206d757374206265206d696e746564000820115335308101333553055120013505b5073253353082013306635303d00122200333068307001b506a1333573466e1cccc0dcd4c0f4004888008070d4c1f000888800d2002084010830110830135303850112222222222009108301133573892011d556e6465726c79696e67204e4654206d757374206265206c6f636b65640008201108201353036500f222222222200723222325335350605335350603006353030500922222222220072135063001150612153353505b001107b221353550390022253353505f003107f2213535503d0022253353506300315335308201533530820133073006500d133073002500a10830115335308201333573466e1c015200108401083011333573466e1c0052002084010830110830115335308201533530820133073002500d133073006500a10830115335308201333573466e1c005200108401083011333573466e1c0152002084010830110830110830122108501107a130553530720042223330760030050041305200132001355077225335350560011505d2213535503400222533530793306a002500b1350620011300600332001355076225335350550011505c22135355033002225335307833069002500a1350610011300600313530285001222222222200913530110032200232001355073225335350520011505922135355030002225335307533066002500713505e00113006003135300f001223333530130012326353068335738921024c6800069067200123263530683357389201024c680006906723263530683357389201024c6800069067375c00c6eb8014dd700218310019bae00230620012212330010030022001212222300400521222230030052122223002005212222300100520011232230023758002640026aa0ba446666aae7c004940fc8cd40f8c010d5d080118019aba200205323232323333573466e1cd55cea801a400046660306464646666ae68cdc39aab9d5002480008cc118c04cd5d0a80119a8060091aba135744a004464c6a60ae66ae701641601581544d55cf280089baa00135742a006666aa00eeb94018d5d0a80119a8043ae357426ae8940088c98d4c14ccd5ce02a82a02902889aba25001135573ca00226ea80044cd54005d73ad112232230023756002640026aa0b644646666aae7c008940f88cd40f4cd54064c018d55cea80118029aab9e50023004357440060a426ae84004488c8c8cccd5cd19b875001480008d4108c014d5d09aab9e500323333573466e1d400920022504223263530513357380a60a40a009e09c26aae7540044dd5000919191999ab9a3370e6aae7540092000233017300535742a0046eb4d5d09aba25002232635304e3357380a009e09a09826aae7940044dd50009191999ab9a3370e6aae75400520002375c6ae84d55cf280111931a982619ab9c04e04d04b04a1375400224464646666ae68cdc3a800a40084a03c46666ae68cdc3a8012400446a042600c6ae84d55cf280211999ab9a3370ea00690001281091931a982799ab9c05105004e04d04c04b135573aa00226ea80048c8cccd5cd19b8750014800881548cccd5cd19b8750024800081548c98d4c12ccd5ce02682602502482409aab9d3754002464646464646666ae68cdc3a800a4018404846666ae68cdc3a80124014404c46666ae68cdc3a801a40104660486eb8d5d0a8029bad357426ae8940148cccd5cd19b875004480188cc098dd71aba15007375c6ae84d5d1280391999ab9a3370ea00a900211981598061aba15009375c6ae84d5d1280491999ab9a3370ea00c90011181698069aba135573ca01646666ae68cdc3a803a400046058601c6ae84d55cf280611931a982999ab9c05505405205105004f04e04d04c04b135573aa00826aae79400c4d55cf280109aab9e5001137540024646464646666ae68cdc3a800a4004466607e6eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d40092000230413008357426aae7940188c98d4c130cd5ce02702682582502489aab9d5003135744a00226aae7940044dd5000919191999ab9a3370ea00290011181f9bae357426aae79400c8cccd5cd19b875002480008c104dd71aba135573ca008464c6a609266ae7012c12812011c1184d55cea80089baa0011122232323333573466e1cd55cea80124000466aa020600c6ae854008c014d5d09aba25002232635304933573809609409008e26aae7940044dd500091119191800802990009aa8299119a9a819000a4000446a6aa02000444a66a60aa666ae68cdc780100482b82b0980380089803001990009aa8291119a9a818800a4000446a6aa01e00444a66a60a8666ae68cdc780100382b02a880089803001911a98018011111111111299a9a81e999aa981509000a8149299a982b999ab9a3371e0180020b20b026a0800022a07e006420b220ae444444444424666666666600201601401201000e00c00a008006004400244246600200600440024442466600200800600440022244246600200600422400244246600200600440022442466002006004240022442466002006004240022442466002006004240022424446006008224440042244400224002424444444600e01044244444446600c012010424444444600a01024444444008244444440064424444444660040120104424444444660020120104002266a01244a66a6a02c004420062002a02a640026aa0604422444a66a6a02400226a6a01800644002442666a6a01c00a440046008004666aa600e2400200a008002424444600800a44244446600600c00a44244446600400c00a424444600200a40022466a00644666a6a038006440040040026a6a0340024400224424660020060042400246e50ccd54c00c48005c500119a803191b943302300100335301e00122200233500637286a603c00244400266a00c6e50d4c07800488800d401d2201003200135502522112225335350070011002221330050023335530071200100500400132001355024221222533535006002153353500600110272210282215335350080031028221533530293300700400213335300912001007003001102a1122002122122330010040031200122353003002223530050032232335301000523353011004253353025333573466e3c00800409c0985400c409880988cd4c044010809894cd4c094ccd5cd19b8f00200102702615003102615335350090032153353500a00221335300e0022335300f00223353013002233530140022330190020012029233530140022029233019002001222029222335301100420292225335302a333573466e1c01800c0b00ac54cd4c0a8ccd5cd19b8700500202c02b13301a004001102b102b1024153353500900121024102422123300100300220011212230020031122001120012122300200322212233300100500400320012122300200321223001003200122333573466e1c00800405004c88ccd5cd19b8f002001013012133500222533530100021012100100f12212330010030021200123232323333573466e1cd55cea801a400046660166eb8d5d0a80198061aba15002375c6ae84d5d1280111931a980399ab9c009008006005135744a00226aae7940044dd5000a4c2400240029201035054310022212333001004003002200123253353006333573466e21400400c02001c58540044dd6800a4000640026aa00c444a66a600a666ae68cdc4001241000800e00c266e2c0080044cc00ccdc1801241000866e2ccdc300124100080024a66a6004666ae68cdc40008028020018a4000200224400424400240029040497a00889191800800911980198010010009" }, }; diff --git a/src/Seabug/Seabug.purs b/src/Seabug/Seabug.purs index f10ce17..40d9546 100644 --- a/src/Seabug/Seabug.purs +++ b/src/Seabug/Seabug.purs @@ -1,19 +1,11 @@ module Seabug ( module Seabug.CallContract - , getWalletBalance + , module QueryM.Utxos ) where -import Prelude (bind, ($)) - -import Control.Promise (Promise, fromAff) -import Data.Maybe (Maybe) -import Effect (Effect) -import QueryM (callNami) -import Seabug.CallContract (callMarketPlaceBuy, callMarketPlaceBuyTest, callMarketPlaceListNft) -import Serialization.Types (Value) -import Wallet (Wallet(..), mkNamiWalletAff) - -getWalletBalance :: Effect (Promise (Maybe Value)) -getWalletBalance = fromAff $ do - (Nami nami) <- mkNamiWalletAff - callNami nami _.getBalance +import Seabug.CallContract + ( callMarketPlaceBuy + , callMarketPlaceBuyTest + , callMarketPlaceListNft + ) +import QueryM.Utxos (getWalletBalance) diff --git a/src/Seabug/Test.purs b/src/Seabug/Test.purs index 6e8d8e5..ee43be2 100644 --- a/src/Seabug/Test.purs +++ b/src/Seabug/Test.purs @@ -4,7 +4,7 @@ import Contract.Prelude import Contract.Monad ( Contract - , defaultContractConfig + , defaultTestnetContractConfig , liftContractM , runContract_ ) @@ -16,7 +16,6 @@ import Contract.Prim.ByteArray import Contract.Time (Slot(Slot)) import Contract.Value (mkCurrencySymbol, mkTokenName) import Data.BigInt as BigInt -import Data.UInt as UInt import Effect.Aff (launchAff_) import Seabug.Contract.MarketPlaceBuy (marketplaceBuy) import Seabug.Types @@ -25,10 +24,11 @@ import Seabug.Types , NftId(NftId) ) import Serialization.Hash (ed25519KeyHashFromBytes, scriptHashFromBytes) +import Types.BigNum as BigNum main :: Effect Unit main = launchAff_ $ do - cfg <- defaultContractConfig + cfg <- defaultTestnetContractConfig runContract_ cfg $ do marketplaceBuy =<< testNftData @@ -65,7 +65,7 @@ testNftData = do { nftCollection: NftCollection { collectionNftCs , lockLockup: BigInt.fromInt 5 - , lockLockupEnd: Slot $ UInt.fromInt 5 + , lockLockupEnd: Slot $ BigNum.fromInt 5 , lockingScript: wrap lockingScript , author: wrap $ wrap kh , authorShare: fromBigInt' $ BigInt.fromInt 1000 diff --git a/src/Seabug/Types.purs b/src/Seabug/Types.purs index 3ed85a0..bf2d02e 100644 --- a/src/Seabug/Types.purs +++ b/src/Seabug/Types.purs @@ -11,9 +11,6 @@ module Seabug.Types import Contract.Prelude -import Affjax as Affjax -import Affjax.RequestBody as Affjax.RequestBody -import Affjax.ResponseFormat as Affjax.ResponseFormat import Cardano.Types.Value as Cardano.Types.Value import Contract.Value ( CurrencySymbol @@ -22,7 +19,7 @@ import Contract.Value , getTokenName , mkCurrencySymbol ) -import Contract.Monad (Contract(Contract), mkHttpUrl) +import Contract.Monad (Contract) import Contract.Address (PaymentPubKeyHash, PubKeyHash) import Contract.Aeson as Aeson import Contract.PlutusData @@ -35,14 +32,11 @@ import Contract.PlutusData import Contract.Prim.ByteArray ( ByteArray , byteArrayFromIntArrayUnsafe - , byteArrayToHex ) import Contract.Numeric.Natural (Natural, toBigInt) import Contract.Scripts (ValidatorHash) import Contract.Time (Slot) -import Control.Monad.Reader.Trans (asks) import Data.Argonaut as Json -import Data.Argonaut.Encode.Encoders (encodeString) import Data.BigInt (BigInt, fromInt, toInt) import Hashing (blake2b256Hash) import Partial.Unsafe (unsafePartial) @@ -338,7 +332,7 @@ class Hashable (a :: Type) where -> Contract r (Maybe ByteArray) -- Plutus BuiltinByteString instance Hashable ByteArray where - hash = pure <<< Just <<< blake2b256Hash + hash = map Just <<< liftAff <<< blake2b256Hash instance Hashable Natural where hash = hash <<< toBin <<< toBigInt @@ -370,7 +364,7 @@ instance Hashable CurrencySymbol where hash = hash <<< getCurrencySymbol instance Hashable TokenName where - hash = hash <<< unwrap <<< getTokenName + hash = hash <<< getTokenName instance Hashable ValidatorHash where hash = hash <<< unwrap <<< scriptHashToBytes <<< unwrap diff --git a/test/Fixtures.purs b/test/Fixtures.purs index a9a76b8..c849110 100644 --- a/test/Fixtures.purs +++ b/test/Fixtures.purs @@ -23,8 +23,8 @@ import Contract.Prim.ByteArray (hexToByteArrayUnsafe) import Contract.Scripts (MintingPolicyHash(..), ScriptHash, ValidatorHash(..)) import Contract.Value (TokenName, mkTokenName) import Data.BigInt as BigInt -import Metadata.Seabug (SeabugMetadata(..), SeabugMetadataDelta(..)) -import Metadata.Seabug.Share (Share, mkShare) +import Seabug.Metadata.Types (SeabugMetadata(..), SeabugMetadataDelta(..)) +import Seabug.Metadata.Share (Share, mkShare) import Partial.Unsafe (unsafePartial) import Serialization.Hash (ed25519KeyHashFromBytes, scriptHashFromBytes) import Types.RawBytes (hexToRawBytesUnsafe)