Skip to content

Commit

Permalink
refactor: move compiled scripts files to geniusyield-dex-api package
Browse files Browse the repository at this point in the history
  • Loading branch information
sourabhxyz committed Apr 2, 2024
1 parent 0470c77 commit af7c356
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 55 deletions.
13 changes: 0 additions & 13 deletions geniusyield-dex-api/compiled-scripts/minting-policy

This file was deleted.

12 changes: 0 additions & 12 deletions geniusyield-dex-api/compiled-scripts/partial-order

This file was deleted.

Binary file not shown.
File renamed without changes.
File renamed without changes.
44 changes: 28 additions & 16 deletions geniusyield-dex-api/geniusyield-dex-api.cabal
Original file line number Diff line number Diff line change
@@ -1,23 +1,31 @@
cabal-version: 3.6
name: geniusyield-dex-api
cabal-version: 3.6
name: geniusyield-dex-api

-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.0.0
version: 0.1.0.0
synopsis: API code to interact with GeniusYield DEX.
description:
API code to interact with GeniusYield DEX. Learn more about GeniusYield by visiting https://www.geniusyield.co/.

synopsis: API code to interact with GeniusYield DEX.
description: API code to interact with GeniusYield DEX. Learn more about GeniusYield by visiting https://www.geniusyield.co/.
license: Apache-2.0
license-file: LICENSE
author: GeniusYield
maintainer: [email protected]
copyright: 2023 GYELD GMBH
build-type: Simple
category: Blockchain, Cardano, Validator
extra-doc-files: CHANGELOG.md, README.md
extra-source-files: compiled-scripts/minting-policy, compiled-scripts/partial-order
tested-with: GHC ==9.2.8
license: Apache-2.0
license-file: LICENSE
author: GeniusYield
maintainer: [email protected]
copyright: 2023 GYELD GMBH
build-type: Simple
category: Blockchain, Cardano, Validator
extra-doc-files:
CHANGELOG.md
README.md

tested-with: GHC ==9.2.8
data-dir: data
data-files:
compiled-scripts/minting-policy.txt
compiled-scripts/partial-order-config.uplc
compiled-scripts/partial-order.txt

source-repository head
type: git
Expand Down Expand Up @@ -57,15 +65,19 @@ library
GeniusYield.Scripts
GeniusYield.Scripts.Common
GeniusYield.Scripts.Dex
GeniusYield.Scripts.Dex.Data
GeniusYield.Scripts.Dex.Nft
GeniusYield.Scripts.Dex.PartialOrder
GeniusYield.Scripts.Dex.PartialOrderConfig
GeniusYield.Scripts.Dex.PartialOrderConfig.Internal
GeniusYield.Scripts.Dex.PartialOrderNft

build-depends:
, base ^>=4.16.4.0
, aeson
, base ^>=4.16.4.0
, bytestring
, containers
, file-embed
, http-types
, mtl
, swagger2
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module GeniusYield.Server.Files (
module GeniusYield.Scripts.Dex.Data (
orderValidator,
nftPolicy,
) where
Expand All @@ -7,26 +7,26 @@ import Data.Aeson qualified as Aeson
import Data.FileEmbed
import PlutusLedgerApi.V1 (Address)
import PlutusLedgerApi.V1.Scripts (ScriptHash)
import Data.ByteString (ByteString)
import PlutusLedgerApi.V1.Value (AssetClass)
import Ply (
ScriptRole (..),
TypedScript,
)
import Ply.Core.Internal.Reify (ReifyRole, ReifyTypenames)
import Ply.Core.TypedReader (mkTypedScript)
import RIO

readScript r l. (ReifyRole r, ReifyTypenames l) ByteString TypedScript r l
readScript bs =
let envelope = either (error "GeniusYield.Server.Files.readScript: Failed to read envelope") id $ Aeson.eitherDecodeStrict' bs
in either (error "GeniusYield.Server.Files.readScript: Failed to create typed script") id $ mkTypedScript @r @l envelope
let envelope = either (error "GeniusYield.Scripts.Dex.Data.readScript: Failed to read envelope") id $ Aeson.eitherDecodeStrict' bs
in either (error "GeniusYield.Scripts.Dex.Data.readScript: Failed to create typed script") id $ mkTypedScript @r @l envelope

orderValidator (TypedScript 'ValidatorRole '[Address, AssetClass])
orderValidator =
let fileBS = $(makeRelativeToProject "./../data/compiled-scripts/partial-order.txt" >>= embedFile)
let fileBS = $(makeRelativeToProject "./data/compiled-scripts/partial-order.txt" >>= embedFile)
in readScript fileBS

nftPolicy (TypedScript 'MintingPolicyRole '[ScriptHash, Address, AssetClass])
nftPolicy =
let fileBS = $(makeRelativeToProject "./../data/compiled-scripts/minting-policy.txt" >>= embedFile)
let fileBS = $(makeRelativeToProject "./data/compiled-scripts/minting-policy.txt" >>= embedFile)
in readScript fileBS
7 changes: 0 additions & 7 deletions geniusyield-server-lib/geniusyield-server-lib.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@ maintainer: [email protected]
copyright: 2024 GYELD GMBH
build-type: Simple
category: Blockchain, Cardano
data-dir: ./../data/
data-files:
compiled-scripts/minting-policy.txt
compiled-scripts/partial-order.txt

extra-doc-files:
CHANGELOG.md
README.md
Expand Down Expand Up @@ -66,7 +61,6 @@ library
GeniusYield.Server.Dex.Markets
GeniusYield.Server.Dex.PartialOrder
GeniusYield.Server.ErrorMiddleware
GeniusYield.Server.Files
GeniusYield.Server.Options
GeniusYield.Server.RequestLoggerMiddleware
GeniusYield.Server.Run
Expand All @@ -91,7 +85,6 @@ library
, deriving-aeson
, envy
, fast-logger
, file-embed
, fmt
, geniusyield-dex-api
, geniusyield-orderbot
Expand Down
2 changes: 1 addition & 1 deletion geniusyield-server-lib/src/GeniusYield/Server/Ctx.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import GeniusYield.Api.Dex.PartialOrder (PORefs (..))
import GeniusYield.Imports
import GeniusYield.OrderBot.Adapter.Maestro (MaestroProvider)
import GeniusYield.Scripts (HasPartialOrderConfigAddr (..), HasPartialOrderNftScript (..), HasPartialOrderScript (..))
import GeniusYield.Scripts.Dex.Data (nftPolicy, orderValidator)
import GeniusYield.Server.Constants (poConfigAddrMainnet, poConfigAddrPreprod, poRefsMainnet, poRefsPreprod)
import GeniusYield.Server.Files (nftPolicy, orderValidator)
import GeniusYield.Transaction
import GeniusYield.TxBuilder
import GeniusYield.Types
Expand Down

0 comments on commit af7c356

Please sign in to comment.