From 75a8c226297512e3b4a0ac9a0df648e0858ed347 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 7 Jun 2024 18:47:01 +0200 Subject: [PATCH 01/23] feat(delegate_server)!: wip: add support for multiple auctions --- app/delegate-server/App.purs | 46 +- app/delegate-server/AppMap.purs | 29 ++ app/delegate-server/Config.purs | 416 +++++------------- app/delegate-server/Contract/Commit.purs | 6 +- app/delegate-server/Contract/PlaceBid.purs | 2 +- .../Handlers/SignCommitTx.purs | 2 +- .../HydraNodeApi/WebSocket.purs | 16 +- app/delegate-server/Lib/WebSocketServer.js | 2 +- app/delegate-server/Lib/WebSocketServer.purs | 8 +- app/delegate-server/Main.purs | 59 ++- app/delegate-server/Server.purs | 81 +++- app/delegate-server/WsServer.purs | 18 +- 12 files changed, 294 insertions(+), 391 deletions(-) create mode 100644 app/delegate-server/AppMap.purs diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 22a4508..6686a53 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -20,6 +20,7 @@ import Contract.Config ( ContractParams , NetworkId(TestnetId, MainnetId) , PrivatePaymentKeySource(PrivatePaymentKeyFile) + , QueryBackendParams , WalletSpec(UseKeys) , defaultTimeParams , disabledSynchronizationParams @@ -38,7 +39,13 @@ import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap, wrap) import Data.Set (Set) import Data.Set (empty) as Set -import DelegateServer.Config (AppConfig, AppConfig'(AppConfig), Network(Testnet, Mainnet)) +import DelegateServer.Config + ( AppConfig + , AppConfig'(AppConfig) + , AuctionConfig + , Network(Testnet, Mainnet) + , networkToNetworkId + ) import DelegateServer.Lib.Contract (runContractNullCostsAff) import DelegateServer.State ( class App @@ -199,9 +206,9 @@ instance MonadAccess AppM "commitStatus" (AVar CommitStatus) where instance MonadAccess AppM "snapshot" (AVar HydraSnapshot) where access _ = asks _.snapshot -initApp :: AppConfig -> Aff AppState -initApp config = do - contractEnv <- wrap <$> mkContractEnv (mkContractParams config) +initApp :: forall ac. AppConfig' ac QueryBackendParams -> AuctionConfig -> Aff AppState +initApp (AppConfig appConfig) auctionConfig = do + contractEnv <- wrap <$> mkContractEnv contractParams auctionInfo <- AVar.empty headStatus <- AVar.new HeadStatus_Unknown livePeers <- AVar.new Set.empty @@ -211,7 +218,7 @@ initApp config = do commitStatus <- AVar.new ShouldCommitCollateral snapshot <- AVar.new emptySnapshot pure - { config + { config: wrap $ appConfig { auctionConfig = auctionConfig } , contractEnv , auctionInfo , headStatus @@ -222,19 +229,16 @@ initApp config = do , commitStatus , snapshot } - -mkContractParams :: AppConfig -> ContractParams -mkContractParams (AppConfig appConfig) = - { backendParams: appConfig.queryBackend - , networkId: - case appConfig.network of - Testnet _ -> TestnetId - Mainnet -> MainnetId - , logLevel: appConfig.ctlLogLevel - , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile appConfig.walletSk) Nothing - , customLogger: Nothing - , suppressLogs: true - , hooks: emptyHooks - , timeParams: defaultTimeParams - , synchronizationParams: disabledSynchronizationParams - } + where + contractParams :: ContractParams + contractParams = + { backendParams: appConfig.queryBackend + , networkId: networkToNetworkId appConfig.network + , logLevel: appConfig.ctlLogLevel + , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile auctionConfig.walletSk) Nothing + , customLogger: Nothing + , suppressLogs: true + , hooks: emptyHooks + , timeParams: defaultTimeParams + , synchronizationParams: disabledSynchronizationParams + } diff --git a/app/delegate-server/AppMap.purs b/app/delegate-server/AppMap.purs new file mode 100644 index 0000000..7d51355 --- /dev/null +++ b/app/delegate-server/AppMap.purs @@ -0,0 +1,29 @@ +module DelegateServer.AppMap + ( AppMap + , buildAppMap + ) where + +import Prelude + +import Contract.Value (CurrencySymbol) +import Control.Safely (foldM) +import Data.List (fromFoldable) as List +import Data.Map (Map) +import Data.Map (empty, insert) as Map +import Data.Newtype (unwrap) +import Data.Tuple.Nested (type (/\), (/\)) +import DelegateServer.App (AppState) +import Effect.Aff (Aff) +import Effect.Aff.AVar (read) as AVar + +type AppMap a = Map CurrencySymbol (AppState /\ a) + +buildAppMap :: Array AppState -> Aff (AppMap Unit) +buildAppMap apps = + foldM + ( \appMap appState -> do + auctionCs <- _.auctionId <<< unwrap <$> AVar.read appState.auctionInfo + pure $ Map.insert auctionCs (appState /\ unit) appMap + ) + Map.empty + (List.fromFoldable apps) diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index 5d495df..db7c04a 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -1,35 +1,30 @@ module DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) + , AuctionConfig , Network(Testnet, Mainnet) - , Options , execAppConfigParser - , optionsParser + , networkToNetworkId ) where import Prelude import Contract.Config - ( QueryBackendParams(CtlBackendParams, BlockfrostBackendParams) - , ServerConfig + ( NetworkId(TestnetId, MainnetId) + , QueryBackendParams , defaultConfirmTxDelay ) import Contract.Transaction (TransactionInput) -import Control.Alt ((<|>)) -import Data.Array (fromFoldable) as Array import Data.Codec.Argonaut (JsonCodec, array, int, object, prismaticCodec, string) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Codec.Argonaut.Variant (variantMatch) as CAV -import Data.Either (Either(Left, Right), either, note) +import Data.Either (Either(Left, Right), either) import Data.Foldable (fold) import Data.Generic.Rep (class Generic) -import Data.Log.Level (LogLevel(Info, Warn)) -import Data.Maybe (Maybe(Just, Nothing)) -import Data.Newtype (class Newtype, wrap) +import Data.Log.Level (LogLevel) +import Data.Newtype (class Newtype, over, wrap) import Data.Profunctor (dimap, wrapIso) import Data.Show.Generic (genericShow) -import Data.String (null) as String -import Data.UInt (fromInt) as UInt import Data.Variant (inj, match) as Variant import DelegateServer.Helpers (printOref, readOref) import DelegateServer.Types.HydraHeadPeer (HydraHeadPeer, hydraHeadPeerCodec) @@ -43,60 +38,108 @@ import Effect.Exception (throw) import HydraAuctionOffchain.Codec (logLevelCodec, portCodec) import HydraAuctionOffchain.Lib.Codec (fixTaggedSumCodec) import HydraAuctionOffchain.Lib.Json (caDecodeFile) -import HydraAuctionOffchain.Lib.Optparse (jsonReader, parserReader) -import HydraAuctionOffchain.Types.HostPort (HostPort, hostPortCodec, parseHostPort) +import HydraAuctionOffchain.Types.HostPort (HostPort, hostPortCodec) import Node.Path (FilePath) +import Options.Applicative ((<**>)) import Options.Applicative as Optparse -import Options.Applicative.Types (optional) as Optparse -import Parsing (Parser) -import Parsing.String (rest, string) import Type.Proxy (Proxy(Proxy)) -import URI.Host (parser, print) as Host import URI.Port (Port) -import URI.Port (parser, toInt) as Port -type AppConfig = AppConfig' QueryBackendParams - -newtype AppConfig' (backend :: Type) = AppConfig +-- TODO: check that specified ports are free and non-overlapping +-- TODO: check 'max number of participants' constraint +-- TODO: check that `auctionMetadataOref` exists and points to a valid auction +-- TODO: check the balance of `cardanoSk` +-- TODO: generate `hydraNodeId` using UUID +-- TODO: remove `walletSk` parameter +-- see https://github.com/input-output-hk/hydra/pull/1463 +type AuctionConfig = { auctionMetadataOref :: TransactionInput - , serverPort :: Port - , wsServerPort :: Port + -- ^ Reference of the tx output with auction metadata record, + -- used to access onchain data of the target auction. , hydraNodeId :: String + -- ^ The Hydra node identifier used on the Hydra network. It is + -- important to have a unique identifier in order to be able + -- to distinguish between connected peers. , hydraNode :: HostPort + -- ^ Listen address + port for incoming Hydra network connections. , hydraNodeApi :: HostPort - , hydraPersistDir :: FilePath - , hydraSk :: FilePath + -- ^ Listen address + port for incoming client Hydra Node API + -- connections. + , peers :: Array HydraHeadPeer + -- ^ Info about other Head participants (max 5 entries). , cardanoSk :: FilePath + -- ^ Cardano signing key of the underlying Hydra node, used to + -- authorize Hydra protocol transactions, and any funds owned + -- by this key will be used as 'fuel'. , walletSk :: FilePath - , peers :: Array HydraHeadPeer + -- ^ Cardano signing key of the wallet used to commit collateral + -- to the hydra-node. It is necessary because hydra-node prohibits + -- committing utxos controlled by 'cardanoSk'. + } + +auctionConfigCodec :: CA.JsonCodec AuctionConfig +auctionConfigCodec = + CA.object "AuctionConfig" $ CAR.record + { auctionMetadataOref: + CA.prismaticCodec "TransactionInput" readOref printOref + CA.string + , hydraNodeId: CA.string + , hydraNode: hostPortCodec + , hydraNodeApi: hostPortCodec + , peers: CA.array hydraHeadPeerCodec + , cardanoSk: CA.string + , walletSk: CA.string + } + +-- TODO: make `hydraScriptsTxHash` parameter optional +-- see https://github.com/input-output-hk/hydra/issues/1441 +newtype AppConfig' (ac :: Type) (qb :: Type) = AppConfig + { auctionConfig :: ac + , serverPort :: Port + -- ^ Listen port for incoming HTTP client requests to the + -- delegate server. + , wsServerPort :: Port + -- ^ Listen port for incoming WebSocket connections to the + -- delegate server. + , hydraPersistDir :: FilePath + -- ^ The directory where the state of underlying Hydra Heads will + -- be stored. + , hydraSk :: FilePath + -- ^ Hydra signing key used by the underlying Hydra nodes. , nodeSocket :: FilePath + -- ^ Filepath to local unix domain socket used to communicate + -- with cardano-node. , network :: Network - , queryBackend :: backend + -- ^ Network identifier (mainnet or testnet+magic). + , queryBackend :: qb + -- ^ Cardano query backend (Blockfrost or Ogmios+Kupo) for CTL. , hydraScriptsTxHash :: String + -- ^ The transaction which is expected to have published Hydra + -- scripts as reference scripts in its outputs. See hydra-node + -- release notes for pre-published versions. You can use the + -- 'publish-scripts' sub-command of hydra-node to publish them + -- yourself. , hydraContestPeriod :: Int + -- ^ Contestation period for close transaction in seconds. If this + -- value is not in sync with other participants hydra-node will + -- ignore the initial tx. Additionally, this value needs to make + -- sense compared to the current network we are running. , logLevel :: LogLevel , ctlLogLevel :: LogLevel } -derive instance Newtype (AppConfig' a) _ -derive instance Functor AppConfig' +derive instance Newtype (AppConfig' ac qb) _ + +type AppConfig = AppConfig' AuctionConfig QueryBackendParams -appConfigCodec :: CA.JsonCodec (AppConfig' QueryBackendParamsSimple) +appConfigCodec :: CA.JsonCodec (AppConfig' (Array AuctionConfig) QueryBackendParamsSimple) appConfigCodec = wrapIso AppConfig $ CA.object "AppConfig" $ CAR.record - { auctionMetadataOref: - CA.prismaticCodec "TransactionInput" readOref printOref - CA.string + { auctionConfig: CA.array auctionConfigCodec , serverPort: portCodec , wsServerPort: portCodec - , hydraNodeId: CA.string - , hydraNode: hostPortCodec - , hydraNodeApi: hostPortCodec , hydraPersistDir: CA.string , hydraSk: CA.string - , cardanoSk: CA.string - , walletSk: CA.string - , peers: CA.array hydraHeadPeerCodec , nodeSocket: CA.string , network: networkCodec , queryBackend: queryBackendParamsSimpleCodec @@ -106,220 +149,6 @@ appConfigCodec = , ctlLogLevel: logLevelCodec } -execAppConfigParser :: Optparse.ParserInfo Options -> Effect AppConfig -execAppConfigParser parserInfo = do - opts <- Optparse.execParser parserInfo - case opts of - OptionsConfig appConfig -> - pure appConfig - OptionsConfigFile fp -> do - appConfig <- either throw pure =<< caDecodeFile appConfigCodec fp - pure $ appConfig <#> - flip toQueryBackendParams defaultConfirmTxDelay - -data Options - = OptionsConfig AppConfig - | OptionsConfigFile FilePath - -optionsParser :: Optparse.Parser Options -optionsParser = (OptionsConfigFile <$> configFileParser) - <|> (OptionsConfig <$> configParser) - -configFileParser :: Optparse.Parser FilePath -configFileParser = - Optparse.strOption $ fold - [ Optparse.long "config" - , Optparse.metavar "FILE" - , Optparse.help "Filepath to delegate-server JSON configuration." - ] - -configParser :: Optparse.Parser AppConfig -configParser = ado - auctionMetadataOref <- Optparse.option parseOref $ fold - [ Optparse.long "auction-metadata-oref" - , Optparse.metavar "TXOUTREF" - , Optparse.help - "Reference of the tx output with auction metadata record. \ - \This will be used to access onchain data for the target \ - \auction." - ] - serverPort <- Optparse.option parsePort $ fold - [ Optparse.long "server-port" - , Optparse.metavar "PORT" - , Optparse.help - "Listen port for incoming client connections to this \ - \delegate server." - ] - wsServerPort <- Optparse.option parsePort $ fold - [ Optparse.long "ws-server-port" - , Optparse.metavar "PORT" - , Optparse.help - "Listen port for incoming WebSocket connections to this \ - \delegate server." - ] - hydraNodeId <- Optparse.strOption $ fold - [ Optparse.long "hydra-node-id" - , Optparse.metavar "STR" - , Optparse.help - "The Hydra node identifier used on the Hydra network. It is \ - \important to have a unique identifier in order to be able \ - \to distinguish between connected peers." - ] - hydraNode <- Optparse.option parseHostPort $ fold - [ Optparse.long "hydra-node" - , Optparse.metavar "HOSTPORT" - , Optparse.help - "Listen address + port for incoming Hydra network \ - \connections." - ] - hydraNodeApi <- Optparse.option parseHostPort $ fold - [ Optparse.long "hydra-node-api" - , Optparse.metavar "HOSTPORT" - , Optparse.help - "Listen address + port for incoming client Hydra Node API \ - \connections." - ] - hydraPersistDir <- Optparse.strOption $ fold - [ Optparse.long "hydra-persist-dir" - , Optparse.metavar "DIR" - , Optparse.help - "The directory where the Hydra Head state is stored. Do not \ - \edit these files manually!" - ] - hydraSk <- Optparse.strOption $ fold - [ Optparse.long "hydra-sk" - , Optparse.metavar "FILE" - , Optparse.help - "Hydra signing key used by the underlying hydra-node." - ] - cardanoSk <- Optparse.strOption $ fold - [ Optparse.long "cardano-sk" - , Optparse.metavar "FILE" - , Optparse.help - "Cardano signing key of the underlying hydra-node. This will \ - \be used to authorize Hydra protocol transactions and any \ - \funds owned by this key will be used as 'fuel'." - ] - walletSk <- Optparse.strOption $ fold - [ Optparse.long "wallet-sk" - , Optparse.metavar "FILE" - , Optparse.help - "Cardano signing key of the wallet used to commit collateral \ - \to the hydra-node. It is necessary because hydra-node \ - \prohibits committing utxos controlled by 'cardanoSk'." - ] - peers <- Optparse.many $ Optparse.option parseHydraHeadPeer $ fold - [ Optparse.long "peer" - , Optparse.metavar "JSON" - , Optparse.help - "Peer data in JSON format: { \"hydraNode\": , \ - \\"hydraVk\": , \"cardanoVk\": }." - ] - nodeSocket <- Optparse.strOption $ fold - [ Optparse.long "node-socket" - , Optparse.metavar "FILE" - , Optparse.help - "Filepath to local unix domain socket used to communicate \ - \with the cardano node." - ] - network <- networkParser - queryBackend <- queryBackendParser - hydraScriptsTxHash <- Optparse.strOption $ fold - [ Optparse.long "hydra-scripts-tx-id" - , Optparse.metavar "TXID" - , Optparse.help - "The transaction which is expected to have published Hydra \ - \scripts as reference scripts in its outputs. See hydra-node \ - \release notes for pre-published versions. You can use the \ - \'publish-scripts' sub-command of hydra-node to publish them \ - \yourself." - ] - hydraContestPeriod <- Optparse.option Optparse.int $ fold - [ Optparse.long "hydra-contestation-period" - , Optparse.metavar "SECONDS" - , Optparse.showDefault - , Optparse.value 60 - , Optparse.help - "Contestation period for close transaction in seconds. If \ - \this value is not in sync with other participants \ - \hydra-node will ignore the initial tx. Additionally, this \ - \value needs to make sense compared to the current network \ - \we are running." - ] - logLevel <- Optparse.option parseLogLevel $ fold - [ Optparse.long "log-level" - , Optparse.metavar "LOGLEVEL" - , Optparse.value Info - ] - ctlLogLevel <- Optparse.option parseLogLevel $ fold - [ Optparse.long "ctl-log-level" - , Optparse.metavar "LOGLEVEL" - , Optparse.value Warn - ] - in - wrap - { auctionMetadataOref - , serverPort - , wsServerPort - , hydraNodeId - , hydraNode - , hydraNodeApi - , hydraPersistDir - , hydraSk - , cardanoSk - , walletSk - , peers: Array.fromFoldable peers - , nodeSocket - , network - , queryBackend - , hydraScriptsTxHash - , hydraContestPeriod - , logLevel - , ctlLogLevel - } - -queryBackendParser :: Optparse.Parser QueryBackendParams -queryBackendParser = blockfrostBackendParser <|> ctlBackendParser - -blockfrostBackendParser :: Optparse.Parser QueryBackendParams -blockfrostBackendParser = ado - blockfrostConfig <- Optparse.option parseServerConfig $ fold - [ Optparse.long "blockfrost-config" - , Optparse.metavar "URL" - , Optparse.help - "Blockfrost server configuration. See \ - \ https://blockfrost.dev/api/blockfrost-io-api-documentation \ - \ for available public servers." - ] - blockfrostApiKey <- Optparse.optional $ Optparse.strOption $ fold - [ Optparse.long "blockfrost-api-key" - , Optparse.metavar "STR" - , Optparse.help "Optional Blockfrost API key." - ] - in - BlockfrostBackendParams - { blockfrostConfig - , blockfrostApiKey - , confirmTxDelay: defaultConfirmTxDelay - } - Nothing - -ctlBackendParser :: Optparse.Parser QueryBackendParams -ctlBackendParser = ado - ogmiosConfig <- Optparse.option parseServerConfig $ fold - [ Optparse.long "ogmios-config" - , Optparse.metavar "URL" - , Optparse.help "Ogmios server configuration." - ] - kupoConfig <- Optparse.option parseServerConfig $ fold - [ Optparse.long "kupo-config" - , Optparse.metavar "URL" - , Optparse.help "Kupo server configuration." - ] - in - CtlBackendParams { ogmiosConfig, kupoConfig } - Nothing - data Network = Testnet { magic :: Int } | Mainnet derive instance Generic Network _ @@ -349,52 +178,33 @@ networkCodec = , "mainnet": const Mainnet } -networkParser :: Optparse.Parser Network -networkParser = mainnetParser <|> testnetParser - -mainnetParser :: Optparse.Parser Network -mainnetParser = Optparse.flag' Mainnet $ fold - [ Optparse.long "mainnet" - , Optparse.help "Use the mainnet magic id." - ] - -testnetParser :: Optparse.Parser Network -testnetParser = - map (Testnet <<< { magic: _ }) $ Optparse.option Optparse.int $ fold - [ Optparse.long "testnet-magic" - , Optparse.metavar "INT" - , Optparse.help - "Network identifier for a testnet to connect to. We only \ - \need to provide the magic number here. For example: '2' is \ - \the 'preview' network. See \ - \https://book.world.dev.cardano.org/environments.html for \ - \available networks." - ] - ----------------------------------------------------------------------- --- Readers - -parseOref :: Optparse.ReadM TransactionInput -parseOref = - Optparse.eitherReader $ \str -> - note ("Can't parse as TransactionInput: `" <> str <> "`") $ readOref str - -parsePort :: Optparse.ReadM Port -parsePort = parserReader "Port" Port.parser - -parseHydraHeadPeer :: Optparse.ReadM HydraHeadPeer -parseHydraHeadPeer = jsonReader "HydraHeadPeer" hydraHeadPeerCodec - -parseLogLevel :: Optparse.ReadM LogLevel -parseLogLevel = jsonReader "LogLevel" logLevelCodec - -parseServerConfig :: Optparse.ReadM ServerConfig -parseServerConfig = parserReader "ServerConfig" httpServerConfigParser - -httpServerConfigParser :: Parser String ServerConfig -httpServerConfigParser = do - secure <- (string "https://" $> true) <|> (string "http://" $> false) - host <- Host.parser <#> Host.print - port <- Port.parser <#> UInt.fromInt <<< Port.toInt - path <- rest <#> \x -> if String.null x then Nothing else Just x - pure { port, host, secure, path } +networkToNetworkId :: Network -> NetworkId +networkToNetworkId = + case _ of + Testnet _ -> TestnetId + Mainnet -> MainnetId + +execAppConfigParser :: Effect (AppConfig' (Array AuctionConfig) QueryBackendParams) +execAppConfigParser = do + fp <- Optparse.execParser parserInfo + appConfig <- either throw pure =<< caDecodeFile appConfigCodec fp + pure $ over wrap + ( \rec -> rec + { queryBackend = + toQueryBackendParams rec.queryBackend defaultConfirmTxDelay + } + ) + appConfig + where + parserInfo :: Optparse.ParserInfo FilePath + parserInfo = + Optparse.info (configFileParser <**> Optparse.helper) $ Optparse.fullDesc + <> Optparse.header "delegate-server" + + configFileParser :: Optparse.Parser FilePath + configFileParser = + Optparse.strOption $ fold + [ Optparse.long "config" + , Optparse.metavar "FILE" + , Optparse.help "Filepath to delegate-server JSON configuration." + ] diff --git a/app/delegate-server/Contract/Commit.purs b/app/delegate-server/Contract/Commit.purs index 99e7cf1..6a9b27b 100644 --- a/app/delegate-server/Contract/Commit.purs +++ b/app/delegate-server/Contract/Commit.purs @@ -89,7 +89,7 @@ import Type.Proxy (Proxy(Proxy)) buildCommitTx :: forall m. AppBase m => Json -> ExceptT ServiceError m BalancedSignedTransaction buildCommitTx commitRequest = do - { hydraNodeApi, cardanoSk } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { hydraNodeApi, cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") let serverConfig = mkLocalhostHttpServerConfig hydraNodeApi.port draftCommitTx <- ExceptT $ liftAff $ commit serverConfig commitRequest runContractLift do @@ -166,7 +166,7 @@ commitStandingBid = do commitTx <- withExceptT (const CommitBid_Error_CommitRequestFailed) $ buildCommitTx commitRequest - { peers } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { peers } } <- unwrap <$> access (Proxy :: _ "config") commitTxMultiSigned <- multiSignCommitTx peers `modifyF` commitTx txHash <- runContract (submit commitTxMultiSigned) !* CommitBid_Error_SubmitTxFailed pure $ standingBid /\ txHash @@ -179,7 +179,7 @@ multiSignCommitTx -> Transaction -> ExceptT CommitStandingBidError m Transaction multiSignCommitTx peers commitTx = do - { cardanoSk } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") responses <- do pkh <- runContract (withWallet cardanoSk $ ownPaymentPubKeyHash) !? CommitBid_Error_CouldNotGetOwnPubKeyHash diff --git a/app/delegate-server/Contract/PlaceBid.purs b/app/delegate-server/Contract/PlaceBid.purs index a405dfc..a9189b9 100644 --- a/app/delegate-server/Contract/PlaceBid.purs +++ b/app/delegate-server/Contract/PlaceBid.purs @@ -100,7 +100,7 @@ placeBidL2 ws bidTerms = do <#> toUtxoMapWithoutRefScripts <<< _.utxo <<< unwrap - { cardanoSk } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") mapExceptT runContractNullCosts $ placeBidL2' (unwrap auctionInfo) bidTerms ws.submitTxL2 utxos cardanoSk diff --git a/app/delegate-server/Handlers/SignCommitTx.purs b/app/delegate-server/Handlers/SignCommitTx.purs index cca3614..4c654ab 100644 --- a/app/delegate-server/Handlers/SignCommitTx.purs +++ b/app/delegate-server/Handlers/SignCommitTx.purs @@ -116,7 +116,7 @@ signCommitTxHandlerImpl bodyStr = do Right { commitTx, commitLeader } -> do auctionInfo <- unwrap <$> readAppState (Proxy :: _ "auctionInfo") hydraHeadCs <- readAppState (Proxy :: _ "headCs") - { cardanoSk } <- unwrap <$> access (Proxy :: _ "config") + { cardanoSk } <- _.auctionConfig <<< unwrap <$> access (Proxy :: _ "config") runContract $ withWallet cardanoSk do let txBody = commitTx ^. _body mResolvedInputs <- resolveInputs (Array.fromFoldable $ txBody ^. _inputs) diff --git a/app/delegate-server/HydraNodeApi/WebSocket.purs b/app/delegate-server/HydraNodeApi/WebSocket.purs index 6fc80a3..bc78163 100644 --- a/app/delegate-server/HydraNodeApi/WebSocket.purs +++ b/app/delegate-server/HydraNodeApi/WebSocket.purs @@ -104,11 +104,11 @@ type HydraNodeApiWebSocket = mkHydraNodeApiWebSocket :: DelegateWebSocketServer -> (HydraNodeApiWebSocket -> AppM Unit) -> AppM Unit mkHydraNodeApiWebSocket wsServer onConnect = do - config <- unwrap <$> asks _.config + { auctionConfig: { hydraNodeApi } } <- unwrap <$> asks _.config runM <- getAppEffRunner liftEffect do ws /\ wsUrl <- mkWebSocket - { hostPort: config.hydraNodeApi + { hostPort: hydraNodeApi , inMsgCodec: hydraNodeApiInMessageCodec , outMsgCodec: hydraNodeApiOutMessageCodec , runM @@ -188,29 +188,29 @@ msgGreetingsHandler wsServer { headStatus, snapshotUtxo } = do msgPeerConnectedHandler :: forall m. AppBase m => PeerConnMessage -> m Unit msgPeerConnectedHandler { peer } = do - { config: AppConfig config, livePeers: livePeersAVar } <- accessRec + { config: AppConfig { auctionConfig }, livePeers: livePeersAVar } <- accessRec (Proxy :: _ ("config" :> "livePeers" :> Nil')) modifyAVar_ livePeersAVar \livePeers -> - case Set.member peer livePeers, peer /= config.hydraNodeId of + case Set.member peer livePeers, peer /= auctionConfig.hydraNodeId of false, true -> do let livePeers' = Set.insert peer livePeers logInfo' $ "Peer connected (live peers " <> show (Set.size livePeers') <> "/" - <> show (Array.length config.peers) + <> show (Array.length auctionConfig.peers) <> ")." pure livePeers' _, _ -> pure livePeers msgPeerDisconnectedHandler :: forall m. AppBase m => PeerConnMessage -> m Unit msgPeerDisconnectedHandler { peer } = do - { config: AppConfig config, livePeers: livePeersAVar } <- accessRec + { config: AppConfig { auctionConfig }, livePeers: livePeersAVar } <- accessRec (Proxy :: _ ("config" :> "livePeers" :> Nil')) modifyAVar_ livePeersAVar \livePeers -> - case Set.member peer livePeers, peer /= config.hydraNodeId of + case Set.member peer livePeers, peer /= auctionConfig.hydraNodeId of true, true -> do let livePeers' = Set.delete peer livePeers logInfo' $ "Peer disconnected (live peers " <> show (Set.size livePeers') <> "/" - <> show (Array.length config.peers) + <> show (Array.length auctionConfig.peers) <> ")." pure livePeers' _, _ -> pure livePeers diff --git a/app/delegate-server/Lib/WebSocketServer.js b/app/delegate-server/Lib/WebSocketServer.js index 8f845cb..f89adbb 100644 --- a/app/delegate-server/Lib/WebSocketServer.js +++ b/app/delegate-server/Lib/WebSocketServer.js @@ -7,7 +7,7 @@ export const newWebSocketServer = (options) => () => { export const onConnect = (wss) => (cb) => () => { wss.on("connection", (ws, req) => { console.log("conn url: ", req.url); - cb(ws)(); + cb(ws)(req.url)(); }); }; diff --git a/app/delegate-server/Lib/WebSocketServer.purs b/app/delegate-server/Lib/WebSocketServer.purs index 967d34a..88ab98c 100644 --- a/app/delegate-server/Lib/WebSocketServer.purs +++ b/app/delegate-server/Lib/WebSocketServer.purs @@ -28,7 +28,7 @@ foreign import closeWebSocketServer :: WebSocketServerObj -> Effect Unit -> Effe foreign import onConnect :: WebSocketServerObj - -> (WebSocketConnection -> Effect Unit) + -> (WebSocketConnection -> String -> Effect Unit) -> Effect Unit type WebSocketServerOptions = @@ -37,7 +37,7 @@ type WebSocketServerOptions = } type WebSocketServer (out :: Type) = - { onConnect :: ((Array out -> Effect Unit) -> Effect Unit) -> Effect Unit + { onConnect :: (String -> (Array out -> Effect Unit) -> Effect Unit) -> Effect Unit , broadcast :: out -> Effect Unit , close :: Aff Unit } @@ -52,8 +52,8 @@ mkWebSocketServer outMessageCodec options = do wss <- liftEffect $ newWebSocketServer options pure { onConnect: \cb -> - onConnect wss \conn -> - cb (traverse_ (sendMessage conn <<< caEncodeString outMessageCodec)) + onConnect wss \conn path -> + cb path (traverse_ (sendMessage conn <<< caEncodeString outMessageCodec)) , broadcast: broadcastMessage wss <<< caEncodeString outMessageCodec diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index 6bcd845..2af84ea 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -11,6 +11,7 @@ import Ansi.Output (foreground, withGraphics) import Contract.Address (getNetworkId) import Contract.Log (logInfo', logTrace', logWarn') import Contract.Monad (ContractEnv, stopContractEnv) +import Control.Parallel (parTraverse) import Data.Foldable (foldMap) import Data.Int (decimal, toStringAs) as Int import Data.Maybe (Maybe, maybe) @@ -35,9 +36,7 @@ import DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) , Network(Testnet, Mainnet) - , Options , execAppConfigParser - , optionsParser ) import DelegateServer.Const (appConst) import DelegateServer.Contract.Collateral (getCollateralUtxo) @@ -86,13 +85,11 @@ import Node.ChildProcess (ChildProcess, defaultSpawnOptions, kill, spawn, stderr import Node.Encoding (Encoding(UTF8)) as Encoding import Node.Process (onSignal, onUncaughtException) import Node.Stream (onDataString) -import Options.Applicative ((<**>)) -import Options.Applicative as Optparse import Type.Proxy (Proxy(Proxy)) main :: Effect Unit main = launchAff_ do - appConfig <- liftEffect $ execAppConfigParser opts + appConfig <- liftEffect execAppConfigParser appHandle <- startDelegateServer appConfig liftEffect do onUncaughtException \err -> do @@ -105,11 +102,6 @@ main = launchAff_ do log $ withGraphics (foreground Red) $ show exitReason appHandle.cleanupHandler -opts :: Optparse.ParserInfo Options -opts = - Optparse.info (optionsParser <**> Optparse.helper) $ Optparse.fullDesc - <> Optparse.header "delegate-server" - type AppHandle = { cleanupHandler :: Effect Unit , appState :: AppState @@ -117,6 +109,32 @@ type AppHandle = , ws :: HydraNodeApiWebSocket } +startDelegateServer :: AppConfig' (Array AuctionConfig) QueryBackendParams -> Aff AppHandle +startDelegateServer appConfig = do + -- TODO: Make each app instance have its own logger, otherwise the + -- logs will be a complete mess + let appLogger = appLoggerDefault + appStateList <- + parTraverse + ( \auctionConfig -> do + appState <- initApp appConfig auctionConfig + runApp appState appLogger $ setAuction *> prepareCollateralUtxo + pure appState + ) + (unwrap appConfig).auctionConfig + appMap <- buildAppMap appStateList + + parTraverse + ( \auctionConfig -> do + appState <- initApp appConfig auctionConfig + runApp appState appLogger do + setAuction *> prepareCollateralUtxo + hydraNodeProcess <- startHydraNode + hydraApiWs <- initHydraApiWsConn + + ) + (unwrap appConfig).auctionConfig + startDelegateServer :: AppConfig -> Aff AppHandle startDelegateServer appConfig = do appState <- initApp appConfig @@ -248,8 +266,9 @@ initHydraApiWsConn wsServer = do mkHydraNodeApiWebSocket wsServer (liftAff <<< void <<< flip AVar.tryPut wsAVar) liftAff $ AVar.take wsAVar -startHydraNode :: AppConfig -> AppM ChildProcess -startHydraNode (AppConfig appConfig) = do +startHydraNode :: AppM ChildProcess +startHydraNode = do + appConfig <- unwrap <$> access (Proxy :: _ "config") apiServerStartedSem <- liftAff AVar.empty hydraNodeProcess <- liftEffect $ spawn "hydra-node" hydraNodeArgs defaultSpawnOptions @@ -267,7 +286,7 @@ startHydraNode (AppConfig appConfig) = do where peerArgs :: Array String peerArgs = - appConfig.peers # foldMap \peer -> + appConfig.auctionConfig.peers # foldMap \peer -> [ "--peer" , printHostPort peer.hydraNode , "--hydra-verification-key" @@ -291,21 +310,21 @@ startHydraNode (AppConfig appConfig) = do hydraNodeArgs = peerArgs <> networkArgs <> [ "--node-id" - , appConfig.hydraNodeId + , appConfig.auctionConfig.hydraNodeId , "--host" - , appConfig.hydraNode.host + , appConfig.auctionConfig.hydraNode.host , "--port" - , UInt.toString appConfig.hydraNode.port + , UInt.toString appConfig.auctionConfig.hydraNode.port , "--api-host" - , appConfig.hydraNodeApi.host + , appConfig.auctionConfig.hydraNodeApi.host , "--api-port" - , UInt.toString appConfig.hydraNodeApi.port + , UInt.toString appConfig.auctionConfig.hydraNodeApi.port , "--persistence-dir" - , appConfig.hydraPersistDir + , appConfig.hydraPersistDir <> appConfig.auctionConfig.hydraNodeId , "--hydra-signing-key" , appConfig.hydraSk , "--cardano-signing-key" - , appConfig.cardanoSk + , appConfig.auctionConfig.cardanoSk , "--node-socket" , appConfig.nodeSocket , "--ledger-protocol-parameters" diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index c7bf44b..afd2aca 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -5,19 +5,27 @@ module DelegateServer.Server import Prelude import Contract.Log (logInfo') +import Control.Monad.Logger.Trans (runLoggerT) +import Data.Either (Either(Left, Right)) +import Data.Map (lookup) as Map +import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap) -import Data.Tuple.Nested ((/\)) +import Data.Tuple.Nested (type (/\), (/\)) import DelegateServer.App (AppLogger, AppM, AppState, runApp, runAppEff) +import DelegateServer.AppMap (AppMap) import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) import DelegateServer.Handlers.SignCommitTx (signCommitTxHandler) import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) +import Effect.Aff (Aff) import Effect.Aff.Class (liftAff) +import Effect.Console (log) import HTTPure ( Headers , Request , Response , ServerM + , badRequest , emptyResponse' , header , headers @@ -25,54 +33,85 @@ import HTTPure , serve , toString ) as HTTPure -import HTTPure (Method(Options, Post), (!?), (!@)) +import HTTPure (Method(Options, Post), (!!), (!?), (!@)) import HTTPure.Status (ok) as HTTPureStatus +import HydraAuctionOffchain.Codec (currencySymbolCodec) +import HydraAuctionOffchain.Lib.Json (caDecodeString) +import URI.Port (Port) import URI.Port (toInt) as Port -httpServer :: AppState -> AppLogger -> HydraNodeApiWebSocket -> HTTPure.ServerM -httpServer appState appLogger ws = do - let port = Port.toInt (unwrap appState.config).serverPort - HTTPure.serve port (runApp appState appLogger <<< router ws) do - runAppEff appState appLogger do - logInfo' $ "Http server now accepts connections on port " <> show port <> "." +type AppMap' = AppMap HydraNodeApiWebSocket -router :: HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response +httpServer :: Port -> AppLogger -> AppMap' -> HTTPure.ServerM +httpServer serverPort appLogger appMap = do + let port = Port.toInt serverPort + HTTPure.serve port (router (appLogger /\ appMap)) do + -- TODO: Add a top-level logger that is not associated with a + -- specific app instance + log $ "Http server now accepts connections on port " <> show port <> "." + +router :: AppLogger /\ AppMap' -> HTTPure.Request -> Aff HTTPure.Response router _ { method: Options, headers } | unwrap headers !? "Access-Control-Request-Method" = corsPreflightHandler headers | otherwise = HTTPure.notFound -router ws request = corsMiddleware routerCors ws request +router appMap request = corsMiddleware routerCors appMap request + +routerCors :: AppLogger /\ AppMap' -> HTTPure.Request -> Aff HTTPure.Response +routerCors appMap request = appLookupMiddleware routerCorsApp appMap request -routerCors :: HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response -routerCors ws { method: Post, path: [ "moveBid" ] } = +routerCorsApp :: HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response +routerCorsApp ws { method: Post, path: [ "moveBid" ] } = moveBidHandler ws -routerCors ws { body, method: Post, path: [ "placeBid" ] } = do +routerCorsApp ws { body, method: Post, path: [ "placeBid" ] } = do bodyStr <- liftAff $ HTTPure.toString body placeBidHandler ws bodyStr -routerCors _ { body, method: Post, path: [ "signCommitTx" ] } = do +routerCorsApp _ { body, method: Post, path: [ "signCommitTx" ] } = do bodyStr <- liftAff $ HTTPure.toString body signCommitTxHandler bodyStr -routerCors _ _ = HTTPure.notFound +routerCorsApp _ _ = HTTPure.notFound -- Middleware -------------------------------------------------------- -corsMiddleware +appLookupMiddleware :: (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) - -> HydraNodeApiWebSocket + -> AppLogger /\ AppMap + -> HTTPure.Request + -> Aff HTTPure.Response +appLookupMiddleware router' (appLogger /\ appMap) request@{ headers } + | Just auctionCsRaw <- headers !! "Auction-Cs" = + case caDecodeString currencySymbolCodec auctionCsRaw of + Left decodeErr -> + HTTPure.badRequest "Could not decode Auction-Cs request header" + Right auctionCs -> + case Map.lookup auctionCs appMap of + Nothing -> + HTTPure.badRequest + "Provided Auction-Cs does not correspond to any auction served by this \ + \delegate server" + Just (appState /\ ws) -> + runApp appState appLogger $ router' ws request + | otherwise = + HTTPure.badRequest "Missing Auction-Cs request header" + +corsMiddleware + :: forall a + . (a -> HTTPure.Request -> Aff HTTPure.Response) + -> a -> HTTPure.Request - -> AppM HTTPure.Response -corsMiddleware router' ws request = - router' ws request <#> \response -> + -> Aff HTTPure.Response +corsMiddleware router' params request = + router' params request <#> \response -> response { headers = response.headers <> HTTPure.header "Access-Control-Allow-Origin" "*" } -corsPreflightHandler :: HTTPure.Headers -> AppM HTTPure.Response +corsPreflightHandler :: HTTPure.Headers -> Aff HTTPure.Response corsPreflightHandler headers = HTTPure.emptyResponse' HTTPureStatus.ok $ HTTPure.headers diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 5692a8e..27a6061 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -21,7 +21,8 @@ import Data.Profunctor (dimap) import Data.Tuple (snd) import Data.Variant (inj, match) as Variant import DelegateServer.App (AppM, getAppEffRunner, runContract) -import DelegateServer.Config (AppConfig) +import DelegateServer.AppMap (AppMap) +import DelegateServer.Config (AppConfig, Network, networkToNetworkId) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Lib.WebSocketServer ( WebSocketServer @@ -30,18 +31,19 @@ import DelegateServer.Lib.WebSocketServer ) import DelegateServer.State (readAppState) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus, headStatusCodec) +import Effect.Aff (Aff) import Effect.Class (liftEffect) import HydraAuctionOffchain.Contract.Types (StandingBidState, standingBidStateCodec) import Type.Proxy (Proxy(Proxy)) +import URI.Port (Port) import URI.Port (toInt) as Port -wsServer :: AppConfig -> AppM DelegateWebSocketServer -wsServer appConfig = do - network <- runContract getNetworkId - wss <- mkWebSocketServer (delegateWsServerMessageCodec network) wsServerOptions - runAppEff' <- getAppEffRunner +wsServer :: Port -> Network -> AppMap Unit -> Aff DelegateWebSocketServer +wsServer wsServerPort network appMap = do + wss <- mkWebSocketServer (delegateWsServerMessageCodec $ networkToNetworkId network) + wsServerOptions liftEffect do - wss.onConnect \sendMessages -> + wss.onConnect \path sendMessages -> runAppEff' do headStatus <- readAppState (Proxy :: _ "headStatus") standingBid <- map snd <$> queryStandingBidL2 @@ -53,7 +55,7 @@ wsServer appConfig = do wsServerOptions :: WebSocketServerOptions wsServerOptions = { host: "0.0.0.0" - , port: Port.toInt (unwrap appConfig).wsServerPort + , port: Port.toInt wsServerPort } type DelegateWebSocketServer = WebSocketServer DelegateWebSocketServerMessage From 1fe64b6b0be00c070b9f5a59dc91e21b3f648ff9 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Mon, 10 Jun 2024 17:28:49 +0200 Subject: [PATCH 02/23] feat(delegate_server): wip: fix ws server, start delegate-server --- app/delegate-server/App.purs | 2 - app/delegate-server/AppMap.purs | 6 +- .../HydraNodeApi/WebSocket.purs | 6 +- app/delegate-server/Lib/WebSocketServer.js | 8 +- app/delegate-server/Lib/WebSocketServer.purs | 11 +- app/delegate-server/Main.purs | 155 ++++++++++-------- app/delegate-server/Server.purs | 8 +- app/delegate-server/WsServer.purs | 45 +++-- spago.dhall | 1 + test/DelegateServer/Cluster.purs | 63 ++++--- test/Helpers.purs | 6 +- 11 files changed, 176 insertions(+), 135 deletions(-) diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 6686a53..14647b9 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -18,7 +18,6 @@ import Prelude import Contract.Config ( ContractParams - , NetworkId(TestnetId, MainnetId) , PrivatePaymentKeySource(PrivatePaymentKeyFile) , QueryBackendParams , WalletSpec(UseKeys) @@ -43,7 +42,6 @@ import DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) , AuctionConfig - , Network(Testnet, Mainnet) , networkToNetworkId ) import DelegateServer.Lib.Contract (runContractNullCostsAff) diff --git a/app/delegate-server/AppMap.purs b/app/delegate-server/AppMap.purs index 7d51355..97e4c5b 100644 --- a/app/delegate-server/AppMap.purs +++ b/app/delegate-server/AppMap.purs @@ -18,12 +18,12 @@ import Effect.Aff.AVar (read) as AVar type AppMap a = Map CurrencySymbol (AppState /\ a) -buildAppMap :: Array AppState -> Aff (AppMap Unit) +buildAppMap :: forall a. Array (AppState /\ a) -> Aff (AppMap a) buildAppMap apps = foldM - ( \appMap appState -> do + ( \appMap val@(appState /\ _) -> do auctionCs <- _.auctionId <<< unwrap <$> AVar.read appState.auctionInfo - pure $ Map.insert auctionCs (appState /\ unit) appMap + pure $ Map.insert auctionCs val appMap ) Map.empty (List.fromFoldable apps) diff --git a/app/delegate-server/HydraNodeApi/WebSocket.purs b/app/delegate-server/HydraNodeApi/WebSocket.purs index bc78163..7948342 100644 --- a/app/delegate-server/HydraNodeApi/WebSocket.purs +++ b/app/delegate-server/HydraNodeApi/WebSocket.purs @@ -307,7 +307,8 @@ setHeadStatus' :: forall m. AppBase m => DelegateWebSocketServer -> HydraHeadSta setHeadStatus' wsServer status = do setHeadStatus status logInfo' $ "New head status: " <> printHeadStatus status <> "." - liftEffect $ wsServer.broadcast (HydraHeadStatus status) + auctionCs <- _.auctionId <<< unwrap <$> readAppState (Proxy :: _ "auctionInfo") + liftEffect $ wsServer.broadcast auctionCs (HydraHeadStatus status) setSnapshot' :: forall m. AppOpen m => DelegateWebSocketServer -> HydraSnapshot -> m Unit setSnapshot' wsServer snapshot = do @@ -315,5 +316,6 @@ setSnapshot' wsServer snapshot = do logInfo' $ "New confirmed snapshot: " <> printJsonUsingCodec hydraSnapshotCodec snapshot standingBid <- map snd <$> queryStandingBidL2 - liftEffect $ traverse_ (wsServer.broadcast <<< StandingBid) + auctionCs <- _.auctionId <<< unwrap <$> readAppState (Proxy :: _ "auctionInfo") + liftEffect $ traverse_ (wsServer.broadcast auctionCs <<< StandingBid) standingBid diff --git a/app/delegate-server/Lib/WebSocketServer.js b/app/delegate-server/Lib/WebSocketServer.js index f89adbb..8c9b37e 100644 --- a/app/delegate-server/Lib/WebSocketServer.js +++ b/app/delegate-server/Lib/WebSocketServer.js @@ -6,8 +6,8 @@ export const newWebSocketServer = (options) => () => { export const onConnect = (wss) => (cb) => () => { wss.on("connection", (ws, req) => { - console.log("conn url: ", req.url); - cb(ws)(req.url)(); + ws.connPath = req.url; + cb(ws)(ws.connPath)(); }); }; @@ -15,9 +15,9 @@ export const sendMessage = (ws) => (message) => () => { ws.send(message); }; -export const broadcastMessage = (wss) => (message) => () => { +export const broadcastMessage = (wss) => (auctionCs) => (message) => () => { wss.clients.forEach((ws) => { - if (ws.readyState === WebSocket.OPEN) { + if (ws.readyState === WebSocket.OPEN && ws.connPath === "/" + auctionCs) { ws.send(message, { binary: false }); } }); diff --git a/app/delegate-server/Lib/WebSocketServer.purs b/app/delegate-server/Lib/WebSocketServer.purs index 88ab98c..2a500dd 100644 --- a/app/delegate-server/Lib/WebSocketServer.purs +++ b/app/delegate-server/Lib/WebSocketServer.purs @@ -6,6 +6,8 @@ module DelegateServer.Lib.WebSocketServer import Prelude +import Contract.Prim.ByteArray (byteArrayToHex) +import Contract.Value (CurrencySymbol, getCurrencySymbol) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Either (Either(Right)) import Data.Traversable (traverse_) @@ -22,7 +24,7 @@ foreign import newWebSocketServer :: WebSocketServerOptions -> Effect WebSocketS foreign import sendMessage :: WebSocketConnection -> String -> Effect Unit -foreign import broadcastMessage :: WebSocketServerObj -> String -> Effect Unit +foreign import broadcastMessage :: WebSocketServerObj -> String -> String -> Effect Unit foreign import closeWebSocketServer :: WebSocketServerObj -> Effect Unit -> Effect Unit @@ -38,7 +40,7 @@ type WebSocketServerOptions = type WebSocketServer (out :: Type) = { onConnect :: (String -> (Array out -> Effect Unit) -> Effect Unit) -> Effect Unit - , broadcast :: out -> Effect Unit + , broadcast :: CurrencySymbol -> out -> Effect Unit , close :: Aff Unit } @@ -55,8 +57,9 @@ mkWebSocketServer outMessageCodec options = do onConnect wss \conn path -> cb path (traverse_ (sendMessage conn <<< caEncodeString outMessageCodec)) - , broadcast: - broadcastMessage wss <<< caEncodeString outMessageCodec + , broadcast: \auctionCs message -> + broadcastMessage wss (byteArrayToHex $ getCurrencySymbol auctionCs) + (caEncodeString outMessageCodec message) , close: makeAff \cb -> do diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index 2af84ea..b63e370 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -9,9 +9,12 @@ import Prelude import Ansi.Codes (Color(Red)) import Ansi.Output (foreground, withGraphics) import Contract.Address (getNetworkId) +import Contract.Config (QueryBackendParams) import Contract.Log (logInfo', logTrace', logWarn') import Contract.Monad (ContractEnv, stopContractEnv) import Control.Parallel (parTraverse) +import Ctl.Internal.Helpers ((<>)) +import Data.Array (concat) as Array import Data.Foldable (foldMap) import Data.Int (decimal, toStringAs) as Int import Data.Maybe (Maybe, maybe) @@ -20,6 +23,8 @@ import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) import Data.String (Pattern(Pattern)) import Data.String (contains) as String import Data.Traversable (for_, sequence, traverse_) +import Data.Tuple (Tuple(Tuple), fst, snd) +import Data.Tuple.Nested ((/\)) import Data.UInt (toString) as UInt import DelegateServer.App ( AppLogger @@ -32,10 +37,12 @@ import DelegateServer.App , runContract , runContractExitOnErr ) +import DelegateServer.AppMap (buildAppMap) import DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) , Network(Testnet, Mainnet) + , AuctionConfig , execAppConfigParser ) import DelegateServer.Const (appConst) @@ -97,23 +104,27 @@ main = launchAff_ do appHandle.cleanupHandler onSignal SIGINT appHandle.cleanupHandler onSignal SIGTERM appHandle.cleanupHandler - exitReason <- AVar.take appHandle.appState.exitSem - liftEffect do - log $ withGraphics (foreground Red) $ show exitReason - appHandle.cleanupHandler + +{- +exitReason <- AVar.take appHandle.appState.exitSem +liftEffect do + log $ withGraphics (foreground Red) $ show exitReason + appHandle.cleanupHandler +-} type AppHandle = { cleanupHandler :: Effect Unit - , appState :: AppState , appLogger :: AppLogger - , ws :: HydraNodeApiWebSocket + , apps :: Array AppState + , hydraNodeApiWebSockets :: Array HydraNodeApiWebSocket } startDelegateServer :: AppConfig' (Array AuctionConfig) QueryBackendParams -> Aff AppHandle -startDelegateServer appConfig = do +startDelegateServer appConfig@(AppConfig appConfigRec) = do -- TODO: Make each app instance have its own logger, otherwise the -- logs will be a complete mess let appLogger = appLoggerDefault + appStateList <- parTraverse ( \auctionConfig -> do @@ -121,82 +132,81 @@ startDelegateServer appConfig = do runApp appState appLogger $ setAuction *> prepareCollateralUtxo pure appState ) - (unwrap appConfig).auctionConfig - appMap <- buildAppMap appStateList + appConfigRec.auctionConfig -- array of auction configurations - parTraverse - ( \auctionConfig -> do - appState <- initApp appConfig auctionConfig + appMap0 <- buildAppMap $ flip Tuple unit <$> appStateList + wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appMap0 appLogger + + resources <- parTraverse + ( \appState -> runApp appState appLogger do - setAuction *> prepareCollateralUtxo hydraNodeProcess <- startHydraNode - hydraApiWs <- initHydraApiWsConn - + hydraApiWs <- initHydraApiWsConn wsServer' + timers <- + sequence + [ initHeadAtBiddingStart hydraApiWs + , closeHeadAtBiddingEnd hydraApiWs + ] + pure { appMapValues: appState /\ hydraApiWs, hydraNodeProcess, timers } ) - (unwrap appConfig).auctionConfig + appStateList -startDelegateServer :: AppConfig -> Aff AppHandle -startDelegateServer appConfig = do - appState <- initApp appConfig - let appLogger = appLoggerDefault + appMap1 <- buildAppMap $ _.appMapValues <$> resources + closeServer <- liftEffect $ httpServer appConfigRec.serverPort appLogger appMap1 - runApp appState appLogger do - setAuction *> prepareCollateralUtxo - hydraNodeProcess <- startHydraNode appConfig - wsServer' <- wsServer appConfig - hydraApiWs <- initHydraApiWsConn wsServer' - closeServer <- liftEffect $ httpServer appState appLogger hydraApiWs - - timers <- - sequence - [ initHeadAtBiddingStart hydraApiWs - , closeHeadAtBiddingEnd hydraApiWs - ] - - cleanupSem <- liftAff $ AVar.new unit - let - cleanupHandler' = - AVarSync.tryTake cleanupSem >>= - maybe (pure unit) - ( const - ( cleanupHandler hydraNodeProcess hydraApiWs wsServer' closeServer - (unwrap appState.contractEnv) - timers - ) - ) - pure - { cleanupHandler: cleanupHandler' - , appState - , appLogger - , ws: hydraApiWs - } + cleanupSem <- liftAff $ AVar.new unit + let + apps = resources <#> fst <<< _.appMapValues + hydraNodeProcs = resources <#> _.hydraNodeProcess + hydraNodeApiWebSockets = resources <#> snd <<< _.appMapValues + cleanupHandler' = + AVarSync.tryTake cleanupSem >>= + maybe (pure unit) + ( const + ( cleanupHandler hydraNodeProcs hydraNodeApiWebSockets wsServer' closeServer + (apps <#> unwrap <<< _.contractEnv) + (Array.concat $ _.timers <$> resources) + ) + ) + pure + { cleanupHandler: cleanupHandler' + , appLogger + , apps + , hydraNodeApiWebSockets + } cleanupHandler - :: ChildProcess - -> HydraNodeApiWebSocket + :: Array ChildProcess + -> Array HydraNodeApiWebSocket -> DelegateWebSocketServer -> (Effect Unit -> Effect Unit) - -> ContractEnv + -> Array ContractEnv -> Array (AVar (Maybe TimeoutId)) -> Effect Unit -cleanupHandler hydraNodeProcess ws wsServer closeServer contractEnv timers = do +cleanupHandler + hydraNodeProcs + hydraNodeApiWebSockets + wsServer + closeHttpServer + contractEnvs + timers = do log "\nCancelling timers." for_ timers \timer -> AVarSync.take timer \timeout -> do traverse_ (traverse_ Timer.clearTimeout) timeout - log "Stopping http server." - closeServer do - log "Closing hydra-node-api ws connection." - ws.baseWs.close - log "Killing hydra-node." - kill SIGINT hydraNodeProcess - log "Finalizing Contract environment, stopping ws server." - flip runAff_ (wsServer.close <* stopContractEnv contractEnv) $ + log "Stopping HTTP server." + closeHttpServer do + log "Closing Hydra Node API ws connections." + traverse_ _.baseWs.close hydraNodeApiWebSockets + log "Killing Hydra nodes." + traverse_ (kill SIGINT) hydraNodeProcs + log "Finalizing Contract environments, stopping ws server." + flip runAff_ (wsServer.close <* traverse_ stopContractEnv contractEnvs) $ const (log "Successfully completed all cleanup actions -> exiting.") setAuction :: forall m. AppBase m => m Unit setAuction = do - { auctionMetadataOref } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { auctionMetadataOref } } <- unwrap <$> access (Proxy :: _ "config") auctionInfo <- runContractExitOnErr $ queryAuction auctionMetadataOref setAuctionInfo auctionInfo network <- runContract getNetworkId @@ -268,9 +278,10 @@ initHydraApiWsConn wsServer = do startHydraNode :: AppM ChildProcess startHydraNode = do - appConfig <- unwrap <$> access (Proxy :: _ "config") + appConfig <- access (Proxy :: _ "config") apiServerStartedSem <- liftAff AVar.empty - hydraNodeProcess <- liftEffect $ spawn "hydra-node" hydraNodeArgs defaultSpawnOptions + hydraNodeProcess <- liftEffect $ spawn "hydra-node" (hydraNodeArgs appConfig) + defaultSpawnOptions runAppEff' <- getAppEffRunner liftEffect $ onDataString (stderr hydraNodeProcess) Encoding.UTF8 \str -> @@ -284,8 +295,8 @@ startHydraNode = do liftAff $ AVar.take apiServerStartedSem pure hydraNodeProcess where - peerArgs :: Array String - peerArgs = + peerArgs :: AppConfig -> Array String + peerArgs (AppConfig appConfig) = appConfig.auctionConfig.peers # foldMap \peer -> [ "--peer" , printHostPort peer.hydraNode @@ -295,8 +306,8 @@ startHydraNode = do , peer.cardanoVk ] - networkArgs :: Array String - networkArgs = + networkArgs :: AppConfig -> Array String + networkArgs (AppConfig appConfig) = case appConfig.network of Testnet { magic } -> [ "--testnet-magic" @@ -306,9 +317,9 @@ startHydraNode = do [ "--mainnet" ] - hydraNodeArgs :: Array String - hydraNodeArgs = - peerArgs <> networkArgs <> + hydraNodeArgs :: AppConfig -> Array String + hydraNodeArgs ac@(AppConfig appConfig) = + peerArgs ac <> networkArgs ac <> [ "--node-id" , appConfig.auctionConfig.hydraNodeId , "--host" diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index afd2aca..e2665cc 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -4,14 +4,12 @@ module DelegateServer.Server import Prelude -import Contract.Log (logInfo') -import Control.Monad.Logger.Trans (runLoggerT) import Data.Either (Either(Left, Right)) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap) import Data.Tuple.Nested (type (/\), (/\)) -import DelegateServer.App (AppLogger, AppM, AppState, runApp, runAppEff) +import DelegateServer.App (AppLogger, AppM, runApp) import DelegateServer.AppMap (AppMap) import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) @@ -78,13 +76,13 @@ routerCorsApp _ _ = HTTPure.notFound appLookupMiddleware :: (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) - -> AppLogger /\ AppMap + -> AppLogger /\ AppMap' -> HTTPure.Request -> Aff HTTPure.Response appLookupMiddleware router' (appLogger /\ appMap) request@{ headers } | Just auctionCsRaw <- headers !! "Auction-Cs" = case caDecodeString currencySymbolCodec auctionCsRaw of - Left decodeErr -> + Left _ -> HTTPure.badRequest "Could not decode Auction-Cs request header" Right auctionCs -> case Map.lookup auctionCs appMap of diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 27a6061..37f94a0 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -9,20 +9,22 @@ module DelegateServer.WsServer import Prelude -import Contract.Address (getNetworkId) import Contract.Config (NetworkId) import Data.Array (singleton, (:)) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV -import Data.Either (Either(Right)) -import Data.Maybe (maybe) -import Data.Newtype (unwrap) +import Data.Either (Either(Left, Right)) +import Data.Map (lookup) as Map +import Data.Maybe (Maybe(Just, Nothing), fromMaybe, maybe) import Data.Profunctor (dimap) +import Data.String (Pattern(Pattern)) +import Data.String (stripPrefix) as String import Data.Tuple (snd) +import Data.Tuple.Nested ((/\)) import Data.Variant (inj, match) as Variant -import DelegateServer.App (AppM, getAppEffRunner, runContract) +import DelegateServer.App (AppLogger, runAppEff) import DelegateServer.AppMap (AppMap) -import DelegateServer.Config (AppConfig, Network, networkToNetworkId) +import DelegateServer.Config (Network, networkToNetworkId) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Lib.WebSocketServer ( WebSocketServer @@ -33,23 +35,36 @@ import DelegateServer.State (readAppState) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus, headStatusCodec) import Effect.Aff (Aff) import Effect.Class (liftEffect) +import HydraAuctionOffchain.Codec (currencySymbolCodec) import HydraAuctionOffchain.Contract.Types (StandingBidState, standingBidStateCodec) +import HydraAuctionOffchain.Lib.Json (caDecodeString) import Type.Proxy (Proxy(Proxy)) import URI.Port (Port) import URI.Port (toInt) as Port -wsServer :: Port -> Network -> AppMap Unit -> Aff DelegateWebSocketServer -wsServer wsServerPort network appMap = do +wsServer :: Port -> Network -> AppMap Unit -> AppLogger -> Aff DelegateWebSocketServer +wsServer wsServerPort network appMap appLogger = do wss <- mkWebSocketServer (delegateWsServerMessageCodec $ networkToNetworkId network) wsServerOptions liftEffect do - wss.onConnect \path sendMessages -> - runAppEff' do - headStatus <- readAppState (Proxy :: _ "headStatus") - standingBid <- map snd <$> queryStandingBidL2 - liftEffect $ sendMessages $ - HydraHeadStatus headStatus - : maybe mempty (singleton <<< StandingBid) standingBid + wss.onConnect \connPath sendMessages -> do + let auctionCsRaw = fromMaybe connPath $ String.stripPrefix (Pattern "/") connPath + case caDecodeString currencySymbolCodec auctionCsRaw of + Left _decodeErr -> + -- TODO: close ws connection with a descriptive error message + pure unit + Right auctionCs -> + case Map.lookup auctionCs appMap of + Nothing -> + -- TODO: close ws connection with a descriptive error message + pure unit + Just (appState /\ _) -> + runAppEff appState appLogger do + headStatus <- readAppState (Proxy :: _ "headStatus") + standingBid <- map snd <$> queryStandingBidL2 + liftEffect $ sendMessages $ + HydraHeadStatus headStatus + : maybe mempty (singleton <<< StandingBid) standingBid pure wss where wsServerOptions :: WebSocketServerOptions diff --git a/spago.dhall b/spago.dhall index 4e3dad0..0a37838 100644 --- a/spago.dhall +++ b/spago.dhall @@ -26,6 +26,7 @@ , "integers" , "js-bigints" , "js-timers" + , "lists" , "maybe" , "monad-logger" , "mote" diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 4ed7448..6578262 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -6,7 +6,7 @@ module Test.DelegateServer.Cluster import Prelude import Contract.Address (PubKeyHash) -import Contract.Config (NetworkId(MainnetId), mkCtlBackendParams) +import Contract.Config (NetworkId(MainnetId), QueryBackendParams, mkCtlBackendParams) import Contract.Hashing (publicKeyHash) import Contract.Monad (Contract, ContractEnv, liftContractM, liftedE, runContractInEnv) import Contract.Test (class UtxoDistribution, ContractTest(ContractTest)) @@ -40,7 +40,7 @@ import Data.Tuple.Nested (type (/\), (/\)) import Data.UInt (fromInt) as UInt import Data.UUID (genUUID, toString) as UUID import DelegateServer.App (AppM, runApp, runContract) -import DelegateServer.Config (AppConfig, Network(Mainnet)) +import DelegateServer.Config (AppConfig', Network(Mainnet), AuctionConfig) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidHandlerImpl) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidHandlerImpl) @@ -77,6 +77,7 @@ import Test.Helpers , localhost , mkdirIfNotExists , publicPaymentKeyToFile + , unsafeHead ) import Test.Plutip.Config (plutipConfig) import Test.QuickCheck.Gen (chooseInt, randomSampleOne) @@ -163,7 +164,7 @@ withDelegateServerCluster contractEnv clusterConfig peers action = withRandomAppHandle f = liftAff do appHandle <- randomElem apps - runApp appHandle.appState appHandle.appLogger $ f appHandle + runApp (unsafeHead appHandle.apps) appHandle.appLogger $ f appHandle withRandomAppHandle_ :: forall a. AppM a -> Contract a withRandomAppHandle_ = @@ -181,7 +182,7 @@ withDelegateServerCluster contractEnv clusterConfig peers action = , moveBidToL2: withRandomAppHandle \appHandle -> - moveBidHandlerImpl appHandle.ws + moveBidHandlerImpl $ unsafeHead appHandle.hydraNodeApiWebSockets , queryStandingBidL2: withRandomAppHandle_ do @@ -191,8 +192,10 @@ withDelegateServerCluster contractEnv clusterConfig peers action = \bidTerms -> withRandomAppHandle \appHandle -> do env <- wrap <$> runContract (patchContractEnv MainnetId) - let body = caEncodeString (bidTermsCodec MainnetId) bidTerms - local (_ { contractEnv = env }) $ placeBidHandlerImpl appHandle.ws body + let + body = caEncodeString (bidTermsCodec MainnetId) bidTerms + ws = unsafeHead appHandle.hydraNodeApiWebSockets + local (_ { contractEnv = env }) $ placeBidHandlerImpl ws body , getAppExitReason: withRandomAppHandle_ do @@ -239,7 +242,7 @@ genDelegateServerConfigs :: FilePath -> DelegateServerClusterConfig -> NonEmptyArray DelegateServerPeer - -> Aff (Array AppConfig) + -> Aff (Array (AppConfig' (Array AuctionConfig) QueryBackendParams)) genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peers' <- createWorkdirsStoreKeys hydraScriptsTxHash <- publishHydraScripts @@ -261,32 +264,38 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do , mkWalletSk: flip concatPaths "wallet.sk" } - worker :: Array (Int /\ FilePath) -> String -> Array AppConfig + worker + :: Array (Int /\ FilePath) + -> String + -> Array (AppConfig' (Array AuctionConfig) QueryBackendParams) worker peers' hydraScriptsTxHash = peers' <#> \(idx /\ workdir) -> wrap - { auctionMetadataOref: clusterConfig.auctionMetadataOref + { auctionConfig: + [ { auctionMetadataOref: clusterConfig.auctionMetadataOref + , hydraNodeId: toStringAs decimal idx + , hydraNode: ops.mkHydraNode idx + , hydraNodeApi: ops.mkHydraNodeApi idx + , peers: + fromJustWithErr "genDelegateServerConfigs" $ + deleteAt idx peers' <#> map \(idx' /\ workdir') -> + { hydraNode: ops.mkHydraNode idx' + , hydraVk: ops.mkHydraVk workdir' + , cardanoVk: ops.mkCardanoVk workdir' + , httpServer: + { port: UInt.fromInt $ Port.toInt $ ops.mkServerPort idx' + , host: localhost + , secure: false + , path: Nothing + } + } + , cardanoSk: ops.mkCardanoSk workdir + , walletSk: ops.mkWalletSk workdir + } + ] , serverPort: ops.mkServerPort idx , wsServerPort: ops.mkWsServerPort idx - , hydraNodeId: toStringAs decimal idx - , hydraNode: ops.mkHydraNode idx - , hydraNodeApi: ops.mkHydraNodeApi idx , hydraPersistDir: ops.mkPersistDir workdir , hydraSk: ops.mkHydraSk workdir - , cardanoSk: ops.mkCardanoSk workdir - , walletSk: ops.mkWalletSk workdir - , peers: - fromJustWithErr "genDelegateServerConfigs" $ - deleteAt idx peers' <#> map \(idx' /\ workdir') -> - { hydraNode: ops.mkHydraNode idx' - , hydraVk: ops.mkHydraVk workdir' - , cardanoVk: ops.mkCardanoVk workdir' - , httpServer: - { port: UInt.fromInt $ Port.toInt $ ops.mkServerPort idx' - , host: localhost - , secure: false - , path: Nothing - } - } , nodeSocket: clusterConfig.plutipClusterParams.nodeSocketPath , network: Mainnet , queryBackend: diff --git a/test/Helpers.purs b/test/Helpers.purs index 05e9817..158220d 100644 --- a/test/Helpers.purs +++ b/test/Helpers.purs @@ -11,6 +11,7 @@ module Test.Helpers , mkVerificationKeyUnsafe , mkdirIfNotExists , publicPaymentKeyToFile + , unsafeHead , untilM , waitUntil ) where @@ -33,7 +34,7 @@ import Ctl.Internal.Plutus.Conversion (toPlutusAddress) import Ctl.Internal.Serialization.Address (addressFromBech32) import Ctl.Internal.Serialization.Hash (ed25519KeyHashFromBytes) import Ctl.Internal.Serialization.Keys (bytesFromPublicKey) -import Data.Array (cons, drop, take) +import Data.Array (cons, drop, head, take) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap, wrap) import Data.Tuple.Nested (type (/\), (/\)) @@ -83,6 +84,9 @@ mkOrefUnsafe txHash = fromJustWithErr "mkOrefUnsafe" $ (wrap <<< { transactionId: _, index: zero } <<< wrap) <$> hexToByteArray txHash +unsafeHead :: forall a. Array a -> a +unsafeHead = fromJustWithErr "unsafeHead" <<< head + -- Delays the fiber until the given POSIXTime has passed (plus 3 seconds). waitUntil :: POSIXTime -> Contract Unit waitUntil futureTime = do From 004244f88cda87d518f0d3ed21ec7edfc890322e Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Tue, 11 Jun 2024 18:47:38 +0200 Subject: [PATCH 03/23] feat(ws_server): validate auction cs, add tests --- Makefile | 4 +- .../HydraNodeApi/WebSocket.purs | 4 +- app/delegate-server/Lib/WebSocketServer.js | 4 + app/delegate-server/Lib/WebSocketServer.purs | 48 ++++-- .../Types/HydraHeadStatus.purs | 4 + app/delegate-server/WebSocket.js | 7 + app/delegate-server/WebSocket.purs | 19 ++- app/delegate-server/WsServer.purs | 101 +++++++++---- spago.dhall | 1 + src/Helpers.purs | 10 +- test/DelegateServer/WsServer.purs | 141 ++++++++++++++++++ test/Gen.purs | 47 ++++++ test/{Plutip.purs => Main.purs} | 7 +- 13 files changed, 345 insertions(+), 52 deletions(-) create mode 100644 app/delegate-server/WebSocket.js create mode 100644 test/DelegateServer/WsServer.purs create mode 100644 test/Gen.purs rename test/{Plutip.purs => Main.purs} (89%) diff --git a/Makefile b/Makefile index 296b212..3106711 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,8 @@ serve: repl: requires-nix-shell spago repl -plutip-test: requires-nix-shell - CARDANO_NETWORK=mainnet spago run --main Test.Plutip +test: requires-nix-shell + CARDANO_NETWORK=mainnet spago run --main Test.Main plutip-env: requires-nix-shell spago run --main PlutipEnv.Main --exec-args "--payment-skey-file plutip-env/payment.skey" diff --git a/app/delegate-server/HydraNodeApi/WebSocket.purs b/app/delegate-server/HydraNodeApi/WebSocket.purs index 7948342..5f7e3cb 100644 --- a/app/delegate-server/HydraNodeApi/WebSocket.purs +++ b/app/delegate-server/HydraNodeApi/WebSocket.purs @@ -80,7 +80,7 @@ import DelegateServer.Types.HydraNodeApiMessage ) import DelegateServer.Types.HydraSnapshot (HydraSnapshot, hydraSnapshotCodec) import DelegateServer.Types.HydraTx (mkHydraTx) -import DelegateServer.WebSocket (WebSocket, mkWebSocket) +import DelegateServer.WebSocket (WebSocket, mkWebSocket, mkWsUrl) import DelegateServer.WsServer ( DelegateWebSocketServer , DelegateWebSocketServerMessage(HydraHeadStatus, StandingBid) @@ -108,7 +108,7 @@ mkHydraNodeApiWebSocket wsServer onConnect = do runM <- getAppEffRunner liftEffect do ws /\ wsUrl <- mkWebSocket - { hostPort: hydraNodeApi + { url: mkWsUrl hydraNodeApi , inMsgCodec: hydraNodeApiInMessageCodec , outMsgCodec: hydraNodeApiOutMessageCodec , runM diff --git a/app/delegate-server/Lib/WebSocketServer.js b/app/delegate-server/Lib/WebSocketServer.js index 8c9b37e..0553cc9 100644 --- a/app/delegate-server/Lib/WebSocketServer.js +++ b/app/delegate-server/Lib/WebSocketServer.js @@ -15,6 +15,10 @@ export const sendMessage = (ws) => (message) => () => { ws.send(message); }; +export const closeConn = (ws) => (code) => (reason) => () => { + ws.close(code, reason); +}; + export const broadcastMessage = (wss) => (auctionCs) => (message) => () => { wss.clients.forEach((ws) => { if (ws.readyState === WebSocket.OPEN && ws.connPath === "/" + auctionCs) { diff --git a/app/delegate-server/Lib/WebSocketServer.purs b/app/delegate-server/Lib/WebSocketServer.purs index 2a500dd..3550972 100644 --- a/app/delegate-server/Lib/WebSocketServer.purs +++ b/app/delegate-server/Lib/WebSocketServer.purs @@ -1,19 +1,23 @@ module DelegateServer.Lib.WebSocketServer - ( WebSocketServer + ( WebSocketCloseReason + , WebSocketOnConnect + , WebSocketOnConnectAction(AcceptWebSocketConn, CloseWebSocketConn) + , WebSocketOnConnectCb + , WebSocketServer , WebSocketServerOptions , mkWebSocketServer ) where import Prelude -import Contract.Prim.ByteArray (byteArrayToHex) -import Contract.Value (CurrencySymbol, getCurrencySymbol) +import Contract.Value (CurrencySymbol) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Either (Either(Right)) import Data.Traversable (traverse_) import Effect (Effect) import Effect.Aff (Aff, makeAff, nonCanceler) import Effect.Class (class MonadEffect, liftEffect) +import HydraAuctionOffchain.Helpers (csToHex) import HydraAuctionOffchain.Lib.Json (caEncodeString) foreign import data WebSocketServerObj :: Type @@ -24,6 +28,8 @@ foreign import newWebSocketServer :: WebSocketServerOptions -> Effect WebSocketS foreign import sendMessage :: WebSocketConnection -> String -> Effect Unit +foreign import closeConn :: WebSocketConnection -> Int -> String -> Effect Unit + foreign import broadcastMessage :: WebSocketServerObj -> String -> String -> Effect Unit foreign import closeWebSocketServer :: WebSocketServerObj -> Effect Unit -> Effect Unit @@ -38,12 +44,28 @@ type WebSocketServerOptions = , port :: Int } -type WebSocketServer (out :: Type) = - { onConnect :: (String -> (Array out -> Effect Unit) -> Effect Unit) -> Effect Unit +type WebSocketServer out = + { onConnect :: WebSocketOnConnectCb out -> Effect Unit , broadcast :: CurrencySymbol -> out -> Effect Unit , close :: Aff Unit } +type WebSocketOnConnectCb out = WebSocketOnConnect out -> Effect WebSocketOnConnectAction + +type WebSocketOnConnect out = + { connPath :: String + , sendMessages :: Array out -> Effect Unit + } + +data WebSocketOnConnectAction + = AcceptWebSocketConn + | CloseWebSocketConn WebSocketCloseReason + +type WebSocketCloseReason = + { code :: Int + , reason :: String + } + mkWebSocketServer :: forall m out . MonadEffect m @@ -54,12 +76,18 @@ mkWebSocketServer outMessageCodec options = do wss <- liftEffect $ newWebSocketServer options pure { onConnect: \cb -> - onConnect wss \conn path -> - cb path (traverse_ (sendMessage conn <<< caEncodeString outMessageCodec)) + onConnect wss \conn connPath -> do + action <- cb + { connPath + , sendMessages: traverse_ (sendMessage conn <<< caEncodeString outMessageCodec) + } + case action of + CloseWebSocketConn { code, reason } -> closeConn conn code reason + AcceptWebSocketConn -> pure unit - , broadcast: \auctionCs message -> - broadcastMessage wss (byteArrayToHex $ getCurrencySymbol auctionCs) - (caEncodeString outMessageCodec message) + , broadcast: \auctionCs -> + broadcastMessage wss (csToHex auctionCs) + <<< caEncodeString outMessageCodec , close: makeAff \cb -> do diff --git a/app/delegate-server/Types/HydraHeadStatus.purs b/app/delegate-server/Types/HydraHeadStatus.purs index 5224c42..a9e8578 100644 --- a/app/delegate-server/Types/HydraHeadStatus.purs +++ b/app/delegate-server/Types/HydraHeadStatus.purs @@ -20,6 +20,7 @@ import Data.Codec.Argonaut (JsonCodec, prismaticCodec, string) as CA import Data.Generic.Rep (class Generic) import Data.Maybe (Maybe(Just)) import Data.Show.Generic (genericShow) +import Test.QuickCheck.Arbitrary (class Arbitrary, genericArbitrary) data HydraHeadStatus = HeadStatus_Unknown @@ -43,6 +44,9 @@ derive instance Ord HydraHeadStatus instance Show HydraHeadStatus where show = genericShow +instance Arbitrary HydraHeadStatus where + arbitrary = genericArbitrary + headStatusCodec :: CA.JsonCodec HydraHeadStatus headStatusCodec = CA.prismaticCodec "HydraHeadStatus" (Just <<< readHeadStatus) printHeadStatus diff --git a/app/delegate-server/WebSocket.js b/app/delegate-server/WebSocket.js new file mode 100644 index 0000000..a11fde9 --- /dev/null +++ b/app/delegate-server/WebSocket.js @@ -0,0 +1,7 @@ +export const _onWsClose = (ws) => (cb) => () => { + const listener = (ev) => cb(ev.code)(ev.reason)(); + ws.addEventListener("close", listener); + ws.finalizers.push(() => { + ws.removeEventListener("close", listener); + }); +}; diff --git a/app/delegate-server/WebSocket.purs b/app/delegate-server/WebSocket.purs index d2df391..73c90e7 100644 --- a/app/delegate-server/WebSocket.purs +++ b/app/delegate-server/WebSocket.purs @@ -10,7 +10,8 @@ import Prelude import Contract.Log (logTrace') import Control.Monad.Logger.Class (class MonadLogger) import Ctl.Internal.JsWebSocket - ( _mkWebSocket + ( JsWebSocket + , _mkWebSocket , _onWsConnect , _onWsError , _onWsMessage @@ -28,16 +29,19 @@ import Effect.Class (class MonadEffect) import HydraAuctionOffchain.Lib.Json (caDecodeString, caEncodeString) import HydraAuctionOffchain.Types.HostPort (HostPort) +foreign import _onWsClose :: JsWebSocket -> (Int -> String -> Effect Unit) -> Effect Unit + type WebSocket (m :: Type -> Type) (in_ :: Type) (out :: Type) = { onConnect :: m Unit -> Effect Unit , onMessage :: (in_ -> m Unit) -> Effect Unit , onError :: (String -> m Unit) -> Effect Unit + , onClose :: (Int -> String -> m Unit) -> Effect Unit , send :: out -> Effect Unit , close :: Effect Unit } type WebSocketBuilder (m :: Type -> Type) (in_ :: Type) (out :: Type) = - { hostPort :: HostPort + { url :: String , inMsgCodec :: CA.JsonCodec in_ , outMsgCodec :: CA.JsonCodec out , runM :: forall a. m a -> Effect Unit @@ -50,8 +54,8 @@ mkWebSocket => WebSocketBuilder m in_ out -> Effect (WebSocket m in_ out /\ String) mkWebSocket builder = do - ws <- _mkWebSocket wsLogger wsUrl - pure $ flip Tuple wsUrl $ + ws <- _mkWebSocket wsLogger builder.url + pure $ flip Tuple builder.url $ { onConnect: \callback -> _onWsConnect ws (builder.runM callback) @@ -68,6 +72,10 @@ mkWebSocket builder = do \callback -> void $ _onWsError ws (builder.runM <<< callback) + , onClose: + \callback -> + _onWsClose ws (\code -> builder.runM <<< callback code) + , send: \msg -> _wsSend ws wsLogger (caEncodeString builder.outMsgCodec msg) @@ -76,9 +84,6 @@ mkWebSocket builder = do _wsFinalize ws *> _wsClose ws } where - wsUrl :: String - wsUrl = mkWsUrl builder.hostPort - wsLogger :: String -> Effect Unit wsLogger _ = pure unit diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 37f94a0..6f4f5a8 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -4,67 +4,110 @@ module DelegateServer.WsServer ( HydraHeadStatus , StandingBid ) + , WsServerAppMap + , auctionCsDecodingFailure + , auctionCsMismatch + , delegateWsServerMessageCodec , wsServer + , wsServerGeneric ) where import Prelude import Contract.Config (NetworkId) +import Contract.Prim.ByteArray (hexToByteArray) +import Contract.Value (CurrencySymbol, mkCurrencySymbol) import Data.Array (singleton, (:)) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV -import Data.Either (Either(Left, Right)) +import Data.Either (Either(Right)) +import Data.Generic.Rep (class Generic) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing), fromMaybe, maybe) import Data.Profunctor (dimap) +import Data.Show.Generic (genericShow) import Data.String (Pattern(Pattern)) import Data.String (stripPrefix) as String -import Data.Tuple (snd) -import Data.Tuple.Nested ((/\)) +import Data.Tuple (fst, snd) import Data.Variant (inj, match) as Variant -import DelegateServer.App (AppLogger, runAppEff) +import DelegateServer.App (AppLogger, runApp) import DelegateServer.AppMap (AppMap) import DelegateServer.Config (Network, networkToNetworkId) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Lib.WebSocketServer - ( WebSocketServer + ( WebSocketCloseReason + , WebSocketOnConnectAction(AcceptWebSocketConn, CloseWebSocketConn) + , WebSocketServer , WebSocketServerOptions , mkWebSocketServer ) import DelegateServer.State (readAppState) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus, headStatusCodec) -import Effect.Aff (Aff) +import Effect.Aff (Aff, launchAff_) import Effect.Class (liftEffect) -import HydraAuctionOffchain.Codec (currencySymbolCodec) import HydraAuctionOffchain.Contract.Types (StandingBidState, standingBidStateCodec) -import HydraAuctionOffchain.Lib.Json (caDecodeString) import Type.Proxy (Proxy(Proxy)) import URI.Port (Port) import URI.Port (toInt) as Port +auctionCsDecodingFailure :: WebSocketCloseReason +auctionCsDecodingFailure = + { code: 4000 + , reason: "Could not decode Auction-Cs from the query string" + } + +auctionCsMismatch :: WebSocketCloseReason +auctionCsMismatch = + { code: 4001 + , reason: + "Provided Auction-Cs does not correspond to any auction served \ + \by this delegate server" + } + +type WsServerAppMap appState = + { lookupApp :: CurrencySymbol -> Maybe appState + , getHeadStatus :: appState -> Aff HydraHeadStatus + , getStandingBid :: appState -> Aff (Maybe StandingBidState) + } + wsServer :: Port -> Network -> AppMap Unit -> AppLogger -> Aff DelegateWebSocketServer -wsServer wsServerPort network appMap appLogger = do +wsServer wsServerPort network appMap appLogger = + wsServerGeneric wsServerPort network + { lookupApp: \auctionCs -> + fst <$> Map.lookup auctionCs appMap + , getHeadStatus: \appState -> + runApp appState appLogger $ readAppState (Proxy :: _ "headStatus") + , getStandingBid: \appState -> + runApp appState appLogger $ map snd <$> queryStandingBidL2 + } + +wsServerGeneric + :: forall appState + . Port + -> Network + -> WsServerAppMap appState + -> Aff DelegateWebSocketServer +wsServerGeneric wsServerPort network appMap = do wss <- mkWebSocketServer (delegateWsServerMessageCodec $ networkToNetworkId network) wsServerOptions liftEffect do - wss.onConnect \connPath sendMessages -> do + wss.onConnect \{ connPath, sendMessages } -> do let auctionCsRaw = fromMaybe connPath $ String.stripPrefix (Pattern "/") connPath - case caDecodeString currencySymbolCodec auctionCsRaw of - Left _decodeErr -> - -- TODO: close ws connection with a descriptive error message - pure unit - Right auctionCs -> - case Map.lookup auctionCs appMap of - Nothing -> - -- TODO: close ws connection with a descriptive error message - pure unit - Just (appState /\ _) -> - runAppEff appState appLogger do - headStatus <- readAppState (Proxy :: _ "headStatus") - standingBid <- map snd <$> queryStandingBidL2 - liftEffect $ sendMessages $ - HydraHeadStatus headStatus - : maybe mempty (singleton <<< StandingBid) standingBid + case mkCurrencySymbol =<< hexToByteArray auctionCsRaw of + Nothing -> do + pure $ CloseWebSocketConn auctionCsDecodingFailure + Just auctionCs -> + case appMap.lookupApp auctionCs of + Nothing -> do + pure $ CloseWebSocketConn auctionCsMismatch + Just appState -> + AcceptWebSocketConn <$ launchAff_ do + headStatus <- appMap.getHeadStatus appState + standingBid <- appMap.getStandingBid appState + liftEffect do + sendMessages $ + HydraHeadStatus headStatus + : maybe mempty (singleton <<< StandingBid) standingBid pure wss where wsServerOptions :: WebSocketServerOptions @@ -79,6 +122,12 @@ data DelegateWebSocketServerMessage = HydraHeadStatus HydraHeadStatus | StandingBid StandingBidState +derive instance Generic DelegateWebSocketServerMessage _ +derive instance Eq DelegateWebSocketServerMessage + +instance Show DelegateWebSocketServerMessage where + show = genericShow + delegateWsServerMessageCodec :: NetworkId -> CA.JsonCodec DelegateWebSocketServerMessage delegateWsServerMessageCodec network = dimap toVariant fromVariant diff --git a/spago.dhall b/spago.dhall index 0a37838..b4b629f 100644 --- a/spago.dhall +++ b/spago.dhall @@ -21,6 +21,7 @@ , "foldable-traversable" , "foreign-object" , "formatters" + , "gen" , "http-methods" , "httpure" , "integers" diff --git a/src/Helpers.purs b/src/Helpers.purs index 6a2f98f..79148c4 100644 --- a/src/Helpers.purs +++ b/src/Helpers.purs @@ -1,5 +1,6 @@ module HydraAuctionOffchain.Helpers - ( dateTimeFromPosixTimeUnsafe + ( csToHex + , dateTimeFromPosixTimeUnsafe , errV , exceptNoteE , fromJustWithErr @@ -20,7 +21,7 @@ import Prelude import Contract.Monad (Contract) import Contract.PlutusData (class FromData, Datum(Datum), OutputDatum(OutputDatum), fromData) -import Contract.Prim.ByteArray (byteArrayFromAscii) +import Contract.Prim.ByteArray (byteArrayFromAscii, byteArrayToHex) import Contract.Scripts (PlutusScript(PlutusScript)) import Contract.Time (POSIXTime) import Contract.Transaction @@ -30,7 +31,7 @@ import Contract.Transaction , TransactionOutputWithRefScript ) import Contract.Utxos (utxosAt) -import Contract.Value (TokenName, mkTokenName) +import Contract.Value (CurrencySymbol, TokenName, getCurrencySymbol, mkTokenName) import Control.Error.Util (hush, (!?)) import Control.Monad.Error.Class (class MonadError, class MonadThrow, liftEither, try) import Control.Monad.Except (ExceptT) @@ -127,3 +128,6 @@ withEmptyPlutusV2Script output = wrap scriptRefEmpty :: ScriptRef scriptRefEmpty = PlutusScriptRef $ PlutusScript (mempty /\ PlutusV2) + +csToHex :: CurrencySymbol -> String +csToHex = byteArrayToHex <<< getCurrencySymbol diff --git a/test/DelegateServer/WsServer.purs b/test/DelegateServer/WsServer.purs new file mode 100644 index 0000000..dea18cd --- /dev/null +++ b/test/DelegateServer/WsServer.purs @@ -0,0 +1,141 @@ +module Test.DelegateServer.WsServer + ( suite + ) where + +import Prelude + +import Contract.Config (NetworkId(MainnetId)) +import Contract.Value (CurrencySymbol) +import Control.Monad.Logger.Trans (LoggerT, runLoggerT) +import Data.Array (cons, elemIndex, singleton) as Array +import Data.Codec.Argonaut (null) as CA +import Data.Maybe (Maybe(Just, Nothing)) +import Data.Tuple (fst) +import DelegateServer.Config (Network(Mainnet)) +import DelegateServer.Lib.AVar (modifyAVar_) +import DelegateServer.Lib.WebSocketServer (WebSocketCloseReason) +import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) +import DelegateServer.WebSocket (WebSocketBuilder, mkWebSocket) +import DelegateServer.WsServer + ( DelegateWebSocketServer + , DelegateWebSocketServerMessage(HydraHeadStatus, StandingBid) + , WsServerAppMap + , auctionCsDecodingFailure + , auctionCsMismatch + , delegateWsServerMessageCodec + , wsServerGeneric + ) +import Effect.Aff (Aff, launchAff_) +import Effect.Aff.AVar (AVar) +import Effect.Aff.AVar (empty, new, tryPut, tryRead) as AVar +import Effect.Aff.Class (liftAff) +import Effect.Class (liftEffect) +import HydraAuctionOffchain.Contract.Types (StandingBidState) +import HydraAuctionOffchain.Helpers (csToHex, waitSeconds) +import Mote (MoteT, group, test) +import Test.Gen (genStandingBid) +import Test.Helpers (mkCurrencySymbolUnsafe) +import Test.QuickCheck (arbitrary) +import Test.QuickCheck.Gen (randomSampleOne) +import Test.Spec.Assertions (shouldReturn) +import URI.Port (Port) +import URI.Port (print, unsafeFromInt) as Port + +suite :: MoteT Aff (Aff Unit) Aff Unit +suite = + group "ws-server" do + test "sends hydra head status on connection" do + headStatus <- liftEffect $ randomSampleOne arbitrary + withWsServer [ auctionCsFixture0 ] headStatus Nothing \_ -> + connWsServerTrackMessages (csToHex auctionCsFixture0) \messages -> do + waitSeconds one + AVar.tryRead messages `shouldReturn` + Just (Array.singleton $ HydraHeadStatus headStatus) + + test "sends hydra head status and standing bid on connection" do + headStatus <- liftEffect $ randomSampleOne arbitrary + standingBid <- liftEffect $ randomSampleOne genStandingBid + withWsServer [ auctionCsFixture0 ] headStatus (Just standingBid) \_ -> + connWsServerTrackMessages (csToHex auctionCsFixture0) \messages -> do + waitSeconds one + AVar.tryRead messages `shouldReturn` + Just [ StandingBid standingBid, HydraHeadStatus headStatus ] + + test "closes connection on auction currency symbol decoding failure" do + headStatus <- liftEffect $ randomSampleOne arbitrary + withWsServer mempty headStatus Nothing \_ -> + connWsServerExpectClose "invalidCs" \closeReason -> do + waitSeconds one + AVar.tryRead closeReason `shouldReturn` + Just auctionCsDecodingFailure + + test "closes connection on auction currency mismatch" do + headStatus <- liftEffect $ randomSampleOne arbitrary + withWsServer [ auctionCsFixture0 ] headStatus Nothing \_ -> + connWsServerExpectClose (csToHex auctionCsFixture1) \closeReason -> do + waitSeconds one + AVar.tryRead closeReason `shouldReturn` + Just auctionCsMismatch + +wsServerPort :: Port +wsServerPort = Port.unsafeFromInt 7080 + +withWsServer + :: Array CurrencySymbol + -> HydraHeadStatus + -> Maybe StandingBidState + -> (DelegateWebSocketServer -> Aff Unit) + -> Aff Unit +withWsServer auctionsToServe headStatus standingBid cont = do + let appMap = appMapMock auctionsToServe headStatus standingBid + wsServer <- wsServerGeneric wsServerPort Mainnet appMap + cont wsServer + wsServer.close + +appMapMock + :: Array CurrencySymbol + -> HydraHeadStatus + -> Maybe StandingBidState + -> WsServerAppMap Unit +appMapMock auctionsToServe headStatus standingBid = do + { lookupApp: \auctionCs -> unit <$ Array.elemIndex auctionCs auctionsToServe + , getHeadStatus: const (pure headStatus) + , getStandingBid: const (pure standingBid) + } + +connWsServerTrackMessages + :: String + -> (AVar (Array DelegateWebSocketServerMessage) -> Aff Unit) + -> Aff Unit +connWsServerTrackMessages auctionCs cont = do + messages <- AVar.new mempty + ws <- liftEffect $ fst <$> mkWebSocket (wsBuilder auctionCs) + liftEffect $ ws.onMessage $ \m -> modifyAVar_ messages (pure <<< Array.cons m) + cont messages + liftEffect ws.close + +connWsServerExpectClose :: String -> (AVar WebSocketCloseReason -> Aff Unit) -> Aff Unit +connWsServerExpectClose auctionCs cont = do + closeReason <- AVar.empty + ws <- liftEffect $ fst <$> mkWebSocket (wsBuilder auctionCs) + liftEffect $ ws.onClose \code reason -> + liftAff $ void $ AVar.tryPut { code, reason } closeReason + cont closeReason + +wsBuilder :: String -> WebSocketBuilder (LoggerT Aff) DelegateWebSocketServerMessage Unit +wsBuilder auctionCs = + { url: "ws://127.0.0.1" <> Port.print wsServerPort <> "/" <> auctionCs + , inMsgCodec: delegateWsServerMessageCodec MainnetId + , outMsgCodec: CA.null + , runM: launchAff_ <<< void <<< flip runLoggerT (const (pure unit)) + } + +auctionCsFixture0 :: CurrencySymbol +auctionCsFixture0 = + mkCurrencySymbolUnsafe + "5d677265fa5bb21ce6d8c7502aca70b9316d10e958611f3c6b758f65" + +auctionCsFixture1 :: CurrencySymbol +auctionCsFixture1 = + mkCurrencySymbolUnsafe + "92c4f22371bd453aec9fe19ccebfbc88211ae854b5eab424bcd4c26d" diff --git a/test/Gen.purs b/test/Gen.purs new file mode 100644 index 0000000..cbca94f --- /dev/null +++ b/test/Gen.purs @@ -0,0 +1,47 @@ +module Test.Gen + ( genBidTerms + , genBidderInfo + , genPubKeyHashAddress + , genStandingBid + ) where + +import Prelude + +import Contract.Address (Address, pubKeyHashAddress) +import Control.Monad.Gen.Common (genMaybe) +import Data.Maybe (Maybe(Nothing)) +import Data.Newtype (wrap) +import HydraAuctionOffchain.Contract.Types (BidTerms, BidderInfo, StandingBidState) +import JS.BigInt (fromInt) as BigInt +import Test.QuickCheck (arbitrary) +import Test.QuickCheck.Gen (Gen, chooseInt) + +genStandingBid :: Gen StandingBidState +genStandingBid = wrap <$> genMaybe genBidTerms + +genBidTerms :: Gen BidTerms +genBidTerms = do + bidder <- genBidderInfo + price <- BigInt.fromInt <$> chooseInt zero top + bidderSignature <- arbitrary + sellerSignature <- arbitrary + pure $ wrap + { bidder + , price + , bidderSignature + , sellerSignature + } + +genBidderInfo :: Gen BidderInfo +genBidderInfo = do + bidderAddress <- genPubKeyHashAddress + bidderVk <- arbitrary + pure $ wrap + { bidderAddress + , bidderVk + } + +genPubKeyHashAddress :: Gen Address +genPubKeyHashAddress = + arbitrary <#> + flip pubKeyHashAddress Nothing <<< wrap <<< wrap diff --git a/test/Plutip.purs b/test/Main.purs similarity index 89% rename from test/Plutip.purs rename to test/Main.purs index e1d7a30..06e7bfc 100644 --- a/test/Plutip.purs +++ b/test/Main.purs @@ -1,4 +1,4 @@ -module Test.Plutip +module Test.Main ( main ) where @@ -17,6 +17,7 @@ import Test.Contract.DelegateServer (suite) as DelegateServer import Test.Contract.EnterAuction (suite) as EnterAuction import Test.Contract.PlaceBid (suite) as PlaceBid import Test.Contract.StartBidding (suite) as StartBidding +import Test.DelegateServer.WsServer (suite) as WsServer import Test.Plutip.Config (plutipConfig) main :: Effect Unit @@ -25,7 +26,9 @@ main = do interruptOnSignal SIGINT fiber *> interruptOnSignal SIGTERM fiber suite :: TestPlanM (Aff Unit) Unit -suite = +suite = do + group "delegate-server" do + WsServer.suite testPlutipContracts plutipConfig do group "contracts" do AnnounceAuction.suite From f3ee32c62d0e108b96882f96fbce8ee3527c54d3 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 12 Jun 2024 13:53:37 +0200 Subject: [PATCH 04/23] chore: fix ci --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index b713e0a..7da28e0 100644 --- a/flake.nix +++ b/flake.nix @@ -50,7 +50,7 @@ enableFormatCheck = true; plutip = { - testMain = "Test.Plutip"; + testMain = "Test.Main"; buildInputs = [ inputs.hydra.packages.${system}.hydra-node ]; From 32b9dc234a53ffdd8af0cceeda2aaa519802948d Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 12 Jun 2024 16:30:53 +0200 Subject: [PATCH 05/23] feat(delegate_server): revise resource cleanup logic --- app/delegate-server/App.purs | 10 +- app/delegate-server/Cleanup.purs | 60 +++++++++++ app/delegate-server/Main.purs | 103 ++++++------------- app/delegate-server/State.purs | 15 ++- app/delegate-server/Types/AppExitReason.purs | 2 + test/Contract/DelegateServer.purs | 6 +- test/DelegateServer/Cluster.purs | 44 ++++---- 7 files changed, 132 insertions(+), 108 deletions(-) create mode 100644 app/delegate-server/Cleanup.purs diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 14647b9..603a2b4 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -167,7 +167,7 @@ type AppState = , auctionInfo :: AVar AuctionInfoExtended , headStatus :: AVar HydraHeadStatus , livePeers :: AVar (Set String) - , exitSem :: AVar AppExitReason + , exit :: AVar (AppExitReason -> Effect Unit) , headCs :: AVar CurrencySymbol , collateralUtxo :: AVar Utxo , commitStatus :: AVar CommitStatus @@ -189,8 +189,8 @@ instance MonadAccess AppM "headStatus" (AVar HydraHeadStatus) where instance MonadAccess AppM "livePeers" (AVar (Set String)) where access _ = asks _.livePeers -instance MonadAccess AppM "exitSem" (AVar AppExitReason) where - access _ = asks _.exitSem +instance MonadAccess AppM "exit" (AVar (AppExitReason -> Effect Unit)) where + access _ = asks _.exit instance MonadAccess AppM "headCs" (AVar CurrencySymbol) where access _ = asks _.headCs @@ -210,7 +210,7 @@ initApp (AppConfig appConfig) auctionConfig = do auctionInfo <- AVar.empty headStatus <- AVar.new HeadStatus_Unknown livePeers <- AVar.new Set.empty - exitSem <- AVar.empty + exit <- AVar.empty headCs <- AVar.empty collateralUtxo <- AVar.empty commitStatus <- AVar.new ShouldCommitCollateral @@ -221,7 +221,7 @@ initApp (AppConfig appConfig) auctionConfig = do , auctionInfo , headStatus , livePeers - , exitSem + , exit , headCs , collateralUtxo , commitStatus diff --git a/app/delegate-server/Cleanup.purs b/app/delegate-server/Cleanup.purs new file mode 100644 index 0000000..06d2585 --- /dev/null +++ b/app/delegate-server/Cleanup.purs @@ -0,0 +1,60 @@ +module DelegateServer.Cleanup + ( appCleanupHandler + , appInstanceCleanupHandler + , cancelTimers + ) where + +import Prelude + +import Contract.Monad (ContractEnv, stopContractEnv) +import Data.Maybe (Maybe) +import Data.Posix.Signal (Signal(SIGTERM)) +import Data.Traversable (traverse_) +import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) +import DelegateServer.Types.AppExitReason (AppExitReason(AppExitReason_Cleanup)) +import DelegateServer.WsServer (DelegateWebSocketServer) +import Effect (Effect) +import Effect.AVar (AVar) +import Effect.AVar (take) as AVarSync +import Effect.Aff (launchAff_) +import Effect.Console (log) +import Effect.Timer (TimeoutId) +import Effect.Timer (clearTimeout) as Timer +import Node.ChildProcess (ChildProcess, kill) + +appCleanupHandler + :: (Effect Unit -> Effect Unit) + -> DelegateWebSocketServer + -> Array (AppExitReason -> Effect Unit) + -> Effect Unit +appCleanupHandler closeHttpServer wsServer handlers = do + log "Stopping HTTP server." + *> closeHttpServer (pure unit) + log "Stopping WebSocket server." + *> launchAff_ wsServer.close + log "Executing app instance cleanup handlers." + *> traverse_ (_ $ AppExitReason_Cleanup) handlers + +appInstanceCleanupHandler + :: ChildProcess + -> HydraNodeApiWebSocket + -> ContractEnv + -> Array (AVar (Maybe TimeoutId)) + -> Effect Unit +appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers = do + log "Cancelling timers." + *> cancelTimers timers + log "Closing Hydra Node API WebSocket connection." + *> hydraNodeApiWs.baseWs.close + log "Stopping hydra-node." + *> kill SIGTERM hydraNodeProcess + log "Finalizing Contract environment." + *> launchAff_ (stopContractEnv contractEnv) + +cancelTimers :: Array (AVar (Maybe TimeoutId)) -> Effect Unit +cancelTimers = + traverse_ + ( \timer -> + AVarSync.take timer \timeout -> + traverse_ (traverse_ Timer.clearTimeout) timeout + ) diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index b63e370..6d5823b 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -11,10 +11,8 @@ import Ansi.Output (foreground, withGraphics) import Contract.Address (getNetworkId) import Contract.Config (QueryBackendParams) import Contract.Log (logInfo', logTrace', logWarn') -import Contract.Monad (ContractEnv, stopContractEnv) import Control.Parallel (parTraverse) import Ctl.Internal.Helpers ((<>)) -import Data.Array (concat) as Array import Data.Foldable (foldMap) import Data.Int (decimal, toStringAs) as Int import Data.Maybe (Maybe, maybe) @@ -22,14 +20,13 @@ import Data.Newtype (unwrap) import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) import Data.String (Pattern(Pattern)) import Data.String (contains) as String -import Data.Traversable (for_, sequence, traverse_) -import Data.Tuple (Tuple(Tuple), fst, snd) +import Data.Traversable (sequence) +import Data.Tuple (Tuple(Tuple)) import Data.Tuple.Nested ((/\)) import Data.UInt (toString) as UInt import DelegateServer.App ( AppLogger , AppM - , AppState , appLoggerDefault , getAppEffRunner , initApp @@ -37,7 +34,8 @@ import DelegateServer.App , runContract , runContractExitOnErr ) -import DelegateServer.AppMap (buildAppMap) +import DelegateServer.AppMap (AppMap, buildAppMap) +import DelegateServer.Cleanup (appCleanupHandler, appInstanceCleanupHandler) import DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) @@ -56,6 +54,7 @@ import DelegateServer.State , class AppInit , access , exitWithReason + , putAppState , readAppState , setAuctionInfo , setCollateralUtxo @@ -75,20 +74,19 @@ import DelegateServer.Types.HydraHeadStatus import DelegateServer.WsServer (DelegateWebSocketServer, wsServer) import Effect (Effect) import Effect.AVar (AVar) -import Effect.AVar (take, tryPut, tryTake) as AVarSync -import Effect.Aff (Aff, launchAff_, runAff_) +import Effect.AVar (tryPut, tryTake) as AVarSync +import Effect.Aff (Aff, launchAff_) import Effect.Aff.AVar (empty, new, take, tryPut) as AVar import Effect.Aff.Class (liftAff) import Effect.Class (liftEffect) import Effect.Console (log) import Effect.Exception (message) import Effect.Timer (TimeoutId) -import Effect.Timer (clearTimeout) as Timer import HydraAuctionOffchain.Contract.Types (auctionInfoExtendedCodec) import HydraAuctionOffchain.Helpers (waitSeconds) import HydraAuctionOffchain.Lib.Json (printJsonUsingCodec) import HydraAuctionOffchain.Types.HostPort (printHostPort) -import Node.ChildProcess (ChildProcess, defaultSpawnOptions, kill, spawn, stderr, stdout) +import Node.ChildProcess (ChildProcess, defaultSpawnOptions, spawn, stderr, stdout) import Node.Encoding (Encoding(UTF8)) as Encoding import Node.Process (onSignal, onUncaughtException) import Node.Stream (onDataString) @@ -105,18 +103,10 @@ main = launchAff_ do onSignal SIGINT appHandle.cleanupHandler onSignal SIGTERM appHandle.cleanupHandler -{- -exitReason <- AVar.take appHandle.appState.exitSem -liftEffect do - log $ withGraphics (foreground Red) $ show exitReason - appHandle.cleanupHandler --} - type AppHandle = - { cleanupHandler :: Effect Unit + { appMap :: AppMap HydraNodeApiWebSocket , appLogger :: AppLogger - , apps :: Array AppState - , hydraNodeApiWebSockets :: Array HydraNodeApiWebSocket + , cleanupHandler :: Effect Unit } startDelegateServer :: AppConfig' (Array AuctionConfig) QueryBackendParams -> Aff AppHandle @@ -137,73 +127,46 @@ startDelegateServer appConfig@(AppConfig appConfigRec) = do appMap0 <- buildAppMap $ flip Tuple unit <$> appStateList wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appMap0 appLogger - resources <- parTraverse + appInstances <- parTraverse ( \appState -> runApp appState appLogger do hydraNodeProcess <- startHydraNode - hydraApiWs <- initHydraApiWsConn wsServer' + hydraNodeApiWs <- initHydraApiWsConn wsServer' timers <- sequence - [ initHeadAtBiddingStart hydraApiWs - , closeHeadAtBiddingEnd hydraApiWs + [ initHeadAtBiddingStart hydraNodeApiWs + , closeHeadAtBiddingEnd hydraNodeApiWs ] - pure { appMapValues: appState /\ hydraApiWs, hydraNodeProcess, timers } + + contractEnv <- unwrap <$> access (Proxy :: _ "contractEnv") + cleanupSem <- liftAff $ AVar.new unit + let + cleanupHandler exitReason = + AVarSync.tryTake cleanupSem >>= + maybe (pure unit) \_ -> do + log $ withGraphics (foreground Red) $ show exitReason + appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers + + putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance + pure { appMapValue: appState /\ hydraNodeApiWs, cleanupHandler } ) appStateList - appMap1 <- buildAppMap $ _.appMapValues <$> resources - closeServer <- liftEffect $ httpServer appConfigRec.serverPort appLogger appMap1 + appMap1 <- buildAppMap $ _.appMapValue <$> appInstances + closeHttpServer <- liftEffect $ httpServer appConfigRec.serverPort appLogger appMap1 cleanupSem <- liftAff $ AVar.new unit let - apps = resources <#> fst <<< _.appMapValues - hydraNodeProcs = resources <#> _.hydraNodeProcess - hydraNodeApiWebSockets = resources <#> snd <<< _.appMapValues - cleanupHandler' = + cleanupHandler = AVarSync.tryTake cleanupSem >>= - maybe (pure unit) - ( const - ( cleanupHandler hydraNodeProcs hydraNodeApiWebSockets wsServer' closeServer - (apps <#> unwrap <<< _.contractEnv) - (Array.concat $ _.timers <$> resources) - ) - ) + maybe (pure unit) \_ -> + appCleanupHandler closeHttpServer wsServer' (_.cleanupHandler <$> appInstances) pure - { cleanupHandler: cleanupHandler' + { appMap: appMap1 , appLogger - , apps - , hydraNodeApiWebSockets + , cleanupHandler } -cleanupHandler - :: Array ChildProcess - -> Array HydraNodeApiWebSocket - -> DelegateWebSocketServer - -> (Effect Unit -> Effect Unit) - -> Array ContractEnv - -> Array (AVar (Maybe TimeoutId)) - -> Effect Unit -cleanupHandler - hydraNodeProcs - hydraNodeApiWebSockets - wsServer - closeHttpServer - contractEnvs - timers = do - log "\nCancelling timers." - for_ timers \timer -> - AVarSync.take timer \timeout -> do - traverse_ (traverse_ Timer.clearTimeout) timeout - log "Stopping HTTP server." - closeHttpServer do - log "Closing Hydra Node API ws connections." - traverse_ _.baseWs.close hydraNodeApiWebSockets - log "Killing Hydra nodes." - traverse_ (kill SIGINT) hydraNodeProcs - log "Finalizing Contract environments, stopping ws server." - flip runAff_ (wsServer.close <* traverse_ stopContractEnv contractEnvs) $ - const (log "Successfully completed all cleanup actions -> exiting.") - setAuction :: forall m. AppBase m => m Unit setAuction = do { auctionConfig: { auctionMetadataOref } } <- unwrap <$> access (Proxy :: _ "config") diff --git a/app/delegate-server/State.purs b/app/delegate-server/State.purs index 12afa90..15514f3 100644 --- a/app/delegate-server/State.purs +++ b/app/delegate-server/State.purs @@ -9,6 +9,7 @@ module DelegateServer.State , access , accessRec , exitWithReason + , putAppState , readAppState , setAuctionInfo , setCollateralUtxo @@ -28,15 +29,18 @@ import Control.Monad.Trans.Class (class MonadTrans, lift) import Data.Newtype (class Newtype) import Data.Set (Set) import Data.Symbol (class IsSymbol) +import Data.Traversable (traverse_) import DelegateServer.Config (AppConfig) import DelegateServer.Lib.AVar (modifyAVar_) import DelegateServer.Types.AppExitReason (AppExitReason) import DelegateServer.Types.CommitStatus (CommitStatus) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) import DelegateServer.Types.HydraSnapshot (HydraSnapshot) +import Effect (Effect) import Effect.Aff.AVar (AVar) -import Effect.Aff.AVar (read, tryPut) as AVar +import Effect.Aff.AVar (read, tryPut, tryTake) as AVar import Effect.Aff.Class (class MonadAff, liftAff) +import Effect.Class (liftEffect) import Effect.Exception (Error) import HydraAuctionOffchain.Contract.Types (AuctionInfoExtended, Utxo) import Prim.Row (class Cons, class Lacks) @@ -90,7 +94,7 @@ class , MonadAccess m "auctionInfo" (AVar AuctionInfoExtended) , MonadAccess m "headStatus" (AVar HydraHeadStatus) , MonadAccess m "livePeers" (AVar (Set String)) - , MonadAccess m "exitSem" (AVar AppExitReason) + , MonadAccess m "exit" (AVar (AppExitReason -> Effect Unit)) ) <= AppBase m @@ -199,8 +203,11 @@ setCommitStatus = updAppState (Proxy :: _ "commitStatus") exitWithReason :: forall m - . MonadAccess m "exitSem" (AVar AppExitReason) + . MonadAccess m "exit" (AVar (AppExitReason -> Effect Unit)) => MonadAff m => AppExitReason -> m Unit -exitWithReason = putAppState (Proxy :: _ "exitSem") +exitWithReason exitReason = do + exitAv <- access (Proxy :: _ "exit") + exit <- liftAff $ AVar.tryTake exitAv + liftEffect $ traverse_ (_ $ exitReason) exit diff --git a/app/delegate-server/Types/AppExitReason.purs b/app/delegate-server/Types/AppExitReason.purs index 89cc77f..79c1a6c 100644 --- a/app/delegate-server/Types/AppExitReason.purs +++ b/app/delegate-server/Types/AppExitReason.purs @@ -2,6 +2,7 @@ module DelegateServer.Types.AppExitReason ( AppExitReason ( AppExitReason_HeadFinalized , AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus + , AppExitReason_Cleanup ) ) where @@ -14,6 +15,7 @@ import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) data AppExitReason = AppExitReason_HeadFinalized | AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus HydraHeadStatus + | AppExitReason_Cleanup derive instance Generic AppExitReason _ derive instance Eq AppExitReason diff --git a/test/Contract/DelegateServer.purs b/test/Contract/DelegateServer.purs index 08abed0..f5dae3a 100644 --- a/test/Contract/DelegateServer.purs +++ b/test/Contract/DelegateServer.purs @@ -24,13 +24,13 @@ import DelegateServer.Handlers.PlaceBid ( PlaceBidError(PlaceBidError_ContractError) , PlaceBidSuccess(PlaceBidSuccess_SubmittedTransaction) ) -import DelegateServer.Types.AppExitReason (AppExitReason(AppExitReason_HeadFinalized)) import DelegateServer.Types.HydraHeadStatus ( HydraHeadStatus ( HeadStatus_Idle , HeadStatus_Initializing , HeadStatus_Open , HeadStatus_Closed + , HeadStatus_Final ) ) import DelegateServer.Types.ServerResponse @@ -106,8 +106,8 @@ suite = placeL2Bids (validBids { maxNumBids: 2 }) shortBiddingPeriod \rec -> do let biddingEnd = (unwrap (unwrap rec.auctionInfo).auctionTerms).biddingEnd waitUntil biddingEnd - untilM (eq (Just AppExitReason_HeadFinalized)) - rec.appHandle.getAppExitReason + untilM (eq HeadStatus_Final) + rec.appHandle.getHeadStatus let lastBid = Array.last rec.bids <#> StandingBidState <<< Just untilM (eq lastBid <<< map snd) do queryStandingBidUtxo (unwrap rec.auctionInfo) diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 6578262..ae8c0ce 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -24,6 +24,7 @@ import Ctl.Internal.Plutip.Utils (tmpdir) import Ctl.Internal.Types.Int (fromInt) import Ctl.Internal.Wallet.Key (KeyWallet(KeyWallet)) import Data.Array (concat, deleteAt, replicate) +import Data.Array (fromFoldable) as Array import Data.Array.NonEmpty (NonEmptyArray) import Data.Array.NonEmpty (fromArray, head, toArray) as NEArray import Data.Codec.Argonaut (JsonCodec, array, int, object) as CA @@ -31,7 +32,7 @@ import Data.Codec.Argonaut.Record (record) as CAR import Data.Foldable (length) import Data.Int (decimal, toStringAs) import Data.Log.Level (LogLevel(Info, Warn)) -import Data.Map (singleton) as Map +import Data.Map (singleton, values) as Map import Data.Maybe (Maybe(Nothing)) import Data.Newtype (modify, unwrap, wrap) import Data.TraversableWithIndex (traverseWithIndex) @@ -44,9 +45,9 @@ import DelegateServer.Config (AppConfig', Network(Mainnet), AuctionConfig) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidHandlerImpl) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidHandlerImpl) +import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) import DelegateServer.Main (AppHandle, startDelegateServer) import DelegateServer.State (access, readAppState) -import DelegateServer.Types.AppExitReason (AppExitReason) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) import Effect (Effect) import Effect.Aff (Aff, bracket) @@ -90,7 +91,6 @@ type TestAppHandle = , moveBidToL2 :: Contract MoveBidResponse , queryStandingBidL2 :: Contract (Maybe StandingBidState) , placeBidL2 :: BidTerms -> Contract PlaceBidResponse - , getAppExitReason :: Contract (Maybe AppExitReason) } withWallets' @@ -160,46 +160,38 @@ withDelegateServerCluster contractEnv clusterConfig peers action = ) ( \(apps /\ _) -> let - withRandomAppHandle :: forall a. (AppHandle -> AppM a) -> Contract a - withRandomAppHandle f = + withRandomApp :: forall a. (HydraNodeApiWebSocket -> AppM a) -> Contract a + withRandomApp f = liftAff do appHandle <- randomElem apps - runApp (unsafeHead appHandle.apps) appHandle.appLogger $ f appHandle + let + (appState /\ ws) = unsafeHead $ Array.fromFoldable $ Map.values + appHandle.appMap + runApp appState appHandle.appLogger $ f ws - withRandomAppHandle_ :: forall a. AppM a -> Contract a - withRandomAppHandle_ = - withRandomAppHandle - <<< const + withRandomApp_ :: forall a. AppM a -> Contract a + withRandomApp_ = withRandomApp <<< const in runContractInEnv contractEnv $ action { getActiveAuction: - withRandomAppHandle_ do + withRandomApp_ $ liftAff <<< AVar.tryRead =<< access (Proxy :: _ "auctionInfo") , getHeadStatus: - withRandomAppHandle_ do - readAppState (Proxy :: _ "headStatus") + withRandomApp_ $ readAppState (Proxy :: _ "headStatus") , moveBidToL2: - withRandomAppHandle \appHandle -> - moveBidHandlerImpl $ unsafeHead appHandle.hydraNodeApiWebSockets + withRandomApp moveBidHandlerImpl , queryStandingBidL2: - withRandomAppHandle_ do - map snd <$> queryStandingBidL2 + withRandomApp_ $ map snd <$> queryStandingBidL2 , placeBidL2: \bidTerms -> - withRandomAppHandle \appHandle -> do + withRandomApp \hydraNodeApiWs -> do env <- wrap <$> runContract (patchContractEnv MainnetId) - let - body = caEncodeString (bidTermsCodec MainnetId) bidTerms - ws = unsafeHead appHandle.hydraNodeApiWebSockets - local (_ { contractEnv = env }) $ placeBidHandlerImpl ws body - - , getAppExitReason: - withRandomAppHandle_ do - liftAff <<< AVar.tryRead =<< access (Proxy :: _ "exitSem") + let body = caEncodeString (bidTermsCodec MainnetId) bidTerms + local (_ { contractEnv = env }) $ placeBidHandlerImpl hydraNodeApiWs body } ) From 155d81fa9339e2dfab676fc0954f0d088aa05bc4 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 12 Jun 2024 17:01:23 +0200 Subject: [PATCH 06/23] feat(delegate_server)!: use hydra-node internal wallet for collateral --- app/delegate-server/App.purs | 2 +- app/delegate-server/Config.purs | 7 - app/delegate-server/Contract/Commit.purs | 12 +- app/delegate-server/Contract/PlaceBid.purs | 13 +- .../Handlers/SignCommitTx.purs | 6 +- app/delegate-server/Lib/Wallet.purs | 18 - flake.lock | 331 +++++++++--------- flake.nix | 2 +- test/DelegateServer/Cluster.purs | 4 - 9 files changed, 174 insertions(+), 221 deletions(-) delete mode 100644 app/delegate-server/Lib/Wallet.purs diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 603a2b4..3ba8064 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -233,7 +233,7 @@ initApp (AppConfig appConfig) auctionConfig = do { backendParams: appConfig.queryBackend , networkId: networkToNetworkId appConfig.network , logLevel: appConfig.ctlLogLevel - , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile auctionConfig.walletSk) Nothing + , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile auctionConfig.cardanoSk) Nothing , customLogger: Nothing , suppressLogs: true , hooks: emptyHooks diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index db7c04a..75f1170 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -50,8 +50,6 @@ import URI.Port (Port) -- TODO: check that `auctionMetadataOref` exists and points to a valid auction -- TODO: check the balance of `cardanoSk` -- TODO: generate `hydraNodeId` using UUID --- TODO: remove `walletSk` parameter --- see https://github.com/input-output-hk/hydra/pull/1463 type AuctionConfig = { auctionMetadataOref :: TransactionInput -- ^ Reference of the tx output with auction metadata record, @@ -71,10 +69,6 @@ type AuctionConfig = -- ^ Cardano signing key of the underlying Hydra node, used to -- authorize Hydra protocol transactions, and any funds owned -- by this key will be used as 'fuel'. - , walletSk :: FilePath - -- ^ Cardano signing key of the wallet used to commit collateral - -- to the hydra-node. It is necessary because hydra-node prohibits - -- committing utxos controlled by 'cardanoSk'. } auctionConfigCodec :: CA.JsonCodec AuctionConfig @@ -88,7 +82,6 @@ auctionConfigCodec = , hydraNodeApi: hostPortCodec , peers: CA.array hydraHeadPeerCodec , cardanoSk: CA.string - , walletSk: CA.string } -- TODO: make `hydraScriptsTxHash` parameter optional diff --git a/app/delegate-server/Contract/Commit.purs b/app/delegate-server/Contract/Commit.purs index 6a9b27b..75923aa 100644 --- a/app/delegate-server/Contract/Commit.purs +++ b/app/delegate-server/Contract/Commit.purs @@ -32,7 +32,6 @@ import Contract.Transaction , Transaction , TransactionHash , TransactionInput - , signTransaction , submit ) import Contract.TxConstraints (TxConstraints) @@ -63,7 +62,6 @@ import DelegateServer.Helpers (modifyF) import DelegateServer.HydraNodeApi.Http (commit) import DelegateServer.Lib.ServerConfig (mkLocalhostHttpServerConfig) import DelegateServer.Lib.Transaction (appendTxSignatures, reSignTransaction, setAuxDataHash) -import DelegateServer.Lib.Wallet (withWallet) import DelegateServer.PeerDelegate.Http (signCommitTx) import DelegateServer.State (class AppBase, class AppInit, access, readAppState) import DelegateServer.Types.HydraCommitRequest (mkFullCommitRequest, mkSimpleCommitRequest) @@ -89,16 +87,14 @@ import Type.Proxy (Proxy(Proxy)) buildCommitTx :: forall m. AppBase m => Json -> ExceptT ServiceError m BalancedSignedTransaction buildCommitTx commitRequest = do - { auctionConfig: { hydraNodeApi, cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") + { auctionConfig: { hydraNodeApi } } <- unwrap <$> access (Proxy :: _ "config") let serverConfig = mkLocalhostHttpServerConfig hydraNodeApi.port draftCommitTx <- ExceptT $ liftAff $ commit serverConfig commitRequest runContractLift do -- NOTE: recompute auxiliary data hash, because auxiliary data -- CBOR may be altered after re-serialization commitTx <- wrap <$> setAuxDataHash draftCommitTx.cborHex - signedTx <- - (withWallet cardanoSk <<< signTransaction) - =<< reSignTransaction commitTx + signedTx <- reSignTransaction commitTx pure signedTx ---------------------------------------------------------------------- @@ -179,10 +175,8 @@ multiSignCommitTx -> Transaction -> ExceptT CommitStandingBidError m Transaction multiSignCommitTx peers commitTx = do - { auctionConfig: { cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") responses <- do - pkh <- runContract (withWallet cardanoSk $ ownPaymentPubKeyHash) - !? CommitBid_Error_CouldNotGetOwnPubKeyHash + pkh <- runContract ownPaymentPubKeyHash !? CommitBid_Error_CouldNotGetOwnPubKeyHash let reqPayload = { commitTx, commitLeader: unwrap pkh } withExceptT (const CommitBid_Error_CommitRequestFailed) $ -- TODO: use parTraverse diff --git a/app/delegate-server/Contract/PlaceBid.purs b/app/delegate-server/Contract/PlaceBid.purs index a9189b9..481f911 100644 --- a/app/delegate-server/Contract/PlaceBid.purs +++ b/app/delegate-server/Contract/PlaceBid.purs @@ -61,8 +61,7 @@ import DelegateServer.App (runContractNullCosts) import DelegateServer.Helpers (modifyF) import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) import DelegateServer.Lib.Transaction (setExUnitsToMax, setTxValid) -import DelegateServer.Lib.Wallet (withWallet) -import DelegateServer.State (class AppOpen, access, readAppState) +import DelegateServer.State (class AppOpen, readAppState) import DelegateServer.Types.HydraUtxoMap (toUtxoMapWithoutRefScripts) import Effect.Class (liftEffect) import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) @@ -84,7 +83,6 @@ import HydraAuctionOffchain.Contract.Validators , mkAuctionValidatorsErrorCodec ) import JS.BigInt (fromInt) as BigInt -import Node.Path (FilePath) import Type.Proxy (Proxy(Proxy)) placeBidL2 @@ -100,9 +98,8 @@ placeBidL2 ws bidTerms = do <#> toUtxoMapWithoutRefScripts <<< _.utxo <<< unwrap - { auctionConfig: { cardanoSk } } <- unwrap <$> access (Proxy :: _ "config") mapExceptT runContractNullCosts $ - placeBidL2' (unwrap auctionInfo) bidTerms ws.submitTxL2 utxos cardanoSk + placeBidL2' (unwrap auctionInfo) bidTerms ws.submitTxL2 utxos placeBidL2' :: forall (r :: Row Type) @@ -110,14 +107,12 @@ placeBidL2' -> BidTerms -> (Transaction -> Effect Unit) -> UtxoMap - -> FilePath -> ExceptT PlaceBidL2ContractError Contract Unit -placeBidL2' auctionInfo bidTerms submitTxL2 utxos cardanoSk = do +placeBidL2' auctionInfo bidTerms submitTxL2 utxos = do balancedTx <- placeBidL2ContractWithErrors auctionInfo bidTerms utxos let validTx = modify setTxValid balancedTx evaluatedTx <- lift $ modifyF setExUnitsToMax validTx - signedTx <- lift $ (withWallet cardanoSk <<< signTransaction) =<< signTransaction - evaluatedTx + signedTx <- lift $ signTransaction evaluatedTx liftEffect $ submitTxL2 $ unwrap signedTx placeBidL2ContractWithErrors diff --git a/app/delegate-server/Handlers/SignCommitTx.purs b/app/delegate-server/Handlers/SignCommitTx.purs index 4c654ab..615258d 100644 --- a/app/delegate-server/Handlers/SignCommitTx.purs +++ b/app/delegate-server/Handlers/SignCommitTx.purs @@ -65,8 +65,7 @@ import Data.Tuple.Nested (type (/\), (/\)) import Data.Validation.Semigroup (V, validation) import DelegateServer.App (runContract) import DelegateServer.Lib.Transaction (txSignatures) -import DelegateServer.Lib.Wallet (withWallet) -import DelegateServer.State (class AppInit, access, readAppState) +import DelegateServer.State (class AppInit, readAppState) import DelegateServer.Types.ServerResponse ( ServerResponse(ServerResponseSuccess, ServerResponseError) , respCreatedOrBadRequest @@ -116,8 +115,7 @@ signCommitTxHandlerImpl bodyStr = do Right { commitTx, commitLeader } -> do auctionInfo <- unwrap <$> readAppState (Proxy :: _ "auctionInfo") hydraHeadCs <- readAppState (Proxy :: _ "headCs") - { cardanoSk } <- _.auctionConfig <<< unwrap <$> access (Proxy :: _ "config") - runContract $ withWallet cardanoSk do + runContract do let txBody = commitTx ^. _body mResolvedInputs <- resolveInputs (Array.fromFoldable $ txBody ^. _inputs) mResolvedCollateralInputs <- resolveInputs (fromMaybe mempty $ txBody ^. _collateral) diff --git a/app/delegate-server/Lib/Wallet.purs b/app/delegate-server/Lib/Wallet.purs deleted file mode 100644 index 07ada07..0000000 --- a/app/delegate-server/Lib/Wallet.purs +++ /dev/null @@ -1,18 +0,0 @@ -module DelegateServer.Lib.Wallet - ( withWallet - ) where - -import Prelude - -import Contract.Monad (Contract) -import Contract.Wallet (PrivatePaymentKeySource(PrivatePaymentKeyFile), WalletSpec(UseKeys)) -import Control.Monad.Reader (local) -import Ctl.Internal.Wallet.Spec (mkWalletBySpec) -import Data.Maybe (Maybe(Just, Nothing)) -import Effect.Aff.Class (liftAff) -import Node.Path (FilePath) - -withWallet :: forall (a :: Type). FilePath -> Contract a -> Contract a -withWallet sk contract = do - wallet <- liftAff $ mkWalletBySpec $ UseKeys (PrivatePaymentKeyFile sk) Nothing - local _ { wallet = Just $ wallet } contract diff --git a/flake.lock b/flake.lock index 5d02285..ce6ad7b 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ "CHaP_5": { "flake": false, "locked": { - "lastModified": 1710945682, - "narHash": "sha256-xp1txUjrtCuKHAy0nvz/lu0MlNdNnzvP8l2p9MFB73Y=", + "lastModified": 1715802876, + "narHash": "sha256-fy8xdNgFXJvX0UnW0HNdhcZA/n0FGomkshJExKUcjUs=", "owner": "IntersectMBO", "repo": "cardano-haskell-packages", - "rev": "8df2bf06e4525ec39c106cd2593e3c5fd7f2b081", + "rev": "70c2100e4206788b082a836046a5133902a1ceb1", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "CHaP_6": { "flake": false, "locked": { - "lastModified": 1709731402, - "narHash": "sha256-7h4/ns3WRI3BtK1FbUEm6nMqW1ahNNehiHr7eQ03muk=", + "lastModified": 1715690409, + "narHash": "sha256-+PWaq7ngq5d601d+GBNggNuzT+jXSV7Dl2IrMNCY1KQ=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "8e4f211a8e537c8c939b65e887556bd7441c774c", + "rev": "0ce6797192cbbab051cd8fe5b7516b55273229f1", "type": "github" }, "original": { @@ -2726,16 +2726,16 @@ "utils": "utils_25" }, "locked": { - "lastModified": 1709733493, - "narHash": "sha256-chcwbks+HyImFk7FpbkC7FFmfpScMx5T7K0TzTkGAww=", + "lastModified": 1715793024, + "narHash": "sha256-BoTWJKRc7gWSzptEuk32A/uV6MRkRx7vKdz34k8IPY8=", "owner": "intersectmbo", "repo": "cardano-node", - "rev": "0d98405a60d57e1c8e13406d51cce0e34356bd64", + "rev": "38c7f1cf2db12dff9c814ad10049f411a4b30448", "type": "github" }, "original": { "owner": "intersectmbo", - "ref": "8.9.0", + "ref": "8.11.0-pre", "repo": "cardano-node", "type": "github" } @@ -3235,11 +3235,11 @@ ] }, "locked": { - "lastModified": 1708794349, - "narHash": "sha256-jX+B1VGHT0ruHHL5RwS8L21R6miBn4B6s9iVyUJsJJY=", + "lastModified": 1713979152, + "narHash": "sha256-apdecPuh8SOQnkEET/kW/UcfjCRb8JbV5BKjoH+DcP4=", "owner": "ipetkov", "repo": "crane", - "rev": "2c94ff9a6fbeb9f3ea0107f28688edbe9c81deaa", + "rev": "a5eca68a2cf11adb32787fc141cddd29ac8eb79c", "type": "github" }, "original": { @@ -6448,11 +6448,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -6466,11 +6466,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { @@ -6484,11 +6484,11 @@ "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -8441,71 +8441,70 @@ "type": "github" } }, - "ghc98X": { + "ghc910X": { "flake": false, "locked": { - "lastModified": 1696643148, - "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", - "ref": "ghc-9.8", - "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", - "revCount": 61642, + "lastModified": 1711543129, + "narHash": "sha256-MUI07CxYOng7ZwHnMCw0ugY3HmWo2p/f4r07CGV7OAM=", + "ref": "ghc-9.10", + "rev": "6ecd5f2ff97af53c7334f2d8581651203a2c6b7d", + "revCount": 62607, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { - "ref": "ghc-9.8", + "ref": "ghc-9.10", "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc98X_2": { + "ghc910X_2": { "flake": false, "locked": { - "lastModified": 1696643148, - "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", - "ref": "ghc-9.8", - "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", - "revCount": 61642, + "lastModified": 1714520650, + "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", + "ref": "ghc-9.10", + "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", + "revCount": 62663, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { - "ref": "ghc-9.8", + "ref": "ghc-9.10", "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc98X_3": { + "ghc911": { "flake": false, "locked": { - "lastModified": 1696643148, - "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", - "ref": "ghc-9.8", - "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", - "revCount": 61642, + "lastModified": 1711538967, + "narHash": "sha256-KSdOJ8seP3g30FaC2du8QjU9vumMnmzPR5wfkVRXQMk=", + "ref": "refs/heads/master", + "rev": "0acfe391583d77a72051d505f05fab0ada056c49", + "revCount": 62632, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { - "ref": "ghc-9.8", "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc99": { + "ghc911_2": { "flake": false, "locked": { - "lastModified": 1701580282, - "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", "ref": "refs/heads/master", - "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", - "revCount": 62197, + "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", + "revCount": 62816, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -8516,25 +8515,26 @@ "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc99_2": { + "ghc98X": { "flake": false, "locked": { - "lastModified": 1701580282, - "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", - "ref": "refs/heads/master", - "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", - "revCount": 62197, + "lastModified": 1696643148, + "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", + "ref": "ghc-9.8", + "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", + "revCount": 61642, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" }, "original": { + "ref": "ghc-9.8", "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc99_3": { + "ghc99": { "flake": false, "locked": { "lastModified": 1701580282, @@ -9098,11 +9098,11 @@ "hackageNix_2": { "flake": false, "locked": { - "lastModified": 1709684582, - "narHash": "sha256-+rC8Vpaxdd4Nw2fJIn9wzAnzW5arILly5AkTG6chRAw=", + "lastModified": 1711412520, + "narHash": "sha256-48Aw1X7IuXZR6Wi2WOlvj9HpoUHty/JW1MqAehgnoHo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c2ed9aa79252ed67a1fb694b3fffaf7dd7ead6d2", + "rev": "fc84d1170ccc83d50db7b71a6edd090b2cef7657", "type": "github" }, "original": { @@ -9242,11 +9242,11 @@ "hackage_6": { "flake": false, "locked": { - "lastModified": 1708561382, - "narHash": "sha256-IDr2G3komoctjHALk8wGvDKOF39BaqrdEmjvAOsob5I=", + "lastModified": 1716165244, + "narHash": "sha256-nLa5/uCdXT5Nq35EYbgz1hYTnwT70Sk/JInM2f1zg4c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4b07be837c34475fdde3c9bb9903a850b5692bac", + "rev": "980c35047cc64f93f4b15c0d3b2338fe18ffe97f", "type": "github" }, "original": { @@ -10205,8 +10205,8 @@ "cardano-shell": "cardano-shell_8", "flake-compat": "flake-compat_17", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_8", - "ghc98X": "ghc98X_2", - "ghc99": "ghc99_2", + "ghc910X": "ghc910X", + "ghc911": "ghc911", "hackage": [ "hydra", "cardano-node", @@ -10222,7 +10222,6 @@ "hpc-coveralls": "hpc-coveralls_8", "hydra": "hydra_11", "iserv-proxy": "iserv-proxy_3", - "nix-tools-static": "nix-tools-static", "nixpkgs": [ "hydra", "cardano-node", @@ -10240,11 +10239,11 @@ "stackage": "stackage_8" }, "locked": { - "lastModified": 1708911681, - "narHash": "sha256-QGkzPN1HUYxgMU2EwiwjMvR2gQF0ffUdxALq1+bOdcY=", + "lastModified": 1712278203, + "narHash": "sha256-L4eFUxnID2EYYtONE3fmZxPQdgPlB6XbAfIjlZi4c+U=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "5031fa0b8346fcc533c33073530ca87b8390add3", + "rev": "57938c23a4d40e5a746f05f2b71af11a7273a133", "type": "github" }, "original": { @@ -10262,8 +10261,8 @@ "cardano-shell": "cardano-shell_9", "flake-compat": "flake-compat_19", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_9", - "ghc98X": "ghc98X_3", - "ghc99": "ghc99_3", + "ghc910X": "ghc910X_2", + "ghc911": "ghc911_2", "hackage": "hackage_6", "hls-1.10": "hls-1.10_4", "hls-2.0": "hls-2.0_3", @@ -10272,10 +10271,11 @@ "hls-2.4": "hls-2.4_3", "hls-2.5": "hls-2.5_2", "hls-2.6": "hls-2.6_2", + "hls-2.7": "hls-2.7", + "hls-2.8": "hls-2.8", "hpc-coveralls": "hpc-coveralls_9", "hydra": "hydra_12", "iserv-proxy": "iserv-proxy_4", - "nix-tools-static": "nix-tools-static_2", "nixpkgs": [ "hydra", "haskellNix", @@ -10293,11 +10293,11 @@ "stackage": "stackage_9" }, "locked": { - "lastModified": 1708563005, - "narHash": "sha256-RgC6n1kuSDo90Jy1ETlCGL3tr125WeWiDl6z6amEXoQ=", + "lastModified": 1716166225, + "narHash": "sha256-gFMvOwooBevnHtZyGoiOcRes9ZSylG5YfNoqOHGdP/M=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "83acf6dc3fe8b3b9d218df2ee88ac875d1aeb801", + "rev": "6aa8046087d4e6fd70f3b6b99628f77e398e9fd2", "type": "github" }, "original": { @@ -10963,6 +10963,40 @@ "type": "github" } }, + "hls-2.7": { + "flake": false, + "locked": { + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.8": { + "flake": false, + "locked": { + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -11337,17 +11371,17 @@ ] }, "locked": { - "lastModified": 1715855983, - "narHash": "sha256-ZPuliI9T9MzO3CIr0EoyNTFZOAUQJEKBtKstf53nkuc=", + "lastModified": 1717768588, + "narHash": "sha256-ProQnLcSelem2RHrXa5bojt5dlBZmMNT1waR6peiCQQ=", "owner": "input-output-hk", "repo": "hydra", - "rev": "68d157c79d2c61ef3d491e83806b79b283e8de1c", + "rev": "4fed4625f321d89b483c82f55252d24da63191c7", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "hydra", - "rev": "68d157c79d2c61ef3d491e83806b79b283e8de1c", + "rev": "4fed4625f321d89b483c82f55252d24da63191c7", "type": "github" } }, @@ -12369,11 +12403,11 @@ "sodium": "sodium_4" }, "locked": { - "lastModified": 1708437078, - "narHash": "sha256-EUsAEG0LmnMmX7Z6JW2LX8/VhpAJ2dXVwVGXWn5LmxQ=", + "lastModified": 1715898223, + "narHash": "sha256-G1LFsvP53twrqaC1FVard/6rjJJ3oitnpJ1E+mTZDGM=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "5ab7134bb21d7bd858dbe1c702761aa7e15eaf88", + "rev": "29f19cd41dc593cf17bbc24194e34e7c20889fc9", "type": "github" }, "original": { @@ -12557,15 +12591,16 @@ "sodium": "sodium_3" }, "locked": { - "lastModified": 1709083850, - "narHash": "sha256-6DQ89ktt8rRVV1pXEyX2JwPjaqS0mQkelkmJmka04rg=", + "lastModified": 1715311504, + "narHash": "sha256-Jxma8/3WMb++2V1sp/iMF+6azv8cBR+ZbkLr61p2R24=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "1c793a53ac0bd99b795c2180eb23d37e8389a74b", + "rev": "47727032a26ed92438afef6bdd45c95cd7399694", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "node-8.11", "repo": "iohk-nix", "type": "github" } @@ -12607,35 +12642,35 @@ "iserv-proxy_3": { "flake": false, "locked": { - "lastModified": 1691634696, - "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", - "ref": "hkm/remote-iserv", - "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", - "revCount": 14, - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "lastModified": 1708894040, + "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", + "type": "github" }, "original": { - "ref": "hkm/remote-iserv", - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" } }, "iserv-proxy_4": { "flake": false, "locked": { - "lastModified": 1691634696, - "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", - "ref": "hkm/remote-iserv", - "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", - "revCount": 14, - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "lastModified": 1708894040, + "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", + "type": "github" }, "original": { - "ref": "hkm/remote-iserv", - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" } }, "iserv-proxy_5": { @@ -14789,40 +14824,6 @@ "type": "github" } }, - "nix-tools-static": { - "flake": false, - "locked": { - "lastModified": 1706266250, - "narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=", - "owner": "input-output-hk", - "repo": "haskell-nix-example", - "rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "nix", - "repo": "haskell-nix-example", - "type": "github" - } - }, - "nix-tools-static_2": { - "flake": false, - "locked": { - "lastModified": 1706266250, - "narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=", - "owner": "input-output-hk", - "repo": "haskell-nix-example", - "rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "nix", - "repo": "haskell-nix-example", - "type": "github" - } - }, "nix-tools_2": { "flake": false, "locked": { @@ -18009,14 +18010,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1714640452, - "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, "nixpkgs-lib_10": { @@ -18111,30 +18112,24 @@ }, "nixpkgs-lib_2": { "locked": { - "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", - "type": "github" + "lastModified": 1714640452, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" } }, "nixpkgs-lib_3": { "locked": { "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { @@ -20959,11 +20954,11 @@ }, "nixpkgs_83": { "locked": { - "lastModified": 1708976803, - "narHash": "sha256-yvRygcySjjSvj5JTaCdo7lPqJ/2mBV2XQ94Oaq/14qw=", + "lastModified": 1714091391, + "narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "548a86b335d7ecd8b57ec617781f5e652ab0c38e", + "rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1", "type": "github" }, "original": { @@ -23519,11 +23514,11 @@ "stackage_8": { "flake": false, "locked": { - "lastModified": 1708906175, - "narHash": "sha256-KJDF0CO077Jx4GjjPK6pNkx6NkY7p1x5RMPfaIe8nl4=", + "lastModified": 1712276009, + "narHash": "sha256-KlRJ+CGXRueyz2VRLDwra5JBNaI2GkltNJAjHa7fowE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "bfa4778050cf69fe50f91d39dcefbb9005d6d0d0", + "rev": "758035379a5ac4390879e4cd5164abe0c96fcea7", "type": "github" }, "original": { @@ -23535,11 +23530,11 @@ "stackage_9": { "flake": false, "locked": { - "lastModified": 1708560571, - "narHash": "sha256-/ZxWtAaoskXxeE79aA/K5PirGFUsqdu2TLRLskDj1js=", + "lastModified": 1716164362, + "narHash": "sha256-BXJRk20IcsG8uhuLWxA0Lfzx6VVKNEGQ/TINDkd6MH0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e0cb41371d5b1e76cddb4e25d748fdb87c176176", + "rev": "f27332e59a188f096a67a46fb5d33b0ea1d5a221", "type": "github" }, "original": { @@ -24791,11 +24786,11 @@ ] }, "locked": { - "lastModified": 1708897213, - "narHash": "sha256-QECZB+Hgz/2F/8lWvHNk05N6NU/rD9bWzuNn6Cv8oUk=", + "lastModified": 1714058656, + "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e497a9ddecff769c2a7cbab51e1ed7a8501e7a3a", + "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7da28e0..8760661 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,7 @@ nixpkgs-ctl.follows = "cardano-transaction-lib/nixpkgs"; nixpkgs.follows = "cardano-transaction-lib/nixpkgs"; hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; - hydra.url = "github:input-output-hk/hydra/68d157c79d2c61ef3d491e83806b79b283e8de1c"; + hydra.url = "github:input-output-hk/hydra/4fed4625f321d89b483c82f55252d24da63191c7"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } ({ self, ... }: { diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index ae8c0ce..2e290b2 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -253,7 +253,6 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do , mkHydraVk: flip concatPaths "hydra.vk" , mkCardanoSk: flip concatPaths "cardano.sk" , mkCardanoVk: flip concatPaths "cardano.vk" - , mkWalletSk: flip concatPaths "wallet.sk" } worker @@ -281,7 +280,6 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do } } , cardanoSk: ops.mkCardanoSk workdir - , walletSk: ops.mkWalletSk workdir } ] , serverPort: ops.mkServerPort idx @@ -315,8 +313,6 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peer.cardanoSk publicPaymentKeyToFile (ops.mkCardanoVk workdir) cardanoVk - privatePaymentKeyToFile (ops.mkWalletSk workdir) - peer.walletSk genHydraKeys $ ops.mkHydra workdir pure $ idx /\ workdir From 1fee4dda092d131664bfb5c507b695f9215ad10f Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 12 Jun 2024 17:27:03 +0200 Subject: [PATCH 07/23] fix(delegate_server): exit app instance on invalid auction info --- app/delegate-server/App.purs | 19 +-------------- .../Contract/QueryAuction.purs | 23 ++++++++++--------- app/delegate-server/Main.purs | 23 +++++++++++++------ app/delegate-server/Types/AppExitReason.purs | 7 ++++-- 4 files changed, 34 insertions(+), 38 deletions(-) diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 3ba8064..8cbb842 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -9,7 +9,6 @@ module DelegateServer.App , runApp , runAppEff , runContract - , runContractExitOnErr , runContractLift , runContractNullCosts ) where @@ -66,14 +65,7 @@ import Effect.Aff.Class (class MonadAff, liftAff) import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Effect.Exception (Error) -import HydraAuctionOffchain.Contract.Types - ( AuctionInfoExtended - , ContractOutput(ContractOutputError, ContractOutputResult) - , Utxo - , contractErrorCodec - ) -import HydraAuctionOffchain.Lib.Json (caEncodeString) -import Node.Process (exit) +import HydraAuctionOffchain.Contract.Types (AuctionInfoExtended, Utxo) import Type.Proxy (Proxy(Proxy)) ---------------------------------------------------------------------- @@ -144,15 +136,6 @@ runContract contract = do runContractLift :: forall t m a. MonadTrans t => AppBase m => Contract a -> t m a runContractLift = lift <<< runContract -runContractExitOnErr :: forall m a. AppBase m => Contract (ContractOutput a) -> m a -runContractExitOnErr = - runContract >=> case _ of - ContractOutputResult res -> pure res - ContractOutputError err -> - liftEffect do - log $ caEncodeString contractErrorCodec err - exit one - runContractNullCosts :: forall m a. AppBase m => Contract a -> m a runContractNullCosts contract = do contractEnv <- access (Proxy :: _ "contractEnv") diff --git a/app/delegate-server/Contract/QueryAuction.purs b/app/delegate-server/Contract/QueryAuction.purs index e5d6557..d352907 100644 --- a/app/delegate-server/Contract/QueryAuction.purs +++ b/app/delegate-server/Contract/QueryAuction.purs @@ -1,5 +1,12 @@ module DelegateServer.Contract.QueryAuction - ( queryAuction + ( QueryAuctionError + ( QueryAuction_Error_CouldNotQueryAuctionMetadataUtxo + , QueryAuction_Error_CouldNotDecodeAuctionInfoDatum + , QueryAuction_Error_InvalidAuctionTerms + , QueryAuction_Error_CouldNotBuildAuctionValidators + , QueryAuction_Error_InvalidAuctionInfo + ) + , queryAuction ) where import Contract.Prelude @@ -8,30 +15,24 @@ import Contract.Monad (Contract) import Contract.Transaction (TransactionInput) import Contract.Utxos (getUtxo) import Control.Error.Util ((!?), (??)) -import Control.Monad.Except (ExceptT, throwError, withExceptT) +import Control.Monad.Except (runExceptT, throwError, withExceptT) import Data.Validation.Semigroup (validation) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionInfoExtended , AuctionInfoValidationError , AuctionTermsValidationError - , ContractOutput , mkAuctionInfoExtended - , mkContractOutput , validateAuctionInfo , validateAuctionTerms ) import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) import HydraAuctionOffchain.Helpers (getInlineDatum) -queryAuction :: TransactionInput -> Contract (ContractOutput AuctionInfoExtended) -queryAuction = - mkContractOutput identity <<< queryAuctionWithErrors - -queryAuctionWithErrors +queryAuction :: TransactionInput - -> ExceptT QueryAuctionError Contract AuctionInfoExtended -queryAuctionWithErrors auctionMetadataOref = do + -> Contract (Either QueryAuctionError AuctionInfoExtended) +queryAuction auctionMetadataOref = runExceptT do -- Query auction metadata utxo: auctionMetadataTxOut <- getUtxo auctionMetadataOref !? QueryAuction_Error_CouldNotQueryAuctionMetadataUtxo diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index 6d5823b..0d4f4a9 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -13,6 +13,7 @@ import Contract.Config (QueryBackendParams) import Contract.Log (logInfo', logTrace', logWarn') import Control.Parallel (parTraverse) import Ctl.Internal.Helpers ((<>)) +import Data.Either (Either(Left, Right)) import Data.Foldable (foldMap) import Data.Int (decimal, toStringAs) as Int import Data.Maybe (Maybe, maybe) @@ -32,7 +33,6 @@ import DelegateServer.App , initApp , runApp , runContract - , runContractExitOnErr ) import DelegateServer.AppMap (AppMap, buildAppMap) import DelegateServer.Cleanup (appCleanupHandler, appInstanceCleanupHandler) @@ -60,7 +60,10 @@ import DelegateServer.State , setCollateralUtxo ) import DelegateServer.Types.AppExitReason - ( AppExitReason(AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus) + ( AppExitReason + ( AppExitReason_MissingOrInvalidAuctionInfo + , AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus + ) ) import DelegateServer.Types.HydraHeadStatus ( HydraHeadStatus @@ -170,11 +173,17 @@ startDelegateServer appConfig@(AppConfig appConfigRec) = do setAuction :: forall m. AppBase m => m Unit setAuction = do { auctionConfig: { auctionMetadataOref } } <- unwrap <$> access (Proxy :: _ "config") - auctionInfo <- runContractExitOnErr $ queryAuction auctionMetadataOref - setAuctionInfo auctionInfo - network <- runContract getNetworkId - logInfo' $ "Got valid auction: " <> printJsonUsingCodec (auctionInfoExtendedCodec network) - auctionInfo + runContract (queryAuction auctionMetadataOref) >>= + case _ of + Left queryAuctionErr -> + exitWithReason $ + AppExitReason_MissingOrInvalidAuctionInfo queryAuctionErr + Right auctionInfo -> do + setAuctionInfo auctionInfo + network <- runContract getNetworkId + logInfo' $ "Got valid auction: " <> printJsonUsingCodec + (auctionInfoExtendedCodec network) + auctionInfo prepareCollateralUtxo :: forall m. AppInit m => m Unit prepareCollateralUtxo = do diff --git a/app/delegate-server/Types/AppExitReason.purs b/app/delegate-server/Types/AppExitReason.purs index 79c1a6c..1135365 100644 --- a/app/delegate-server/Types/AppExitReason.purs +++ b/app/delegate-server/Types/AppExitReason.purs @@ -1,6 +1,7 @@ module DelegateServer.Types.AppExitReason ( AppExitReason - ( AppExitReason_HeadFinalized + ( AppExitReason_MissingOrInvalidAuctionInfo + , AppExitReason_HeadFinalized , AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus , AppExitReason_Cleanup ) @@ -10,10 +11,12 @@ import Prelude import Data.Generic.Rep (class Generic) import Data.Show.Generic (genericShow) +import DelegateServer.Contract.QueryAuction (QueryAuctionError) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) data AppExitReason - = AppExitReason_HeadFinalized + = AppExitReason_MissingOrInvalidAuctionInfo QueryAuctionError + | AppExitReason_HeadFinalized | AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus HydraHeadStatus | AppExitReason_Cleanup From 22914c0dd64fc411a697b1ea06e2aec0fd8eabb8 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Thu, 12 Sep 2024 19:22:46 +0200 Subject: [PATCH 08/23] feat: wip: upgrade to latest ctl --- api/api.ts | 49 + app/delegate-server/App.purs | 1 + app/delegate-server/AppMap.purs | 4 +- app/delegate-server/Config.purs | 7 +- app/delegate-server/Const.purs | 7 +- app/delegate-server/Contract/Collateral.purs | 12 +- app/delegate-server/Contract/Commit.purs | 31 +- app/delegate-server/Contract/PlaceBid.purs | 41 +- app/delegate-server/Handlers/MoveBid.purs | 7 +- .../Handlers/SignCommitTx.purs | 55 +- app/delegate-server/Helpers.purs | 11 +- .../HydraNodeApi/WebSocket.purs | 2 +- app/delegate-server/Lib/Contract.purs | 11 +- app/delegate-server/Lib/Transaction.purs | 59 +- app/delegate-server/Server.purs | 4 +- .../Types/HydraCommitRequest.purs | 11 +- .../Types/HydraNodeApiMessage.purs | 8 +- app/delegate-server/Types/HydraTx.purs | 14 +- app/delegate-server/Types/HydraUtxoMap.purs | 98 +- app/delegate-server/WsServer.purs | 9 +- app/plutip-env/Main.purs | 15 +- flake.lock | 21769 ++++++++++------ flake.nix | 2 +- package-lock.json | 147 +- package.json | 27 +- packages.dhall | 392 +- spago-packages.nix | 214 +- spago.dhall | 1 - src/Api.purs | 2 +- src/Codec.purs | 250 +- src/Contract/AnnounceAuction.purs | 154 +- src/Contract/AuthorizeBidders.purs | 27 +- src/Contract/ClaimAuctionLotBidder.purs | 66 +- src/Contract/ClaimAuctionLotSeller.purs | 59 +- src/Contract/DiscoverBidders.purs | 28 +- src/Contract/DiscoverSellerSignature.purs | 36 +- src/Contract/EnterAuction.purs | 43 +- src/Contract/MintTokens.purs | 18 +- src/Contract/MintingPolicies/AlwaysMints.purs | 19 +- src/Contract/MintingPolicies/Auction.purs | 43 +- src/Contract/MoveBid.purs | 9 +- src/Contract/PersonalOracle.purs | 32 +- src/Contract/PlaceBid.purs | 47 +- src/Contract/QueryAuctions.purs | 33 +- src/Contract/QueryStandingBidState.purs | 16 +- src/Contract/QueryUtxo.purs | 57 +- src/Contract/SendBid.purs | 26 +- src/Contract/StartBidding.purs | 39 +- src/Contract/Types.purs | 1 - src/Contract/Types/Common.purs | 4 +- src/Contract/Types/ContractResult.purs | 71 +- src/Contract/Types/Plutus/AuctionActor.purs | 1 + .../Types/Plutus/AuctionEscrowState.purs | 12 +- src/Contract/Types/Plutus/AuctionInfo.purs | 63 +- .../Types/Plutus/AuctionPolicyRedeemer.purs | 12 +- src/Contract/Types/Plutus/AuctionTerms.purs | 111 +- src/Contract/Types/Plutus/BidTerms.purs | 61 +- src/Contract/Types/Plutus/BidderInfo.purs | 17 +- .../Types/Plutus/DelegateGroupInfo.purs | 61 + .../Types/Plutus/Extra/AssetClass.purs | 19 +- src/Contract/Types/Plutus/Redeemers.purs | 1 + .../Types/Plutus/StandingBidState.purs | 8 +- src/Contract/Types/Scripts.purs | 10 - src/Contract/Validators/AlwaysSucceeds.purs | 17 +- src/Contract/Validators/AuctionEscrow.purs | 43 +- src/Contract/Validators/AuctionMetadata.purs | 15 +- .../Validators/AuctionValidators.purs | 12 +- src/Contract/Validators/BidderDeposit.purs | 43 +- src/Contract/Validators/StandingBid.purs | 34 +- src/Helpers.purs | 54 +- src/Lib/Cardano/Address.purs | 27 + src/Lib/Codec.purs | 17 +- src/Lib/Cose.purs | 12 +- src/Lib/Crypto.purs | 9 +- src/Lib/Plutus/Address.purs | 17 + src/Lib/Script.purs | 49 +- src/Lib/ToData.purs | 12 + src/Types/ContractConfig.purs | 26 +- src/Types/Network.purs | 4 +- src/Types/WalletApp.purs | 47 +- src/Wallet.purs | 21 +- test/Contract/AnnounceAuction.purs | 25 +- test/Contract/EnterAuction.purs | 16 +- test/Contract/Fixtures.purs | 12 +- test/Contract/PlaceBid.purs | 10 +- test/DelegateServer/Cluster.purs | 118 +- test/DelegateServer/WsServer.purs | 11 +- test/Gen.purs | 8 +- test/Helpers.purs | 60 +- test/{Plutip => Localnet}/Config.purs | 20 +- test/Main.purs | 24 +- 91 files changed, 16151 insertions(+), 9076 deletions(-) create mode 100644 src/Contract/Types/Plutus/DelegateGroupInfo.purs create mode 100644 src/Lib/Cardano/Address.purs create mode 100644 src/Lib/Plutus/Address.purs create mode 100644 src/Lib/ToData.purs rename test/{Plutip => Localnet}/Config.purs (66%) diff --git a/api/api.ts b/api/api.ts index f35abda..a65d09b 100644 --- a/api/api.ts +++ b/api/api.ts @@ -183,6 +183,55 @@ export const announceDelegateGroup = async ( delegates: Array ): Promise> => unimplemented(); +/* +// Delegate groups --------------------------------------------------- + +export type Url = string; +export type RawBytes = string; + +export type DelegateGroupMetadata = { + url: Url; + dataHash: RawBytes; +}; + +export type DelegateGroupInfo = { + groupId: CurrencySymbol; + groupMetadata: DelegateGroupMetadata; + delegates: Array; + httpServers: Array; + wsServers: Array; +}; + +export type DelegateGroupSlot = string; // stringified int + +export type HostAuctionInfo = { + delegateGroup: DelegateGroupInfo; + slot: DelegateGroupSlot; + auctionMetadataOref: TransactionInput; +}; + +export const queryDelegateGroups = async ( + config: ContractConfig +): Promise> => unimplemented(); + +// Attempt to book a delegate group slot for an upcoming auction. +// +// This query will perform the following steps under the hood: +// 1. Query a list of available auction slots from each delegate. +// 2. Identify the common slots by finding their intersection. +// 3. Randomly select one slot from the common available slots. +// 4. Attempt to book the selected slot by sending booking requests to each delegate. +export const bookSlotForAuction = async ( + groupInfo: DelegateGroupInfo +): Promise => unimplemented(); + +// Attempt to host announced auction at a specific delegate group slot. +export const hostAuction = async ( + hostInfo: HostAuctionInfo +): Promise> => unimplemented(); + +*/ + // Helpers ----------------------------------------------------------- export const getWalletVk = async ( diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 8cbb842..7edfae6 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -217,6 +217,7 @@ initApp (AppConfig appConfig) auctionConfig = do , networkId: networkToNetworkId appConfig.network , logLevel: appConfig.ctlLogLevel , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile auctionConfig.cardanoSk) Nothing + Nothing , customLogger: Nothing , suppressLogs: true , hooks: emptyHooks diff --git a/app/delegate-server/AppMap.purs b/app/delegate-server/AppMap.purs index 97e4c5b..cdd9313 100644 --- a/app/delegate-server/AppMap.purs +++ b/app/delegate-server/AppMap.purs @@ -5,7 +5,7 @@ module DelegateServer.AppMap import Prelude -import Contract.Value (CurrencySymbol) +import Cardano.Types (ScriptHash) import Control.Safely (foldM) import Data.List (fromFoldable) as List import Data.Map (Map) @@ -16,7 +16,7 @@ import DelegateServer.App (AppState) import Effect.Aff (Aff) import Effect.Aff.AVar (read) as AVar -type AppMap a = Map CurrencySymbol (AppState /\ a) +type AppMap a = Map ScriptHash (AppState /\ a) buildAppMap :: forall a. Array (AppState /\ a) -> Aff (AppMap a) buildAppMap apps = diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index 75f1170..6f0e8a8 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -9,11 +9,8 @@ module DelegateServer.Config import Prelude -import Contract.Config - ( NetworkId(TestnetId, MainnetId) - , QueryBackendParams - , defaultConfirmTxDelay - ) +import Cardano.Types (NetworkId(TestnetId, MainnetId)) +import Contract.Config (QueryBackendParams, defaultConfirmTxDelay) import Contract.Transaction (TransactionInput) import Data.Codec.Argonaut (JsonCodec, array, int, object, prismaticCodec, string) as CA import Data.Codec.Argonaut.Record (record) as CAR diff --git a/app/delegate-server/Const.purs b/app/delegate-server/Const.purs index eb285de..51f9190 100644 --- a/app/delegate-server/Const.purs +++ b/app/delegate-server/Const.purs @@ -3,19 +3,20 @@ module DelegateServer.Const , appConst ) where -import JS.BigInt (BigInt) +import Cardano.Types (BigNum) +import Cardano.Types.BigNum (fromInt) as BigNum import JS.BigInt (fromInt) as BigInt import Node.Path (FilePath) type AppConst = { testnetMagic :: String , protocolParams :: FilePath - , collateralLovelace :: BigInt + , collateralLovelace :: BigNum } appConst :: AppConst appConst = { testnetMagic: "1" , protocolParams: "protocol-parameters.json" - , collateralLovelace: BigInt.fromInt 10_000_000 + , collateralLovelace: BigNum.fromInt 10_000_000 } diff --git a/app/delegate-server/Contract/Collateral.purs b/app/delegate-server/Contract/Collateral.purs index 42e2a7c..5e22ef2 100644 --- a/app/delegate-server/Contract/Collateral.purs +++ b/app/delegate-server/Contract/Collateral.purs @@ -4,11 +4,11 @@ module DelegateServer.Contract.Collateral import Contract.Prelude +import Cardano.Types (TransactionOutput(TransactionOutput)) +import Cardano.Types.Value (lovelaceValueOf) as Value import Contract.Monad (Contract, liftedM) -import Contract.PlutusData (OutputDatum(NoOutputDatum)) -import Contract.Transaction (TransactionOutput(TransactionOutput), awaitTxConfirmed) +import Contract.Transaction (awaitTxConfirmed) import Contract.TxConstraints (mustPayToPubKey) as Constraints -import Contract.Value (lovelaceValueOf) as Value import Contract.Wallet (getWalletUtxos, ownPaymentPubKeyHash) import Data.Array (find) as Array import Data.Map (toUnfoldable) as Map @@ -32,15 +32,15 @@ queryCollateralUtxo :: Contract (Maybe Utxo) queryCollateralUtxo = getWalletUtxos >>= maybe (pure Nothing) - ( pure <<< Array.find (isCollateralTxOut <<< _.output <<< unwrap <<< snd) <<< + ( pure <<< Array.find (isCollateralTxOut <<< snd) <<< Map.toUnfoldable ) isCollateralTxOut :: TransactionOutput -> Boolean isCollateralTxOut (TransactionOutput txOut) = txOut.amount == Value.lovelaceValueOf appConst.collateralLovelace - && (txOut.datum == NoOutputDatum) - && isNothing txOut.referenceScript + && isNothing txOut.datum + && isNothing txOut.scriptRef createCollateralUtxo :: Contract Unit createCollateralUtxo = do diff --git a/app/delegate-server/Contract/Commit.purs b/app/delegate-server/Contract/Commit.purs index 75923aa..d3e6ca3 100644 --- a/app/delegate-server/Contract/Commit.purs +++ b/app/delegate-server/Contract/Commit.purs @@ -20,6 +20,7 @@ module DelegateServer.Contract.Commit import Contract.Prelude +import Cardano.Types (Transaction, TransactionHash, TransactionInput) import Contract.Chain (currentTime) import Contract.Log (logDebug', logWarn') import Contract.Monad (Contract) @@ -27,13 +28,7 @@ import Contract.PlutusData (Redeemer, toData) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Time (POSIXTimeRange, mkFiniteInterval) -import Contract.Transaction - ( BalancedSignedTransaction - , Transaction - , TransactionHash - , TransactionInput - , submit - ) +import Contract.Transaction (submit) import Contract.TxConstraints (TxConstraints) import Contract.TxConstraints ( mustBeSignedBy @@ -41,16 +36,11 @@ import Contract.TxConstraints , mustSpendScriptOutput , mustValidateIn ) as Constraints -import Contract.UnbalancedTx (UnbalancedTx(UnbalancedTx), mkUnbalancedTx) +import Contract.UnbalancedTx (mkUnbalancedTx) import Contract.Wallet (ownPaymentPubKeyHash) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT(ExceptT), mapExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) -import Ctl.Internal.BalanceTx.RedeemerIndex - ( attachIndexedRedeemers - , indexRedeemers - , mkRedeemersContext - ) import Data.Argonaut (Json, encodeJson) import Data.Codec.Argonaut (JsonCodec, encode) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG @@ -84,8 +74,7 @@ import HydraAuctionOffchain.Service.Common (ServiceError) import JS.BigInt (fromInt) as BigInt import Type.Proxy (Proxy(Proxy)) -buildCommitTx - :: forall m. AppBase m => Json -> ExceptT ServiceError m BalancedSignedTransaction +buildCommitTx :: forall m. AppBase m => Json -> ExceptT ServiceError m Transaction buildCommitTx commitRequest = do { auctionConfig: { hydraNodeApi } } <- unwrap <$> access (Proxy :: _ "config") let serverConfig = mkLocalhostHttpServerConfig hydraNodeApi.port @@ -93,7 +82,7 @@ buildCommitTx commitRequest = do runContractLift do -- NOTE: recompute auxiliary data hash, because auxiliary data -- CBOR may be altered after re-serialization - commitTx <- wrap <$> setAuxDataHash draftCommitTx.cborHex + let commitTx = setAuxDataHash draftCommitTx.cborHex signedTx <- reSignTransaction commitTx pure signedTx @@ -157,13 +146,13 @@ commitStandingBid = do mapExceptT runContract $ moveToHydraUnbalancedTx auctionInfo collateralUtxo let utxos = Map.fromFoldable [ standingBidUtxo, collateralUtxo ] - commitRequest <- liftEffect $ encodeJson <$> mkFullCommitRequest blueprintTx utxos + let commitRequest = encodeJson $ mkFullCommitRequest blueprintTx utxos logDebug' $ "Standing bid commit request: " <> printJson commitRequest commitTx <- withExceptT (const CommitBid_Error_CommitRequestFailed) $ buildCommitTx commitRequest { auctionConfig: { peers } } <- unwrap <$> access (Proxy :: _ "config") - commitTxMultiSigned <- multiSignCommitTx peers `modifyF` commitTx + commitTxMultiSigned <- multiSignCommitTx peers commitTx txHash <- runContract (submit commitTxMultiSigned) !* CommitBid_Error_SubmitTxFailed pure $ standingBid /\ txHash @@ -267,12 +256,14 @@ moveToHydraUnbalancedTx auctionInfo collateralUtxo = do , Lookups.validator standingBidValidator ] - UnbalancedTx { transaction, redeemers } <- lift $ mkUnbalancedTx lookups constraints + blueprintTx /\ _usedUtxos <- lift $ mkUnbalancedTx lookups constraints + {- indexedRedeemers <- hush (indexRedeemers (mkRedeemersContext transaction) redeemers) ?? CommitBid_Error_CouldNotIndexRedeemers + -} pure - { blueprintTx: attachIndexedRedeemers indexedRedeemers transaction + { blueprintTx , standingBid , standingBidUtxo } diff --git a/app/delegate-server/Contract/PlaceBid.purs b/app/delegate-server/Contract/PlaceBid.purs index 481f911..b01ad9a 100644 --- a/app/delegate-server/Contract/PlaceBid.purs +++ b/app/delegate-server/Contract/PlaceBid.purs @@ -14,6 +14,10 @@ module DelegateServer.Contract.PlaceBid import Contract.Prelude +import Cardano.Types (PlutusData, RedeemerDatum, Transaction, TransactionInput, Value) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.MultiAsset (empty) as MultiAsset +import Cardano.Types.Value (getMultiAsset, singleton) as Value import Contract.Address (getNetworkId) import Contract.BalanceTxConstraints (BalanceTxConstraintsBuilder) import Contract.BalanceTxConstraints @@ -24,17 +28,12 @@ import Contract.BalanceTxConstraints ) as BalancerConstraints import Contract.Chain (currentTime) import Contract.Monad (Contract, liftedM) -import Contract.PlutusData (Datum, OutputDatum(NoOutputDatum), Redeemer, toData) +import Contract.PlutusData (toData) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) import Contract.Time (POSIXTimeRange, mkFiniteInterval) -import Contract.Transaction - ( FinalizedTransaction - , Transaction - , TransactionInput - , signTransaction - ) +import Contract.Transaction (signTransaction) import Contract.TxConstraints (DatumPresence(DatumInline), TxConstraints) import Contract.TxConstraints ( mustNotBeValid @@ -43,8 +42,6 @@ import Contract.TxConstraints , mustValidateIn ) as Constraints import Contract.Utxos (UtxoMap) -import Contract.Value (Value) -import Contract.Value (adaSymbol, singleton, symbols) as Value import Contract.Wallet (getWalletAddress) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, mapExceptT, throwError, withExceptT) @@ -110,17 +107,17 @@ placeBidL2' -> ExceptT PlaceBidL2ContractError Contract Unit placeBidL2' auctionInfo bidTerms submitTxL2 utxos = do balancedTx <- placeBidL2ContractWithErrors auctionInfo bidTerms utxos - let validTx = modify setTxValid balancedTx - evaluatedTx <- lift $ modifyF setExUnitsToMax validTx + let validTx = setTxValid balancedTx + evaluatedTx <- lift $ setExUnitsToMax validTx signedTx <- lift $ signTransaction evaluatedTx - liftEffect $ submitTxL2 $ unwrap signedTx + liftEffect $ submitTxL2 signedTx placeBidL2ContractWithErrors :: forall (r :: Row Type) . Record (AuctionInfoRec r) -> BidTerms -> UtxoMap - -> ExceptT PlaceBidL2ContractError Contract FinalizedTransaction + -> ExceptT PlaceBidL2ContractError Contract Transaction placeBidL2ContractWithErrors auctionInfoRec bidTerms utxos = do let auctionCs = auctionInfoRec.auctionId @@ -170,21 +167,21 @@ placeBidL2ContractWithErrors auctionInfoRec bidTerms utxos = do standingBidOref :: TransactionInput standingBidOref = fst standingBidUtxo - standingBidRedeemer :: Redeemer + standingBidRedeemer :: RedeemerDatum standingBidRedeemer = wrap $ toData NewBidRedeemer - standingBidDatum :: Datum - standingBidDatum = wrap $ toData newBidState + standingBidDatum :: PlutusData + standingBidDatum = toData newBidState standingBidTokenValue :: Value - standingBidTokenValue = Value.singleton auctionCs standingBidTokenName one + standingBidTokenValue = Value.singleton auctionCs standingBidTokenName BigNum.one -- balancerConstraints :: BalanceTxConstraintsBuilder balancerConstraints = mconcat [ BalancerConstraints.mustUseCoinSelectionStrategy SelectionStrategyMinimal - , BalancerConstraints.mustUseUtxosAtAddresses network [] + , BalancerConstraints.mustUseUtxosAtAddresses mempty , BalancerConstraints.mustUseCollateralUtxos $ Map.fromFoldable [ collateralUtxo ] , BalancerConstraints.mustUseAdditionalUtxos spendableUtxos ] @@ -226,12 +223,12 @@ findCollateralUtxo utxos = do pure $ Map.toUnfoldable utxos # Array.find ( \utxo -> let - txOut = unwrap $ _.output $ unwrap $ snd utxo + txOut = unwrap $ snd utxo in txOut.address == ownAddress - && (Value.symbols txOut.amount == [ Value.adaSymbol ]) - && (txOut.datum == NoOutputDatum) - && isNothing txOut.referenceScript + && (Value.getMultiAsset txOut.amount == MultiAsset.empty) + && isNothing txOut.datum + && isNothing txOut.scriptRef ) ---------------------------------------------------------------------- diff --git a/app/delegate-server/Handlers/MoveBid.purs b/app/delegate-server/Handlers/MoveBid.purs index ecc7728..9996c17 100644 --- a/app/delegate-server/Handlers/MoveBid.purs +++ b/app/delegate-server/Handlers/MoveBid.purs @@ -15,9 +15,8 @@ module DelegateServer.Handlers.MoveBid import Prelude +import Cardano.Types (NetworkId, TransactionHash) import Contract.Address (getNetworkId) -import Contract.Config (NetworkId) -import Contract.Transaction (TransactionHash) import Control.Monad.Except (runExceptT) import Data.Codec.Argonaut (JsonCodec, object) as CA import Data.Codec.Argonaut.Record (record) as CAR @@ -48,7 +47,7 @@ import DelegateServer.Types.ServerResponse ) import Effect.Class (liftEffect) import HTTPure (Response) as HTTPure -import HydraAuctionOffchain.Codec (transactionHashCodec) +import HydraAuctionOffchain.Codec (txHashCodec) import HydraAuctionOffchain.Contract.Types (StandingBidState, standingBidStateCodec) import HydraAuctionOffchain.Lib.Codec (class HasJson) import Type.Proxy (Proxy(Proxy)) @@ -113,7 +112,7 @@ moveBidSuccessCodec network = , "CommittedStandingBid": Right $ CA.object "MoveBidSuccess_CommittedStandingBid" $ CAR.record { standingBid: standingBidStateCodec network - , txHash: transactionHashCodec + , txHash: txHashCodec } } ) diff --git a/app/delegate-server/Handlers/SignCommitTx.purs b/app/delegate-server/Handlers/SignCommitTx.purs index 615258d..1418dec 100644 --- a/app/delegate-server/Handlers/SignCommitTx.purs +++ b/app/delegate-server/Handlers/SignCommitTx.purs @@ -26,27 +26,28 @@ module DelegateServer.Handlers.SignCommitTx import Prelude -import Contract.Address (PubKeyHash, toPubKeyHash) -import Contract.Monad (Contract, liftedM) -import Contract.Transaction - ( FinalizedTransaction(FinalizedTransaction) +import Cardano.AsCbor (encodeCbor) +import Cardano.Types + ( Asset(Asset) + , AssetName + , Ed25519KeyHash + , ScriptHash , Transaction , TransactionInput , TransactionOutput(TransactionOutput) , Vkeywitness - , _body - , _collateral - , _inputs - , signTransaction ) +import Cardano.Types.AssetName (mkAssetName) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.Transaction (_body) +import Cardano.Types.TransactionBody (_collateral, _inputs) +import Contract.Monad (Contract, liftedM) +import Contract.Transaction (signTransaction) import Contract.Utxos (getUtxo) -import Contract.Value (CurrencySymbol, TokenName, mkTokenName) import Contract.Value (geq, singleton, valueOf) as Value import Contract.Wallet (ownPaymentPubKeyHash) import Control.Monad.Error.Class (catchError, throwError) import Control.Parallel (parTraverse) -import Ctl.Internal.Plutus.Conversion (toPlutusValue) -import Ctl.Internal.Serialization.Hash (ed25519KeyHashToBytes) import Data.Array (all, difference, find, fromFoldable, length, partition) as Array import Data.Codec.Argonaut (JsonCodec, array, object, string) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG @@ -74,25 +75,27 @@ import DelegateServer.Types.ServerResponse import Effect.Exception (error) import Effect.Exception (message) as Error import HTTPure (Response) as HTTPure -import HydraAuctionOffchain.Codec (pubKeyHashCodec, txCodec, vkeyWitnessCodec) +import HydraAuctionOffchain.Codec (ed25519KeyHashCodec, txCodec, vkeyWitnessCodec) import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) import HydraAuctionOffchain.Contract.QueryUtxo (isStandingBidUtxo) import HydraAuctionOffchain.Contract.Types (AuctionInfoRec) import HydraAuctionOffchain.Helpers (errV, fromJustWithErr) +import HydraAuctionOffchain.Lib.Cardano.Address (toPubKeyHash) import HydraAuctionOffchain.Lib.Codec (sumGenericCodec) import HydraAuctionOffchain.Lib.Json (caDecodeString) +import Partial.Unsafe (unsafePartial) import Type.Proxy (Proxy(Proxy)) type SignCommitTxRequestPayload = { commitTx :: Transaction - , commitLeader :: PubKeyHash + , commitLeader :: Ed25519KeyHash } signCommitTxRequestPayloadCodec :: CA.JsonCodec SignCommitTxRequestPayload signCommitTxRequestPayloadCodec = CA.object "SignCommitTxRequestPayload" $ CAR.record { commitTx: txCodec - , commitLeader: pubKeyHashCodec + , commitLeader: ed25519KeyHashCodec } type CommitTxSignature = Vkeywitness @@ -118,7 +121,7 @@ signCommitTxHandlerImpl bodyStr = do runContract do let txBody = commitTx ^. _body mResolvedInputs <- resolveInputs (Array.fromFoldable $ txBody ^. _inputs) - mResolvedCollateralInputs <- resolveInputs (fromMaybe mempty $ txBody ^. _collateral) + mResolvedCollateralInputs <- resolveInputs $ txBody ^. _collateral case mResolvedInputs, mResolvedCollateralInputs of Nothing, _ -> pure $ ServerResponseError @@ -157,8 +160,7 @@ resolveInputs = signTxReturnSignature :: Transaction -> Contract CommitTxSignature signTxReturnSignature tx = do - let wrappedTx = FinalizedTransaction tx - signedTx <- unwrap <$> signTransaction wrappedTx + signedTx <- signTransaction tx case Array.difference (txSignatures signedTx) (txSignatures tx) of -- Impossible: Two new signatures would indicate that the -- transaction was also signed using the stake key, breaking @@ -223,10 +225,10 @@ commitTxValidationErrorCodec = type CommitTxValidationParams (r :: Row Type) = { commitTx :: Transaction - , commitLeader :: PubKeyHash - , verifier :: PubKeyHash + , commitLeader :: Ed25519KeyHash + , verifier :: Ed25519KeyHash , auctionInfo :: Record (AuctionInfoRec r) - , hydraHeadCs :: CurrencySymbol + , hydraHeadCs :: ScriptHash , resolvedInputs :: ResolvedInputs , resolvedCollateralInputs :: ResolvedInputs } @@ -247,10 +249,10 @@ validateCommitTx p = do where txBody = unwrap $ p.commitTx ^. _body - commitLeaderPTokenName :: TokenName + commitLeaderPTokenName :: AssetName commitLeaderPTokenName = fromJustWithErr "commitLeaderPTokenName" - (mkTokenName $ unwrap $ ed25519KeyHashToBytes $ unwrap p.commitLeader) + (mkAssetName $ unwrap $ encodeCbor p.commitLeader) standingBidInputPartition = Array.partition (isStandingBidUtxo p.auctionInfo <<< snd) @@ -259,7 +261,8 @@ validateCommitTx p = do hydraInitInputPartition = Array.partition ( \(_ /\ TransactionOutput { amount }) -> - Value.valueOf amount p.hydraHeadCs commitLeaderPTokenName == one + Value.valueOf (Asset p.hydraHeadCs commitLeaderPTokenName) amount + == BigNum.one ) standingBidInputPartition.no @@ -300,9 +303,9 @@ validateCommitTx p = do checkCommitOutput = isJust $ Array.find ( \output -> - toPlutusValue (unwrap output).amount `Value.geq` - ( Value.singleton p.auctionInfo.auctionId standingBidTokenName one - <> Value.singleton p.hydraHeadCs commitLeaderPTokenName one + unsafePartial $ (unwrap output).amount `Value.geq` + ( Value.singleton p.auctionInfo.auctionId standingBidTokenName BigNum.one + <> Value.singleton p.hydraHeadCs commitLeaderPTokenName BigNum.one ) ) txBody.outputs diff --git a/app/delegate-server/Helpers.purs b/app/delegate-server/Helpers.purs index af2640a..e2c8268 100644 --- a/app/delegate-server/Helpers.purs +++ b/app/delegate-server/Helpers.purs @@ -6,7 +6,9 @@ module DelegateServer.Helpers import Prelude -import Contract.Prim.ByteArray (byteArrayToHex, byteLength, hexToByteArray) +import Cardano.AsCbor (decodeCbor, encodeCbor) +import Contract.CborBytes (cborBytesToHex, hexToCborBytes) +import Contract.Prim.ByteArray (byteLength) import Contract.Transaction (TransactionInput(TransactionInput)) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap, wrap) @@ -19,15 +21,14 @@ modifyF f t = wrap <$> f (unwrap t) printOref :: TransactionInput -> String printOref (TransactionInput rec) = - byteArrayToHex (unwrap rec.transactionId) <> "#" <> UInt.toString rec.index + cborBytesToHex (encodeCbor rec.transactionId) <> "#" <> UInt.toString rec.index readOref :: String -> Maybe TransactionInput readOref str = case String.split (Pattern "#") str of [ txHashStr, idx ] - | Just txHash <- hexToByteArray txHashStr - , byteLength txHash == 32 + | Just transactionId <- decodeCbor =<< hexToCborBytes txHashStr , Just index <- UInt.fromString idx -> - Just $ wrap { transactionId: wrap txHash, index } + Just $ wrap { transactionId, index } _ -> Nothing diff --git a/app/delegate-server/HydraNodeApi/WebSocket.purs b/app/delegate-server/HydraNodeApi/WebSocket.purs index 5f7e3cb..cf5d2b6 100644 --- a/app/delegate-server/HydraNodeApi/WebSocket.purs +++ b/app/delegate-server/HydraNodeApi/WebSocket.purs @@ -119,7 +119,7 @@ mkHydraNodeApiWebSocket wsServer onConnect = do { baseWs: ws , initHead: ws.send Out_Init , abortHead: ws.send Out_Abort - , submitTxL2: ws.send <<< Out_NewTx <<< { transaction: _ } <=< mkHydraTx + , submitTxL2: ws.send <<< Out_NewTx <<< { transaction: _ } <<< mkHydraTx -- Close and Contest transactions may be silently dropped by cardano-node: -- https://github.com/input-output-hk/hydra/blob/d12addeeec0a08d879b567556cb0686bef618936/docs/docs/getting-started/quickstart.md?plain=1#L196-L212 , closeHead: diff --git a/app/delegate-server/Lib/Contract.purs b/app/delegate-server/Lib/Contract.purs index 51a545e..56561c2 100644 --- a/app/delegate-server/Lib/Contract.purs +++ b/app/delegate-server/Lib/Contract.purs @@ -4,11 +4,12 @@ module DelegateServer.Lib.Contract import Prelude +import Cardano.Types.Coin (zero) as Coin import Contract.Monad (Contract, ContractEnv, runContractInEnv) import Contract.Numeric.BigNum (one, zero) as BigNum import Contract.ProtocolParameters (getProtocolParameters) import Control.Monad.Reader (local) -import Data.Newtype (modify) +import Data.Newtype (modify, wrap) import Data.UInt (UInt) import Effect.Aff (Aff) @@ -17,11 +18,11 @@ runContractNullCostsAff contractEnv contract = runContractInEnv contractEnv do pparams <- getProtocolParameters <#> modify \rec -> rec - { txFeeFixed = (zero :: UInt) + { txFeeFixed = Coin.zero , txFeePerByte = (zero :: UInt) - , prices = - { memPrice: { numerator: BigNum.zero, denominator: BigNum.one } - , stepPrice: { numerator: BigNum.zero, denominator: BigNum.one } + , prices = wrap + { memPrice: wrap { numerator: BigNum.zero, denominator: BigNum.one } + , stepPrice: wrap { numerator: BigNum.zero, denominator: BigNum.one } } } contract # local _ diff --git a/app/delegate-server/Lib/Transaction.purs b/app/delegate-server/Lib/Transaction.purs index 31834bc..ef60164 100644 --- a/app/delegate-server/Lib/Transaction.purs +++ b/app/delegate-server/Lib/Transaction.purs @@ -9,42 +9,29 @@ module DelegateServer.Lib.Transaction import Prelude -import Contract.Hashing (auxiliaryDataHash) +import Cardano.Types (Language(PlutusV2), Transaction, Vkeywitness) +import Cardano.Types.AuxiliaryData (hashAuxiliaryData) +import Cardano.Types.Transaction (_body, _isValid, _witnessSet) +import Cardano.Types.TransactionBody (_auxiliaryDataHash) +import Cardano.Types.TransactionWitnessSet (_plutusData, _redeemers, _vkeys) import Contract.Monad (Contract) import Contract.ProtocolParameters (getProtocolParameters) -import Contract.Transaction - ( BalancedSignedTransaction - , Language(PlutusV2) - , Transaction - , Vkeywitness - , _auxiliaryDataHash - , _body - , _isValid - , _plutusData - , _vkeys - , _witnessSet - , signTransaction - ) -import Ctl.Internal.Cardano.Types.Transaction (_redeemers) +import Contract.Transaction (signTransaction) import Ctl.Internal.Transaction (setScriptDataHash) -import Data.Lens (view, (%~), (.~), (^.)) -import Data.Lens.Common (simple) -import Data.Lens.Iso.Newtype (_Newtype) +import Data.Lens (view, (%~), (.~), (<>~), (^.)) import Data.Map (filterKeys) as Map import Data.Maybe (Maybe(Nothing), fromMaybe) import Data.Newtype (modify, unwrap, wrap) import Data.Traversable (traverse) import Effect.Class (class MonadEffect, liftEffect) -setAuxDataHash :: forall m. MonadEffect m => Transaction -> m Transaction -setAuxDataHash tx = do - auxDataHash <- liftEffect $ traverse auxiliaryDataHash (unwrap tx).auxiliaryData - pure $ tx # _body <<< _auxiliaryDataHash .~ auxDataHash +setAuxDataHash :: Transaction -> Transaction +setAuxDataHash tx = + tx # _body <<< _auxiliaryDataHash .~ + (hashAuxiliaryData <$> (unwrap tx).auxiliaryData) -reSignTransaction :: BalancedSignedTransaction -> Contract BalancedSignedTransaction -reSignTransaction tx = - signTransaction - (tx # simple _Newtype <<< _witnessSet <<< _vkeys .~ Nothing) +reSignTransaction :: Transaction -> Contract Transaction +reSignTransaction tx = signTransaction (tx # _witnessSet <<< _vkeys .~ mempty) setTxValid :: Transaction -> Transaction setTxValid = _isValid .~ true @@ -53,24 +40,20 @@ setExUnitsToMax :: Transaction -> Contract Transaction setExUnitsToMax tx = do pparams <- unwrap <$> getProtocolParameters let - costModels = modify (Map.filterKeys (eq PlutusV2)) pparams.costModels + costModels = Map.filterKeys (eq PlutusV2) pparams.costModels ws = evaluatedTx ^. _witnessSet evaluatedTx = - tx # _witnessSet <<< _redeemers %~ map - ( map \redeemer -> - redeemer # modify _ - { exUnits = pparams.maxTxExUnits - } - ) + tx # _witnessSet <<< _redeemers %~ map \redeemer -> + redeemer # modify _ + { exUnits = pparams.maxTxExUnits + } liftEffect $ - setScriptDataHash costModels (fromMaybe mempty $ ws ^. _redeemers) - (wrap <$> fromMaybe mempty (ws ^. _plutusData)) + setScriptDataHash costModels (ws ^. _redeemers) (ws ^. _plutusData) evaluatedTx txSignatures :: Transaction -> Array Vkeywitness -txSignatures = fromMaybe mempty <<< view (_witnessSet <<< _vkeys) +txSignatures = view (_witnessSet <<< _vkeys) appendTxSignatures :: Array Vkeywitness -> Transaction -> Transaction appendTxSignatures signatures = - _witnessSet <<< _vkeys %~ - pure <<< append signatures <<< fromMaybe mempty + _witnessSet <<< _vkeys <>~ signatures diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index e2665cc..a8f28ee 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -33,7 +33,7 @@ import HTTPure ) as HTTPure import HTTPure (Method(Options, Post), (!!), (!?), (!@)) import HTTPure.Status (ok) as HTTPureStatus -import HydraAuctionOffchain.Codec (currencySymbolCodec) +import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Lib.Json (caDecodeString) import URI.Port (Port) import URI.Port (toInt) as Port @@ -81,7 +81,7 @@ appLookupMiddleware -> Aff HTTPure.Response appLookupMiddleware router' (appLogger /\ appMap) request@{ headers } | Just auctionCsRaw <- headers !! "Auction-Cs" = - case caDecodeString currencySymbolCodec auctionCsRaw of + case caDecodeString scriptHashCodec auctionCsRaw of Left _ -> HTTPure.badRequest "Could not decode Auction-Cs request header" Right auctionCs -> diff --git a/app/delegate-server/Types/HydraCommitRequest.purs b/app/delegate-server/Types/HydraCommitRequest.purs index eab4157..84de798 100644 --- a/app/delegate-server/Types/HydraCommitRequest.purs +++ b/app/delegate-server/Types/HydraCommitRequest.purs @@ -41,13 +41,12 @@ instance EncodeJson HydraCommitRequest where mkSimpleCommitRequest :: UtxoMap -> HydraCommitRequest mkSimpleCommitRequest = SimpleCommitRequest <<< HydraUtxoMap.fromUtxoMap -mkFullCommitRequest :: Transaction -> UtxoMap -> Effect HydraCommitRequest +mkFullCommitRequest :: Transaction -> UtxoMap -> HydraCommitRequest mkFullCommitRequest tx utxos = - mkHydraTx tx <#> \blueprintTx -> - FullCommitRequest - { blueprintTx - , utxo: HydraUtxoMap.fromUtxoMap utxos - } + FullCommitRequest + { blueprintTx: mkHydraTx tx + , utxo: HydraUtxoMap.fromUtxoMap utxos + } type HydraFullCommitRequest = { blueprintTx :: HydraTx diff --git a/app/delegate-server/Types/HydraNodeApiMessage.purs b/app/delegate-server/Types/HydraNodeApiMessage.purs index 8861e55..31847f4 100644 --- a/app/delegate-server/Types/HydraNodeApiMessage.purs +++ b/app/delegate-server/Types/HydraNodeApiMessage.purs @@ -38,7 +38,7 @@ module DelegateServer.Types.HydraNodeApiMessage import Prelude -import Contract.Value (CurrencySymbol) +import Cardano.Types (ScriptHash) import Data.Codec.Argonaut (JsonCodec, int, object, string) as CA import Data.Codec.Argonaut.Record (optional, record) as CAR import Data.Codec.Argonaut.Variant (variantMatch) as CAV @@ -50,7 +50,7 @@ import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus, headStatusCodec) import DelegateServer.Types.HydraSnapshot (HydraSnapshot, hydraSnapshotCodec) import DelegateServer.Types.HydraTx (HydraTx, hydraTxCodec) import DelegateServer.Types.HydraUtxoMap (HydraUtxoMap, hydraUtxoMapCodec) -import HydraAuctionOffchain.Codec (currencySymbolCodec) +import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Lib.Codec (fixTaggedSumCodec) import Type.Proxy (Proxy(Proxy)) @@ -155,13 +155,13 @@ greetingsMessageCodec = } type HeadInitMessage = - { headId :: CurrencySymbol + { headId :: ScriptHash } headInitMessageCodec :: CA.JsonCodec HeadInitMessage headInitMessageCodec = CA.object "HeadInitMessage" $ CAR.record - { headId: currencySymbolCodec + { headId: scriptHashCodec } type CommittedMessage = diff --git a/app/delegate-server/Types/HydraTx.purs b/app/delegate-server/Types/HydraTx.purs index db9d68a..4dc5c85 100644 --- a/app/delegate-server/Types/HydraTx.purs +++ b/app/delegate-server/Types/HydraTx.purs @@ -6,13 +6,12 @@ module DelegateServer.Types.HydraTx import Prelude +import Cardano.AsCbor (encodeCbor) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (Transaction) -import Ctl.Internal.Serialization (convertTransaction, toBytes) import Data.Codec.Argonaut (JsonCodec, object, string) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Newtype (unwrap) -import Effect (Effect) import HydraAuctionOffchain.Codec (byteArrayCodec) type HydraTx = @@ -29,10 +28,9 @@ hydraTxCodec = , "type": CA.string } -mkHydraTx :: Transaction -> Effect HydraTx +mkHydraTx :: Transaction -> HydraTx mkHydraTx tx = - convertTransaction tx <#> \cslTx -> - { cborHex: unwrap $ toBytes cslTx - , description: "" - , "type": "Tx BabbageEra" - } + { cborHex: unwrap $ encodeCbor tx + , description: "" + , "type": "Tx BabbageEra" + } diff --git a/app/delegate-server/Types/HydraUtxoMap.purs b/app/delegate-server/Types/HydraUtxoMap.purs index ea44847..720563e 100644 --- a/app/delegate-server/Types/HydraUtxoMap.purs +++ b/app/delegate-server/Types/HydraUtxoMap.purs @@ -1,6 +1,5 @@ module DelegateServer.Types.HydraUtxoMap ( HydraUtxoMap(HydraUtxoMap) - , addressCodec , encodePlutusData , encodeValue , fromUtxoMap @@ -10,37 +9,38 @@ module DelegateServer.Types.HydraUtxoMap import Prelude -import Contract.Address (Address, NetworkId(TestnetId), addressWithNetworkTagToBech32) -import Contract.Hashing (datumHash) -import Contract.PlutusData - ( OutputDatum(NoOutputDatum, OutputDatum) - , PlutusData(Constr, Map, List, Integer, Bytes) - ) -import Contract.Prim.ByteArray (ByteArray, byteArrayToHex, hexToByteArray) -import Contract.Transaction - ( TransactionInput - , TransactionOutput(TransactionOutput) - , outputDatumDatum - ) -import Contract.Utxos (UtxoMap) -import Contract.Value - ( Value - , getCurrencySymbol - , getTokenName - , getValue +import Cardano.AsCbor (encodeCbor) +import Cardano.Plutus.Types.CurrencySymbol (mkCurrencySymbol, unCurrencySymbol) +import Cardano.Plutus.Types.TokenName (mkTokenName) +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Plutus.Types.Value + ( getValue , lovelaceValueOf - , mkCurrencySymbol - , mkTokenName + , singleton + , toCardano , valueToCoin' + ) as Plutus.Value +import Cardano.Types + ( Address + , OutputDatum(OutputDatum) + , TransactionInput + , TransactionOutput(TransactionOutput) + , Value(Value) ) -import Contract.Value (singleton) as Value +import Cardano.Types.AssetName (unAssetName) +import Cardano.Types.BigNum (fromBigInt, toBigInt) as BigNum +import Cardano.Types.DataHash (hashPlutusData) +import Cardano.Types.OutputDatum (outputDatumDatum) +import Contract.CborBytes (cborBytesToHex) +import Contract.Hashing (datumHash) +import Contract.PlutusData (PlutusData(Constr, Map, List, Integer, Bytes)) +import Contract.Prim.ByteArray (ByteArray, byteArrayToHex, hexToByteArray) +import Contract.Utxos (UtxoMap) +import Contract.Value (singleton, valueToCoin) as Value import Control.Alt ((<|>)) import Control.Monad.Maybe.Trans (MaybeT(MaybeT), runMaybeT) import Control.Monad.Trans.Class (lift) import Control.Safely (foldM) -import Ctl.Internal.Plutus.Conversion (toPlutusAddress) -import Ctl.Internal.Serialization.Address (addressFromBech32) -import Ctl.Internal.Types.BigNum (fromBigInt, toBigInt) as BigNum import Data.Argonaut ( class DecodeJson , class EncodeJson @@ -70,8 +70,7 @@ import Data.Traversable (for, traverse) import Data.Tuple.Nested (type (/\), (/\)) import DelegateServer.Helpers (printOref, readOref) import Foreign.Object (delete, fromFoldable, toUnfoldable) as Obj -import HydraAuctionOffchain.Codec (byteArrayCodec) -import HydraAuctionOffchain.Helpers (withoutRefScript) +import HydraAuctionOffchain.Codec (addressCodec, byteArrayCodec) import HydraAuctionOffchain.Lib.Json (fromCaJsonDecodeError) import JS.BigInt (BigInt) import JS.BigInt (fromNumber, toNumber) as BigInt @@ -109,13 +108,10 @@ hydraUtxoMapCodec = CA.json fromUtxoMap :: UtxoMap -> HydraUtxoMap -fromUtxoMap = wrap <<< Map.toUnfoldable <<< map (_.output <<< unwrap) +fromUtxoMap = wrap <<< Map.toUnfoldable toUtxoMapWithoutRefScripts :: HydraUtxoMap -> UtxoMap -toUtxoMapWithoutRefScripts = - Map.fromFoldable - <<< map (map withoutRefScript) - <<< unwrap +toUtxoMapWithoutRefScripts = Map.fromFoldable <<< unwrap -- @@ -128,16 +124,17 @@ txOutCodec = fromHydraTxOut rec = wrap { address: rec.address , amount: rec.value - , datum: maybe NoOutputDatum (OutputDatum <<< wrap) rec.inlineDatum - , referenceScript: Nothing + , datum: OutputDatum <$> rec.inlineDatum + , scriptRef: Nothing } toHydraTxOut :: TransactionOutput -> HydraTxOut toHydraTxOut (TransactionOutput rec) = { address: rec.address , value: rec.amount - , inlineDatum: unwrap <$> outputDatumDatum rec.datum - , inlineDatumhash: unwrap <<< datumHash <$> outputDatumDatum rec.datum + , inlineDatum: outputDatumDatum =<< rec.datum + , inlineDatumhash: unwrap <<< encodeCbor <<< hashPlutusData <$> + (outputDatumDatum =<< rec.datum) } -- @@ -160,35 +157,27 @@ hydraTxOutCodec = -- -addressCodec :: CA.JsonCodec Address -addressCodec = - CA.prismaticCodec "Address" - (toPlutusAddress <=< addressFromBech32) - (addressWithNetworkTagToBech32 <<< wrap <<< { address: _, networkId: TestnetId }) - CA.string - --- - valueCodec :: CA.JsonCodec Value valueCodec = CA.prismaticCodec "Value" (hush <<< decodeValue) encodeValue CA.json encodeValue :: Value -> Json -encodeValue value = +encodeValue (Value coin multiAsset) = fromObject $ Obj.delete mempty $ Obj.fromFoldable (lovelace : nonAdaAssets) where lovelace :: String /\ Json - lovelace = "lovelace" /\ encodeJson (BigInt.toNumber $ valueToCoin' value) + lovelace = "lovelace" /\ encodeJson (BigInt.toNumber $ BigNum.toBigInt $ unwrap coin) nonAdaAssets :: Array (String /\ Json) nonAdaAssets = - unwrap (getValue value) <#> \(cs /\ mp) -> - byteArrayToHex (getCurrencySymbol cs) /\ + (Map.toUnfoldable :: _ -> Array _) (unwrap multiAsset) <#> \(cs /\ mp) -> + cborBytesToHex (encodeCbor cs) /\ ( fromObject $ Obj.fromFoldable $ - unwrap mp <#> \(tn /\ quantity) -> - byteArrayToHex (getTokenName tn) /\ encodeJson (BigInt.toNumber quantity) + (Map.toUnfoldable :: _ -> Array _) mp <#> \(tn /\ quantity) -> + byteArrayToHex (unAssetName tn) /\ encodeJson + (BigInt.toNumber $ BigNum.toBigInt quantity) ) decodeValue :: Json -> Either JsonDecodeError Value @@ -204,7 +193,7 @@ decodeValue json = do lift $ BigInt.fromNumber lovelaceNum # note (AtKey lovelaceKey $ UnexpectedValue $ fromNumber lovelaceNum) - decodeNonAdaAssets :: Either JsonDecodeError Value + decodeNonAdaAssets :: Either JsonDecodeError Plutus.Value decodeNonAdaAssets = foldM ( \acc (csStr /\ tnList) -> do @@ -216,7 +205,7 @@ decodeValue json = do tn <- note (TypeMismatch "TokenName") $ mkTokenName =<< hexToByteArray tnStr quantity <- BigInt.fromNumber quantityNum # note (AtKey tnStr $ UnexpectedValue $ fromNumber quantityNum) - pure $ acc' <> Value.singleton cs tn quantity + pure $ acc' <> Plutus.Value.singleton cs tn quantity ) acc tnObj @@ -226,7 +215,8 @@ decodeValue json = do lovelace <- decodeLovelace nonAdaAssets <- decodeNonAdaAssets - pure $ nonAdaAssets <> maybe mempty lovelaceValueOf lovelace + let plutusValue = nonAdaAssets <> maybe mempty Plutus.Value.lovelaceValueOf lovelace + note (TypeMismatch "Cardano.Value") $ Plutus.Value.toCardano plutusValue -- diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 6f4f5a8..d16bf95 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -14,9 +14,10 @@ module DelegateServer.WsServer import Prelude -import Contract.Config (NetworkId) +import Cardano.AsCbor (decodeCbor) +import Cardano.Types (NetworkId, ScriptHash) +import Contract.CborBytes (hexToCborBytes) import Contract.Prim.ByteArray (hexToByteArray) -import Contract.Value (CurrencySymbol, mkCurrencySymbol) import Data.Array (singleton, (:)) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV @@ -65,7 +66,7 @@ auctionCsMismatch = } type WsServerAppMap appState = - { lookupApp :: CurrencySymbol -> Maybe appState + { lookupApp :: ScriptHash -> Maybe appState , getHeadStatus :: appState -> Aff HydraHeadStatus , getStandingBid :: appState -> Aff (Maybe StandingBidState) } @@ -93,7 +94,7 @@ wsServerGeneric wsServerPort network appMap = do liftEffect do wss.onConnect \{ connPath, sendMessages } -> do let auctionCsRaw = fromMaybe connPath $ String.stripPrefix (Pattern "/") connPath - case mkCurrencySymbol =<< hexToByteArray auctionCsRaw of + case decodeCbor =<< hexToCborBytes auctionCsRaw of Nothing -> do pure $ CloseWebSocketConn auctionCsDecodingFailure Just auctionCs -> diff --git a/app/plutip-env/Main.purs b/app/plutip-env/Main.purs index ef40e7c..0e68851 100644 --- a/app/plutip-env/Main.purs +++ b/app/plutip-env/Main.purs @@ -4,17 +4,19 @@ module PlutipEnv.Main import Prelude -import Contract.Test.Plutip (InitialUTxOs, withPlutipContractEnv) +import Cardano.Types.BigNum (fromInt) as BigNum +import Cardano.Wallet.Key (getPrivatePaymentKey) +import Contract.Test (InitialUTxOs) import Contract.Wallet (KeyWallet) -import Contract.Wallet.Key (keyWalletPrivatePaymentKey) import Contract.Wallet.KeyFile (privatePaymentKeyToFile) +import Ctl.Internal.Testnet.Contract (withTestnetContractEnv) import Effect (Effect) import Effect.AVar (tryPut) as AVar import Effect.Aff (Aff, launchAff_) import Effect.Aff.AVar (empty, take) as AVar import Effect.Class (liftEffect) import Effect.Console (log) -import HydraAuctionOffchain.Types.ContractConfig (plutipConfig) +import HydraAuctionOffchain.Types.ContractConfig (localnetConfig) import JS.BigInt (fromInt) as BigInt import Node.Encoding (Encoding(UTF8)) import Node.Process (stdin) @@ -46,11 +48,12 @@ main = launchAff_ do withPlutipEnv :: (KeyWallet -> Aff Unit) -> Aff Unit withPlutipEnv cont = - withPlutipContractEnv plutipConfig distr \_contractEnv wallet -> cont wallet + withTestnetContractEnv localnetConfig distr \_contractEnv wallet -> cont wallet where distr :: InitialUTxOs - distr = [ BigInt.fromInt 2_000_000_000 ] + distr = [ BigNum.fromInt 2_000_000_000 ] storeWalletKey :: PlutipEnvConfig -> KeyWallet -> Aff Unit storeWalletKey config wallet = - privatePaymentKeyToFile config.paymentSkeyFilePath $ keyWalletPrivatePaymentKey wallet + privatePaymentKeyToFile config.paymentSkeyFilePath + =<< getPrivatePaymentKey wallet diff --git a/flake.lock b/flake.lock index ce6ad7b..6f9f891 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1702742788, - "narHash": "sha256-lSU0M27LC0d60cJ2C2Kdo6gBwTCCYRiALbD528CoTtc=", + "lastModified": 1721915212, + "narHash": "sha256-itkbLG6DUX/L5XuoSXFPgPBf+9lFOM3ufc1T4BU4MYM=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "4a236a8ad9e3c6d20235de27eacbe3d4de72479c", + "rev": "2126fa53c45842719ee38040f4d5bee8fb17a09d", "type": "github" }, "original": { @@ -34,14 +34,14 @@ "type": "github" } }, - "CHaP_2": { + "CHaP_11": { "flake": false, "locked": { - "lastModified": 1686070892, - "narHash": "sha256-0yAYqvCg2/aby4AmW0QQK9RKnU1siQczfbUC6hOU02w=", + "lastModified": 1666576849, + "narHash": "sha256-FDFmN3TzQsUjNxGlKKTFpLOUOnvsQMNI4o3MahJw9zA=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "596cf203a0a1ba252a083a79d384325000faeb49", + "rev": "97aab5bc3f59108d97a6bb0c4d07ae1b79b005ca", "type": "github" }, "original": { @@ -51,14 +51,31 @@ "type": "github" } }, + "CHaP_2": { + "flake": false, + "locked": { + "lastModified": 1702906471, + "narHash": "sha256-br+hVo3R6nfmiSEPXcLKhIX4Kg5gcK2PjzjmvQsuUp8=", + "owner": "IntersectMBO", + "repo": "cardano-haskell-packages", + "rev": "48a359ac3f1d437ebaa91126b20e15a65201f004", + "type": "github" + }, + "original": { + "owner": "IntersectMBO", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, "CHaP_3": { "flake": false, "locked": { - "lastModified": 1695160702, - "narHash": "sha256-+Mfc6eGA1ZwQ/ZjKzMoMWkHzd+sgR1JbxY0i849HjEU=", + "lastModified": 1686070892, + "narHash": "sha256-0yAYqvCg2/aby4AmW0QQK9RKnU1siQczfbUC6hOU02w=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "9932690af3713ef034c928850252eb1b88450ee6", + "rev": "596cf203a0a1ba252a083a79d384325000faeb49", "type": "github" }, "original": { @@ -71,11 +88,11 @@ "CHaP_4": { "flake": false, "locked": { - "lastModified": 1694601145, - "narHash": "sha256-p7ZxorrOvoow6N+JKvfrCiRYFtUSPiEMgt8MR+rcTT4=", + "lastModified": 1702593630, + "narHash": "sha256-IWu27+sfPtazjIZiWLUm8G4BKvjXmIL+/1XT/ETnfhg=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "e8298604717dbaa311c1e42e021b571670f4b039", + "rev": "9783a177efcea5beb8808aab7513098bdab185ba", "type": "github" }, "original": { @@ -86,6 +103,23 @@ } }, "CHaP_5": { + "flake": false, + "locked": { + "lastModified": 1721831314, + "narHash": "sha256-I1j5HPSbbh3l1D0C9oP/59YB4e+64K9NDRl7ueD1c/Y=", + "owner": "intersectmbo", + "repo": "cardano-haskell-packages", + "rev": "8815ee7598bc39a02db8896b788f69accf892790", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "repo", + "repo": "cardano-haskell-packages", + "type": "github" + } + }, + "CHaP_6": { "flake": false, "locked": { "lastModified": 1715802876, @@ -102,7 +136,7 @@ "type": "github" } }, - "CHaP_6": { + "CHaP_7": { "flake": false, "locked": { "lastModified": 1715690409, @@ -119,7 +153,7 @@ "type": "github" } }, - "CHaP_7": { + "CHaP_8": { "flake": false, "locked": { "lastModified": 1666576849, @@ -136,7 +170,7 @@ "type": "github" } }, - "CHaP_8": { + "CHaP_9": { "flake": false, "locked": { "lastModified": 1668433977, @@ -153,23 +187,6 @@ "type": "github" } }, - "CHaP_9": { - "flake": false, - "locked": { - "lastModified": 1666576849, - "narHash": "sha256-FDFmN3TzQsUjNxGlKKTFpLOUOnvsQMNI4o3MahJw9zA=", - "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "97aab5bc3f59108d97a6bb0c4d07ae1b79b005ca", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", - "type": "github" - } - }, "HTTP": { "flake": false, "locked": { @@ -362,6 +379,54 @@ "type": "github" } }, + "HTTP_20": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "HTTP_21": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "HTTP_22": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, "HTTP_3": { "flake": false, "locked": { @@ -476,7 +541,7 @@ }, "agenix": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_38" }, "locked": { "lastModified": 1641576265, @@ -494,8 +559,8 @@ }, "agenix-cli": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_10" + "flake-utils": "flake-utils_21", + "nixpkgs": "nixpkgs_39" }, "locked": { "lastModified": 1641404293, @@ -513,8 +578,8 @@ }, "agenix-cli_2": { "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_12" + "flake-utils": "flake-utils_22", + "nixpkgs": "nixpkgs_41" }, "locked": { "lastModified": 1641404293, @@ -532,8 +597,8 @@ }, "agenix-cli_3": { "inputs": { - "flake-utils": "flake-utils_18", - "nixpkgs": "nixpkgs_41" + "flake-utils": "flake-utils_33", + "nixpkgs": "nixpkgs_70" }, "locked": { "lastModified": 1641404293, @@ -551,7 +616,7 @@ }, "agenix_2": { "inputs": { - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_40" }, "locked": { "lastModified": 1641576265, @@ -647,7 +712,7 @@ }, "agenix_6": { "inputs": { - "nixpkgs": "nixpkgs_40" + "nixpkgs": "nixpkgs_69" }, "locked": { "lastModified": 1641576265, @@ -717,7 +782,7 @@ "alejandra": { "inputs": { "flakeCompat": "flakeCompat", - "nixpkgs": "nixpkgs_35" + "nixpkgs": "nixpkgs_64" }, "locked": { "lastModified": 1646360966, @@ -733,6 +798,52 @@ "type": "github" } }, + "ameba-src": { + "flake": false, + "locked": { + "lastModified": 1679041484, + "narHash": "sha256-pc9mtVR/PBhM5l1PnDkm+y+McxbrfAmQzxmLi761VF4=", + "owner": "crystal-ameba", + "repo": "ameba", + "rev": "7c74d196d6d9a496a81a0c7b79ef44f39faf41b8", + "type": "github" + }, + "original": { + "owner": "crystal-ameba", + "ref": "v1.4.3", + "repo": "ameba", + "type": "github" + } + }, + "auth-keys-hub": { + "inputs": { + "crystal": "crystal", + "flake-parts": "flake-parts_2", + "inclusive": "inclusive", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "nixpkgs" + ], + "statix": "statix", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1691483346, + "narHash": "sha256-wvn84eGcc+PMbq/qSCWcZ/kV7/bjwuGOVSn/9rGaaKw=", + "owner": "input-output-hk", + "repo": "auth-keys-hub", + "rev": "ab7c79f49886b8f24cfae4b967a59ea62af9156e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "auth-keys-hub", + "type": "github" + } + }, "bats-assert": { "flake": false, "locked": { @@ -781,6 +892,22 @@ "type": "github" } }, + "bats-assert_4": { + "flake": false, + "locked": { + "lastModified": 1636059754, + "narHash": "sha256-ewME0l27ZqfmAwJO4h5biTALc9bDLv7Bl3ftBzBuZwk=", + "owner": "bats-core", + "repo": "bats-assert", + "rev": "34551b1d7f8c7b677c1a66fc0ac140d6223409e5", + "type": "github" + }, + "original": { + "owner": "bats-core", + "repo": "bats-assert", + "type": "github" + } + }, "bats-support": { "flake": false, "locked": { @@ -829,28 +956,61 @@ "type": "github" } }, + "bats-support_4": { + "flake": false, + "locked": { + "lastModified": 1548869839, + "narHash": "sha256-Gr4ntadr42F2Ks8Pte2D4wNDbijhujuoJi4OPZnTAZU=", + "owner": "bats-core", + "repo": "bats-support", + "rev": "d140a65044b2d6810381935ae7f0c94c7023c8c3", + "type": "github" + }, + "original": { + "owner": "bats-core", + "repo": "bats-support", + "type": "github" + } + }, + "bdwgc-src": { + "flake": false, + "locked": { + "lastModified": 1661523039, + "narHash": "sha256-UYJQGeSykmfydGAmTlNJNyAPBasBkddOSoopBHiY7TI=", + "owner": "ivmai", + "repo": "bdwgc", + "rev": "cd1fbc1dbfd2cc888436944dd2784f39820698d7", + "type": "github" + }, + "original": { + "owner": "ivmai", + "ref": "v8.2.2", + "repo": "bdwgc", + "type": "github" + } + }, "bitte": { "inputs": { "agenix": "agenix", "agenix-cli": "agenix-cli", - "blank": "blank_2", + "blank": "blank_6", "capsules": "capsules", "data-merge": "data-merge", "deploy": "deploy_2", - "fenix": "fenix_4", - "hydra": "hydra_3", - "n2c": "n2c_2", - "nix": "nix_5", - "nixpkgs": "nixpkgs_29", + "fenix": "fenix_6", + "hydra": "hydra_7", + "n2c": "n2c_5", + "nix": "nix_10", + "nixpkgs": "nixpkgs_58", "nixpkgs-docker": "nixpkgs-docker", - "nixpkgs-unstable": "nixpkgs-unstable_3", + "nixpkgs-unstable": "nixpkgs-unstable_8", "nomad-driver-nix": "nomad-driver-nix_2", "nomad-follower": "nomad-follower_2", - "ops-lib": "ops-lib_3", + "ops-lib": "ops-lib_5", "ragenix": "ragenix_3", - "std": "std_2", - "terranix": "terranix_2", - "utils": "utils_12" + "std": "std_6", + "terranix": "terranix_3", + "utils": "utils_17" }, "locked": { "lastModified": 1661790449, @@ -936,20 +1096,20 @@ "inputs": { "agenix": "agenix_2", "agenix-cli": "agenix-cli_2", - "blank": "blank_3", + "blank": "blank_7", "deploy": "deploy", - "fenix": "fenix_2", - "hydra": "hydra_2", - "nix": "nix_2", - "nixpkgs": "nixpkgs_15", - "nixpkgs-unstable": "nixpkgs-unstable_2", + "fenix": "fenix_4", + "hydra": "hydra_6", + "nix": "nix_7", + "nixpkgs": "nixpkgs_44", + "nixpkgs-unstable": "nixpkgs-unstable_7", "nomad": "nomad", "nomad-driver-nix": "nomad-driver-nix", "nomad-follower": "nomad-follower", - "ops-lib": "ops-lib_2", + "ops-lib": "ops-lib_4", "ragenix": "ragenix", - "terranix": "terranix", - "utils": "utils_7", + "terranix": "terranix_2", + "utils": "utils_12", "vulnix": "vulnix" }, "locked": { @@ -970,20 +1130,20 @@ "inputs": { "agenix": "agenix_6", "agenix-cli": "agenix-cli_3", - "blank": "blank_4", + "blank": "blank_8", "deploy": "deploy_3", - "fenix": "fenix_6", - "hydra": "hydra_4", - "nix": "nix_9", - "nixpkgs": "nixpkgs_44", - "nixpkgs-unstable": "nixpkgs-unstable_4", + "fenix": "fenix_8", + "hydra": "hydra_8", + "nix": "nix_14", + "nixpkgs": "nixpkgs_73", + "nixpkgs-unstable": "nixpkgs-unstable_9", "nomad": "nomad_2", "nomad-driver-nix": "nomad-driver-nix_3", "nomad-follower": "nomad-follower_3", - "ops-lib": "ops-lib_4", + "ops-lib": "ops-lib_6", "ragenix": "ragenix_4", - "terranix": "terranix_3", - "utils": "utils_21", + "terranix": "terranix_4", + "utils": "utils_26", "vulnix": "vulnix_2" }, "locked": { @@ -1195,7 +1355,7 @@ "type": "github" } }, - "blank_3": { + "blank_21": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1210,7 +1370,7 @@ "type": "github" } }, - "blank_4": { + "blank_22": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1225,7 +1385,7 @@ "type": "github" } }, - "blank_5": { + "blank_23": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1240,7 +1400,7 @@ "type": "github" } }, - "blank_6": { + "blank_3": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1255,7 +1415,7 @@ "type": "github" } }, - "blank_7": { + "blank_4": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1270,7 +1430,7 @@ "type": "github" } }, - "blank_8": { + "blank_5": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1285,7 +1445,7 @@ "type": "github" } }, - "blank_9": { + "blank_6": { "locked": { "lastModified": 1625557891, "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", @@ -1300,21 +1460,85 @@ "type": "github" } }, - "blockfrost": { - "inputs": { - "nixpkgs": "nixpkgs" - }, + "blank_7": { "locked": { - "lastModified": 1693412637, - "narHash": "sha256-uA2U7ZCdWv2Rxmi10uaMNNw8tiMbgcu2nnO6NTNp3VE=", - "owner": "blockfrost", - "repo": "blockfrost-backend-ryo", - "rev": "8d455ab1f710b7bd27d2aa87c82f0c5129101647", + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", "type": "github" }, "original": { - "owner": "blockfrost", - "ref": "v1.7.0", + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, + "blank_8": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, + "blank_9": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "blank", + "type": "github" + } + }, + "blockfrost": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1693412637, + "narHash": "sha256-uA2U7ZCdWv2Rxmi10uaMNNw8tiMbgcu2nnO6NTNp3VE=", + "owner": "blockfrost", + "repo": "blockfrost-backend-ryo", + "rev": "8d455ab1f710b7bd27d2aa87c82f0c5129101647", + "type": "github" + }, + "original": { + "owner": "blockfrost", + "ref": "v1.7.0", + "repo": "blockfrost-backend-ryo", + "type": "github" + } + }, + "blockfrost_2": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1716466734, + "narHash": "sha256-h1LdfN/2KlD/XRjgj7rDNRInxSKZCOx6OF4jak/3c/E=", + "owner": "blockfrost", + "repo": "blockfrost-backend-ryo", + "rev": "7204204615be69b2f298ddf11f9a23dbbb184e55", + "type": "github" + }, + "original": { + "owner": "blockfrost", + "ref": "v2.0.3", "repo": "blockfrost-backend-ryo", "type": "github" } @@ -1354,6 +1578,57 @@ } }, "blst_3": { + "flake": false, + "locked": { + "lastModified": 1656163412, + "narHash": "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=", + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + }, + "original": { + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + } + }, + "blst_4": { + "flake": false, + "locked": { + "lastModified": 1656163412, + "narHash": "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=", + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + }, + "original": { + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + } + }, + "blst_5": { + "flake": false, + "locked": { + "lastModified": 1656163412, + "narHash": "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=", + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + }, + "original": { + "owner": "supranational", + "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", + "type": "github" + } + }, + "blst_6": { "flake": false, "locked": { "lastModified": 1691598027, @@ -1370,7 +1645,41 @@ "type": "github" } }, - "blst_4": { + "blst_7": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, + "blst_8": { + "flake": false, + "locked": { + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "owner": "supranational", + "repo": "blst", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "type": "github" + }, + "original": { + "owner": "supranational", + "ref": "v0.3.11", + "repo": "blst", + "type": "github" + } + }, + "blst_9": { "flake": false, "locked": { "lastModified": 1691598027, @@ -1607,6 +1916,57 @@ "type": "github" } }, + "cabal-32_20": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-32_21": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-32_22": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, "cabal-32_3": { "flake": false, "locked": { @@ -1746,11 +2106,11 @@ "cabal-34_10": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -1763,11 +2123,11 @@ "cabal-34_11": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -1780,11 +2140,11 @@ "cabal-34_12": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -1916,11 +2276,11 @@ "cabal-34_2": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -1930,7 +2290,7 @@ "type": "github" } }, - "cabal-34_3": { + "cabal-34_20": { "flake": false, "locked": { "lastModified": 1640353650, @@ -1947,7 +2307,7 @@ "type": "github" } }, - "cabal-34_4": { + "cabal-34_21": { "flake": false, "locked": { "lastModified": 1640353650, @@ -1964,7 +2324,7 @@ "type": "github" } }, - "cabal-34_5": { + "cabal-34_22": { "flake": false, "locked": { "lastModified": 1640353650, @@ -1981,7 +2341,7 @@ "type": "github" } }, - "cabal-34_6": { + "cabal-34_3": { "flake": false, "locked": { "lastModified": 1645834128, @@ -1998,14 +2358,14 @@ "type": "github" } }, - "cabal-34_7": { + "cabal-34_4": { "flake": false, "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", "owner": "haskell", "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", "type": "github" }, "original": { @@ -2015,7 +2375,7 @@ "type": "github" } }, - "cabal-34_8": { + "cabal-34_5": { "flake": false, "locked": { "lastModified": 1645834128, @@ -2032,14 +2392,14 @@ "type": "github" } }, - "cabal-34_9": { + "cabal-34_6": { "flake": false, "locked": { - "lastModified": 1645834128, - "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "lastModified": 1640353650, + "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", "owner": "haskell", "repo": "cabal", - "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", "type": "github" }, "original": { @@ -2049,31 +2409,82 @@ "type": "github" } }, - "cabal-36": { + "cabal-34_7": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1640353650, + "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", "type": "github" }, "original": { "owner": "haskell", - "ref": "3.6", + "ref": "3.4", "repo": "cabal", "type": "github" } }, - "cabal-36_10": { + "cabal-34_8": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", - "owner": "haskell", + "lastModified": 1640353650, + "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34_9": { + "flake": false, + "locked": { + "lastModified": 1640353650, + "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", + "owner": "haskell", + "repo": "cabal", + "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36_10": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2086,11 +2497,11 @@ "cabal-36_11": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2103,11 +2514,11 @@ "cabal-36_12": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2239,11 +2650,11 @@ "cabal-36_2": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2253,7 +2664,7 @@ "type": "github" } }, - "cabal-36_3": { + "cabal-36_20": { "flake": false, "locked": { "lastModified": 1641652457, @@ -2270,7 +2681,7 @@ "type": "github" } }, - "cabal-36_4": { + "cabal-36_21": { "flake": false, "locked": { "lastModified": 1641652457, @@ -2287,7 +2698,7 @@ "type": "github" } }, - "cabal-36_5": { + "cabal-36_22": { "flake": false, "locked": { "lastModified": 1641652457, @@ -2304,7 +2715,24 @@ "type": "github" } }, - "cabal-36_6": { + "cabal-36_3": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36_4": { "flake": false, "locked": { "lastModified": 1669081697, @@ -2321,6 +2749,40 @@ "type": "github" } }, + "cabal-36_5": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36_6": { + "flake": false, + "locked": { + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "owner": "haskell", + "repo": "cabal", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, "cabal-36_7": { "flake": false, "locked": { @@ -2341,11 +2803,11 @@ "cabal-36_8": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", "type": "github" }, "original": { @@ -2358,11 +2820,11 @@ "cabal-36_9": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", "type": "github" }, "original": { @@ -2372,11 +2834,41 @@ "type": "github" } }, + "call-flake": { + "locked": { + "lastModified": 1687380775, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "74061f6c241227cd05e79b702db9a300a2e4131a", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "call-flake", + "type": "github" + } + }, + "capkgs": { + "locked": { + "lastModified": 1697123727, + "narHash": "sha256-uSXZAELJF5EfivH9qyLssBUAvhcf3RM9sKhD3W2mdhc=", + "owner": "input-output-hk", + "repo": "capkgs", + "rev": "b197e225592dfe38afb80c94b628d99968c0541d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "capkgs", + "type": "github" + } + }, "capsules": { "inputs": { "bitte": "bitte_2", "iogo": "iogo", - "nixpkgs": "nixpkgs_23", + "nixpkgs": "nixpkgs_52", "ragenix": "ragenix_2" }, "locked": { @@ -2397,7 +2889,7 @@ "inputs": { "bitte": "bitte_3", "iogo": "iogo_2", - "nixpkgs": "nixpkgs_52", + "nixpkgs": "nixpkgs_81", "ragenix": "ragenix_5" }, "locked": { @@ -2416,20 +2908,23 @@ }, "cardano-automation": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_4", "haskellNix": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "haskellNix" ], "nixpkgs": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "nixpkgs" ], "tullia": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia" ] }, @@ -2449,18 +2944,20 @@ }, "cardano-automation_2": { "inputs": { - "flake-utils": "flake-utils_34", + "flake-utils": "flake-utils_9", "haskellNix": [ - "hydra", - "cardano-node", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", "haskellNix" ], "nixpkgs": [ - "hydra", - "cardano-node", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", "nixpkgs" ], - "tullia": "tullia_3" + "tullia": "tullia_2" }, "locked": { "lastModified": 1679408951, @@ -2476,369 +2973,656 @@ "type": "github" } }, - "cardano-configurations": { - "flake": false, + "cardano-automation_3": { + "inputs": { + "flake-utils": "flake-utils_16", + "haskellNix": [ + "cardano-transaction-lib", + "cardano-node", + "haskellNix" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "nixpkgs" + ], + "tullia": "tullia_3" + }, "locked": { - "lastModified": 1699561895, - "narHash": "sha256-bLNN6lJUe5dR1EOdtDspReE2fu2EV7hQMHFGDinxf5Y=", + "lastModified": 1679408951, + "narHash": "sha256-xM78upkrXjRu/739V/IxFrA9m+6rvgOiolt4ReKLAog=", "owner": "input-output-hk", - "repo": "cardano-configurations", - "rev": "d952529afdfdf6d53ce190b1bf8af990a7ae9590", + "repo": "cardano-automation", + "rev": "628f135d243d4a9e388c187e4c6179246038ee72", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-configurations", - "rev": "d952529afdfdf6d53ce190b1bf8af990a7ae9590", + "repo": "cardano-automation", "type": "github" } }, - "cardano-configurations_2": { - "flake": false, + "cardano-automation_4": { + "inputs": { + "flake-utils": "flake-utils_48", + "haskellNix": [ + "hydra", + "cardano-node", + "haskellNix" + ], + "nixpkgs": [ + "hydra", + "cardano-node", + "nixpkgs" + ], + "tullia": "tullia_5" + }, "locked": { - "lastModified": 1694019972, - "narHash": "sha256-TQEvb6W2VlOWxqIFa4r8UFBVbu82Bb2hRaDtN5Zbiuk=", + "lastModified": 1679408951, + "narHash": "sha256-xM78upkrXjRu/739V/IxFrA9m+6rvgOiolt4ReKLAog=", "owner": "input-output-hk", - "repo": "cardano-configurations", - "rev": "65ef979cf69f420efca0a7aaf0412a610bc48097", + "repo": "cardano-automation", + "rev": "628f135d243d4a9e388c187e4c6179246038ee72", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-configurations", + "repo": "cardano-automation", "type": "github" } }, - "cardano-explorer-app": { + "cardano-configurations": { "flake": false, "locked": { - "lastModified": 1655291958, - "narHash": "sha256-OByt95cIJrA8pXsvCztsWmFcDaQaSYGohSOHoaZWKJs=", + "lastModified": 1721870874, + "narHash": "sha256-qiReN+xxtbb4kEfdIWbBcqcJpPGD8he0p/TVD7U3CqM=", "owner": "input-output-hk", - "repo": "cardano-explorer-app", - "rev": "a65938afe159adb1d1e2808305a7316738f5e634", + "repo": "cardano-configurations", + "rev": "7969a73e5c7ee1f3b2a40274b34191fdd8de170b", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "fix-nix-system", - "repo": "cardano-explorer-app", + "repo": "cardano-configurations", + "rev": "7969a73e5c7ee1f3b2a40274b34191fdd8de170b", "type": "github" } }, - "cardano-graphql": { + "cardano-configurations-8.1.1": { "flake": false, "locked": { - "lastModified": 1657201429, - "narHash": "sha256-kx8Pe5HllnJceQHsBDB4hHcEQNSiq8D+OFFkRuuUFQE=", + "lastModified": 1692193634, + "narHash": "sha256-cKw+iXKoMNrfN8M34/CtUelUZVLktVtzNzOYHI20dC0=", "owner": "input-output-hk", - "repo": "cardano-graphql", - "rev": "ffb40028f51e23983c2ae27693bbdcd152208d9d", + "repo": "cardano-configurations", + "rev": "9b69b59ef2fb2838855017f19af57b38c5d4abe4", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-graphql", + "repo": "cardano-configurations", + "rev": "9b69b59ef2fb2838855017f19af57b38c5d4abe4", "type": "github" } }, - "cardano-haskell-packages": { + "cardano-configurations-8.7.3": { "flake": false, "locked": { - "lastModified": 1670900592, - "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", + "lastModified": 1702085095, + "narHash": "sha256-IJChESftdO2tj2pRB+82xMaLP/RqyKHzttE7QMLqvBQ=", "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", + "repo": "cardano-configurations", + "rev": "21249e0d5c68b4e8f3661b250aa8272a8785d678", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", + "repo": "cardano-configurations", + "rev": "21249e0d5c68b4e8f3661b250aa8272a8785d678", "type": "github" } }, - "cardano-haskell-packages_2": { - "flake": false, - "locked": { - "lastModified": 1670900592, - "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", - "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", + "cardano-db-sync": { + "inputs": { + "CHaP": "CHaP_2", + "cardano-parts": "cardano-parts", + "flake-compat": "flake-compat_4", + "hackageNix": "hackageNix", + "haskellNix": "haskellNix", + "iohkNix": "iohkNix", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "haskellNix", + "nixpkgs-unstable" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1707925775, + "narHash": "sha256-z3YUrUImpV/wmJi+pfw6YuhBw+2Xd3jGlSWk7WI69/4=", + "owner": "intersectmbo", + "repo": "cardano-db-sync", + "rev": "ed3dc8bbb79f07c26ec43f10bad661b0bef3b915", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", + "owner": "intersectmbo", + "ref": "13.2.0.1", + "repo": "cardano-db-sync", "type": "github" } }, - "cardano-haskell-packages_3": { + "cardano-db-sync-schema": { "flake": false, "locked": { - "lastModified": 1670900592, - "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", + "lastModified": 1688568916, + "narHash": "sha256-XTGTi3PzCcbLL+63JSXTe7mQmGKB0YgEoW1VpqdX2d0=", "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", + "repo": "cardano-db-sync", + "rev": "6e69a80797f2d68423b25ca7787e81533b367e42", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", + "ref": "13.1.1.3", + "repo": "cardano-db-sync", "type": "github" } }, - "cardano-mainnet-mirror": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, + "cardano-db-sync-schema-ng": { + "flake": false, "locked": { - "lastModified": 1642701714, - "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "lastModified": 1694078776, + "narHash": "sha256-QBnUDobTwWQmooCNr1WcaAzRbAKokon8lvAN6VQ1u34=", "owner": "input-output-hk", - "repo": "cardano-mainnet-mirror", - "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", + "repo": "cardano-db-sync", + "rev": "b44eb735fe64fe4e8079935df722d0a32a41c2a4", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "nix", - "repo": "cardano-mainnet-mirror", + "ref": "sancho-1-1-0", + "repo": "cardano-db-sync", "type": "github" } }, - "cardano-mainnet-mirror_2": { - "inputs": { - "nixpkgs": "nixpkgs_75" - }, + "cardano-db-sync-service": { + "flake": false, "locked": { - "lastModified": 1642701714, - "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", + "lastModified": 1688568916, + "narHash": "sha256-XTGTi3PzCcbLL+63JSXTe7mQmGKB0YgEoW1VpqdX2d0=", "owner": "input-output-hk", - "repo": "cardano-mainnet-mirror", - "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", + "repo": "cardano-db-sync", + "rev": "6e69a80797f2d68423b25ca7787e81533b367e42", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "nix", - "repo": "cardano-mainnet-mirror", + "ref": "13.1.1.3", + "repo": "cardano-db-sync", "type": "github" } }, - "cardano-node": { - "inputs": { - "CHaP": "CHaP_2", - "cardano-automation": "cardano-automation", - "cardano-mainnet-mirror": "cardano-mainnet-mirror", - "customConfig": "customConfig", - "em": "em", - "empty-flake": "empty-flake", - "flake-compat": "flake-compat", - "hackageNix": "hackageNix", - "haskellNix": "haskellNix", - "hostNixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "nixpkgs" - ], - "iohkNix": "iohkNix", - "nix2container": "nix2container", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "haskellNix", - "nixpkgs-unstable" - ], - "ops-lib": "ops-lib", - "std": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std" - ], - "tullia": "tullia", - "utils": "utils_2" - }, + "cardano-explorer-app": { + "flake": false, "locked": { - "lastModified": 1687190129, - "narHash": "sha256-JCa9+QhZ2RVSIKkhz2WCZqTKCgdUSuezWS2YsQ5vhM4=", + "lastModified": 1655291958, + "narHash": "sha256-OByt95cIJrA8pXsvCztsWmFcDaQaSYGohSOHoaZWKJs=", "owner": "input-output-hk", - "repo": "cardano-node", - "rev": "6f79e5c3ea109a70cd01910368e011635767305a", + "repo": "cardano-explorer-app", + "rev": "a65938afe159adb1d1e2808305a7316738f5e634", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "8.1.1", - "repo": "cardano-node", + "ref": "fix-nix-system", + "repo": "cardano-explorer-app", "type": "github" } }, - "cardano-node_2": { + "cardano-graphql": { "flake": false, "locked": { - "lastModified": 1659625017, - "narHash": "sha256-4IrheFeoWfvkZQndEk4fGUkOiOjcVhcyXZ6IqmvkDgg=", + "lastModified": 1657201429, + "narHash": "sha256-kx8Pe5HllnJceQHsBDB4hHcEQNSiq8D+OFFkRuuUFQE=", "owner": "input-output-hk", - "repo": "cardano-node", - "rev": "950c4e222086fed5ca53564e642434ce9307b0b9", + "repo": "cardano-graphql", + "rev": "ffb40028f51e23983c2ae27693bbdcd152208d9d", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "1.35.3", - "repo": "cardano-node", + "repo": "cardano-graphql", "type": "github" } }, - "cardano-node_3": { - "inputs": { - "CHaP": "CHaP_6", - "cardano-automation": "cardano-automation_2", - "cardano-mainnet-mirror": "cardano-mainnet-mirror_2", - "customConfig": "customConfig_4", - "em": "em_2", - "empty-flake": "empty-flake_2", - "flake-compat": "flake-compat_16", - "hackageNix": "hackageNix_2", - "haskellNix": "haskellNix_4", - "hostNixpkgs": [ - "hydra", - "cardano-node", - "nixpkgs" - ], - "iohkNix": "iohkNix_4", - "nix2container": "nix2container_5", - "nixpkgs": [ - "hydra", - "cardano-node", - "haskellNix", - "nixpkgs-unstable" - ], - "ops-lib": "ops-lib_5", - "std": "std_6", - "utils": "utils_25" - }, + "cardano-haskell-packages": { + "flake": false, "locked": { - "lastModified": 1715793024, - "narHash": "sha256-BoTWJKRc7gWSzptEuk32A/uV6MRkRx7vKdz34k8IPY8=", - "owner": "intersectmbo", - "repo": "cardano-node", - "rev": "38c7f1cf2db12dff9c814ad10049f411a4b30448", + "lastModified": 1670900592, + "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", + "owner": "input-output-hk", + "repo": "cardano-haskell-packages", + "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", "type": "github" }, "original": { - "owner": "intersectmbo", - "ref": "8.11.0-pre", - "repo": "cardano-node", + "owner": "input-output-hk", + "ref": "repo", + "repo": "cardano-haskell-packages", "type": "github" } }, - "cardano-shell": { + "cardano-haskell-packages_2": { "flake": false, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1670900592, + "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-haskell-packages", + "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "repo", + "repo": "cardano-haskell-packages", "type": "github" } }, - "cardano-shell_10": { + "cardano-haskell-packages_3": { "flake": false, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1670900592, + "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-haskell-packages", + "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "repo", + "repo": "cardano-haskell-packages", "type": "github" } }, - "cardano-shell_11": { - "flake": false, + "cardano-mainnet-mirror": { + "inputs": { + "nixpkgs": "nixpkgs_15" + }, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "nix", + "repo": "cardano-mainnet-mirror", "type": "github" } }, - "cardano-shell_12": { - "flake": false, + "cardano-mainnet-mirror_2": { + "inputs": { + "nixpkgs": "nixpkgs_25" + }, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "nix", + "repo": "cardano-mainnet-mirror", "type": "github" } }, - "cardano-shell_13": { - "flake": false, + "cardano-mainnet-mirror_3": { + "inputs": { + "nixpkgs": "nixpkgs_34" + }, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "nix", + "repo": "cardano-mainnet-mirror", "type": "github" } }, - "cardano-shell_14": { - "flake": false, + "cardano-mainnet-mirror_4": { + "inputs": { + "nixpkgs": "nixpkgs_103" + }, "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "lastModified": 1642701714, + "narHash": "sha256-SR3luE+ePX6U193EKE/KSEuVzWAW0YsyPYDC4hOvALs=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "repo": "cardano-mainnet-mirror", + "rev": "819488be9eabbba6aaa7c931559bc584d8071e3d", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", + "ref": "nix", + "repo": "cardano-mainnet-mirror", "type": "github" } }, - "cardano-shell_15": { - "flake": false, - "locked": { + "cardano-nix": { + "inputs": { + "blockfrost": "blockfrost_2", + "cardano-configurations-8.1.1": "cardano-configurations-8.1.1", + "cardano-configurations-8.7.3": "cardano-configurations-8.7.3", + "cardano-db-sync": "cardano-db-sync", + "cardano-node-8.1.1": "cardano-node-8.1.1", + "cardano-node-8.7.3": "cardano-node-8.7.3", + "devour-flake": "devour-flake", + "devshell": "devshell_4", + "flake-parts": "flake-parts_5", + "flake-root": "flake-root", + "hercules-ci-effects": "hercules-ci-effects", + "nixpkgs": [ + "cardano-transaction-lib", + "nixpkgs" + ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "treefmt-nix": "treefmt-nix_3" + }, + "locked": { + "lastModified": 1722438671, + "narHash": "sha256-Nb8bROKPjRWFMsaHIK4BOvsTceL9klpF3Ucp/zHqRzM=", + "owner": "mlabs-haskell", + "repo": "cardano.nix", + "rev": "7e696a77440d14f161c8b426d90fecfdb70ad8d8", + "type": "github" + }, + "original": { + "owner": "mlabs-haskell", + "repo": "cardano.nix", + "type": "github" + } + }, + "cardano-node": { + "inputs": { + "CHaP": "CHaP_5", + "cardano-automation": "cardano-automation_3", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_3", + "customConfig": "customConfig_3", + "em": "em_3", + "empty-flake": "empty-flake_4", + "flake-compat": "flake-compat_15", + "hackageNix": "hackageNix_4", + "haskellNix": "haskellNix_4", + "hostNixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "nixpkgs" + ], + "iohkNix": "iohkNix_4", + "nix2container": "nix2container_6", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib_3", + "std": "std_5", + "utils": "utils_7" + }, + "locked": { + "lastModified": 1722955151, + "narHash": "sha256-pZUg2PbhK35QdMcEP0or6IyKXBr544KyebQ+xiNc6PE=", + "owner": "input-output-hk", + "repo": "cardano-node", + "rev": "4f4e372a1641ac68cd09fb0339e6f55bef1ab85d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-node", + "rev": "4f4e372a1641ac68cd09fb0339e6f55bef1ab85d", + "type": "github" + } + }, + "cardano-node-8.1.1": { + "inputs": { + "CHaP": "CHaP_3", + "cardano-automation": "cardano-automation", + "cardano-mainnet-mirror": "cardano-mainnet-mirror", + "customConfig": "customConfig", + "em": "em", + "empty-flake": "empty-flake_2", + "flake-compat": "flake-compat_6", + "hackageNix": "hackageNix_2", + "haskellNix": "haskellNix_2", + "hostNixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "nixpkgs" + ], + "iohkNix": "iohkNix_2", + "nix2container": "nix2container", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib", + "std": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std" + ], + "tullia": "tullia", + "utils": "utils_3" + }, + "locked": { + "lastModified": 1687190129, + "narHash": "sha256-JCa9+QhZ2RVSIKkhz2WCZqTKCgdUSuezWS2YsQ5vhM4=", + "owner": "intersectmbo", + "repo": "cardano-node", + "rev": "6f79e5c3ea109a70cd01910368e011635767305a", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "8.1.1", + "repo": "cardano-node", + "type": "github" + } + }, + "cardano-node-8.7.3": { + "inputs": { + "CHaP": "CHaP_4", + "cardano-automation": "cardano-automation_2", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_2", + "customConfig": "customConfig_2", + "em": "em_2", + "empty-flake": "empty-flake_3", + "flake-compat": "flake-compat_10", + "hackageNix": "hackageNix_3", + "haskellNix": "haskellNix_3", + "hostNixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "nixpkgs" + ], + "iohkNix": "iohkNix_3", + "nix2container": "nix2container_4", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib_2", + "std": "std_3", + "utils": "utils_5" + }, + "locked": { + "lastModified": 1702654749, + "narHash": "sha256-fIzSNSKWC7qMRjHUMHfrMnEzHiFu7ac/UUgfofXqaFY=", + "owner": "intersectmbo", + "repo": "cardano-node", + "rev": "a4a8119b59b1fbb9a69c79e1e6900e91292161e7", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "8.7.3", + "repo": "cardano-node", + "type": "github" + } + }, + "cardano-node-service": { + "flake": false, + "locked": { + "lastModified": 1690209950, + "narHash": "sha256-d0V8N+y/OarYv6GQycGXnbPly7GeJRBEeE1017qj9eI=", + "owner": "input-output-hk", + "repo": "cardano-node", + "rev": "d2d90b48c5577b4412d5c9c9968b55f8ab4b9767", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "8.1.2", + "repo": "cardano-node", + "type": "github" + } + }, + "cardano-node_2": { + "flake": false, + "locked": { + "lastModified": 1659625017, + "narHash": "sha256-4IrheFeoWfvkZQndEk4fGUkOiOjcVhcyXZ6IqmvkDgg=", + "owner": "input-output-hk", + "repo": "cardano-node", + "rev": "950c4e222086fed5ca53564e642434ce9307b0b9", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "1.35.3", + "repo": "cardano-node", + "type": "github" + } + }, + "cardano-node_3": { + "inputs": { + "CHaP": "CHaP_7", + "cardano-automation": "cardano-automation_4", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_4", + "customConfig": "customConfig_6", + "em": "em_4", + "empty-flake": "empty-flake_5", + "flake-compat": "flake-compat_27", + "hackageNix": "hackageNix_5", + "haskellNix": "haskellNix_7", + "hostNixpkgs": [ + "hydra", + "cardano-node", + "nixpkgs" + ], + "iohkNix": "iohkNix_7", + "nix2container": "nix2container_9", + "nixpkgs": [ + "hydra", + "cardano-node", + "haskellNix", + "nixpkgs-unstable" + ], + "ops-lib": "ops-lib_7", + "std": "std_10", + "utils": "utils_30" + }, + "locked": { + "lastModified": 1715793024, + "narHash": "sha256-BoTWJKRc7gWSzptEuk32A/uV6MRkRx7vKdz34k8IPY8=", + "owner": "intersectmbo", + "repo": "cardano-node", + "rev": "38c7f1cf2db12dff9c814ad10049f411a4b30448", + "type": "github" + }, + "original": { + "owner": "intersectmbo", + "ref": "8.11.0-pre", + "repo": "cardano-node", + "type": "github" + } + }, + "cardano-parts": { + "inputs": { + "auth-keys-hub": "auth-keys-hub", + "capkgs": "capkgs", + "cardano-db-sync-schema": "cardano-db-sync-schema", + "cardano-db-sync-schema-ng": "cardano-db-sync-schema-ng", + "cardano-db-sync-service": "cardano-db-sync-service", + "cardano-node-service": "cardano-node-service", + "cardano-wallet-service": "cardano-wallet-service", + "colmena": "colmena", + "empty-flake": "empty-flake", + "flake-parts": "flake-parts_3", + "haskell-nix": "haskell-nix", + "inputs-check": "inputs-check", + "iohk-nix": "iohk-nix", + "iohk-nix-ng": "iohk-nix-ng", + "nix": "nix_2", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "nixpkgs" + ], + "nixpkgs-unstable": "nixpkgs-unstable_2", + "offchain-metadata-tools-service": "offchain-metadata-tools-service", + "sops-nix": "sops-nix", + "terraform-providers": "terraform-providers", + "terranix": "terranix", + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1697147999, + "narHash": "sha256-mbSWIcmDnt2mlETCNL8MI97nDH1lkOxIxFHKXXfOV28=", + "owner": "input-output-hk", + "repo": "cardano-parts", + "rev": "af8993ee12f78ddfcc31eefe006391669cb11462", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-parts", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { "lastModified": 1608537748, "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", "owner": "input-output-hk", @@ -2852,7 +3636,7 @@ "type": "github" } }, - "cardano-shell_16": { + "cardano-shell_10": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2868,7 +3652,7 @@ "type": "github" } }, - "cardano-shell_17": { + "cardano-shell_11": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2884,7 +3668,7 @@ "type": "github" } }, - "cardano-shell_18": { + "cardano-shell_12": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2900,7 +3684,7 @@ "type": "github" } }, - "cardano-shell_19": { + "cardano-shell_13": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2916,7 +3700,7 @@ "type": "github" } }, - "cardano-shell_2": { + "cardano-shell_14": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2932,7 +3716,7 @@ "type": "github" } }, - "cardano-shell_3": { + "cardano-shell_15": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2948,7 +3732,7 @@ "type": "github" } }, - "cardano-shell_4": { + "cardano-shell_16": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2964,7 +3748,7 @@ "type": "github" } }, - "cardano-shell_5": { + "cardano-shell_17": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2980,7 +3764,7 @@ "type": "github" } }, - "cardano-shell_6": { + "cardano-shell_18": { "flake": false, "locked": { "lastModified": 1608537748, @@ -2996,7 +3780,7 @@ "type": "github" } }, - "cardano-shell_7": { + "cardano-shell_19": { "flake": false, "locked": { "lastModified": 1608537748, @@ -3012,7 +3796,7 @@ "type": "github" } }, - "cardano-shell_8": { + "cardano-shell_2": { "flake": false, "locked": { "lastModified": 1608537748, @@ -3028,7 +3812,7 @@ "type": "github" } }, - "cardano-shell_9": { + "cardano-shell_20": { "flake": false, "locked": { "lastModified": 1608537748, @@ -3044,53 +3828,195 @@ "type": "github" } }, - "cardano-transaction-lib": { - "inputs": { - "CHaP": "CHaP", - "blockfrost": "blockfrost", - "cardano-configurations": "cardano-configurations", - "cardano-node": "cardano-node", - "db-sync": "db-sync", - "easy-purescript-nix": "easy-purescript-nix", - "flake-compat": "flake-compat_11", - "hackage-nix": "hackage-nix", - "haskell-nix": "haskell-nix_3", - "hercules-ci-effects": "hercules-ci-effects", - "iohk-nix": "iohk-nix_2", - "kupo": "kupo", - "kupo-nixos": "kupo-nixos", - "nixpkgs": [ - "cardano-transaction-lib", - "haskell-nix", - "nixpkgs-unstable" + "cardano-shell_21": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_22": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_3": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_4": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_5": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_6": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_7": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_8": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-shell_9": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "cardano-transaction-lib": { + "inputs": { + "CHaP": "CHaP", + "blockfrost": "blockfrost", + "cardano-configurations": "cardano-configurations", + "cardano-nix": "cardano-nix", + "cardano-node": "cardano-node", + "db-sync": "db-sync", + "easy-purescript-nix": "easy-purescript-nix", + "flake-compat": "flake-compat_24", + "hackage-nix": "hackage-nix", + "haskell-nix": "haskell-nix_4", + "hercules-ci-effects": "hercules-ci-effects_2", + "iohk-nix": "iohk-nix_3", + "nixpkgs": [ + "cardano-transaction-lib", + "haskell-nix", + "nixpkgs-unstable" ], - "ogmios": "ogmios_2", - "ogmios-nixos": "ogmios-nixos", - "plutip": "plutip" + "nixpkgs-arion": "nixpkgs-arion", + "ogmios": "ogmios_2" }, "locked": { - "lastModified": 1711583029, - "narHash": "sha256-A4jE3QQYYN9cImqmNlXcK8+JZ5fSntuqF26kM7CFVjU=", + "lastModified": 1723650917, + "narHash": "sha256-LmLjI3zvXLI5WQTueoQVBPrtg2TiwyFSdtREu6vI0fc=", "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "63485e328b6008b5bea336269b9d6036d04c7c7b", + "rev": "a92a8b7b48ea68fa0c846dcc8803189f7908386b", "type": "github" }, "original": { "owner": "Plutonomicon", + "ref": "v9.2.0", "repo": "cardano-transaction-lib", - "rev": "63485e328b6008b5bea336269b9d6036d04c7c7b", "type": "github" } }, "cardano-wallet": { "inputs": { - "customConfig": "customConfig_2", + "customConfig": "customConfig_4", "ema": "ema", "emanote": "emanote", - "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_25", - "haskellNix": "haskellNix_2", + "flake-compat": "flake-compat_21", + "flake-utils": "flake-utils_40", + "haskellNix": "haskellNix_5", "hostNixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3098,7 +4024,7 @@ "cardano-wallet", "nixpkgs" ], - "iohkNix": "iohkNix_2", + "iohkNix": "iohkNix_5", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3123,6 +4049,23 @@ "type": "github" } }, + "cardano-wallet-service": { + "flake": false, + "locked": { + "lastModified": 1689751896, + "narHash": "sha256-ijflgIw+1FpLoxM4Rksf4MJvNqnEPAv3gNWE8zMuefU=", + "owner": "cardano-foundation", + "repo": "cardano-wallet", + "rev": "3f0d2f3abe706958fab8cdc528184068bd0453c9", + "type": "github" + }, + "original": { + "owner": "cardano-foundation", + "ref": "v2023-07-18", + "repo": "cardano-wallet", + "type": "github" + } + }, "cardano-world": { "inputs": { "bitte": "bitte", @@ -3138,13 +4081,13 @@ "cardano-node": "cardano-node_2", "cardano-wallet": "cardano-wallet", "data-merge": "data-merge_3", - "flake-compat": "flake-compat_9", - "hackage": "hackage_3", - "haskell-nix": "haskell-nix_2", - "iohk-nix": "iohk-nix", - "n2c": "n2c_3", + "flake-compat": "flake-compat_22", + "hackage": "hackage_4", + "haskell-nix": "haskell-nix_3", + "iohk-nix": "iohk-nix_2", + "n2c": "n2c_6", "nix-inclusive": "nix-inclusive", - "nixpkgs": "nixpkgs_63", + "nixpkgs": "nixpkgs_92", "nixpkgs-haskell": [ "cardano-transaction-lib", "db-sync", @@ -3153,8 +4096,8 @@ "nixpkgs-unstable" ], "ogmios": "ogmios", - "std": "std_3", - "tullia": "tullia_2" + "std": "std_7", + "tullia": "tullia_4" }, "locked": { "lastModified": 1662508244, @@ -3174,16 +4117,16 @@ "inputs": { "alejandra": "alejandra", "data-merge": "data-merge_2", - "devshell": "devshell_8", + "devshell": "devshell_12", "driver": "driver", "follower": "follower", - "haskell-nix": "haskell-nix", - "inclusive": "inclusive_8", - "nix": "nix_8", + "haskell-nix": "haskell-nix_2", + "inclusive": "inclusive_9", + "nix": "nix_13", "nix-cache-proxy": "nix-cache-proxy", - "nixpkgs": "nixpkgs_39", + "nixpkgs": "nixpkgs_68", "poetry2nix": "poetry2nix", - "utils": "utils_16" + "utils": "utils_21" }, "locked": { "lastModified": 1647522107, @@ -3199,10 +4142,66 @@ "type": "github" } }, + "colmena": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "nixpkgs" + ], + "stable": "stable" + }, + "locked": { + "lastModified": 1684127108, + "narHash": "sha256-01bfuSY4gnshhtqA1EJCw2CMsKkAx+dHS+sEpQ2+EAQ=", + "owner": "zhaofengli", + "repo": "colmena", + "rev": "5fdd743a11e7291bd8ac1e169d62ba6156c99be4", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "v0.4.0", + "repo": "colmena", + "type": "github" + } + }, "crane": { "inputs": { - "flake-compat": "flake-compat_18", - "flake-utils": "flake-utils_39", + "flake-compat": "flake-compat_12", + "flake-utils": "flake-utils_14", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "paisano-mdbook-preprocessor", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1676162383, + "narHash": "sha256-krUCKdz7ebHlFYm/A7IbKDnj2ZmMMm3yIEQcooqm7+E=", + "owner": "ipetkov", + "repo": "crane", + "rev": "6fb400ec631b22ccdbc7090b38207f7fb5cfb5f2", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_2": { + "inputs": { + "flake-compat": "flake-compat_29", + "flake-utils": "flake-utils_53", "nixpkgs": [ "hydra", "cardano-node", @@ -3210,7 +4209,7 @@ "paisano-mdbook-preprocessor", "nixpkgs" ], - "rust-overlay": "rust-overlay_6" + "rust-overlay": "rust-overlay_7" }, "locked": { "lastModified": 1676162383, @@ -3226,7 +4225,7 @@ "type": "github" } }, - "crane_2": { + "crane_3": { "inputs": { "nixpkgs": [ "hydra", @@ -3248,10 +4247,106 @@ "type": "github" } }, - "customConfig": { + "crystal": { + "inputs": { + "ameba-src": "ameba-src", + "bdwgc-src": "bdwgc-src", + "crystal-aarch64-darwin": "crystal-aarch64-darwin", + "crystal-src": "crystal-src", + "crystal-x86_64-darwin": "crystal-x86_64-darwin", + "crystal-x86_64-linux": "crystal-x86_64-linux", + "crystalline-src": "crystalline-src", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_3" + }, "locked": { - "lastModified": 1630400035, - "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "lastModified": 1683429373, + "narHash": "sha256-Mx5lwMyk2T40wFqOoYcJLs4srwO2UrsepTZhlHNuTrI=", + "owner": "manveru", + "repo": "crystal-flake", + "rev": "e7a443c20e2be6e5dd870586705dd27c91aa9c5c", + "type": "github" + }, + "original": { + "owner": "manveru", + "repo": "crystal-flake", + "type": "github" + } + }, + "crystal-aarch64-darwin": { + "flake": false, + "locked": { + "narHash": "sha256-NqYaZHM3kHAgYbO0RDJtA8eHqp4vVe4MBpisTOGrRVw=", + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-darwin-universal.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-darwin-universal.tar.gz" + } + }, + "crystal-src": { + "flake": false, + "locked": { + "lastModified": 1681995387, + "narHash": "sha256-t+1vM1m62UftCvfa90Dg6nqt6Zseh/GP/Gc1VfOa4+c=", + "owner": "crystal-lang", + "repo": "crystal", + "rev": "a59a3dbd738269d5aad6051c3834fc70f482f469", + "type": "github" + }, + "original": { + "owner": "crystal-lang", + "ref": "1.8.1", + "repo": "crystal", + "type": "github" + } + }, + "crystal-x86_64-darwin": { + "flake": false, + "locked": { + "narHash": "sha256-NqYaZHM3kHAgYbO0RDJtA8eHqp4vVe4MBpisTOGrRVw=", + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-darwin-universal.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-darwin-universal.tar.gz" + } + }, + "crystal-x86_64-linux": { + "flake": false, + "locked": { + "narHash": "sha256-/Jk3uiglM/hzjygxmMUgVTvz+tuFFjBv8+uUIL05rXo=", + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-linux-x86_64.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/crystal-lang/crystal/releases/download/1.8.1/crystal-1.8.1-1-linux-x86_64.tar.gz" + } + }, + "crystalline-src": { + "flake": false, + "locked": { + "lastModified": 1681549124, + "narHash": "sha256-kx3rdGqIbrOaHY7V3uXLqIFEYzzsMKzNwZ6Neq8zM3c=", + "owner": "elbywan", + "repo": "crystalline", + "rev": "4ac0ae282c5f4172230fea1e93df51c2b380f475", + "type": "github" + }, + "original": { + "owner": "elbywan", + "ref": "v0.9.0", + "repo": "crystalline", + "type": "github" + } + }, + "customConfig": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", "owner": "input-output-hk", "repo": "empty-flake", "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", @@ -3279,6 +4374,36 @@ } }, "customConfig_3": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "customConfig_4": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "customConfig_5": { "locked": { "lastModified": 1, "narHash": "sha256-Zd5w1I1Dwt783Q4WuBuCpedcwG1DrIgQGqabyF87prM=", @@ -3290,7 +4415,7 @@ "type": "path" } }, - "customConfig_4": { + "customConfig_6": { "locked": { "lastModified": 1630400035, "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", @@ -3308,7 +4433,7 @@ "data-merge": { "inputs": { "nixlib": "nixlib", - "yants": "yants_2" + "yants": "yants_6" }, "locked": { "lastModified": 1648237091, @@ -3345,7 +4470,7 @@ "data-merge_3": { "inputs": { "nixlib": "nixlib_3", - "yants": "yants_4" + "yants": "yants_8" }, "locked": { "lastModified": 1655854240, @@ -3364,17 +4489,17 @@ "db-sync": { "inputs": { "cardano-world": "cardano-world", - "customConfig": "customConfig_3", - "flake-compat": "flake-compat_10", - "haskellNix": "haskellNix_3", - "iohkNix": "iohkNix_3", + "customConfig": "customConfig_5", + "flake-compat": "flake-compat_23", + "haskellNix": "haskellNix_6", + "iohkNix": "iohkNix_6", "nixpkgs": [ "cardano-transaction-lib", "db-sync", "haskellNix", "nixpkgs-unstable" ], - "utils": "utils_23" + "utils": "utils_28" }, "locked": { "lastModified": 1670313550, @@ -3393,8 +4518,8 @@ }, "deploy": { "inputs": { - "fenix": "fenix", - "flake-compat": "flake-compat_4", + "fenix": "fenix_3", + "flake-compat": "flake-compat_17", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3406,7 +4531,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_3" + "utils": "utils_8" }, "locked": { "lastModified": 1638318651, @@ -3424,8 +4549,8 @@ }, "deploy_2": { "inputs": { - "fenix": "fenix_3", - "flake-compat": "flake-compat_5", + "fenix": "fenix_5", + "flake-compat": "flake-compat_18", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3435,7 +4560,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_9" + "utils": "utils_14" }, "locked": { "lastModified": 1638318651, @@ -3453,8 +4578,8 @@ }, "deploy_3": { "inputs": { - "fenix": "fenix_5", - "flake-compat": "flake-compat_6", + "fenix": "fenix_7", + "flake-compat": "flake-compat_19", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3465,7 +4590,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_17" + "utils": "utils_22" }, "locked": { "lastModified": 1638318651, @@ -3481,18 +4606,36 @@ "type": "github" } }, + "devour-flake": { + "flake": false, + "locked": { + "lastModified": 1694098737, + "narHash": "sha256-O51F4YFOzlaQAc9b6xjkAqpvrvCtw/Os2M7TU0y4SKQ=", + "owner": "srid", + "repo": "devour-flake", + "rev": "30a34036b29b0d12989ef6c8be77aa949d85aef5", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "devour-flake", + "type": "github" + } + }, "devshell": { "inputs": { "flake-utils": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "flake-utils" ], "nixpkgs": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -3528,6 +4671,73 @@ } }, "devshell_11": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658746384, + "narHash": "sha256-CCJcoMOcXyZFrV1ag4XMTpAPjLWb4Anbv+ktXFI1ry0=", + "owner": "numtide", + "repo": "devshell", + "rev": "0ffc7937bb5e8141af03d462b468bd071eb18e1b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_12": { + "inputs": { + "flake-utils": "flake-utils_30", + "nixpkgs": "nixpkgs_65" + }, + "locked": { + "lastModified": 1644227066, + "narHash": "sha256-FHcFZtpZEWnUh62xlyY3jfXAXHzJNEDLDzLsJxn+ve0=", + "owner": "numtide", + "repo": "devshell", + "rev": "7033f64dd9ef8d9d8644c5030c73913351d2b660", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_13": { + "locked": { + "lastModified": 1632436039, + "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", + "owner": "numtide", + "repo": "devshell", + "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_14": { "locked": { "lastModified": 1636119665, "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", @@ -3542,7 +4752,22 @@ "type": "github" } }, - "devshell_12": { + "devshell_15": { + "locked": { + "lastModified": 1636119665, + "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", + "owner": "numtide", + "repo": "devshell", + "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_16": { "locked": { "lastModified": 1632436039, "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", @@ -3557,7 +4782,7 @@ "type": "github" } }, - "devshell_13": { + "devshell_17": { "locked": { "lastModified": 1636119665, "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", @@ -3572,7 +4797,7 @@ "type": "github" } }, - "devshell_14": { + "devshell_18": { "locked": { "lastModified": 1637098489, "narHash": "sha256-IWBYLSNSENI/fTrXdYDhuCavxcgN9+RERrPM81f6DXY=", @@ -3587,7 +4812,7 @@ "type": "github" } }, - "devshell_15": { + "devshell_19": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -3618,9 +4843,44 @@ "type": "github" } }, - "devshell_16": { + "devshell_2": { "inputs": { - "flake-utils": "flake-utils_31", + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "owner": "numtide", + "repo": "devshell", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_20": { + "inputs": { + "flake-utils": "flake-utils_46", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -3644,7 +4904,7 @@ "type": "github" } }, - "devshell_17": { + "devshell_21": { "inputs": { "flake-utils": [ "hydra", @@ -3677,7 +4937,7 @@ "type": "github" } }, - "devshell_18": { + "devshell_22": { "inputs": { "nixpkgs": [ "hydra", @@ -3685,7 +4945,7 @@ "std", "nixpkgs" ], - "systems": "systems" + "systems": "systems_7" }, "locked": { "lastModified": 1686680692, @@ -3701,7 +4961,7 @@ "type": "github" } }, - "devshell_19": { + "devshell_23": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3736,22 +4996,7 @@ "type": "github" } }, - "devshell_2": { - "locked": { - "lastModified": 1632436039, - "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", - "owner": "numtide", - "repo": "devshell", - "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_20": { + "devshell_24": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3790,7 +5035,7 @@ "type": "github" } }, - "devshell_21": { + "devshell_25": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3827,7 +5072,7 @@ "type": "github" } }, - "devshell_22": { + "devshell_26": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3866,7 +5111,7 @@ "type": "github" } }, - "devshell_23": { + "devshell_27": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3901,7 +5146,7 @@ "type": "github" } }, - "devshell_24": { + "devshell_28": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3934,7 +5179,7 @@ "type": "github" } }, - "devshell_25": { + "devshell_29": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -3971,7 +5216,32 @@ "type": "github" } }, - "devshell_26": { + "devshell_3": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1686680692, + "narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=", + "owner": "numtide", + "repo": "devshell", + "rev": "fd6223370774dd9c33354e87a007004b5fd36442", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_30": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4006,7 +5276,7 @@ "type": "github" } }, - "devshell_27": { + "devshell_31": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4043,7 +5313,7 @@ "type": "github" } }, - "devshell_28": { + "devshell_32": { "inputs": { "flake-utils": [ "liqwid-nix", @@ -4074,7 +5344,7 @@ "type": "github" } }, - "devshell_29": { + "devshell_33": { "inputs": { "flake-utils": [ "liqwid-nix", @@ -4109,22 +5379,7 @@ "type": "github" } }, - "devshell_3": { - "locked": { - "lastModified": 1636119665, - "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", - "owner": "numtide", - "repo": "devshell", - "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_30": { + "devshell_34": { "inputs": { "flake-utils": [ "liqwid-nix", @@ -4157,7 +5412,7 @@ "type": "github" } }, - "devshell_31": { + "devshell_35": { "inputs": { "flake-utils": [ "liqwid-nix", @@ -4193,12 +5448,20 @@ } }, "devshell_4": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "nixpkgs" + ], + "systems": "systems_3" + }, "locked": { - "lastModified": 1637098489, - "narHash": "sha256-IWBYLSNSENI/fTrXdYDhuCavxcgN9+RERrPM81f6DXY=", + "lastModified": 1695973661, + "narHash": "sha256-BP2H4c42GThPIhERtTpV1yCtwQHYHEKdRu7pjrmQAwo=", "owner": "numtide", "repo": "devshell", - "rev": "e8c2d4967b5c498b12551d1bb49352dcf9efa3e4", + "rev": "cd4e2fda3150dd2f689caeac07b7f47df5197c31", "type": "github" }, "original": { @@ -4208,12 +5471,30 @@ } }, "devshell_5": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1632436039, - "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", "owner": "numtide", "repo": "devshell", - "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", "type": "github" }, "original": { @@ -4224,11 +5505,11 @@ }, "devshell_6": { "locked": { - "lastModified": 1636119665, - "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", + "lastModified": 1632436039, + "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", "owner": "numtide", "repo": "devshell", - "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", + "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", "type": "github" }, "original": { @@ -4238,30 +5519,12 @@ } }, "devshell_7": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "std", - "flake-utils" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "std", - "nixpkgs" - ] - }, "locked": { - "lastModified": 1658746384, - "narHash": "sha256-CCJcoMOcXyZFrV1ag4XMTpAPjLWb4Anbv+ktXFI1ry0=", + "lastModified": 1636119665, + "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", "owner": "numtide", "repo": "devshell", - "rev": "0ffc7937bb5e8141af03d462b468bd071eb18e1b", + "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", "type": "github" }, "original": { @@ -4271,16 +5534,12 @@ } }, "devshell_8": { - "inputs": { - "flake-utils": "flake-utils_15", - "nixpkgs": "nixpkgs_36" - }, "locked": { - "lastModified": 1644227066, - "narHash": "sha256-FHcFZtpZEWnUh62xlyY3jfXAXHzJNEDLDzLsJxn+ve0=", + "lastModified": 1637098489, + "narHash": "sha256-IWBYLSNSENI/fTrXdYDhuCavxcgN9+RERrPM81f6DXY=", "owner": "numtide", "repo": "devshell", - "rev": "7033f64dd9ef8d9d8644c5030c73913351d2b660", + "rev": "e8c2d4967b5c498b12551d1bb49352dcf9efa3e4", "type": "github" }, "original": { @@ -4308,14 +5567,16 @@ "inputs": { "nixlib": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" ], "yants": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "yants" @@ -4340,8 +5601,8 @@ "nixlib": [ "hydra-auction-onchain", "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "nixpkgs" @@ -4349,8 +5610,8 @@ "yants": [ "hydra-auction-onchain", "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "yants" @@ -4374,7 +5635,10 @@ "inputs": { "nixlib": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -4382,7 +5646,10 @@ ], "yants": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -4407,21 +5674,21 @@ "inputs": { "nixlib": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "nixpkgs" ], "yants": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "yants" ] @@ -4444,19 +5711,23 @@ "inputs": { "nixlib": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", + "tullia", "std", "nixpkgs" ], "yants": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", + "tullia", "std", "yants" ] @@ -4479,20 +5750,18 @@ "inputs": { "nixlib": [ "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "liqwid-libs", + "ply", + "haskellNix", "tullia", "std", "nixpkgs" ], "yants": [ "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "liqwid-libs", + "ply", + "haskellNix", "tullia", "std", "yants" @@ -4515,6 +5784,7 @@ "dmerge_15": { "inputs": { "nixlib": [ + "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "tullia", @@ -4522,6 +5792,7 @@ "nixpkgs" ], "yants": [ + "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "tullia", @@ -4546,6 +5817,7 @@ "dmerge_16": { "inputs": { "nixlib": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4555,6 +5827,7 @@ "nixpkgs" ], "yants": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4581,6 +5854,7 @@ "dmerge_17": { "inputs": { "nixlib": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4589,6 +5863,7 @@ "nixpkgs" ], "yants": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4614,6 +5889,7 @@ "dmerge_18": { "inputs": { "nixlib": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4623,6 +5899,7 @@ "nixpkgs" ], "yants": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -4646,21 +5923,19 @@ "type": "github" } }, - "dmerge_2": { + "dmerge_19": { "inputs": { "nixlib": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "nixpkgs" ], "yants": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "yants" ] @@ -4679,19 +5954,23 @@ "type": "github" } }, - "dmerge_3": { + "dmerge_2": { "inputs": { "nixlib": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "nixpkgs" ], "yants": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "yants" ] @@ -4710,20 +5989,22 @@ "type": "github" } }, - "dmerge_4": { + "dmerge_20": { "inputs": { "nixlib": [ - "hydra", - "cardano-node", - "cardano-automation", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", "tullia", "std", "nixpkgs" ], "yants": [ - "hydra", - "cardano-node", - "cardano-automation", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", "tullia", "std", "yants" @@ -4743,30 +6024,101 @@ "type": "github" } }, - "dmerge_5": { + "dmerge_21": { "inputs": { - "haumea": [ - "hydra", - "cardano-node", - "std", - "haumea" - ], "nixlib": [ - "hydra", - "cardano-node", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "std", - "haumea", "nixpkgs" ], "yants": [ - "hydra", - "cardano-node", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "std", "yants" ] }, "locked": { - "lastModified": 1686862774, + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "owner": "divnix", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "data-merge", + "type": "github" + } + }, + "dmerge_22": { + "inputs": { + "nixlib": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "nixpkgs" + ], + "yants": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "owner": "divnix", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "data-merge", + "type": "github" + } + }, + "dmerge_3": { + "inputs": { + "haumea": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "haumea" + ], + "nixlib": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "haumea", + "nixpkgs" + ], + "yants": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862774, "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", "owner": "divnix", "repo": "dmerge", @@ -4780,22 +6132,20 @@ "type": "github" } }, - "dmerge_6": { + "dmerge_4": { "inputs": { "nixlib": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" ], "yants": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", "tullia", "std", "yants" @@ -4815,27 +6165,57 @@ "type": "github" } }, - "dmerge_7": { + "dmerge_5": { "inputs": { + "haumea": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "haumea" + ], "nixlib": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", + "cardano-transaction-lib", + "cardano-node", + "std", + "lib" + ], + "yants": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "owner": "divnix", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", + "type": "github" + }, + "original": { + "owner": "divnix", + "ref": "0.2.1", + "repo": "dmerge", + "type": "github" + } + }, + "dmerge_6": { + "inputs": { + "nixlib": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", "std", "nixpkgs" ], "yants": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", "std", "yants" ] @@ -4854,25 +6234,19 @@ "type": "github" } }, - "dmerge_8": { + "dmerge_7": { "inputs": { "nixlib": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "db-sync", + "cardano-world", "std", "nixpkgs" ], "yants": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "db-sync", + "cardano-world", "std", "yants" ] @@ -4891,26 +6265,20 @@ "type": "github" } }, - "dmerge_9": { + "dmerge_8": { "inputs": { "nixlib": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" ], "yants": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", "tullia", "std", "yants" @@ -4930,11 +6298,48 @@ "type": "github" } }, + "dmerge_9": { + "inputs": { + "haumea": [ + "hydra", + "cardano-node", + "std", + "haumea" + ], + "nixlib": [ + "hydra", + "cardano-node", + "std", + "haumea", + "nixpkgs" + ], + "yants": [ + "hydra", + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "owner": "divnix", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", + "type": "github" + }, + "original": { + "owner": "divnix", + "ref": "0.2.1", + "repo": "dmerge", + "type": "github" + } + }, "driver": { "inputs": { - "devshell": "devshell_9", - "inclusive": "inclusive_6", - "nix": "nix_7", + "devshell": "devshell_13", + "inclusive": "inclusive_7", + "nix": "nix_12", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -4943,7 +6348,7 @@ "cicero", "nixpkgs" ], - "utils": "utils_13" + "utils": "utils_18" }, "locked": { "lastModified": 1644418487, @@ -4962,11 +6367,11 @@ "easy-purescript-nix": { "flake": false, "locked": { - "lastModified": 1696584097, - "narHash": "sha256-a9Hhqf/Fi0FkjRTcQr3pYDhrO9A9tdOkaeVgD23Cdrk=", + "lastModified": 1710161569, + "narHash": "sha256-lcIRIOFCdIWEGyKyG/tB4KvxM9zoWuBRDxW+T+mvIb0=", "owner": "justinwoo", "repo": "easy-purescript-nix", - "rev": "d5fe5f4b210a0e4bac42ae0c159596a49c5eb016", + "rev": "117fd96acb69d7d1727df95b6fde9d8715e031fc", "type": "github" }, "original": { @@ -5024,39 +6429,71 @@ "type": "github" } }, - "ema": { - "inputs": { - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_22", - "nixpkgs": "nixpkgs_54", - "pre-commit-hooks": "pre-commit-hooks" - }, + "em_3": { + "flake": false, "locked": { - "lastModified": 1646661767, - "narHash": "sha256-5zxUr3nO4r04K5WGrW/+nW84qbOW8wNJLt902yQmyF4=", - "owner": "srid", - "repo": "ema", - "rev": "bcabc170b7de9cdd83b4bbcf59130b54933602ea", + "lastModified": 1685015066, + "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", + "owner": "deepfire", + "repo": "em", + "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", "type": "github" }, "original": { - "owner": "srid", - "repo": "ema", + "owner": "deepfire", + "repo": "em", "type": "github" } }, - "ema_2": { + "em_4": { "flake": false, "locked": { - "lastModified": 1655231448, - "narHash": "sha256-LmAnOFKiqOWW9cQNZCbqFF0N1Mx073908voXz+4Fzic=", - "owner": "srid", - "repo": "ema", - "rev": "da5b29f03c1edfb7f947666a5a818fb97cc3c229", - "type": "github" - }, - "original": { - "owner": "srid", + "lastModified": 1684791668, + "narHash": "sha256-JyPm0RiWCfy/8rs7wd/IRSWIz+bTkD78uxIMnKktU2g=", + "owner": "deepfire", + "repo": "em", + "rev": "302cdf6d654fb18baff0213bdfa41a653774585a", + "type": "github" + }, + "original": { + "owner": "deepfire", + "repo": "em", + "type": "github" + } + }, + "ema": { + "inputs": { + "flake-compat": "flake-compat_20", + "flake-utils": "flake-utils_37", + "nixpkgs": "nixpkgs_83", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1646661767, + "narHash": "sha256-5zxUr3nO4r04K5WGrW/+nW84qbOW8wNJLt902yQmyF4=", + "owner": "srid", + "repo": "ema", + "rev": "bcabc170b7de9cdd83b4bbcf59130b54933602ea", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "ema", + "type": "github" + } + }, + "ema_2": { + "flake": false, + "locked": { + "lastModified": 1655231448, + "narHash": "sha256-LmAnOFKiqOWW9cQNZCbqFF0N1Mx073908voXz+4Fzic=", + "owner": "srid", + "repo": "ema", + "rev": "da5b29f03c1edfb7f947666a5a818fb97cc3c229", + "type": "github" + }, + "original": { + "owner": "srid", "ref": "multisite", "repo": "ema", "type": "github" @@ -5113,9 +6550,9 @@ "emanote": { "inputs": { "ema": "ema_2", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_6", "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs_57", + "nixpkgs": "nixpkgs_86", "tailwind-haskell": "tailwind-haskell" }, "locked": { @@ -5135,7 +6572,7 @@ "emanote_2": { "inputs": { "ema": "ema_3", - "flake-parts": "flake-parts_11", + "flake-parts": "flake-parts_16", "haskell-flake": "haskell-flake_3", "heist": "heist", "heist-extra": "heist-extra", @@ -5166,7 +6603,7 @@ "emanote_3": { "inputs": { "ema": "ema_4", - "flake-parts": "flake-parts_16", + "flake-parts": "flake-parts_21", "haskell-flake": "haskell-flake_5", "heist": "heist_2", "heist-extra": "heist-extra_2", @@ -5196,7 +6633,7 @@ "emanote_4": { "inputs": { "ema": "ema_5", - "flake-parts": "flake-parts_21", + "flake-parts": "flake-parts_26", "haskell-flake": "haskell-flake_7", "heist": "heist_3", "heist-extra": "heist-extra_3", @@ -5252,11 +6689,102 @@ "type": "github" } }, + "empty-flake_3": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "empty-flake_4": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "empty-flake_5": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, "fenix": { "inputs": { - "nixpkgs": "nixpkgs_13", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "auth-keys-hub", + "statix", + "nixpkgs" + ], "rust-analyzer-src": "rust-analyzer-src" }, + "locked": { + "lastModified": 1645251813, + "narHash": "sha256-cQ66tGjnZclBCS3nD26mZ5fUH+3/HnysGffBiWXUSHk=", + "owner": "nix-community", + "repo": "fenix", + "rev": "9892337b588c38ec59466a1c89befce464aae7f8", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_2": { + "inputs": { + "nixpkgs": "nixpkgs_30", + "rust-analyzer-src": "rust-analyzer-src_2" + }, + "locked": { + "lastModified": 1677306201, + "narHash": "sha256-VZ9x7qdTosFvVsrpgFHrtYfT6PU3yMIs7NRYn9ELapI=", + "owner": "nix-community", + "repo": "fenix", + "rev": "0923f0c162f65ae40261ec940406049726cfeab4", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_3": { + "inputs": { + "nixpkgs": "nixpkgs_42", + "rust-analyzer-src": "rust-analyzer-src_3" + }, "locked": { "lastModified": 1645165506, "narHash": "sha256-PClhTeC1EhkHUQQmP9XyiR7y1d6hlEc7QY8nN1GuAzQ=", @@ -5271,7 +6799,7 @@ "type": "github" } }, - "fenix_2": { + "fenix_4": { "inputs": { "nixpkgs": [ "cardano-transaction-lib", @@ -5282,7 +6810,7 @@ "bitte", "nixpkgs-unstable" ], - "rust-analyzer-src": "rust-analyzer-src_2" + "rust-analyzer-src": "rust-analyzer-src_4" }, "locked": { "lastModified": 1649226351, @@ -5298,10 +6826,10 @@ "type": "github" } }, - "fenix_3": { + "fenix_5": { "inputs": { - "nixpkgs": "nixpkgs_26", - "rust-analyzer-src": "rust-analyzer-src_3" + "nixpkgs": "nixpkgs_55", + "rust-analyzer-src": "rust-analyzer-src_5" }, "locked": { "lastModified": 1645165506, @@ -5317,7 +6845,7 @@ "type": "github" } }, - "fenix_4": { + "fenix_6": { "inputs": { "nixpkgs": [ "cardano-transaction-lib", @@ -5326,7 +6854,7 @@ "bitte", "nixpkgs-unstable" ], - "rust-analyzer-src": "rust-analyzer-src_4" + "rust-analyzer-src": "rust-analyzer-src_6" }, "locked": { "lastModified": 1660631227, @@ -5342,10 +6870,10 @@ "type": "github" } }, - "fenix_5": { + "fenix_7": { "inputs": { - "nixpkgs": "nixpkgs_42", - "rust-analyzer-src": "rust-analyzer-src_5" + "nixpkgs": "nixpkgs_71", + "rust-analyzer-src": "rust-analyzer-src_7" }, "locked": { "lastModified": 1645165506, @@ -5361,7 +6889,7 @@ "type": "github" } }, - "fenix_6": { + "fenix_8": { "inputs": { "nixpkgs": [ "cardano-transaction-lib", @@ -5371,7 +6899,7 @@ "bitte", "nixpkgs-unstable" ], - "rust-analyzer-src": "rust-analyzer-src_6" + "rust-analyzer-src": "rust-analyzer-src_8" }, "locked": { "lastModified": 1649226351, @@ -5387,10 +6915,10 @@ "type": "github" } }, - "fenix_7": { + "fenix_9": { "inputs": { - "nixpkgs": "nixpkgs_80", - "rust-analyzer-src": "rust-analyzer-src_7" + "nixpkgs": "nixpkgs_108", + "rust-analyzer-src": "rust-analyzer-src_9" }, "locked": { "lastModified": 1677306201, @@ -5409,16 +6937,15 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", - "owner": "input-output-hk", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "fixes", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -5441,22 +6968,6 @@ } }, "flake-compat_11": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_12": { "flake": false, "locked": { "lastModified": 1672831974, @@ -5473,7 +6984,7 @@ "type": "github" } }, - "flake-compat_13": { + "flake-compat_12": { "flake": false, "locked": { "lastModified": 1673956053, @@ -5489,14 +7000,14 @@ "type": "github" } }, - "flake-compat_14": { + "flake-compat_13": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -5505,7 +7016,7 @@ "type": "github" } }, - "flake-compat_15": { + "flake-compat_14": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5521,7 +7032,7 @@ "type": "github" } }, - "flake-compat_16": { + "flake-compat_15": { "flake": false, "locked": { "lastModified": 1647532380, @@ -5538,7 +7049,7 @@ "type": "github" } }, - "flake-compat_17": { + "flake-compat_16": { "flake": false, "locked": { "lastModified": 1672831974, @@ -5555,14 +7066,30 @@ "type": "github" } }, + "flake-compat_17": { + "flake": false, + "locked": { + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-compat_18": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "type": "github" }, "original": { @@ -5574,16 +7101,15 @@ "flake-compat_19": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", - "owner": "input-output-hk", + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -5606,6 +7132,22 @@ } }, "flake-compat_20": { + "flake": false, + "locked": { + "lastModified": 1641205782, + "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_21": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5621,7 +7163,7 @@ "type": "github" } }, - "flake-compat_21": { + "flake-compat_22": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5637,34 +7179,19 @@ "type": "github" } }, - "flake-compat_22": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-compat_23": { "flake": false, "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -5672,11 +7199,11 @@ "flake-compat_24": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -5688,15 +7215,16 @@ "flake-compat_25": { "flake": false, "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -5720,15 +7248,16 @@ "flake-compat_27": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -5736,15 +7265,16 @@ "flake-compat_28": { "flake": false, "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -5752,11 +7282,11 @@ "flake-compat_29": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -5768,11 +7298,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -5782,6 +7312,23 @@ } }, "flake-compat_30": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_31": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5797,7 +7344,7 @@ "type": "github" } }, - "flake-compat_31": { + "flake-compat_32": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5813,7 +7360,7 @@ "type": "github" } }, - "flake-compat_32": { + "flake-compat_33": { "flake": false, "locked": { "lastModified": 1673956053, @@ -5829,7 +7376,7 @@ "type": "github" } }, - "flake-compat_33": { + "flake-compat_34": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5845,7 +7392,7 @@ "type": "github" } }, - "flake-compat_34": { + "flake-compat_35": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5861,7 +7408,7 @@ "type": "github" } }, - "flake-compat_35": { + "flake-compat_36": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5877,7 +7424,7 @@ "type": "github" } }, - "flake-compat_36": { + "flake-compat_37": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5893,7 +7440,7 @@ "type": "github" } }, - "flake-compat_37": { + "flake-compat_38": { "flake": false, "locked": { "lastModified": 1673956053, @@ -5909,7 +7456,7 @@ "type": "github" } }, - "flake-compat_38": { + "flake-compat_39": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5925,7 +7472,24 @@ "type": "github" } }, - "flake-compat_39": { + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_40": { "flake": false, "locked": { "lastModified": 1650374568, @@ -5941,14 +7505,30 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_41": { "flake": false, "locked": { - "lastModified": 1627913399, - "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "lastModified": 1635892615, + "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "eca47d3377946315596da653862d341ee5341318", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_42": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -5957,7 +7537,7 @@ "type": "github" } }, - "flake-compat_40": { + "flake-compat_43": { "flake": false, "locked": { "lastModified": 1673956053, @@ -5973,7 +7553,7 @@ "type": "github" } }, - "flake-compat_41": { + "flake-compat_44": { "flake": false, "locked": { "lastModified": 1635892615, @@ -5989,7 +7569,7 @@ "type": "github" } }, - "flake-compat_42": { + "flake-compat_45": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6005,7 +7585,7 @@ "type": "github" } }, - "flake-compat_43": { + "flake-compat_46": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6021,7 +7601,7 @@ "type": "github" } }, - "flake-compat_44": { + "flake-compat_47": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6037,7 +7617,7 @@ "type": "github" } }, - "flake-compat_45": { + "flake-compat_48": { "flake": false, "locked": { "lastModified": 1673956053, @@ -6053,30 +7633,47 @@ "type": "github" } }, + "flake-compat_49": { + "flake": false, + "locked": { + "lastModified": 1635892615, + "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "eca47d3377946315596da653862d341ee5341318", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "flake-compat", + "type": "github" + } + }, "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1627913399, - "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", - "owner": "edolstra", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } }, - "flake-compat_6": { + "flake-compat_50": { "flake": false, "locked": { - "lastModified": 1627913399, - "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -6085,14 +7682,14 @@ "type": "github" } }, - "flake-compat_7": { + "flake-compat_51": { "flake": false, "locked": { - "lastModified": 1641205782, - "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -6101,7 +7698,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_52": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6117,7 +7714,7 @@ "type": "github" } }, - "flake-compat_9": { + "flake-compat_53": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6133,97 +7730,194 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs": "nixpkgs_56" - }, + "flake-compat_54": { + "flake": false, "locked": { - "lastModified": 1655570068, - "narHash": "sha256-KUSd2a6KgYTHd2l3Goee/P+DrAC6n1Tau+7V68czSZU=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "6dbc77b9c0477f8a9a6a9081077bb38c6a3dbb3a", + "lastModified": 1635892615, + "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "eca47d3377946315596da653862d341ee5341318", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "input-output-hk", + "repo": "flake-compat", "type": "github" } }, - "flake-parts_10": { - "inputs": { - "nixpkgs-lib": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, + "flake-compat_55": { + "flake": false, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "flake-parts_11": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_8" - }, + "flake-compat_56": { + "flake": false, "locked": { - "lastModified": 1668450977, - "narHash": "sha256-cfLhMhnvXn6x1vPm+Jow3RiFAUSCw/l1utktCw5rVA4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "d591857e9d7dd9ddbfba0ea02b43b927c3c0f1fa", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" } }, - "flake-parts_12": { + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_9": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { "inputs": { - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1664391900, - "narHash": "sha256-hQWV36ptF8pQY9J+finEOYUxhfSjbB6aDHXw/4go+44=", - "owner": "mlabs-haskell", + "lastModified": 1672152762, + "narHash": "sha256-U8iWWHgabN07zfbgedogMVWrEP1Zywyf3Yx3OYHSSgE=", + "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a8a2d7085a2ffbf06c7b11767018dd7a4c5d4e1b", + "rev": "19e0f88324d90509141e192664ded98bb88ef9b2", "type": "github" }, "original": { - "owner": "mlabs-haskell", - "ref": "fix-for-ifd", + "owner": "hercules-ci", "repo": "flake-parts", "type": "github" } }, - "flake-parts_13": { + "flake-parts_10": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_8" + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_11": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_9" }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_12": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_10" + }, + "locked": { + "lastModified": 1672616755, + "narHash": "sha256-dvwU2ORLpiP6ZMXL3CJ/qrqmtLBLF6VAc+Fois7Qfew=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "87673d7c13a799d95ce25ff5dc7b9e15f01af2ea", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_13": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_11" + }, "locked": { "lastModified": 1678379998, "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", @@ -6240,7 +7934,7 @@ }, "flake-parts_14": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_10" + "nixpkgs-lib": "nixpkgs-lib_12" }, "locked": { "lastModified": 1678379998, @@ -6259,6 +7953,7 @@ "inputs": { "nixpkgs-lib": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "hercules-ci-effects", "hercules-ci-agent", @@ -6281,7 +7976,7 @@ }, "flake-parts_16": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_11" + "nixpkgs-lib": "nixpkgs-lib_13" }, "locked": { "lastModified": 1668450977, @@ -6301,6 +7996,7 @@ "inputs": { "nixpkgs": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", @@ -6324,7 +8020,7 @@ }, "flake-parts_18": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_12" + "nixpkgs-lib": "nixpkgs-lib_14" }, "locked": { "lastModified": 1678379998, @@ -6342,7 +8038,7 @@ }, "flake-parts_19": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_13" + "nixpkgs-lib": "nixpkgs-lib_15" }, "locked": { "lastModified": 1678379998, @@ -6359,28 +8055,26 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "cardano-transaction-lib", - "hercules-ci-effects", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1682984683, + "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "86684881e184f41aa322e653880e497b66429f3e", "type": "github" }, "original": { - "id": "flake-parts", - "type": "indirect" + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" } }, "flake-parts_20": { "inputs": { "nixpkgs-lib": [ + "hydra-auction-onchain", "liqwid-nix", "hercules-ci-effects", "hercules-ci-agent", @@ -6403,7 +8097,7 @@ }, "flake-parts_21": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_14" + "nixpkgs-lib": "nixpkgs-lib_16" }, "locked": { "lastModified": 1668450977, @@ -6422,6 +8116,7 @@ "flake-parts_22": { "inputs": { "nixpkgs": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -6443,16 +8138,16 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_23": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_17" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", "type": "github" }, "original": { @@ -6461,34 +8156,38 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_24": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": "nixpkgs-lib_18" }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "id": "flake-parts", + "type": "indirect" } }, - "flake-parts_5": { + "flake-parts_25": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" + "nixpkgs-lib": [ + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", "type": "github" }, "original": { @@ -6497,50 +8196,58 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_26": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_4" + "nixpkgs-lib": "nixpkgs-lib_19" }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1668450977, + "narHash": "sha256-cfLhMhnvXn6x1vPm+Jow3RiFAUSCw/l1utktCw5rVA4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "d591857e9d7dd9ddbfba0ea02b43b927c3c0f1fa", "type": "github" }, "original": { - "id": "flake-parts", - "type": "indirect" + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" } }, - "flake-parts_7": { + "flake-parts_27": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "nixpkgs" + ] }, "locked": { - "lastModified": 1672616755, - "narHash": "sha256-dvwU2ORLpiP6ZMXL3CJ/qrqmtLBLF6VAc+Fois7Qfew=", - "owner": "hercules-ci", + "lastModified": 1664391900, + "narHash": "sha256-hQWV36ptF8pQY9J+finEOYUxhfSjbB6aDHXw/4go+44=", + "owner": "mlabs-haskell", "repo": "flake-parts", - "rev": "87673d7c13a799d95ce25ff5dc7b9e15f01af2ea", + "rev": "a8a2d7085a2ffbf06c7b11767018dd7a4c5d4e1b", "type": "github" }, "original": { - "id": "flake-parts", - "type": "indirect" + "owner": "mlabs-haskell", + "ref": "fix-for-ifd", + "repo": "flake-parts", + "type": "github" } }, - "flake-parts_8": { + "flake-parts_3": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_6" + "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", "type": "github" }, "original": { @@ -6549,135 +8256,139 @@ "type": "github" } }, - "flake-parts_9": { + "flake-parts_4": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_7" + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", "type": "github" }, "original": { - "id": "flake-parts", - "type": "indirect" + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" } }, - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_5" }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_10": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-utils_11": { + "flake-parts_6": { + "inputs": { + "nixpkgs": "nixpkgs_85" + }, "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "lastModified": 1655570068, + "narHash": "sha256-KUSd2a6KgYTHd2l3Goee/P+DrAC6n1Tau+7V68czSZU=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "6dbc77b9c0477f8a9a6a9081077bb38c6a3dbb3a", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-utils_12": { + "flake-parts_7": { + "inputs": { + "nixpkgs-lib": [ + "cardano-transaction-lib", + "hercules-ci-effects", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "id": "flake-parts", + "type": "indirect" } }, - "flake-utils_13": { + "flake-parts_8": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_6" + }, "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-utils_14": { + "flake-parts_9": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_7" + }, "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-utils_15": { + "flake-root": { "locked": { - "lastModified": 1642700792, - "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "lastModified": 1692742795, + "narHash": "sha256-f+Y0YhVCIJ06LemO+3Xx00lIcqQxSKJHXT/yk1RTKxw=", + "owner": "srid", + "repo": "flake-root", + "rev": "d9a70d9c7a5fd7f3258ccf48da9335e9b47c3937", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "srid", + "repo": "flake-root", "type": "github" } }, - "flake-utils_16": { + "flake-utils": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -6686,13 +8397,13 @@ "type": "github" } }, - "flake-utils_17": { + "flake-utils_10": { "locked": { - "lastModified": 1610051610, - "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -6701,13 +8412,13 @@ "type": "github" } }, - "flake-utils_18": { + "flake-utils_100": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -6716,13 +8427,13 @@ "type": "github" } }, - "flake-utils_19": { + "flake-utils_101": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -6731,29 +8442,28 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_102": { "locked": { - "lastModified": 1679360468, - "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", - "owner": "hamishmack", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", "repo": "flake-utils", - "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { - "owner": "hamishmack", - "ref": "hkm/nested-hydraJobs", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, - "flake-utils_20": { + "flake-utils_103": { "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -6762,7 +8472,7 @@ "type": "github" } }, - "flake-utils_21": { + "flake-utils_104": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -6777,13 +8487,13 @@ "type": "github" } }, - "flake-utils_22": { + "flake-utils_105": { "locked": { - "lastModified": 1642700792, - "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -6792,13 +8502,13 @@ "type": "github" } }, - "flake-utils_23": { + "flake-utils_106": { "locked": { - "lastModified": 1619345332, - "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -6807,23 +8517,22 @@ "type": "github" } }, - "flake-utils_24": { + "flake-utils_107": { "locked": { - "lastModified": 1652776076, - "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { "owner": "numtide", - "ref": "v1.0.0", "repo": "flake-utils", "type": "github" } }, - "flake-utils_25": { + "flake-utils_108": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -6838,13 +8547,13 @@ "type": "github" } }, - "flake-utils_26": { + "flake-utils_109": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -6853,13 +8562,13 @@ "type": "github" } }, - "flake-utils_27": { + "flake-utils_11": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -6868,7 +8577,7 @@ "type": "github" } }, - "flake-utils_28": { + "flake-utils_110": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -6883,13 +8592,13 @@ "type": "github" } }, - "flake-utils_29": { + "flake-utils_111": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -6898,7 +8607,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_12": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -6913,13 +8622,13 @@ "type": "github" } }, - "flake-utils_30": { + "flake-utils_13": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -6928,13 +8637,13 @@ "type": "github" } }, - "flake-utils_31": { + "flake-utils_14": { "locked": { - "lastModified": 1642700792, - "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -6943,28 +8652,16 @@ "type": "github" } }, - "flake-utils_32": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" + "flake-utils_15": { + "inputs": { + "systems": "systems_4" }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_33": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -6973,7 +8670,7 @@ "type": "github" } }, - "flake-utils_34": { + "flake-utils_16": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -6988,7 +8685,7 @@ "type": "github" } }, - "flake-utils_35": { + "flake-utils_17": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7003,7 +8700,7 @@ "type": "github" } }, - "flake-utils_36": { + "flake-utils_18": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7018,7 +8715,7 @@ "type": "github" } }, - "flake-utils_37": { + "flake-utils_19": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7033,13 +8730,32 @@ "type": "github" } }, - "flake-utils_38": { + "flake-utils_2": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", + "repo": "flake-utils", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "type": "github" + }, + "original": { + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_20": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -7048,13 +8764,13 @@ "type": "github" } }, - "flake-utils_39": { + "flake-utils_21": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7063,13 +8779,13 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_22": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7078,13 +8794,13 @@ "type": "github" } }, - "flake-utils_40": { + "flake-utils_23": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7093,13 +8809,13 @@ "type": "github" } }, - "flake-utils_41": { + "flake-utils_24": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -7108,13 +8824,13 @@ "type": "github" } }, - "flake-utils_42": { + "flake-utils_25": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7123,13 +8839,13 @@ "type": "github" } }, - "flake-utils_43": { + "flake-utils_26": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7138,13 +8854,13 @@ "type": "github" } }, - "flake-utils_44": { + "flake-utils_27": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7153,13 +8869,13 @@ "type": "github" } }, - "flake-utils_45": { + "flake-utils_28": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -7168,13 +8884,13 @@ "type": "github" } }, - "flake-utils_46": { + "flake-utils_29": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -7183,13 +8899,13 @@ "type": "github" } }, - "flake-utils_47": { + "flake-utils_3": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -7198,13 +8914,13 @@ "type": "github" } }, - "flake-utils_48": { + "flake-utils_30": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", "type": "github" }, "original": { @@ -7213,13 +8929,13 @@ "type": "github" } }, - "flake-utils_49": { + "flake-utils_31": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7228,13 +8944,13 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_32": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1610051610, + "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", "type": "github" }, "original": { @@ -7243,13 +8959,13 @@ "type": "github" } }, - "flake-utils_50": { + "flake-utils_33": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7258,13 +8974,13 @@ "type": "github" } }, - "flake-utils_51": { + "flake-utils_34": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7273,13 +8989,13 @@ "type": "github" } }, - "flake-utils_52": { + "flake-utils_35": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -7288,13 +9004,13 @@ "type": "github" } }, - "flake-utils_53": { + "flake-utils_36": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7303,13 +9019,13 @@ "type": "github" } }, - "flake-utils_54": { + "flake-utils_37": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", "type": "github" }, "original": { @@ -7318,13 +9034,13 @@ "type": "github" } }, - "flake-utils_55": { + "flake-utils_38": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1619345332, + "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28", "type": "github" }, "original": { @@ -7333,22 +9049,23 @@ "type": "github" } }, - "flake-utils_56": { + "flake-utils_39": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1652776076, + "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", "type": "github" }, "original": { "owner": "numtide", + "ref": "v1.0.0", "repo": "flake-utils", "type": "github" } }, - "flake-utils_57": { + "flake-utils_4": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -7363,13 +9080,13 @@ "type": "github" } }, - "flake-utils_58": { + "flake-utils_40": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7378,7 +9095,7 @@ "type": "github" } }, - "flake-utils_59": { + "flake-utils_41": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7393,13 +9110,13 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_42": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7408,7 +9125,7 @@ "type": "github" } }, - "flake-utils_60": { + "flake-utils_43": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7423,13 +9140,13 @@ "type": "github" } }, - "flake-utils_61": { + "flake-utils_44": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -7438,13 +9155,13 @@ "type": "github" } }, - "flake-utils_62": { + "flake-utils_45": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -7453,13 +9170,13 @@ "type": "github" } }, - "flake-utils_63": { + "flake-utils_46": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", "type": "github" }, "original": { @@ -7468,7 +9185,7 @@ "type": "github" } }, - "flake-utils_64": { + "flake-utils_47": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7483,13 +9200,13 @@ "type": "github" } }, - "flake-utils_65": { + "flake-utils_48": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -7498,13 +9215,13 @@ "type": "github" } }, - "flake-utils_66": { + "flake-utils_49": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7513,11 +9230,42 @@ "type": "github" } }, - "flake-utils_67": { + "flake-utils_5": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", + "repo": "flake-utils", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "type": "github" + }, + "original": { + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_50": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_51": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", "repo": "flake-utils", "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" @@ -7528,7 +9276,22 @@ "type": "github" } }, - "flake-utils_68": { + "flake-utils_52": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_53": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -7543,7 +9306,7 @@ "type": "github" } }, - "flake-utils_69": { + "flake-utils_54": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7558,13 +9321,13 @@ "type": "github" } }, - "flake-utils_7": { + "flake-utils_55": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7573,7 +9336,7 @@ "type": "github" } }, - "flake-utils_70": { + "flake-utils_56": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7588,7 +9351,7 @@ "type": "github" } }, - "flake-utils_71": { + "flake-utils_57": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7603,7 +9366,7 @@ "type": "github" } }, - "flake-utils_72": { + "flake-utils_58": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7618,13 +9381,13 @@ "type": "github" } }, - "flake-utils_73": { + "flake-utils_59": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -7633,13 +9396,13 @@ "type": "github" } }, - "flake-utils_74": { + "flake-utils_6": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7648,13 +9411,13 @@ "type": "github" } }, - "flake-utils_75": { + "flake-utils_60": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7663,7 +9426,7 @@ "type": "github" } }, - "flake-utils_76": { + "flake-utils_61": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7678,13 +9441,13 @@ "type": "github" } }, - "flake-utils_77": { + "flake-utils_62": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -7693,13 +9456,13 @@ "type": "github" } }, - "flake-utils_78": { + "flake-utils_63": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7708,13 +9471,13 @@ "type": "github" } }, - "flake-utils_79": { + "flake-utils_64": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7723,13 +9486,13 @@ "type": "github" } }, - "flake-utils_8": { + "flake-utils_65": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -7738,13 +9501,13 @@ "type": "github" } }, - "flake-utils_80": { + "flake-utils_66": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -7753,13 +9516,13 @@ "type": "github" } }, - "flake-utils_81": { + "flake-utils_67": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7768,7 +9531,7 @@ "type": "github" } }, - "flake-utils_82": { + "flake-utils_68": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7783,7 +9546,7 @@ "type": "github" } }, - "flake-utils_83": { + "flake-utils_69": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7798,7 +9561,7 @@ "type": "github" } }, - "flake-utils_84": { + "flake-utils_7": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7813,7 +9576,22 @@ "type": "github" } }, - "flake-utils_85": { + "flake-utils_70": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_71": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -7828,7 +9606,22 @@ "type": "github" } }, - "flake-utils_86": { + "flake-utils_72": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_73": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7843,7 +9636,7 @@ "type": "github" } }, - "flake-utils_87": { + "flake-utils_74": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7858,7 +9651,7 @@ "type": "github" } }, - "flake-utils_88": { + "flake-utils_75": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7873,7 +9666,7 @@ "type": "github" } }, - "flake-utils_89": { + "flake-utils_76": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7888,13 +9681,13 @@ "type": "github" } }, - "flake-utils_9": { + "flake-utils_77": { "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { @@ -7903,7 +9696,7 @@ "type": "github" } }, - "flake-utils_90": { + "flake-utils_78": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7918,13 +9711,13 @@ "type": "github" } }, - "flake-utils_91": { + "flake-utils_79": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7933,7 +9726,7 @@ "type": "github" } }, - "flake-utils_92": { + "flake-utils_8": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7948,13 +9741,13 @@ "type": "github" } }, - "flake-utils_93": { + "flake-utils_80": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -7963,7 +9756,7 @@ "type": "github" } }, - "flake-utils_94": { + "flake-utils_81": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7978,13 +9771,13 @@ "type": "github" } }, - "flake-utils_95": { + "flake-utils_82": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -7993,13 +9786,13 @@ "type": "github" } }, - "flake-utils_96": { + "flake-utils_83": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -8008,13 +9801,13 @@ "type": "github" } }, - "flake-utils_97": { + "flake-utils_84": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8023,26 +9816,266 @@ "type": "github" } }, - "flakeCompat": { - "flake": false, + "flake-utils_85": { "locked": { - "lastModified": 1641205782, - "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_86": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_87": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_88": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_89": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_90": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_91": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_92": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_93": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_94": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_95": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_96": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_97": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_98": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_99": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flakeCompat": { + "flake": false, + "locked": { + "lastModified": 1641205782, + "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, "follower": { "inputs": { - "devshell": "devshell_10", - "inclusive": "inclusive_7", + "devshell": "devshell_14", + "inclusive": "inclusive_8", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -8051,7 +10084,7 @@ "cicero", "nixpkgs" ], - "utils": "utils_14" + "utils": "utils_19" }, "locked": { "lastModified": 1642008295, @@ -8271,7 +10304,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_3": { + "ghc-8.6.5-iohk_20": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8288,7 +10321,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_4": { + "ghc-8.6.5-iohk_21": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8305,7 +10338,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_5": { + "ghc-8.6.5-iohk_22": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8322,7 +10355,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_6": { + "ghc-8.6.5-iohk_3": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8339,7 +10372,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_7": { + "ghc-8.6.5-iohk_4": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8356,7 +10389,58 @@ "type": "github" } }, - "ghc-8.6.5-iohk_8": { + "ghc-8.6.5-iohk_5": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc-8.6.5-iohk_6": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc-8.6.5-iohk_7": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc-8.6.5-iohk_8": { "flake": false, "locked": { "lastModified": 1600920045, @@ -8442,6 +10526,25 @@ } }, "ghc910X": { + "flake": false, + "locked": { + "lastModified": 1714520650, + "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", + "ref": "ghc-9.10", + "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", + "revCount": 62663, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.10", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc910X_2": { "flake": false, "locked": { "lastModified": 1711543129, @@ -8460,7 +10563,7 @@ "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc910X_2": { + "ghc910X_3": { "flake": false, "locked": { "lastModified": 1714520650, @@ -8480,6 +10583,24 @@ } }, "ghc911": { + "flake": false, + "locked": { + "lastModified": 1714817013, + "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", + "ref": "refs/heads/master", + "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", + "revCount": 62816, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc911_2": { "flake": false, "locked": { "lastModified": 1711538967, @@ -8497,7 +10618,7 @@ "url": "https://gitlab.haskell.org/ghc/ghc" } }, - "ghc911_2": { + "ghc911_3": { "flake": false, "locked": { "lastModified": 1714817013, @@ -8534,14 +10655,51 @@ "url": "https://gitlab.haskell.org/ghc/ghc" } }, + "ghc98X_2": { + "flake": false, + "locked": { + "lastModified": 1696643148, + "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", + "ref": "ghc-9.8", + "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", + "revCount": 61642, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.8", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, "ghc99": { "flake": false, "locked": { - "lastModified": 1701580282, - "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", + "lastModified": 1697054644, + "narHash": "sha256-kKarOuXUaAH3QWv7ASx+gGFMHaHKe0pK5Zu37ky2AL4=", + "ref": "refs/heads/master", + "rev": "f383a242c76f90bcca8a4d7ee001dcb49c172a9a", + "revCount": 62040, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc99_2": { + "flake": false, + "locked": { + "lastModified": 1697054644, + "narHash": "sha256-kKarOuXUaAH3QWv7ASx+gGFMHaHKe0pK5Zu37ky2AL4=", "ref": "refs/heads/master", - "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", - "revCount": 62197, + "rev": "f383a242c76f90bcca8a4d7ee001dcb49c172a9a", + "revCount": 62040, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" @@ -8555,21 +10713,18 @@ "gitignore": { "inputs": { "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", + "cardano-transaction-lib", + "cardano-nix", "pre-commit-hooks-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1703887061, + "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", "type": "github" }, "original": { @@ -8659,7 +10814,9 @@ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", - "pre-commit-hooks", + "hercules-ci-effects", + "hercules-ci-agent", + "pre-commit-hooks-nix", "nixpkgs" ] }, @@ -8678,6 +10835,30 @@ } }, "gitignore_3": { + "inputs": { + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_4": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -8702,7 +10883,7 @@ "type": "github" } }, - "gitignore_4": { + "gitignore_5": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -8725,7 +10906,7 @@ "type": "github" } }, - "gitignore_5": { + "gitignore_6": { "inputs": { "nixpkgs": [ "liqwid-nix", @@ -8749,7 +10930,7 @@ "type": "github" } }, - "gitignore_6": { + "gitignore_7": { "inputs": { "nixpkgs": [ "liqwid-nix", @@ -8773,8 +10954,8 @@ }, "gomod2nix": { "inputs": { - "nixpkgs": "nixpkgs_5", - "utils": "utils" + "nixpkgs": "nixpkgs_18", + "utils": "utils_2" }, "locked": { "lastModified": 1655245309, @@ -8792,8 +10973,8 @@ }, "gomod2nix_10": { "inputs": { - "nixpkgs": "nixpkgs_125", - "utils": "utils_33" + "nixpkgs": "nixpkgs_142", + "utils": "utils_36" }, "locked": { "lastModified": 1655245309, @@ -8811,8 +10992,8 @@ }, "gomod2nix_11": { "inputs": { - "nixpkgs": "nixpkgs_131", - "utils": "utils_34" + "nixpkgs": "nixpkgs_148", + "utils": "utils_37" }, "locked": { "lastModified": 1655245309, @@ -8830,8 +11011,46 @@ }, "gomod2nix_12": { "inputs": { - "nixpkgs": "nixpkgs_137", - "utils": "utils_35" + "nixpkgs": "nixpkgs_153", + "utils": "utils_38" + }, + "locked": { + "lastModified": 1655245309, + "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, + "gomod2nix_13": { + "inputs": { + "nixpkgs": "nixpkgs_159", + "utils": "utils_39" + }, + "locked": { + "lastModified": 1655245309, + "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", + "owner": "tweag", + "repo": "gomod2nix", + "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "gomod2nix", + "type": "github" + } + }, + "gomod2nix_14": { + "inputs": { + "nixpkgs": "nixpkgs_165", + "utils": "utils_40" }, "locked": { "lastModified": 1655245309, @@ -8849,8 +11068,8 @@ }, "gomod2nix_2": { "inputs": { - "nixpkgs": "nixpkgs_72", - "utils": "utils_24" + "nixpkgs": "nixpkgs_22", + "utils": "utils_4" }, "locked": { "lastModified": 1655245309, @@ -8868,8 +11087,8 @@ }, "gomod2nix_3": { "inputs": { - "nixpkgs": "nixpkgs_86", - "utils": "utils_26" + "nixpkgs": "nixpkgs_31", + "utils": "utils_6" }, "locked": { "lastModified": 1655245309, @@ -8887,8 +11106,8 @@ }, "gomod2nix_4": { "inputs": { - "nixpkgs": "nixpkgs_92", - "utils": "utils_27" + "nixpkgs": "nixpkgs_100", + "utils": "utils_29" }, "locked": { "lastModified": 1655245309, @@ -8906,8 +11125,8 @@ }, "gomod2nix_5": { "inputs": { - "nixpkgs": "nixpkgs_98", - "utils": "utils_28" + "nixpkgs": "nixpkgs_114", + "utils": "utils_31" }, "locked": { "lastModified": 1655245309, @@ -8925,8 +11144,8 @@ }, "gomod2nix_6": { "inputs": { - "nixpkgs": "nixpkgs_103", - "utils": "utils_29" + "nixpkgs": "nixpkgs_120", + "utils": "utils_32" }, "locked": { "lastModified": 1655245309, @@ -8944,8 +11163,8 @@ }, "gomod2nix_7": { "inputs": { - "nixpkgs": "nixpkgs_108", - "utils": "utils_30" + "nixpkgs": "nixpkgs_126", + "utils": "utils_33" }, "locked": { "lastModified": 1655245309, @@ -8963,8 +11182,8 @@ }, "gomod2nix_8": { "inputs": { - "nixpkgs": "nixpkgs_114", - "utils": "utils_31" + "nixpkgs": "nixpkgs_131", + "utils": "utils_34" }, "locked": { "lastModified": 1655245309, @@ -8982,8 +11201,8 @@ }, "gomod2nix_9": { "inputs": { - "nixpkgs": "nixpkgs_120", - "utils": "utils_32" + "nixpkgs": "nixpkgs_136", + "utils": "utils_35" }, "locked": { "lastModified": 1655245309, @@ -9002,11 +11221,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1646097829, - "narHash": "sha256-PcHDDV8NuUxZhPV/p++IkZC+SDZ1Db7m7K+9HN4/0S4=", + "lastModified": 1692145451, + "narHash": "sha256-kqfyD3Mu5kgiH5W2ZshUhzO46H0zYDpwD1SWz+POMrk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "283f096976b48e54183905e7bdde7f213c6ee5cd", + "rev": "9d2daeca0e09002bc6fb552a097a1802a2f3a4e3", "type": "github" }, "original": { @@ -9018,11 +11237,11 @@ "hackage-nix": { "flake": false, "locked": { - "lastModified": 1702772694, - "narHash": "sha256-KL6ZjbhPBCco1ho0lmh0/dfPSNxjF8qtrTlzQcTN3iw=", + "lastModified": 1721953589, + "narHash": "sha256-ctYOxCvXQS5MPILV8YPyUhylKhgIhOM4Dc5g0vGNFbM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "20bd4b5f667f892230d4a28ea4607e85ce9bc44e", + "rev": "3f0675337984f15834fcd52b97fc766e30f4d684", "type": "github" }, "original": { @@ -9082,11 +11301,11 @@ "hackageNix": { "flake": false, "locked": { - "lastModified": 1685492843, - "narHash": "sha256-X8dNs5Gfc2ucfaWAgZ1VmkpBB4Cb44EQZu0b7tkvz2Y=", + "lastModified": 1702945378, + "narHash": "sha256-mo1MlOphO4bRwZ8T3mDwU5LOtdQcWSA+93lT1HkCcyw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e7407bab324eb2445bda58c5ffac393e80dda1e4", + "rev": "e59b9616a744727e8e64f605f9f216464f12f89b", "type": "github" }, "original": { @@ -9098,11 +11317,11 @@ "hackageNix_2": { "flake": false, "locked": { - "lastModified": 1711412520, - "narHash": "sha256-48Aw1X7IuXZR6Wi2WOlvj9HpoUHty/JW1MqAehgnoHo=", + "lastModified": 1685492843, + "narHash": "sha256-X8dNs5Gfc2ucfaWAgZ1VmkpBB4Cb44EQZu0b7tkvz2Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fc84d1170ccc83d50db7b71a6edd090b2cef7657", + "rev": "e7407bab324eb2445bda58c5ffac393e80dda1e4", "type": "github" }, "original": { @@ -9111,14 +11330,14 @@ "type": "github" } }, - "hackage_10": { + "hackageNix_3": { "flake": false, "locked": { - "lastModified": 1668388507, - "narHash": "sha256-NrZF+AvPCgGwqIkFmq3VZBHDHHxWXRyE6A3VSWJtRr8=", + "lastModified": 1701303758, + "narHash": "sha256-8XqVEQwmJBxRPFa7SizJuZxbG+NFEZKWdhtYPTQ7ZKM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b585a1d4005e8aa2c2d3958be88c960dec58540e", + "rev": "8a0e3ae9295b7ef8431b9be208dd06aa2789be53", "type": "github" }, "original": { @@ -9127,14 +11346,14 @@ "type": "github" } }, - "hackage_11": { + "hackageNix_4": { "flake": false, "locked": { - "lastModified": 1670891293, - "narHash": "sha256-GeM+cYlkCAjLdOu+he9bmaL/hBj3XrVSrNUP4p4OQdg=", + "lastModified": 1719794527, + "narHash": "sha256-qHo/KumtwAzPkfLWODu/6EFY/LeK+C7iPJyAUdT8tGA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a63a92060aa872b284db85fb914a7732931a0132", + "rev": "da2a3bc9bd1b3dd41bb147279529c471c615fd3e", "type": "github" }, "original": { @@ -9143,12 +11362,60 @@ "type": "github" } }, - "hackage_12": { + "hackageNix_5": { "flake": false, "locked": { - "lastModified": 1668388507, - "narHash": "sha256-NrZF+AvPCgGwqIkFmq3VZBHDHHxWXRyE6A3VSWJtRr8=", - "owner": "input-output-hk", + "lastModified": 1711412520, + "narHash": "sha256-48Aw1X7IuXZR6Wi2WOlvj9HpoUHty/JW1MqAehgnoHo=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "fc84d1170ccc83d50db7b71a6edd090b2cef7657", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackage_10": { + "flake": false, + "locked": { + "lastModified": 1668388507, + "narHash": "sha256-NrZF+AvPCgGwqIkFmq3VZBHDHHxWXRyE6A3VSWJtRr8=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "b585a1d4005e8aa2c2d3958be88c960dec58540e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackage_11": { + "flake": false, + "locked": { + "lastModified": 1670891293, + "narHash": "sha256-GeM+cYlkCAjLdOu+he9bmaL/hBj3XrVSrNUP4p4OQdg=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "a63a92060aa872b284db85fb914a7732931a0132", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackage_12": { + "flake": false, + "locked": { + "lastModified": 1668388507, + "narHash": "sha256-NrZF+AvPCgGwqIkFmq3VZBHDHHxWXRyE6A3VSWJtRr8=", + "owner": "input-output-hk", "repo": "hackage.nix", "rev": "b585a1d4005e8aa2c2d3958be88c960dec58540e", "type": "github" @@ -9178,11 +11445,11 @@ "hackage_2": { "flake": false, "locked": { - "lastModified": 1655342080, - "narHash": "sha256-mF/clPxSJJkKAq6Y+0oYXrU3rGOuQXFN9btSde3uvvE=", + "lastModified": 1646097829, + "narHash": "sha256-PcHDDV8NuUxZhPV/p++IkZC+SDZ1Db7m7K+9HN4/0S4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "567e2e865d42d8e5cfe796bf03b6b38e42bc00ab", + "rev": "283f096976b48e54183905e7bdde7f213c6ee5cd", "type": "github" }, "original": { @@ -9194,11 +11461,11 @@ "hackage_3": { "flake": false, "locked": { - "lastModified": 1659489414, - "narHash": "sha256-AghgUkUv0hIBh+PvODngYL+ejwhCn2O2OUkVaAZYkCU=", + "lastModified": 1655342080, + "narHash": "sha256-mF/clPxSJJkKAq6Y+0oYXrU3rGOuQXFN9btSde3uvvE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "056c6ce7014adaf887b8e4cad15ef6fd926ea568", + "rev": "567e2e865d42d8e5cfe796bf03b6b38e42bc00ab", "type": "github" }, "original": { @@ -9210,11 +11477,11 @@ "hackage_4": { "flake": false, "locked": { - "lastModified": 1650935983, - "narHash": "sha256-wZTCKzA4f7nk5sIdP2BhGz5qkt6ex5VTC/53U2Y4i9Y=", + "lastModified": 1659489414, + "narHash": "sha256-AghgUkUv0hIBh+PvODngYL+ejwhCn2O2OUkVaAZYkCU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b65addc81b03406b3ee8b139549980591ed15be5", + "rev": "056c6ce7014adaf887b8e4cad15ef6fd926ea568", "type": "github" }, "original": { @@ -9226,11 +11493,11 @@ "hackage_5": { "flake": false, "locked": { - "lastModified": 1654219082, - "narHash": "sha256-sm59eg5wSrfIAjNXfBaaOBQ8daghF3g1NiGazYfj+no=", + "lastModified": 1650935983, + "narHash": "sha256-wZTCKzA4f7nk5sIdP2BhGz5qkt6ex5VTC/53U2Y4i9Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fc90e7c5dea0483bacb01fc00bd2ab8f8e72500d", + "rev": "b65addc81b03406b3ee8b139549980591ed15be5", "type": "github" }, "original": { @@ -9464,45 +11731,50 @@ }, "haskell-nix": { "inputs": { - "HTTP": "HTTP_2", - "cabal-32": "cabal-32_2", - "cabal-34": "cabal-34_2", - "cabal-36": "cabal-36_2", - "cardano-shell": "cardano-shell_2", - "flake-utils": "flake-utils_16", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", - "hpc-coveralls": "hpc-coveralls_2", - "nix-tools": "nix-tools", + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "iserv-proxy": "iserv-proxy", "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte-cells", - "cicero", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_2", - "nixpkgs-2105": "nixpkgs-2105_2", - "nixpkgs-2111": "nixpkgs-2111_2", - "nixpkgs-unstable": [ + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte-cells", - "cicero", - "nixpkgs" - ], - "old-ghc-nix": "old-ghc-nix_2", - "stackage": "stackage_2" + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "empty-flake" + ] }, "locked": { - "lastModified": 1646097976, - "narHash": "sha256-EiyrBqayw67dw8pr1XCVU9tIZ+/jzXCQycW1S9a+KFA=", + "lastModified": 1692147008, + "narHash": "sha256-ZiRaryaboJbNZ7y7XKZs2xuSfydZyGeupJNOfYpgQSw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "f0308ed1df3ce9f10f9da1a7c0c8591921d0b4e5", + "rev": "1970bb2d5b0eb8152f89b305f32d055dbd6857d9", "type": "github" }, "original": { @@ -9513,14 +11785,14 @@ }, "haskell-nix_10": { "inputs": { - "HTTP": "HTTP_16", - "cabal-32": "cabal-32_16", - "cabal-34": "cabal-34_16", - "cabal-36": "cabal-36_16", - "cardano-shell": "cardano-shell_16", - "flake-compat": "flake-compat_35", - "flake-utils": "flake-utils_73", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_16", + "HTTP": "HTTP_19", + "cabal-32": "cabal-32_19", + "cabal-34": "cabal-34_19", + "cabal-36": "cabal-36_19", + "cardano-shell": "cardano-shell_19", + "flake-compat": "flake-compat_46", + "flake-utils": "flake-utils_87", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_19", "hackage": [ "hydra-auction-onchain", "liqwid-nix", @@ -9529,8 +11801,8 @@ "plutus", "hackage-nix" ], - "hpc-coveralls": "hpc-coveralls_16", - "hydra": "hydra_19", + "hpc-coveralls": "hpc-coveralls_19", + "hydra": "hydra_22", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -9539,13 +11811,13 @@ "plutus", "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_16", - "nixpkgs-2105": "nixpkgs-2105_16", - "nixpkgs-2111": "nixpkgs-2111_16", - "nixpkgs-2205": "nixpkgs-2205_12", - "nixpkgs-unstable": "nixpkgs-unstable_18", - "old-ghc-nix": "old-ghc-nix_16", - "stackage": "stackage_16" + "nixpkgs-2003": "nixpkgs-2003_19", + "nixpkgs-2105": "nixpkgs-2105_19", + "nixpkgs-2111": "nixpkgs-2111_19", + "nixpkgs-2205": "nixpkgs-2205_16", + "nixpkgs-unstable": "nixpkgs-unstable_22", + "old-ghc-nix": "old-ghc-nix_19", + "stackage": "stackage_18" }, "locked": { "lastModified": 1667366313, @@ -9563,30 +11835,30 @@ }, "haskell-nix_11": { "inputs": { - "HTTP": "HTTP_17", - "cabal-32": "cabal-32_17", - "cabal-34": "cabal-34_17", - "cabal-36": "cabal-36_17", - "cardano-shell": "cardano-shell_17", - "flake-compat": "flake-compat_38", - "flake-utils": "flake-utils_81", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_17", + "HTTP": "HTTP_20", + "cabal-32": "cabal-32_20", + "cabal-34": "cabal-34_20", + "cabal-36": "cabal-36_20", + "cardano-shell": "cardano-shell_20", + "flake-compat": "flake-compat_49", + "flake-utils": "flake-utils_95", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_20", "hackage": "hackage_12", - "hpc-coveralls": "hpc-coveralls_17", - "hydra": "hydra_20", + "hpc-coveralls": "hpc-coveralls_20", + "hydra": "hydra_23", "nixpkgs": [ "liqwid-nix", "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_17", - "nixpkgs-2105": "nixpkgs-2105_17", - "nixpkgs-2111": "nixpkgs-2111_17", - "nixpkgs-2205": "nixpkgs-2205_13", - "nixpkgs-unstable": "nixpkgs-unstable_19", - "old-ghc-nix": "old-ghc-nix_17", - "stackage": "stackage_17", - "tullia": "tullia_11" + "nixpkgs-2003": "nixpkgs-2003_20", + "nixpkgs-2105": "nixpkgs-2105_20", + "nixpkgs-2111": "nixpkgs-2111_20", + "nixpkgs-2205": "nixpkgs-2205_17", + "nixpkgs-unstable": "nixpkgs-unstable_23", + "old-ghc-nix": "old-ghc-nix_20", + "stackage": "stackage_19", + "tullia": "tullia_13" }, "locked": { "lastModified": 1668485534, @@ -9605,18 +11877,18 @@ }, "haskell-nix_12": { "inputs": { - "HTTP": "HTTP_18", - "cabal-32": "cabal-32_18", - "cabal-34": "cabal-34_18", - "cabal-36": "cabal-36_18", - "cardano-shell": "cardano-shell_18", - "flake-compat": "flake-compat_41", - "flake-utils": "flake-utils_86", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_18", + "HTTP": "HTTP_21", + "cabal-32": "cabal-32_21", + "cabal-34": "cabal-34_21", + "cabal-36": "cabal-36_21", + "cardano-shell": "cardano-shell_21", + "flake-compat": "flake-compat_52", + "flake-utils": "flake-utils_100", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_21", "hackage": "hackage_13", - "hpc-coveralls": "hpc-coveralls_18", - "hydra": "hydra_21", - "iserv-proxy": "iserv-proxy_7", + "hpc-coveralls": "hpc-coveralls_21", + "hydra": "hydra_24", + "iserv-proxy": "iserv-proxy_11", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -9624,15 +11896,15 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_18", - "nixpkgs-2105": "nixpkgs-2105_18", - "nixpkgs-2111": "nixpkgs-2111_18", - "nixpkgs-2205": "nixpkgs-2205_14", - "nixpkgs-2211": "nixpkgs-2211_7", - "nixpkgs-unstable": "nixpkgs-unstable_20", - "old-ghc-nix": "old-ghc-nix_18", - "stackage": "stackage_18", - "tullia": "tullia_12" + "nixpkgs-2003": "nixpkgs-2003_21", + "nixpkgs-2105": "nixpkgs-2105_21", + "nixpkgs-2111": "nixpkgs-2111_21", + "nixpkgs-2205": "nixpkgs-2205_18", + "nixpkgs-2211": "nixpkgs-2211_11", + "nixpkgs-unstable": "nixpkgs-unstable_24", + "old-ghc-nix": "old-ghc-nix_21", + "stackage": "stackage_20", + "tullia": "tullia_14" }, "locked": { "lastModified": 1670892685, @@ -9650,14 +11922,14 @@ }, "haskell-nix_13": { "inputs": { - "HTTP": "HTTP_19", - "cabal-32": "cabal-32_19", - "cabal-34": "cabal-34_19", - "cabal-36": "cabal-36_19", - "cardano-shell": "cardano-shell_19", - "flake-compat": "flake-compat_43", - "flake-utils": "flake-utils_90", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_19", + "HTTP": "HTTP_22", + "cabal-32": "cabal-32_22", + "cabal-34": "cabal-34_22", + "cabal-36": "cabal-36_22", + "cardano-shell": "cardano-shell_22", + "flake-compat": "flake-compat_54", + "flake-utils": "flake-utils_104", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_22", "hackage": [ "liqwid-nix", "plutarch", @@ -9665,8 +11937,8 @@ "plutus", "hackage-nix" ], - "hpc-coveralls": "hpc-coveralls_19", - "hydra": "hydra_22", + "hpc-coveralls": "hpc-coveralls_22", + "hydra": "hydra_25", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -9674,13 +11946,13 @@ "plutus", "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_19", - "nixpkgs-2105": "nixpkgs-2105_19", - "nixpkgs-2111": "nixpkgs-2111_19", - "nixpkgs-2205": "nixpkgs-2205_15", - "nixpkgs-unstable": "nixpkgs-unstable_21", - "old-ghc-nix": "old-ghc-nix_19", - "stackage": "stackage_19" + "nixpkgs-2003": "nixpkgs-2003_22", + "nixpkgs-2105": "nixpkgs-2105_22", + "nixpkgs-2111": "nixpkgs-2111_22", + "nixpkgs-2205": "nixpkgs-2205_19", + "nixpkgs-unstable": "nixpkgs-unstable_25", + "old-ghc-nix": "old-ghc-nix_22", + "stackage": "stackage_21" }, "locked": { "lastModified": 1667366313, @@ -9698,43 +11970,45 @@ }, "haskell-nix_2": { "inputs": { - "HTTP": "HTTP_4", - "cabal-32": "cabal-32_4", - "cabal-34": "cabal-34_4", - "cabal-36": "cabal-36_4", - "cardano-shell": "cardano-shell_4", - "flake-utils": "flake-utils_27", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_4", - "hackage": [ + "HTTP": "HTTP_6", + "cabal-32": "cabal-32_6", + "cabal-34": "cabal-34_6", + "cabal-36": "cabal-36_6", + "cardano-shell": "cardano-shell_6", + "flake-utils": "flake-utils_31", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_6", + "hackage": "hackage_2", + "hpc-coveralls": "hpc-coveralls_6", + "nix-tools": "nix-tools", + "nixpkgs": [ "cardano-transaction-lib", "db-sync", "cardano-world", - "hackage" + "bitte-cells", + "cicero", + "haskell-nix", + "nixpkgs-unstable" ], - "hpc-coveralls": "hpc-coveralls_4", - "hydra": "hydra_6", - "nix-tools": "nix-tools_3", - "nixpkgs": [ + "nixpkgs-2003": "nixpkgs-2003_6", + "nixpkgs-2105": "nixpkgs-2105_6", + "nixpkgs-2111": "nixpkgs-2111_6", + "nixpkgs-unstable": [ "cardano-transaction-lib", "db-sync", "cardano-world", - "haskell-nix", - "nixpkgs-unstable" + "bitte-cells", + "cicero", + "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_4", - "nixpkgs-2105": "nixpkgs-2105_4", - "nixpkgs-2111": "nixpkgs-2111_4", - "nixpkgs-2205": "nixpkgs-2205_2", - "nixpkgs-unstable": "nixpkgs-unstable_6", - "old-ghc-nix": "old-ghc-nix_4", - "stackage": "stackage_4" + "old-ghc-nix": "old-ghc-nix_6", + "stackage": "stackage_5" }, "locked": { - "lastModified": 1659439444, - "narHash": "sha256-qUK7OVpM8/piOImpPgzSUvOFHQq19sQpvOSns2nW8es=", + "lastModified": 1646097976, + "narHash": "sha256-EiyrBqayw67dw8pr1XCVU9tIZ+/jzXCQycW1S9a+KFA=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "ee6a6559e16a603677d7cbef7c4fe18ca801b48e", + "rev": "f0308ed1df3ce9f10f9da1a7c0c8591921d0b4e5", "type": "github" }, "original": { @@ -9745,48 +12019,43 @@ }, "haskell-nix_3": { "inputs": { - "HTTP": "HTTP_6", - "cabal-32": "cabal-32_6", - "cabal-34": "cabal-34_6", - "cabal-36": "cabal-36_6", - "cardano-shell": "cardano-shell_6", - "flake-compat": "flake-compat_12", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_6", - "ghc98X": "ghc98X", - "ghc99": "ghc99", + "HTTP": "HTTP_8", + "cabal-32": "cabal-32_8", + "cabal-34": "cabal-34_8", + "cabal-36": "cabal-36_8", + "cardano-shell": "cardano-shell_8", + "flake-utils": "flake-utils_42", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_8", "hackage": [ "cardano-transaction-lib", - "hackage-nix" + "db-sync", + "cardano-world", + "hackage" ], - "hls-1.10": "hls-1.10_2", - "hls-2.0": "hls-2.0", - "hls-2.2": "hls-2.2", - "hls-2.3": "hls-2.3", - "hls-2.4": "hls-2.4", - "hpc-coveralls": "hpc-coveralls_6", - "hydra": "hydra_8", - "iserv-proxy": "iserv-proxy_2", + "hpc-coveralls": "hpc-coveralls_8", + "hydra": "hydra_10", + "nix-tools": "nix-tools_3", "nixpkgs": [ "cardano-transaction-lib", - "nixpkgs" + "db-sync", + "cardano-world", + "haskell-nix", + "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_6", - "nixpkgs-2105": "nixpkgs-2105_6", - "nixpkgs-2111": "nixpkgs-2111_6", - "nixpkgs-2205": "nixpkgs-2205_3", - "nixpkgs-2211": "nixpkgs-2211_2", - "nixpkgs-2305": "nixpkgs-2305", - "nixpkgs-2311": "nixpkgs-2311", - "nixpkgs-unstable": "nixpkgs-unstable_8", - "old-ghc-nix": "old-ghc-nix_6", - "stackage": "stackage_6" + "nixpkgs-2003": "nixpkgs-2003_8", + "nixpkgs-2105": "nixpkgs-2105_8", + "nixpkgs-2111": "nixpkgs-2111_8", + "nixpkgs-2205": "nixpkgs-2205_6", + "nixpkgs-unstable": "nixpkgs-unstable_11", + "old-ghc-nix": "old-ghc-nix_8", + "stackage": "stackage_7" }, "locked": { - "lastModified": 1702774226, - "narHash": "sha256-QUQBV05VimFU0pasJlialCcL/jlCumzaTmCM9+6Ncpk=", + "lastModified": 1659439444, + "narHash": "sha256-qUK7OVpM8/piOImpPgzSUvOFHQq19sQpvOSns2nW8es=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "6ce1c8ab2a6d4af5721b22bd95968439b8c3c307", + "rev": "ee6a6559e16a603677d7cbef7c4fe18ca801b48e", "type": "github" }, "original": { @@ -9797,58 +12066,73 @@ }, "haskell-nix_4": { "inputs": { - "HTTP": "HTTP_7", - "cabal-32": "cabal-32_7", - "cabal-34": "cabal-34_7", - "cabal-36": "cabal-36_7", - "cardano-shell": "cardano-shell_7", - "flake-utils": "flake-utils_33", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_7", - "hackage": "hackage_5", - "hpc-coveralls": "hpc-coveralls_7", - "hydra": "hydra_9", - "nix-tools": "nix-tools_5", + "HTTP": "HTTP_10", + "cabal-32": "cabal-32_10", + "cabal-34": "cabal-34_10", + "cabal-36": "cabal-36_10", + "cardano-shell": "cardano-shell_10", + "flake-compat": "flake-compat_25", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_10", + "hackage": [ + "cardano-transaction-lib", + "hackage-nix" + ], + "hls-1.10": "hls-1.10_6", + "hls-2.0": "hls-2.0_5", + "hls-2.2": "hls-2.2_4", + "hls-2.3": "hls-2.3_4", + "hls-2.4": "hls-2.4_4", + "hls-2.5": "hls-2.5_2", + "hls-2.6": "hls-2.6_2", + "hls-2.7": "hls-2.7_2", + "hls-2.8": "hls-2.8_2", + "hls-2.9": "hls-2.9", + "hpc-coveralls": "hpc-coveralls_10", + "hydra": "hydra_12", + "iserv-proxy": "iserv-proxy_6", "nixpkgs": [ "cardano-transaction-lib", - "kupo-nixos", - "haskell-nix", - "nixpkgs-unstable" + "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_7", - "nixpkgs-2105": "nixpkgs-2105_7", - "nixpkgs-2111": "nixpkgs-2111_7", - "nixpkgs-unstable": "nixpkgs-unstable_9", - "old-ghc-nix": "old-ghc-nix_7", - "stackage": "stackage_7" + "nixpkgs-2003": "nixpkgs-2003_10", + "nixpkgs-2105": "nixpkgs-2105_10", + "nixpkgs-2111": "nixpkgs-2111_10", + "nixpkgs-2205": "nixpkgs-2205_7", + "nixpkgs-2211": "nixpkgs-2211_6", + "nixpkgs-2305": "nixpkgs-2305_5", + "nixpkgs-2311": "nixpkgs-2311_2", + "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-unstable": "nixpkgs-unstable_13", + "old-ghc-nix": "old-ghc-nix_10", + "stackage": "stackage_9" }, "locked": { - "lastModified": 1654219238, - "narHash": "sha256-PMS7uSQjYCjsjUfVidTdKcuNtKNu5VPmeNvxruT72go=", + "lastModified": 1721956799, + "narHash": "sha256-FU09PlekhkuocxDO2UN2aARdUflIGA36VP1EUra4b7c=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "974a61451bb1d41b32090eb51efd7ada026d16d9", + "rev": "ccbd8ed7d4aff11e0507d19dc7c40601487c0bea", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "974a61451bb1d41b32090eb51efd7ada026d16d9", "type": "github" } }, "haskell-nix_5": { "inputs": { - "HTTP": "HTTP_10", - "cabal-32": "cabal-32_10", - "cabal-34": "cabal-34_10", - "cabal-36": "cabal-36_10", - "cardano-shell": "cardano-shell_10", - "flake-compat": "flake-compat_20", - "flake-utils": "flake-utils_41", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_10", + "HTTP": "HTTP_13", + "cabal-32": "cabal-32_13", + "cabal-34": "cabal-34_13", + "cabal-36": "cabal-36_13", + "cardano-shell": "cardano-shell_13", + "flake-compat": "flake-compat_31", + "flake-utils": "flake-utils_55", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_13", "hackage": "hackage_7", - "hpc-coveralls": "hpc-coveralls_10", - "hydra": "hydra_13", + "hpc-coveralls": "hpc-coveralls_13", + "hydra": "hydra_16", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -9856,14 +12140,14 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_10", - "nixpkgs-2105": "nixpkgs-2105_10", - "nixpkgs-2111": "nixpkgs-2111_10", - "nixpkgs-2205": "nixpkgs-2205_6", - "nixpkgs-unstable": "nixpkgs-unstable_12", - "old-ghc-nix": "old-ghc-nix_10", - "stackage": "stackage_10", - "tullia": "tullia_4" + "nixpkgs-2003": "nixpkgs-2003_13", + "nixpkgs-2105": "nixpkgs-2105_13", + "nixpkgs-2111": "nixpkgs-2111_13", + "nixpkgs-2205": "nixpkgs-2205_10", + "nixpkgs-unstable": "nixpkgs-unstable_16", + "old-ghc-nix": "old-ghc-nix_13", + "stackage": "stackage_12", + "tullia": "tullia_6" }, "locked": { "lastModified": 1668485534, @@ -9882,18 +12166,18 @@ }, "haskell-nix_6": { "inputs": { - "HTTP": "HTTP_11", - "cabal-32": "cabal-32_11", - "cabal-34": "cabal-34_11", - "cabal-36": "cabal-36_11", - "cardano-shell": "cardano-shell_11", - "flake-compat": "flake-compat_23", - "flake-utils": "flake-utils_46", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_11", + "HTTP": "HTTP_14", + "cabal-32": "cabal-32_14", + "cabal-34": "cabal-34_14", + "cabal-36": "cabal-36_14", + "cardano-shell": "cardano-shell_14", + "flake-compat": "flake-compat_34", + "flake-utils": "flake-utils_60", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_14", "hackage": "hackage_8", - "hpc-coveralls": "hpc-coveralls_11", - "hydra": "hydra_14", - "iserv-proxy": "iserv-proxy_5", + "hpc-coveralls": "hpc-coveralls_14", + "hydra": "hydra_17", + "iserv-proxy": "iserv-proxy_9", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -9903,15 +12187,15 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_11", - "nixpkgs-2105": "nixpkgs-2105_11", - "nixpkgs-2111": "nixpkgs-2111_11", - "nixpkgs-2205": "nixpkgs-2205_7", - "nixpkgs-2211": "nixpkgs-2211_5", - "nixpkgs-unstable": "nixpkgs-unstable_13", - "old-ghc-nix": "old-ghc-nix_11", - "stackage": "stackage_11", - "tullia": "tullia_5" + "nixpkgs-2003": "nixpkgs-2003_14", + "nixpkgs-2105": "nixpkgs-2105_14", + "nixpkgs-2111": "nixpkgs-2111_14", + "nixpkgs-2205": "nixpkgs-2205_11", + "nixpkgs-2211": "nixpkgs-2211_9", + "nixpkgs-unstable": "nixpkgs-unstable_17", + "old-ghc-nix": "old-ghc-nix_14", + "stackage": "stackage_13", + "tullia": "tullia_7" }, "locked": { "lastModified": 1670892685, @@ -9929,14 +12213,14 @@ }, "haskell-nix_7": { "inputs": { - "HTTP": "HTTP_12", - "cabal-32": "cabal-32_12", - "cabal-34": "cabal-34_12", - "cabal-36": "cabal-36_12", - "cardano-shell": "cardano-shell_12", - "flake-compat": "flake-compat_25", - "flake-utils": "flake-utils_50", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_12", + "HTTP": "HTTP_15", + "cabal-32": "cabal-32_15", + "cabal-34": "cabal-34_15", + "cabal-36": "cabal-36_15", + "cardano-shell": "cardano-shell_15", + "flake-compat": "flake-compat_36", + "flake-utils": "flake-utils_64", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_15", "hackage": [ "hydra-auction-onchain", "liqwid-libs", @@ -9946,8 +12230,8 @@ "plutus", "hackage-nix" ], - "hpc-coveralls": "hpc-coveralls_12", - "hydra": "hydra_15", + "hpc-coveralls": "hpc-coveralls_15", + "hydra": "hydra_18", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -9957,13 +12241,13 @@ "plutus", "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_12", - "nixpkgs-2105": "nixpkgs-2105_12", - "nixpkgs-2111": "nixpkgs-2111_12", - "nixpkgs-2205": "nixpkgs-2205_8", - "nixpkgs-unstable": "nixpkgs-unstable_14", - "old-ghc-nix": "old-ghc-nix_12", - "stackage": "stackage_12" + "nixpkgs-2003": "nixpkgs-2003_15", + "nixpkgs-2105": "nixpkgs-2105_15", + "nixpkgs-2111": "nixpkgs-2111_15", + "nixpkgs-2205": "nixpkgs-2205_12", + "nixpkgs-unstable": "nixpkgs-unstable_18", + "old-ghc-nix": "old-ghc-nix_15", + "stackage": "stackage_14" }, "locked": { "lastModified": 1667366313, @@ -9981,31 +12265,31 @@ }, "haskell-nix_8": { "inputs": { - "HTTP": "HTTP_14", - "cabal-32": "cabal-32_14", - "cabal-34": "cabal-34_14", - "cabal-36": "cabal-36_14", - "cardano-shell": "cardano-shell_14", - "flake-compat": "flake-compat_30", - "flake-utils": "flake-utils_64", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_14", + "HTTP": "HTTP_17", + "cabal-32": "cabal-32_17", + "cabal-34": "cabal-34_17", + "cabal-36": "cabal-36_17", + "cardano-shell": "cardano-shell_17", + "flake-compat": "flake-compat_41", + "flake-utils": "flake-utils_78", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_17", "hackage": "hackage_10", - "hpc-coveralls": "hpc-coveralls_14", - "hydra": "hydra_17", + "hpc-coveralls": "hpc-coveralls_17", + "hydra": "hydra_20", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_14", - "nixpkgs-2105": "nixpkgs-2105_14", - "nixpkgs-2111": "nixpkgs-2111_14", - "nixpkgs-2205": "nixpkgs-2205_10", - "nixpkgs-unstable": "nixpkgs-unstable_16", - "old-ghc-nix": "old-ghc-nix_14", - "stackage": "stackage_14", - "tullia": "tullia_8" + "nixpkgs-2003": "nixpkgs-2003_17", + "nixpkgs-2105": "nixpkgs-2105_17", + "nixpkgs-2111": "nixpkgs-2111_17", + "nixpkgs-2205": "nixpkgs-2205_14", + "nixpkgs-unstable": "nixpkgs-unstable_20", + "old-ghc-nix": "old-ghc-nix_17", + "stackage": "stackage_16", + "tullia": "tullia_10" }, "locked": { "lastModified": 1668485534, @@ -10024,18 +12308,18 @@ }, "haskell-nix_9": { "inputs": { - "HTTP": "HTTP_15", - "cabal-32": "cabal-32_15", - "cabal-34": "cabal-34_15", - "cabal-36": "cabal-36_15", - "cardano-shell": "cardano-shell_15", - "flake-compat": "flake-compat_33", - "flake-utils": "flake-utils_69", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_15", + "HTTP": "HTTP_18", + "cabal-32": "cabal-32_18", + "cabal-34": "cabal-34_18", + "cabal-36": "cabal-36_18", + "cardano-shell": "cardano-shell_18", + "flake-compat": "flake-compat_44", + "flake-utils": "flake-utils_83", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_18", "hackage": "hackage_11", - "hpc-coveralls": "hpc-coveralls_15", - "hydra": "hydra_18", - "iserv-proxy": "iserv-proxy_6", + "hpc-coveralls": "hpc-coveralls_18", + "hydra": "hydra_21", + "iserv-proxy": "iserv-proxy_10", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -10044,15 +12328,15 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_15", - "nixpkgs-2105": "nixpkgs-2105_15", - "nixpkgs-2111": "nixpkgs-2111_15", - "nixpkgs-2205": "nixpkgs-2205_11", - "nixpkgs-2211": "nixpkgs-2211_6", - "nixpkgs-unstable": "nixpkgs-unstable_17", - "old-ghc-nix": "old-ghc-nix_15", - "stackage": "stackage_15", - "tullia": "tullia_9" + "nixpkgs-2003": "nixpkgs-2003_18", + "nixpkgs-2105": "nixpkgs-2105_18", + "nixpkgs-2111": "nixpkgs-2111_18", + "nixpkgs-2205": "nixpkgs-2205_15", + "nixpkgs-2211": "nixpkgs-2211_10", + "nixpkgs-unstable": "nixpkgs-unstable_21", + "old-ghc-nix": "old-ghc-nix_18", + "stackage": "stackage_17", + "tullia": "tullia_11" }, "locked": { "lastModified": 1670892685, @@ -10070,43 +12354,52 @@ }, "haskellNix": { "inputs": { - "HTTP": "HTTP", - "cabal-32": "cabal-32", - "cabal-34": "cabal-34", - "cabal-36": "cabal-36", - "cardano-shell": "cardano-shell", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "HTTP": "HTTP_2", + "cabal-32": "cabal-32_2", + "cabal-34": "cabal-34_2", + "cabal-36": "cabal-36_2", + "cardano-shell": "cardano-shell_2", + "flake-compat": "flake-compat_5", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", + "ghc98X": "ghc98X", + "ghc99": "ghc99", "hackage": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-db-sync", "hackageNix" ], - "hls-1.10": "hls-1.10", - "hpc-coveralls": "hpc-coveralls", - "hydra": "hydra", - "iserv-proxy": "iserv-proxy", + "hls-1.10": "hls-1.10_2", + "hls-2.0": "hls-2.0_2", + "hls-2.2": "hls-2.2", + "hls-2.3": "hls-2.3", + "hls-2.4": "hls-2.4", + "hpc-coveralls": "hpc-coveralls_2", + "hydra": "hydra_2", + "iserv-proxy": "iserv-proxy_2", "nixpkgs": [ "cardano-transaction-lib", - "cardano-node", - "nixpkgs" + "cardano-nix", + "cardano-db-sync", + "haskellNix", + "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003", - "nixpkgs-2105": "nixpkgs-2105", - "nixpkgs-2111": "nixpkgs-2111", - "nixpkgs-2205": "nixpkgs-2205", - "nixpkgs-2211": "nixpkgs-2211", - "nixpkgs-unstable": "nixpkgs-unstable", - "old-ghc-nix": "old-ghc-nix", + "nixpkgs-2003": "nixpkgs-2003_2", + "nixpkgs-2105": "nixpkgs-2105_2", + "nixpkgs-2111": "nixpkgs-2111_2", + "nixpkgs-2205": "nixpkgs-2205_2", + "nixpkgs-2211": "nixpkgs-2211_2", + "nixpkgs-2305": "nixpkgs-2305_2", + "nixpkgs-unstable": "nixpkgs-unstable_3", + "old-ghc-nix": "old-ghc-nix_2", "stackage": "stackage" }, "locked": { - "lastModified": 1685495397, - "narHash": "sha256-BwbWroS1Qm8BiHatG5+iHMHN5U6kqOccewBROUYuMKw=", + "lastModified": 1701053834, + "narHash": "sha256-4sH4//POARjeKJv1mu8aU4W4A28GYqrj9KB3PqusHis=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "d07c42cdb1cf88d0cab27d3090b00cb3899643c9", + "rev": "7c491c55157208575c70c7b8434e9d4a1cf173a6", "type": "github" }, "original": { @@ -10122,32 +12415,40 @@ "cabal-34": "cabal-34_3", "cabal-36": "cabal-36_3", "cardano-shell": "cardano-shell_3", - "flake-utils": "flake-utils_26", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_5", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", - "hackage": "hackage_2", + "hackage": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "hackageNix" + ], + "hls-1.10": "hls-1.10_3", "hpc-coveralls": "hpc-coveralls_3", - "hydra": "hydra_5", - "nix-tools": "nix-tools_2", + "hydra": "hydra_3", + "iserv-proxy": "iserv-proxy_3", "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", - "cardano-wallet", + "cardano-nix", + "cardano-node-8.1.1", "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003_3", "nixpkgs-2105": "nixpkgs-2105_3", "nixpkgs-2111": "nixpkgs-2111_3", - "nixpkgs-unstable": "nixpkgs-unstable_5", + "nixpkgs-2205": "nixpkgs-2205_3", + "nixpkgs-2211": "nixpkgs-2211_3", + "nixpkgs-unstable": "nixpkgs-unstable_4", "old-ghc-nix": "old-ghc-nix_3", - "stackage": "stackage_3" + "stackage": "stackage_2" }, "locked": { - "lastModified": 1655369909, - "narHash": "sha256-Z3d17WvaXY2kWdfsOE6yPKViQ1RBfGi4d7XZgXA/j2I=", + "lastModified": 1685495397, + "narHash": "sha256-BwbWroS1Qm8BiHatG5+iHMHN5U6kqOccewBROUYuMKw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "5a310b0b3904d9b90239390eb2dfb59e4dcb0d96", + "rev": "d07c42cdb1cf88d0cab27d3090b00cb3899643c9", "type": "github" }, "original": { @@ -10157,37 +12458,110 @@ } }, "haskellNix_3": { + "inputs": { + "HTTP": "HTTP_4", + "cabal-32": "cabal-32_4", + "cabal-34": "cabal-34_4", + "cabal-36": "cabal-36_4", + "cardano-shell": "cardano-shell_4", + "flake-compat": "flake-compat_11", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_4", + "ghc98X": "ghc98X_2", + "ghc99": "ghc99_2", + "hackage": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "hackageNix" + ], + "hls-1.10": "hls-1.10_4", + "hls-2.0": "hls-2.0_3", + "hls-2.2": "hls-2.2_2", + "hls-2.3": "hls-2.3_2", + "hls-2.4": "hls-2.4_2", + "hpc-coveralls": "hpc-coveralls_4", + "hydra": "hydra_4", + "iserv-proxy": "iserv-proxy_4", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "nixpkgs" + ], + "nixpkgs-2003": "nixpkgs-2003_4", + "nixpkgs-2105": "nixpkgs-2105_4", + "nixpkgs-2111": "nixpkgs-2111_4", + "nixpkgs-2205": "nixpkgs-2205_4", + "nixpkgs-2211": "nixpkgs-2211_4", + "nixpkgs-2305": "nixpkgs-2305_3", + "nixpkgs-unstable": "nixpkgs-unstable_5", + "old-ghc-nix": "old-ghc-nix_4", + "stackage": "stackage_3" + }, + "locked": { + "lastModified": 1700441391, + "narHash": "sha256-oJqP1AUskUvr3GNUH97eKwaIUHdYgENS2kQ7GI9RI+c=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "3b6056f3866f88d1d16eaeb2e810d3ac0df0e7cd", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "haskellNix_4": { "inputs": { "HTTP": "HTTP_5", "cabal-32": "cabal-32_5", "cabal-34": "cabal-34_5", "cabal-36": "cabal-36_5", "cardano-shell": "cardano-shell_5", - "flake-utils": "flake-utils_32", + "flake-compat": "flake-compat_16", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_5", - "hackage": "hackage_4", + "ghc910X": "ghc910X", + "ghc911": "ghc911", + "hackage": [ + "cardano-transaction-lib", + "cardano-node", + "hackageNix" + ], + "hls-1.10": "hls-1.10_5", + "hls-2.0": "hls-2.0_4", + "hls-2.2": "hls-2.2_3", + "hls-2.3": "hls-2.3_3", + "hls-2.4": "hls-2.4_3", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", + "hls-2.7": "hls-2.7", + "hls-2.8": "hls-2.8", "hpc-coveralls": "hpc-coveralls_5", - "hydra": "hydra_7", - "nix-tools": "nix-tools_4", + "hydra": "hydra_5", + "iserv-proxy": "iserv-proxy_5", "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "haskellNix", - "nixpkgs-unstable" + "cardano-node", + "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003_5", "nixpkgs-2105": "nixpkgs-2105_5", "nixpkgs-2111": "nixpkgs-2111_5", - "nixpkgs-unstable": "nixpkgs-unstable_7", + "nixpkgs-2205": "nixpkgs-2205_5", + "nixpkgs-2211": "nixpkgs-2211_5", + "nixpkgs-2305": "nixpkgs-2305_4", + "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-unstable": "nixpkgs-unstable_6", "old-ghc-nix": "old-ghc-nix_5", - "stackage": "stackage_5" + "stackage": "stackage_4" }, "locked": { - "lastModified": 1650936156, - "narHash": "sha256-B58b4OCSc6ohRjGEdbQ78r+TK/OZYsBXION90kfQDC4=", + "lastModified": 1718797200, + "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "9a502b8c8aac4d7b8033bc9affb87fd03d4740fc", + "rev": "cb139fa956158397aa398186bb32dd26f7318784", "type": "github" }, "original": { @@ -10196,54 +12570,39 @@ "type": "github" } }, - "haskellNix_4": { + "haskellNix_5": { "inputs": { - "HTTP": "HTTP_8", - "cabal-32": "cabal-32_8", - "cabal-34": "cabal-34_8", - "cabal-36": "cabal-36_8", - "cardano-shell": "cardano-shell_8", - "flake-compat": "flake-compat_17", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_8", - "ghc910X": "ghc910X", - "ghc911": "ghc911", - "hackage": [ - "hydra", - "cardano-node", - "hackageNix" - ], - "hls-1.10": "hls-1.10_3", - "hls-2.0": "hls-2.0_2", - "hls-2.2": "hls-2.2_2", - "hls-2.3": "hls-2.3_2", - "hls-2.4": "hls-2.4_2", - "hls-2.5": "hls-2.5", - "hls-2.6": "hls-2.6", - "hpc-coveralls": "hpc-coveralls_8", - "hydra": "hydra_11", - "iserv-proxy": "iserv-proxy_3", + "HTTP": "HTTP_7", + "cabal-32": "cabal-32_7", + "cabal-34": "cabal-34_7", + "cabal-36": "cabal-36_7", + "cardano-shell": "cardano-shell_7", + "flake-utils": "flake-utils_41", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_7", + "hackage": "hackage_3", + "hpc-coveralls": "hpc-coveralls_7", + "hydra": "hydra_9", + "nix-tools": "nix-tools_2", "nixpkgs": [ - "hydra", - "cardano-node", + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "cardano-wallet", "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_8", - "nixpkgs-2105": "nixpkgs-2105_8", - "nixpkgs-2111": "nixpkgs-2111_8", - "nixpkgs-2205": "nixpkgs-2205_4", - "nixpkgs-2211": "nixpkgs-2211_3", - "nixpkgs-2305": "nixpkgs-2305_2", - "nixpkgs-2311": "nixpkgs-2311_2", + "nixpkgs-2003": "nixpkgs-2003_7", + "nixpkgs-2105": "nixpkgs-2105_7", + "nixpkgs-2111": "nixpkgs-2111_7", "nixpkgs-unstable": "nixpkgs-unstable_10", - "old-ghc-nix": "old-ghc-nix_8", - "stackage": "stackage_8" + "old-ghc-nix": "old-ghc-nix_7", + "stackage": "stackage_6" }, "locked": { - "lastModified": 1712278203, - "narHash": "sha256-L4eFUxnID2EYYtONE3fmZxPQdgPlB6XbAfIjlZi4c+U=", + "lastModified": 1655369909, + "narHash": "sha256-Z3d17WvaXY2kWdfsOE6yPKViQ1RBfGi4d7XZgXA/j2I=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "57938c23a4d40e5a746f05f2b71af11a7273a133", + "rev": "5a310b0b3904d9b90239390eb2dfb59e4dcb0d96", "type": "github" }, "original": { @@ -10252,45 +12611,141 @@ "type": "github" } }, - "haskellNix_5": { + "haskellNix_6": { "inputs": { "HTTP": "HTTP_9", "cabal-32": "cabal-32_9", "cabal-34": "cabal-34_9", "cabal-36": "cabal-36_9", "cardano-shell": "cardano-shell_9", - "flake-compat": "flake-compat_19", + "flake-utils": "flake-utils_47", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_9", - "ghc910X": "ghc910X_2", - "ghc911": "ghc911_2", - "hackage": "hackage_6", - "hls-1.10": "hls-1.10_4", - "hls-2.0": "hls-2.0_3", - "hls-2.2": "hls-2.2_3", - "hls-2.3": "hls-2.3_3", - "hls-2.4": "hls-2.4_3", - "hls-2.5": "hls-2.5_2", - "hls-2.6": "hls-2.6_2", - "hls-2.7": "hls-2.7", - "hls-2.8": "hls-2.8", + "hackage": "hackage_5", "hpc-coveralls": "hpc-coveralls_9", - "hydra": "hydra_12", - "iserv-proxy": "iserv-proxy_4", + "hydra": "hydra_11", + "nix-tools": "nix-tools_4", "nixpkgs": [ - "hydra", + "cardano-transaction-lib", + "db-sync", "haskellNix", "nixpkgs-unstable" ], "nixpkgs-2003": "nixpkgs-2003_9", "nixpkgs-2105": "nixpkgs-2105_9", "nixpkgs-2111": "nixpkgs-2111_9", - "nixpkgs-2205": "nixpkgs-2205_5", - "nixpkgs-2211": "nixpkgs-2211_4", - "nixpkgs-2305": "nixpkgs-2305_3", - "nixpkgs-2311": "nixpkgs-2311_3", - "nixpkgs-unstable": "nixpkgs-unstable_11", + "nixpkgs-unstable": "nixpkgs-unstable_12", "old-ghc-nix": "old-ghc-nix_9", - "stackage": "stackage_9" + "stackage": "stackage_8" + }, + "locked": { + "lastModified": 1650936156, + "narHash": "sha256-B58b4OCSc6ohRjGEdbQ78r+TK/OZYsBXION90kfQDC4=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "9a502b8c8aac4d7b8033bc9affb87fd03d4740fc", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "haskellNix_7": { + "inputs": { + "HTTP": "HTTP_11", + "cabal-32": "cabal-32_11", + "cabal-34": "cabal-34_11", + "cabal-36": "cabal-36_11", + "cardano-shell": "cardano-shell_11", + "flake-compat": "flake-compat_28", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_11", + "ghc910X": "ghc910X_2", + "ghc911": "ghc911_2", + "hackage": [ + "hydra", + "cardano-node", + "hackageNix" + ], + "hls-1.10": "hls-1.10_7", + "hls-2.0": "hls-2.0_6", + "hls-2.2": "hls-2.2_5", + "hls-2.3": "hls-2.3_5", + "hls-2.4": "hls-2.4_5", + "hls-2.5": "hls-2.5_3", + "hls-2.6": "hls-2.6_3", + "hpc-coveralls": "hpc-coveralls_11", + "hydra": "hydra_14", + "iserv-proxy": "iserv-proxy_7", + "nixpkgs": [ + "hydra", + "cardano-node", + "nixpkgs" + ], + "nixpkgs-2003": "nixpkgs-2003_11", + "nixpkgs-2105": "nixpkgs-2105_11", + "nixpkgs-2111": "nixpkgs-2111_11", + "nixpkgs-2205": "nixpkgs-2205_8", + "nixpkgs-2211": "nixpkgs-2211_7", + "nixpkgs-2305": "nixpkgs-2305_6", + "nixpkgs-2311": "nixpkgs-2311_3", + "nixpkgs-unstable": "nixpkgs-unstable_14", + "old-ghc-nix": "old-ghc-nix_11", + "stackage": "stackage_10" + }, + "locked": { + "lastModified": 1712278203, + "narHash": "sha256-L4eFUxnID2EYYtONE3fmZxPQdgPlB6XbAfIjlZi4c+U=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "57938c23a4d40e5a746f05f2b71af11a7273a133", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "haskellNix_8": { + "inputs": { + "HTTP": "HTTP_12", + "cabal-32": "cabal-32_12", + "cabal-34": "cabal-34_12", + "cabal-36": "cabal-36_12", + "cardano-shell": "cardano-shell_12", + "flake-compat": "flake-compat_30", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_12", + "ghc910X": "ghc910X_3", + "ghc911": "ghc911_3", + "hackage": "hackage_6", + "hls-1.10": "hls-1.10_8", + "hls-2.0": "hls-2.0_7", + "hls-2.2": "hls-2.2_6", + "hls-2.3": "hls-2.3_6", + "hls-2.4": "hls-2.4_6", + "hls-2.5": "hls-2.5_4", + "hls-2.6": "hls-2.6_4", + "hls-2.7": "hls-2.7_3", + "hls-2.8": "hls-2.8_3", + "hpc-coveralls": "hpc-coveralls_12", + "hydra": "hydra_15", + "iserv-proxy": "iserv-proxy_8", + "nixpkgs": [ + "hydra", + "haskellNix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003_12", + "nixpkgs-2105": "nixpkgs-2105_12", + "nixpkgs-2111": "nixpkgs-2111_12", + "nixpkgs-2205": "nixpkgs-2205_9", + "nixpkgs-2211": "nixpkgs-2211_8", + "nixpkgs-2305": "nixpkgs-2305_7", + "nixpkgs-2311": "nixpkgs-2311_4", + "nixpkgs-unstable": "nixpkgs-unstable_15", + "old-ghc-nix": "old-ghc-nix_12", + "stackage": "stackage_11" }, "locked": { "lastModified": 1716166225, @@ -10306,19 +12761,19 @@ "type": "github" } }, - "haskellNix_6": { + "haskellNix_9": { "inputs": { - "HTTP": "HTTP_13", - "cabal-32": "cabal-32_13", - "cabal-34": "cabal-34_13", - "cabal-36": "cabal-36_13", - "cardano-shell": "cardano-shell_13", - "flake-compat": "flake-compat_28", - "flake-utils": "flake-utils_59", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_13", + "HTTP": "HTTP_16", + "cabal-32": "cabal-32_16", + "cabal-34": "cabal-34_16", + "cabal-36": "cabal-36_16", + "cardano-shell": "cardano-shell_16", + "flake-compat": "flake-compat_39", + "flake-utils": "flake-utils_73", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_16", "hackage": "hackage_9", - "hpc-coveralls": "hpc-coveralls_13", - "hydra": "hydra_16", + "hpc-coveralls": "hpc-coveralls_16", + "hydra": "hydra_19", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -10326,14 +12781,14 @@ "haskellNix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003_13", - "nixpkgs-2105": "nixpkgs-2105_13", - "nixpkgs-2111": "nixpkgs-2111_13", - "nixpkgs-2205": "nixpkgs-2205_9", - "nixpkgs-unstable": "nixpkgs-unstable_15", - "old-ghc-nix": "old-ghc-nix_13", - "stackage": "stackage_13", - "tullia": "tullia_7" + "nixpkgs-2003": "nixpkgs-2003_16", + "nixpkgs-2105": "nixpkgs-2105_16", + "nixpkgs-2111": "nixpkgs-2111_16", + "nixpkgs-2205": "nixpkgs-2205_13", + "nixpkgs-unstable": "nixpkgs-unstable_19", + "old-ghc-nix": "old-ghc-nix_16", + "stackage": "stackage_15", + "tullia": "tullia_9" }, "locked": { "lastModified": 1668485534, @@ -10351,7 +12806,50 @@ }, "haumea": { "inputs": { - "nixpkgs": "nixpkgs_78" + "nixpkgs": "nixpkgs_28" + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, + "haumea_2": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "lib" + ] + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, + "haumea_3": { + "inputs": { + "nixpkgs": "nixpkgs_106" }, "locked": { "lastModified": 1685133229, @@ -10466,11 +12964,11 @@ }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_10", + "flake-parts": "flake-parts_15", "haskell-flake": "haskell-flake_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_89", - "pre-commit-hooks-nix": "pre-commit-hooks-nix" + "nixpkgs": "nixpkgs_117", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_2" }, "locked": { "lastModified": 1678446614, @@ -10487,11 +12985,11 @@ }, "hercules-ci-agent_2": { "inputs": { - "flake-parts": "flake-parts_15", + "flake-parts": "flake-parts_20", "haskell-flake": "haskell-flake_4", "nix-darwin": "nix-darwin_2", - "nixpkgs": "nixpkgs_111", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_3" + "nixpkgs": "nixpkgs_139", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_4" }, "locked": { "lastModified": 1678446614, @@ -10508,11 +13006,11 @@ }, "hercules-ci-agent_3": { "inputs": { - "flake-parts": "flake-parts_20", + "flake-parts": "flake-parts_25", "haskell-flake": "haskell-flake_6", "nix-darwin": "nix-darwin_3", - "nixpkgs": "nixpkgs_128", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_5" + "nixpkgs": "nixpkgs_156", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_6" }, "locked": { "lastModified": 1678446614, @@ -10529,15 +13027,43 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_70" + "flake-parts": [ + "cardano-transaction-lib", + "cardano-nix", + "flake-parts" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710396488, + "narHash": "sha256-yniBB5i1un44uzR4+luTWvZ6uGvsHSYIBiDZ8Xox4nQ=", + "owner": "mlabs-haskell", + "repo": "hercules-ci-effects", + "rev": "f5ed263ab0585dfb7b067301419fb80d64e8c021", + "type": "github" + }, + "original": { + "owner": "mlabs-haskell", + "ref": "push-cache-effect", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "hercules-ci-effects_2": { + "inputs": { + "flake-parts": "flake-parts_7", + "nixpkgs": "nixpkgs_99" }, "locked": { - "lastModified": 1701009247, - "narHash": "sha256-GuX16rzRze2y7CsewJLTV6qXkXWyEwp6VCZXi8HLruU=", + "lastModified": 1719226092, + "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "31b6cd7569191bfcd0a548575b0e2ef953ed7d09", + "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", "type": "github" }, "original": { @@ -10546,11 +13072,11 @@ "type": "github" } }, - "hercules-ci-effects_2": { + "hercules-ci-effects_3": { "inputs": { - "flake-parts": "flake-parts_9", + "flake-parts": "flake-parts_14", "hercules-ci-agent": "hercules-ci-agent", - "nixpkgs": "nixpkgs_90" + "nixpkgs": "nixpkgs_118" }, "locked": { "lastModified": 1681898675, @@ -10566,11 +13092,11 @@ "type": "github" } }, - "hercules-ci-effects_3": { + "hercules-ci-effects_4": { "inputs": { - "flake-parts": "flake-parts_14", + "flake-parts": "flake-parts_19", "hercules-ci-agent": "hercules-ci-agent_2", - "nixpkgs": "nixpkgs_112" + "nixpkgs": "nixpkgs_140" }, "locked": { "lastModified": 1681898675, @@ -10586,11 +13112,11 @@ "type": "github" } }, - "hercules-ci-effects_4": { + "hercules-ci-effects_5": { "inputs": { - "flake-parts": "flake-parts_19", + "flake-parts": "flake-parts_24", "hercules-ci-agent": "hercules-ci-agent_3", - "nixpkgs": "nixpkgs_129" + "nixpkgs": "nixpkgs_157" }, "locked": { "lastModified": 1681898675, @@ -10691,1137 +13217,1126 @@ "type": "github" } }, - "hls-2.0": { + "hls-1.10_5": { "flake": false, "locked": { - "lastModified": 1687698105, - "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "783905f211ac63edf982dd1889c671653327e441", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.0.0.1", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.0_2": { + "hls-1.10_6": { "flake": false, "locked": { - "lastModified": 1687698105, - "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "783905f211ac63edf982dd1889c671653327e441", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.0.0.1", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.0_3": { + "hls-1.10_7": { "flake": false, "locked": { - "lastModified": 1687698105, - "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "783905f211ac63edf982dd1889c671653327e441", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.0.0.1", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.2": { + "hls-1.10_8": { "flake": false, "locked": { - "lastModified": 1693064058, - "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.2.0.0", + "ref": "1.10.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.2_2": { + "hls-2.0": { "flake": false, "locked": { - "lastModified": 1693064058, - "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.2.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.2_3": { + "hls-2.0_2": { "flake": false, "locked": { - "lastModified": 1693064058, - "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.2.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.3": { + "hls-2.0_3": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.3_2": { + "hls-2.0_4": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.3_3": { + "hls-2.0_5": { "flake": false, "locked": { - "lastModified": 1695910642, - "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.3.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4": { + "hls-2.0_6": { "flake": false, "locked": { - "lastModified": 1696939266, - "narHash": "sha256-VOMf5+kyOeOmfXTHlv4LNFJuDGa7G3pDnOxtzYR40IU=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "362fdd1293efb4b82410b676ab1273479f6d17ee", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.0", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4_2": { + "hls-2.0_7": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "783905f211ac63edf982dd1889c671653327e441", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.0.0.1", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.4_3": { + "hls-2.2": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.5": { + "hls-2.2_2": { "flake": false, "locked": { - "lastModified": 1701080174, - "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.5.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.5_2": { + "hls-2.2_3": { "flake": false, "locked": { - "lastModified": 1701080174, - "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.5.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.6": { + "hls-2.2_4": { "flake": false, "locked": { - "lastModified": 1705325287, - "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.6.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.6_2": { + "hls-2.2_5": { "flake": false, "locked": { - "lastModified": 1705325287, - "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.6.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.7": { + "hls-2.2_6": { "flake": false, "locked": { - "lastModified": 1708965829, - "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.7.0.0", + "ref": "2.2.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hls-2.8": { + "hls-2.3": { "flake": false, "locked": { - "lastModified": 1715153580, - "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.8.0.0", + "ref": "2.3.0.0", "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls": { + "hls-2.3_2": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_10": { + "hls-2.3_3": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_11": { + "hls-2.3_4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_12": { + "hls-2.3_5": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_13": { + "hls-2.3_6": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_14": { + "hls-2.4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1696939266, + "narHash": "sha256-VOMf5+kyOeOmfXTHlv4LNFJuDGa7G3pDnOxtzYR40IU=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "362fdd1293efb4b82410b676ab1273479f6d17ee", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_15": { + "hls-2.4_2": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1696939266, + "narHash": "sha256-VOMf5+kyOeOmfXTHlv4LNFJuDGa7G3pDnOxtzYR40IU=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "362fdd1293efb4b82410b676ab1273479f6d17ee", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_16": { + "hls-2.4_3": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_17": { + "hls-2.4_4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_18": { + "hls-2.4_5": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_19": { + "hls-2.4_6": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_2": { + "hls-2.5": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_3": { + "hls-2.5_2": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_4": { + "hls-2.5_3": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_5": { + "hls-2.5_4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_6": { + "hls-2.6": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_7": { + "hls-2.6_2": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_8": { + "hls-2.6_3": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hpc-coveralls_9": { + "hls-2.6_4": { "flake": false, "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", "type": "github" }, "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hydra": { - "inputs": { - "nix": "nix", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.7": { + "flake": false, "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra-auction-onchain": { - "inputs": { - "flake-parts": "flake-parts_6", - "liqwid-libs": "liqwid-libs", - "liqwid-nix": "liqwid-nix_2", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "nixpkgs" - ], - "nixpkgs-latest": "nixpkgs-latest_2" - }, + "hls-2.7_2": { + "flake": false, "locked": { - "lastModified": 1714135801, - "narHash": "sha256-Slss0d/aTXpjH8fi1xSwByX9XxAfX8DgDtuTS2HE1Wg=", - "owner": "mlabs-haskell", - "repo": "hydra-auction-onchain", - "rev": "706a085d1409d1f8cf9c6d3c533bd0c39d240e4d", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "mlabs-haskell", - "ref": "dshuiski/delegate-info", - "repo": "hydra-auction-onchain", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hydra_10": { - "inputs": { - "CHaP": "CHaP_5", - "cardano-node": "cardano-node_3", - "flake-parts": "flake-parts_4", - "haskellNix": "haskellNix_5", - "hls": "hls", - "iohk-nix": "iohk-nix_4", - "lint-utils": "lint-utils", - "mithril": "mithril", - "nix-npm-buildpackage": "nix-npm-buildpackage", - "nixpkgs": [ - "hydra", - "haskellNix", - "nixpkgs" - ] - }, + "hls-2.7_3": { + "flake": false, "locked": { - "lastModified": 1717768588, - "narHash": "sha256-ProQnLcSelem2RHrXa5bojt5dlBZmMNT1waR6peiCQQ=", - "owner": "input-output-hk", - "repo": "hydra", - "rev": "4fed4625f321d89b483c82f55252d24da63191c7", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "hydra", - "rev": "4fed4625f321d89b483c82f55252d24da63191c7", + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", "type": "github" } }, - "hydra_11": { - "inputs": { - "nix": "nix_17", - "nixpkgs": [ - "hydra", - "cardano-node", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.8": { + "flake": false, "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra_12": { - "inputs": { - "nix": "nix_18", - "nixpkgs": [ - "hydra", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.8_2": { + "flake": false, "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra_13": { - "inputs": { - "nix": "nix_19", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.8_3": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra_14": { - "inputs": { - "nix": "nix_20", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hls-2.9": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1718469202, + "narHash": "sha256-THXSz+iwB1yQQsr/PY151+2GvtoJnTIB2pIQ4OzfjD4=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "40891bccb235ebacce020b598b083eab9dda80f1", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "haskell", + "ref": "2.9.0.0", + "repo": "haskell-language-server", + "type": "github" } }, - "hydra_15": { - "inputs": { - "nix": "nix_21", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_16": { - "inputs": { - "nix": "nix_22", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_10": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_17": { - "inputs": { - "nix": "nix_23", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] + "hpc-coveralls_11": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_12": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_18": { - "inputs": { - "nix": "nix_24", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_13": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_19": { - "inputs": { - "nix": "nix_25", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_14": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_2": { - "inputs": { - "nix": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "capsules", - "bitte", - "nix" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "capsules", - "bitte", - "nixpkgs" - ] - }, + "hpc-coveralls_15": { + "flake": false, "locked": { - "lastModified": 1631062883, - "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", - "owner": "kreisys", - "repo": "hydra", - "rev": "785326948be4b1cc2ce77435c806521565e9af45", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "owner": "kreisys", - "ref": "hydra-server-includes", - "repo": "hydra", + "owner": "sevanspowell", + "repo": "hpc-coveralls", "type": "github" } }, - "hydra_20": { - "inputs": { - "nix": "nix_26", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_16": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_21": { - "inputs": { - "nix": "nix_27", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_17": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_22": { - "inputs": { - "nix": "nix_28", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, + "hpc-coveralls_18": { + "flake": false, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", - "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" } }, - "hydra_3": { - "inputs": { - "nix": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "nix" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "nixpkgs" - ] - }, + "hpc-coveralls_19": { + "flake": false, "locked": { - "lastModified": 1631062883, - "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", - "owner": "kreisys", - "repo": "hydra", - "rev": "785326948be4b1cc2ce77435c806521565e9af45", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "owner": "kreisys", - "ref": "hydra-server-includes", - "repo": "hydra", + "owner": "sevanspowell", + "repo": "hpc-coveralls", "type": "github" } }, - "hydra_4": { - "inputs": { - "nix": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "capsules", - "bitte", - "nix" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "capsules", - "bitte", - "nixpkgs" - ] - }, + "hpc-coveralls_2": { + "flake": false, "locked": { - "lastModified": 1631062883, - "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", - "owner": "kreisys", - "repo": "hydra", - "rev": "785326948be4b1cc2ce77435c806521565e9af45", + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", "type": "github" }, "original": { - "owner": "kreisys", - "ref": "hydra-server-includes", - "repo": "hydra", + "owner": "sevanspowell", + "repo": "hpc-coveralls", "type": "github" } }, - "hydra_5": { + "hpc-coveralls_20": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_21": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_22": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_3": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_4": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_5": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_6": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_7": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_8": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hpc-coveralls_9": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { "inputs": { - "nix": "nix_12", + "nix": "nix", "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", - "cardano-wallet", - "haskellNix", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "haskell-nix", "hydra", "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { @@ -11829,9 +14344,36 @@ "type": "indirect" } }, - "hydra_6": { + "hydra-auction-onchain": { "inputs": { - "nix": "nix_13", + "flake-parts": "flake-parts_11", + "liqwid-libs": "liqwid-libs", + "liqwid-nix": "liqwid-nix_2", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "nixpkgs" + ], + "nixpkgs-latest": "nixpkgs-latest_2" + }, + "locked": { + "lastModified": 1714135801, + "narHash": "sha256-Slss0d/aTXpjH8fi1xSwByX9XxAfX8DgDtuTS2HE1Wg=", + "owner": "mlabs-haskell", + "repo": "hydra-auction-onchain", + "rev": "706a085d1409d1f8cf9c6d3c533bd0c39d240e4d", + "type": "github" + }, + "original": { + "owner": "mlabs-haskell", + "ref": "dshuiski/delegate-info", + "repo": "hydra-auction-onchain", + "type": "github" + } + }, + "hydra_10": { + "inputs": { + "nix": "nix_18", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -11855,9 +14397,9 @@ "type": "indirect" } }, - "hydra_7": { + "hydra_11": { "inputs": { - "nix": "nix_14", + "nix": "nix_19", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -11880,9 +14422,9 @@ "type": "indirect" } }, - "hydra_8": { + "hydra_12": { "inputs": { - "nix": "nix_15", + "nix": "nix_20", "nixpkgs": [ "cardano-transaction-lib", "haskell-nix", @@ -11904,6895 +14446,9304 @@ "type": "indirect" } }, - "hydra_9": { + "hydra_13": { "inputs": { - "nix": "nix_16", + "CHaP": "CHaP_6", + "cardano-node": "cardano-node_3", + "flake-parts": "flake-parts_9", + "haskellNix": "haskellNix_8", + "hls": "hls", + "iohk-nix": "iohk-nix_4", + "lint-utils": "lint-utils", + "mithril": "mithril", + "nix-npm-buildpackage": "nix-npm-buildpackage", "nixpkgs": [ - "cardano-transaction-lib", - "kupo-nixos", - "haskell-nix", "hydra", - "nix", + "haskellNix", "nixpkgs" ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", - "owner": "NixOS", + "lastModified": 1717768588, + "narHash": "sha256-ProQnLcSelem2RHrXa5bojt5dlBZmMNT1waR6peiCQQ=", + "owner": "input-output-hk", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "4fed4625f321d89b483c82f55252d24da63191c7", "type": "github" }, "original": { - "id": "hydra", - "type": "indirect" + "owner": "input-output-hk", + "repo": "hydra", + "rev": "4fed4625f321d89b483c82f55252d24da63191c7", + "type": "github" } }, - "incl": { + "hydra_14": { "inputs": { - "nixlib": [ - "cardano-transaction-lib", + "nix": "nix_21", + "nixpkgs": [ + "hydra", "cardano-node", - "tullia", - "std", + "haskellNix", + "hydra", + "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "divnix", - "repo": "incl", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "incl_2": { + "hydra_15": { "inputs": { - "nixlib": [ + "nix": "nix_22", + "nixpkgs": [ "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", + "haskellNix", + "hydra", + "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "divnix", - "repo": "incl", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "incl_3": { + "hydra_16": { "inputs": { - "nixlib": [ + "nix": "nix_23", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", "hydra", - "cardano-node", - "std", - "haumea", + "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "divnix", - "repo": "incl", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive": { + "hydra_17": { "inputs": { - "stdlib": "stdlib" + "nix": "nix_24", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_10": { + "hydra_18": { "inputs": { - "stdlib": "stdlib_10" + "nix": "nix_25", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_11": { + "hydra_19": { "inputs": { - "stdlib": "stdlib_11" + "nix": "nix_26", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_2": { + "hydra_2": { "inputs": { - "stdlib": "stdlib_2" + "nix": "nix_3", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_3": { + "hydra_20": { "inputs": { - "stdlib": "stdlib_3" + "nix": "nix_27", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_4": { + "hydra_21": { "inputs": { - "stdlib": "stdlib_4" + "nix": "nix_28", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_5": { + "hydra_22": { "inputs": { - "stdlib": "stdlib_5" + "nix": "nix_29", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_6": { + "hydra_23": { "inputs": { - "stdlib": "stdlib_6" + "nix": "nix_30", + "nixpkgs": [ + "liqwid-nix", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_7": { + "hydra_24": { "inputs": { - "stdlib": "stdlib_7" + "nix": "nix_31", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_8": { + "hydra_25": { "inputs": { - "stdlib": "stdlib_8" + "nix": "nix_32", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "inclusive_9": { + "hydra_3": { "inputs": { - "stdlib": "stdlib_9" + "nix": "nix_4", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "iogo": { + "hydra_4": { "inputs": { - "devshell": "devshell_4", - "inclusive": "inclusive_3", - "nixpkgs": "nixpkgs_22", - "utils": "utils_8" + "nix": "nix_5", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1652212694, - "narHash": "sha256-baAY5wKzccNsm7OCEYuySrkXRmlshokCHQjs4EdYShM=", - "owner": "input-output-hk", - "repo": "bitte-iogo", - "rev": "e465975aa368b2d919e865f71eeed02828e55471", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "bitte-iogo", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "iogo_2": { + "hydra_5": { "inputs": { - "devshell": "devshell_14", - "inclusive": "inclusive_11", - "nixpkgs": "nixpkgs_51", - "utils": "utils_22" + "nix": "nix_6", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1658302707, - "narHash": "sha256-E0FA1CEMQlfAsmtLBRoQE7IY4ItKlBdxZ44YX0tK5Hg=", - "owner": "input-output-hk", - "repo": "bitte-iogo", - "rev": "8751660009202bc95ea3a29e304c393c140a4231", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "bitte-iogo", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "iohk-nix": { + "hydra_6": { "inputs": { + "nix": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "capsules", + "bitte", + "nix" + ], "nixpkgs": [ "cardano-transaction-lib", "db-sync", "cardano-world", + "bitte", + "capsules", + "bitte", "nixpkgs" ] }, "locked": { - "lastModified": 1658222743, - "narHash": "sha256-yFH01psqx30y5Ws4dBElLkxYpIxxqZx4G+jCVhsXpnA=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "9a604d01bd4420ab7f396f14d1947fbe2ce7db8b", + "lastModified": 1631062883, + "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", + "owner": "kreisys", + "repo": "hydra", + "rev": "785326948be4b1cc2ce77435c806521565e9af45", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "kreisys", + "ref": "hydra-server-includes", + "repo": "hydra", "type": "github" } }, - "iohk-nix_10": { + "hydra_7": { "inputs": { + "nix": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "nix" + ], "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", "nixpkgs" ] }, "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "type": "github" - } - }, - "iohk-nix_11": { - "flake": false, - "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "lastModified": 1631062883, + "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", + "owner": "kreisys", + "repo": "hydra", + "rev": "785326948be4b1cc2ce77435c806521565e9af45", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "owner": "kreisys", + "ref": "hydra-server-includes", + "repo": "hydra", "type": "github" } }, - "iohk-nix_12": { - "flake": false, + "hydra_8": { + "inputs": { + "nix": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "capsules", + "bitte", + "nix" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "capsules", + "bitte", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1670489000, - "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", + "lastModified": 1631062883, + "narHash": "sha256-JZ6/gjHyX50fHCYpXy/FrX9C0e9k8X9In5Jb/SQYlT8=", + "owner": "kreisys", + "repo": "hydra", + "rev": "785326948be4b1cc2ce77435c806521565e9af45", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "kreisys", + "ref": "hydra-server-includes", + "repo": "hydra", "type": "github" } }, - "iohk-nix_13": { + "hydra_9": { "inputs": { + "nix": "nix_17", "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "cardano-wallet", + "haskellNix", + "hydra", + "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "lastModified": 1646878427, + "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "owner": "NixOS", + "repo": "hydra", + "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "type": "github" + "id": "hydra", + "type": "indirect" } }, - "iohk-nix_2": { + "incl": { "inputs": { - "blst": "blst_2", - "nixpkgs": [ + "nixlib": [ "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", "nixpkgs" - ], - "secp256k1": "secp256k1_2", - "sodium": "sodium_2" + ] }, "locked": { - "lastModified": 1702362799, - "narHash": "sha256-cU8cZXNuo5GRwrSvWqdaqoW5tJ2HWwDEOvWwIVPDPmo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "b426fb9e0b109a9d1dd2e1476f9e0bd8bb715142", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_3": { + "incl_2": { "inputs": { - "nixpkgs": [ + "nixlib": [ "cardano-transaction-lib", - "kupo-nixos", - "haskell-nix", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1653579289, - "narHash": "sha256-wveDdPsgB/3nAGAdFaxrcgLEpdi0aJ5kEVNtI+YqVfo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "edb2d2df2ebe42bbdf03a0711115cf6213c9d366", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "edb2d2df2ebe42bbdf03a0711115cf6213c9d366", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_4": { + "incl_3": { "inputs": { - "blst": "blst_4", - "nixpkgs": "nixpkgs_82", - "secp256k1": "secp256k1_4", - "sodium": "sodium_4" + "nixlib": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "haumea", + "nixpkgs" + ] }, "locked": { - "lastModified": 1715898223, - "narHash": "sha256-G1LFsvP53twrqaC1FVard/6rjJJ3oitnpJ1E+mTZDGM=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "29f19cd41dc593cf17bbc24194e34e7c20889fc9", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_5": { - "flake": false, + "incl_4": { + "inputs": { + "nixlib": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "lib" + ] + }, "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_6": { - "flake": false, + "incl_5": { + "inputs": { + "nixlib": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1670489000, - "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_7": { + "incl_6": { "inputs": { - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "nixlib": [ + "hydra", + "cardano-node", + "std", + "haumea", "nixpkgs" ] }, "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "lastModified": 1669263024, + "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", + "owner": "divnix", + "repo": "incl", + "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", + "owner": "divnix", + "repo": "incl", "type": "github" } }, - "iohk-nix_8": { - "flake": false, + "inclusive": { + "inputs": { + "stdlib": "stdlib" + }, "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", + "repo": "nix-inclusive", "type": "github" } }, - "iohk-nix_9": { - "flake": false, + "inclusive_10": { + "inputs": { + "stdlib": "stdlib_10" + }, "locked": { - "lastModified": 1670489000, - "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "iohk-nix", + "repo": "nix-inclusive", "type": "github" } }, - "iohkNix": { + "inclusive_11": { "inputs": { - "blst": "blst", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "nixpkgs" - ], - "secp256k1": "secp256k1", - "sodium": "sodium" + "stdlib": "stdlib_11" }, "locked": { - "lastModified": 1684223806, - "narHash": "sha256-IyLoP+zhuyygLtr83XXsrvKyqqLQ8FHXTiySFf4FJOI=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "86421fdd89b3af43fa716ccd07638f96c6ecd1e4", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "iohk-nix", + "repo": "nix-inclusive", "type": "github" } }, - "iohkNix_2": { + "inclusive_12": { "inputs": { - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "cardano-wallet", - "nixpkgs" - ] + "stdlib": "stdlib_12" }, "locked": { - "lastModified": 1653579289, - "narHash": "sha256-wveDdPsgB/3nAGAdFaxrcgLEpdi0aJ5kEVNtI+YqVfo=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "edb2d2df2ebe42bbdf03a0711115cf6213c9d366", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "iohk-nix", + "repo": "nix-inclusive", "type": "github" } }, - "iohkNix_3": { + "inclusive_2": { "inputs": { - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "nixpkgs" - ] + "stdlib": "stdlib_2" }, "locked": { - "lastModified": 1667394105, - "narHash": "sha256-YhS7zGd6jK/QM/+wWyj0zUBZmE3HOXAL/kpJptGYIWg=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "7fc7625a9ab2ba137bc70ddbc89a13d3fdb78c8b", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "iohk-nix", + "repo": "nix-inclusive", "type": "github" } }, - "iohkNix_4": { + "inclusive_3": { "inputs": { - "blst": "blst_3", - "nixpkgs": [ - "hydra", - "cardano-node", - "nixpkgs" - ], - "secp256k1": "secp256k1_3", - "sodium": "sodium_3" + "stdlib": "stdlib_3" }, "locked": { - "lastModified": 1715311504, - "narHash": "sha256-Jxma8/3WMb++2V1sp/iMF+6azv8cBR+ZbkLr61p2R24=", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "47727032a26ed92438afef6bdd45c95cd7399694", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "node-8.11", - "repo": "iohk-nix", + "repo": "nix-inclusive", "type": "github" } }, - "iserv-proxy": { - "flake": false, - "locked": { - "lastModified": 1670983692, - "narHash": "sha256-avLo34JnI9HNyOuauK5R69usJm+GfW3MlyGlYxZhTgY=", - "ref": "hkm/remote-iserv", - "rev": "50d0abb3317ac439a4e7495b185a64af9b7b9300", - "revCount": 10, - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "inclusive_4": { + "inputs": { + "stdlib": "stdlib_4" }, - "original": { - "ref": "hkm/remote-iserv", - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" - } - }, - "iserv-proxy_2": { - "flake": false, "locked": { - "lastModified": 1691634696, - "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", - "ref": "hkm/remote-iserv", - "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", - "revCount": 14, - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "type": "github" }, "original": { - "ref": "hkm/remote-iserv", - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "owner": "input-output-hk", + "repo": "nix-inclusive", + "type": "github" } }, - "iserv-proxy_3": { - "flake": false, + "inclusive_5": { + "inputs": { + "stdlib": "stdlib_5" + }, "locked": { - "lastModified": 1708894040, - "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", - "owner": "stable-haskell", - "repo": "iserv-proxy", - "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { - "owner": "stable-haskell", - "ref": "iserv-syms", - "repo": "iserv-proxy", + "owner": "input-output-hk", + "repo": "nix-inclusive", "type": "github" } }, - "iserv-proxy_4": { - "flake": false, + "inclusive_6": { + "inputs": { + "stdlib": "stdlib_6" + }, "locked": { - "lastModified": 1708894040, - "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", - "owner": "stable-haskell", - "repo": "iserv-proxy", - "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { - "owner": "stable-haskell", - "ref": "iserv-syms", - "repo": "iserv-proxy", + "owner": "input-output-hk", + "repo": "nix-inclusive", "type": "github" } }, - "iserv-proxy_5": { - "flake": false, - "locked": { - "lastModified": 1639165170, - "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "revCount": 7, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "inclusive_7": { + "inputs": { + "stdlib": "stdlib_7" }, - "original": { - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" - } - }, - "iserv-proxy_6": { - "flake": false, "locked": { - "lastModified": 1639165170, - "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "revCount": 7, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "type": "github" }, "original": { - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "owner": "input-output-hk", + "repo": "nix-inclusive", + "type": "github" } }, - "iserv-proxy_7": { - "flake": false, - "locked": { - "lastModified": 1639165170, - "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "revCount": 7, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" + "inclusive_8": { + "inputs": { + "stdlib": "stdlib_8" }, - "original": { - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" - } - }, - "kupo": { - "flake": false, "locked": { - "lastModified": 1668678914, - "narHash": "sha256-XsbAFyUPmevGuoShEFlOVHt/7fFIpyCQuhulIrNzv80=", - "owner": "CardanoSolutions", - "repo": "kupo", - "rev": "c9bc18d99f9e8af1840a265907db82b180d5a4d8", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { - "owner": "CardanoSolutions", - "ref": "v2.2.0", - "repo": "kupo", + "owner": "input-output-hk", + "repo": "nix-inclusive", "type": "github" } }, - "kupo-nixos": { + "inclusive_9": { "inputs": { - "haskell-nix": "haskell-nix_4", - "iohk-nix": "iohk-nix_3", - "kupo": [ - "cardano-transaction-lib", - "kupo" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "kupo-nixos", - "haskell-nix", - "nixpkgs" - ] + "stdlib": "stdlib_9" }, "locked": { - "lastModified": 1672905539, - "narHash": "sha256-B4vryG94L7WWn/tuIQdtg9eZHAH+FaFzv35Mancd2l8=", - "owner": "mlabs-haskell", - "repo": "kupo-nixos", - "rev": "6f89cbcc359893a2aea14dd380f9a45e04c6aa67", + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", "type": "github" }, "original": { - "owner": "mlabs-haskell", - "repo": "kupo-nixos", - "rev": "6f89cbcc359893a2aea14dd380f9a45e04c6aa67", + "owner": "input-output-hk", + "repo": "nix-inclusive", "type": "github" } }, - "lint-utils": { + "inputs-check": { "inputs": { - "flake-utils": "flake-utils_40", - "nixpkgs": [ - "hydra", - "haskellNix", - "nixpkgs" - ] + "flake-parts": "flake-parts_4", + "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1708583908, - "narHash": "sha256-zuNxxkt/wS8Z5TbGarf4QZVDt1R65dDkEw/s2T/tCW4=", - "owner": "homotopic", - "repo": "lint-utils", - "rev": "2d77caa3644065ee0f462cc5ea654280c59127b2", + "lastModified": 1692633913, + "narHash": "sha256-f80/49lt2hIapc9AEaTBC93jnRZe5zxlm21JXXewkko=", + "owner": "input-output-hk", + "repo": "inputs-check", + "rev": "1e9f65e56140f4e357c9abaf5311e3ea979d33e9", "type": "github" }, "original": { - "owner": "homotopic", - "repo": "lint-utils", + "owner": "input-output-hk", + "repo": "inputs-check", "type": "github" } }, - "liqwid-libs": { + "iogo": { "inputs": { - "flake-parts": "flake-parts_7", - "liqwid-nix": "liqwid-nix", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "nixpkgs" - ], - "nixpkgs-latest": "nixpkgs-latest", - "ply": "ply" + "devshell": "devshell_8", + "inclusive": "inclusive_4", + "nixpkgs": "nixpkgs_51", + "utils": "utils_13" }, "locked": { - "lastModified": 1692016370, - "narHash": "sha256-ioUyXgpBGLYjLtMIFRFFtV+h8QoRIi3TaYsb2GgWrg4=", - "owner": "Liqwid-Labs", - "repo": "liqwid-libs", - "rev": "e45647e49a106d64799193491af4e52553917ead", + "lastModified": 1652212694, + "narHash": "sha256-baAY5wKzccNsm7OCEYuySrkXRmlshokCHQjs4EdYShM=", + "owner": "input-output-hk", + "repo": "bitte-iogo", + "rev": "e465975aa368b2d919e865f71eeed02828e55471", "type": "github" }, "original": { - "owner": "Liqwid-Labs", - "repo": "liqwid-libs", + "owner": "input-output-hk", + "repo": "bitte-iogo", "type": "github" } }, - "liqwid-nix": { + "iogo_2": { "inputs": { - "flake-parts": "flake-parts_8", - "ghc-next-packages": "ghc-next-packages", - "haskell-nix": "haskell-nix_5", - "hercules-ci-effects": "hercules-ci-effects_2", - "iohk-nix": "iohk-nix_5", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-latest": [ - "hydra-auction-onchain", - "liqwid-libs", - "nixpkgs-latest" - ], - "plutarch": "plutarch", - "pre-commit-hooks": "pre-commit-hooks_2" + "devshell": "devshell_18", + "inclusive": "inclusive_12", + "nixpkgs": "nixpkgs_80", + "utils": "utils_27" }, "locked": { - "lastModified": 1686744759, - "narHash": "sha256-1pq0mqLJm/7WlR82oTStvM/K+Gyei79fbYEiO9DWaDc=", - "owner": "liqwid-labs", - "repo": "liqwid-nix", - "rev": "6cb9454ebfe76b38b77491be88db5122b7065564", + "lastModified": 1658302707, + "narHash": "sha256-E0FA1CEMQlfAsmtLBRoQE7IY4ItKlBdxZ44YX0tK5Hg=", + "owner": "input-output-hk", + "repo": "bitte-iogo", + "rev": "8751660009202bc95ea3a29e304c393c140a4231", "type": "github" }, "original": { - "owner": "liqwid-labs", - "ref": "v2.9.2", - "repo": "liqwid-nix", + "owner": "input-output-hk", + "repo": "bitte-iogo", "type": "github" } }, - "liqwid-nix_2": { + "iohk-nix": { "inputs": { - "flake-parts": "flake-parts_13", - "ghc-next-packages": "ghc-next-packages_2", - "haskell-nix": "haskell-nix_8", - "hercules-ci-effects": "hercules-ci-effects_3", - "iohk-nix": "iohk-nix_8", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-latest": [ - "hydra-auction-onchain", - "nixpkgs-latest" - ], - "plutarch": "plutarch_2", - "pre-commit-hooks": "pre-commit-hooks_4" + "blst": "blst", + "nixpkgs": "nixpkgs_8", + "secp256k1": "secp256k1", + "sodium": "sodium" }, "locked": { - "lastModified": 1686744759, - "narHash": "sha256-1pq0mqLJm/7WlR82oTStvM/K+Gyei79fbYEiO9DWaDc=", - "owner": "Liqwid-Labs", - "repo": "liqwid-nix", - "rev": "6cb9454ebfe76b38b77491be88db5122b7065564", + "lastModified": 1691469905, + "narHash": "sha256-TV0p1dFGYAMl1dLJEfe/tNFjxvV2H7VgHU1I43q+b84=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "2f3760f135616ebc477d3ed74eba9b63c22f83a0", "type": "github" }, "original": { - "owner": "Liqwid-Labs", - "ref": "v2.9.2", - "repo": "liqwid-nix", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "2f3760f135616ebc477d3ed74eba9b63c22f83a0", "type": "github" } }, - "liqwid-nix_3": { + "iohk-nix-ng": { + "inputs": { + "blst": "blst_2", + "nixpkgs": "nixpkgs_9", + "secp256k1": "secp256k1_2", + "sodium": "sodium_2" + }, + "locked": { + "lastModified": 1696471795, + "narHash": "sha256-aNNvjUtCGXaXSp5M/HSj1SOeLjqLyTRWYbIHqAEeUp0=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "91f16fa8acb58b312f94977715c630d8bf77e33e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "iohk-nix_10": { "inputs": { - "flake-parts": "flake-parts_18", - "ghc-next-packages": "ghc-next-packages_3", - "haskell-nix": "haskell-nix_11", - "hercules-ci-effects": "hercules-ci-effects_4", - "iohk-nix": "iohk-nix_11", "nixpkgs": [ + "hydra-auction-onchain", "liqwid-nix", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-latest": "nixpkgs-latest_3", - "plutarch": "plutarch_3", - "pre-commit-hooks": "pre-commit-hooks_5" + "plutarch", + "tooling", + "plutus", + "nixpkgs" + ] }, "locked": { - "lastModified": 1705351573, - "narHash": "sha256-4pOk01JeVTWvcUcKg7pOmOnBm1YldYjDBHELuSUMhkE=", - "owner": "mlabs-haskell", - "repo": "liqwid-nix", - "rev": "15948d3e8e0480923e86cd8b1cfadb5a2025125e", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "mlabs-haskell", - "ref": "aciceri/fix-new-ctl", - "repo": "liqwid-nix", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src": { + "iohk-nix_11": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" } }, - "lowdown-src_10": { + "iohk-nix_12": { "flake": false, "locked": { - "lastModified": 1598695561, - "narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f", + "lastModified": 1670489000, + "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_11": { - "flake": false, + "iohk-nix_13": { + "inputs": { + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_12": { - "flake": false, + "iohk-nix_2": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1658222743, + "narHash": "sha256-yFH01psqx30y5Ws4dBElLkxYpIxxqZx4G+jCVhsXpnA=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "9a604d01bd4420ab7f396f14d1947fbe2ce7db8b", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_13": { - "flake": false, + "iohk-nix_3": { + "inputs": { + "blst": "blst_7", + "nixpkgs": [ + "cardano-transaction-lib", + "nixpkgs" + ], + "secp256k1": "secp256k1_7", + "sodium": "sodium_7" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_14": { - "flake": false, + "iohk-nix_4": { + "inputs": { + "blst": "blst_9", + "nixpkgs": "nixpkgs_110", + "secp256k1": "secp256k1_9", + "sodium": "sodium_9" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1715898223, + "narHash": "sha256-G1LFsvP53twrqaC1FVard/6rjJJ3oitnpJ1E+mTZDGM=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "29f19cd41dc593cf17bbc24194e34e7c20889fc9", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_15": { + "iohk-nix_5": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" } }, - "lowdown-src_16": { + "iohk-nix_6": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1670489000, + "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_17": { - "flake": false, + "iohk-nix_7": { + "inputs": { + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_18": { + "iohk-nix_8": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1666358508, + "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", "type": "github" } }, - "lowdown-src_19": { + "iohk-nix_9": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1670489000, + "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_2": { - "flake": false, + "iohkNix": { + "inputs": { + "blst": "blst_3", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "nixpkgs" + ], + "secp256k1": "secp256k1_3", + "sodium": "sodium_3" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1698999258, + "narHash": "sha256-42D1BMbdyZD+lT+pWUzb5zDQyasNbMJtH/7stuPuPfE=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "73dc2bb45af6f20cfe1d962f1334eed5e84ae764", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_20": { - "flake": false, + "iohkNix_2": { + "inputs": { + "blst": "blst_4", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "nixpkgs" + ], + "secp256k1": "secp256k1_4", + "sodium": "sodium_4" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1684223806, + "narHash": "sha256-IyLoP+zhuyygLtr83XXsrvKyqqLQ8FHXTiySFf4FJOI=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "86421fdd89b3af43fa716ccd07638f96c6ecd1e4", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_21": { - "flake": false, + "iohkNix_3": { + "inputs": { + "blst": "blst_5", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "nixpkgs" + ], + "secp256k1": "secp256k1_5", + "sodium": "sodium_5" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1698746924, + "narHash": "sha256-8og+vqQPEoB2KLUtN5esGMDymT+2bT/rCHZt1NAe7y0=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "af551ca93d969d9715fa9bf86691d9a0a19e89d9", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_22": { - "flake": false, + "iohkNix_4": { + "inputs": { + "blst": "blst_6", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "nixpkgs" + ], + "secp256k1": "secp256k1_6", + "sodium": "sodium_6" + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_23": { - "flake": false, + "iohkNix_5": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "cardano-wallet", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1653579289, + "narHash": "sha256-wveDdPsgB/3nAGAdFaxrcgLEpdi0aJ5kEVNtI+YqVfo=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "edb2d2df2ebe42bbdf03a0711115cf6213c9d366", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_24": { - "flake": false, + "iohkNix_6": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1667394105, + "narHash": "sha256-YhS7zGd6jK/QM/+wWyj0zUBZmE3HOXAL/kpJptGYIWg=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "7fc7625a9ab2ba137bc70ddbc89a13d3fdb78c8b", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_25": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "iohkNix_7": { + "inputs": { + "blst": "blst_8", + "nixpkgs": [ + "hydra", + "cardano-node", + "nixpkgs" + ], + "secp256k1": "secp256k1_8", + "sodium": "sodium_8" + }, + "locked": { + "lastModified": 1715311504, + "narHash": "sha256-Jxma8/3WMb++2V1sp/iMF+6azv8cBR+ZbkLr61p2R24=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "47727032a26ed92438afef6bdd45c95cd7399694", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "input-output-hk", + "ref": "node-8.11", + "repo": "iohk-nix", "type": "github" } }, - "lowdown-src_26": { + "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" + "lastModified": 1688517130, + "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", + "ref": "hkm/remote-iserv", + "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", + "revCount": 13, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "lowdown-src_27": { + "iserv-proxy_10": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" + "lastModified": 1639165170, + "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "revCount": 7, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" } }, - "lowdown-src_28": { + "iserv-proxy_11": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" + "lastModified": 1639165170, + "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "revCount": 7, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" } }, - "lowdown-src_3": { + "iserv-proxy_2": { "flake": false, "locked": { - "lastModified": 1598695561, - "narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f", - "type": "github" + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", + "ref": "hkm/remote-iserv", + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "lowdown-src_4": { + "iserv-proxy_3": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" + "lastModified": 1670983692, + "narHash": "sha256-avLo34JnI9HNyOuauK5R69usJm+GfW3MlyGlYxZhTgY=", + "ref": "hkm/remote-iserv", + "rev": "50d0abb3317ac439a4e7495b185a64af9b7b9300", + "revCount": 10, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "lowdown-src_5": { + "iserv-proxy_4": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", + "ref": "hkm/remote-iserv", + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "lowdown-src_6": { + "iserv-proxy_5": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", "type": "github" } }, - "lowdown-src_7": { + "iserv-proxy_6": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", "type": "github" } }, - "lowdown-src_8": { + "iserv-proxy_7": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1708894040, + "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", "type": "github" } }, - "lowdown-src_9": { + "iserv-proxy_8": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1708894040, + "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", "type": "github" } }, - "mdbook-kroki-preprocessor": { + "iserv-proxy_9": { "flake": false, "locked": { - "lastModified": 1655670640, - "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", - "type": "github" + "lastModified": 1639165170, + "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "revCount": 7, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" + "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", + "type": "git", + "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" } }, - "mdbook-kroki-preprocessor_10": { - "flake": false, + "lib": { "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1694306727, + "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "mdbook-kroki-preprocessor_11": { - "flake": false, + "lint-utils": { + "inputs": { + "flake-utils": "flake-utils_54", + "nixpkgs": [ + "hydra", + "haskellNix", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1708583908, + "narHash": "sha256-zuNxxkt/wS8Z5TbGarf4QZVDt1R65dDkEw/s2T/tCW4=", + "owner": "homotopic", + "repo": "lint-utils", + "rev": "2d77caa3644065ee0f462cc5ea654280c59127b2", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" + "owner": "homotopic", + "repo": "lint-utils", + "type": "github" } }, - "mdbook-kroki-preprocessor_12": { - "flake": false, + "liqwid-libs": { + "inputs": { + "flake-parts": "flake-parts_12", + "liqwid-nix": "liqwid-nix", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "nixpkgs" + ], + "nixpkgs-latest": "nixpkgs-latest", + "ply": "ply" + }, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1692016370, + "narHash": "sha256-ioUyXgpBGLYjLtMIFRFFtV+h8QoRIi3TaYsb2GgWrg4=", + "owner": "Liqwid-Labs", + "repo": "liqwid-libs", + "rev": "e45647e49a106d64799193491af4e52553917ead", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "Liqwid-Labs", + "repo": "liqwid-libs", "type": "github" } }, - "mdbook-kroki-preprocessor_13": { - "flake": false, + "liqwid-nix": { + "inputs": { + "flake-parts": "flake-parts_13", + "ghc-next-packages": "ghc-next-packages", + "haskell-nix": "haskell-nix_5", + "hercules-ci-effects": "hercules-ci-effects_3", + "iohk-nix": "iohk-nix_5", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-latest": [ + "hydra-auction-onchain", + "liqwid-libs", + "nixpkgs-latest" + ], + "plutarch": "plutarch", + "pre-commit-hooks": "pre-commit-hooks_2" + }, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1686744759, + "narHash": "sha256-1pq0mqLJm/7WlR82oTStvM/K+Gyei79fbYEiO9DWaDc=", + "owner": "liqwid-labs", + "repo": "liqwid-nix", + "rev": "6cb9454ebfe76b38b77491be88db5122b7065564", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "liqwid-labs", + "ref": "v2.9.2", + "repo": "liqwid-nix", "type": "github" } }, - "mdbook-kroki-preprocessor_14": { - "flake": false, + "liqwid-nix_2": { + "inputs": { + "flake-parts": "flake-parts_18", + "ghc-next-packages": "ghc-next-packages_2", + "haskell-nix": "haskell-nix_8", + "hercules-ci-effects": "hercules-ci-effects_4", + "iohk-nix": "iohk-nix_8", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-latest": [ + "hydra-auction-onchain", + "nixpkgs-latest" + ], + "plutarch": "plutarch_2", + "pre-commit-hooks": "pre-commit-hooks_4" + }, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1686744759, + "narHash": "sha256-1pq0mqLJm/7WlR82oTStvM/K+Gyei79fbYEiO9DWaDc=", + "owner": "Liqwid-Labs", + "repo": "liqwid-nix", + "rev": "6cb9454ebfe76b38b77491be88db5122b7065564", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "Liqwid-Labs", + "ref": "v2.9.2", + "repo": "liqwid-nix", "type": "github" } }, - "mdbook-kroki-preprocessor_15": { - "flake": false, + "liqwid-nix_3": { + "inputs": { + "flake-parts": "flake-parts_23", + "ghc-next-packages": "ghc-next-packages_3", + "haskell-nix": "haskell-nix_11", + "hercules-ci-effects": "hercules-ci-effects_5", + "iohk-nix": "iohk-nix_11", + "nixpkgs": [ + "liqwid-nix", + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-latest": "nixpkgs-latest_3", + "plutarch": "plutarch_3", + "pre-commit-hooks": "pre-commit-hooks_5" + }, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1705351573, + "narHash": "sha256-4pOk01JeVTWvcUcKg7pOmOnBm1YldYjDBHELuSUMhkE=", + "owner": "mlabs-haskell", + "repo": "liqwid-nix", + "rev": "15948d3e8e0480923e86cd8b1cfadb5a2025125e", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "mlabs-haskell", + "ref": "aciceri/fix-new-ctl", + "repo": "liqwid-nix", "type": "github" } }, - "mdbook-kroki-preprocessor_2": { + "lowdown-src": { "flake": false, "locked": { - "lastModified": 1655670640, - "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_3": { + "lowdown-src_10": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_4": { + "lowdown-src_11": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_5": { + "lowdown-src_12": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_6": { + "lowdown-src_13": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_7": { + "lowdown-src_14": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_8": { + "lowdown-src_15": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1598695561, + "narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mdbook-kroki-preprocessor_9": { + "lowdown-src_16": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "mithril": { - "inputs": { - "crane": "crane_2", - "flake-parts": "flake-parts_5", - "nixpkgs": "nixpkgs_83", - "treefmt-nix": "treefmt-nix" - }, + "lowdown-src_17": { + "flake": false, "locked": { - "lastModified": 1714464175, - "narHash": "sha256-DQVuHnDg9FdOlFPGK9KSNXCVl1vxYcYCKk/cBN/JEdo=", - "owner": "input-output-hk", - "repo": "mithril", - "rev": "512fe8d0b72e27f38b76cddca3d22877505156b0", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "2418.1", - "repo": "mithril", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_18": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_10": { - "inputs": { - "flake-utils": "flake-utils_62", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_19": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_11": { - "inputs": { - "flake-utils": "flake-utils_67", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_2": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_12": { - "inputs": { - "flake-utils": "flake-utils_72", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_20": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_13": { - "inputs": { - "flake-utils": "flake-utils_76", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, + "lowdown-src_21": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_14": { - "inputs": { - "flake-utils": "flake-utils_79", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_22": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_15": { - "inputs": { - "flake-utils": "flake-utils_84", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_23": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_16": { - "inputs": { - "flake-utils": "flake-utils_89", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_24": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_17": { - "inputs": { - "flake-utils": "flake-utils_93", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, + "lowdown-src_25": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_18": { - "inputs": { - "flake-utils": "flake-utils_96", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_26": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_2": { - "inputs": { - "flake-utils": "flake-utils_11", - "nixpkgs": "nixpkgs_27" - }, + "lowdown-src_27": { + "flake": false, "locked": { - "lastModified": 1650568002, - "narHash": "sha256-CciO5C3k/a7sbA+lW4jeiU6WGletujMjWcRzc1513tI=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "2cd391fc65847ea54e3657a491c379854b556262", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_3": { - "inputs": { - "flake-utils": "flake-utils_28", - "nixpkgs": "nixpkgs_62" - }, + "lowdown-src_28": { + "flake": false, "locked": { - "lastModified": 1655533513, - "narHash": "sha256-MAqvv2AZbyNYGJMpV5l9ydN7k66jDErFpaKOvZ1Y7f8=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "2d47dbe633a059d75c7878f554420158712481cb", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_4": { - "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_29": { + "flake": false, "locked": { - "lastModified": 1677330646, - "narHash": "sha256-hUYCwJneMjnxTvj30Fjow6UMJUITqHlpUGpXMPXUJsU=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "ebca8f58d450cae1a19c07701a5a8ae40afc9efc", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_5": { - "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "std", - "flake-utils" - ], - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "nixpkgs" - ] - }, + "lowdown-src_3": { + "flake": false, "locked": { - "lastModified": 1685771919, - "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_6": { - "inputs": { - "flake-utils": "flake-utils_44", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_30": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_7": { - "inputs": { - "flake-utils": "flake-utils_49", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_31": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_8": { - "inputs": { - "flake-utils": "flake-utils_53", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, + "lowdown-src_32": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "n2c_9": { - "inputs": { - "flake-utils": "flake-utils_56", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, + "lowdown-src_4": { + "flake": false, "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_3", - "nixpkgs-regression": "nixpkgs-regression" - }, + "lowdown-src_5": { + "flake": false, "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", - "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix-cache-proxy": { - "inputs": { - "devshell": "devshell_11", - "inclusive": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte-cells", - "cicero", - "inclusive" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte-cells", - "cicero", - "nixpkgs" - ], - "utils": "utils_15" - }, + "lowdown-src_6": { + "flake": false, "locked": { - "lastModified": 1644317729, - "narHash": "sha256-R9R1XHv69VvZ/c7lXYs18PHcnEBXS+hDfhjdkZ96lgw=", - "owner": "input-output-hk", - "repo": "nix-cache-proxy", - "rev": "378617d6b9865be96f7dfa16e0ce3f329da844ec", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-cache-proxy", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, + "lowdown-src_7": { + "flake": false, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "LnL7", - "repo": "nix-darwin", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix-darwin_2": { - "inputs": { - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, + "lowdown-src_8": { + "flake": false, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "lastModified": 1598695561, + "narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f", "type": "github" }, "original": { - "owner": "LnL7", - "repo": "nix-darwin", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix-darwin_3": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, + "lowdown-src_9": { + "flake": false, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", "type": "github" }, "original": { - "owner": "LnL7", - "repo": "nix-darwin", + "owner": "kristapsdz", + "repo": "lowdown", "type": "github" } }, - "nix-inclusive": { - "inputs": { - "stdlib": "stdlib_12" - }, + "mdbook-kroki-preprocessor": { + "flake": false, "locked": { - "lastModified": 1628098927, - "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", - "owner": "input-output-hk", - "repo": "nix-inclusive", - "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-inclusive", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", "type": "github" } }, - "nix-nomad": { - "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "nixpkgs" - ] + "mdbook-kroki-preprocessor_10": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_11": { + "flake": false, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", "type": "github" } }, - "nix-nomad_10": { - "inputs": { - "flake-compat": "flake-compat_39", - "flake-utils": [ + "mdbook-kroki-preprocessor_12": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_13": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_14": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_15": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_16": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_2": { + "flake": false, + "locked": { + "lastModified": 1655670640, + "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_3": { + "flake": false, + "locked": { + "lastModified": 1655670640, + "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_4": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_5": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_6": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_7": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_8": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mdbook-kroki-preprocessor_9": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, + "mithril": { + "inputs": { + "crane": "crane_3", + "flake-parts": "flake-parts_10", + "nixpkgs": "nixpkgs_111", + "treefmt-nix": "treefmt-nix_4" + }, + "locked": { + "lastModified": 1714464175, + "narHash": "sha256-DQVuHnDg9FdOlFPGK9KSNXCVl1vxYcYCKk/cBN/JEdo=", + "owner": "input-output-hk", + "repo": "mithril", + "rev": "512fe8d0b72e27f38b76cddca3d22877505156b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "2418.1", + "repo": "mithril", + "type": "github" + } + }, + "n2c": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_10": { + "inputs": { + "flake-utils": "flake-utils_63", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_11": { + "inputs": { + "flake-utils": "flake-utils_67", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_12": { + "inputs": { + "flake-utils": "flake-utils_70", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_13": { + "inputs": { + "flake-utils": "flake-utils_76", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_14": { + "inputs": { + "flake-utils": "flake-utils_81", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_15": { + "inputs": { + "flake-utils": "flake-utils_86", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_16": { + "inputs": { + "flake-utils": "flake-utils_90", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_17": { + "inputs": { + "flake-utils": "flake-utils_93", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_18": { + "inputs": { + "flake-utils": "flake-utils_98", + "nixpkgs": [ + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_19": { + "inputs": { + "flake-utils": "flake-utils_103", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_2": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1677330646, + "narHash": "sha256-hUYCwJneMjnxTvj30Fjow6UMJUITqHlpUGpXMPXUJsU=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "ebca8f58d450cae1a19c07701a5a8ae40afc9efc", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_20": { + "inputs": { + "flake-utils": "flake-utils_107", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_21": { + "inputs": { + "flake-utils": "flake-utils_110", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_3": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685771919, + "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_4": { + "inputs": { + "flake-utils": "flake-utils_19", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_5": { + "inputs": { + "flake-utils": "flake-utils_26", + "nixpkgs": "nixpkgs_56" + }, + "locked": { + "lastModified": 1650568002, + "narHash": "sha256-CciO5C3k/a7sbA+lW4jeiU6WGletujMjWcRzc1513tI=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "2cd391fc65847ea54e3657a491c379854b556262", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_6": { + "inputs": { + "flake-utils": "flake-utils_43", + "nixpkgs": "nixpkgs_91" + }, + "locked": { + "lastModified": 1655533513, + "narHash": "sha256-MAqvv2AZbyNYGJMpV5l9ydN7k66jDErFpaKOvZ1Y7f8=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "2d47dbe633a059d75c7878f554420158712481cb", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_7": { + "inputs": { + "flake-utils": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixpkgs": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1677330646, + "narHash": "sha256-hUYCwJneMjnxTvj30Fjow6UMJUITqHlpUGpXMPXUJsU=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "ebca8f58d450cae1a19c07701a5a8ae40afc9efc", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_8": { + "inputs": { + "flake-utils": [ + "hydra", + "cardano-node", + "std", + "flake-utils" + ], + "nixpkgs": [ + "hydra", + "cardano-node", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685771919, + "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "n2c_9": { + "inputs": { + "flake-utils": "flake-utils_58", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs_6", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix-cache-proxy": { + "inputs": { + "devshell": "devshell_15", + "inclusive": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte-cells", + "cicero", + "inclusive" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte-cells", + "cicero", + "nixpkgs" + ], + "utils": "utils_20" + }, + "locked": { + "lastModified": 1644317729, + "narHash": "sha256-R9R1XHv69VvZ/c7lXYs18PHcnEBXS+hDfhjdkZ96lgw=", + "owner": "input-output-hk", + "repo": "nix-cache-proxy", + "rev": "378617d6b9865be96f7dfa16e0ce3f329da844ec", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-cache-proxy", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-darwin_2": { + "inputs": { + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-darwin_3": { + "inputs": { + "nixpkgs": [ + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-inclusive": { + "inputs": { + "stdlib": "stdlib_13" + }, + "locked": { + "lastModified": 1628098927, + "narHash": "sha256-Ft4sdf7VPL8MQtu18AAPiN2s5pUsbv+3RxqzJSa/yzg=", + "owner": "input-output-hk", + "repo": "nix-inclusive", + "rev": "13123eb7a8c3359738a4756b8d645729e8655b27", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-inclusive", + "type": "github" + } + }, + "nix-nomad": { + "inputs": { + "flake-compat": "flake-compat_8", + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_10": { + "inputs": { + "flake-compat": "flake-compat_45", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_10", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_11": { + "inputs": { + "flake-compat": "flake-compat_47", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_11", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_12": { + "inputs": { + "flake-compat": "flake-compat_50", + "flake-utils": [ + "liqwid-nix", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_12", + "nixpkgs": [ + "liqwid-nix", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "liqwid-nix", + "haskell-nix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_13": { + "inputs": { + "flake-compat": "flake-compat_53", + "flake-utils": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_13", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_14": { + "inputs": { + "flake-compat": "flake-compat_55", + "flake-utils": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_14", + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_2": { + "inputs": { + "flake-compat": "flake-compat_9", + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_2", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_3": { + "inputs": { + "flake-compat": "flake-compat_14", + "flake-utils": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_3", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_4": { + "inputs": { + "flake-compat": "flake-compat_26", + "flake-utils": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_4", + "nixpkgs": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_5": { + "inputs": { + "flake-compat": "flake-compat_32", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_5", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_6": { + "inputs": { + "flake-compat": "flake-compat_35", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_6", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_7": { + "inputs": { + "flake-compat": "flake-compat_37", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_7", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_8": { + "inputs": { + "flake-compat": "flake-compat_40", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_8", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", + "tullia", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-nomad_9": { + "inputs": { + "flake-compat": "flake-compat_42", + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "tullia", + "nix2container", + "flake-utils" + ], + "gomod2nix": "gomod2nix_9", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "tullia", + "nixpkgs" + ], + "nixpkgs-lib": [ + "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "tullia", - "nix2container", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1658277770, + "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", + "owner": "tristanpemble", + "repo": "nix-nomad", + "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "type": "github" + }, + "original": { + "owner": "tristanpemble", + "repo": "nix-nomad", + "type": "github" + } + }, + "nix-npm-buildpackage": { + "inputs": { + "nixpkgs": "nixpkgs_112" + }, + "locked": { + "lastModified": 1686315622, + "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "type": "github" + } + }, + "nix-tools": { + "flake": false, + "locked": { + "lastModified": 1644395812, + "narHash": "sha256-BVFk/BEsTLq5MMZvdy3ZYHKfaS3dHrsKh4+tb5t5b58=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "d847c63b99bbec78bf83be2a61dc9f09b8a9ccc1", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, + "nix-tools_2": { + "flake": false, + "locked": { + "lastModified": 1649424170, + "narHash": "sha256-XgKXWispvv5RCvZzPb+p7e6Hy3LMuRjafKMl7kXzxGw=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "e109c94016e3b6e0db7ed413c793e2d4bdb24aa7", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, + "nix-tools_3": { + "flake": false, + "locked": { + "lastModified": 1658968505, + "narHash": "sha256-UnbQ/Ig/23e9hUdDOBwYHwHgHmQawZ2uazpJ8DLIJgE=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "8a754bdcf20b20e116409c2341cf69065d083053", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, + "nix-tools_4": { + "flake": false, + "locked": { + "lastModified": 1649424170, + "narHash": "sha256-XgKXWispvv5RCvZzPb+p7e6Hy3LMuRjafKMl7kXzxGw=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "e109c94016e3b6e0db7ed413c793e2d4bdb24aa7", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_17" + }, + "locked": { + "lastModified": 1671269339, + "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_10": { + "inputs": { + "flake-utils": "flake-utils_56", + "nixpkgs": "nixpkgs_115" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_11": { + "inputs": { + "flake-utils": "flake-utils_61", + "nixpkgs": "nixpkgs_121" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_12": { + "inputs": { + "flake-utils": "flake-utils_68", + "nixpkgs": "nixpkgs_127" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_13": { + "inputs": { + "flake-utils": "flake-utils_74", + "nixpkgs": "nixpkgs_132" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_14": { + "inputs": { + "flake-utils": "flake-utils_79", + "nixpkgs": "nixpkgs_137" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_15": { + "inputs": { + "flake-utils": "flake-utils_84", + "nixpkgs": "nixpkgs_143" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_16": { + "inputs": { + "flake-utils": "flake-utils_91", + "nixpkgs": "nixpkgs_149" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_17": { + "inputs": { + "flake-utils": "flake-utils_96", + "nixpkgs": "nixpkgs_154" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_18": { + "inputs": { + "flake-utils": "flake-utils_101", + "nixpkgs": "nixpkgs_160" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_19": { + "inputs": { + "flake-utils": "flake-utils_108", + "nixpkgs": "nixpkgs_166" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_2": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_19" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_3": { + "inputs": { + "flake-utils": "flake-utils_10", + "nixpkgs": "nixpkgs_23" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_4": { + "inputs": { + "flake-utils": "flake-utils_12", + "nixpkgs": "nixpkgs_27" + }, + "locked": { + "lastModified": 1671269339, + "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_5": { + "inputs": { + "flake-utils": "flake-utils_17", + "nixpkgs": "nixpkgs_32" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_6": { + "inputs": { + "flake-utils": "flake-utils_20", + "nixpkgs": "nixpkgs_36" + }, + "locked": { + "lastModified": 1712990762, + "narHash": "sha256-hO9W3w7NcnYeX8u8cleHiSpK2YJo7ecarFTUlbybl7k=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "20aad300c925639d5d6cbe30013c8357ce9f2a2e", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_7": { + "inputs": { + "flake-utils": "flake-utils_45", + "nixpkgs": "nixpkgs_94" + }, + "locked": { + "lastModified": 1653427219, + "narHash": "sha256-q6MzrIZq1BBFxYN+UQjW60LpQJXV6RIIUmO8gKRyMqg=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "11a0e14c2468720f42ca8dec3b82862abf96c837", + "type": "github" + }, + "original": { + "owner": "nlewo", + "ref": "init-nix-db", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_8": { + "inputs": { + "flake-utils": "flake-utils_49", + "nixpkgs": "nixpkgs_101" + }, + "locked": { + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix2container_9": { + "inputs": { + "flake-utils": "flake-utils_51", + "nixpkgs": "nixpkgs_105" + }, + "locked": { + "lastModified": 1671269339, + "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nix_10": { + "inputs": { + "lowdown-src": "lowdown-src_10", + "nixpkgs": "nixpkgs_57", + "nixpkgs-regression": "nixpkgs-regression_9" + }, + "locked": { + "lastModified": 1652510778, + "narHash": "sha256-zldZ4SiwkISFXxrbY/UdwooIZ3Z/I6qKxtpc3zD0T/o=", + "owner": "nixos", + "repo": "nix", + "rev": "65cd26eebbbf80eaf0d74092f09b737606cb4b5a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "2.8.1", + "repo": "nix", + "type": "github" + } + }, + "nix_11": { + "inputs": { + "lowdown-src": "lowdown-src_11", + "nixpkgs": "nixpkgs_59", + "nixpkgs-regression": "nixpkgs-regression_10" + }, + "locked": { + "lastModified": 1645189081, + "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", + "owner": "nixos", + "repo": "nix", + "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nix", + "type": "github" + } + }, + "nix_12": { + "inputs": { + "lowdown-src": "lowdown-src_12", + "nixpkgs": "nixpkgs_66", + "nixpkgs-regression": "nixpkgs-regression_11" + }, + "locked": { + "lastModified": 1644413094, + "narHash": "sha256-KLGaeSqvhuUFz6DxrB9r3w+lfp9bXIiCT9K1cqg7Ze8=", + "owner": "nixos", + "repo": "nix", + "rev": "52f52319ad21bdbd7a33bb85eccc83756648f110", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nix", + "rev": "52f52319ad21bdbd7a33bb85eccc83756648f110", + "type": "github" + } + }, + "nix_13": { + "inputs": { + "lowdown-src": "lowdown-src_13", + "nixpkgs": "nixpkgs_67", + "nixpkgs-regression": "nixpkgs-regression_12" + }, + "locked": { + "lastModified": 1645437800, + "narHash": "sha256-MAMIKi3sIQ0b3jzYyOb5VY29GRgv7JXl1VXoUM9xUZw=", + "owner": "NixOS", + "repo": "nix", + "rev": "f22b9e72f51f97f8f2d334748d3e97123940a146", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nix", + "rev": "f22b9e72f51f97f8f2d334748d3e97123940a146", + "type": "github" + } + }, + "nix_14": { + "inputs": { + "lowdown-src": "lowdown-src_14", + "nixpkgs": "nixpkgs_72", + "nixpkgs-regression": "nixpkgs-regression_13" + }, + "locked": { + "lastModified": 1646164353, + "narHash": "sha256-Nj3ARvplf0Xa+h4F5Cq1r9cc81C2UIpbAKDgJLsDmUc=", + "owner": "kreisys", + "repo": "nix", + "rev": "45677cae8d474270ecd797eb40eb1f8836981604", + "type": "github" + }, + "original": { + "owner": "kreisys", + "ref": "goodnix-maybe-dont-functor", + "repo": "nix", + "type": "github" + } + }, + "nix_15": { + "inputs": { + "lowdown-src": "lowdown-src_15", + "nixpkgs": "nixpkgs_74" + }, + "locked": { + "lastModified": 1604400356, + "narHash": "sha256-PX1cSYv0Y6I2tidcuEwJTo8X5vAvf9vjdfHO51LD/J0=", + "owner": "NixOS", + "repo": "nix", + "rev": "cf82e14712b3be881b7c880468cd5486e8934638", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nix", + "type": "github" + } + }, + "nix_16": { + "inputs": { + "lowdown-src": "lowdown-src_16", + "nixpkgs": "nixpkgs_76", + "nixpkgs-regression": "nixpkgs-regression_14" + }, + "locked": { + "lastModified": 1645189081, + "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", + "owner": "nixos", + "repo": "nix", + "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nix", + "type": "github" + } + }, + "nix_17": { + "inputs": { + "lowdown-src": "lowdown-src_17", + "nixpkgs": "nixpkgs_88", + "nixpkgs-regression": "nixpkgs-regression_15" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_18": { + "inputs": { + "lowdown-src": "lowdown-src_18", + "nixpkgs": "nixpkgs_90", + "nixpkgs-regression": "nixpkgs-regression_16" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_19": { + "inputs": { + "lowdown-src": "lowdown-src_19", + "nixpkgs": "nixpkgs_97", + "nixpkgs-regression": "nixpkgs-regression_17" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_2": { + "inputs": { + "flake-compat": "flake-compat_3", + "lowdown-src": "lowdown-src_2", + "nixpkgs": "nixpkgs_10", + "nixpkgs-regression": "nixpkgs-regression_2" + }, + "locked": { + "lastModified": 1693573010, + "narHash": "sha256-HBm8mR2skhPtbJ7p+ByrOZjs7SfsfZPwy75MwI1EUmk=", + "owner": "nixos", + "repo": "nix", + "rev": "5568ca5ff130a8a0bc3db5878432eb527c74dd60", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "2.17-maintenance", + "repo": "nix", + "type": "github" + } + }, + "nix_20": { + "inputs": { + "lowdown-src": "lowdown-src_20", + "nixpkgs": "nixpkgs_98", + "nixpkgs-regression": "nixpkgs-regression_18" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_21": { + "inputs": { + "lowdown-src": "lowdown-src_21", + "nixpkgs": "nixpkgs_104", + "nixpkgs-regression": "nixpkgs-regression_19" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_22": { + "inputs": { + "lowdown-src": "lowdown-src_22", + "nixpkgs": "nixpkgs_109", + "nixpkgs-regression": "nixpkgs-regression_20" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_23": { + "inputs": { + "lowdown-src": "lowdown-src_23", + "nixpkgs": "nixpkgs_113", + "nixpkgs-regression": "nixpkgs-regression_21" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_24": { + "inputs": { + "lowdown-src": "lowdown-src_24", + "nixpkgs": "nixpkgs_119", + "nixpkgs-regression": "nixpkgs-regression_22" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_25": { + "inputs": { + "lowdown-src": "lowdown-src_25", + "nixpkgs": "nixpkgs_124", + "nixpkgs-regression": "nixpkgs-regression_23" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_26": { + "inputs": { + "lowdown-src": "lowdown-src_26", + "nixpkgs": "nixpkgs_130", + "nixpkgs-regression": "nixpkgs-regression_24" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_27": { + "inputs": { + "lowdown-src": "lowdown-src_27", + "nixpkgs": "nixpkgs_135", + "nixpkgs-regression": "nixpkgs-regression_25" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_28": { + "inputs": { + "lowdown-src": "lowdown-src_28", + "nixpkgs": "nixpkgs_141", + "nixpkgs-regression": "nixpkgs-regression_26" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_29": { + "inputs": { + "lowdown-src": "lowdown-src_29", + "nixpkgs": "nixpkgs_146", + "nixpkgs-regression": "nixpkgs-regression_27" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_3": { + "inputs": { + "lowdown-src": "lowdown-src_3", + "nixpkgs": "nixpkgs_14", + "nixpkgs-regression": "nixpkgs-regression_3" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_30": { + "inputs": { + "lowdown-src": "lowdown-src_30", + "nixpkgs": "nixpkgs_152", + "nixpkgs-regression": "nixpkgs-regression_28" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_31": { + "inputs": { + "lowdown-src": "lowdown-src_31", + "nixpkgs": "nixpkgs_158", + "nixpkgs-regression": "nixpkgs-regression_29" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_32": { + "inputs": { + "lowdown-src": "lowdown-src_32", + "nixpkgs": "nixpkgs_163", + "nixpkgs-regression": "nixpkgs-regression_30" + }, + "locked": { + "lastModified": 1643066034, + "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "owner": "NixOS", + "repo": "nix", + "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.6.0", + "repo": "nix", + "type": "github" + } + }, + "nix_4": { + "inputs": { + "lowdown-src": "lowdown-src_4", + "nixpkgs": "nixpkgs_16", + "nixpkgs-regression": "nixpkgs-regression_4" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_5": { + "inputs": { + "lowdown-src": "lowdown-src_5", + "nixpkgs": "nixpkgs_26", + "nixpkgs-regression": "nixpkgs-regression_5" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_6": { + "inputs": { + "lowdown-src": "lowdown-src_6", + "nixpkgs": "nixpkgs_35", + "nixpkgs-regression": "nixpkgs-regression_6" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_7": { + "inputs": { + "lowdown-src": "lowdown-src_7", + "nixpkgs": "nixpkgs_43", + "nixpkgs-regression": "nixpkgs-regression_7" + }, + "locked": { + "lastModified": 1646164353, + "narHash": "sha256-Nj3ARvplf0Xa+h4F5Cq1r9cc81C2UIpbAKDgJLsDmUc=", + "owner": "kreisys", + "repo": "nix", + "rev": "45677cae8d474270ecd797eb40eb1f8836981604", + "type": "github" + }, + "original": { + "owner": "kreisys", + "ref": "goodnix-maybe-dont-functor", + "repo": "nix", + "type": "github" + } + }, + "nix_8": { + "inputs": { + "lowdown-src": "lowdown-src_8", + "nixpkgs": "nixpkgs_45" + }, + "locked": { + "lastModified": 1604400356, + "narHash": "sha256-PX1cSYv0Y6I2tidcuEwJTo8X5vAvf9vjdfHO51LD/J0=", + "owner": "NixOS", + "repo": "nix", + "rev": "cf82e14712b3be881b7c880468cd5486e8934638", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nix", + "type": "github" + } + }, + "nix_9": { + "inputs": { + "lowdown-src": "lowdown-src_9", + "nixpkgs": "nixpkgs_47", + "nixpkgs-regression": "nixpkgs-regression_8" + }, + "locked": { + "lastModified": 1645189081, + "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", + "owner": "nixos", + "repo": "nix", + "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nix", + "type": "github" + } + }, + "nixago": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_10", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", + "nixago-exts": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ - "liqwid-nix", - "haskell-nix", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_11": { + "nixago-exts": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago-extensions", + "type": "github" + } + }, + "nixago-exts_2": { + "locked": { + "lastModified": 1625557891, + "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", + "owner": "divnix", + "repo": "blank", + "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago-extensions", + "type": "github" + } + }, + "nixago_10": { "inputs": { - "flake-compat": "flake-compat_42", "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_11", - "nixpkgs": [ + "nixago-exts": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_12": { + "nixago_11": { "inputs": { - "flake-compat": "flake-compat_44", "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", - "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_12", + "nixago-exts": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "std", + "blank" + ], "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", - "tullia", + "std", "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago_12": { + "inputs": { + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "flake-utils" ], - "nixpkgs-lib": [ + "nixago-exts": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_2": { + "nixago_13": { "inputs": { - "flake-compat": "flake-compat_15", "flake-utils": [ - "hydra", - "cardano-node", - "cardano-automation", + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_2", - "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", + "nixago-exts": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ - "hydra", - "cardano-node", - "cardano-automation", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "ply", + "haskellNix", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_3": { + "nixago_14": { "inputs": { - "flake-compat": "flake-compat_21", "flake-utils": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "haskell-nix", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_3", - "nixpkgs": [ + "nixago-exts": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "haskell-nix", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ + "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "haskell-nix", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_4": { + "nixago_15": { "inputs": { - "flake-compat": "flake-compat_24", "flake-utils": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_4", - "nixpkgs": [ + "nixago-exts": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ + "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "haskell-nix", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_5": { + "nixago_16": { "inputs": { - "flake-compat": "flake-compat_26", "flake-utils": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", - "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_5", - "nixpkgs": [ + "nixago-exts": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", - "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ + "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", "liqwid-nix", "plutarch", "tooling", "plutus", - "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_6": { + "nixago_17": { "inputs": { - "flake-compat": "flake-compat_29", "flake-utils": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_6", - "nixpkgs": [ + "nixago-exts": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ + "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_7": { + "nixago_18": { "inputs": { - "flake-compat": "flake-compat_31", "flake-utils": [ - "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_7", + "nixago-exts": [ + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "blank" + ], "nixpkgs": [ - "hydra-auction-onchain", "liqwid-nix", "haskell-nix", "tullia", + "std", "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago_19": { + "inputs": { + "flake-utils": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "flake-utils" ], - "nixpkgs-lib": [ - "hydra-auction-onchain", + "nixago-exts": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago_2": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1676075813, + "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", + "owner": "nix-community", + "repo": "nixago", + "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_8": { + "nixago_20": { "inputs": { - "flake-compat": "flake-compat_34", "flake-utils": [ - "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", - "nix2container", + "plutus", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_8", - "nixpkgs": [ - "hydra-auction-onchain", + "nixago-exts": [ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", - "nixpkgs" + "plutus", + "std", + "blank" ], - "nixpkgs-lib": [ - "hydra-auction-onchain", + "nixpkgs": [ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-nomad_9": { + "nixago_21": { "inputs": { - "flake-compat": "flake-compat_36", "flake-utils": [ - "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", "plutus", "tullia", - "nix2container", + "std", "flake-utils" ], - "gomod2nix": "gomod2nix_9", - "nixpkgs": [ - "hydra-auction-onchain", + "nixago-exts": [ "liqwid-nix", "plutarch", "tooling", "plutus", "tullia", - "nixpkgs" + "std", + "blank" ], - "nixpkgs-lib": [ - "hydra-auction-onchain", + "nixpkgs": [ "liqwid-nix", "plutarch", "tooling", "plutus", "tullia", + "std", "nixpkgs" ] }, "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-npm-buildpackage": { + "nixago_3": { "inputs": { - "nixpkgs": "nixpkgs_84" + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "flake-utils" + ], + "nixago-exts": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "blank" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "nixpkgs" + ] }, "locked": { - "lastModified": 1686315622, - "narHash": "sha256-ccqZqY6wUFot0ewyNKQUrMR6IEliGza+pjKoSVMXIeM=", - "owner": "serokell", - "repo": "nix-npm-buildpackage", - "rev": "991a792bccd611842f6bc1aa99fe80380ad68d44", + "lastModified": 1683210100, + "narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=", + "owner": "nix-community", + "repo": "nixago", + "rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630", "type": "github" }, "original": { - "owner": "serokell", - "repo": "nix-npm-buildpackage", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-tools": { - "flake": false, + "nixago_4": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1644395812, - "narHash": "sha256-BVFk/BEsTLq5MMZvdy3ZYHKfaS3dHrsKh4+tb5t5b58=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "d847c63b99bbec78bf83be2a61dc9f09b8a9ccc1", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-tools", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-tools_2": { - "flake": false, + "nixago_5": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "std", + "flake-utils" + ], + "nixago-exts": "nixago-exts", + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1649424170, - "narHash": "sha256-XgKXWispvv5RCvZzPb+p7e6Hy3LMuRjafKMl7kXzxGw=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "e109c94016e3b6e0db7ed413c793e2d4bdb24aa7", + "lastModified": 1659153038, + "narHash": "sha256-g4npRU8YBR7CAqMF0SyXtkHnoY9q+NcxvZwcc6UvLBc=", + "owner": "nix-community", + "repo": "nixago", + "rev": "608abdd0fe6729d1f7244e03f1a7f8a5d6408898", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-tools", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-tools_3": { - "flake": false, + "nixago_6": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "std", + "flake-utils" + ], + "nixago-exts": "nixago-exts_2", + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1658968505, - "narHash": "sha256-UnbQ/Ig/23e9hUdDOBwYHwHgHmQawZ2uazpJ8DLIJgE=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "8a754bdcf20b20e116409c2341cf69065d083053", + "lastModified": 1659153038, + "narHash": "sha256-g4npRU8YBR7CAqMF0SyXtkHnoY9q+NcxvZwcc6UvLBc=", + "owner": "nix-community", + "repo": "nixago", + "rev": "608abdd0fe6729d1f7244e03f1a7f8a5d6408898", "type": "github" }, - "original": { - "owner": "input-output-hk", - "repo": "nix-tools", - "type": "github" - } - }, - "nix-tools_4": { - "flake": false, + "original": { + "owner": "nix-community", + "repo": "nixago", + "type": "github" + } + }, + "nixago_7": { + "inputs": { + "flake-utils": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1649424170, - "narHash": "sha256-XgKXWispvv5RCvZzPb+p7e6Hy3LMuRjafKMl7kXzxGw=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "e109c94016e3b6e0db7ed413c793e2d4bdb24aa7", + "lastModified": 1676075813, + "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", + "owner": "nix-community", + "repo": "nixago", + "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-tools", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix-tools_5": { - "flake": false, + "nixago_8": { + "inputs": { + "flake-utils": [ + "hydra", + "cardano-node", + "std", + "flake-utils" + ], + "nixago-exts": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "nixpkgs": [ + "hydra", + "cardano-node", + "std", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1649424170, - "narHash": "sha256-XgKXWispvv5RCvZzPb+p7e6Hy3LMuRjafKMl7kXzxGw=", - "owner": "input-output-hk", - "repo": "nix-tools", - "rev": "e109c94016e3b6e0db7ed413c793e2d4bdb24aa7", + "lastModified": 1683210100, + "narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=", + "owner": "nix-community", + "repo": "nixago", + "rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "nix-tools", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix2container": { + "nixago_9": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_4" + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "flake-utils" + ], + "nixago-exts": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] }, "locked": { - "lastModified": 1671269339, - "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "owner": "nix-community", + "repo": "nixago", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "nix-community", + "repo": "nixago", "type": "github" } }, - "nix2container_10": { - "inputs": { - "flake-utils": "flake-utils_65", - "nixpkgs": "nixpkgs_109" - }, + "nixlib": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1652576347, + "narHash": "sha256-52Wu7hkcIRcS4UenSSrt01J2sAbbQ6YqxZIDpuEPL/c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "bdf553800c9c34ed00641785b02038f67f44d671", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "nix2container_11": { - "inputs": { - "flake-utils": "flake-utils_70", - "nixpkgs": "nixpkgs_115" - }, + "nixlib_2": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1644107864, + "narHash": "sha256-Wrbt6Gs+hjXD3HUICPBJHKnHEUqiyx8rzHCgvqC1Bok=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "58eabcf65e7dba189eb0013f86831c159e3b2be6", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "nix2container_12": { - "inputs": { - "flake-utils": "flake-utils_77", - "nixpkgs": "nixpkgs_121" - }, + "nixlib_3": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1656809537, + "narHash": "sha256-pwXBYG3ThN4ccJjvcdNdonQ8Wyv0y/iYdnuesiFUY1U=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "40e271f69106323734b55e2ba74f13bebde324c0", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "nix2container_13": { - "inputs": { - "flake-utils": "flake-utils_82", - "nixpkgs": "nixpkgs_126" - }, + "nixpkgs": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1687420147, + "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_14": { - "inputs": { - "flake-utils": "flake-utils_87", - "nixpkgs": "nixpkgs_132" - }, + "nixpkgs-2003": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_15": { - "inputs": { - "flake-utils": "flake-utils_94", - "nixpkgs": "nixpkgs_138" - }, + "nixpkgs-2003_10": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_2": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_6" - }, + "nixpkgs-2003_11": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_3": { - "inputs": { - "flake-utils": "flake-utils_30", - "nixpkgs": "nixpkgs_65" - }, - "locked": { - "lastModified": 1653427219, - "narHash": "sha256-q6MzrIZq1BBFxYN+UQjW60LpQJXV6RIIUmO8gKRyMqg=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "11a0e14c2468720f42ca8dec3b82862abf96c837", + "nixpkgs-2003_12": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "ref": "init-nix-db", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_4": { - "inputs": { - "flake-utils": "flake-utils_35", - "nixpkgs": "nixpkgs_73" - }, + "nixpkgs-2003_13": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_5": { - "inputs": { - "flake-utils": "flake-utils_37", - "nixpkgs": "nixpkgs_77" - }, + "nixpkgs-2003_14": { "locked": { - "lastModified": 1671269339, - "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_6": { - "inputs": { - "flake-utils": "flake-utils_42", - "nixpkgs": "nixpkgs_87" - }, + "nixpkgs-2003_15": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_7": { - "inputs": { - "flake-utils": "flake-utils_47", - "nixpkgs": "nixpkgs_93" - }, + "nixpkgs-2003_16": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_8": { - "inputs": { - "flake-utils": "flake-utils_54", - "nixpkgs": "nixpkgs_99" - }, + "nixpkgs-2003_17": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix2container_9": { - "inputs": { - "flake-utils": "flake-utils_60", - "nixpkgs": "nixpkgs_104" - }, + "nixpkgs-2003_18": { "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nlewo", - "repo": "nix2container", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_10": { - "inputs": { - "lowdown-src": "lowdown-src_10", - "nixpkgs": "nixpkgs_45" - }, + "nixpkgs-2003_19": { "locked": { - "lastModified": 1604400356, - "narHash": "sha256-PX1cSYv0Y6I2tidcuEwJTo8X5vAvf9vjdfHO51LD/J0=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "cf82e14712b3be881b7c880468cd5486e8934638", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_11": { - "inputs": { - "lowdown-src": "lowdown-src_11", - "nixpkgs": "nixpkgs_47", - "nixpkgs-regression": "nixpkgs-regression_9" - }, + "nixpkgs-2003_2": { "locked": { - "lastModified": 1645189081, - "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", - "owner": "nixos", - "repo": "nix", - "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_12": { - "inputs": { - "lowdown-src": "lowdown-src_12", - "nixpkgs": "nixpkgs_59", - "nixpkgs-regression": "nixpkgs-regression_10" - }, + "nixpkgs-2003_20": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_13": { - "inputs": { - "lowdown-src": "lowdown-src_13", - "nixpkgs": "nixpkgs_61", - "nixpkgs-regression": "nixpkgs-regression_11" - }, + "nixpkgs-2003_21": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_14": { - "inputs": { - "lowdown-src": "lowdown-src_14", - "nixpkgs": "nixpkgs_68", - "nixpkgs-regression": "nixpkgs-regression_12" - }, + "nixpkgs-2003_22": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_15": { - "inputs": { - "lowdown-src": "lowdown-src_15", - "nixpkgs": "nixpkgs_69", - "nixpkgs-regression": "nixpkgs-regression_13" - }, + "nixpkgs-2003_3": { "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_16": { - "inputs": { - "lowdown-src": "lowdown-src_16", - "nixpkgs": "nixpkgs_71", - "nixpkgs-regression": "nixpkgs-regression_14" - }, + "nixpkgs-2003_4": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_17": { - "inputs": { - "lowdown-src": "lowdown-src_17", - "nixpkgs": "nixpkgs_76", - "nixpkgs-regression": "nixpkgs-regression_15" - }, + "nixpkgs-2003_5": { "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_18": { - "inputs": { - "lowdown-src": "lowdown-src_18", - "nixpkgs": "nixpkgs_81", - "nixpkgs-regression": "nixpkgs-regression_16" - }, + "nixpkgs-2003_6": { "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_19": { - "inputs": { - "lowdown-src": "lowdown-src_19", - "nixpkgs": "nixpkgs_85", - "nixpkgs-regression": "nixpkgs-regression_17" - }, + "nixpkgs-2003_7": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_2": { - "inputs": { - "lowdown-src": "lowdown-src_2", - "nixpkgs": "nixpkgs_14", - "nixpkgs-regression": "nixpkgs-regression_2" - }, + "nixpkgs-2003_8": { "locked": { - "lastModified": 1646164353, - "narHash": "sha256-Nj3ARvplf0Xa+h4F5Cq1r9cc81C2UIpbAKDgJLsDmUc=", - "owner": "kreisys", - "repo": "nix", - "rev": "45677cae8d474270ecd797eb40eb1f8836981604", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { - "owner": "kreisys", - "ref": "goodnix-maybe-dont-functor", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_20": { - "inputs": { - "lowdown-src": "lowdown-src_20", - "nixpkgs": "nixpkgs_91", - "nixpkgs-regression": "nixpkgs-regression_18" - }, + "nixpkgs-2003_9": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_21": { - "inputs": { - "lowdown-src": "lowdown-src_21", - "nixpkgs": "nixpkgs_96", - "nixpkgs-regression": "nixpkgs-regression_19" - }, + "nixpkgs-2105": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_22": { - "inputs": { - "lowdown-src": "lowdown-src_22", - "nixpkgs": "nixpkgs_102", - "nixpkgs-regression": "nixpkgs-regression_20" - }, + "nixpkgs-2105_10": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_23": { - "inputs": { - "lowdown-src": "lowdown-src_23", - "nixpkgs": "nixpkgs_107", - "nixpkgs-regression": "nixpkgs-regression_21" - }, + "nixpkgs-2105_11": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_24": { - "inputs": { - "lowdown-src": "lowdown-src_24", - "nixpkgs": "nixpkgs_113", - "nixpkgs-regression": "nixpkgs-regression_22" - }, + "nixpkgs-2105_12": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_25": { - "inputs": { - "lowdown-src": "lowdown-src_25", - "nixpkgs": "nixpkgs_118", - "nixpkgs-regression": "nixpkgs-regression_23" - }, + "nixpkgs-2105_13": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_26": { - "inputs": { - "lowdown-src": "lowdown-src_26", - "nixpkgs": "nixpkgs_124", - "nixpkgs-regression": "nixpkgs-regression_24" - }, + "nixpkgs-2105_14": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_27": { - "inputs": { - "lowdown-src": "lowdown-src_27", - "nixpkgs": "nixpkgs_130", - "nixpkgs-regression": "nixpkgs-regression_25" - }, + "nixpkgs-2105_15": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_28": { - "inputs": { - "lowdown-src": "lowdown-src_28", - "nixpkgs": "nixpkgs_135", - "nixpkgs-regression": "nixpkgs-regression_26" - }, + "nixpkgs-2105_16": { "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_3": { - "inputs": { - "lowdown-src": "lowdown-src_3", - "nixpkgs": "nixpkgs_16" - }, + "nixpkgs-2105_17": { "locked": { - "lastModified": 1604400356, - "narHash": "sha256-PX1cSYv0Y6I2tidcuEwJTo8X5vAvf9vjdfHO51LD/J0=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "cf82e14712b3be881b7c880468cd5486e8934638", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "repo": "nix", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_4": { - "inputs": { - "lowdown-src": "lowdown-src_4", - "nixpkgs": "nixpkgs_18", - "nixpkgs-regression": "nixpkgs-regression_3" - }, + "nixpkgs-2105_18": { "locked": { - "lastModified": 1645189081, - "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", - "owner": "nixos", - "repo": "nix", - "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_5": { - "inputs": { - "lowdown-src": "lowdown-src_5", - "nixpkgs": "nixpkgs_28", - "nixpkgs-regression": "nixpkgs-regression_4" - }, + "nixpkgs-2105_19": { "locked": { - "lastModified": 1652510778, - "narHash": "sha256-zldZ4SiwkISFXxrbY/UdwooIZ3Z/I6qKxtpc3zD0T/o=", - "owner": "nixos", - "repo": "nix", - "rev": "65cd26eebbbf80eaf0d74092f09b737606cb4b5a", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nixos", - "ref": "2.8.1", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_6": { - "inputs": { - "lowdown-src": "lowdown-src_6", - "nixpkgs": "nixpkgs_30", - "nixpkgs-regression": "nixpkgs-regression_5" - }, + "nixpkgs-2105_2": { "locked": { - "lastModified": 1645189081, - "narHash": "sha256-yZA+07JTG9Z610DceiYyzm+C08yHhcIgfl/Cp7lY3ho=", - "owner": "nixos", - "repo": "nix", - "rev": "9bc03adbba5334663901c1136203bc07e4776be9", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_7": { - "inputs": { - "lowdown-src": "lowdown-src_7", - "nixpkgs": "nixpkgs_37", - "nixpkgs-regression": "nixpkgs-regression_6" - }, + "nixpkgs-2105_20": { "locked": { - "lastModified": 1644413094, - "narHash": "sha256-KLGaeSqvhuUFz6DxrB9r3w+lfp9bXIiCT9K1cqg7Ze8=", - "owner": "nixos", - "repo": "nix", - "rev": "52f52319ad21bdbd7a33bb85eccc83756648f110", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nix", - "rev": "52f52319ad21bdbd7a33bb85eccc83756648f110", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_8": { - "inputs": { - "lowdown-src": "lowdown-src_8", - "nixpkgs": "nixpkgs_38", - "nixpkgs-regression": "nixpkgs-regression_7" - }, + "nixpkgs-2105_21": { "locked": { - "lastModified": 1645437800, - "narHash": "sha256-MAMIKi3sIQ0b3jzYyOb5VY29GRgv7JXl1VXoUM9xUZw=", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", "owner": "NixOS", - "repo": "nix", - "rev": "f22b9e72f51f97f8f2d334748d3e97123940a146", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { "owner": "NixOS", - "repo": "nix", - "rev": "f22b9e72f51f97f8f2d334748d3e97123940a146", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nix_9": { - "inputs": { - "lowdown-src": "lowdown-src_9", - "nixpkgs": "nixpkgs_43", - "nixpkgs-regression": "nixpkgs-regression_8" - }, + "nixpkgs-2105_22": { "locked": { - "lastModified": 1646164353, - "narHash": "sha256-Nj3ARvplf0Xa+h4F5Cq1r9cc81C2UIpbAKDgJLsDmUc=", - "owner": "kreisys", - "repo": "nix", - "rev": "45677cae8d474270ecd797eb40eb1f8836981604", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "kreisys", - "ref": "goodnix-maybe-dont-functor", - "repo": "nix", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2105_3": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago-exts": { + "nixpkgs-2105_4": { "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago-extensions", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago-exts_2": { + "nixpkgs-2105_5": { "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago-extensions", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_10": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2105_6": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1642244250, + "narHash": "sha256-vWpUEqQdVP4srj+/YLJRTN9vjpTs4je0cdWKXPbDItc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0fd9ee1aa36ce865ad273f4f07fdc093adeb5c00", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_11": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2105_7": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1645296114, + "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_12": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2105_8": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1655034179, + "narHash": "sha256-rf1/7AbzuYDw6+8Xvvf3PtEOygymLBrFsFxvext5ZjI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "046ee4af7a9f016a364f8f78eeaa356ba524ac31", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_13": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2105_9": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1645296114, + "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_14": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] + "nixpkgs-2111": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_10": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_15": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] + "nixpkgs-2111_11": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_12": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_16": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_13": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_17": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_14": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_18": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_15": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_2": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "std", - "flake-utils" - ], - "nixago-exts": "nixago-exts", - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_16": { "locked": { - "lastModified": 1659153038, - "narHash": "sha256-g4npRU8YBR7CAqMF0SyXtkHnoY9q+NcxvZwcc6UvLBc=", - "owner": "nix-community", - "repo": "nixago", - "rev": "608abdd0fe6729d1f7244e03f1a7f8a5d6408898", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_3": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "std", - "flake-utils" - ], - "nixago-exts": "nixago-exts_2", - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "std", - "nixpkgs" - ] + "nixpkgs-2111_17": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_18": { "locked": { - "lastModified": 1659153038, - "narHash": "sha256-g4npRU8YBR7CAqMF0SyXtkHnoY9q+NcxvZwcc6UvLBc=", - "owner": "nix-community", - "repo": "nixago", - "rev": "608abdd0fe6729d1f7244e03f1a7f8a5d6408898", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_4": { - "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] + "nixpkgs-2111_19": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_2": { "locked": { - "lastModified": 1676075813, - "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", - "owner": "nix-community", - "repo": "nixago", - "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_5": { - "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra", - "cardano-node", - "std", - "blank" - ], - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_20": { "locked": { - "lastModified": 1683210100, - "narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=", - "owner": "nix-community", - "repo": "nixago", - "rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_6": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_21": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_7": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, + "nixpkgs-2111_22": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_8": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] + "nixpkgs-2111_3": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_4": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixago_9": { - "inputs": { - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] + "nixpkgs-2111_5": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111_6": { "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "lastModified": 1644510859, + "narHash": "sha256-xjpVvL5ecbyi0vxtVl/Fh9bwGlMbw3S06zE5nUzFB8A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0d1d5d7e3679fec9d07f2eb804d9f9fdb98378d3", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixago", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixlib": { + "nixpkgs-2111_7": { "locked": { - "lastModified": 1652576347, - "narHash": "sha256-52Wu7hkcIRcS4UenSSrt01J2sAbbQ6YqxZIDpuEPL/c=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "bdf553800c9c34ed00641785b02038f67f44d671", + "lastModified": 1648744337, + "narHash": "sha256-bYe1dFJAXovjqiaPKrmAbSBEK5KUkgwVaZcTbSoJ7hg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0a58eebd8ec65ffdef2ce9562784123a73922052", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixlib_2": { + "nixpkgs-2111_8": { "locked": { - "lastModified": 1644107864, - "narHash": "sha256-Wrbt6Gs+hjXD3HUICPBJHKnHEUqiyx8rzHCgvqC1Bok=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "58eabcf65e7dba189eb0013f86831c159e3b2be6", + "lastModified": 1656782578, + "narHash": "sha256-1eMCBEqJplPotTo/SZ/t5HU6Sf2I8qKlZi9MX7jv9fw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "573603b7fdb9feb0eb8efc16ee18a015c667ab1b", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixlib_3": { + "nixpkgs-2111_9": { "locked": { - "lastModified": 1656809537, - "narHash": "sha256-pwXBYG3ThN4ccJjvcdNdonQ8Wyv0y/iYdnuesiFUY1U=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "40e271f69106323734b55e2ba74f13bebde324c0", + "lastModified": 1648744337, + "narHash": "sha256-bYe1dFJAXovjqiaPKrmAbSBEK5KUkgwVaZcTbSoJ7hg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0a58eebd8ec65ffdef2ce9562784123a73922052", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", "type": "github" } }, - "nixpkgs": { + "nixpkgs-2205": { "locked": { - "lastModified": 1687420147, - "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003": { + "nixpkgs-2205_10": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_10": { + "nixpkgs-2205_11": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_11": { + "nixpkgs-2205_12": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_12": { + "nixpkgs-2205_13": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_13": { + "nixpkgs-2205_14": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_14": { + "nixpkgs-2205_15": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_15": { + "nixpkgs-2205_16": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_16": { + "nixpkgs-2205_17": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_17": { + "nixpkgs-2205_18": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_18": { + "nixpkgs-2205_19": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1663981975, + "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_19": { + "nixpkgs-2205_2": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_2": { + "nixpkgs-2205_3": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1682600000, + "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_3": { + "nixpkgs-2205_4": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_4": { + "nixpkgs-2205_5": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_5": { + "nixpkgs-2205_6": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1657876628, + "narHash": "sha256-URmf0O2cQ/3heg2DJOeLyU/JmfVMqG4X5t9crQXMaeY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "549d82bdd40f760a438c3c3497c1c61160f3de55", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_6": { + "nixpkgs-2205_7": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_7": { + "nixpkgs-2205_8": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_8": { + "nixpkgs-2205_9": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2003_9": { + "nixpkgs-2211": { "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105": { + "nixpkgs-2211_10": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1669997163, + "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_10": { + "nixpkgs-2211_11": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1669997163, + "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_11": { + "nixpkgs-2211_2": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_12": { + "nixpkgs-2211_3": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1682682915, + "narHash": "sha256-haR0u/j/nUvlMloYlaOYq1FMXTvkNHw+wGxc+0qXisM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "09f1b33fcc0f59263137e23e935c1bb03ec920e4", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_13": { + "nixpkgs-2211_4": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_14": { + "nixpkgs-2211_5": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_15": { + "nixpkgs-2211_6": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_16": { + "nixpkgs-2211_7": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_17": { + "nixpkgs-2211_8": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_18": { + "nixpkgs-2211_9": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1669997163, + "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_19": { + "nixpkgs-2305": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_2": { + "nixpkgs-2305_2": { "locked": { - "lastModified": 1642244250, - "narHash": "sha256-vWpUEqQdVP4srj+/YLJRTN9vjpTs4je0cdWKXPbDItc=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fd9ee1aa36ce865ad273f4f07fdc093adeb5c00", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_3": { + "nixpkgs-2305_3": { "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_4": { + "nixpkgs-2305_4": { "locked": { - "lastModified": 1655034179, - "narHash": "sha256-rf1/7AbzuYDw6+8Xvvf3PtEOygymLBrFsFxvext5ZjI=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "046ee4af7a9f016a364f8f78eeaa356ba524ac31", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_5": { + "nixpkgs-2305_5": { "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_6": { + "nixpkgs-2305_6": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_7": { + "nixpkgs-2305_7": { "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_8": { + "nixpkgs-2311": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2105_9": { + "nixpkgs-2311_2": { "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111": { + "nixpkgs-2311_3": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_10": { + "nixpkgs-2311_4": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_11": { + "nixpkgs-2405": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1720122915, + "narHash": "sha256-Nby8WWxj0elBu1xuRaUcRjPi/rU3xVbkAt2kj4QwX2U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "835cf2d3f37989c5db6585a28de967a667a75fb1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixpkgs-24.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_12": { + "nixpkgs-arion": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1721996520, + "narHash": "sha256-R/d5Af+YT2i6/QlGKQ4mZt/kziI1D6KTXumRWkbX/+s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "cd3ac4d9337a8be63e48a38583c5978627f4daeb", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_13": { + "nixpkgs-docker": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", + "lastModified": 1652739558, + "narHash": "sha256-znGkjGugajqF/sFS+H4+ENmGTaVPFE0uu1JjQZJLEaQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "ff691ed9ba21528c1b4e034f36a04027e4522c58", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "owner": "nixos", "repo": "nixpkgs", + "rev": "ff691ed9ba21528c1b4e034f36a04027e4522c58", "type": "github" } }, - "nixpkgs-2111_14": { + "nixpkgs-latest": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1669639772, + "narHash": "sha256-eiy6Zr0omoRZCxn7WOffTeLSZzQGiGrKcN4ErmTqzow=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "a2494bf2042d605ca1c4a679401bdc4971da54fb", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", + "rev": "a2494bf2042d605ca1c4a679401bdc4971da54fb", "type": "github" } }, - "nixpkgs-2111_15": { + "nixpkgs-latest_2": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1700670213, + "narHash": "sha256-zKna5RUmScDdrPnU4S3WDarIOWUHoo41Hg8JIcNBGLs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "612493c63d4e8af96b9747b70f86d83b8b73937a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_16": { + "nixpkgs-latest_3": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "lastModified": 1678136609, + "narHash": "sha256-deLxtJFgW2IpzcAso3T68Fc9dmYjnNGiW2wDi1JrDOY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "e073af1b905fea86b46acc4d96faf3825f8b8cb1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_17": { + "nixpkgs-lib": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1671359686, + "narHash": "sha256-3MpC6yZo+Xn9cPordGz2/ii6IJpP2n8LE8e/ebUXLrs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "04f574a1c0fde90b51bf68198e2297ca4e7cccf4", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_18": { + "nixpkgs-lib_10": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1672350804, + "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_19": { + "nixpkgs-lib_11": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_2": { + "nixpkgs-lib_12": { "locked": { - "lastModified": 1644510859, - "narHash": "sha256-xjpVvL5ecbyi0vxtVl/Fh9bwGlMbw3S06zE5nUzFB8A=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0d1d5d7e3679fec9d07f2eb804d9f9fdb98378d3", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_3": { + "nixpkgs-lib_13": { "locked": { - "lastModified": 1648744337, - "narHash": "sha256-bYe1dFJAXovjqiaPKrmAbSBEK5KUkgwVaZcTbSoJ7hg=", + "dir": "lib", + "lastModified": 1665349835, + "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0a58eebd8ec65ffdef2ce9562784123a73922052", + "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_4": { + "nixpkgs-lib_14": { "locked": { - "lastModified": 1656782578, - "narHash": "sha256-1eMCBEqJplPotTo/SZ/t5HU6Sf2I8qKlZi9MX7jv9fw=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573603b7fdb9feb0eb8efc16ee18a015c667ab1b", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_5": { + "nixpkgs-lib_15": { "locked": { - "lastModified": 1648744337, - "narHash": "sha256-bYe1dFJAXovjqiaPKrmAbSBEK5KUkgwVaZcTbSoJ7hg=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0a58eebd8ec65ffdef2ce9562784123a73922052", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_6": { + "nixpkgs-lib_16": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1665349835, + "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_7": { + "nixpkgs-lib_17": { "locked": { - "lastModified": 1648744337, - "narHash": "sha256-bYe1dFJAXovjqiaPKrmAbSBEK5KUkgwVaZcTbSoJ7hg=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0a58eebd8ec65ffdef2ce9562784123a73922052", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_8": { + "nixpkgs-lib_18": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2111_9": { + "nixpkgs-lib_19": { "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "dir": "lib", + "lastModified": 1665349835, + "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205": { + "nixpkgs-lib_2": { "locked": { - "lastModified": 1682600000, - "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", + "dir": "lib", + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_10": { + "nixpkgs-lib_3": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "dir": "lib", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_11": { + "nixpkgs-lib_4": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "dir": "lib", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_12": { + "nixpkgs-lib_5": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "dir": "lib", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_13": { + "nixpkgs-lib_6": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + } + }, + "nixpkgs-lib_7": { + "locked": { + "lastModified": 1714640452, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + } + }, + "nixpkgs-lib_8": { + "locked": { + "dir": "lib", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_14": { + "nixpkgs-lib_9": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "dir": "lib", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { + "dir": "lib", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2205_15": { + "nixpkgs-regression": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2205_2": { + "nixpkgs-regression_10": { "locked": { - "lastModified": 1657876628, - "narHash": "sha256-URmf0O2cQ/3heg2DJOeLyU/JmfVMqG4X5t9crQXMaeY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "549d82bdd40f760a438c3c3497c1c61160f3de55", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_3": { + "nixpkgs-regression_11": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" + } + }, + "nixpkgs-regression_12": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_4": { + "nixpkgs-regression_13": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_5": { + "nixpkgs-regression_14": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_6": { + "nixpkgs-regression_15": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_7": { + "nixpkgs-regression_16": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_8": { + "nixpkgs-regression_17": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2205_9": { + "nixpkgs-regression_18": { "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2211": { + "nixpkgs-regression_19": { "locked": { - "lastModified": 1682682915, - "narHash": "sha256-haR0u/j/nUvlMloYlaOYq1FMXTvkNHw+wGxc+0qXisM=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "09f1b33fcc0f59263137e23e935c1bb03ec920e4", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2211_2": { + "nixpkgs-regression_2": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2211_3": { + "nixpkgs-regression_20": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-2211_4": { + "nixpkgs-regression_21": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2211_5": { + "nixpkgs-regression_22": { "locked": { - "lastModified": 1669997163, - "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2211_6": { + "nixpkgs-regression_23": { "locked": { - "lastModified": 1669997163, - "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2211_7": { + "nixpkgs-regression_24": { "locked": { - "lastModified": 1669997163, - "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2305": { + "nixpkgs-regression_25": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2305_2": { + "nixpkgs-regression_26": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2305_3": { + "nixpkgs-regression_27": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2311": { + "nixpkgs-regression_28": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2311_2": { + "nixpkgs-regression_29": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-2311_3": { + "nixpkgs-regression_3": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-docker": { + "nixpkgs-regression_30": { "locked": { - "lastModified": 1652739558, - "narHash": "sha256-znGkjGugajqF/sFS+H4+ENmGTaVPFE0uu1JjQZJLEaQ=", - "owner": "nixos", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ff691ed9ba21528c1b4e034f36a04027e4522c58", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ff691ed9ba21528c1b4e034f36a04027e4522c58", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-latest": { + "nixpkgs-regression_4": { "locked": { - "lastModified": 1669639772, - "narHash": "sha256-eiy6Zr0omoRZCxn7WOffTeLSZzQGiGrKcN4ErmTqzow=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2494bf2042d605ca1c4a679401bdc4971da54fb", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2494bf2042d605ca1c4a679401bdc4971da54fb", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-latest_2": { + "nixpkgs-regression_5": { "locked": { - "lastModified": 1700670213, - "narHash": "sha256-zKna5RUmScDdrPnU4S3WDarIOWUHoo41Hg8JIcNBGLs=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "612493c63d4e8af96b9747b70f86d83b8b73937a", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-latest_3": { + "nixpkgs-regression_6": { "locked": { - "lastModified": 1678136609, - "narHash": "sha256-deLxtJFgW2IpzcAso3T68Fc9dmYjnNGiW2wDi1JrDOY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e073af1b905fea86b46acc4d96faf3825f8b8cb1", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - } - }, - "nixpkgs-lib_10": { + "nixpkgs-regression_7": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-lib_11": { + "nixpkgs-regression_8": { "locked": { - "dir": "lib", - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-lib_12": { + "nixpkgs-regression_9": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "indirect" } }, - "nixpkgs-lib_13": { + "nixpkgs-stable": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1690066826, + "narHash": "sha256-6L2qb+Zc0BFkh72OS9uuX637gniOjzU6qCDBpjB2LGY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "ce45b591975d070044ca24e3003c830d26fea1c8", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "release-23.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_14": { + "nixpkgs-stable_2": { "locked": { - "dir": "lib", - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_2": { - "locked": { - "lastModified": 1714640452, - "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" - } - }, - "nixpkgs-lib_3": { + "nixpkgs-stable_3": { "locked": { - "dir": "lib", - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_4": { + "nixpkgs-stable_4": { "locked": { - "dir": "lib", - "lastModified": 1698611440, - "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_5": { + "nixpkgs-stable_5": { "locked": { - "dir": "lib", - "lastModified": 1672350804, - "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_6": { + "nixpkgs-stable_6": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_7": { + "nixpkgs-stable_7": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_8": { + "nixpkgs-unstable": { "locked": { - "dir": "lib", - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", + "lastModified": 1690720142, + "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", + "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-lib_9": { + "nixpkgs-unstable_10": { "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1648219316, + "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", "type": "github" }, "original": { - "dir": "lib", "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs-unstable_11": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1657888067, + "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-regression_10": { + "nixpkgs-unstable_12": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1648219316, + "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" - } - }, - "nixpkgs-regression_11": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" - }, - "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" } }, - "nixpkgs-regression_12": { + "nixpkgs-unstable_13": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_13": { + "nixpkgs-unstable_14": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-regression_14": { + "nixpkgs-unstable_15": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" } }, - "nixpkgs-regression_15": { + "nixpkgs-unstable_16": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-regression_16": { + "nixpkgs-unstable_17": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-regression_17": { + "nixpkgs-unstable_18": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_18": { + "nixpkgs-unstable_19": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_19": { + "nixpkgs-unstable_2": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1696577711, + "narHash": "sha256-94VRjvClIKDym1QRqPkX5LTQoAwZ1E6QE/3dWtOXSIQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "a2eb207f45e4a14a1e3019d9e3863d1e208e2295", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_2": { + "nixpkgs-unstable_20": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_20": { + "nixpkgs-unstable_21": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_21": { + "nixpkgs-unstable_22": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_22": { + "nixpkgs-unstable_23": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_23": { + "nixpkgs-unstable_24": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_24": { + "nixpkgs-unstable_25": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_25": { + "nixpkgs-unstable_3": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_26": { + "nixpkgs-unstable_4": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1682656005, + "narHash": "sha256-fYplYo7so1O+rSQ2/aS+SbTPwLTeoUXk4ekKNtSl4P8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "6806b63e824f84b0f0e60b6d660d4ae753de0477", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_3": { + "nixpkgs-unstable_5": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_4": { + "nixpkgs-unstable_6": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" } }, - "nixpkgs-regression_5": { + "nixpkgs-unstable_7": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1646331602, + "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_6": { + "nixpkgs-unstable_8": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1656338871, + "narHash": "sha256-+LOvZFt3MpWtrxXLH4igQtRVzyD43VnuTJjDVbt7phY=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "819e4d63fc7f337a822a049fd055cd7615a5e0d6", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_7": { + "nixpkgs-unstable_9": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", + "lastModified": 1646331602, + "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_8": { + "nixpkgs_10": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1670461440, + "narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "04a75b2eecc0acf6239acf9dd04485ff8d14f425", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-22.11-small", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-regression_9": { + "nixpkgs_100": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs_101": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs_102": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", - "owner": "NixOS", + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.11", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable_3": { + "nixpkgs_103": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs-stable_4": { + "nixpkgs_104": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable_5": { + "nixpkgs_105": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-stable_6": { + "nixpkgs_106": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "lastModified": 1681001314, + "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs_107": { "locked": { - "lastModified": 1682656005, - "narHash": "sha256-fYplYo7so1O+rSQ2/aS+SbTPwLTeoUXk4ekKNtSl4P8=", - "owner": "NixOS", + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "6806b63e824f84b0f0e60b6d660d4ae753de0477", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_10": { + "nixpkgs_108": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", - "owner": "NixOS", + "lastModified": 1677063315, + "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-unstable_11": { + "nixpkgs_109": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, - "nixpkgs-unstable_12": { + "nixpkgs_11": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1690026219, + "narHash": "sha256-oOduRk/kzQxOBknZXTLSEYd7tk+GoKvr8wV6Ab+t4AU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "f465da166263bc0d4b39dfd4ca28b777c92d4b73", "type": "github" }, "original": { @@ -18802,157 +23753,167 @@ "type": "github" } }, - "nixpkgs-unstable_13": { + "nixpkgs_110": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "release-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_14": { + "nixpkgs_111": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", + "lastModified": 1714091391, + "narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_15": { + "nixpkgs_112": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1653917367, + "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "437c8e6554911095f0557d524e9d2ffe1c26e33a", "type": "github" }, "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_113": { + "locked": { + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs-unstable_16": { + "nixpkgs_114": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_17": { + "nixpkgs_115": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_18": { + "nixpkgs_116": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_19": { + "nixpkgs_117": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1678293141, + "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_2": { + "nixpkgs_118": { "locked": { - "lastModified": 1646331602, - "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", - "owner": "nixos", + "lastModified": 1678891326, + "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", + "rev": "1544ef240132d4357d9a39a40c8e6afd1678b052", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_20": { + "nixpkgs_119": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs-unstable_21": { + "nixpkgs_12": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", + "lastModified": 1675249806, + "narHash": "sha256-u8Rcqekusl3pMZm68hZqr6zozI8Ug5IxqOiqDLAlu1k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "79feedf38536de2a27d13fe2eaf200a9c05193ba", "type": "github" }, "original": { @@ -18962,135 +23923,131 @@ "type": "github" } }, - "nixpkgs-unstable_3": { + "nixpkgs_120": { "locked": { - "lastModified": 1656338871, - "narHash": "sha256-+LOvZFt3MpWtrxXLH4igQtRVzyD43VnuTJjDVbt7phY=", - "owner": "nixos", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "819e4d63fc7f337a822a049fd055cd7615a5e0d6", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_4": { + "nixpkgs_121": { "locked": { - "lastModified": 1646331602, - "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", - "owner": "nixos", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_5": { + "nixpkgs_122": { "locked": { - "lastModified": 1648219316, - "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", - "owner": "NixOS", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_6": { + "nixpkgs_123": { "locked": { - "lastModified": 1657888067, - "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", + "lastModified": 1670841420, + "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", + "rev": "33e0d99cbedf2acfd7340d2150837fbb28039a64", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_7": { + "nixpkgs_124": { "locked": { - "lastModified": 1648219316, - "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs-unstable_8": { + "nixpkgs_125": { "locked": { - "lastModified": 1701336116, - "narHash": "sha256-kEmpezCR/FpITc6yMbAh4WrOCiT2zg5pSjnKrq51h5Y=", + "lastModified": 1663905476, + "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5c27c6136db4d76c30e533c20517df6864c46ee", + "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable_9": { + "nixpkgs_126": { "locked": { - "lastModified": 1648219316, - "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_10": { + "nixpkgs_127": { "locked": { - "lastModified": 1644972330, - "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_100": { + "nixpkgs_128": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19106,7 +24063,7 @@ "type": "github" } }, - "nixpkgs_101": { + "nixpkgs_129": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -19122,7 +24079,22 @@ "type": "github" } }, - "nixpkgs_102": { + "nixpkgs_13": { + "locked": { + "lastModified": 1636823747, + "narHash": "sha256-oWo1nElRAOZqEf90Yek2ixdHyjD+gqtS/pAgwaQ9UhQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f6a2ed2082d9a51668c86ba27d0b5496f7a2ea93", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_130": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19137,7 +24109,7 @@ "type": "indirect" } }, - "nixpkgs_103": { + "nixpkgs_131": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19153,7 +24125,7 @@ "type": "github" } }, - "nixpkgs_104": { + "nixpkgs_132": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19168,7 +24140,7 @@ "type": "github" } }, - "nixpkgs_105": { + "nixpkgs_133": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19184,7 +24156,7 @@ "type": "github" } }, - "nixpkgs_106": { + "nixpkgs_134": { "locked": { "lastModified": 1667292599, "narHash": "sha256-7ISOUI1aj6UKMPIL+wwthENL22L3+A9V+jS8Is3QsRo=", @@ -19198,7 +24170,7 @@ "type": "indirect" } }, - "nixpkgs_107": { + "nixpkgs_135": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19213,7 +24185,7 @@ "type": "indirect" } }, - "nixpkgs_108": { + "nixpkgs_136": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19229,7 +24201,7 @@ "type": "github" } }, - "nixpkgs_109": { + "nixpkgs_137": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19244,21 +24216,7 @@ "type": "github" } }, - "nixpkgs_11": { - "locked": { - "lastModified": 1627969475, - "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_110": { + "nixpkgs_138": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19274,7 +24232,7 @@ "type": "github" } }, - "nixpkgs_111": { + "nixpkgs_139": { "locked": { "lastModified": 1678293141, "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", @@ -19290,7 +24248,23 @@ "type": "github" } }, - "nixpkgs_112": { + "nixpkgs_14": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_140": { "locked": { "lastModified": 1678891326, "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", @@ -19305,7 +24279,7 @@ "type": "github" } }, - "nixpkgs_113": { + "nixpkgs_141": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19320,7 +24294,7 @@ "type": "indirect" } }, - "nixpkgs_114": { + "nixpkgs_142": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19336,7 +24310,7 @@ "type": "github" } }, - "nixpkgs_115": { + "nixpkgs_143": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19351,7 +24325,7 @@ "type": "github" } }, - "nixpkgs_116": { + "nixpkgs_144": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19367,7 +24341,7 @@ "type": "github" } }, - "nixpkgs_117": { + "nixpkgs_145": { "locked": { "lastModified": 1670841420, "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", @@ -19383,7 +24357,7 @@ "type": "github" } }, - "nixpkgs_118": { + "nixpkgs_146": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19398,7 +24372,7 @@ "type": "indirect" } }, - "nixpkgs_119": { + "nixpkgs_147": { "locked": { "lastModified": 1663905476, "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", @@ -19413,54 +24387,52 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_148": { "locked": { - "lastModified": 1644972330, - "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_120": { + "nixpkgs_149": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_121": { + "nixpkgs_15": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs_122": { + "nixpkgs_150": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19476,7 +24448,7 @@ "type": "github" } }, - "nixpkgs_123": { + "nixpkgs_151": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -19492,7 +24464,7 @@ "type": "github" } }, - "nixpkgs_124": { + "nixpkgs_152": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19507,7 +24479,7 @@ "type": "indirect" } }, - "nixpkgs_125": { + "nixpkgs_153": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19523,7 +24495,7 @@ "type": "github" } }, - "nixpkgs_126": { + "nixpkgs_154": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19538,7 +24510,7 @@ "type": "github" } }, - "nixpkgs_127": { + "nixpkgs_155": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19554,54 +24526,38 @@ "type": "github" } }, - "nixpkgs_128": { + "nixpkgs_156": { "locked": { "lastModified": 1678293141, "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_129": { - "locked": { - "lastModified": 1678891326, - "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1544ef240132d4357d9a39a40c8e6afd1678b052", + "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_157": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", - "owner": "nixos", + "lastModified": 1678891326, + "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "1544ef240132d4357d9a39a40c8e6afd1678b052", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_130": { + "nixpkgs_158": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19616,7 +24572,7 @@ "type": "indirect" } }, - "nixpkgs_131": { + "nixpkgs_159": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19632,7 +24588,23 @@ "type": "github" } }, - "nixpkgs_132": { + "nixpkgs_16": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_160": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19647,7 +24619,7 @@ "type": "github" } }, - "nixpkgs_133": { + "nixpkgs_161": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19663,7 +24635,7 @@ "type": "github" } }, - "nixpkgs_134": { + "nixpkgs_162": { "locked": { "lastModified": 1670841420, "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", @@ -19679,7 +24651,7 @@ "type": "github" } }, - "nixpkgs_135": { + "nixpkgs_163": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -19694,7 +24666,7 @@ "type": "indirect" } }, - "nixpkgs_136": { + "nixpkgs_164": { "locked": { "lastModified": 1663905476, "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", @@ -19709,7 +24681,7 @@ "type": "github" } }, - "nixpkgs_137": { + "nixpkgs_165": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -19725,7 +24697,7 @@ "type": "github" } }, - "nixpkgs_138": { + "nixpkgs_166": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -19740,7 +24712,7 @@ "type": "github" } }, - "nixpkgs_139": { + "nixpkgs_167": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -19756,22 +24728,7 @@ "type": "github" } }, - "nixpkgs_14": { - "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_140": { + "nixpkgs_168": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -19787,216 +24744,184 @@ "type": "github" } }, - "nixpkgs_15": { - "locked": { - "lastModified": 1638452135, - "narHash": "sha256-5Il6hgrTgcWIsB7zug0yDFccYXx7pJCw8cwJdXMuLfM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "43cdc5b364511eabdcad9fde639777ffd9e5bab1", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "rev": "43cdc5b364511eabdcad9fde639777ffd9e5bab1", - "type": "github" - } - }, - "nixpkgs_16": { - "locked": { - "lastModified": 1602702596, - "narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ad0d20345219790533ebe06571f82ed6b034db31", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-20.09-small", - "type": "indirect" - } - }, "nixpkgs_17": { "locked": { - "lastModified": 1638887115, - "narHash": "sha256-emjtIeqyJ84Eb3X7APJruTrwcfnHQKs55XGljj62prs=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1bd4bbd49bef217a3d1adea43498270d6e779d65", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-21.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_18": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_19": { "locked": { - "lastModified": 1641909823, - "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", - "owner": "nixos", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1642336556, - "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", + "lastModified": 1687420147, + "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", + "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_20": { "locked": { - "lastModified": 1647350163, - "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", + "lastModified": 1674407282, + "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3eb07eeafb52bcbf02ce800f032f18d666a9498d", + "rev": "ab1254087f4cdf4af74b552d7fc95175d9bdbb49", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_21": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_22": { "locked": { - "lastModified": 1646506091, - "narHash": "sha256-sWNAJE2m+HOh1jtXlHcnhxsj6/sXrHgbqVNcVRlveK4=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e644bd62489b516292c816f70bf0052c693b3c7", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_23": { "locked": { - "lastModified": 1658119717, - "narHash": "sha256-4upOZIQQ7Bc4CprqnHsKnqYfw+arJeAuU+QcpjYBXW0=", - "owner": "nixos", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "9eb60f25aff0d2218c848dd4574a0ab5e296cabe", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_24": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_25": { "locked": { - "lastModified": 1652576347, - "narHash": "sha256-52Wu7hkcIRcS4UenSSrt01J2sAbbQ6YqxZIDpuEPL/c=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "bdf553800c9c34ed00641785b02038f67f44d671", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_26": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", - "owner": "nixos", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_27": { "locked": { - "lastModified": 1642451377, - "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e5b47c5c21336e3fdd887d24c7e34363fa09c6d7", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { @@ -20007,199 +24932,196 @@ }, "nixpkgs_28": { "locked": { - "lastModified": 1645296114, - "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", + "lastModified": 1681001314, + "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" } }, "nixpkgs_29": { "locked": { - "lastModified": 1652559422, - "narHash": "sha256-jPVTNImBTUIFdtur+d4IVot6eXmsvtOcBm0TzxmhWPk=", - "owner": "NixOS", + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "8b3398bc7587ebb79f93dfeea1b8c574d3c6dba1", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-21.11", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "lastModified": 1677543769, + "narHash": "sha256-LwbqS8vGisXl2WHpK9r5+kodr0zoIT8F2YB0R4y1TsA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "b26d52c9feb6476580016e78935cbf96eb3e2115", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.05-small", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_30": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", + "lastModified": 1677063315, + "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_31": { "locked": { - "lastModified": 1641909823, - "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", - "owner": "nixos", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_32": { "locked": { - "lastModified": 1647350163, - "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", - "owner": "nixos", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "3eb07eeafb52bcbf02ce800f032f18d666a9498d", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_33": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_34": { "locked": { - "lastModified": 1658311025, - "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", - "owner": "nixos", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd8d1784506a7c7eb0796772b73437e0b82fad57", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_35": { "locked": { - "lastModified": 1646331602, - "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", - "owner": "nixos", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_36": { "locked": { - "lastModified": 1643381941, - "narHash": "sha256-pHTwvnN4tTsEKkWlXQ8JMY423epos8wUOhthpwJjtpc=", + "lastModified": 1712920918, + "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5efc8ca954272c4376ac929f4c5ffefcc20551d5", + "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_37": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", + "lastModified": 1708343346, + "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "9312b935a538684049cb668885e60f15547d4c5f", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nixos", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_38": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "lastModified": 1627969475, + "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-21.05-small", "type": "indirect" } }, "nixpkgs_39": { "locked": { - "lastModified": 1644486793, - "narHash": "sha256-EeijR4guVHgVv+JpOX3cQO+1XdrkJfGmiJ9XVsVU530=", + "lastModified": 1644972330, + "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1882c6b7368fd284ad01b0a5b5601ef136321292", + "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", "type": "github" }, "original": { @@ -20211,15 +25133,16 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", + "lastModified": 1645013224, + "narHash": "sha256-b7OEC8vwzJv3rsz9pwnTX2LQDkeOWz2DbKypkVvNHXc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "b66b39216b1fef2d8c33cc7a5c72d8da80b79970", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -20381,15 +25304,15 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", + "lastModified": 1680945546, + "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -20461,76 +25384,79 @@ }, "nixpkgs_54": { "locked": { - "lastModified": 1646470760, - "narHash": "sha256-dQISyucVCCPaFioUhy5ZgfBz8rOMKGI8k13aPDFTqEs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2", + "lastModified": 1652576347, + "narHash": "sha256-52Wu7hkcIRcS4UenSSrt01J2sAbbQ6YqxZIDpuEPL/c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "bdf553800c9c34ed00641785b02038f67f44d671", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, "nixpkgs_55": { "locked": { - "lastModified": 1619531122, - "narHash": "sha256-ovm5bo6PkZzNKh2YGXbRKYIjega0EjiEP0YDwyeXEYU=", - "owner": "NixOS", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "bb80d578e8ad3cb5a607f468ac00cc546d0396dc", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_56": { "locked": { - "lastModified": 1656461576, - "narHash": "sha256-rlmmw6lIlkMQIiB+NsnO8wQYWTfle8TA41UREPLP5VY=", + "lastModified": 1642451377, + "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c", + "rev": "e5b47c5c21336e3fdd887d24c7e34363fa09c6d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_57": { "locked": { - "lastModified": 1655567057, - "narHash": "sha256-Cc5hQSMsTzOHmZnYm8OSJ5RNUp22bd5NADWLHorULWQ=", + "lastModified": 1645296114, + "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0a42267f73ea52adc061a64650fddc59906fc99", + "rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1", "type": "github" }, "original": { "id": "nixpkgs", + "ref": "nixos-21.05-small", "type": "indirect" } }, "nixpkgs_58": { "locked": { - "lastModified": 1656401090, - "narHash": "sha256-bUS2nfQsvTQW2z8SK7oEFSElbmoBahOPtbXPm0AL3I4=", + "lastModified": 1652559422, + "narHash": "sha256-jPVTNImBTUIFdtur+d4IVot6eXmsvtOcBm0TzxmhWPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "16de63fcc54e88b9a106a603038dd5dd2feb21eb", + "rev": "8b3398bc7587ebb79f93dfeea1b8c574d3c6dba1", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_59": { @@ -20550,87 +25476,91 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_60": { "locked": { - "lastModified": 1656809537, - "narHash": "sha256-pwXBYG3ThN4ccJjvcdNdonQ8Wyv0y/iYdnuesiFUY1U=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "40e271f69106323734b55e2ba74f13bebde324c0", + "lastModified": 1641909823, + "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", "type": "github" } }, "nixpkgs_61": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", + "lastModified": 1647350163, + "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "3eb07eeafb52bcbf02ce800f032f18d666a9498d", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_62": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_63": { "locked": { - "lastModified": 1656947410, - "narHash": "sha256-htDR/PZvjUJGyrRJsVqDmXR8QeoswBaRLzHt13fd0iY=", - "owner": "NixOS", + "lastModified": 1658311025, + "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e8d47977286a44955262adbc76f2c8a66e7419d5", + "rev": "cd8d1784506a7c7eb0796772b73437e0b82fad57", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.05", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_64": { "locked": { - "lastModified": 1658311025, - "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", + "lastModified": 1646331602, + "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cd8d1784506a7c7eb0796772b73437e0b82fad57", + "rev": "ad267cc9cf3d5a6ae63940df31eb31382d6356e6", "type": "github" }, "original": { @@ -20642,52 +25572,36 @@ }, "nixpkgs_65": { "locked": { - "lastModified": 1642451377, - "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", + "lastModified": 1643381941, + "narHash": "sha256-pHTwvnN4tTsEKkWlXQ8JMY423epos8wUOhthpwJjtpc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e5b47c5c21336e3fdd887d24c7e34363fa09c6d7", + "rev": "5efc8ca954272c4376ac929f4c5ffefcc20551d5", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_66": { "locked": { - "lastModified": 1653920503, - "narHash": "sha256-BBeCZwZImtjP3oYy4WogkQYy5OxNyfNciVSc1AfZgLQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "a634c8f6c1fbf9b9730e01764999666f3436f10a", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-22.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_67": { - "locked": { - "lastModified": 1650469885, - "narHash": "sha256-BuILRZ6pzMnGey8/irbjGq1oo3vIvZa1pitSdZCmIXA=", - "owner": "nixos", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "df78cc4e2a46fca75d14508a5d2ed3494add28ff", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs_68": { + "nixpkgs_67": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -20702,279 +25616,296 @@ "type": "indirect" } }, - "nixpkgs_69": { + "nixpkgs_68": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "lastModified": 1644486793, + "narHash": "sha256-EeijR4guVHgVv+JpOX3cQO+1XdrkJfGmiJ9XVsVU530=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "1882c6b7368fd284ad01b0a5b5601ef136321292", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.05-small", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_69": { + "locked": { + "lastModified": 1627969475, + "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", + "owner": "NixOS", "repo": "nixpkgs", + "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_7": { "locked": { - "lastModified": 1674407282, - "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", + "lastModified": 1692339729, + "narHash": "sha256-TUK76/Pqm9qIDjEGd27Lz9EiBIvn5F70JWDmEQ4Y5DQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ab1254087f4cdf4af74b552d7fc95175d9bdbb49", + "rev": "ae521bd4e460b076a455dca8b13f4151489a725c", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-22.11", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_70": { "locked": { - "lastModified": 1697723726, - "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", + "lastModified": 1644972330, + "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", + "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_71": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_72": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, "nixpkgs_73": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", + "lastModified": 1638452135, + "narHash": "sha256-5Il6hgrTgcWIsB7zug0yDFccYXx7pJCw8cwJdXMuLfM=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "43cdc5b364511eabdcad9fde639777ffd9e5bab1", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "repo": "nixpkgs", + "rev": "43cdc5b364511eabdcad9fde639777ffd9e5bab1", "type": "github" } }, "nixpkgs_74": { "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", - "owner": "nixos", + "lastModified": 1602702596, + "narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "rev": "ad0d20345219790533ebe06571f82ed6b034db31", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-20.09-small", + "type": "indirect" } }, "nixpkgs_75": { "locked": { - "lastModified": 1642336556, - "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", + "lastModified": 1638887115, + "narHash": "sha256-emjtIeqyJ84Eb3X7APJruTrwcfnHQKs55XGljj62prs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", + "rev": "1bd4bbd49bef217a3d1adea43498270d6e779d65", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_76": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, "nixpkgs_77": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", + "lastModified": 1641909823, + "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_78": { "locked": { - "lastModified": 1681001314, - "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", + "lastModified": 1647350163, + "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3eb07eeafb52bcbf02ce800f032f18d666a9498d", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", "type": "github" } }, "nixpkgs_79": { "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_8": { "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "release-22.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_80": { "locked": { - "lastModified": 1677063315, - "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", - "owner": "nixos", + "lastModified": 1646506091, + "narHash": "sha256-sWNAJE2m+HOh1jtXlHcnhxsj6/sXrHgbqVNcVRlveK4=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "rev": "3e644bd62489b516292c816f70bf0052c693b3c7", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_81": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", + "lastModified": 1658119717, + "narHash": "sha256-4upOZIQQ7Bc4CprqnHsKnqYfw+arJeAuU+QcpjYBXW0=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "9eb60f25aff0d2218c848dd4574a0ab5e296cabe", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_82": { "locked": { - "lastModified": 1684171562, - "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-22.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_83": { "locked": { - "lastModified": 1714091391, - "narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=", + "lastModified": 1646470760, + "narHash": "sha256-dQISyucVCCPaFioUhy5ZgfBz8rOMKGI8k13aPDFTqEs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1", + "rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "1fc7212a2c3992eedc6eedf498955c321ad81cc2", "type": "github" } }, "nixpkgs_84": { "locked": { - "lastModified": 1653917367, - "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", + "lastModified": 1619531122, + "narHash": "sha256-ovm5bo6PkZzNKh2YGXbRKYIjega0EjiEP0YDwyeXEYU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "437c8e6554911095f0557d524e9d2ffe1c26e33a", + "rev": "bb80d578e8ad3cb5a607f468ac00cc546d0396dc", "type": "github" }, "original": { @@ -20984,112 +25915,95 @@ }, "nixpkgs_85": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_86": { - "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_87": { - "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", - "type": "github" - }, - "original": { + "lastModified": 1656461576, + "narHash": "sha256-rlmmw6lIlkMQIiB+NsnO8wQYWTfle8TA41UREPLP5VY=", "owner": "NixOS", "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_88": { - "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "rev": "cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_89": { + "nixpkgs_86": { "locked": { - "lastModified": 1678293141, - "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "lastModified": 1655567057, + "narHash": "sha256-Cc5hQSMsTzOHmZnYm8OSJ5RNUp22bd5NADWLHorULWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", + "rev": "e0a42267f73ea52adc061a64650fddc59906fc99", "type": "github" }, "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_87": { + "locked": { + "lastModified": 1656401090, + "narHash": "sha256-bUS2nfQsvTQW2z8SK7oEFSElbmoBahOPtbXPm0AL3I4=", "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "16de63fcc54e88b9a106a603038dd5dd2feb21eb", "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs_9": { + "nixpkgs_88": { "locked": { - "lastModified": 1627969475, - "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { "id": "nixpkgs", + "ref": "nixos-21.05-small", "type": "indirect" } }, - "nixpkgs_90": { + "nixpkgs_89": { "locked": { - "lastModified": 1678891326, - "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", - "owner": "NixOS", + "lastModified": 1656809537, + "narHash": "sha256-pwXBYG3ThN4ccJjvcdNdonQ8Wyv0y/iYdnuesiFUY1U=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "40e271f69106323734b55e2ba74f13bebde324c0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "1544ef240132d4357d9a39a40c8e6afd1678b052", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "release-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_91": { + "nixpkgs_90": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21104,44 +26018,44 @@ "type": "indirect" } }, - "nixpkgs_92": { + "nixpkgs_91": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_93": { + "nixpkgs_92": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1656947410, + "narHash": "sha256-htDR/PZvjUJGyrRJsVqDmXR8QeoswBaRLzHt13fd0iY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "e8d47977286a44955262adbc76f2c8a66e7419d5", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-22.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_94": { + "nixpkgs_93": { "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "lastModified": 1658311025, + "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "rev": "cd8d1784506a7c7eb0796772b73437e0b82fad57", "type": "github" }, "original": { @@ -21151,88 +26065,105 @@ "type": "github" } }, - "nixpkgs_95": { + "nixpkgs_94": { "locked": { - "lastModified": 1670841420, - "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", + "lastModified": 1642451377, + "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "33e0d99cbedf2acfd7340d2150837fbb28039a64", + "rev": "e5b47c5c21336e3fdd887d24c7e34363fa09c6d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_96": { + "nixpkgs_95": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", + "lastModified": 1653920503, + "narHash": "sha256-BBeCZwZImtjP3oYy4WogkQYy5OxNyfNciVSc1AfZgLQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "a634c8f6c1fbf9b9730e01764999666f3436f10a", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "nixos", + "ref": "nixos-22.05", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs_97": { + "nixpkgs_96": { "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", + "lastModified": 1650469885, + "narHash": "sha256-BuILRZ6pzMnGey8/irbjGq1oo3vIvZa1pitSdZCmIXA=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", + "rev": "df78cc4e2a46fca75d14508a5d2ed3494add28ff", "type": "github" }, "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_97": { + "locked": { + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, "nixpkgs_98": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_99": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nomad": { "inputs": { - "nix": "nix_3", - "nixpkgs": "nixpkgs_17", - "utils": "utils_4" + "nix": "nix_8", + "nixpkgs": "nixpkgs_46", + "utils": "utils_9" }, "locked": { "lastModified": 1648128770, @@ -21251,11 +26182,11 @@ }, "nomad-driver-nix": { "inputs": { - "devshell": "devshell_2", - "inclusive": "inclusive", - "nix": "nix_4", - "nixpkgs": "nixpkgs_19", - "utils": "utils_5" + "devshell": "devshell_6", + "inclusive": "inclusive_2", + "nix": "nix_9", + "nixpkgs": "nixpkgs_48", + "utils": "utils_10" }, "locked": { "lastModified": 1648029666, @@ -21273,11 +26204,11 @@ }, "nomad-driver-nix_2": { "inputs": { - "devshell": "devshell_5", - "inclusive": "inclusive_4", - "nix": "nix_6", - "nixpkgs": "nixpkgs_31", - "utils": "utils_10" + "devshell": "devshell_9", + "inclusive": "inclusive_5", + "nix": "nix_11", + "nixpkgs": "nixpkgs_60", + "utils": "utils_15" }, "locked": { "lastModified": 1648029666, @@ -21295,11 +26226,11 @@ }, "nomad-driver-nix_3": { "inputs": { - "devshell": "devshell_12", - "inclusive": "inclusive_9", - "nix": "nix_11", - "nixpkgs": "nixpkgs_48", - "utils": "utils_19" + "devshell": "devshell_16", + "inclusive": "inclusive_10", + "nix": "nix_16", + "nixpkgs": "nixpkgs_77", + "utils": "utils_24" }, "locked": { "lastModified": 1648029666, @@ -21317,10 +26248,10 @@ }, "nomad-follower": { "inputs": { - "devshell": "devshell_3", - "inclusive": "inclusive_2", - "nixpkgs": "nixpkgs_20", - "utils": "utils_6" + "devshell": "devshell_7", + "inclusive": "inclusive_3", + "nixpkgs": "nixpkgs_49", + "utils": "utils_11" }, "locked": { "lastModified": 1649836589, @@ -21338,10 +26269,10 @@ }, "nomad-follower_2": { "inputs": { - "devshell": "devshell_6", - "inclusive": "inclusive_5", - "nixpkgs": "nixpkgs_32", - "utils": "utils_11" + "devshell": "devshell_10", + "inclusive": "inclusive_6", + "nixpkgs": "nixpkgs_61", + "utils": "utils_16" }, "locked": { "lastModified": 1658244176, @@ -21359,10 +26290,10 @@ }, "nomad-follower_3": { "inputs": { - "devshell": "devshell_13", - "inclusive": "inclusive_10", - "nixpkgs": "nixpkgs_49", - "utils": "utils_20" + "devshell": "devshell_17", + "inclusive": "inclusive_11", + "nixpkgs": "nixpkgs_78", + "utils": "utils_25" }, "locked": { "lastModified": 1649836589, @@ -21380,9 +26311,9 @@ }, "nomad_2": { "inputs": { - "nix": "nix_10", - "nixpkgs": "nixpkgs_46", - "utils": "utils_18" + "nix": "nix_15", + "nixpkgs": "nixpkgs_75", + "utils": "utils_23" }, "locked": { "lastModified": 1648128770, @@ -21399,13 +26330,58 @@ "type": "github" } }, - "nosys": { + "nosys": { + "locked": { + "lastModified": 1667881534, + "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", + "owner": "divnix", + "repo": "nosys", + "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, + "nosys_2": { + "locked": { + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "owner": "divnix", + "repo": "nosys", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, + "nosys_3": { + "locked": { + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "owner": "divnix", + "repo": "nosys", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "nosys", + "type": "github" + } + }, + "nosys_4": { "locked": { - "lastModified": 1667881534, - "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", "owner": "divnix", "repo": "nosys", - "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", "type": "github" }, "original": { @@ -21414,7 +26390,7 @@ "type": "github" } }, - "nosys_2": { + "nosys_5": { "locked": { "lastModified": 1668010795, "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", @@ -21429,7 +26405,7 @@ "type": "github" } }, - "nosys_3": { + "nosys_6": { "locked": { "lastModified": 1668010795, "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", @@ -21444,6 +26420,23 @@ "type": "github" } }, + "offchain-metadata-tools-service": { + "flake": false, + "locked": { + "lastModified": 1684160858, + "narHash": "sha256-2pu/T4uoXBxhI47PrOS6zHRZRwaSM6qA87HJySwwIBo=", + "owner": "input-output-hk", + "repo": "offchain-metadata-tools", + "rev": "a68c12b10fe5ed9802defb4a6ca80919b695d945", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "feat-add-password-to-db-conn-string", + "repo": "offchain-metadata-tools", + "type": "github" + } + }, "ogmios": { "flake": false, "locked": { @@ -21461,61 +26454,19 @@ "type": "github" } }, - "ogmios-nixos": { - "inputs": { - "CHaP": "CHaP_3", - "blank": "blank_5", - "cardano-configurations": "cardano-configurations_2", - "cardano-node": [ - "cardano-transaction-lib", - "cardano-node" - ], - "flake-compat": "flake-compat_13", - "haskell-nix": [ - "cardano-transaction-lib", - "haskell-nix" - ], - "iohk-nix": [ - "cardano-transaction-lib", - "iohk-nix" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "nixpkgs" - ], - "ogmios-src": [ - "cardano-transaction-lib", - "ogmios" - ] - }, - "locked": { - "lastModified": 1695289922, - "narHash": "sha256-WeZkYCyvOqnVx9zYgyO2rh0rd3O2DmxH0HZ4OJnf/aw=", - "owner": "mlabs-haskell", - "repo": "ogmios-nixos", - "rev": "78e829e9ebd50c5891024dcd1004c2ac51facd80", - "type": "github" - }, - "original": { - "owner": "mlabs-haskell", - "repo": "ogmios-nixos", - "rev": "78e829e9ebd50c5891024dcd1004c2ac51facd80", - "type": "github" - } - }, "ogmios_2": { "flake": false, "locked": { - "lastModified": 1691769233, - "narHash": "sha256-7CLprKq3RwJfvy31LAPux+DYFLjEmbRBFgvtYDpJA8Q=", + "lastModified": 1720778275, + "narHash": "sha256-OpUeVbztfLy+9d2M5w2Jgx1b/IhDNAQdlr/eP1iKUQI=", "owner": "CardanoSolutions", "repo": "ogmios", - "rev": "3d3f359b0987c009ef66fb4d4b4bddce92b9aeb3", + "rev": "63a9e9d33eadbca22d1ecc90b9623b962148d174", "type": "github" }, "original": { "owner": "CardanoSolutions", - "ref": "v6.0.0", + "ref": "v6.5.0", "repo": "ogmios", "type": "github" } @@ -21724,6 +26675,57 @@ "type": "github" } }, + "old-ghc-nix_20": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "old-ghc-nix_21": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "old-ghc-nix_22": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "old-ghc-nix_3": { "flake": false, "locked": { @@ -21860,6 +26862,38 @@ } }, "ops-lib_2": { + "flake": false, + "locked": { + "lastModified": 1675186784, + "narHash": "sha256-HqDtrvk1l7YeREzCSEpUtChtlEgT6Tww9WrJiozjukc=", + "owner": "input-output-hk", + "repo": "ops-lib", + "rev": "5be29ed53b2a4cbbf4cf326fa2e9c1f2b754d26d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "ops-lib", + "type": "github" + } + }, + "ops-lib_3": { + "flake": false, + "locked": { + "lastModified": 1713366514, + "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", + "owner": "input-output-hk", + "repo": "ops-lib", + "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "ops-lib", + "type": "github" + } + }, + "ops-lib_4": { "flake": false, "locked": { "lastModified": 1649848729, @@ -21875,7 +26909,7 @@ "type": "github" } }, - "ops-lib_3": { + "ops-lib_5": { "flake": false, "locked": { "lastModified": 1649848729, @@ -21891,7 +26925,7 @@ "type": "github" } }, - "ops-lib_4": { + "ops-lib_6": { "flake": false, "locked": { "lastModified": 1649848729, @@ -21907,7 +26941,7 @@ "type": "github" } }, - "ops-lib_5": { + "ops-lib_7": { "flake": false, "locked": { "lastModified": 1675186784, @@ -21926,8 +26960,9 @@ "paisano": { "inputs": { "nixpkgs": [ - "hydra", - "cardano-node", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", @@ -21935,8 +26970,9 @@ ], "nosys": "nosys_2", "yants": [ - "hydra", - "cardano-node", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", @@ -21958,6 +26994,31 @@ } }, "paisano-actions": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "paisano-mdbook-preprocessor", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1677306424, + "narHash": "sha256-H9/dI2rGEbKo4KEisqbRPHFG2ajF8Tm111NPdKGIf28=", + "owner": "paisano-nix", + "repo": "actions", + "rev": "65ec4e080b3480167fc1a748c89a05901eea9a9b", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "repo": "actions", + "type": "github" + } + }, + "paisano-actions_2": { "inputs": { "nixpkgs": [ "hydra", @@ -21984,14 +27045,47 @@ "paisano-mdbook-preprocessor": { "inputs": { "crane": "crane", - "fenix": "fenix_7", + "fenix": "fenix_2", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "nixpkgs" + ], + "paisano-actions": "paisano-actions", + "std": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std" + ] + }, + "locked": { + "lastModified": 1680654400, + "narHash": "sha256-Qdpio+ldhUK3zfl22Mhf8HUULdUOJXDWDdO7MIK69OU=", + "owner": "paisano-nix", + "repo": "mdbook-paisano-preprocessor", + "rev": "11a8fc47f574f194a7ae7b8b98001f6143ba4cf1", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "repo": "mdbook-paisano-preprocessor", + "type": "github" + } + }, + "paisano-mdbook-preprocessor_2": { + "inputs": { + "crane": "crane_2", + "fenix": "fenix_9", "nixpkgs": [ "hydra", "cardano-node", "std", "nixpkgs" ], - "paisano-actions": "paisano-actions", + "paisano-actions": "paisano-actions_2", "std": [ "hydra", "cardano-node", @@ -22012,7 +27106,89 @@ "type": "github" } }, - "paisano-tui": { + "paisano-tui": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "std": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std" + ] + }, + "locked": { + "lastModified": 1677533603, + "narHash": "sha256-Nq1dH/qn7Wg/Tj1+id+ZM3o0fzqonW73jAgY3mCp35M=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "802958d123b0a5437441be0cab1dee487b0ed3eb", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "repo": "tui", + "type": "github" + } + }, + "paisano-tui_2": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "blank" + ], + "std": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std" + ] + }, + "locked": { + "lastModified": 1681847764, + "narHash": "sha256-mdd7PJW1BZvxy0cIKsPfAO+ohVl/V7heE5ZTAHzTdv8=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "3096bad91cae73ab8ab3367d31f8a143d248a244", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.1.1", + "repo": "tui", + "type": "github" + } + }, + "paisano-tui_3": { + "flake": false, + "locked": { + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "v0.5.0", + "repo": "tui", + "type": "github" + } + }, + "paisano-tui_4": { "inputs": { "nixpkgs": [ "hydra", @@ -22044,7 +27220,7 @@ "type": "github" } }, - "paisano-tui_2": { + "paisano-tui_5": { "inputs": { "nixpkgs": [ "hydra", @@ -22074,14 +27250,113 @@ } }, "paisano_2": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "nixpkgs" + ], + "nosys": "nosys_3", + "yants": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1686862844, + "narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=", + "owner": "paisano-nix", + "repo": "core", + "rev": "6674b3d3577212c1eeecd30d62d52edbd000e726", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.1.1", + "repo": "core", + "type": "github" + } + }, + "paisano_3": { + "inputs": { + "call-flake": "call-flake", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "nixpkgs" + ], + "nosys": "nosys_4", + "yants": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", + "owner": "paisano-nix", + "repo": "core", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "0.2.0", + "repo": "core", + "type": "github" + } + }, + "paisano_4": { "inputs": { "nixpkgs": [ "hydra", "cardano-node", + "cardano-automation", + "tullia", "std", "nixpkgs" ], - "nosys": "nosys_3", + "nosys": "nosys_5", + "yants": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "yants" + ] + }, + "locked": { + "lastModified": 1677437285, + "narHash": "sha256-YGfMothgUq1T9wMJYEhOSvdIiD/8gLXO1YcZA6hyIWU=", + "owner": "paisano-nix", + "repo": "core", + "rev": "5f2fc05e98e001cb1cf9535ded09e05d90cec131", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "repo": "core", + "type": "github" + } + }, + "paisano_5": { + "inputs": { + "nixpkgs": [ + "hydra", + "cardano-node", + "std", + "nixpkgs" + ], + "nosys": "nosys_6", "yants": [ "hydra", "cardano-node", @@ -22161,59 +27436,19 @@ "type": "github" } }, - "plutip": { - "inputs": { - "CHaP": "CHaP_4", - "cardano-node": [ - "cardano-transaction-lib", - "cardano-node" - ], - "flake-compat": "flake-compat_14", - "hackage-nix": [ - "cardano-transaction-lib", - "hackage-nix" - ], - "haskell-nix": [ - "cardano-transaction-lib", - "haskell-nix" - ], - "iohk-nix": [ - "cardano-transaction-lib", - "iohk-nix" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1695131439, - "narHash": "sha256-7ZhZUDhlFvV2us4G27iAk6lHezKS/4WA07NQn88VtQU=", - "owner": "mlabs-haskell", - "repo": "plutip", - "rev": "1bf0b547cd3689c727586abb8385c008fb2a3d1c", - "type": "github" - }, - "original": { - "owner": "mlabs-haskell", - "ref": "gergely/version-bump", - "repo": "plutip", - "type": "github" - } - }, "plutus": { "inputs": { - "CHaP": "CHaP_7", + "CHaP": "CHaP_8", "gitignore-nix": "gitignore-nix", "hackage-nix": "hackage-nix_2", "haskell-language-server": "haskell-language-server", "haskell-nix": "haskell-nix_7", "iohk-nix": "iohk-nix_7", - "nixpkgs": "nixpkgs_97", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", + "nixpkgs": "nixpkgs_125", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_3", "sphinxcontrib-haddock": "sphinxcontrib-haddock", - "std": "std_9", - "tullia": "tullia_6" + "std": "std_13", + "tullia": "tullia_8" }, "locked": { "lastModified": 1670888424, @@ -22231,17 +27466,17 @@ }, "plutus_2": { "inputs": { - "CHaP": "CHaP_9", + "CHaP": "CHaP_10", "gitignore-nix": "gitignore-nix_2", "hackage-nix": "hackage-nix_3", "haskell-language-server": "haskell-language-server_2", "haskell-nix": "haskell-nix_10", "iohk-nix": "iohk-nix_10", - "nixpkgs": "nixpkgs_119", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_4", + "nixpkgs": "nixpkgs_147", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_5", "sphinxcontrib-haddock": "sphinxcontrib-haddock_2", - "std": "std_14", - "tullia": "tullia_10" + "std": "std_18", + "tullia": "tullia_12" }, "locked": { "lastModified": 1670888424, @@ -22259,17 +27494,17 @@ }, "plutus_3": { "inputs": { - "CHaP": "CHaP_10", + "CHaP": "CHaP_11", "gitignore-nix": "gitignore-nix_3", "hackage-nix": "hackage-nix_4", "haskell-language-server": "haskell-language-server_3", "haskell-nix": "haskell-nix_13", "iohk-nix": "iohk-nix_13", - "nixpkgs": "nixpkgs_136", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_6", + "nixpkgs": "nixpkgs_164", + "pre-commit-hooks-nix": "pre-commit-hooks-nix_7", "sphinxcontrib-haddock": "sphinxcontrib-haddock_3", - "std": "std_18", - "tullia": "tullia_13" + "std": "std_22", + "tullia": "tullia_15" }, "locked": { "lastModified": 1670888424, @@ -22287,10 +27522,10 @@ }, "ply": { "inputs": { - "CHaP": "CHaP_8", + "CHaP": "CHaP_9", "easy-purescript-nix": "easy-purescript-nix_2", - "flake-utils": "flake-utils_58", - "haskellNix": "haskellNix_6", + "flake-utils": "flake-utils_72", + "haskellNix": "haskellNix_9", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -22317,7 +27552,7 @@ }, "poetry2nix": { "inputs": { - "flake-utils": "flake-utils_17", + "flake-utils": "flake-utils_32", "nixpkgs": [ "cardano-transaction-lib", "db-sync", @@ -22344,8 +27579,8 @@ }, "pre-commit-hooks": { "inputs": { - "flake-utils": "flake-utils_23", - "nixpkgs": "nixpkgs_55" + "flake-utils": "flake-utils_38", + "nixpkgs": "nixpkgs_84" }, "locked": { "lastModified": 1639823344, @@ -22363,9 +27598,39 @@ }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_22", - "flake-utils": "flake-utils_45", + "flake-compat": "flake-compat_13", + "flake-utils": "flake-utils_15", "gitignore": "gitignore", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "nixpkgs" + ], + "nixpkgs-stable": [ + "cardano-transaction-lib", + "cardano-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks-nix_2": { + "inputs": { + "flake-compat": "flake-compat_33", + "flake-utils": "flake-utils_59", + "gitignore": "gitignore_2", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -22374,7 +27639,7 @@ "hercules-ci-agent", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1678376203, @@ -22390,9 +27655,9 @@ "type": "github" } }, - "pre-commit-hooks-nix_2": { + "pre-commit-hooks-nix_3": { "inputs": { - "flake-utils": "flake-utils_51", + "flake-utils": "flake-utils_65", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -22417,11 +27682,11 @@ "type": "github" } }, - "pre-commit-hooks-nix_3": { + "pre-commit-hooks-nix_4": { "inputs": { - "flake-compat": "flake-compat_32", - "flake-utils": "flake-utils_68", - "gitignore": "gitignore_3", + "flake-compat": "flake-compat_43", + "flake-utils": "flake-utils_82", + "gitignore": "gitignore_4", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -22429,7 +27694,7 @@ "hercules-ci-agent", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { "lastModified": 1678376203, @@ -22445,9 +27710,9 @@ "type": "github" } }, - "pre-commit-hooks-nix_4": { + "pre-commit-hooks-nix_5": { "inputs": { - "flake-utils": "flake-utils_74", + "flake-utils": "flake-utils_88", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -22471,18 +27736,18 @@ "type": "github" } }, - "pre-commit-hooks-nix_5": { + "pre-commit-hooks-nix_6": { "inputs": { - "flake-compat": "flake-compat_40", - "flake-utils": "flake-utils_85", - "gitignore": "gitignore_5", + "flake-compat": "flake-compat_51", + "flake-utils": "flake-utils_99", + "gitignore": "gitignore_6", "nixpkgs": [ "liqwid-nix", "hercules-ci-effects", "hercules-ci-agent", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_5" + "nixpkgs-stable": "nixpkgs-stable_6" }, "locked": { "lastModified": 1678376203, @@ -22498,9 +27763,9 @@ "type": "github" } }, - "pre-commit-hooks-nix_6": { + "pre-commit-hooks-nix_7": { "inputs": { - "flake-utils": "flake-utils_91", + "flake-utils": "flake-utils_105", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -22525,11 +27790,11 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_27", - "flake-utils": "flake-utils_57", - "gitignore": "gitignore_2", - "nixpkgs": "nixpkgs_101", - "nixpkgs-stable": "nixpkgs-stable_2" + "flake-compat": "flake-compat_38", + "flake-utils": "flake-utils_71", + "gitignore": "gitignore_3", + "nixpkgs": "nixpkgs_129", + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1677832802, @@ -22547,8 +27812,8 @@ }, "pre-commit-hooks_3": { "inputs": { - "flake-utils": "flake-utils_63", - "nixpkgs": "nixpkgs_106" + "flake-utils": "flake-utils_77", + "nixpkgs": "nixpkgs_134" }, "locked": { "lastModified": 1667992213, @@ -22566,11 +27831,11 @@ }, "pre-commit-hooks_4": { "inputs": { - "flake-compat": "flake-compat_37", - "flake-utils": "flake-utils_80", - "gitignore": "gitignore_4", - "nixpkgs": "nixpkgs_123", - "nixpkgs-stable": "nixpkgs-stable_4" + "flake-compat": "flake-compat_48", + "flake-utils": "flake-utils_94", + "gitignore": "gitignore_5", + "nixpkgs": "nixpkgs_151", + "nixpkgs-stable": "nixpkgs-stable_5" }, "locked": { "lastModified": 1677832802, @@ -22588,11 +27853,11 @@ }, "pre-commit-hooks_5": { "inputs": { - "flake-compat": "flake-compat_45", - "flake-utils": "flake-utils_97", - "gitignore": "gitignore_6", - "nixpkgs": "nixpkgs_140", - "nixpkgs-stable": "nixpkgs-stable_6" + "flake-compat": "flake-compat_56", + "flake-utils": "flake-utils_111", + "gitignore": "gitignore_7", + "nixpkgs": "nixpkgs_168", + "nixpkgs-stable": "nixpkgs-stable_7" }, "locked": { "lastModified": 1677832802, @@ -22611,9 +27876,9 @@ "ragenix": { "inputs": { "agenix": "agenix_3", - "flake-utils": "flake-utils_8", - "nixpkgs": "nixpkgs_21", - "rust-overlay": "rust-overlay" + "flake-utils": "flake-utils_23", + "nixpkgs": "nixpkgs_50", + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1641119695, @@ -22632,9 +27897,9 @@ "ragenix_2": { "inputs": { "agenix": "agenix_4", - "flake-utils": "flake-utils_10", - "nixpkgs": "nixpkgs_24", - "rust-overlay": "rust-overlay_2" + "flake-utils": "flake-utils_25", + "nixpkgs": "nixpkgs_53", + "rust-overlay": "rust-overlay_3" }, "locked": { "lastModified": 1645147603, @@ -22653,9 +27918,9 @@ "ragenix_3": { "inputs": { "agenix": "agenix_5", - "flake-utils": "flake-utils_12", - "nixpkgs": "nixpkgs_33", - "rust-overlay": "rust-overlay_3" + "flake-utils": "flake-utils_27", + "nixpkgs": "nixpkgs_62", + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1641119695, @@ -22674,9 +27939,9 @@ "ragenix_4": { "inputs": { "agenix": "agenix_7", - "flake-utils": "flake-utils_19", - "nixpkgs": "nixpkgs_50", - "rust-overlay": "rust-overlay_4" + "flake-utils": "flake-utils_34", + "nixpkgs": "nixpkgs_79", + "rust-overlay": "rust-overlay_5" }, "locked": { "lastModified": 1641119695, @@ -22695,9 +27960,9 @@ "ragenix_5": { "inputs": { "agenix": "agenix_8", - "flake-utils": "flake-utils_21", - "nixpkgs": "nixpkgs_53", - "rust-overlay": "rust-overlay_5" + "flake-utils": "flake-utils_36", + "nixpkgs": "nixpkgs_82", + "rust-overlay": "rust-overlay_6" }, "locked": { "lastModified": 1645147603, @@ -22716,8 +27981,8 @@ "root": { "inputs": { "cardano-transaction-lib": "cardano-transaction-lib", - "flake-parts": "flake-parts_3", - "hydra": "hydra_10", + "flake-parts": "flake-parts_8", + "hydra": "hydra_13", "hydra-auction-onchain": "hydra-auction-onchain", "liqwid-nix": "liqwid-nix_3", "nixpkgs": [ @@ -22731,6 +27996,40 @@ } }, "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1645205556, + "narHash": "sha256-e4lZW3qRyOEJ+vLKFQP7m2Dxh5P44NrnekZYLxlucww=", + "owner": "rust-analyzer", + "repo": "rust-analyzer", + "rev": "acf5874b39f3dc5262317a6074d9fc7285081161", + "type": "github" + }, + "original": { + "owner": "rust-analyzer", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_2": { + "flake": false, + "locked": { + "lastModified": 1677221702, + "narHash": "sha256-1M+58rC4eTCWNmmX0hQVZP20t3tfYNunl9D/PrGUyGE=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "f5401f620699b26ed9d47a1d2e838143a18dbe3b", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_3": { "flake": false, "locked": { "lastModified": 1645024434, @@ -22747,7 +28046,7 @@ "type": "github" } }, - "rust-analyzer-src_2": { + "rust-analyzer-src_4": { "flake": false, "locked": { "lastModified": 1649178056, @@ -22764,7 +28063,7 @@ "type": "github" } }, - "rust-analyzer-src_3": { + "rust-analyzer-src_5": { "flake": false, "locked": { "lastModified": 1645024434, @@ -22781,7 +28080,7 @@ "type": "github" } }, - "rust-analyzer-src_4": { + "rust-analyzer-src_6": { "flake": false, "locked": { "lastModified": 1660579619, @@ -22798,7 +28097,7 @@ "type": "github" } }, - "rust-analyzer-src_5": { + "rust-analyzer-src_7": { "flake": false, "locked": { "lastModified": 1645024434, @@ -22815,7 +28114,7 @@ "type": "github" } }, - "rust-analyzer-src_6": { + "rust-analyzer-src_8": { "flake": false, "locked": { "lastModified": 1649178056, @@ -22832,7 +28131,7 @@ "type": "github" } }, - "rust-analyzer-src_7": { + "rust-analyzer-src_9": { "flake": false, "locked": { "lastModified": 1677221702, @@ -22850,6 +28149,41 @@ } }, "rust-overlay": { + "inputs": { + "flake-utils": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "paisano-mdbook-preprocessor", + "crane", + "flake-utils" + ], + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "paisano-mdbook-preprocessor", + "crane", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1675391458, + "narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -22886,7 +28220,7 @@ "type": "github" } }, - "rust-overlay_2": { + "rust-overlay_3": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -22921,7 +28255,7 @@ "type": "github" } }, - "rust-overlay_3": { + "rust-overlay_4": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -22954,7 +28288,7 @@ "type": "github" } }, - "rust-overlay_4": { + "rust-overlay_5": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -22989,7 +28323,7 @@ "type": "github" } }, - "rust-overlay_5": { + "rust-overlay_6": { "inputs": { "flake-utils": [ "cardano-transaction-lib", @@ -23022,7 +28356,7 @@ "type": "github" } }, - "rust-overlay_6": { + "rust-overlay_7": { "inputs": { "flake-utils": [ "hydra", @@ -23123,6 +28457,91 @@ "type": "github" } }, + "secp256k1_5": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_6": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_7": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_8": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, + "secp256k1_9": { + "flake": false, + "locked": { + "lastModified": 1683999695, + "narHash": "sha256-9nJJVENMXjXEJZzw8DHzin1DkFkF8h9m/c6PuM7Uk4s=", + "owner": "bitcoin-core", + "repo": "secp256k1", + "rev": "acf5c55ae6a94e5ca847e07def40427547876101", + "type": "github" + }, + "original": { + "owner": "bitcoin-core", + "ref": "v0.3.2", + "repo": "secp256k1", + "type": "github" + } + }, "sodium": { "flake": false, "locked": { @@ -23185,9 +28604,113 @@ "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "libsodium", - "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_5": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_6": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_7": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_8": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sodium_9": { + "flake": false, + "locked": { + "lastModified": 1675156279, + "narHash": "sha256-0uRcN5gvMwO7MCXVYnoqG/OmeBFi8qRVnDWJLnBb9+Y=", + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "libsodium", + "rev": "dbb48cce5429cb6585c9034f002568964f1ce567", + "type": "github" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_11", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1690199016, + "narHash": "sha256-yTLL72q6aqGmzHq+C3rDp3rIjno7EJZkFLof6Ika7cE=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "c36df4fe4bf4bb87759b1891cab21e7a05219500", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", "type": "github" } }, @@ -23239,14 +28762,30 @@ "type": "github" } }, + "stable": { + "locked": { + "lastModified": 1669735802, + "narHash": "sha256-qtG/o/i5ZWZLmXw108N2aPiVsxOcidpHJYNkT45ry9Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "731cc710aeebecbf45a258e977e8b68350549522", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "stackage": { "flake": false, "locked": { - "lastModified": 1685491814, - "narHash": "sha256-OQX+h5hcDptW6HVrYkBL7dtgqiaiz9zn6iMYv+0CDzc=", + "lastModified": 1701043780, + "narHash": "sha256-d5CYT7WGEaL6IFNmUg4JUb+onxI/tO1qgHs/TCIKB3A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "678b4297ccef8bbcd83294e47e1a9042034bdbd0", + "rev": "cb49435b81adf0549589c51f39b5b38b4369f106", "type": "github" }, "original": { @@ -23256,6 +28795,38 @@ } }, "stackage_10": { + "flake": false, + "locked": { + "lastModified": 1712276009, + "narHash": "sha256-KlRJ+CGXRueyz2VRLDwra5JBNaI2GkltNJAjHa7fowE=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "758035379a5ac4390879e4cd5164abe0c96fcea7", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_11": { + "flake": false, + "locked": { + "lastModified": 1716164362, + "narHash": "sha256-BXJRk20IcsG8uhuLWxA0Lfzx6VVKNEGQ/TINDkd6MH0=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "f27332e59a188f096a67a46fb5d33b0ea1d5a221", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_12": { "flake": false, "locked": { "lastModified": 1668388618, @@ -23271,7 +28842,7 @@ "type": "github" } }, - "stackage_11": { + "stackage_13": { "flake": false, "locked": { "lastModified": 1670890221, @@ -23287,7 +28858,7 @@ "type": "github" } }, - "stackage_12": { + "stackage_14": { "flake": false, "locked": { "lastModified": 1667351848, @@ -23303,7 +28874,7 @@ "type": "github" } }, - "stackage_13": { + "stackage_15": { "flake": false, "locked": { "lastModified": 1668388618, @@ -23319,7 +28890,7 @@ "type": "github" } }, - "stackage_14": { + "stackage_16": { "flake": false, "locked": { "lastModified": 1668388618, @@ -23335,7 +28906,7 @@ "type": "github" } }, - "stackage_15": { + "stackage_17": { "flake": false, "locked": { "lastModified": 1670890221, @@ -23351,7 +28922,7 @@ "type": "github" } }, - "stackage_16": { + "stackage_18": { "flake": false, "locked": { "lastModified": 1667351848, @@ -23367,7 +28938,7 @@ "type": "github" } }, - "stackage_17": { + "stackage_19": { "flake": false, "locked": { "lastModified": 1668388618, @@ -23383,7 +28954,23 @@ "type": "github" } }, - "stackage_18": { + "stackage_2": { + "flake": false, + "locked": { + "lastModified": 1685491814, + "narHash": "sha256-OQX+h5hcDptW6HVrYkBL7dtgqiaiz9zn6iMYv+0CDzc=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "678b4297ccef8bbcd83294e47e1a9042034bdbd0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_20": { "flake": false, "locked": { "lastModified": 1670890221, @@ -23399,7 +28986,7 @@ "type": "github" } }, - "stackage_19": { + "stackage_21": { "flake": false, "locked": { "lastModified": 1667351848, @@ -23415,7 +29002,39 @@ "type": "github" } }, - "stackage_2": { + "stackage_3": { + "flake": false, + "locked": { + "lastModified": 1700438989, + "narHash": "sha256-x+7Qtboko7ds8CU8pq2sIZiD45DauYoX9LxBfwQr/hs=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "9c2015334cc77837b8454b3b10ef4f711a256f6f", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_4": { + "flake": false, + "locked": { + "lastModified": 1718756571, + "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_5": { "flake": false, "locked": { "lastModified": 1646010978, @@ -23431,7 +29050,7 @@ "type": "github" } }, - "stackage_3": { + "stackage_6": { "flake": false, "locked": { "lastModified": 1655255731, @@ -23447,7 +29066,7 @@ "type": "github" } }, - "stackage_4": { + "stackage_7": { "flake": false, "locked": { "lastModified": 1659402917, @@ -23463,7 +29082,7 @@ "type": "github" } }, - "stackage_5": { + "stackage_8": { "flake": false, "locked": { "lastModified": 1650936094, @@ -23479,14 +29098,14 @@ "type": "github" } }, - "stackage_6": { + "stackage_9": { "flake": false, "locked": { - "lastModified": 1702771826, - "narHash": "sha256-4jFlIYY/hzkRrt4mXpUV81wC9ge4VpC5zcmQANl8GQg=", + "lastModified": 1721952692, + "narHash": "sha256-UXiGzFWWOZMZRYkhS0oVaNK/v8Rr5PxxsM2qV1T6iJI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4aab61a73de63a828ac33eb588e1e65411020a0c", + "rev": "73bfeeb1dccad2858f22f6f57b6571b10579ed2e", "type": "github" }, "original": { @@ -23495,94 +29114,262 @@ "type": "github" } }, - "stackage_7": { - "flake": false, + "statix": { + "inputs": { + "fenix": "fenix", + "nixpkgs": "nixpkgs_4" + }, "locked": { - "lastModified": 1654219171, - "narHash": "sha256-5kp4VTlum+AMmoIbhtrcVSEfYhR4oTKSrwe1iysD8uU=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "6d1fc076976ce6c45da5d077bf882487076efe5c", + "lastModified": 1676888642, + "narHash": "sha256-C73LOMVVCkeL0jA5xN7klLEDEB4NkuiATEJY4A/tIyM=", + "owner": "nerdypepper", + "repo": "statix", + "rev": "3c7136a23f444db252a556928c1489869ca3ab4e", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", + "owner": "nerdypepper", + "repo": "statix", "type": "github" } }, - "stackage_8": { - "flake": false, + "std": { + "inputs": { + "arion": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "blank" + ], + "blank": "blank", + "devshell": "devshell", + "dmerge": "dmerge", + "flake-utils": "flake-utils_8", + "incl": "incl", + "makes": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "blank" + ], + "microvm": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "blank" + ], + "n2c": "n2c", + "nixago": "nixago", + "nixpkgs": "nixpkgs_21", + "nosys": "nosys", + "yants": "yants" + }, "locked": { - "lastModified": 1712276009, - "narHash": "sha256-KlRJ+CGXRueyz2VRLDwra5JBNaI2GkltNJAjHa7fowE=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "758035379a5ac4390879e4cd5164abe0c96fcea7", + "lastModified": 1674526466, + "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", + "owner": "divnix", + "repo": "std", + "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_10": { + "inputs": { + "arion": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "blank": "blank_10", + "devshell": "devshell_22", + "dmerge": "dmerge_9", + "flake-utils": "flake-utils_52", + "haumea": "haumea_3", + "incl": "incl_6", + "makes": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "microvm": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "n2c": "n2c_8", + "nixago": "nixago_8", + "nixpkgs": "nixpkgs_107", + "paisano": "paisano_5", + "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor_2", + "paisano-tui": "paisano-tui_5", + "yants": "yants_12" + }, + "locked": { + "lastModified": 1687300684, + "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", + "owner": "divnix", + "repo": "std", + "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_11": { + "inputs": { + "blank": "blank_11", + "devshell": "devshell_23", + "dmerge": "dmerge_10", + "flake-utils": "flake-utils_57", + "makes": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_4", + "microvm": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "n2c": "n2c_9", + "nixago": "nixago_9", + "nixpkgs": "nixpkgs_116", + "yants": "yants_13" + }, + "locked": { + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "owner": "divnix", + "repo": "std", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", + "owner": "divnix", + "repo": "std", "type": "github" } }, - "stackage_9": { - "flake": false, + "std_12": { + "inputs": { + "blank": "blank_12", + "devshell": "devshell_24", + "dmerge": "dmerge_11", + "flake-utils": "flake-utils_62", + "makes": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_5", + "microvm": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "blank" + ], + "n2c": "n2c_10", + "nixago": "nixago_10", + "nixpkgs": "nixpkgs_122", + "yants": "yants_14" + }, "locked": { - "lastModified": 1716164362, - "narHash": "sha256-BXJRk20IcsG8uhuLWxA0Lfzx6VVKNEGQ/TINDkd6MH0=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "f27332e59a188f096a67a46fb5d33b0ea1d5a221", + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "owner": "divnix", + "repo": "std", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", + "owner": "divnix", + "repo": "std", "type": "github" } }, - "std": { + "std_13": { "inputs": { - "arion": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", - "std", - "blank" - ], - "blank": "blank", - "devshell": "devshell", - "dmerge": "dmerge", - "flake-utils": "flake-utils_5", - "incl": "incl", + "blank": "blank_13", + "devshell": "devshell_25", + "dmerge": "dmerge_12", + "flake-utils": "flake-utils_66", "makes": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "std", "blank" ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_6", "microvm": [ - "cardano-transaction-lib", - "cardano-node", - "tullia", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "std", "blank" ], - "n2c": "n2c", - "nixago": "nixago", - "nixpkgs": "nixpkgs_8", - "nosys": "nosys", - "yants": "yants" + "n2c": "n2c_11", + "nixago": "nixago_11", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "nixpkgs" + ], + "yants": "yants_15" }, "locked": { - "lastModified": 1674526466, - "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", + "lastModified": 1665252656, + "narHash": "sha256-RHktFB35O/KjK2P21E+TtCR8sIpoowGFGZPC0KOT0rg=", "owner": "divnix", "repo": "std", - "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", + "rev": "2240a587e19e1610d967a72e5409176bc6908244", "type": "github" }, "original": { @@ -23591,12 +29378,12 @@ "type": "github" } }, - "std_10": { + "std_14": { "inputs": { - "blank": "blank_11", - "devshell": "devshell_22", - "dmerge": "dmerge_9", - "flake-utils": "flake-utils_55", + "blank": "blank_14", + "devshell": "devshell_26", + "dmerge": "dmerge_13", + "flake-utils": "flake-utils_69", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -23608,7 +29395,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_6", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_7", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -23620,10 +29407,10 @@ "std", "blank" ], - "n2c": "n2c_9", - "nixago": "nixago_9", - "nixpkgs": "nixpkgs_100", - "yants": "yants_12" + "n2c": "n2c_12", + "nixago": "nixago_12", + "nixpkgs": "nixpkgs_128", + "yants": "yants_16" }, "locked": { "lastModified": 1665513321, @@ -23639,12 +29426,12 @@ "type": "github" } }, - "std_11": { + "std_15": { "inputs": { - "blank": "blank_12", - "devshell": "devshell_23", - "dmerge": "dmerge_10", - "flake-utils": "flake-utils_61", + "blank": "blank_15", + "devshell": "devshell_27", + "dmerge": "dmerge_14", + "flake-utils": "flake-utils_75", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -23654,7 +29441,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_7", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_8", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -23664,10 +29451,10 @@ "std", "blank" ], - "n2c": "n2c_10", - "nixago": "nixago_10", - "nixpkgs": "nixpkgs_105", - "yants": "yants_13" + "n2c": "n2c_13", + "nixago": "nixago_13", + "nixpkgs": "nixpkgs_133", + "yants": "yants_17" }, "locked": { "lastModified": 1665513321, @@ -23683,12 +29470,12 @@ "type": "github" } }, - "std_12": { + "std_16": { "inputs": { - "blank": "blank_13", - "devshell": "devshell_24", - "dmerge": "dmerge_11", - "flake-utils": "flake-utils_66", + "blank": "blank_16", + "devshell": "devshell_28", + "dmerge": "dmerge_15", + "flake-utils": "flake-utils_80", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -23697,7 +29484,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_8", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_9", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -23706,10 +29493,10 @@ "std", "blank" ], - "n2c": "n2c_11", - "nixago": "nixago_11", - "nixpkgs": "nixpkgs_110", - "yants": "yants_14" + "n2c": "n2c_14", + "nixago": "nixago_14", + "nixpkgs": "nixpkgs_138", + "yants": "yants_18" }, "locked": { "lastModified": 1665513321, @@ -23725,12 +29512,12 @@ "type": "github" } }, - "std_13": { + "std_17": { "inputs": { - "blank": "blank_14", - "devshell": "devshell_25", - "dmerge": "dmerge_12", - "flake-utils": "flake-utils_71", + "blank": "blank_17", + "devshell": "devshell_29", + "dmerge": "dmerge_16", + "flake-utils": "flake-utils_85", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -23741,7 +29528,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_9", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_10", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -23752,10 +29539,10 @@ "std", "blank" ], - "n2c": "n2c_12", - "nixago": "nixago_12", - "nixpkgs": "nixpkgs_116", - "yants": "yants_15" + "n2c": "n2c_15", + "nixago": "nixago_15", + "nixpkgs": "nixpkgs_144", + "yants": "yants_19" }, "locked": { "lastModified": 1665513321, @@ -23771,12 +29558,12 @@ "type": "github" } }, - "std_14": { + "std_18": { "inputs": { - "blank": "blank_15", - "devshell": "devshell_26", - "dmerge": "dmerge_13", - "flake-utils": "flake-utils_75", + "blank": "blank_18", + "devshell": "devshell_30", + "dmerge": "dmerge_17", + "flake-utils": "flake-utils_89", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -23786,7 +29573,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_10", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_11", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -23796,8 +29583,8 @@ "std", "blank" ], - "n2c": "n2c_13", - "nixago": "nixago_13", + "n2c": "n2c_16", + "nixago": "nixago_16", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -23806,14 +29593,60 @@ "plutus", "nixpkgs" ], - "yants": "yants_16" + "yants": "yants_20" + }, + "locked": { + "lastModified": 1665252656, + "narHash": "sha256-RHktFB35O/KjK2P21E+TtCR8sIpoowGFGZPC0KOT0rg=", + "owner": "divnix", + "repo": "std", + "rev": "2240a587e19e1610d967a72e5409176bc6908244", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_19": { + "inputs": { + "blank": "blank_19", + "devshell": "devshell_31", + "dmerge": "dmerge_18", + "flake-utils": "flake-utils_92", + "makes": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "blank" + ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_12", + "microvm": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "tullia", + "std", + "blank" + ], + "n2c": "n2c_17", + "nixago": "nixago_17", + "nixpkgs": "nixpkgs_150", + "yants": "yants_21" }, "locked": { - "lastModified": 1665252656, - "narHash": "sha256-RHktFB35O/KjK2P21E+TtCR8sIpoowGFGZPC0KOT0rg=", + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", "owner": "divnix", "repo": "std", - "rev": "2240a587e19e1610d967a72e5409176bc6908244", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { @@ -23822,44 +29655,53 @@ "type": "github" } }, - "std_15": { + "std_2": { "inputs": { - "blank": "blank_16", - "devshell": "devshell_27", - "dmerge": "dmerge_14", - "flake-utils": "flake-utils_78", + "arion": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "blank": "blank_2", + "devshell": "devshell_2", + "dmerge": "dmerge_2", + "flake-utils": "flake-utils_11", + "incl": "incl_2", "makes": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_11", "microvm": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "blank" ], - "n2c": "n2c_14", - "nixago": "nixago_14", - "nixpkgs": "nixpkgs_122", - "yants": "yants_17" + "n2c": "n2c_2", + "nixago": "nixago_2", + "nixpkgs": "nixpkgs_24", + "paisano": "paisano", + "paisano-tui": "paisano-tui", + "yants": "yants_2" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1677533652, + "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "490542f624412662e0411d8cb5a9af988ef56633", "type": "github" }, "original": { @@ -23868,12 +29710,12 @@ "type": "github" } }, - "std_16": { + "std_20": { "inputs": { - "blank": "blank_17", - "devshell": "devshell_28", - "dmerge": "dmerge_15", - "flake-utils": "flake-utils_83", + "blank": "blank_20", + "devshell": "devshell_32", + "dmerge": "dmerge_19", + "flake-utils": "flake-utils_97", "makes": [ "liqwid-nix", "haskell-nix", @@ -23881,7 +29723,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_12", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_13", "microvm": [ "liqwid-nix", "haskell-nix", @@ -23889,10 +29731,10 @@ "std", "blank" ], - "n2c": "n2c_15", - "nixago": "nixago_15", - "nixpkgs": "nixpkgs_127", - "yants": "yants_18" + "n2c": "n2c_18", + "nixago": "nixago_18", + "nixpkgs": "nixpkgs_155", + "yants": "yants_22" }, "locked": { "lastModified": 1665513321, @@ -23908,12 +29750,12 @@ "type": "github" } }, - "std_17": { + "std_21": { "inputs": { - "blank": "blank_18", - "devshell": "devshell_29", - "dmerge": "dmerge_16", - "flake-utils": "flake-utils_88", + "blank": "blank_21", + "devshell": "devshell_33", + "dmerge": "dmerge_20", + "flake-utils": "flake-utils_102", "makes": [ "liqwid-nix", "plutarch", @@ -23923,7 +29765,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_13", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_14", "microvm": [ "liqwid-nix", "plutarch", @@ -23933,10 +29775,10 @@ "std", "blank" ], - "n2c": "n2c_16", - "nixago": "nixago_16", - "nixpkgs": "nixpkgs_133", - "yants": "yants_19" + "n2c": "n2c_19", + "nixago": "nixago_19", + "nixpkgs": "nixpkgs_161", + "yants": "yants_23" }, "locked": { "lastModified": 1665513321, @@ -23952,12 +29794,12 @@ "type": "github" } }, - "std_18": { + "std_22": { "inputs": { - "blank": "blank_19", - "devshell": "devshell_30", - "dmerge": "dmerge_17", - "flake-utils": "flake-utils_92", + "blank": "blank_22", + "devshell": "devshell_34", + "dmerge": "dmerge_21", + "flake-utils": "flake-utils_106", "makes": [ "liqwid-nix", "plutarch", @@ -23966,7 +29808,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_14", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_15", "microvm": [ "liqwid-nix", "plutarch", @@ -23975,8 +29817,8 @@ "std", "blank" ], - "n2c": "n2c_17", - "nixago": "nixago_17", + "n2c": "n2c_20", + "nixago": "nixago_20", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -23984,7 +29826,7 @@ "plutus", "nixpkgs" ], - "yants": "yants_20" + "yants": "yants_24" }, "locked": { "lastModified": 1665252656, @@ -24000,12 +29842,12 @@ "type": "github" } }, - "std_19": { + "std_23": { "inputs": { - "blank": "blank_20", - "devshell": "devshell_31", - "dmerge": "dmerge_18", - "flake-utils": "flake-utils_95", + "blank": "blank_23", + "devshell": "devshell_35", + "dmerge": "dmerge_22", + "flake-utils": "flake-utils_109", "makes": [ "liqwid-nix", "plutarch", @@ -24015,7 +29857,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_15", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_16", "microvm": [ "liqwid-nix", "plutarch", @@ -24025,10 +29867,10 @@ "std", "blank" ], - "n2c": "n2c_18", - "nixago": "nixago_18", - "nixpkgs": "nixpkgs_139", - "yants": "yants_21" + "n2c": "n2c_21", + "nixago": "nixago_21", + "nixpkgs": "nixpkgs_167", + "yants": "yants_25" }, "locked": { "lastModified": 1665513321, @@ -24044,46 +29886,49 @@ "type": "github" } }, - "std_2": { - "inputs": { - "devshell": "devshell_7", - "dmerge": "dmerge_2", - "flake-utils": "flake-utils_13", - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", - "nixago": "nixago_2", - "nixpkgs": "nixpkgs_34", - "yants": "yants_3" - }, - "locked": { - "lastModified": 1661370377, - "narHash": "sha256-LBKuwWajbv8osh5doIh7H8MQJgcdqjCGY0pW5eI/0Zk=", - "owner": "divnix", - "repo": "std", - "rev": "92503146d322c0c1ec3f2567925711b5fb59f7e2", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, "std_3": { "inputs": { - "devshell": "devshell_15", + "arion": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "blank" + ], + "blank": "blank_3", + "devshell": "devshell_3", "dmerge": "dmerge_3", - "flake-utils": "flake-utils_29", - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_2", + "flake-utils": "flake-utils_13", + "haumea": "haumea", + "incl": "incl_3", + "makes": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "blank" + ], + "microvm": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "std", + "blank" + ], + "n2c": "n2c_3", "nixago": "nixago_3", - "nixpkgs": "nixpkgs_64", - "yants": "yants_5" + "nixpkgs": "nixpkgs_29", + "paisano": "paisano_2", + "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor", + "paisano-tui": "paisano-tui_2", + "yants": "yants_3" }, "locked": { - "lastModified": 1661367957, - "narHash": "sha256-5B94aTocy6Y6ZJFmzkGdPmg6L6gjNaMVAKcpsaw44Ns=", + "lastModified": 1687300684, + "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", "owner": "divnix", "repo": "std", - "rev": "d39794e19e648b840e5a56aa1f354d43aee9abf7", + "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", "type": "github" }, "original": { @@ -24094,49 +29939,21 @@ }, "std_4": { "inputs": { - "devshell": "devshell_16", - "nixpkgs": "nixpkgs_67", - "yants": "yants_6" - }, - "locked": { - "lastModified": 1652784712, - "narHash": "sha256-ofwGapSWqzUVgIxwwmjlrOVogfjV4yd6WpY8fNfMc2o=", - "owner": "divnix", - "repo": "std", - "rev": "3667d2d868352b0bf47c83440da48bee9f2fab47", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "std_5": { - "inputs": { - "arion": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "blank": "blank_6", - "devshell": "devshell_17", + "blank": "blank_4", + "devshell": "devshell_5", "dmerge": "dmerge_4", - "flake-utils": "flake-utils_36", - "incl": "incl_2", + "flake-utils": "flake-utils_18", "makes": [ - "hydra", + "cardano-transaction-lib", "cardano-node", "cardano-automation", "tullia", "std", "blank" ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", "microvm": [ - "hydra", + "cardano-transaction-lib", "cardano-node", "cardano-automation", "tullia", @@ -24145,17 +29962,15 @@ ], "n2c": "n2c_4", "nixago": "nixago_4", - "nixpkgs": "nixpkgs_74", - "paisano": "paisano", - "paisano-tui": "paisano-tui", - "yants": "yants_7" + "nixpkgs": "nixpkgs_33", + "yants": "yants_4" }, "locked": { - "lastModified": 1677533652, - "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", "owner": "divnix", "repo": "std", - "rev": "490542f624412662e0411d8cb5a9af988ef56633", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { @@ -24164,46 +29979,90 @@ "type": "github" } }, - "std_6": { + "std_5": { "inputs": { "arion": [ - "hydra", + "cardano-transaction-lib", + "cardano-node", + "std", + "blank" + ], + "blank": "blank_5", + "devshell": [ + "cardano-transaction-lib", "cardano-node", "std", "blank" ], - "blank": "blank_7", - "devshell": "devshell_18", "dmerge": "dmerge_5", - "flake-utils": "flake-utils_38", - "haumea": "haumea", - "incl": "incl_3", + "haumea": "haumea_2", + "incl": "incl_4", + "lib": "lib", "makes": [ - "hydra", + "cardano-transaction-lib", "cardano-node", "std", "blank" ], "microvm": [ - "hydra", + "cardano-transaction-lib", "cardano-node", "std", "blank" ], - "n2c": "n2c_5", + "n2c": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "blank" + ], + "nixago": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "blank" + ], + "nixpkgs": "nixpkgs_37", + "paisano": "paisano_3", + "paisano-tui": "paisano-tui_3", + "terranix": [ + "cardano-transaction-lib", + "cardano-node", + "std", + "blank" + ], + "yants": "yants_5" + }, + "locked": { + "lastModified": 1715201063, + "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", + "owner": "divnix", + "repo": "std", + "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "std", + "type": "github" + } + }, + "std_6": { + "inputs": { + "devshell": "devshell_11", + "dmerge": "dmerge_6", + "flake-utils": "flake-utils_28", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_2", "nixago": "nixago_5", - "nixpkgs": "nixpkgs_79", - "paisano": "paisano_2", - "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor", - "paisano-tui": "paisano-tui_2", - "yants": "yants_8" + "nixpkgs": "nixpkgs_63", + "yants": "yants_7" }, "locked": { - "lastModified": 1687300684, - "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", + "lastModified": 1661370377, + "narHash": "sha256-LBKuwWajbv8osh5doIh7H8MQJgcdqjCGY0pW5eI/0Zk=", "owner": "divnix", "repo": "std", - "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", + "rev": "92503146d322c0c1ec3f2567925711b5fb59f7e2", "type": "github" }, "original": { @@ -24214,40 +30073,20 @@ }, "std_7": { "inputs": { - "blank": "blank_8", "devshell": "devshell_19", - "dmerge": "dmerge_6", - "flake-utils": "flake-utils_43", - "makes": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], + "dmerge": "dmerge_7", + "flake-utils": "flake-utils_44", "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_3", - "microvm": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "n2c": "n2c_6", "nixago": "nixago_6", - "nixpkgs": "nixpkgs_88", + "nixpkgs": "nixpkgs_93", "yants": "yants_9" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1661367957, + "narHash": "sha256-5B94aTocy6Y6ZJFmzkGdPmg6L6gjNaMVAKcpsaw44Ns=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "d39794e19e648b840e5a56aa1f354d43aee9abf7", "type": "github" }, "original": { @@ -24258,44 +30097,16 @@ }, "std_8": { "inputs": { - "blank": "blank_9", "devshell": "devshell_20", - "dmerge": "dmerge_7", - "flake-utils": "flake-utils_48", - "makes": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_4", - "microvm": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "n2c": "n2c_7", - "nixago": "nixago_7", - "nixpkgs": "nixpkgs_94", + "nixpkgs": "nixpkgs_96", "yants": "yants_10" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1652784712, + "narHash": "sha256-ofwGapSWqzUVgIxwwmjlrOVogfjV4yd6WpY8fNfMc2o=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "3667d2d868352b0bf47c83440da48bee9f2fab47", "type": "github" }, "original": { @@ -24306,50 +30117,48 @@ }, "std_9": { "inputs": { - "blank": "blank_10", + "arion": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "blank" + ], + "blank": "blank_9", "devshell": "devshell_21", "dmerge": "dmerge_8", - "flake-utils": "flake-utils_52", + "flake-utils": "flake-utils_50", + "incl": "incl_5", "makes": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", + "tullia", "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_5", "microvm": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", + "tullia", "std", "blank" ], - "n2c": "n2c_8", - "nixago": "nixago_8", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ], + "n2c": "n2c_7", + "nixago": "nixago_7", + "nixpkgs": "nixpkgs_102", + "paisano": "paisano_4", + "paisano-tui": "paisano-tui_4", "yants": "yants_11" }, "locked": { - "lastModified": 1665252656, - "narHash": "sha256-RHktFB35O/KjK2P21E+TtCR8sIpoowGFGZPC0KOT0rg=", + "lastModified": 1677533652, + "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", "owner": "divnix", "repo": "std", - "rev": "2240a587e19e1610d967a72e5409176bc6908244", + "rev": "490542f624412662e0411d8cb5a9af988ef56633", "type": "github" }, "original": { @@ -24418,6 +30227,21 @@ "type": "github" } }, + "stdlib_13": { + "locked": { + "lastModified": 1590026685, + "narHash": "sha256-E5INrVvYX/P/UpcoUFDAsuHem+lsqT+/teBs9O7oc9Q=", + "owner": "manveru", + "repo": "nix-lib", + "rev": "99088cf7febcdb21afd375a335dcafa959bef3ed", + "type": "github" + }, + "original": { + "owner": "manveru", + "repo": "nix-lib", + "type": "github" + } + }, "stdlib_2": { "locked": { "lastModified": 1590026685, @@ -24553,10 +30377,100 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tailwind-haskell": { "inputs": { - "flake-utils": "flake-utils_24", - "nixpkgs": "nixpkgs_58" + "flake-utils": "flake-utils_39", + "nixpkgs": "nixpkgs_87" }, "locked": { "lastModified": 1654211622, @@ -24567,9 +30481,27 @@ "type": "github" }, "original": { - "owner": "srid", - "ref": "master", - "repo": "tailwind-haskell", + "owner": "srid", + "ref": "master", + "repo": "tailwind-haskell", + "type": "github" + } + }, + "terraform-providers": { + "inputs": { + "nixpkgs": "nixpkgs_12" + }, + "locked": { + "lastModified": 1695893013, + "narHash": "sha256-+5EuXNXwxpTiOEGCbZWtZCU75WcVwnS89heLa5xJ2K0=", + "owner": "nix-community", + "repo": "nixpkgs-terraform-providers-bin", + "rev": "6c6865ae6f9bff7aaa4e86c875f520f2aca65c0d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs-terraform-providers-bin", "type": "github" } }, @@ -24577,24 +30509,16 @@ "inputs": { "bats-assert": "bats-assert", "bats-support": "bats-support", - "flake-utils": "flake-utils_9", - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", - "capsules", - "bitte", - "blank" - ], + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_13", "terranix-examples": "terranix-examples" }, "locked": { - "lastModified": 1637158331, - "narHash": "sha256-x5LEKtSkVq+D3BXHDBOb2wdCLxAhVmXIWONRi9lxDPg=", + "lastModified": 1684906298, + "narHash": "sha256-pNuJxmVMGbBHw7pa+Bx0HY0orXIXoyyAXOKuQ1zpfus=", "owner": "terranix", "repo": "terranix", - "rev": "34198bb154af86d2a559446f10d7339e53126abe", + "rev": "c0dd15076856c6cb425795b8c7d5d37d3a1e922a", "type": "github" }, "original": { @@ -24648,16 +30572,33 @@ "type": "github" } }, + "terranix-examples_4": { + "locked": { + "lastModified": 1636300201, + "narHash": "sha256-0n1je1WpiR6XfCsvi8ZK7GrpEnMl+DpwhWaO1949Vbc=", + "owner": "terranix", + "repo": "terranix-examples", + "rev": "a934aa1cf88f6bd6c6ddb4c77b77ec6e1660bd5e", + "type": "github" + }, + "original": { + "owner": "terranix", + "repo": "terranix-examples", + "type": "github" + } + }, "terranix_2": { "inputs": { "bats-assert": "bats-assert_2", "bats-support": "bats-support_2", - "flake-utils": "flake-utils_14", + "flake-utils": "flake-utils_24", "nixpkgs": [ "cardano-transaction-lib", "db-sync", "cardano-world", "bitte", + "capsules", + "bitte", "blank" ], "terranix-examples": "terranix-examples_2" @@ -24680,12 +30621,11 @@ "inputs": { "bats-assert": "bats-assert_3", "bats-support": "bats-support_3", - "flake-utils": "flake-utils_20", + "flake-utils": "flake-utils_29", "nixpkgs": [ "cardano-transaction-lib", "db-sync", "cardano-world", - "capsules", "bitte", "blank" ], @@ -24705,14 +30645,43 @@ "type": "github" } }, + "terranix_4": { + "inputs": { + "bats-assert": "bats-assert_4", + "bats-support": "bats-support_4", + "flake-utils": "flake-utils_35", + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "capsules", + "bitte", + "blank" + ], + "terranix-examples": "terranix-examples_4" + }, + "locked": { + "lastModified": 1637158331, + "narHash": "sha256-x5LEKtSkVq+D3BXHDBOb2wdCLxAhVmXIWONRi9lxDPg=", + "owner": "terranix", + "repo": "terranix", + "rev": "34198bb154af86d2a559446f10d7339e53126abe", + "type": "github" + }, + "original": { + "owner": "terranix", + "repo": "terranix", + "type": "github" + } + }, "tooling": { "inputs": { "cardano-haskell-packages": "cardano-haskell-packages", "emanote": "emanote_2", - "flake-parts": "flake-parts_12", + "flake-parts": "flake-parts_17", "haskell-nix": "haskell-nix_6", "iohk-nix": "iohk-nix_6", - "nixpkgs": "nixpkgs_95", + "nixpkgs": "nixpkgs_123", "plutus": "plutus" }, "locked": { @@ -24733,10 +30702,10 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages_2", "emanote": "emanote_3", - "flake-parts": "flake-parts_17", + "flake-parts": "flake-parts_22", "haskell-nix": "haskell-nix_9", "iohk-nix": "iohk-nix_9", - "nixpkgs": "nixpkgs_117", + "nixpkgs": "nixpkgs_145", "plutus": "plutus_2" }, "locked": { @@ -24757,10 +30726,10 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages_3", "emanote": "emanote_4", - "flake-parts": "flake-parts_22", + "flake-parts": "flake-parts_27", "haskell-nix": "haskell-nix_12", "iohk-nix": "iohk-nix_12", - "nixpkgs": "nixpkgs_134", + "nixpkgs": "nixpkgs_162", "plutus": "plutus_3" }, "locked": { @@ -24778,6 +30747,70 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1683117219, + "narHash": "sha256-IyNRNRxw0slA3VQySVA7QPXHMOxlbx0ePWvj9oln+Wk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "c8c3731dc404f837f38f89c2c5ffc2afc02e249d", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-db-sync", + "cardano-parts", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1691440708, + "narHash": "sha256-c7Cc08vJ0IPFgIERpTdO2xvDHQNL7Uf5iXT0GlYO6vo=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "2a535809ac5c9a32288f4d3b938296e056d948cc", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1697388351, + "narHash": "sha256-63N2eBpKaziIy4R44vjpUu8Nz5fCJY7okKrkixvDQmY=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "aae39f64f5ecbe89792d05eacea5cb241891292a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_4": { "inputs": { "nixpkgs": [ "hydra", @@ -24803,7 +30836,7 @@ "inputs": { "nix-nomad": "nix-nomad", "nix2container": "nix2container_2", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_20", "std": "std" }, "locked": { @@ -24823,7 +30856,61 @@ "tullia_10": { "inputs": { "nix-nomad": "nix-nomad_9", - "nix2container": "nix2container_12", + "nix2container": "nix2container_14", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "haskell-nix", + "nixpkgs" + ], + "std": "std_16" + }, + "locked": { + "lastModified": 1666200256, + "narHash": "sha256-cJPS8zBu30SMhxMe7I8DWutwqMuhPsEez87y9gxMKc4=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "575362c2244498e8d2c97f72861510fa72e75d44", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "tullia_11": { + "inputs": { + "nix-nomad": "nix-nomad_10", + "nix2container": "nix2container_15", + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "nixpkgs" + ], + "std": "std_17" + }, + "locked": { + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "tullia_12": { + "inputs": { + "nix-nomad": "nix-nomad_11", + "nix2container": "nix2container_16", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -24832,7 +30919,7 @@ "plutus", "nixpkgs" ], - "std": "std_15" + "std": "std_19" }, "locked": { "lastModified": 1670354948, @@ -24849,16 +30936,16 @@ "type": "github" } }, - "tullia_11": { + "tullia_13": { "inputs": { - "nix-nomad": "nix-nomad_10", - "nix2container": "nix2container_13", + "nix-nomad": "nix-nomad_12", + "nix2container": "nix2container_17", "nixpkgs": [ "liqwid-nix", "haskell-nix", "nixpkgs" ], - "std": "std_16" + "std": "std_20" }, "locked": { "lastModified": 1666200256, @@ -24874,10 +30961,10 @@ "type": "github" } }, - "tullia_12": { + "tullia_14": { "inputs": { - "nix-nomad": "nix-nomad_11", - "nix2container": "nix2container_14", + "nix-nomad": "nix-nomad_13", + "nix2container": "nix2container_18", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -24885,7 +30972,7 @@ "haskell-nix", "nixpkgs" ], - "std": "std_17" + "std": "std_21" }, "locked": { "lastModified": 1668711738, @@ -24901,10 +30988,10 @@ "type": "github" } }, - "tullia_13": { + "tullia_15": { "inputs": { - "nix-nomad": "nix-nomad_12", - "nix2container": "nix2container_15", + "nix-nomad": "nix-nomad_14", + "nix2container": "nix2container_19", "nixpkgs": [ "liqwid-nix", "plutarch", @@ -24912,7 +30999,7 @@ "plutus", "nixpkgs" ], - "std": "std_19" + "std": "std_23" }, "locked": { "lastModified": 1670354948, @@ -24931,10 +31018,63 @@ }, "tullia_2": { "inputs": { + "nix-nomad": "nix-nomad_2", "nix2container": "nix2container_3", - "nixpkgs": "nixpkgs_66", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "nixpkgs" + ], + "std": "std_2" + }, + "locked": { + "lastModified": 1684859161, + "narHash": "sha256-wOKutImA7CRL0rN+Ng80E72fD5FkVub7LLP2k9NICpg=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "2964cff1a16eefe301bdddb508c49d94d04603d6", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "tullia_3": { + "inputs": { + "nix-nomad": "nix-nomad_3", + "nix2container": "nix2container_5", + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "nixpkgs" + ], "std": "std_4" }, + "locked": { + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "owner": "input-output-hk", + "repo": "tullia", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "tullia", + "type": "github" + } + }, + "tullia_4": { + "inputs": { + "nix2container": "nix2container_7", + "nixpkgs": "nixpkgs_95", + "std": "std_8" + }, "locked": { "lastModified": 1657811465, "narHash": "sha256-KHNWwKuUIG08CUg/ol81zf26RRlnsQsyqMr63vXcCes=", @@ -24949,17 +31089,17 @@ "type": "github" } }, - "tullia_3": { + "tullia_5": { "inputs": { - "nix-nomad": "nix-nomad_2", - "nix2container": "nix2container_4", + "nix-nomad": "nix-nomad_4", + "nix2container": "nix2container_8", "nixpkgs": [ "hydra", "cardano-node", "cardano-automation", "nixpkgs" ], - "std": "std_5" + "std": "std_9" }, "locked": { "lastModified": 1684859161, @@ -24975,10 +31115,10 @@ "type": "github" } }, - "tullia_4": { - "inputs": { - "nix-nomad": "nix-nomad_3", - "nix2container": "nix2container_6", + "tullia_6": { + "inputs": { + "nix-nomad": "nix-nomad_5", + "nix2container": "nix2container_10", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -24986,7 +31126,7 @@ "haskell-nix", "nixpkgs" ], - "std": "std_7" + "std": "std_11" }, "locked": { "lastModified": 1666200256, @@ -25002,10 +31142,10 @@ "type": "github" } }, - "tullia_5": { + "tullia_7": { "inputs": { - "nix-nomad": "nix-nomad_4", - "nix2container": "nix2container_7", + "nix-nomad": "nix-nomad_6", + "nix2container": "nix2container_11", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -25015,7 +31155,7 @@ "haskell-nix", "nixpkgs" ], - "std": "std_8" + "std": "std_12" }, "locked": { "lastModified": 1668711738, @@ -25031,10 +31171,10 @@ "type": "github" } }, - "tullia_6": { + "tullia_8": { "inputs": { - "nix-nomad": "nix-nomad_5", - "nix2container": "nix2container_8", + "nix-nomad": "nix-nomad_7", + "nix2container": "nix2container_12", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -25044,7 +31184,7 @@ "plutus", "nixpkgs" ], - "std": "std_10" + "std": "std_14" }, "locked": { "lastModified": 1670354948, @@ -25061,10 +31201,10 @@ "type": "github" } }, - "tullia_7": { + "tullia_9": { "inputs": { - "nix-nomad": "nix-nomad_6", - "nix2container": "nix2container_9", + "nix-nomad": "nix-nomad_8", + "nix2container": "nix2container_13", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -25072,7 +31212,7 @@ "haskellNix", "nixpkgs" ], - "std": "std_11" + "std": "std_15" }, "locked": { "lastModified": 1666200256, @@ -25088,67 +31228,61 @@ "type": "github" } }, - "tullia_8": { + "utils": { "inputs": { - "nix-nomad": "nix-nomad_7", - "nix2container": "nix2container_10", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "haskell-nix", - "nixpkgs" - ], - "std": "std_12" + "systems": "systems" }, "locked": { - "lastModified": 1666200256, - "narHash": "sha256-cJPS8zBu30SMhxMe7I8DWutwqMuhPsEez87y9gxMKc4=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "575362c2244498e8d2c97f72861510fa72e75d44", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "tullia", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "tullia_9": { - "inputs": { - "nix-nomad": "nix-nomad_8", - "nix2container": "nix2container_11", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "nixpkgs" - ], - "std": "std_13" + "utils_10": { + "locked": { + "lastModified": 1633020561, + "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", + "owner": "kreisys", + "repo": "flake-utils", + "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "type": "github" }, + "original": { + "owner": "kreisys", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_11": { "locked": { - "lastModified": 1668711738, - "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "lastModified": 1633020561, + "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", + "owner": "kreisys", + "repo": "flake-utils", + "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "tullia", + "owner": "kreisys", + "repo": "flake-utils", "type": "github" } }, - "utils": { + "utils_12": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -25157,7 +31291,7 @@ "type": "github" } }, - "utils_10": { + "utils_13": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25172,7 +31306,22 @@ "type": "github" } }, - "utils_11": { + "utils_14": { + "locked": { + "lastModified": 1637014545, + "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_15": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25187,7 +31336,22 @@ "type": "github" } }, - "utils_12": { + "utils_16": { + "locked": { + "lastModified": 1633020561, + "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", + "owner": "kreisys", + "repo": "flake-utils", + "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "type": "github" + }, + "original": { + "owner": "kreisys", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_17": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -25202,7 +31366,7 @@ "type": "github" } }, - "utils_13": { + "utils_18": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25217,7 +31381,7 @@ "type": "github" } }, - "utils_14": { + "utils_19": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25232,7 +31396,22 @@ "type": "github" } }, - "utils_15": { + "utils_2": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_20": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25247,7 +31426,7 @@ "type": "github" } }, - "utils_16": { + "utils_21": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -25262,7 +31441,7 @@ "type": "github" } }, - "utils_17": { + "utils_22": { "locked": { "lastModified": 1637014545, "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", @@ -25277,7 +31456,7 @@ "type": "github" } }, - "utils_18": { + "utils_23": { "locked": { "lastModified": 1601282935, "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", @@ -25292,7 +31471,7 @@ "type": "github" } }, - "utils_19": { + "utils_24": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25307,22 +31486,7 @@ "type": "github" } }, - "utils_2": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "utils_20": { + "utils_25": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25337,7 +31501,7 @@ "type": "github" } }, - "utils_21": { + "utils_26": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -25352,7 +31516,7 @@ "type": "github" } }, - "utils_22": { + "utils_27": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -25367,7 +31531,7 @@ "type": "github" } }, - "utils_23": { + "utils_28": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -25382,7 +31546,7 @@ "type": "github" } }, - "utils_24": { + "utils_29": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25397,7 +31561,7 @@ "type": "github" } }, - "utils_25": { + "utils_3": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -25412,13 +31576,13 @@ "type": "github" } }, - "utils_26": { + "utils_30": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -25427,7 +31591,7 @@ "type": "github" } }, - "utils_27": { + "utils_31": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25442,7 +31606,7 @@ "type": "github" } }, - "utils_28": { + "utils_32": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25457,7 +31621,7 @@ "type": "github" } }, - "utils_29": { + "utils_33": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25472,13 +31636,13 @@ "type": "github" } }, - "utils_3": { + "utils_34": { "locked": { - "lastModified": 1637014545, - "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -25487,7 +31651,7 @@ "type": "github" } }, - "utils_30": { + "utils_35": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25502,7 +31666,7 @@ "type": "github" } }, - "utils_31": { + "utils_36": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25517,7 +31681,7 @@ "type": "github" } }, - "utils_32": { + "utils_37": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25532,7 +31696,7 @@ "type": "github" } }, - "utils_33": { + "utils_38": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25547,7 +31711,7 @@ "type": "github" } }, - "utils_34": { + "utils_39": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25562,7 +31726,7 @@ "type": "github" } }, - "utils_35": { + "utils_4": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -25577,13 +31741,13 @@ "type": "github" } }, - "utils_4": { + "utils_40": { "locked": { - "lastModified": 1601282935, - "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "588973065fce51f4763287f0fda87a174d78bf48", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -25594,41 +31758,44 @@ }, "utils_5": { "locked": { - "lastModified": 1633020561, - "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", - "owner": "kreisys", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", "repo": "flake-utils", - "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { - "owner": "kreisys", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, "utils_6": { "locked": { - "lastModified": 1633020561, - "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", - "owner": "kreisys", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", "repo": "flake-utils", - "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { - "owner": "kreisys", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, "utils_7": { + "inputs": { + "systems": "systems_6" + }, "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -25638,27 +31805,27 @@ } }, "utils_8": { - "locked": { - "lastModified": 1633020561, - "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", - "owner": "kreisys", + "locked": { + "lastModified": 1637014545, + "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", + "owner": "numtide", "repo": "flake-utils", - "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", "type": "github" }, "original": { - "owner": "kreisys", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, "utils_9": { "locked": { - "lastModified": 1637014545, - "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", + "lastModified": 1601282935, + "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", "owner": "numtide", "repo": "flake-utils", - "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", + "rev": "588973065fce51f4763287f0fda87a174d78bf48", "type": "github" }, "original": { @@ -25705,7 +31872,8 @@ "inputs": { "nixpkgs": [ "cardano-transaction-lib", - "cardano-node", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -25726,6 +31894,106 @@ } }, "yants_10": { + "inputs": { + "nixpkgs": [ + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1645126146, + "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", + "owner": "divnix", + "repo": "yants", + "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_11": { + "inputs": { + "nixpkgs": [ + "hydra", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1667096281, + "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", + "owner": "divnix", + "repo": "yants", + "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_12": { + "inputs": { + "nixpkgs": [ + "hydra", + "cardano-node", + "std", + "haumea", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "owner": "divnix", + "repo": "yants", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_13": { + "inputs": { + "nixpkgs": [ + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "owner": "divnix", + "repo": "yants", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "yants", + "type": "github" + } + }, + "yants_14": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25753,7 +32021,7 @@ "type": "github" } }, - "yants_11": { + "yants_15": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25780,7 +32048,7 @@ "type": "github" } }, - "yants_12": { + "yants_16": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25808,7 +32076,7 @@ "type": "github" } }, - "yants_13": { + "yants_17": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25834,7 +32102,7 @@ "type": "github" } }, - "yants_14": { + "yants_18": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25859,7 +32127,7 @@ "type": "github" } }, - "yants_15": { + "yants_19": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25886,24 +32154,24 @@ "type": "github" } }, - "yants_16": { + "yants_2": { "inputs": { "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "cardano-transaction-lib", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "lastModified": 1667096281, + "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", "owner": "divnix", "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", "type": "github" }, "original": { @@ -25912,7 +32180,7 @@ "type": "github" } }, - "yants_17": { + "yants_20": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -25920,7 +32188,6 @@ "plutarch", "tooling", "plutus", - "tullia", "std", "nixpkgs" ] @@ -25939,11 +32206,14 @@ "type": "github" } }, - "yants_18": { + "yants_21": { "inputs": { "nixpkgs": [ + "hydra-auction-onchain", "liqwid-nix", - "haskell-nix", + "plutarch", + "tooling", + "plutus", "tullia", "std", "nixpkgs" @@ -25963,12 +32233,10 @@ "type": "github" } }, - "yants_19": { + "yants_22": { "inputs": { "nixpkgs": [ "liqwid-nix", - "plutarch", - "tooling", "haskell-nix", "tullia", "std", @@ -25989,16 +32257,24 @@ "type": "github" } }, - "yants_2": { + "yants_23": { "inputs": { - "nixpkgs": "nixpkgs_25" + "nixpkgs": [ + "liqwid-nix", + "plutarch", + "tooling", + "haskell-nix", + "tullia", + "std", + "nixpkgs" + ] }, "locked": { - "lastModified": 1645126146, - "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", "owner": "divnix", "repo": "yants", - "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", "type": "github" }, "original": { @@ -26007,7 +32283,7 @@ "type": "github" } }, - "yants_20": { + "yants_24": { "inputs": { "nixpkgs": [ "liqwid-nix", @@ -26032,7 +32308,7 @@ "type": "github" } }, - "yants_21": { + "yants_25": { "inputs": { "nixpkgs": [ "liqwid-nix", @@ -26062,19 +32338,19 @@ "inputs": { "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", - "bitte", + "cardano-nix", + "cardano-node-8.7.3", "std", + "haumea", "nixpkgs" ] }, "locked": { - "lastModified": 1645126146, - "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", "owner": "divnix", "repo": "yants", - "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", "type": "github" }, "original": { @@ -26085,14 +32361,21 @@ }, "yants_4": { "inputs": { - "nixpkgs": "nixpkgs_60" + "nixpkgs": [ + "cardano-transaction-lib", + "cardano-node", + "cardano-automation", + "tullia", + "std", + "nixpkgs" + ] }, "locked": { - "lastModified": 1645126146, - "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", "owner": "divnix", "repo": "yants", - "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", "type": "github" }, "original": { @@ -26105,18 +32388,17 @@ "inputs": { "nixpkgs": [ "cardano-transaction-lib", - "db-sync", - "cardano-world", + "cardano-node", "std", - "nixpkgs" + "lib" ] }, "locked": { - "lastModified": 1645126146, - "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", "owner": "divnix", "repo": "yants", - "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", "type": "github" }, "original": { @@ -26127,14 +32409,7 @@ }, "yants_6": { "inputs": { - "nixpkgs": [ - "cardano-transaction-lib", - "db-sync", - "cardano-world", - "tullia", - "std", - "nixpkgs" - ] + "nixpkgs": "nixpkgs_54" }, "locked": { "lastModified": 1645126146, @@ -26153,20 +32428,20 @@ "yants_7": { "inputs": { "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", + "cardano-transaction-lib", + "db-sync", + "cardano-world", + "bitte", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1667096281, - "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", + "lastModified": 1645126146, + "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", "owner": "divnix", "repo": "yants", - "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", "type": "github" }, "original": { @@ -26177,20 +32452,14 @@ }, "yants_8": { "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "haumea", - "nixpkgs" - ] + "nixpkgs": "nixpkgs_89" }, "locked": { - "lastModified": 1686863218, - "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "lastModified": 1645126146, + "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", "owner": "divnix", "repo": "yants", - "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", "type": "github" }, "original": { @@ -26202,21 +32471,19 @@ "yants_9": { "inputs": { "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", + "cardano-transaction-lib", + "db-sync", + "cardano-world", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "lastModified": 1645126146, + "narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=", "owner": "divnix", "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8760661..db4e767 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; liqwid-nix.url = "github:mlabs-haskell/liqwid-nix/aciceri/fix-new-ctl"; - cardano-transaction-lib.url = "github:Plutonomicon/cardano-transaction-lib/63485e328b6008b5bea336269b9d6036d04c7c7b"; + cardano-transaction-lib.url = "github:Plutonomicon/cardano-transaction-lib/v9.2.0"; nixpkgs-ctl.follows = "cardano-transaction-lib/nixpkgs"; nixpkgs.follows = "cardano-transaction-lib/nixpkgs"; hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; diff --git a/package-lock.json b/package-lock.json index 279ed85..ff4af0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "hydra-auction-offchain", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "hydra-auction-offchain", - "version": "0.1.0", + "version": "0.2.0", + "license": "Apache-2.0", "devDependencies": { - "@mlabs-haskell/cardano-message-signing": "1.0.1", - "@mlabs-haskell/cardano-serialization-lib-gc": "^1.0.9", + "@mlabs-haskell/cardano-message-signing": "^1.0.1", + "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0-alpha.31", "@mlabs-haskell/json-bigint": "2.0.0", - "@mlabs-haskell/uplc-apply-args": "1.0.0", + "@mlabs-haskell/uplc-apply-args": "1.0.29-alpha", "@noble/secp256k1": "^1.7.0", "base64-js": "^1.5.1", "bignumber.js": "^9.1.1", @@ -24,7 +25,6 @@ "esbuild-plugin-polyfill-node": "^0.3.0", "esbuild-plugin-wasm": "^1.1.0", "isomorphic-ws": "^5.0.0", - "jssha": "3.2.0", "puppeteer-core": "^15.3.2", "reconnecting-websocket": "4.4.0", "ts-unimplemented": "2.0.0", @@ -50,16 +50,18 @@ "dev": true }, "node_modules/@emurgo/cardano-serialization-lib-browser": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-11.2.1.tgz", - "integrity": "sha512-J9Pmeta7y1GYnMCxtb3GnGCRw6zk1wiQ8EdCYQRn/Yqa/ss1zoBjd41euVi02Eb58aLuOJS81nNU+BcMLGXvUg==", - "dev": true + "version": "12.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0-beta.9.tgz", + "integrity": "sha512-hQSNYBOPjtib7rfNcqD7k53aG5ioHCvTP8dA7xMSNZLJB/UAIe1VoavqNmzPPx4c9Fzbm6YNEag56KG9WTAx6g==", + "dev": true, + "license": "MIT" }, "node_modules/@emurgo/cardano-serialization-lib-nodejs": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.4.0.tgz", - "integrity": "sha512-dMiofDcqv+IrAITCgWBZmsMLqwv2xImDsJDSrKiYYG1zRKaL8XfMOxx6S0WEnKVj5/343Q5FFURYcSu3iBRNMQ==", - "dev": true + "version": "12.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0-beta.9.tgz", + "integrity": "sha512-G1LDTYGtn5Otb66uDNapoP3+lWNVwGqBDInWiaGjH7Qj8BRuovo546dXW2e8aikdRBV7hqbTgZKZfOOrYfCzvA==", + "dev": true, + "license": "MIT" }, "node_modules/@esbuild/android-arm": { "version": "0.18.11", @@ -430,13 +432,14 @@ } }, "node_modules/@mlabs-haskell/cardano-serialization-lib-gc": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-1.0.9.tgz", - "integrity": "sha512-O3JZGS0GjbyQPlKP6KRb7Q78ANfqIHxpQ0xmX6BK9tUw6KOueNfJ6e80JD+MHogoPJwOei7prqpHgCu+hitNQw==", + "version": "12.0.0-alpha.31", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0-alpha.31.tgz", + "integrity": "sha512-QQBzl7rNRy7wk37uxzWJXCZfZRt3aTlfQb3kmb10ulY/janlUNETmS09OtiJbK/BdV5Fu7Gv+Mdda3ggMIL/bg==", "dev": true, + "license": "ISC", "dependencies": { - "@emurgo/cardano-serialization-lib-browser": "^11.2.1", - "@emurgo/cardano-serialization-lib-nodejs": "^11.2.1", + "@emurgo/cardano-serialization-lib-browser": "^12.0.0-alpha.31", + "@emurgo/cardano-serialization-lib-nodejs": "^12.0.0-alpha.31", "@mlabs-haskell/csl-gc-wrapper": "^1.0.2" } }, @@ -453,15 +456,28 @@ "dev": true }, "node_modules/@mlabs-haskell/uplc-apply-args": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args/-/uplc-apply-args-1.0.0.tgz", - "integrity": "sha512-jygKgElPSmrjBifiec8lLAjcKAPDOvDTv0hCW6jfX+/hnlaI8p9w5amv6jeCMmnr3/ncRzE9JrcuVJoB5lBwLA==", + "version": "1.0.29-alpha", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args/-/uplc-apply-args-1.0.29-alpha.tgz", + "integrity": "sha512-eTazItNZlOvuK/ZNHBKUOM3fL1mhRaY0GFYPtalo6PrkGcwZeSzlD6+B8Mbgmb18HusDZPSRi3zhp/urxOygFA==", "dev": true, + "license": "ISC", "dependencies": { - "apply-args-browser": "^0.0.1", - "apply-args-nodejs": "^0.0.1" + "@mlabs-haskell/uplc-apply-args-browser": "^1.0.29-alpha", + "@mlabs-haskell/uplc-apply-args-nodejs": "^1.0.29-alpha2" } }, + "node_modules/@mlabs-haskell/uplc-apply-args-browser": { + "version": "1.0.29-alpha", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args-browser/-/uplc-apply-args-browser-1.0.29-alpha.tgz", + "integrity": "sha512-U/FEEI1UbHGRLblNHX4WxF5KpPR3S/C1rgXvN8X6gL2CDc4iAqvbP88d5vqwLL+seG2aO4pqqJXQnnKtlLHk7A==", + "dev": true + }, + "node_modules/@mlabs-haskell/uplc-apply-args-nodejs": { + "version": "1.0.29-alpha2", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args-nodejs/-/uplc-apply-args-nodejs-1.0.29-alpha2.tgz", + "integrity": "sha512-91Lfk0SGH3cEHGE/F/If9lot42OJ6+bpM4HsHZr5PDvHFNOICFdTwLq/6BFmIClCkdZZNuDZIc1EpRCBgtdROw==", + "dev": true + }, "node_modules/@noble/hashes": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", @@ -572,18 +588,6 @@ "emoji-regex": "~10.1.0" } }, - "node_modules/apply-args-browser": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/apply-args-browser/-/apply-args-browser-0.0.1.tgz", - "integrity": "sha512-gq4ldo4Fk5SEVpeW/0yBe0v5g3VDEWAm9LB80zGarYtDvojTD7ar0Y/WvIy9gYAkKmlE3USu5wYwKKCqOXfNkg==", - "dev": true - }, - "node_modules/apply-args-nodejs": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/apply-args-nodejs/-/apply-args-nodejs-0.0.1.tgz", - "integrity": "sha512-JwZPEvEDrL+4y16Un6FcNjDSITpsBykchgwPh8UtxnziYrbxKAc2BUfyC5uvA6ZVIhQjiO4r+Kg1MQ3nqWk+1Q==", - "dev": true - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1549,15 +1553,6 @@ "ws": "*" } }, - "node_modules/jssha": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", - "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -2656,15 +2651,15 @@ "dev": true }, "@emurgo/cardano-serialization-lib-browser": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-11.2.1.tgz", - "integrity": "sha512-J9Pmeta7y1GYnMCxtb3GnGCRw6zk1wiQ8EdCYQRn/Yqa/ss1zoBjd41euVi02Eb58aLuOJS81nNU+BcMLGXvUg==", + "version": "12.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0-beta.9.tgz", + "integrity": "sha512-hQSNYBOPjtib7rfNcqD7k53aG5ioHCvTP8dA7xMSNZLJB/UAIe1VoavqNmzPPx4c9Fzbm6YNEag56KG9WTAx6g==", "dev": true }, "@emurgo/cardano-serialization-lib-nodejs": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.4.0.tgz", - "integrity": "sha512-dMiofDcqv+IrAITCgWBZmsMLqwv2xImDsJDSrKiYYG1zRKaL8XfMOxx6S0WEnKVj5/343Q5FFURYcSu3iBRNMQ==", + "version": "12.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0-beta.9.tgz", + "integrity": "sha512-G1LDTYGtn5Otb66uDNapoP3+lWNVwGqBDInWiaGjH7Qj8BRuovo546dXW2e8aikdRBV7hqbTgZKZfOOrYfCzvA==", "dev": true }, "@esbuild/android-arm": { @@ -2838,13 +2833,13 @@ } }, "@mlabs-haskell/cardano-serialization-lib-gc": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-1.0.9.tgz", - "integrity": "sha512-O3JZGS0GjbyQPlKP6KRb7Q78ANfqIHxpQ0xmX6BK9tUw6KOueNfJ6e80JD+MHogoPJwOei7prqpHgCu+hitNQw==", + "version": "12.0.0-alpha.31", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0-alpha.31.tgz", + "integrity": "sha512-QQBzl7rNRy7wk37uxzWJXCZfZRt3aTlfQb3kmb10ulY/janlUNETmS09OtiJbK/BdV5Fu7Gv+Mdda3ggMIL/bg==", "dev": true, "requires": { - "@emurgo/cardano-serialization-lib-browser": "^11.2.1", - "@emurgo/cardano-serialization-lib-nodejs": "^11.2.1", + "@emurgo/cardano-serialization-lib-browser": "^12.0.0-alpha.31", + "@emurgo/cardano-serialization-lib-nodejs": "^12.0.0-alpha.31", "@mlabs-haskell/csl-gc-wrapper": "^1.0.2" } }, @@ -2861,15 +2856,27 @@ "dev": true }, "@mlabs-haskell/uplc-apply-args": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args/-/uplc-apply-args-1.0.0.tgz", - "integrity": "sha512-jygKgElPSmrjBifiec8lLAjcKAPDOvDTv0hCW6jfX+/hnlaI8p9w5amv6jeCMmnr3/ncRzE9JrcuVJoB5lBwLA==", + "version": "1.0.29-alpha", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args/-/uplc-apply-args-1.0.29-alpha.tgz", + "integrity": "sha512-eTazItNZlOvuK/ZNHBKUOM3fL1mhRaY0GFYPtalo6PrkGcwZeSzlD6+B8Mbgmb18HusDZPSRi3zhp/urxOygFA==", "dev": true, "requires": { - "apply-args-browser": "^0.0.1", - "apply-args-nodejs": "^0.0.1" + "@mlabs-haskell/uplc-apply-args-browser": "^1.0.29-alpha", + "@mlabs-haskell/uplc-apply-args-nodejs": "^1.0.29-alpha2" } }, + "@mlabs-haskell/uplc-apply-args-browser": { + "version": "1.0.29-alpha", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args-browser/-/uplc-apply-args-browser-1.0.29-alpha.tgz", + "integrity": "sha512-U/FEEI1UbHGRLblNHX4WxF5KpPR3S/C1rgXvN8X6gL2CDc4iAqvbP88d5vqwLL+seG2aO4pqqJXQnnKtlLHk7A==", + "dev": true + }, + "@mlabs-haskell/uplc-apply-args-nodejs": { + "version": "1.0.29-alpha2", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/uplc-apply-args-nodejs/-/uplc-apply-args-nodejs-1.0.29-alpha2.tgz", + "integrity": "sha512-91Lfk0SGH3cEHGE/F/If9lot42OJ6+bpM4HsHZr5PDvHFNOICFdTwLq/6BFmIClCkdZZNuDZIc1EpRCBgtdROw==", + "dev": true + }, "@noble/hashes": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", @@ -2965,18 +2972,6 @@ "emoji-regex": "~10.1.0" } }, - "apply-args-browser": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/apply-args-browser/-/apply-args-browser-0.0.1.tgz", - "integrity": "sha512-gq4ldo4Fk5SEVpeW/0yBe0v5g3VDEWAm9LB80zGarYtDvojTD7ar0Y/WvIy9gYAkKmlE3USu5wYwKKCqOXfNkg==", - "dev": true - }, - "apply-args-nodejs": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/apply-args-nodejs/-/apply-args-nodejs-0.0.1.tgz", - "integrity": "sha512-JwZPEvEDrL+4y16Un6FcNjDSITpsBykchgwPh8UtxnziYrbxKAc2BUfyC5uvA6ZVIhQjiO4r+Kg1MQ3nqWk+1Q==", - "dev": true - }, "available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -3630,12 +3625,6 @@ "dev": true, "requires": {} }, - "jssha": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", - "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==", - "dev": true - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", diff --git a/package.json b/package.json index a699240..06772fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydra-auction-offchain", - "version": "0.1.0", + "version": "0.2.0", "license": "Apache-2.0", "type": "module", "main": "dist/index.js", @@ -9,32 +9,31 @@ "dist/**/*" ], "devDependencies": { - "@mlabs-haskell/cardano-message-signing": "1.0.1", - "@mlabs-haskell/cardano-serialization-lib-gc": "^1.0.9", + "@mlabs-haskell/cardano-message-signing": "^1.0.1", + "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0-alpha.31", "@mlabs-haskell/json-bigint": "2.0.0", - "@mlabs-haskell/uplc-apply-args": "1.0.0", + "@mlabs-haskell/uplc-apply-args": "1.0.29-alpha", "@noble/secp256k1": "^1.7.0", "base64-js": "^1.5.1", "bignumber.js": "^9.1.1", "bip39": "^3.1.0", "blakejs": "1.2.1", + "buffer": "6.0.3", "bufferutil": "4.0.5", + "doctoc": "^2.2.1", + "esbuild": "0.18.11", + "esbuild-plugin-polyfill-node": "^0.3.0", + "esbuild-plugin-wasm": "^1.1.0", "isomorphic-ws": "^5.0.0", - "jssha": "3.2.0", "puppeteer-core": "^15.3.2", "reconnecting-websocket": "4.4.0", + "ts-unimplemented": "2.0.0", + "typescript": "5.0.4", "uniqid": "5.4.0", "utf-8-validate": "^5.0.10", + "uuid": "^8.3.2", "web-encoding": "^1.1.5", "ws": "^8.16.0", - "xhr2": "0.2.1", - "ts-unimplemented": "2.0.0", - "uuid": "^8.3.2", - "buffer": "6.0.3", - "doctoc": "^2.2.1", - "esbuild": "0.18.11", - "esbuild-plugin-polyfill-node": "^0.3.0", - "esbuild-plugin-wasm": "^1.1.0", - "typescript": "5.0.4" + "xhr2": "0.2.1" } } diff --git a/packages.dhall b/packages.dhall index 784b87c..c60e8be 100644 --- a/packages.dhall +++ b/packages.dhall @@ -38,7 +38,7 @@ let additions = , "untagged-union" ] , repo = "https://github.com/mlabs-haskell/purescript-aeson.git" - , version = "v2.0.0" + , version = "v2.0.1" } , bignumber = { dependencies = @@ -87,6 +87,7 @@ let additions = { dependencies = [ "aff" , "aff-promise" + , "bytearrays" , "effect" , "prelude" , "spec" @@ -95,7 +96,7 @@ let additions = ] , repo = "https://github.com/mlabs-haskell/purescript-noble-secp256k1.git" - , version = "a3c0f67e9fdb0086016d7aebfad35d09a08b4ecd" + , version = "v2.0.0" } , js-bigints = { dependencies = [ "integers", "maybe", "prelude" ] @@ -117,7 +118,7 @@ let additions = , "untagged-union" ] , repo = "https://github.com/mlabs-haskell/purescript-cip30" - , version = "8f1b34b48825fcec5e9c67f33e255770b1e0bc45" + , version = "v1.0.0" } , cip30-typesafe = { dependencies = @@ -135,8 +136,344 @@ let additions = , "variant" ] , repo = "https://github.com/mlabs-haskell/purescript-cip30-typesafe" - , version = "d72e51fbc0255eb3246c9132d295de7f65e16a99" + , version = "v1.0.0" + } + , cip95 = + { dependencies = + [ "aff" + , "aff-promise" + , "cip30" + , "console" + , "effect" + , "newtype" + , "prelude" + ] + , repo = "https://github.com/mlabs-haskell/purescript-cip95" + , version = "v1.0.0" + } + , cip95-typesafe = + { dependencies = + [ "aff" + , "bifunctors" + , "cip30" + , "cip30-typesafe" + , "cip95" + , "console" + , "control" + , "effect" + , "either" + , "exceptions" + , "maybe" + , "prelude" + , "spec" + , "transformers" + , "variant" + ] + , repo = "https://github.com/mlabs-haskell/purescript-cip95-typesafe" + , version = "v1.0.0" + } + , bytearrays = + { dependencies = + [ "aeson" + , "aff" + , "arraybuffer-types" + , "effect" + , "either" + , "foldable-traversable" + , "maybe" + , "newtype" + , "prelude" + , "quickcheck" + , "quickcheck-laws" + , "spec" + , "strings" + ] + , repo = "https://github.com/mlabs-haskell/purescript-bytearrays" + , version = "v1.0.0" + } + , cardano-serialization-lib = + { dependencies = + [ "aeson" + , "aff" + , "argonaut" + , "bifunctors" + , "bytearrays" + , "effect" + , "either" + , "enums" + , "maybe" + , "nullable" + , "ordered-collections" + , "partial" + , "prelude" + , "profunctor" + , "spec" + , "transformers" + , "tuples" + , "unsafe-coerce" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-serialization-lib" + , version = "v1.0.0" + } + , cardano-plutus-data-schema = + { dependencies = [ "prelude" ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-plutus-data-schema" + , version = "v1.0.0" + } + , plutus-types = + { dependencies = + [ "aeson" + , "argonaut-codecs" + , "arrays" + , "bifunctors" + , "bytearrays" + , "cardano-plutus-data-schema" + , "cardano-types" + , "console" + , "effect" + , "either" + , "foldable-traversable" + , "gen" + , "js-bigints" + , "lattice" + , "maybe" + , "monad-logger" + , "newtype" + , "ordered-collections" + , "partial" + , "prelude" + , "profunctor-lenses" + , "quickcheck" + , "these" + , "tuples" + ] + , repo = "https://github.com/mlabs-haskell/purescript-plutus-types" + , version = "v1.0.1" + } + , cip30-mock = + { dependencies = + [ "aff-promise", "console", "effect", "functions", "prelude" ] + , repo = "https://github.com/mlabs-haskell/purescript-cip30-mock" + , version = "v1.1.0" + } + , cardano-collateral-select = + { dependencies = + [ "arrays" + , "cardano-types" + , "console" + , "effect" + , "exceptions" + , "foldable-traversable" + , "lists" + , "maybe" + , "newtype" + , "ordered-collections" + , "partial" + , "prelude" + , "tuples" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-collateral-select" + , version = "v1.0.0" + } + , cardano-key-wallet = + { dependencies = + [ "aeson" + , "aff" + , "arrays" + , "cardano-collateral-select" + , "cardano-message-signing" + , "cardano-types" + , "console" + , "effect" + , "either" + , "foldable-traversable" + , "maybe" + , "newtype" + , "ordered-collections" + , "prelude" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-key-wallet" + , version = "v2.0.0" + } + , uplc-apply-args = + { dependencies = + [ "aff" + , "bytearrays" + , "cardano-serialization-lib" + , "cardano-types" + , "effect" + , "either" + , "foldable-traversable" + , "foreign-object" + , "js-bigints" + , "lists" + , "maybe" + , "mote" + , "mote-testplan" + , "partial" + , "prelude" + , "profunctor" + , "spec" + , "transformers" + , "tuples" + ] + , repo = "https://github.com/mlabs-haskell/purescript-uplc-apply-args" + , version = "v1.0.0" + } + , cardano-types = + { dependencies = + [ "aeson" + , "aff" + , "arraybuffer-types" + , "arrays" + , "bifunctors" + , "bytearrays" + , "cardano-plutus-data-schema" + , "cardano-serialization-lib" + , "control" + , "datetime" + , "effect" + , "either" + , "encoding" + , "exceptions" + , "foldable-traversable" + , "foreign-object" + , "integers" + , "js-bigints" + , "lattice" + , "lists" + , "literals" + , "maybe" + , "monad-logger" + , "mote" + , "mote-testplan" + , "newtype" + , "nonempty" + , "nullable" + , "ordered-collections" + , "partial" + , "prelude" + , "profunctor" + , "profunctor-lenses" + , "quickcheck" + , "rationals" + , "record" + , "safe-coerce" + , "spec" + , "these" + , "tuples" + , "typelevel-prelude" + , "uint" + , "unfoldable" + , "unsafe-coerce" + ] + , repo = "https://github.com/mlabs-haskell/purescript-cardano-types" + , version = "v2.0.1" + } + , cardano-message-signing = + { dependencies = + [ "bytearrays" + , "cardano-types" + , "console" + , "effect" + , "newtype" + , "prelude" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-message-signing" + , version = "v1.0.0" + } + , cardano-hd-wallet = + { dependencies = + [ "cardano-serialization-lib" + , "cardano-types" + , "console" + , "effect" + , "either" + , "prelude" + , "uint" + ] + , repo = "https://github.com/mlabs-haskell/purescript-cardano-hd-wallet" + , version = "cc1073ddf8bce72407ef6671e3decb59f422e304" } + , cardano-transaction-builder = + { dependencies = + [ "aeson" + , "aff" + , "arraybuffer-types" + , "arrays" + , "bifunctors" + , "bytearrays" + , "cardano-plutus-data-schema" + , "cardano-serialization-lib" + , "cardano-types" + , "console" + , "control" + , "datetime" + , "effect" + , "either" + , "encoding" + , "exceptions" + , "foldable-traversable" + , "foreign-object" + , "integers" + , "js-bigints" + , "lattice" + , "lists" + , "literals" + , "maybe" + , "monad-logger" + , "mote" + , "mote-testplan" + , "newtype" + , "nonempty" + , "nullable" + , "ordered-collections" + , "partial" + , "prelude" + , "profunctor" + , "profunctor-lenses" + , "quickcheck" + , "rationals" + , "record" + , "safe-coerce" + , "spec" + , "strings" + , "these" + , "transformers" + , "tuples" + , "typelevel-prelude" + , "uint" + , "unfoldable" + , "unsafe-coerce" + ] + , repo = + "https://github.com/mlabs-haskell/purescript-cardano-transaction-builder" + , version = "a9c033b9a2bb78b134ae5309209f73e47f3d5791" + } + , mote-testplan = + { dependencies = + [ "aff" + , "console" + , "datetime" + , "effect" + , "foldable-traversable" + , "maybe" + , "mote" + , "newtype" + , "numbers" + , "ordered-collections" + , "prelude" + , "spec" + , "transformers" + ] + , repo = "https://github.com/mlabs-haskell/purescript-mote-testplan" + , version = "v1.0.0" + } , cardano-transaction-lib = { dependencies = [ "aeson" @@ -147,14 +484,24 @@ let additions = , "ansi" , "argonaut" , "argonaut-codecs" - , "arraybuffer-types" , "arrays" , "avar" , "bifunctors" , "bignumber" + , "bytearrays" + , "cardano-hd-wallet" + , "cardano-key-wallet" + , "cardano-message-signing" + , "cardano-plutus-data-schema" + , "cardano-serialization-lib" + , "cardano-transaction-builder" + , "cardano-types" , "checked-exceptions" , "cip30" + , "cip30-mock" , "cip30-typesafe" + , "cip95" + , "cip95-typesafe" , "console" , "control" , "crypto" @@ -162,7 +509,6 @@ let additions = , "debug" , "effect" , "either" - , "encoding" , "enums" , "exceptions" , "foldable-traversable" @@ -170,7 +516,6 @@ let additions = , "foreign-object" , "formatters" , "functions" - , "gen" , "heterogeneous" , "http-methods" , "identity" @@ -179,10 +524,12 @@ let additions = , "js-date" , "lattice" , "lists" + , "literals" , "maybe" , "media-types" , "monad-logger" , "mote" + , "mote-testplan" , "newtype" , "noble-secp256k1" , "node-buffer" @@ -193,26 +540,30 @@ let additions = , "node-process" , "node-readline" , "node-streams" + , "node-streams-aff" , "nonempty" , "now" + , "nullable" , "numbers" , "optparse" , "ordered-collections" , "orders" , "parallel" + , "parsing" , "partial" + , "plutus-types" , "posix-types" , "prelude" , "profunctor" , "profunctor-lenses" , "quickcheck" , "quickcheck-combinators" - , "quickcheck-laws" , "random" , "rationals" , "record" , "refs" , "safe-coerce" + , "safely" , "spec" , "spec-quickcheck" , "strings" @@ -222,17 +573,18 @@ let additions = , "toppokki" , "transformers" , "tuples" - , "typelevel" , "typelevel-prelude" , "uint" , "unfoldable" + , "unsafe-coerce" , "untagged-union" + , "uplc-apply-args" , "variant" , "web-html" , "web-storage" ] , repo = "https://github.com/Plutonomicon/cardano-transaction-lib.git" - , version = "63485e328b6008b5bea336269b9d6036d04c7c7b" + , version = "v9.2.0" } , errors = { dependencies = @@ -249,26 +601,6 @@ let additions = , repo = "https://github.com/passy/purescript-errors.git" , version = "670485beb1e026f77d52ca58ce10c145d96c11ba" } - , ply-ctl = - { dependencies = - [ "effect" - , "prelude" - , "cardano-transaction-lib" - , "bigints" - , "aeson" - , "either" - , "newtype" - , "node-buffer" - , "node-fs" - , "tuples" - , "arrays" - , "uint" - , "node-process" - , "integers" - ] - , repo = "https://github.com/mlabs-haskell/ply-ctl.git" - , version = "727b811b0d561cf13d5594b9352a7294e5a20378" - } } in (upstream // additions) diff --git a/spago-packages.nix b/spago-packages.nix index bfccb04..fca9647 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -7,11 +7,11 @@ let "aeson" = pkgs.stdenv.mkDerivation { name = "aeson"; - version = "v2.0.0"; + version = "v2.0.1"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-aeson.git"; - rev = "4fddd518a143de563299d484272a0ef18daa7dcd"; - sha256 = "1bz1z9l6nwf5yk45sbbjllmqvci0n1l92cvk3lgmni19g9silbrl"; + rev = "ac674dda5cf58c6544cb361a208bced4d06ee93a"; + sha256 = "1zx7d96rz86axqz8n28j5d4lkgx48via0nw9c7xid1z1pz215zsd"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -209,13 +209,121 @@ let installPhase = "ln -s $src $out"; }; + "bytearrays" = pkgs.stdenv.mkDerivation { + name = "bytearrays"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-bytearrays"; + rev = "e3991d562a04d8825472551d91a06407ad9c9112"; + sha256 = "0lyp1x8kgzg8ykv5yp8dd21ziypi9yzhzqpwv5l995kfm4mdglh2"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-collateral-select" = pkgs.stdenv.mkDerivation { + name = "cardano-collateral-select"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-collateral-select"; + rev = "193bf49be979b42aa1f0f9cb3d7582d6bc98e3b9"; + sha256 = "1jbl6k779brbqzf7jf80is63b23k3mqzf2mzr222qswd3wg8s5b0"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-hd-wallet" = pkgs.stdenv.mkDerivation { + name = "cardano-hd-wallet"; + version = "cc1073ddf8bce72407ef6671e3decb59f422e304"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-hd-wallet"; + rev = "cc1073ddf8bce72407ef6671e3decb59f422e304"; + sha256 = "0y51lp3x785yjjrr91rmpw1bhzjdfjb5fs27n1vlwihxjyfylxya"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-key-wallet" = pkgs.stdenv.mkDerivation { + name = "cardano-key-wallet"; + version = "v2.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-key-wallet"; + rev = "99d9bb7c8b291ad0bc9709d493ff7e02d14a89c0"; + sha256 = "11jw05s7vpgg6bdyi3zy4z1fcj53a8kaaja5717b7yjgflmhfn8s"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-message-signing" = pkgs.stdenv.mkDerivation { + name = "cardano-message-signing"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-message-signing"; + rev = "97f6f97a258ae3490df0be6b39fa6769677aa04f"; + sha256 = "1ns7m9awn4w5amvf9ffldxk7acm73fg8clw4hja4nnl61mskqr5w"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-plutus-data-schema" = pkgs.stdenv.mkDerivation { + name = "cardano-plutus-data-schema"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-plutus-data-schema"; + rev = "eb0bb78927c50c4bee364e932c9fa8cf94546191"; + sha256 = "118i6dlfqk7q0va3bd4vplsv9i6sh83cr51gshas6jjwc5qbriks"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-serialization-lib" = pkgs.stdenv.mkDerivation { + name = "cardano-serialization-lib"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-serialization-lib"; + rev = "903bf0adeefedc4d065ad6523ad079433bdd8e32"; + sha256 = "0jlfxrx037hyd4v0j7l2b16yxlm6nw6qlnr992hj9nzip36vbpfg"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-transaction-builder" = pkgs.stdenv.mkDerivation { + name = "cardano-transaction-builder"; + version = "a9c033b9a2bb78b134ae5309209f73e47f3d5791"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-transaction-builder"; + rev = "a9c033b9a2bb78b134ae5309209f73e47f3d5791"; + sha256 = "1xz6k56kwghq9nl0iwrqs6m05wja0xfj34iicmlhwvdp7k4nc65w"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "cardano-transaction-lib" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-lib"; - version = "63485e328b6008b5bea336269b9d6036d04c7c7b"; + version = "v9.2.0"; src = pkgs.fetchgit { url = "https://github.com/Plutonomicon/cardano-transaction-lib.git"; - rev = "63485e328b6008b5bea336269b9d6036d04c7c7b"; - sha256 = "0danhnq3793f2ymdp7njjxkqkkrbviakd9ka49fdyq0q0kfw9203"; + rev = "a92a8b7b48ea68fa0c846dcc8803189f7908386b"; + sha256 = "1xyir2mvni6lfr923hz2cj1yvyh42n27mvh4b4wv4p7gghiy6qif"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cardano-types" = pkgs.stdenv.mkDerivation { + name = "cardano-types"; + version = "v2.0.1"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cardano-types"; + rev = "5b16e9571167e9889605d3aecdd0ccce24d38696"; + sha256 = "1052lknpkhcq86lj8aavfwzr9ybrirjighsjccpgrcaq2jn4kcmj"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -247,7 +355,7 @@ let "cip30" = pkgs.stdenv.mkDerivation { name = "cip30"; - version = "8f1b34b48825fcec5e9c67f33e255770b1e0bc45"; + version = "v1.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cip30"; rev = "8f1b34b48825fcec5e9c67f33e255770b1e0bc45"; @@ -257,9 +365,21 @@ let installPhase = "ln -s $src $out"; }; + "cip30-mock" = pkgs.stdenv.mkDerivation { + name = "cip30-mock"; + version = "v1.1.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cip30-mock"; + rev = "7ab1d872b550b60ee32df2a01feef3e8dce3f906"; + sha256 = "1bzkzs9rc9g46s0pivpzixd9l5ab010501hwgrg75psf7bim6d4c"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "cip30-typesafe" = pkgs.stdenv.mkDerivation { name = "cip30-typesafe"; - version = "d72e51fbc0255eb3246c9132d295de7f65e16a99"; + version = "v1.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cip30-typesafe"; rev = "d72e51fbc0255eb3246c9132d295de7f65e16a99"; @@ -269,6 +389,30 @@ let installPhase = "ln -s $src $out"; }; + "cip95" = pkgs.stdenv.mkDerivation { + name = "cip95"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cip95"; + rev = "2a27322aaaad116fd6f08832d171d8e5b43f290f"; + sha256 = "1jg6w27qvwkyvf1k83rpdn0d83bsfpfqsqzshv1ypnr90cy8brw5"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + + "cip95-typesafe" = pkgs.stdenv.mkDerivation { + name = "cip95-typesafe"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-cip95-typesafe"; + rev = "bee527d5bca9b8d9f7126f67160773196f492259"; + sha256 = "1cl4h65xc6px1bwldbi6vr3a5h682frasnslx7ryfdrinyx3fs0y"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "codec" = pkgs.stdenv.mkDerivation { name = "codec"; version = "v6.0.0"; @@ -869,6 +1013,18 @@ let installPhase = "ln -s $src $out"; }; + "mote-testplan" = pkgs.stdenv.mkDerivation { + name = "mote-testplan"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-mote-testplan"; + rev = "3d56986a32134fbd675e42ef6b6f55dc91ad678a"; + sha256 = "11vivzi1bs9mc8hx4v4zarb9r7x47zm6m6z1xvcn228m7lr69csy"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "newtype" = pkgs.stdenv.mkDerivation { name = "newtype"; version = "v5.0.0"; @@ -883,11 +1039,11 @@ let "noble-secp256k1" = pkgs.stdenv.mkDerivation { name = "noble-secp256k1"; - version = "a3c0f67e9fdb0086016d7aebfad35d09a08b4ecd"; + version = "v2.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-noble-secp256k1.git"; - rev = "a3c0f67e9fdb0086016d7aebfad35d09a08b4ecd"; - sha256 = "0n2q83n210ih5l54p6wrrjqmy40xhhdd3mam5mzixgr2hszm8969"; + rev = "32a9b39f1734fe0d809b3a3b4854b9e4ad6056f1"; + sha256 = "0hrf7vgf2mh91803l4drygg6srmkg765x4gk6i6zqyr6398fyxw6"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -1013,6 +1169,18 @@ let installPhase = "ln -s $src $out"; }; + "node-streams-aff" = pkgs.stdenv.mkDerivation { + name = "node-streams-aff"; + version = "v4.0.1"; + src = pkgs.fetchgit { + url = "https://github.com/purescript-node/purescript-node-streams-aff.git"; + rev = "5c9b6937d14d6fed2273e3ac8780e3d256763e7d"; + sha256 = "1vm5s6mlawdpqamnqfyh1vbsybjm2s972m02h8mza4m47zlca948"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "node-url" = pkgs.stdenv.mkDerivation { name = "node-url"; version = "v6.0.0"; @@ -1181,6 +1349,18 @@ let installPhase = "ln -s $src $out"; }; + "plutus-types" = pkgs.stdenv.mkDerivation { + name = "plutus-types"; + version = "v1.0.1"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-plutus-types"; + rev = "dfec05e2dee79ee8dafad3d698906966ea6628bb"; + sha256 = "0milz16kdl1pd0i6b8ibxpacdd2r7p6n96gl1g6h41v9bccs69p9"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "ply-ctl" = pkgs.stdenv.mkDerivation { name = "ply-ctl"; version = "727b811b0d561cf13d5594b9352a7294e5a20378"; @@ -1637,6 +1817,18 @@ let installPhase = "ln -s $src $out"; }; + "uplc-apply-args" = pkgs.stdenv.mkDerivation { + name = "uplc-apply-args"; + version = "v1.0.0"; + src = pkgs.fetchgit { + url = "https://github.com/mlabs-haskell/purescript-uplc-apply-args"; + rev = "aa528d5310cbfbd01b4d94557f404d95cfb6bb3c"; + sha256 = "1r064ca2m16hkbcswrvlng032ax1ygbpr2gxrlaqmjlf2gnin280"; + }; + phases = "installPhase"; + installPhase = "ln -s $src $out"; + }; + "uri" = pkgs.stdenv.mkDerivation { name = "uri"; version = "v9.0.0"; diff --git a/spago.dhall b/spago.dhall index b4b629f..46d0ba4 100644 --- a/spago.dhall +++ b/spago.dhall @@ -44,7 +44,6 @@ , "parallel" , "parsing" , "partial" - , "ply-ctl" , "posix-types" , "prelude" , "profunctor" diff --git a/src/Api.purs b/src/Api.purs index b8f0866..68cafd6 100644 --- a/src/Api.purs +++ b/src/Api.purs @@ -21,8 +21,8 @@ module HydraAuctionOffchain.Api import Prelude +import Cardano.Types (NetworkId) import Contract.Address (getNetworkId) -import Contract.Config (NetworkId) import Contract.Monad (Contract, runContract) import Contract.Transaction (TransactionHash) import Contract.Transaction (awaitTxConfirmed) as Contract diff --git a/src/Codec.purs b/src/Codec.purs index ce74d49..21dcb5f 100644 --- a/src/Codec.purs +++ b/src/Codec.purs @@ -1,68 +1,62 @@ module HydraAuctionOffchain.Codec ( addressCodec - , addressWithNetworkTagCodec + , assetNameCodec , bigIntCodec , bigIntCodecNum + , bigNumCodec , byteArrayCodec - , currencySymbolCodec + , ed25519KeyHashCodec , ed25519SignatureCodec , logLevelCodec , orefCodec + , plutusAddressCodec + , plutusPubKeyHashCodec + , plutusValueCodec , portCodec , posixTimeCodec - , pubKeyHashCodec , publicKeyCodec + , scriptHashCodec , serverConfigCodec , sysStartCodec - , tokenNameCodec - , transactionHashCodec , txCodec - , valueCodec + , txHashCodec , vkeyWitnessCodec ) where import Prelude -import Contract.Address +import Cardano.AsCbor (class AsCbor, decodeCbor, encodeCbor) +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Address (fromCardano, toCardano) as Plutus.Address +import Cardano.Plutus.Types.CurrencySymbol (CurrencySymbol) as Plutus +import Cardano.Plutus.Types.CurrencySymbol (mkCurrencySymbol, unCurrencySymbol) as Plutus.CurrencySymbol +import Cardano.Plutus.Types.PubKeyHash (PubKeyHash(PubKeyHash)) as Plutus +import Cardano.Plutus.Types.TokenName (TokenName(TokenName)) as Plutus +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Plutus.Types.Value (flattenValue, singleton) as Plutus.Value +import Cardano.Types ( Address - , AddressWithNetworkTag - , PubKeyHash - , addressWithNetworkTagFromBech32 - , addressWithNetworkTagToBech32 - ) -import Contract.Config (NetworkId, ServerConfig) -import Contract.Prim.ByteArray (ByteArray, byteArrayToHex, hexToByteArray) -import Contract.Time (POSIXTime(POSIXTime), SystemStart) -import Contract.Transaction - ( Ed25519Signature + , AssetName + , BigNum + , CborBytes(CborBytes) + , Ed25519KeyHash + , Ed25519Signature + , NetworkId , PublicKey + , RawBytes(RawBytes) + , ScriptHash , Transaction - , TransactionHash(TransactionHash) + , TransactionHash , TransactionInput(TransactionInput) - , Vkey(Vkey) - , Vkeywitness(Vkeywitness) - ) -import Contract.Value - ( CurrencySymbol - , TokenName - , Value - , getCurrencySymbol - , getTokenName - , mkCurrencySymbol - , mkTokenName + , Vkeywitness ) -import Contract.Value (flattenValue, singleton) as Value -import Ctl.Internal.Cardano.Types.Transaction - ( convertEd25519Signature - , convertPubKey - , mkFromCslEd25519Signature - , mkFromCslPubKey - ) -import Ctl.Internal.Deserialization.FromBytes (fromBytes) -import Ctl.Internal.Deserialization.Transaction (deserializeTransaction) -import Ctl.Internal.Serialization (convertTransaction, toBytes) -import Ctl.Internal.Serialization.Hash (ed25519KeyHashFromBytes, ed25519KeyHashToBytes) -import Ctl.Internal.Serialization.Keys (bytesFromPublicKey) +import Cardano.Types.Address (fromBech32, toBech32) as Address +import Cardano.Types.AssetName (mkAssetName, unAssetName) +import Cardano.Types.BigNum (fromString, toString) as BigNum +import Cardano.Types.PublicKey (fromRawBytes, toRawBytes) as PublicKey +import Contract.Config (ServerConfig) +import Contract.Prim.ByteArray (ByteArray, byteArrayToHex, hexToByteArray) +import Contract.Time (POSIXTime(POSIXTime), SystemStart) import Data.Codec.Argonaut ( JsonCodec , array @@ -92,32 +86,55 @@ import JS.BigInt (fromNumber, fromString, toNumber, toString) as BigInt import URI.Port (Port) import URI.Port (fromInt, toInt) as Port -addressCodec :: NetworkId -> CA.JsonCodec Address -addressCodec network = - dimap (wrap <<< { address: _, networkId: network }) (_.address <<< unwrap) - addressWithNetworkTagCodec - -addressWithNetworkTagCodec :: CA.JsonCodec AddressWithNetworkTag -addressWithNetworkTagCodec = - CA.prismaticCodec "AddressWithNetworkTag" addressWithNetworkTagFromBech32 - addressWithNetworkTagToBech32 +addressCodec :: CA.JsonCodec Address +addressCodec = + CA.prismaticCodec "Address" Address.fromBech32 Address.toBech32 CA.string -currencySymbolCodec :: CA.JsonCodec CurrencySymbol -currencySymbolCodec = - CA.prismaticCodec "CurrencySymbol" mkCurrencySymbol getCurrencySymbol byteArrayCodec +asCborCodec :: forall a. AsCbor a => String -> CA.JsonCodec a +asCborCodec name = + CA.prismaticCodec name decodeCbor encodeCbor + cborBytesCodec + +assetNameCodec :: CA.JsonCodec AssetName +assetNameCodec = + CA.prismaticCodec "AssetName" mkAssetName unAssetName + byteArrayCodec bigIntCodec :: CA.JsonCodec BigInt -bigIntCodec = CA.prismaticCodec "BigInt" BigInt.fromString BigInt.toString CA.string +bigIntCodec = + CA.prismaticCodec "BigInt" BigInt.fromString BigInt.toString + CA.string bigIntCodecNum :: CA.JsonCodec BigInt -bigIntCodecNum = CA.prismaticCodec "BigInt" BigInt.fromNumber BigInt.toNumber CA.number +bigIntCodecNum = + CA.prismaticCodec "BigInt" BigInt.fromNumber BigInt.toNumber + CA.number + +bigNumCodec :: CA.JsonCodec BigNum +bigNumCodec = + CA.prismaticCodec "BigNum" BigNum.fromString BigNum.toString + CA.string byteArrayCodec :: CA.JsonCodec ByteArray -byteArrayCodec = CA.prismaticCodec "ByteArray" hexToByteArray byteArrayToHex CA.string +byteArrayCodec = + CA.prismaticCodec "ByteArray" hexToByteArray byteArrayToHex + CA.string + +cborBytesCodec :: CA.JsonCodec CborBytes +cborBytesCodec = wrapIso CborBytes byteArrayCodec + +ed25519KeyHashCodec :: CA.JsonCodec Ed25519KeyHash +ed25519KeyHashCodec = asCborCodec "Ed25519KeyHash" + +ed25519SignatureCodec :: CA.JsonCodec Ed25519Signature +ed25519SignatureCodec = + asCborCodec "Ed25519Signature" logLevelCodec :: CA.JsonCodec LogLevel -logLevelCodec = CA.prismaticCodec "LogLevel" readLogLevel printLogLevel CA.string +logLevelCodec = + CA.prismaticCodec "LogLevel" readLogLevel printLogLevel + CA.string where readLogLevel :: String -> Maybe LogLevel readLogLevel = case _ of @@ -139,21 +156,71 @@ logLevelCodec = CA.prismaticCodec "LogLevel" readLogLevel printLogLevel CA.strin orefCodec :: CA.JsonCodec TransactionInput orefCodec = wrapIso TransactionInput $ CA.object "TransactionInput" $ CAR.record - { transactionId: transactionHashCodec + { transactionId: txHashCodec , index: CA.prismaticCodec "UInt" UInt.fromString UInt.toString CA.string } +plutusAddressCodec :: NetworkId -> CA.JsonCodec Plutus.Address +plutusAddressCodec network = + CA.prismaticCodec "Plutus.Address" + Plutus.Address.fromCardano + (fromJustWithErr "plutusAddressCodec" <<< Plutus.Address.toCardano network) -- FIXME + addressCodec + +plutusCurrencySymbolCodec :: CA.JsonCodec Plutus.CurrencySymbol +plutusCurrencySymbolCodec = + CA.prismaticCodec + "Plutus.CurrencySymbol" + Plutus.CurrencySymbol.mkCurrencySymbol + Plutus.CurrencySymbol.unCurrencySymbol + byteArrayCodec + +plutusPubKeyHashCodec :: CA.JsonCodec Plutus.PubKeyHash +plutusPubKeyHashCodec = wrapIso Plutus.PubKeyHash ed25519KeyHashCodec + +plutusTokenNameCodec :: CA.JsonCodec Plutus.TokenName +plutusTokenNameCodec = wrapIso Plutus.TokenName assetNameCodec + +type ValueEntry = + { cs :: Plutus.CurrencySymbol + , tn :: Plutus.TokenName + , quantity :: BigInt + } + +plutusValueCodec :: CA.JsonCodec Plutus.Value +plutusValueCodec = dimap fromValue toValue $ CA.array valueEntryCodec + where + fromValue :: Plutus.Value -> Array ValueEntry + fromValue = + map (\(cs /\ tn /\ quantity) -> { cs, tn, quantity }) + <<< Plutus.Value.flattenValue + + toValue :: Array ValueEntry -> Plutus.Value + toValue = foldMap \rec -> Plutus.Value.singleton rec.cs rec.tn rec.quantity + + valueEntryCodec :: CA.JsonCodec ValueEntry + valueEntryCodec = CA.object "ValueEntry" $ CAR.record + { cs: plutusCurrencySymbolCodec + , tn: plutusTokenNameCodec + , quantity: bigIntCodec + } + portCodec :: CA.JsonCodec Port portCodec = CA.prismaticCodec "Port" Port.fromInt Port.toInt CA.int posixTimeCodec :: CA.JsonCodec POSIXTime posixTimeCodec = wrapIso POSIXTime bigIntCodec -pubKeyHashCodec :: CA.JsonCodec PubKeyHash -pubKeyHashCodec = - CA.prismaticCodec "PubKeyHash" (map wrap <<< ed25519KeyHashFromBytes) - (unwrap <<< ed25519KeyHashToBytes <<< unwrap) - byteArrayCodec +publicKeyCodec :: CA.JsonCodec PublicKey +publicKeyCodec = + CA.prismaticCodec "PublicKey" PublicKey.fromRawBytes PublicKey.toRawBytes + rawBytesCodec + +rawBytesCodec :: CA.JsonCodec RawBytes +rawBytesCodec = wrapIso RawBytes byteArrayCodec + +scriptHashCodec :: CA.JsonCodec ScriptHash +scriptHashCodec = asCborCodec "ScriptHash" serverConfigCodec :: CA.JsonCodec ServerConfig serverConfigCodec = @@ -174,61 +241,14 @@ sysStartCodec = formatter :: String formatter = "YYYY-MM-DDTHH:mm:ssZ" -tokenNameCodec :: CA.JsonCodec TokenName -tokenNameCodec = - CA.prismaticCodec "TokenName" mkTokenName getTokenName byteArrayCodec - -transactionHashCodec :: CA.JsonCodec TransactionHash -transactionHashCodec = wrapIso TransactionHash byteArrayCodec - txCodec :: CA.JsonCodec Transaction -txCodec = - CA.prismaticCodec - "Transaction" - (hush <<< deserializeTransaction <<< wrap) - (unwrap <<< toBytes <<< unsafePerformEffect <<< convertTransaction) - byteArrayCodec +txCodec = asCborCodec "Transaction" + +txHashCodec :: CA.JsonCodec TransactionHash +txHashCodec = asCborCodec "TransactionHash" uintCodec :: CA.JsonCodec UInt uintCodec = CA.prismaticCodec "UInt" UInt.fromInt' UInt.toInt CA.int -valueCodec :: CA.JsonCodec Value -valueCodec = dimap fromValue toValue $ CA.array valueEntryCodec - where - fromValue :: Value -> Array ValueEntry - fromValue = map (\(cs /\ tn /\ quantity) -> { cs, tn, quantity }) <<< Value.flattenValue - - toValue :: Array ValueEntry -> Value - toValue = foldMap \rec -> Value.singleton rec.cs rec.tn rec.quantity - -type ValueEntry = - { cs :: CurrencySymbol - , tn :: TokenName - , quantity :: BigInt - } - -valueEntryCodec :: CA.JsonCodec ValueEntry -valueEntryCodec = CA.object "ValueEntry" $ CAR.record - { cs: currencySymbolCodec - , tn: tokenNameCodec - , quantity: bigIntCodec - } - vkeyWitnessCodec :: CA.JsonCodec Vkeywitness -vkeyWitnessCodec = - wrapIso Vkeywitness $ - CA.tuple (wrapIso Vkey publicKeyCodec) ed25519SignatureCodec - -publicKeyCodec :: CA.JsonCodec PublicKey -publicKeyCodec = - CA.prismaticCodec "PublicKey" - (map mkFromCslPubKey <<< fromBytes <<< wrap) - (unwrap <<< bytesFromPublicKey <<< convertPubKey) - byteArrayCodec - -ed25519SignatureCodec :: CA.JsonCodec Ed25519Signature -ed25519SignatureCodec = - CA.prismaticCodec "Ed25519Signature" - (map mkFromCslEd25519Signature <<< fromBytes <<< wrap) - (unwrap <<< toBytes <<< convertEd25519Signature) - byteArrayCodec +vkeyWitnessCodec = asCborCodec "Vkeywitness" diff --git a/src/Contract/AnnounceAuction.purs b/src/Contract/AnnounceAuction.purs index 58abe72..d67e753 100644 --- a/src/Contract/AnnounceAuction.purs +++ b/src/Contract/AnnounceAuction.purs @@ -8,6 +8,8 @@ module HydraAuctionOffchain.Contract.AnnounceAuction , AnnounceAuction_Error_CurrentTimeAfterBiddingStart , AnnounceAuction_Error_CouldNotBuildAuctionValidators , AnnounceAuction_Error_CouldNotGetOwnPubKey + , AnnounceAuction_Error_SellerAddressConversionFailure + , AnnounceAuction_Error_AuctionLotValueConversionFailure ) , AnnounceAuctionContractOutput(AnnounceAuctionContractOutput) , AnnounceAuctionContractParams(AnnounceAuctionContractParams) @@ -18,21 +20,32 @@ module HydraAuctionOffchain.Contract.AnnounceAuction import Contract.Prelude -import Contract.Address (getNetworkId, scriptHashAddress) +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Plutus.Types.Address (scriptHashAddress) +import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value +import Cardano.Types + ( AssetName + , NetworkId + , PlutusData + , RedeemerDatum + , ScriptHash + , ScriptRef(PlutusScriptRef) + , TransactionHash + , TransactionInput + , TransactionOutput + , Value + ) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.Int (one) as Cardano.Int +import Cardano.Types.Mint (fromMultiAsset) as Mint +import Cardano.Types.PlutusScript (hash) as PlutusScript +import Contract.Address (getNetworkId) import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, Redeemer, toData) +import Contract.PlutusData (toData) import Contract.ScriptLookups (ScriptLookups) -import Contract.ScriptLookups (mintingPolicy, unspentOutputs) as Lookups -import Contract.Scripts (ValidatorHash, validatorHash) +import Contract.ScriptLookups (plutusMintingPolicy, unspentOutputs) as Lookups import Contract.Time (POSIXTimeRange, to) -import Contract.Transaction - ( ScriptRef(PlutusScriptRef) - , TransactionHash - , TransactionInput - , TransactionOutputWithRefScript - ) import Contract.TxConstraints (DatumPresence(DatumInline), TxConstraints) import Contract.TxConstraints ( mustMintCurrencyUsingNativeScript @@ -43,10 +56,9 @@ import Contract.TxConstraints , mustValidateIn ) as Constraints import Contract.Utxos (UtxoMap, getUtxo) -import Contract.Value (TokenName, Value, scriptCurrencySymbol) -import Contract.Value (singleton) as Value +import Contract.Value (getMultiAsset, singleton) as Value import Contract.Wallet (getWalletUtxos) -import Control.Error.Util ((!?)) +import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, runExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Control.Parallel (parTraverse) @@ -55,7 +67,7 @@ import Ctl.Internal.BalanceTx.CoinSelection , performMultiAssetSelection ) import Ctl.Internal.CoinSelection.UtxoIndex (buildUtxoIndex) -import Ctl.Internal.Plutus.Conversion (fromPlutusUtxoMap, fromPlutusValue, toPlutusUtxoMap) +import Ctl.Internal.Types.Val (fromValue) as Val import Data.Array (head) as Array import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Compat (maybe) as CA @@ -64,7 +76,7 @@ import Data.Either (hush) import Data.Map (fromFoldable, isEmpty, keys, toUnfoldable, union) as Map import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import HydraAuctionOffchain.Codec (orefCodec, transactionHashCodec) +import HydraAuctionOffchain.Codec (orefCodec, txHashCodec) import HydraAuctionOffchain.Contract.MintingPolicies ( auctionEscrowTokenName , auctionMetadataTokenName @@ -80,6 +92,7 @@ import HydraAuctionOffchain.Contract.Types , AuctionInfo , AuctionInfoExtended , AuctionPolicyRedeemer(MintAuction) + , AuctionTerms(AuctionTerms) , AuctionTermsInput , AuctionTermsValidationError , ContractOutput @@ -156,7 +169,7 @@ announceAuctionContractOutputCodec :: NetworkId -> CA.JsonCodec AnnounceAuctionC announceAuctionContractOutputCodec network = wrapIso AnnounceAuctionContractOutput $ CA.object "AnnounceAuctionContractOutput" $ CAR.record - { txHash: transactionHashCodec + { txHash: txHashCodec , auctionInfo: auctionInfoExtendedCodec network } @@ -176,23 +189,34 @@ mkAnnounceAuctionContractWithErrors :: AnnounceAuctionContractParams -> ExceptT AnnounceAuctionContractError Contract AnnounceAuctionContractResult mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do + network <- lift getNetworkId + -- Get pkh and vkey, build AuctionTerms: { vkey, address, pkh: sellerPkh } <- withExceptT AnnounceAuction_Error_CouldNotGetOwnPubKey askWalletVk + -- Convert seller address: + sellerAddressPlutus <- Plutus.Address.fromCardano address + ?? AnnounceAuction_Error_SellerAddressConversionFailure + -- Check auction terms: - let auctionTerms = mkAuctionTerms params.auctionTerms address vkey + let + auctionTerms@(AuctionTerms auctionTermsRec) = + mkAuctionTerms params.auctionTerms sellerAddressPlutus vkey validateAuctionTerms auctionTerms # validation (throwError <<< AnnounceAuction_Error_InvalidAuctionTerms) pure + -- Convert auction lot Value: + auctionLotValue <- Plutus.Value.toCardano auctionTermsRec.auctionLot + ?? AnnounceAuction_Error_AuctionLotValueConversionFailure + -- Select utxos to cover auction lot Value: - let { auctionLot, biddingStart } = unwrap auctionTerms utxos <- getWalletUtxos !? AnnounceAuction_Error_CouldNotGetWalletUtxos additionalAuctionLotUtxos <- queryUtxos params.additionalAuctionLotOrefs !? AnnounceAuction_Error_CouldNotGetAdditionalAuctionLotUtxos let utxos' = Map.union utxos additionalAuctionLotUtxos - auctionLotUtxos <- selectUtxos utxos' auctionLot + auctionLotUtxos <- selectUtxos utxos' auctionLotValue !? AnnounceAuction_Error_CouldNotCoverAuctionLot when (Map.isEmpty auctionLotUtxos) $ throwError AnnounceAuction_Error_EmptyAuctionLotUtxoMap -- impossible @@ -203,48 +227,52 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do -- Check that the current time < bidding start time: nowTime <- lift currentTime - unless (nowTime < biddingStart) $ + unless (nowTime < auctionTermsRec.biddingStart) $ throwError AnnounceAuction_Error_CurrentTimeAfterBiddingStart -- Get auction minting policy: - auctionMetadataSh <- lift $ mkAuctionMetadataValidator <#> unwrap <<< validatorHash + auctionMetadataSh <- lift $ PlutusScript.hash <$> mkAuctionMetadataValidator auctionMintingPolicy <- lift $ mkAuctionMintingPolicy auctionMetadataSh nonceOref - let auctionCs = scriptCurrencySymbol auctionMintingPolicy + let auctionCs = PlutusScript.hash auctionMintingPolicy -- Get auction validators: validators <- withExceptT AnnounceAuction_Error_CouldNotBuildAuctionValidators $ mkAuctionValidators auctionCs auctionTerms - let validatorHashes = validatorHash <$> validators - let validatorAddresses = unwrap $ flip scriptHashAddress Nothing <$> validatorHashes + let validatorHashes = PlutusScript.hash <$> validators + let validatorAddresses = unwrap $ flip scriptHashAddress Nothing <<< wrap <$> validatorHashes -- Get auction metadata validator hash: - metadataValidatorHash <- lift $ validatorHash <$> mkAuctionMetadataValidator + metadataValidatorHash <- lift $ PlutusScript.hash <$> mkAuctionMetadataValidator let - mkAuctionToken :: TokenName -> Value - mkAuctionToken tokenName = Value.singleton auctionCs tokenName one + mkAuctionToken :: AssetName -> Value + mkAuctionToken tokenName = Value.singleton auctionCs tokenName BigNum.one auctionTokenBundle :: Value - auctionTokenBundle = foldMap mkAuctionToken - [ auctionEscrowTokenName - , auctionMetadataTokenName - , standingBidTokenName - ] - - mintAuctionRedeemer :: Redeemer + auctionTokenBundle = + -- safe, no numeric overflow is possible here + unsafePartial $ foldMap mkAuctionToken + [ auctionEscrowTokenName + , auctionMetadataTokenName + , standingBidTokenName + ] + + mintAuctionRedeemer :: RedeemerDatum mintAuctionRedeemer = wrap $ toData MintAuction -- AuctionEscrow ------------------------------------------------- - auctionEscrowValidatorHash :: ValidatorHash + auctionEscrowValidatorHash :: ScriptHash auctionEscrowValidatorHash = (unwrap validatorHashes).auctionEscrow auctionEscrowValue :: Value - auctionEscrowValue = auctionLot <> mkAuctionToken auctionEscrowTokenName - <> mkAuctionToken standingBidTokenName + auctionEscrowValue = + unsafePartial do + auctionLotValue <> mkAuctionToken auctionEscrowTokenName <> + mkAuctionToken standingBidTokenName - auctionEscrowDatum :: Datum - auctionEscrowDatum = wrap $ toData AuctionAnnounced + auctionEscrowDatum :: PlutusData + auctionEscrowDatum = toData AuctionAnnounced -- AuctionInfo --------------------------------------------------- @@ -262,19 +290,19 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do , standingBidAddr: validatorAddresses.standingBid } - auctionInfoDatum :: Datum - auctionInfoDatum = wrap $ toData auctionInfo + auctionInfoDatum :: PlutusData + auctionInfoDatum = toData auctionInfo -- AuctionActor -------------------------------------------------- sellerOracle :: PersonalOracle - sellerOracle = mkPersonalOracle $ wrap sellerPkh + sellerOracle = mkPersonalOracle network $ wrap sellerPkh sellerOracleTokenValue :: Value - sellerOracleTokenValue = assetToValue sellerOracle.assetClass one + sellerOracleTokenValue = assetToValue sellerOracle.assetClass BigNum.one - auctionActorDatum :: Datum - auctionActorDatum = wrap $ toData $ AuctionActor + auctionActorDatum :: PlutusData + auctionActorDatum = toData $ AuctionActor { auctionInfo: mkAuctionInfoExtended auctionInfo Nothing , role: ActorRoleSeller } @@ -282,7 +310,7 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do -- txValidRange :: POSIXTimeRange - txValidRange = to $ biddingStart - wrap (BigInt.fromInt 1000) + txValidRange = to $ auctionTermsRec.biddingStart - wrap (BigInt.fromInt 1000) constraints :: TxConstraints constraints = mconcat @@ -290,7 +318,8 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do foldMap Constraints.mustSpendPubKeyOutput $ Map.keys auctionLotUtxos -- Mint auction state, auction metadata, and standing bid tokens: - , Constraints.mustMintValueWithRedeemer mintAuctionRedeemer auctionTokenBundle + , Constraints.mustMintValueWithRedeemer mintAuctionRedeemer $ Mint.fromMultiAsset $ + Value.getMultiAsset auctionTokenBundle -- Lock auction lot with auction state and standing bid tokens -- at the auction escrow validator address, set state to @@ -301,11 +330,11 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do -- Mint seller's personal oracle token: , Constraints.mustMintCurrencyUsingNativeScript sellerOracle.nativeScript (unwrap sellerOracle.assetClass).tokenName - one + Cardano.Int.one -- Lock auction actor datum with personal oracle token at -- the seller's personal oracle address: - , Constraints.mustPayToScript (wrap $ sellerOracle.nativeScriptHash) auctionActorDatum + , Constraints.mustPayToScript sellerOracle.nativeScriptHash auctionActorDatum DatumInline sellerOracleTokenValue @@ -315,7 +344,7 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do DatumInline -- Attach standing bid reference script to meet the max tx -- size requirement for subsequent transactions. - (PlutusScriptRef $ unwrap (unwrap validators).standingBid) + (PlutusScriptRef $ (unwrap validators).standingBid) auctionInfoValue -- Set transaction validity interval to registration period: @@ -325,7 +354,7 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do lookups :: ScriptLookups lookups = mconcat [ Lookups.unspentOutputs auctionLotUtxos - , Lookups.mintingPolicy auctionMintingPolicy + , Lookups.plutusMintingPolicy auctionMintingPolicy ] result <- lift $ submitTxReturningContractResult {} $ emptySubmitTxData @@ -342,23 +371,20 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do selectUtxos :: UtxoMap -> Value -> Contract (Maybe UtxoMap) selectUtxos utxos requiredValue = do - networkId <- getNetworkId - let utxoIndex = buildUtxoIndex $ fromPlutusUtxoMap networkId utxos + let utxoIndex = buildUtxoIndex utxos hush <$> runExceptT do selState <- performMultiAssetSelection SelectionStrategyMinimal utxoIndex - (fromPlutusValue requiredValue) + (Val.fromValue requiredValue) let selectedUtxos = (unwrap selState).selectedUtxos - pure $ unsafePartial fromJust $ toPlutusUtxoMap selectedUtxos + pure selectedUtxos queryUtxos :: Array TransactionInput -> Contract (Maybe UtxoMap) queryUtxos = map (map Map.fromFoldable <<< sequence) <<< parTraverse getUtxo' where getUtxo' :: TransactionInput - -> Contract (Maybe (TransactionInput /\ TransactionOutputWithRefScript)) - getUtxo' oref = - getUtxo oref <#> - map (\output -> oref /\ wrap { output, scriptRef: Nothing }) + -> Contract (Maybe (TransactionInput /\ TransactionOutput)) + getUtxo' oref = map (Tuple oref) <$> getUtxo oref ---------------------------------------------------------------------- -- Errors @@ -372,6 +398,8 @@ data AnnounceAuctionContractError | AnnounceAuction_Error_CurrentTimeAfterBiddingStart | AnnounceAuction_Error_CouldNotBuildAuctionValidators MkAuctionValidatorsError | AnnounceAuction_Error_CouldNotGetOwnPubKey SignMessageError + | AnnounceAuction_Error_SellerAddressConversionFailure + | AnnounceAuction_Error_AuctionLotValueConversionFailure derive instance Generic AnnounceAuctionContractError _ derive instance Eq AnnounceAuctionContractError @@ -405,3 +433,9 @@ instance ToContractError AnnounceAuctionContractError where AnnounceAuction_Error_CouldNotGetOwnPubKey err -> "Could not get own public key, error: " <> show err <> "." + + AnnounceAuction_Error_SellerAddressConversionFailure -> + "Could not convert seller address to Plutus.Address." + + AnnounceAuction_Error_AuctionLotValueConversionFailure -> + "Could not convert auction lot Plutus.Value to Cardano.Value." diff --git a/src/Contract/AuthorizeBidders.purs b/src/Contract/AuthorizeBidders.purs index 9a1bc39..4c33397 100644 --- a/src/Contract/AuthorizeBidders.purs +++ b/src/Contract/AuthorizeBidders.purs @@ -11,12 +11,15 @@ module HydraAuctionOffchain.Contract.AuthorizeBidders import Contract.Prelude +import Cardano.Types (PlutusData, ScriptHash, Value) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.Int (one) as Cardano.Int +import Contract.Address (getNetworkId) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, toData) +import Contract.PlutusData (toData) import Contract.Transaction (TransactionHash) import Contract.TxConstraints (DatumPresence(DatumInline), TxConstraints) import Contract.TxConstraints (mustMintCurrencyUsingNativeScript, mustPayToScript) as Constraints -import Contract.Value (CurrencySymbol, Value) import Contract.Wallet (ownPaymentPubKeyHash) import Control.Error.Util ((!?)) import Control.Monad.Except (ExceptT, throwError, withExceptT) @@ -25,7 +28,7 @@ import Data.Array (nub, null) as Array import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Profunctor (wrapIso) -import HydraAuctionOffchain.Codec (currencySymbolCodec) +import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -45,7 +48,7 @@ import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) newtype AuthBiddersContractParams = AuthBiddersContractParams - { auctionCs :: CurrencySymbol + { auctionCs :: ScriptHash , biddersToAuthorize :: Array VerificationKey } @@ -63,7 +66,7 @@ authBiddersContractParamsCodec :: CA.JsonCodec AuthBiddersContractParams authBiddersContractParamsCodec = wrapIso AuthBiddersContractParams $ CA.object "AuthBiddersContractParams" $ CAR.record - { auctionCs: currencySymbolCodec + { auctionCs: scriptHashCodec , biddersToAuthorize: CA.array vkeyCodec } @@ -81,6 +84,8 @@ mkAuthorizeBiddersContractWithErrors (AuthBiddersContractParams params) = do auctionCs = params.auctionCs biddersToAuthorize = Array.nub params.biddersToAuthorize + network <- lift getNetworkId + -- Check that there is at least one bidder to authorize: when (Array.null biddersToAuthorize) $ throwError AuthBidders_Error_NoBiddersToAuthorize @@ -98,23 +103,23 @@ mkAuthorizeBiddersContractWithErrors (AuthBiddersContractParams params) = do let sellerOracle :: PersonalOracle - sellerOracle = mkPersonalOracle sellerPkh + sellerOracle = mkPersonalOracle network sellerPkh sellerOracleTokenValue :: Value - sellerOracleTokenValue = assetToValue sellerOracle.assetClass one + sellerOracleTokenValue = assetToValue sellerOracle.assetClass BigNum.one - auctionAuthDatum :: Datum - auctionAuthDatum = wrap $ toData $ AuctionAuth { auctionCs, signatures } + auctionAuthDatum :: PlutusData + auctionAuthDatum = toData $ AuctionAuth { auctionCs, signatures } constraints :: TxConstraints constraints = mconcat - [ Constraints.mustPayToScript (wrap $ sellerOracle.nativeScriptHash) auctionAuthDatum + [ Constraints.mustPayToScript sellerOracle.nativeScriptHash auctionAuthDatum DatumInline sellerOracleTokenValue , Constraints.mustMintCurrencyUsingNativeScript sellerOracle.nativeScript (unwrap sellerOracle.assetClass).tokenName - one + Cardano.Int.one ] lift $ submitTxReturningContractResult {} $ emptySubmitTxData diff --git a/src/Contract/ClaimAuctionLotBidder.purs b/src/Contract/ClaimAuctionLotBidder.purs index 7f7109b..edd5c5e 100644 --- a/src/Contract/ClaimAuctionLotBidder.purs +++ b/src/Contract/ClaimAuctionLotBidder.purs @@ -12,6 +12,7 @@ module HydraAuctionOffchain.Contract.ClaimAuctionLotBidder , ClaimAuctionLotBidder_Error_EmptyStandingBid , ClaimAuctionLotBidder_Error_CouldNotGetBuyerPkh , ClaimAuctionLotBidder_Error_CouldNotGetSellerPkh + , ClaimAuctionLotBidder_Error_AuctionLotValueConversionFailure ) , claimAuctionLotBidderContract , mkClaimAuctionLotBidderContractWithErrors @@ -19,7 +20,15 @@ module HydraAuctionOffchain.Contract.ClaimAuctionLotBidder import Contract.Prelude -import Contract.Address (toPubKeyHash) +import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value +import Cardano.Types + ( PlutusData + , RedeemerDatum + , TransactionHash + , TransactionInput + , TransactionUnspentOutput + ) +import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) import Contract.Log (logWarn') import Contract.Monad (Contract) @@ -28,12 +37,6 @@ import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) import Contract.Time (POSIXTimeRange, mkFiniteInterval) -import Contract.Transaction - ( TransactionHash - , TransactionInput - , TransactionUnspentOutput - , mkTxUnspentOut - ) import Contract.TxConstraints ( DatumPresence(DatumInline) , InputWithScriptRef(RefInput) @@ -86,8 +89,10 @@ import HydraAuctionOffchain.Contract.Types , validateAuctionTerms ) import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) -import HydraAuctionOffchain.Helpers (withEmptyPlutusV2Script) +import HydraAuctionOffchain.Helpers (fromJustWithErr) +import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import JS.BigInt (fromInt) as BigInt +import Partial.Unsafe (unsafePartial) claimAuctionLotBidderContract :: AuctionInfoExtended -> Contract (ContractOutput TransactionHash) @@ -107,6 +112,10 @@ mkClaimAuctionLotBidderContractWithErrors auctionInfo = do validateAuctionTerms auctionTerms # validation (throwError <<< ClaimAuctionLotBidder_Error_InvalidAuctionTerms) pure + -- Convert auction lot Value: + auctionLotValue <- Plutus.Value.toCardano auctionTermsRec.auctionLot + ?? ClaimAuctionLotBidder_Error_AuctionLotValueConversionFailure + -- Check that the current time is within the purchase period: nowTime <- lift currentTime when (nowTime < auctionTermsRec.biddingEnd) $ @@ -147,40 +156,43 @@ mkClaimAuctionLotBidderContractWithErrors auctionInfo = do lift $ logWarn' "Could not find bidder deposit utxo." -- Get buyer pkh: - buyerPkh <- wrap <$> toPubKeyHash (unwrap bidderInfo).bidderAddress + buyerPkh <- wrap <<< unwrap <$> toPubKeyHash (unwrap bidderInfo).bidderAddress ?? ClaimAuctionLotBidder_Error_CouldNotGetBuyerPkh -- Get seller pkh: - sellerPkh <- wrap <$> toPubKeyHash auctionTermsRec.sellerAddress + sellerPkh <- wrap <<< unwrap <$> toPubKeyHash auctionTermsRec.sellerAddress ?? ClaimAuctionLotBidder_Error_CouldNotGetSellerPkh let validatorHashes = unwrap $ validatorHash <$> validators mkAuctionToken :: TokenName -> Value - mkAuctionToken tokenName = Value.singleton auctionCs tokenName one + mkAuctionToken tokenName = Value.singleton auctionCs tokenName BigNum.one -- AuctionEscrow ------------------------------------------------- auctionEscrowOref :: TransactionInput auctionEscrowOref = fst auctionEscrowUtxo - auctionEscrowRedeemer :: Redeemer + auctionEscrowRedeemer :: RedeemerDatum auctionEscrowRedeemer = wrap $ toData BidderBuysRedeemer - auctionEscrowDatum :: Datum - auctionEscrowDatum = wrap $ toData AuctionConcluded + auctionEscrowDatum :: PlutusData + auctionEscrowDatum = toData AuctionConcluded auctionEscrowValue :: Value - auctionEscrowValue = mkAuctionToken auctionEscrowTokenName - <> mkAuctionToken standingBidTokenName + auctionEscrowValue = + -- safe, no numeric overflow is possible here + unsafePartial do + mkAuctionToken auctionEscrowTokenName + <> mkAuctionToken standingBidTokenName -- StandingBid --------------------------------------------------- standingBidOref :: TransactionInput standingBidOref = fst standingBidUtxo - standingBidRedeemer :: Redeemer + standingBidRedeemer :: RedeemerDatum standingBidRedeemer = wrap $ toData ConcludeAuctionRedeemer -- BidderDeposit ------------------------------------------------- @@ -188,22 +200,26 @@ mkClaimAuctionLotBidderContractWithErrors auctionInfo = do mBidderDepositOref :: Maybe TransactionInput mBidderDepositOref = fst <$> mBidderDepositUtxo - bidderDepositRedeemer :: Redeemer + bidderDepositRedeemer :: RedeemerDatum bidderDepositRedeemer = wrap $ toData UseDepositWinnerRedeemer -- AuctionMetadata ----------------------------------------------- auctionMetadataUtxo :: TransactionUnspentOutput - auctionMetadataUtxo = mkTxUnspentOut auctionMetadataOref $ withEmptyPlutusV2Script - auctionMetadataTxOut + auctionMetadataUtxo = wrap { input: auctionMetadataOref, output: auctionMetadataTxOut } -- totalAuctionFeesValue :: Value - totalAuctionFeesValue = Value.lovelaceValueOf $ totalAuctionFees auctionTerms + totalAuctionFeesValue = + -- safe, checked as part of AuctionTerms validation + Value.lovelaceValueOf $ fromJustWithErr "totalAuctionFeesValue" $ + totalAuctionFees auctionTerms sellerPayoutValue :: Value - sellerPayoutValue = Value.lovelaceValueOf $ sellerPayout auctionTerms bidTerms + sellerPayoutValue = + Value.lovelaceValueOf $ fromJustWithErr "sellerPayoutValue" $ + sellerPayout auctionTerms bidTerms txValidRange :: POSIXTimeRange txValidRange = @@ -230,7 +246,7 @@ mkClaimAuctionLotBidderContractWithErrors auctionInfo = do auctionEscrowValue , -- Send auction lot to the buyer: - Constraints.mustPayToPubKey buyerPkh auctionTermsRec.auctionLot + Constraints.mustPayToPubKey buyerPkh auctionLotValue , -- Send auction proceeds to the seller: Constraints.mustPayToPubKey sellerPkh sellerPayoutValue @@ -278,6 +294,7 @@ data ClaimAuctionLotBidderContractError | ClaimAuctionLotBidder_Error_EmptyStandingBid | ClaimAuctionLotBidder_Error_CouldNotGetBuyerPkh | ClaimAuctionLotBidder_Error_CouldNotGetSellerPkh + | ClaimAuctionLotBidder_Error_AuctionLotValueConversionFailure derive instance Generic ClaimAuctionLotBidderContractError _ derive instance Eq ClaimAuctionLotBidderContractError @@ -323,3 +340,6 @@ instance ToContractError ClaimAuctionLotBidderContractError where ClaimAuctionLotBidder_Error_CouldNotGetSellerPkh -> "Could not get seller pkh." + + ClaimAuctionLotBidder_Error_AuctionLotValueConversionFailure -> + "Could not convert auction lot Plutus.Value to Cardano.Value." diff --git a/src/Contract/ClaimAuctionLotSeller.purs b/src/Contract/ClaimAuctionLotSeller.purs index 8cad38c..46e28c1 100644 --- a/src/Contract/ClaimAuctionLotSeller.purs +++ b/src/Contract/ClaimAuctionLotSeller.purs @@ -10,6 +10,7 @@ module HydraAuctionOffchain.Contract.ClaimAuctionLotSeller , ClaimAuctionLotSeller_Error_CouldNotFindStandingBidUtxo , ClaimAuctionLotSeller_Error_CouldNotFindBidderDepositUtxo , ClaimAuctionLotSeller_Error_CouldNotGetSellerPkh + , ClaimAuctionLotSeller_Error_AuctionLotValueConversionFailure ) , claimAuctionLotSellerContract , mkClaimAuctionLotSellerContractWithErrors @@ -17,7 +18,15 @@ module HydraAuctionOffchain.Contract.ClaimAuctionLotSeller import Contract.Prelude -import Contract.Address (toPubKeyHash) +import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value +import Cardano.Types + ( PlutusData + , RedeemerDatum + , TransactionHash + , TransactionInput + , TransactionUnspentOutput + ) +import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) import Contract.Monad (Contract) import Contract.PlutusData (Datum, Redeemer, toData, unitDatum) @@ -25,12 +34,6 @@ import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) import Contract.Time (from) -import Contract.Transaction - ( TransactionHash - , TransactionInput - , TransactionUnspentOutput - , mkTxUnspentOut - ) import Contract.TxConstraints ( DatumPresence(DatumInline) , InputWithScriptRef(RefInput) @@ -82,10 +85,13 @@ import HydraAuctionOffchain.Contract.Types , validateAuctionTerms ) import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) -import HydraAuctionOffchain.Helpers (withEmptyPlutusV2Script) +import HydraAuctionOffchain.Helpers (fromJustWithErr) +import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) +import Partial.Unsafe (unsafePartial) claimAuctionLotSellerContract - :: AuctionInfoExtended -> Contract (ContractOutput TransactionHash) + :: AuctionInfoExtended + -> Contract (ContractOutput TransactionHash) claimAuctionLotSellerContract = mkContractOutput _.txHash <<< mkClaimAuctionLotSellerContractWithErrors @@ -102,6 +108,10 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do validateAuctionTerms auctionTerms # validation (throwError <<< ClaimAuctionLotSeller_Error_InvalidAuctionTerms) pure + -- Convert auction lot Value: + auctionLotValue <- Plutus.Value.toCardano auctionTermsRec.auctionLot + ?? ClaimAuctionLotSeller_Error_AuctionLotValueConversionFailure + -- Check that the current time is after the purchase deadline: nowTime <- lift currentTime when (nowTime < auctionTermsRec.purchaseDeadline) $ @@ -138,29 +148,32 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do throwError ClaimAuctionLotSeller_Error_CouldNotFindBidderDepositUtxo -- Get seller pkh: - sellerPkh <- wrap <$> toPubKeyHash auctionTermsRec.sellerAddress + sellerPkh <- wrap <<< unwrap <$> toPubKeyHash auctionTermsRec.sellerAddress ?? ClaimAuctionLotSeller_Error_CouldNotGetSellerPkh let validatorHashes = unwrap $ validatorHash <$> validators mkAuctionToken :: TokenName -> Value - mkAuctionToken tokenName = Value.singleton auctionCs tokenName one + mkAuctionToken tokenName = Value.singleton auctionCs tokenName BigNum.one -- AuctionEscrow ------------------------------------------------- auctionEscrowOref :: TransactionInput auctionEscrowOref = fst auctionEscrowUtxo - auctionEscrowRedeemer :: Redeemer + auctionEscrowRedeemer :: RedeemerDatum auctionEscrowRedeemer = wrap $ toData SellerReclaimsRedeemer - auctionEscrowDatum :: Datum - auctionEscrowDatum = wrap $ toData AuctionConcluded + auctionEscrowDatum :: PlutusData + auctionEscrowDatum = toData AuctionConcluded auctionEscrowValue :: Value - auctionEscrowValue = mkAuctionToken auctionEscrowTokenName - <> mkAuctionToken standingBidTokenName + auctionEscrowValue = + -- safe, no numeric overflow is possible here + unsafePartial do + mkAuctionToken auctionEscrowTokenName + <> mkAuctionToken standingBidTokenName -- StandingBid --------------------------------------------------- @@ -181,13 +194,15 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do -- AuctionMetadata ----------------------------------------------- auctionMetadataUtxo :: TransactionUnspentOutput - auctionMetadataUtxo = mkTxUnspentOut auctionMetadataOref $ withEmptyPlutusV2Script - auctionMetadataTxOut + auctionMetadataUtxo = wrap { input: auctionMetadataOref, output: auctionMetadataTxOut } -- totalAuctionFeesValue :: Value - totalAuctionFeesValue = Value.lovelaceValueOf $ totalAuctionFees auctionTerms + totalAuctionFeesValue = + -- safe, checked as part of AuctionTerms validation + Value.lovelaceValueOf $ fromJustWithErr "totalAuctionFeesValue" $ + totalAuctionFees auctionTerms constraints :: TxConstraints constraints = mconcat @@ -209,7 +224,7 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do auctionEscrowValue , -- Send auction lot to the seller: - Constraints.mustPayToPubKey sellerPkh auctionTermsRec.auctionLot + Constraints.mustPayToPubKey sellerPkh auctionLotValue , -- Lock total auction fees at fee escrow validator address: Constraints.mustPayToScript validatorHashes.feeEscrow unitDatum DatumInline @@ -252,6 +267,7 @@ data ClaimAuctionLotSellerContractError | ClaimAuctionLotSeller_Error_CouldNotFindStandingBidUtxo | ClaimAuctionLotSeller_Error_CouldNotFindBidderDepositUtxo | ClaimAuctionLotSeller_Error_CouldNotGetSellerPkh + | ClaimAuctionLotSeller_Error_AuctionLotValueConversionFailure derive instance Generic ClaimAuctionLotSellerContractError _ derive instance Eq ClaimAuctionLotSellerContractError @@ -291,3 +307,6 @@ instance ToContractError ClaimAuctionLotSellerContractError where ClaimAuctionLotSeller_Error_CouldNotGetSellerPkh -> "Could not get seller pkh." + + ClaimAuctionLotSeller_Error_AuctionLotValueConversionFailure -> + "Could not convert auction lot Plutus.Value to Cardano.Value." diff --git a/src/Contract/DiscoverBidders.purs b/src/Contract/DiscoverBidders.purs index a377fcd..aefd91a 100644 --- a/src/Contract/DiscoverBidders.purs +++ b/src/Contract/DiscoverBidders.purs @@ -5,11 +5,12 @@ module HydraAuctionOffchain.Contract.DiscoverBidders import Contract.Prelude hiding (oneOf) -import Contract.Config (NetworkId) +import Cardano.Plutus.Types.Address (toCardano) as Plutus.Address +import Cardano.Types (BigNum, NetworkId, TransactionOutput) +import Cardano.Types.Value (valueToCoin) +import Contract.Address (getNetworkId) import Contract.Monad (Contract) -import Contract.Transaction (TransactionOutput) import Contract.Utxos (utxosAt) -import Contract.Value (valueToCoin') as Value import Data.Array (mapMaybe) as Array import Data.Codec.Argonaut (JsonCodec, boolean, object) as CA import Data.Codec.Argonaut.Record (record) as CAR @@ -18,7 +19,7 @@ import Data.Map (toUnfoldable) as Map import Data.Newtype (class Newtype) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (bigIntCodec) +import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec) import HydraAuctionOffchain.Contract.Types ( AuctionInfoExtended(AuctionInfoExtended) , BidderInfo @@ -30,7 +31,7 @@ import JS.BigInt (BigInt) newtype BidderInfoCandidate = BidderInfoCandidate { bidderInfo :: BidderInfo - , depositAmount :: BigInt + , depositAmount :: BigNum , isValid :: Boolean } @@ -49,15 +50,20 @@ bidderInfoCandidateCodec network = wrapIso BidderInfoCandidate $ CA.object "BidderInfoCandidate" $ CAR.record { bidderInfo: bidderInfoCodec network - , depositAmount: bigIntCodec + , depositAmount: bigNumCodec , isValid: CA.boolean } discoverBidders :: AuctionInfoExtended -> Contract (Array BidderInfoCandidate) discoverBidders (AuctionInfoExtended auctionInfo) = do - utxos <- utxosAt auctionInfo.bidderDepositAddr - let txOuts = Map.toUnfoldable utxos <#> _.output <<< unwrap <<< snd - pure $ Array.mapMaybe getBidderInfoCandidate txOuts + network <- getNetworkId + case Plutus.Address.toCardano network auctionInfo.bidderDepositAddr of + Just bidderDepositAddr -> do + utxos <- utxosAt bidderDepositAddr + let txOuts = snd <$> Map.toUnfoldable utxos + pure $ Array.mapMaybe getBidderInfoCandidate txOuts + Nothing -> + pure mempty -- FIXME: throw error where getBidderInfoCandidate :: TransactionOutput -> Maybe BidderInfoCandidate getBidderInfoCandidate txOut = @@ -67,5 +73,5 @@ discoverBidders (AuctionInfoExtended auctionInfo) = do , isValid: depositAmount >= (unwrap auctionInfo.auctionTerms).minDepositAmount } where - depositAmount :: BigInt - depositAmount = Value.valueToCoin' (unwrap txOut).amount + depositAmount :: BigNum + depositAmount = unwrap $ valueToCoin (unwrap txOut).amount diff --git a/src/Contract/DiscoverSellerSignature.purs b/src/Contract/DiscoverSellerSignature.purs index c2570c2..88efeed 100644 --- a/src/Contract/DiscoverSellerSignature.purs +++ b/src/Contract/DiscoverSellerSignature.purs @@ -10,8 +10,8 @@ module HydraAuctionOffchain.Contract.DiscoverSellerSignature import Contract.Prelude -import Contract.Address (Address, PubKeyHash, scriptHashAddress, toPubKeyHash) -import Contract.Config (NetworkId) +import Cardano.Types (Address, Ed25519KeyHash, ScriptHash) +import Contract.Address (getNetworkId) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (TransactionOutput) @@ -29,7 +29,7 @@ import Data.Map (toUnfoldable) as Map import Data.Newtype (class Newtype) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (addressCodec, currencySymbolCodec) +import HydraAuctionOffchain.Codec (addressCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -40,11 +40,12 @@ import HydraAuctionOffchain.Contract.Types , vkeyCodec ) import HydraAuctionOffchain.Helpers (getInlineDatum) +import HydraAuctionOffchain.Lib.Cardano.Address (toPubKeyHash) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Wallet (SignMessageError, askWalletVk) newtype DiscoverSellerSigContractParams = DiscoverSellerSigContractParams - { auctionCs :: CurrencySymbol + { auctionCs :: ScriptHash , sellerAddress :: Address , bidderVk :: Maybe VerificationKey } @@ -56,16 +57,15 @@ derive instance Eq DiscoverSellerSigContractParams instance Show DiscoverSellerSigContractParams where show = genericShow -instance HasJson DiscoverSellerSigContractParams NetworkId where - jsonCodec network = const (discoverSellerSigContractParamsCodec network) +instance HasJson DiscoverSellerSigContractParams anyParams where + jsonCodec _ = const discoverSellerSigContractParamsCodec -discoverSellerSigContractParamsCodec - :: NetworkId -> CA.JsonCodec DiscoverSellerSigContractParams -discoverSellerSigContractParamsCodec network = +discoverSellerSigContractParamsCodec :: CA.JsonCodec DiscoverSellerSigContractParams +discoverSellerSigContractParamsCodec = wrapIso DiscoverSellerSigContractParams $ CA.object "DiscoverSellerSigContractParams" $ CAR.record - { auctionCs: currencySymbolCodec - , sellerAddress: addressCodec network + { auctionCs: scriptHashCodec + , sellerAddress: addressCodec , bidderVk: CA.maybe vkeyCodec } @@ -94,18 +94,14 @@ discoverSellerSignatureWithErrors (DiscoverSellerSigContractParams params) = do lift $ findSignature sellerPkh params.auctionCs bidderVk -findSignature :: PubKeyHash -> CurrencySymbol -> VerificationKey -> Contract (Maybe ByteArray) +findSignature :: Ed25519KeyHash -> ScriptHash -> VerificationKey -> Contract (Maybe ByteArray) findSignature sellerPkh auctionCs bidderVk = do - utxos <- utxosAt sellerOracleAddr - let txOuts = Map.toUnfoldable utxos <#> _.output <<< unwrap <<< snd + network <- getNetworkId + let sellerOracle = mkPersonalOracle network $ wrap sellerPkh + utxos <- utxosAt sellerOracle.address + let txOuts = snd <$> Map.toUnfoldable utxos pure $ Array.findMap worker txOuts where - sellerOracle :: PersonalOracle - sellerOracle = mkPersonalOracle $ wrap sellerPkh - - sellerOracleAddr :: Address - sellerOracleAddr = scriptHashAddress (wrap sellerOracle.nativeScriptHash) Nothing - worker :: TransactionOutput -> Maybe ByteArray worker txOut = do AuctionAuth auctionAuth <- getInlineDatum txOut diff --git a/src/Contract/EnterAuction.purs b/src/Contract/EnterAuction.purs index cff966d..222eec4 100644 --- a/src/Contract/EnterAuction.purs +++ b/src/Contract/EnterAuction.purs @@ -5,6 +5,7 @@ module HydraAuctionOffchain.Contract.EnterAuction , EnterAuction_Error_CouldNotBuildAuctionValidators , EnterAuction_Error_InvalidAuctionInfo , EnterAuction_Error_CouldNotGetOwnPubKey + , EnterAuction_Error_BidderAddressConversionFailure ) , EnterAuctionContractParams(EnterAuctionContractParams) , enterAuctionContract @@ -13,8 +14,12 @@ module HydraAuctionOffchain.Contract.EnterAuction import Contract.Prelude +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Types (BigNum, NetworkId, PlutusData) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.Int (one) as Cardano.Int +import Contract.Address (getNetworkId) import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) import Contract.PlutusData (Datum, toData) import Contract.Scripts (ValidatorHash, validatorHash) @@ -29,7 +34,7 @@ import Contract.TxConstraints ) as Constraints import Contract.Value (Value) import Contract.Value (lovelaceValueOf) as Value -import Control.Error.Util (bool) +import Control.Error.Util (bool, (??)) import Control.Monad.Except (ExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Data.Codec.Argonaut (JsonCodec, object) as CA @@ -37,7 +42,7 @@ import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import HydraAuctionOffchain.Codec (bigIntCodec) +import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec) import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -66,7 +71,7 @@ import JS.BigInt (fromInt) as BigInt newtype EnterAuctionContractParams = EnterAuctionContractParams { auctionInfo :: AuctionInfoExtended - , depositAmount :: Maybe BigInt + , depositAmount :: Maybe BigNum } derive instance Generic EnterAuctionContractParams _ @@ -84,7 +89,7 @@ enterAuctionContractParamsCodec network = wrapIso EnterAuctionContractParams $ CA.object "EnterAuctionContractParams" $ CAR.record { auctionInfo: auctionInfoExtendedCodec network - , depositAmount: CA.maybe bigIntCodec + , depositAmount: CA.maybe bigNumCodec } enterAuctionContract @@ -103,6 +108,8 @@ mkEnterAuctionContractWithErrors (EnterAuctionContractParams params) = do auctionTerms@(AuctionTerms auctionTermsRec) = auctionInfoRec.auctionTerms depositAmount = fromMaybe auctionTermsRec.minDepositAmount params.depositAmount + network <- lift getNetworkId + -- Check auction terms: validateAuctionTerms auctionTerms # validation (throwError <<< EnterAuction_Error_InvalidAuctionTerms) pure @@ -132,6 +139,10 @@ mkEnterAuctionContractWithErrors (EnterAuctionContractParams params) = do withExceptT EnterAuction_Error_CouldNotGetOwnPubKey $ askWalletVk' (bool mempty lowDepositMessage isLowDeposit) + -- Convert bidder address: + bidderAddressPlutus <- Plutus.Address.fromCardano bidderAddress + ?? EnterAuction_Error_BidderAddressConversionFailure + let -- BidderDeposit ------------------------------------------------- @@ -141,22 +152,22 @@ mkEnterAuctionContractWithErrors (EnterAuctionContractParams params) = do bidderDepositValue :: Value bidderDepositValue = Value.lovelaceValueOf depositAmount - bidderInfoDatum :: Datum - bidderInfoDatum = wrap $ toData $ BidderInfo - { bidderAddress + bidderInfoDatum :: PlutusData + bidderInfoDatum = toData $ BidderInfo + { bidderAddress: bidderAddressPlutus , bidderVk } -- AuctionActor -------------------------------------------------- bidderOracle :: PersonalOracle - bidderOracle = mkPersonalOracle $ wrap bidderPkh + bidderOracle = mkPersonalOracle network $ wrap bidderPkh bidderOracleTokenValue :: Value - bidderOracleTokenValue = assetToValue bidderOracle.assetClass one + bidderOracleTokenValue = assetToValue bidderOracle.assetClass BigNum.one - auctionActorDatum :: Datum - auctionActorDatum = wrap $ toData $ AuctionActor + auctionActorDatum :: PlutusData + auctionActorDatum = toData $ AuctionActor { auctionInfo , role: ActorRoleBidder } @@ -176,11 +187,11 @@ mkEnterAuctionContractWithErrors (EnterAuctionContractParams params) = do -- Mint bidder's personal oracle token: , Constraints.mustMintCurrencyUsingNativeScript bidderOracle.nativeScript (unwrap bidderOracle.assetClass).tokenName - one + Cardano.Int.one -- Lock auction actor datum with personal oracle token at -- the bidder's personal oracle address: - , Constraints.mustPayToScript (wrap $ bidderOracle.nativeScriptHash) auctionActorDatum + , Constraints.mustPayToScript bidderOracle.nativeScriptHash auctionActorDatum DatumInline bidderOracleTokenValue @@ -204,6 +215,7 @@ data EnterAuctionContractError | EnterAuction_Error_CouldNotBuildAuctionValidators MkAuctionValidatorsError | EnterAuction_Error_InvalidAuctionInfo (Array AuctionInfoValidationError) | EnterAuction_Error_CouldNotGetOwnPubKey SignMessageError + | EnterAuction_Error_BidderAddressConversionFailure derive instance Generic EnterAuctionContractError _ derive instance Eq EnterAuctionContractError @@ -228,3 +240,6 @@ instance ToContractError EnterAuctionContractError where EnterAuction_Error_CouldNotGetOwnPubKey err -> "Could not get own public key, error: " <> show err <> "." + + EnterAuction_Error_BidderAddressConversionFailure -> + "Could not convert bidder address to Plutus.Address." diff --git a/src/Contract/MintTokens.purs b/src/Contract/MintTokens.purs index 33b7522..5dd121c 100644 --- a/src/Contract/MintTokens.purs +++ b/src/Contract/MintTokens.purs @@ -4,10 +4,12 @@ module HydraAuctionOffchain.Contract.MintTokens import Contract.Prelude +import Cardano.Types (BigNum, ScriptHash) +import Cardano.Types.Int (newPositive) as Cardano.Int +import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Monad (Contract) import Contract.ScriptLookups (ScriptLookups) -import Contract.ScriptLookups (mintingPolicy) as Lookups -import Contract.Scripts (MintingPolicyHash, mintingPolicyHash) +import Contract.ScriptLookups (plutusMintingPolicy) as Lookups import Contract.Transaction (TransactionHash) import Contract.TxConstraints (TxConstraints) import Contract.TxConstraints (mustMintCurrency) as Constraints @@ -16,18 +18,20 @@ import HydraAuctionOffchain.Contract.MintingPolicies (mkAlwaysMintsPolicy) import HydraAuctionOffchain.Contract.Types (emptySubmitTxData, submitTxReturningContractResult) import JS.BigInt (BigInt) -mintTokenUsingAlwaysMints :: TokenName -> BigInt -> Contract TransactionHash +mintTokenUsingAlwaysMints :: TokenName -> BigNum -> Contract TransactionHash mintTokenUsingAlwaysMints tokenName quantity = do alwaysMintsPolicy <- mkAlwaysMintsPolicy let - alwaysMintsPolicyHash :: MintingPolicyHash - alwaysMintsPolicyHash = mintingPolicyHash alwaysMintsPolicy + alwaysMintsPolicyHash :: ScriptHash + alwaysMintsPolicyHash = PlutusScript.hash alwaysMintsPolicy constraints :: TxConstraints - constraints = Constraints.mustMintCurrency alwaysMintsPolicyHash tokenName quantity + constraints = + Constraints.mustMintCurrency alwaysMintsPolicyHash tokenName $ + Cardano.Int.newPositive quantity lookups :: ScriptLookups - lookups = Lookups.mintingPolicy alwaysMintsPolicy + lookups = Lookups.plutusMintingPolicy alwaysMintsPolicy map _.txHash $ submitTxReturningContractResult {} $ emptySubmitTxData { lookups = lookups diff --git a/src/Contract/MintingPolicies/AlwaysMints.purs b/src/Contract/MintingPolicies/AlwaysMints.purs index 4428e48..6f6525a 100644 --- a/src/Contract/MintingPolicies/AlwaysMints.purs +++ b/src/Contract/MintingPolicies/AlwaysMints.purs @@ -2,19 +2,18 @@ module HydraAuctionOffchain.Contract.MintingPolicies.AlwaysMints ( mkAlwaysMintsPolicy ) where -import Contract.Prelude +import Prelude +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (MintingPolicy(PlutusMintingPolicy)) -import Contract.TextEnvelope (decodeTextEnvelope, plutusScriptV2FromEnvelope) -import Control.Monad.Error.Class (liftMaybe) -import Effect.Exception (error) +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import alwaysMintsPolicy :: String -mkAlwaysMintsPolicy :: Contract MintingPolicy +mkAlwaysMintsPolicy :: Contract PlutusScript mkAlwaysMintsPolicy = - PlutusMintingPolicy <$> - liftMaybe (error "Error decoding alwaysMintsPolicy") do - envelope <- decodeTextEnvelope alwaysMintsPolicy - plutusScriptV2FromEnvelope envelope + decodeApplyScript + { scriptEnvelope: alwaysMintsPolicy + , scriptName: "AlwaysMintsPolicy" + , args: mempty + } diff --git a/src/Contract/MintingPolicies/Auction.purs b/src/Contract/MintingPolicies/Auction.purs index d626cb8..48c1bed 100644 --- a/src/Contract/MintingPolicies/Auction.purs +++ b/src/Contract/MintingPolicies/Auction.purs @@ -7,43 +7,34 @@ module HydraAuctionOffchain.Contract.MintingPolicies.Auction import Prelude +import Cardano.ToData (toData) +import Cardano.Types (AssetName, PlutusScript, ScriptHash) import Contract.Monad (Contract) -import Contract.Scripts (MintingPolicy, ScriptHash) import Contract.Transaction (TransactionInput) -import Contract.Value (TokenName) -import HydraAuctionOffchain.Helpers (liftEitherShow, tokenNameFromAsciiUnsafe) -import HydraAuctionOffchain.Lib.Script (reifyScript) -import Ply.Apply ((#!), (##)) -import Ply.TypeList (Cons, Nil) as Ply -import Ply.Types (AsData, MintingPolicyRole, TypedScript) -import Ply.Types (toMintingPolicy) as Ply +import HydraAuctionOffchain.Helpers (tokenNameFromAsciiUnsafe) +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import auctionMintingPolicy :: String -type AuctionMintingPolicy = - TypedScript - MintingPolicyRole - ( Ply.Cons (AsData ScriptHash) - ( Ply.Cons (AsData TransactionInput) Ply.Nil - ) - ) - -mkAuctionMintingPolicy :: ScriptHash -> TransactionInput -> Contract MintingPolicy -mkAuctionMintingPolicy auctionMetadataSh nonceOref = do - (reifiedMp :: AuctionMintingPolicy) <- reifyScript auctionMintingPolicy - liftEitherShow $ Ply.toMintingPolicy <$> - reifiedMp - ## auctionMetadataSh - #! nonceOref +mkAuctionMintingPolicy :: ScriptHash -> TransactionInput -> Contract PlutusScript +mkAuctionMintingPolicy auctionMetadataSh nonceOref = + decodeApplyScript + { scriptEnvelope: auctionMintingPolicy + , scriptName: "AuctionMintingPolicy" + , args: + [ toData auctionMetadataSh + , toData nonceOref + ] + } -- | Auction state token, identifying the true auction escrow. -auctionEscrowTokenName :: TokenName +auctionEscrowTokenName :: AssetName auctionEscrowTokenName = tokenNameFromAsciiUnsafe "AUCTION" -- | Auction metadata token, identifying the true auction metadata. -auctionMetadataTokenName :: TokenName +auctionMetadataTokenName :: AssetName auctionMetadataTokenName = tokenNameFromAsciiUnsafe "AUCTION_METADATA" -- | Standing bid token, identifying the true standing bid. -standingBidTokenName :: TokenName +standingBidTokenName :: AssetName standingBidTokenName = tokenNameFromAsciiUnsafe "STANDING_BID" diff --git a/src/Contract/MoveBid.purs b/src/Contract/MoveBid.purs index a23b6be..c85edbc 100644 --- a/src/Contract/MoveBid.purs +++ b/src/Contract/MoveBid.purs @@ -16,11 +16,10 @@ import Contract.Prelude import Affjax (Error, Response, defaultRequest) as Affjax import Affjax.ResponseFormat (string) as Affjax.ResponseFormat import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax +import Cardano.Types (NetworkId, ScriptHash) import Contract.Address (getNetworkId) import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) -import Contract.Value (CurrencySymbol) import Control.Monad.Except (ExceptT(ExceptT), throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Ctl.Internal.Affjax (request) as Affjax @@ -31,7 +30,7 @@ import Data.HTTP.Method (Method(POST)) import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidResponseCodec) -import HydraAuctionOffchain.Codec (currencySymbolCodec) +import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionTerms(AuctionTerms) @@ -53,7 +52,7 @@ import HydraAuctionOffchain.Service.Common ) newtype MoveBidContractParams = MoveBidContractParams - { auctionCs :: CurrencySymbol + { auctionCs :: ScriptHash , auctionTerms :: AuctionTerms , delegateInfo :: DelegateInfo } @@ -72,7 +71,7 @@ moveBidContractParamsCodec :: NetworkId -> CA.JsonCodec MoveBidContractParams moveBidContractParamsCodec network = wrapIso MoveBidContractParams $ CA.object "MoveBidContractParams" $ CAR.record - { auctionCs: currencySymbolCodec + { auctionCs: scriptHashCodec , auctionTerms: auctionTermsCodec network , delegateInfo: delegateInfoCodec } diff --git a/src/Contract/PersonalOracle.purs b/src/Contract/PersonalOracle.purs index 4d29056..6377bd1 100644 --- a/src/Contract/PersonalOracle.purs +++ b/src/Contract/PersonalOracle.purs @@ -5,37 +5,39 @@ module HydraAuctionOffchain.Contract.PersonalOracle import Contract.Prelude +import Cardano.Types (Address, NativeScript(ScriptPubkey), NetworkId, ScriptHash) +import Cardano.Types.AssetName (mkAssetName) +import Cardano.Types.NativeScript (hash) as NativeScript import Contract.Address (PaymentPubKeyHash) import Contract.Hashing (nativeScriptHash) import Contract.Prim.ByteArray (byteArrayFromAscii) -import Contract.Scripts - ( MintingPolicy(NativeMintingPolicy) - , NativeScript(ScriptPubkey) - , ScriptHash - ) -import Contract.Value (mkTokenName, scriptCurrencySymbol) -import Data.Maybe (fromJust) import Data.Newtype (unwrap) import HydraAuctionOffchain.Contract.Types (AssetClass, mkAssetClass) -import Partial.Unsafe (unsafePartial) +import HydraAuctionOffchain.Helpers (fromJustWithErr) +import HydraAuctionOffchain.Lib.Cardano.Address (scriptHashAddress) type PersonalOracle = { assetClass :: AssetClass , nativeScript :: NativeScript , nativeScriptHash :: ScriptHash + , address :: Address } -mkPersonalOracle :: PaymentPubKeyHash -> PersonalOracle -mkPersonalOracle pkh = +mkPersonalOracle :: NetworkId -> PaymentPubKeyHash -> PersonalOracle +mkPersonalOracle network pkh = { assetClass: mkAssetClass - (scriptCurrencySymbol $ NativeMintingPolicy script) - ( unsafePartial fromJust - (mkTokenName =<< byteArrayFromAscii "PERSONAL_ORACLE") + scriptHash + ( fromJustWithErr "mkPersonalOracle" + (mkAssetName =<< byteArrayFromAscii "PERSONAL_ORACLE") ) , nativeScript: script - , nativeScriptHash: unwrap $ nativeScriptHash script + , nativeScriptHash: scriptHash + , address: scriptHashAddress network scriptHash } where script :: NativeScript - script = ScriptPubkey $ unwrap $ unwrap pkh + script = ScriptPubkey $ unwrap pkh + + scriptHash :: ScriptHash + scriptHash = NativeScript.hash script diff --git a/src/Contract/PlaceBid.purs b/src/Contract/PlaceBid.purs index dc7cb76..18dae2f 100644 --- a/src/Contract/PlaceBid.purs +++ b/src/Contract/PlaceBid.purs @@ -11,6 +11,7 @@ module HydraAuctionOffchain.Contract.PlaceBid , PlaceBid_Error_InvalidBidStateTransition , PlaceBid_Error_MissingMetadataOref , PlaceBid_Error_CouldNotQueryAuctionMetadataUtxo + , PlaceBid_Error_BidderAddressConversionFailure ) , PlaceBidContractParams(PlaceBidContractParams) , mkPlaceBidContractWithErrors @@ -19,9 +20,19 @@ module HydraAuctionOffchain.Contract.PlaceBid import Contract.Prelude +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Types + ( BigNum + , NetworkId + , PlutusData + , RedeemerDatum + , TransactionHash + , TransactionInput + , TransactionUnspentOutput + ) +import Cardano.Types.BigNum (one) as BigNum import Contract.Address (getNetworkId) import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) import Contract.PlutusData (Datum, Redeemer, toData) import Contract.Prim.ByteArray (ByteArray) @@ -29,12 +40,6 @@ import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs) as Lookups import Contract.Scripts (validatorHash) import Contract.Time (POSIXTimeRange, mkFiniteInterval) -import Contract.Transaction - ( TransactionHash - , TransactionInput - , TransactionUnspentOutput - , mkTxUnspentOut - ) import Contract.TxConstraints ( DatumPresence(DatumInline) , InputWithScriptRef(RefInput) @@ -58,7 +63,7 @@ import Data.Codec.Argonaut.Record (record) as CAR import Data.Map (fromFoldable) as Map import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import HydraAuctionOffchain.Codec (bigIntCodec, byteArrayCodec) +import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec) import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types @@ -83,7 +88,6 @@ import HydraAuctionOffchain.Contract.Types , validateNewBid ) import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) -import HydraAuctionOffchain.Helpers (withEmptyPlutusV2Script) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) import JS.BigInt (BigInt) @@ -92,7 +96,7 @@ import JS.BigInt (fromInt) as BigInt newtype PlaceBidContractParams = PlaceBidContractParams { auctionInfo :: AuctionInfoExtended , sellerSignature :: ByteArray - , bidAmount :: BigInt + , bidAmount :: BigNum } derive instance Generic PlaceBidContractParams _ @@ -111,7 +115,7 @@ placeBidContractParamsCodec network = CAR.record { auctionInfo: auctionInfoExtendedCodec network , sellerSignature: byteArrayCodec - , bidAmount: bigIntCodec + , bidAmount: bigNumCodec } placeBidContract :: PlaceBidContractParams -> Contract (ContractOutput TransactionHash) @@ -163,11 +167,15 @@ mkPlaceBidContractWithErrors (PlaceBidContractParams params) = do withExceptT PlaceBid_Error_CouldNotSignBidderMessage $ signMessage payload + -- Convert bidder address: + bidderAddressPlutus <- Plutus.Address.fromCardano bidderAddress + ?? PlaceBid_Error_BidderAddressConversionFailure + -- Check bid state transition: let newBidState :: StandingBidState newBidState = wrap $ Just $ BidTerms - { bidder: BidderInfo { bidderAddress, bidderVk } + { bidder: BidderInfo { bidderAddress: bidderAddressPlutus, bidderVk } , price: params.bidAmount , bidderSignature , sellerSignature: params.sellerSignature @@ -184,20 +192,19 @@ mkPlaceBidContractWithErrors (PlaceBidContractParams params) = do standingBidOref :: TransactionInput standingBidOref = fst standingBidUtxo - standingBidRedeemer :: Redeemer + standingBidRedeemer :: RedeemerDatum standingBidRedeemer = wrap $ toData NewBidRedeemer - standingBidDatum :: Datum - standingBidDatum = wrap $ toData newBidState + standingBidDatum :: PlutusData + standingBidDatum = toData newBidState standingBidTokenValue :: Value - standingBidTokenValue = Value.singleton auctionCs standingBidTokenName one + standingBidTokenValue = Value.singleton auctionCs standingBidTokenName BigNum.one -- AuctionMetadata ----------------------------------------------- auctionMetadataUtxo :: TransactionUnspentOutput - auctionMetadataUtxo = mkTxUnspentOut auctionMetadataOref $ withEmptyPlutusV2Script - auctionMetadataTxOut + auctionMetadataUtxo = wrap { input: auctionMetadataOref, output: auctionMetadataTxOut } -- @@ -247,6 +254,7 @@ data PlaceBidContractError | PlaceBid_Error_InvalidBidStateTransition | PlaceBid_Error_MissingMetadataOref | PlaceBid_Error_CouldNotQueryAuctionMetadataUtxo + | PlaceBid_Error_BidderAddressConversionFailure derive instance Generic PlaceBidContractError _ derive instance Eq PlaceBidContractError @@ -289,3 +297,6 @@ instance ToContractError PlaceBidContractError where PlaceBid_Error_CouldNotQueryAuctionMetadataUtxo -> "Could not query auction metadata utxo." + + PlaceBid_Error_BidderAddressConversionFailure -> + "Could not convert bidder address to Plutus.Address." diff --git a/src/Contract/QueryAuctions.purs b/src/Contract/QueryAuctions.purs index 374944f..3bf2702 100644 --- a/src/Contract/QueryAuctions.purs +++ b/src/Contract/QueryAuctions.purs @@ -4,7 +4,10 @@ module HydraAuctionOffchain.Contract.QueryAuctions import Contract.Prelude -import Contract.Address (scriptHashAddress) +import Cardano.Types (Asset(Asset)) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.PlutusScript (hash) as PlutusScript +import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) import Contract.Scripts (validatorHash) @@ -16,7 +19,6 @@ import Contract.Value (valueOf) as Value import Contract.Wallet (ownPaymentPubKeyHash) import Control.Monad.Maybe.Trans (MaybeT(MaybeT), runMaybeT) import Control.Monad.Trans.Class (lift) -import Ctl.Internal.Plutus.Types.Transaction (_output) import Data.Array (mapMaybe) as Array import Data.Lens ((^.)) import Data.Map (toUnfoldable) as Map @@ -38,6 +40,7 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Contract.Validators (mkAuctionMetadataValidator) import HydraAuctionOffchain.Helpers (getInlineDatum) +import HydraAuctionOffchain.Lib.Cardano.Address (scriptHashAddress) -- | Queries all currently existing auctions at the auction metadata -- | validator address, filtering out invalid entries. @@ -47,14 +50,15 @@ queryAuctions filters = Just actorRole -> fromMaybe mempty <$> queryOwnAuctions actorRole Nothing -> do - auctionMetadataAddr <- flip scriptHashAddress Nothing <<< validatorHash <$> + network <- getNetworkId + auctionMetadataAddr <- scriptHashAddress network <<< PlutusScript.hash <$> mkAuctionMetadataValidator utxosAt auctionMetadataAddr <#> Array.mapMaybe getValidAuctionInfo <<< Map.toUnfoldable where getValidAuctionInfo :: Utxo -> Maybe AuctionInfoExtended - getValidAuctionInfo (oref /\ txOutWithRefScript) = do + getValidAuctionInfo (oref /\ txOut) = do auctionInfo@(AuctionInfo { auctionId, auctionTerms }) <- getInlineDatum txOut case validAuctionTerms auctionTerms && validAuctionId auctionId of true -> @@ -62,30 +66,28 @@ queryAuctions filters = false -> Nothing where - txOut :: TransactionOutput - txOut = txOutWithRefScript ^. _output - validAuctionTerms :: AuctionTerms -> Boolean validAuctionTerms auctionTerms = V.isValid $ validateAuctionTerms auctionTerms validAuctionId :: CurrencySymbol -> Boolean validAuctionId cs = - Value.valueOf (unwrap txOut).amount cs auctionMetadataTokenName == one + Value.valueOf (Asset cs auctionMetadataTokenName) (unwrap txOut).amount + == BigNum.one queryOwnAuctions :: ActorRole -> Contract (Maybe (Array AuctionInfoExtended)) queryOwnAuctions actorRole = runMaybeT do + network <- lift getNetworkId pkh <- MaybeT ownPaymentPubKeyHash - let personalOracle = mkPersonalOracle pkh - let oracleAddr = scriptHashAddress (wrap personalOracle.nativeScriptHash) Nothing + let personalOracle = mkPersonalOracle network pkh nowTime <- lift currentTime - (lift $ utxosAt oracleAddr) + (lift $ utxosAt personalOracle.address) <#> Array.mapMaybe (getValidAuctionInfoCached personalOracle.assetClass nowTime) <<< Map.toUnfoldable where getValidAuctionInfoCached :: AssetClass -> POSIXTime -> Utxo -> Maybe AuctionInfoExtended - getValidAuctionInfoCached (AssetClass asset) nowTime (oref /\ txOutWithRefScript) = + getValidAuctionInfoCached (AssetClass asset) nowTime (oref /\ txOut) = case authTokenPresent of false -> Nothing @@ -104,13 +106,10 @@ queryOwnAuctions actorRole = } ) where - txOut :: TransactionOutput - txOut = txOutWithRefScript ^. _output - authTokenPresent :: Boolean authTokenPresent = - Value.valueOf (unwrap txOut).amount asset.currencySymbol asset.tokenName - == one + Value.valueOf (Asset asset.currencySymbol asset.tokenName) (unwrap txOut).amount + == BigNum.one validAuctionActor :: AuctionActor -> Maybe AuctionInfoExtended validAuctionActor (AuctionActor { auctionInfo, role }) diff --git a/src/Contract/QueryStandingBidState.purs b/src/Contract/QueryStandingBidState.purs index 09d98e0..e137d8a 100644 --- a/src/Contract/QueryStandingBidState.purs +++ b/src/Contract/QueryStandingBidState.purs @@ -8,6 +8,8 @@ module HydraAuctionOffchain.Contract.QueryStandingBidState import Contract.Prelude +import Cardano.Types (Asset(Asset)) +import Cardano.Types.BigNum (one) as BigNum import Contract.Address (Address) import Contract.Chain (currentTime) import Contract.Monad (Contract) @@ -19,6 +21,7 @@ import Control.Monad.Except (ExceptT, throwError) import Control.Monad.Trans.Class (lift) import Data.Array (find) as Array import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) +import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionInfoExtended(AuctionInfoExtended) @@ -48,17 +51,8 @@ queryStandingBidStateWithErrors auctionInfo = do throwError QueryBidState_Error_CurrentTimeBeforeBiddingStart -- Look up standing bid: - findStandingBid auctionInfoRec.standingBidAddr auctionCs - !? QueryBidState_Error_CouldNotFindStandingBidUtxo - -findStandingBid :: Address -> CurrencySymbol -> Contract (Maybe StandingBidState) -findStandingBid standingBidAddr auctionCs = - getTxOutsAt standingBidAddr <#> - (getInlineDatum <=< Array.find hasStandingBidToken) - where - hasStandingBidToken :: TransactionOutput -> Boolean - hasStandingBidToken txOut = - Value.valueOf (unwrap txOut).amount auctionCs standingBidTokenName == one + snd <$> queryStandingBidUtxo auctionInfoRec !? + QueryBidState_Error_CouldNotFindStandingBidUtxo ---------------------------------------------------------------------- -- Errors diff --git a/src/Contract/QueryUtxo.purs b/src/Contract/QueryUtxo.purs index 80b3ca6..8e5a342 100644 --- a/src/Contract/QueryUtxo.purs +++ b/src/Contract/QueryUtxo.purs @@ -8,6 +8,10 @@ module HydraAuctionOffchain.Contract.QueryUtxo import Contract.Prelude +import Cardano.Plutus.Types.Address (fromCardano, toCardano) as Plutus.Address +import Cardano.Types (Asset(Asset)) +import Cardano.Types.BigNum (one) as BigNum +import Contract.Address (getNetworkId) import Contract.Monad (Contract) import Contract.PlutusData (OutputDatum(OutputDatum), toData) import Contract.Transaction (TransactionOutput(TransactionOutput)) @@ -37,18 +41,23 @@ queryAuctionEscrowUtxo . AuctionEscrowState -> Record (AuctionInfoRec r) -> Contract (Maybe Utxo) -queryAuctionEscrowUtxo escrowState auctionInfo = - utxosAt auctionInfo.auctionEscrowAddr - <#> Array.find (isValidAuctionEscrowUtxo <<< _.output <<< unwrap <<< snd) - <<< Map.toUnfoldable +queryAuctionEscrowUtxo escrowState auctionInfo = do + network <- getNetworkId + case Plutus.Address.toCardano network auctionInfo.auctionEscrowAddr of + Just auctionEscrowAddr -> + utxosAt auctionEscrowAddr + <#> Array.find (isValidAuctionEscrowUtxo <<< snd) + <<< Map.toUnfoldable + Nothing -> + pure Nothing where auctionCs :: CurrencySymbol auctionCs = auctionInfo.auctionId isValidAuctionEscrowUtxo :: TransactionOutput -> Boolean isValidAuctionEscrowUtxo (TransactionOutput txOut) = - Value.valueOf txOut.amount auctionCs auctionEscrowTokenName == one - && (txOut.datum == OutputDatum (wrap $ toData escrowState)) + (Value.valueOf (Asset auctionCs auctionEscrowTokenName) txOut.amount == BigNum.one) + && (txOut.datum == Just (OutputDatum $ toData escrowState)) ---------------------------------------------------------------------- -- StandingBid @@ -57,8 +66,13 @@ queryStandingBidUtxo :: forall (r :: Row Type) . Record (AuctionInfoRec r) -> Contract (Maybe (Utxo /\ StandingBidState)) -queryStandingBidUtxo auctionInfo = - findStandingBidUtxo auctionInfo <$> utxosAt auctionInfo.standingBidAddr +queryStandingBidUtxo auctionInfo = do + network <- getNetworkId + case Plutus.Address.toCardano network auctionInfo.standingBidAddr of + Just standingBidAddr -> + findStandingBidUtxo auctionInfo <$> utxosAt standingBidAddr + Nothing -> + pure Nothing findStandingBidUtxo :: forall (r :: Row Type) @@ -66,20 +80,22 @@ findStandingBidUtxo -> UtxoMap -> Maybe (Utxo /\ StandingBidState) findStandingBidUtxo auctionInfo utxos = do - let getTxOut = _.output <<< unwrap <<< snd standingBidUtxo <- - Array.find (isStandingBidUtxo auctionInfo <<< getTxOut) + Array.find (isStandingBidUtxo auctionInfo <<< snd) (Map.toUnfoldable utxos) - Tuple standingBidUtxo <$> getInlineDatum (getTxOut standingBidUtxo) + Tuple standingBidUtxo <$> getInlineDatum (snd standingBidUtxo) isStandingBidUtxo :: forall (r :: Row Type) . Record (AuctionInfoRec r) -> TransactionOutput -> Boolean -isStandingBidUtxo auctionInfo txOut = - (unwrap txOut).address == auctionInfo.standingBidAddr - && (Value.valueOf (unwrap txOut).amount auctionInfo.auctionId standingBidTokenName == one) +isStandingBidUtxo auctionInfo (TransactionOutput txOut) = + Plutus.Address.fromCardano txOut.address == Just auctionInfo.standingBidAddr + && + ( Value.valueOf (Asset auctionInfo.auctionId standingBidTokenName) txOut.amount == + BigNum.one + ) ---------------------------------------------------------------------- -- BidderDeposit @@ -89,7 +105,12 @@ queryBidderDepositUtxo . Record (AuctionInfoRec r) -> BidderInfo -> Contract (Maybe Utxo) -queryBidderDepositUtxo auctionInfo bidderInfo = - utxosAt auctionInfo.bidderDepositAddr - <#> Array.find (eq (Just bidderInfo) <<< getInlineDatum <<< _.output <<< unwrap <<< snd) - <<< Map.toUnfoldable +queryBidderDepositUtxo auctionInfo bidderInfo = do + network <- getNetworkId + case Plutus.Address.toCardano network auctionInfo.bidderDepositAddr of + Just bidderDepositAddr -> + utxosAt bidderDepositAddr + <#> Array.find (eq (Just bidderInfo) <<< getInlineDatum <<< snd) + <<< Map.toUnfoldable + Nothing -> + pure Nothing diff --git a/src/Contract/SendBid.purs b/src/Contract/SendBid.purs index defce99..435ab61 100644 --- a/src/Contract/SendBid.purs +++ b/src/Contract/SendBid.purs @@ -7,6 +7,7 @@ module HydraAuctionOffchain.Contract.SendBid , SendBid_Error_CouldNotGetOwnPubKeyHash , SendBid_Error_CouldNotSignBidderMessage , SendBid_Error_PlaceBidRequestServiceError + , SendBid_Error_BidderAddressConversionFailure ) , SendBidContractParams(SendBidContractParams) , sendBidContract @@ -19,14 +20,15 @@ import Affjax (Error, Response, defaultRequest) as Affjax import Affjax.RequestBody (RequestBody(Json)) as Affjax import Affjax.ResponseFormat (string) as Affjax.ResponseFormat import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Types (BigNum, NetworkId, ScriptHash) import Contract.Address (getNetworkId) import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray) import Contract.Value (CurrencySymbol) import Contract.Wallet (ownPaymentPubKeyHash) -import Control.Error.Util ((!?)) +import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT(ExceptT), throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Ctl.Internal.Affjax (request) as Affjax @@ -37,7 +39,7 @@ import Data.HTTP.Method (Method(POST)) import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidResponseCodec) -import HydraAuctionOffchain.Codec (bigIntCodec, byteArrayCodec, currencySymbolCodec) +import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionTerms(AuctionTerms) @@ -65,11 +67,11 @@ import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) import JS.BigInt (BigInt) newtype SendBidContractParams = SendBidContractParams - { auctionCs :: CurrencySymbol + { auctionCs :: ScriptHash , auctionTerms :: AuctionTerms , delegateInfo :: DelegateInfo , sellerSignature :: ByteArray - , bidAmount :: BigInt + , bidAmount :: BigNum } derive instance Generic SendBidContractParams _ @@ -86,11 +88,11 @@ sendBidContractParamsCodec :: NetworkId -> CA.JsonCodec SendBidContractParams sendBidContractParamsCodec network = wrapIso SendBidContractParams $ CA.object "SendBidContractParams" $ CAR.record - { auctionCs: currencySymbolCodec + { auctionCs: scriptHashCodec , auctionTerms: auctionTermsCodec network , delegateInfo: delegateInfoCodec , sellerSignature: byteArrayCodec - , bidAmount: bigIntCodec + , bidAmount: bigNumCodec } sendBidContract :: SendBidContractParams -> Contract (ContractOutput PlaceBidResponse) @@ -129,10 +131,14 @@ mkSendBidContractWithErrors (SendBidContractParams params) = do withExceptT SendBid_Error_CouldNotSignBidderMessage $ signMessage payload + -- Convert bidder address: + bidderAddressPlutus <- Plutus.Address.fromCardano bidderAddress + ?? SendBid_Error_BidderAddressConversionFailure + -- Send `placeBid` request to a randomly picked delegate: let bidTerms = BidTerms - { bidder: BidderInfo { bidderAddress, bidderVk } + { bidder: BidderInfo { bidderAddress: bidderAddressPlutus, bidderVk } , price: params.bidAmount , bidderSignature , sellerSignature: params.sellerSignature @@ -183,6 +189,7 @@ data SendBidContractError | SendBid_Error_CouldNotGetOwnPubKeyHash | SendBid_Error_CouldNotSignBidderMessage SignMessageError | SendBid_Error_PlaceBidRequestServiceError ServiceError + | SendBid_Error_BidderAddressConversionFailure derive instance Generic SendBidContractError _ @@ -212,3 +219,6 @@ instance ToContractError SendBidContractError where SendBid_Error_PlaceBidRequestServiceError err -> "PlaceBid request failed with error: " <> show err <> "." + + SendBid_Error_BidderAddressConversionFailure -> + "Could not convert bidder address to Plutus.Address." diff --git a/src/Contract/StartBidding.purs b/src/Contract/StartBidding.purs index dbda69c..9c00559 100644 --- a/src/Contract/StartBidding.purs +++ b/src/Contract/StartBidding.purs @@ -8,6 +8,7 @@ module HydraAuctionOffchain.Contract.StartBidding , StartBidding_Error_CouldNotBuildAuctionValidators , StartBidding_Error_InvalidAuctionInfo , StartBidding_Error_CouldNotFindCurrentAuctionEscrowUtxo + , StartBidding_Error_AuctionLotValueConversionFailure ) , StartBiddingContractParams(StartBiddingContractParams) , mkStartBiddingContractWithErrors @@ -16,9 +17,12 @@ module HydraAuctionOffchain.Contract.StartBidding import Contract.Prelude -import Contract.Address (PaymentPubKeyHash, toPubKeyHash) +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value +import Cardano.Types (NetworkId, PaymentPubKeyHash, PlutusData, RedeemerDatum) +import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) -import Contract.Config (NetworkId) import Contract.Monad (Contract) import Contract.PlutusData (Datum, Redeemer, toData) import Contract.ScriptLookups (ScriptLookups) @@ -36,7 +40,7 @@ import Contract.TxConstraints import Contract.Value (TokenName, Value) import Contract.Value (singleton) as Value import Contract.Wallet (getWalletAddress) -import Control.Error.Util ((!?)) +import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Data.Codec.Argonaut (JsonCodec, object) as CA @@ -70,6 +74,7 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) import HydraAuctionOffchain.Lib.Codec (class HasJson) +import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import JS.BigInt (fromInt) as BigInt import Partial.Unsafe (unsafePartial) @@ -113,9 +118,13 @@ mkStartBiddingContractWithErrors (StartBiddingContractParams params) = do validateAuctionTerms auctionTerms # validation (throwError <<< StartBidding_Error_InvalidAuctionTerms) pure + -- Convert auction lot Value: + auctionLotValue <- Plutus.Value.toCardano auctionTermsRec.auctionLot + ?? StartBidding_Error_AuctionLotValueConversionFailure + -- Check that the contract is initiated by the seller: ownAddress <- getWalletAddress !? StartBidding_Error_CouldNotGetOwnAddress - when (ownAddress /= auctionTermsRec.sellerAddress) $ + when (Plutus.Address.fromCardano ownAddress /= Just auctionTermsRec.sellerAddress) $ throwError StartBidding_Error_ContractNotInitiatedBySeller -- Check that the current time is within the bidding period: @@ -142,26 +151,27 @@ mkStartBiddingContractWithErrors (StartBiddingContractParams params) = do validatorHashes = unwrap $ validatorHash <$> validators mkAuctionToken :: TokenName -> Value - mkAuctionToken tokenName = Value.singleton auctionCs tokenName one + mkAuctionToken tokenName = Value.singleton auctionCs tokenName BigNum.one -- AuctionEscrow ------------------------------------------------- auctionEscrowOref :: TransactionInput auctionEscrowOref = fst auctionEscrowUtxo - auctionEscrowRedeemer :: Redeemer + auctionEscrowRedeemer :: RedeemerDatum auctionEscrowRedeemer = wrap $ toData StartBiddingRedeemer - auctionEscrowDatum :: Datum - auctionEscrowDatum = wrap $ toData BiddingStarted + auctionEscrowDatum :: PlutusData + auctionEscrowDatum = toData BiddingStarted auctionEscrowValue :: Value - auctionEscrowValue = auctionTermsRec.auctionLot <> mkAuctionToken auctionEscrowTokenName + auctionEscrowValue = unsafePartial $ auctionLotValue <> mkAuctionToken + auctionEscrowTokenName -- StandingBid --------------------------------------------------- - standingBidDatum :: Datum - standingBidDatum = wrap $ toData $ StandingBidState Nothing + standingBidDatum :: PlutusData + standingBidDatum = toData $ StandingBidState Nothing standingBidTokenValue :: Value standingBidTokenValue = mkAuctionToken standingBidTokenName @@ -174,7 +184,8 @@ mkStartBiddingContractWithErrors (StartBiddingContractParams params) = do (auctionTermsRec.biddingEnd - wrap (BigInt.fromInt 1000)) sellerPkh :: PaymentPubKeyHash - sellerPkh = wrap $ unsafePartial fromJust $ toPubKeyHash auctionTermsRec.sellerAddress + sellerPkh = wrap $ unwrap $ unsafePartial fromJust $ toPubKeyHash + auctionTermsRec.sellerAddress constraints :: TxConstraints constraints = mconcat @@ -222,6 +233,7 @@ data StartBiddingContractError | StartBidding_Error_CouldNotBuildAuctionValidators MkAuctionValidatorsError | StartBidding_Error_InvalidAuctionInfo (Array AuctionInfoValidationError) | StartBidding_Error_CouldNotFindCurrentAuctionEscrowUtxo + | StartBidding_Error_AuctionLotValueConversionFailure derive instance Generic StartBiddingContractError _ derive instance Eq StartBiddingContractError @@ -255,3 +267,6 @@ instance ToContractError StartBiddingContractError where StartBidding_Error_CouldNotFindCurrentAuctionEscrowUtxo -> "Could not find current auction escrow utxo." + + StartBidding_Error_AuctionLotValueConversionFailure -> + "Could not convert auction lot Plutus.Value to Cardano.Value." diff --git a/src/Contract/Types.purs b/src/Contract/Types.purs index 52d1401..09f5cbb 100644 --- a/src/Contract/Types.purs +++ b/src/Contract/Types.purs @@ -99,7 +99,6 @@ import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms , BiddingStartNotBeforeBiddingEndError , BiddingEndNotBeforePurchaseDeadlineError , PurchaseDeadlineNotBeforeCleanupError - , NonPositiveMinBidIncrementError , InvalidStartingBidError , InvalidAuctionFeePerDelegateError , NoDelegatesError diff --git a/src/Contract/Types/Common.purs b/src/Contract/Types/Common.purs index ad1a6dc..6f2d14b 100644 --- a/src/Contract/Types/Common.purs +++ b/src/Contract/Types/Common.purs @@ -2,7 +2,7 @@ module HydraAuctionOffchain.Contract.Types.Common ( Utxo ) where -import Contract.Transaction (TransactionInput, TransactionOutputWithRefScript) +import Cardano.Types (TransactionInput, TransactionOutput) import Data.Tuple (Tuple) -type Utxo = Tuple TransactionInput TransactionOutputWithRefScript +type Utxo = Tuple TransactionInput TransactionOutput diff --git a/src/Contract/Types/ContractResult.purs b/src/Contract/Types/ContractResult.purs index 7603bd0..f562b55 100644 --- a/src/Contract/Types/ContractResult.purs +++ b/src/Contract/Types/ContractResult.purs @@ -12,6 +12,11 @@ module HydraAuctionOffchain.Contract.Types.ContractResult import Prelude +import Cardano.AsCbor (encodeCbor) +import Cardano.Types (BigNum, ExUnits, Transaction, TransactionHash) +import Cardano.Types.Transaction (_body, _witnessSet) +import Cardano.Types.TransactionBody (_fee) +import Cardano.Types.TransactionWitnessSet (_redeemers) import Contract.AuxiliaryData (setGeneralTxMetadata) import Contract.BalanceTxConstraints (BalanceTxConstraintsBuilder) import Contract.CborBytes (cborByteLength) @@ -19,30 +24,19 @@ import Contract.Log (logWarn') import Contract.Metadata (GeneralTransactionMetadata) import Contract.Monad (Contract) import Contract.ScriptLookups (ScriptLookups) -import Contract.Transaction - ( ExUnits - , FinalizedTransaction - , Redeemer - , Transaction - , TransactionHash - , _witnessSet - , balanceTxWithConstraints - , getTxFinalFee - , signTransaction - , submit - ) +import Contract.Transaction (balanceTx, signTransaction, submit) import Contract.TxConstraints (TxConstraints) import Contract.UnbalancedTx (mkUnbalancedTx) -import Ctl.Internal.Cardano.Types.Transaction (_redeemers) -import Ctl.Internal.Serialization (convertTransaction, toBytes) -import Data.Foldable (foldl) +import Data.Foldable (foldMap, foldl) import Data.Lens ((^.)) import Data.Maybe (Maybe(Nothing), fromMaybe, maybe) import Data.Newtype (unwrap) import Data.Traversable (traverse) +import Data.Tuple.Nested ((/\)) import Effect (Effect) import Effect.Class (liftEffect) import JS.BigInt (BigInt) +import Partial.Unsafe (unsafePartial) import Prim.Row (class Nub, class Union) as Row import Record (merge) as Record @@ -53,7 +47,7 @@ type ContractResult' (extra :: Row Type) = Record (ContractResultRow extra) type ContractResultRow (extra :: Row Type) = ( balancedSignedTx :: Transaction , txHash :: TransactionHash - , txFinalFee :: BigInt + , txFinalFee :: BigNum , txExUnits :: ExUnits , txSize :: Int | extra @@ -84,55 +78,38 @@ submitTxReturningContractResult submitTxReturningContractResult extra rec = submitTx extra =<< buildTx rec -buildTx - :: SubmitTxData - -> Contract FinalizedTransaction +buildTx :: SubmitTxData -> Contract Transaction buildTx rec = do - unbalancedTx' <- mkUnbalancedTx rec.lookups rec.constraints - unbalancedTxWithMetadata <- traverse (setGeneralTxMetadata unbalancedTx') rec.metadata - let unbalancedTx = fromMaybe unbalancedTx' unbalancedTxWithMetadata - balancedTx <- balanceTxWithConstraints unbalancedTx rec.balancerConstraints - pure balancedTx + unbalancedTx /\ usedUtxos <- mkUnbalancedTx rec.lookups rec.constraints + let + unbalancedTxWithMetadata = setGeneralTxMetadata unbalancedTx <$> rec.metadata + unbalancedTx' = fromMaybe unbalancedTx unbalancedTxWithMetadata + balanceTx unbalancedTx' usedUtxos rec.balancerConstraints submitTx :: forall (extra :: Row Type) . Row.Union extra (ContractResultRow ()) (ContractResultRow extra) => Row.Nub (ContractResultRow extra) (ContractResultRow extra) => Record extra - -> FinalizedTransaction + -> Transaction -> Contract (ContractResult' extra) submitTx extra balancedTx = do balancedSignedTx <- signTransaction balancedTx - txSize <- liftEffect $ getTxSize $ unwrap balancedSignedTx + let txSize = cborByteLength $ encodeCbor balancedSignedTx logWarn' $ "Tx size: " <> show txSize <> " bytes" - let txExUnits = getTotalExUnits $ unwrap balancedSignedTx + let txExUnits = getTotalExUnits balancedSignedTx logWarn' $ "Ex units: " <> show txExUnits txHash <- submit balancedSignedTx pure $ Record.merge extra $ - { balancedSignedTx: unwrap balancedSignedTx + { balancedSignedTx , txHash - , txFinalFee: getTxFinalFee balancedSignedTx + , txFinalFee: unwrap $ balancedSignedTx ^. _body <<< _fee , txExUnits , txSize } -getTxSize :: Transaction -> Effect Int -getTxSize = map (cborByteLength <<< toBytes) <<< convertTransaction - getTotalExUnits :: Transaction -> ExUnits getTotalExUnits balancedSignedTx = - mRedeemers # maybe emptyExUnits \redeemers -> - foldl - ( \acc red -> - { mem: acc.mem + (unwrap red).exUnits.mem - , steps: acc.steps + (unwrap red).exUnits.steps - } - ) - emptyExUnits - redeemers - where - mRedeemers :: Maybe (Array Redeemer) - mRedeemers = balancedSignedTx ^. _witnessSet <<< _redeemers - - emptyExUnits :: ExUnits - emptyExUnits = { mem: zero, steps: zero } + unsafePartial do + foldMap (_.exUnits <<< unwrap) $ + balancedSignedTx ^. _witnessSet <<< _redeemers diff --git a/src/Contract/Types/Plutus/AuctionActor.purs b/src/Contract/Types/Plutus/AuctionActor.purs index e255575..e7121a7 100644 --- a/src/Contract/Types/Plutus/AuctionActor.purs +++ b/src/Contract/Types/Plutus/AuctionActor.purs @@ -8,6 +8,7 @@ import Contract.PlutusData import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude +import Cardano.Plutus.DataSchema (PNil, S, Z) import Contract.Numeric.BigNum (zero) as BigNum import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG diff --git a/src/Contract/Types/Plutus/AuctionEscrowState.purs b/src/Contract/Types/Plutus/AuctionEscrowState.purs index d93b95c..0ff4849 100644 --- a/src/Contract/Types/Plutus/AuctionEscrowState.purs +++ b/src/Contract/Types/Plutus/AuctionEscrowState.purs @@ -2,9 +2,19 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionEscrowState ( AuctionEscrowState(AuctionAnnounced, BiddingStarted, AuctionConcluded) ) where -import Contract.PlutusData import Prelude +import Cardano.FromData (class FromData, genericFromData) +import Cardano.Plutus.DataSchema + ( class HasPlutusSchema + , type (:+) + , type (:=) + , type (@@) + , PNil + , S + , Z + ) +import Cardano.ToData (class ToData, genericToData) import Data.Generic.Rep (class Generic) import Data.Show.Generic (genericShow) diff --git a/src/Contract/Types/Plutus/AuctionInfo.purs b/src/Contract/Types/Plutus/AuctionInfo.purs index b8a0913..accee10 100644 --- a/src/Contract/Types/Plutus/AuctionInfo.purs +++ b/src/Contract/Types/Plutus/AuctionInfo.purs @@ -18,8 +18,10 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionInfo import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude -import Contract.Address (Address, scriptHashAddress) -import Contract.Config (NetworkId) +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Address (scriptHashAddress) as Plutus.Address +import Cardano.Types (NetworkId, PlutusScript, ScriptHash) +import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Numeric.BigNum (zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Scripts (Validator, validatorHash) @@ -35,7 +37,7 @@ import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import Data.Validation.Semigroup (V) -import HydraAuctionOffchain.Codec (addressCodec, currencySymbolCodec, orefCodec) +import HydraAuctionOffchain.Codec (plutusAddressCodec, orefCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms ( AuctionTerms , auctionTermsCodec @@ -57,10 +59,10 @@ type AuctionInfoRec (r :: Row Type) = ( auctionId :: CurrencySymbol , auctionTerms :: AuctionTerms , delegateInfo :: Maybe DelegateInfo - , auctionEscrowAddr :: Address - , bidderDepositAddr :: Address - , feeEscrowAddr :: Address - , standingBidAddr :: Address + , auctionEscrowAddr :: Plutus.Address + , bidderDepositAddr :: Plutus.Address + , feeEscrowAddr :: Plutus.Address + , standingBidAddr :: Plutus.Address | r ) @@ -74,13 +76,13 @@ instance Show AuctionInfo where show = genericShow type AuctionInfoSchema = - ("auctionId" :~: CurrencySymbol) + ("auctionId" :~: ScriptHash) :$: ("auctionTerms" :~: AuctionTerms) :$: ("delegateInfo" :~: Maybe DelegateInfo) - :$: ("auctionEscrowAddr" :~: Address) - :$: ("bidderDepositAddr" :~: Address) - :$: ("feeEscrowAddr" :~: Address) - :$: ("standingBidAddr" :~: Address) + :$: ("auctionEscrowAddr" :~: Plutus.Address) + :$: ("bidderDepositAddr" :~: Plutus.Address) + :$: ("feeEscrowAddr" :~: Plutus.Address) + :$: ("standingBidAddr" :~: Plutus.Address) :$: Nil auctionInfoSchema :: Proxy AuctionInfoSchema @@ -101,13 +103,13 @@ instance HasJson AuctionInfo NetworkId where auctionInfoCodec :: NetworkId -> CA.JsonCodec AuctionInfo auctionInfoCodec network = wrapIso AuctionInfo $ CA.object "AuctionInfo" $ CAR.record - { auctionId: currencySymbolCodec + { auctionId: scriptHashCodec , auctionTerms: auctionTermsCodec network , delegateInfo: CA.maybe delegateInfoCodec - , auctionEscrowAddr: addressCodec network - , bidderDepositAddr: addressCodec network - , feeEscrowAddr: addressCodec network - , standingBidAddr: addressCodec network + , auctionEscrowAddr: plutusAddressCodec network + , bidderDepositAddr: plutusAddressCodec network + , feeEscrowAddr: plutusAddressCodec network + , standingBidAddr: plutusAddressCodec network } ---------------------------------------------------------------------- @@ -127,13 +129,13 @@ instance Show AuctionInfoExtended where show = genericShow type AuctionInfoExtendedSchema = - ("auctionId" :~: CurrencySymbol) + ("auctionId" :~: ScriptHash) :$: ("auctionTerms" :~: AuctionTerms) :$: ("delegateInfo" :~: Maybe DelegateInfo) - :$: ("auctionEscrowAddr" :~: Address) - :$: ("bidderDepositAddr" :~: Address) - :$: ("feeEscrowAddr" :~: Address) - :$: ("standingBidAddr" :~: Address) + :$: ("auctionEscrowAddr" :~: Plutus.Address) + :$: ("bidderDepositAddr" :~: Plutus.Address) + :$: ("feeEscrowAddr" :~: Plutus.Address) + :$: ("standingBidAddr" :~: Plutus.Address) :$: ("metadataOref" :~: Maybe TransactionInput) :$: Nil @@ -156,13 +158,13 @@ instance HasJson AuctionInfoExtended NetworkId where auctionInfoExtendedCodec :: NetworkId -> CA.JsonCodec AuctionInfoExtended auctionInfoExtendedCodec network = wrapIso AuctionInfoExtended $ CA.object "AuctionInfoExtended" $ CAR.record - { auctionId: currencySymbolCodec + { auctionId: scriptHashCodec , auctionTerms: auctionTermsCodec network , delegateInfo: CA.maybe delegateInfoCodec - , auctionEscrowAddr: addressCodec network - , bidderDepositAddr: addressCodec network - , feeEscrowAddr: addressCodec network - , standingBidAddr: addressCodec network + , auctionEscrowAddr: plutusAddressCodec network + , bidderDepositAddr: plutusAddressCodec network + , feeEscrowAddr: plutusAddressCodec network + , standingBidAddr: plutusAddressCodec network , metadataOref: CA.maybe orefCodec } @@ -190,7 +192,7 @@ instance Show AuctionInfoValidationError where validateAuctionInfo :: forall (r :: Row Type) . Record (AuctionInfoRec r) - -> AuctionValidators Validator + -> AuctionValidators PlutusScript -> V (Array AuctionInfoValidationError) Unit validateAuctionInfo auctionInfo validators = fold [ (auctionInfo.auctionEscrowAddr == validatorAddresses.auctionEscrow) @@ -204,4 +206,7 @@ validateAuctionInfo auctionInfo validators = fold ] where validatorAddresses = - unwrap $ validators <#> flip scriptHashAddress Nothing <<< validatorHash + unwrap $ validators <#> + flip Plutus.Address.scriptHashAddress Nothing + <<< wrap + <<< PlutusScript.hash diff --git a/src/Contract/Types/Plutus/AuctionPolicyRedeemer.purs b/src/Contract/Types/Plutus/AuctionPolicyRedeemer.purs index f9a15ab..02425de 100644 --- a/src/Contract/Types/Plutus/AuctionPolicyRedeemer.purs +++ b/src/Contract/Types/Plutus/AuctionPolicyRedeemer.purs @@ -2,9 +2,19 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionPolicyRedemeer ( AuctionPolicyRedeemer(MintAuction, BurnAuction) ) where -import Contract.PlutusData import Prelude +import Cardano.FromData (class FromData, genericFromData) +import Cardano.Plutus.DataSchema + ( class HasPlutusSchema + , type (:+) + , type (:=) + , type (@@) + , PNil + , S + , Z + ) +import Cardano.ToData (class ToData, genericToData) import Data.Generic.Rep (class Generic) import Data.Show.Generic (genericShow) diff --git a/src/Contract/Types/Plutus/AuctionTerms.purs b/src/Contract/Types/Plutus/AuctionTerms.purs index c984da8..82d57a7 100644 --- a/src/Contract/Types/Plutus/AuctionTerms.purs +++ b/src/Contract/Types/Plutus/AuctionTerms.purs @@ -11,7 +11,6 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms , BiddingStartNotBeforeBiddingEndError , BiddingEndNotBeforePurchaseDeadlineError , PurchaseDeadlineNotBeforeCleanupError - , NonPositiveMinBidIncrementError , InvalidStartingBidError , InvalidAuctionFeePerDelegateError , NoDelegatesError @@ -26,28 +25,32 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude -import Contract.Address (Address, PubKeyHash, toPubKeyHash) -import Contract.Config (NetworkId) -import Contract.Numeric.BigNum (zero) as BigNum +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Credential (Credential(PubKeyCredential)) as Plutus +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Plutus.Types.Value (gt, valueToCoin) as Plutus.Value +import Cardano.Types (BigNum, Ed25519KeyHash, NetworkId) +import Contract.Numeric.BigNum (fromInt, mul, zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Time (POSIXTime) -import Contract.Value (Value, valueToCoin) import Contract.Value (gt) as Value import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Foldable (fold, length) import Data.Generic.Rep (class Generic) -import Data.Maybe (Maybe(Nothing), isJust) -import Data.Newtype (class Newtype, wrap) +import Data.Maybe (Maybe(Just, Nothing), isJust, maybe) +import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import Data.Validation.Semigroup (V) import HydraAuctionOffchain.Codec ( addressCodec , bigIntCodec + , bigNumCodec + , ed25519KeyHashCodec + , plutusAddressCodec + , plutusValueCodec , posixTimeCodec - , pubKeyHashCodec - , valueCodec ) import HydraAuctionOffchain.Contract.Types.VerificationKey ( VerificationKey @@ -56,9 +59,10 @@ import HydraAuctionOffchain.Contract.Types.VerificationKey ) import HydraAuctionOffchain.Helpers (errV) import HydraAuctionOffchain.Lib.Crypto (hashVk) +import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import JS.BigInt (BigInt) import JS.BigInt (fromInt) as BigInt -import Ply.Typename (class PlyTypeName) +import Partial.Unsafe (unsafePartial) import Type.Proxy (Proxy(Proxy)) ---------------------------------------------------------------------- @@ -66,16 +70,16 @@ import Type.Proxy (Proxy(Proxy)) ---------------------------------------------------------------------- type AuctionTermsInputRec (r :: Row Type) = - ( auctionLot :: Value - , delegates :: Array PubKeyHash + ( auctionLot :: Plutus.Value + , delegates :: Array Ed25519KeyHash , biddingStart :: POSIXTime , biddingEnd :: POSIXTime , purchaseDeadline :: POSIXTime , cleanup :: POSIXTime - , auctionFeePerDelegate :: BigInt - , startingBid :: BigInt - , minBidIncrement :: BigInt - , minDepositAmount :: BigInt + , auctionFeePerDelegate :: BigNum + , startingBid :: BigNum + , minBidIncrement :: BigNum + , minDepositAmount :: BigNum | r ) @@ -83,19 +87,19 @@ type AuctionTermsInput = Record (AuctionTermsInputRec ()) auctionTermsInputCodec :: CA.JsonCodec AuctionTermsInput auctionTermsInputCodec = CA.object "AuctionTerms" $ CAR.record - { auctionLot: valueCodec - , delegates: CA.array pubKeyHashCodec + { auctionLot: plutusValueCodec + , delegates: CA.array ed25519KeyHashCodec , biddingStart: posixTimeCodec , biddingEnd: posixTimeCodec , purchaseDeadline: posixTimeCodec , cleanup: posixTimeCodec - , auctionFeePerDelegate: bigIntCodec - , startingBid: bigIntCodec - , minBidIncrement: bigIntCodec - , minDepositAmount: bigIntCodec + , auctionFeePerDelegate: bigNumCodec + , startingBid: bigNumCodec + , minBidIncrement: bigNumCodec + , minDepositAmount: bigNumCodec } -mkAuctionTerms :: AuctionTermsInput -> Address -> VerificationKey -> AuctionTerms +mkAuctionTerms :: AuctionTermsInput -> Plutus.Address -> VerificationKey -> AuctionTerms mkAuctionTerms rec sellerAddress sellerVk = wrap { auctionLot: rec.auctionLot , sellerAddress @@ -116,7 +120,7 @@ mkAuctionTerms rec sellerAddress sellerVk = wrap ---------------------------------------------------------------------- type AuctionTermsRec = AuctionTermsInputRec - ( sellerAddress :: Address + ( sellerAddress :: Plutus.Address , sellerVk :: VerificationKey ) @@ -130,18 +134,18 @@ instance Show AuctionTerms where show = genericShow type AuctionTermsSchema = - ("auctionLot" :~: Value) - :$: ("sellerAddress" :~: Address) + ("auctionLot" :~: Plutus.Value) + :$: ("sellerAddress" :~: Plutus.Address) :$: ("sellerVk" :~: VerificationKey) - :$: ("delegates" :~: Array PubKeyHash) + :$: ("delegates" :~: Array Ed25519KeyHash) :$: ("biddingStart" :~: POSIXTime) :$: ("biddingEnd" :~: POSIXTime) :$: ("purchaseDeadline" :~: POSIXTime) :$: ("cleanup" :~: POSIXTime) - :$: ("auctionFeePerDelegate" :~: BigInt) - :$: ("startingBid" :~: BigInt) - :$: ("minBidIncrement" :~: BigInt) - :$: ("minDepositAmount" :~: BigInt) + :$: ("auctionFeePerDelegate" :~: BigNum) + :$: ("startingBid" :~: BigNum) + :$: ("minBidIncrement" :~: BigNum) + :$: ("minDepositAmount" :~: BigNum) :$: Nil auctionTermsSchema :: Proxy AuctionTermsSchema @@ -156,29 +160,27 @@ instance FromData AuctionTerms where wrap <$> fromDataRec auctionTermsSchema pd fromData _ = Nothing -instance PlyTypeName AuctionTerms where - plyTypeName _ = "HydraAuctionOnchain.Types.AuctionTerms:AuctionTerms" - auctionTermsCodec :: NetworkId -> CA.JsonCodec AuctionTerms auctionTermsCodec network = wrapIso AuctionTerms $ CA.object "AuctionTerms" $ CAR.record - { auctionLot: valueCodec - , sellerAddress: addressCodec network + { auctionLot: plutusValueCodec + , sellerAddress: plutusAddressCodec network , sellerVk: vkeyCodec - , delegates: CA.array pubKeyHashCodec + , delegates: CA.array ed25519KeyHashCodec , biddingStart: posixTimeCodec , biddingEnd: posixTimeCodec , purchaseDeadline: posixTimeCodec , cleanup: posixTimeCodec - , auctionFeePerDelegate: bigIntCodec - , startingBid: bigIntCodec - , minBidIncrement: bigIntCodec - , minDepositAmount: bigIntCodec + , auctionFeePerDelegate: bigNumCodec + , startingBid: bigNumCodec + , minBidIncrement: bigNumCodec + , minDepositAmount: bigNumCodec } -totalAuctionFees :: AuctionTerms -> BigInt +totalAuctionFees :: AuctionTerms -> Maybe BigNum totalAuctionFees (AuctionTerms auctionTerms) = - length auctionTerms.delegates * auctionTerms.auctionFeePerDelegate + BigNum.mul (BigNum.fromInt $ length auctionTerms.delegates) + auctionTerms.auctionFeePerDelegate -------------------------------------------------------------------------------- -- Validation @@ -192,7 +194,6 @@ data AuctionTermsValidationError | BiddingStartNotBeforeBiddingEndError | BiddingEndNotBeforePurchaseDeadlineError | PurchaseDeadlineNotBeforeCleanupError - | NonPositiveMinBidIncrementError | InvalidStartingBidError | InvalidAuctionFeePerDelegateError | NoDelegatesError @@ -204,18 +205,19 @@ instance Show AuctionTermsValidationError where show = genericShow -- TODO: Replace with min ada for Ada-only input? -minAuctionFee :: BigInt -minAuctionFee = BigInt.fromInt 2_000_000 +minAuctionFee :: BigNum +minAuctionFee = BigNum.fromInt 2_000_000 validateAuctionTerms :: AuctionTerms -> V (Array AuctionTermsValidationError) Unit -validateAuctionTerms (AuctionTerms rec) = fold - [ (valueToCoin rec.auctionLot == mempty) +validateAuctionTerms auctionTerms@(AuctionTerms rec) = fold + [ (Plutus.Value.valueToCoin rec.auctionLot == mempty) `errV` AuctionLotNonZeroAdaError - , (rec.auctionLot `Value.gt` mempty) + , (rec.auctionLot `Plutus.Value.gt` mempty) -- FIXME + `errV` NonPositiveAuctionLotValueError - , (isJust $ toPubKeyHash rec.sellerAddress) + , (isJust sellerPkh) `errV` SellerAddressLacksPubKeyCredentialError - , (toPubKeyHash rec.sellerAddress == hashVk (vkeyBytes rec.sellerVk)) + , (sellerPkh == hashVk (vkeyBytes rec.sellerVk)) `errV` SellerVkPkhMismatchError , (rec.biddingStart < rec.biddingEnd) `errV` BiddingStartNotBeforeBiddingEndError @@ -223,12 +225,13 @@ validateAuctionTerms (AuctionTerms rec) = fold `errV` BiddingEndNotBeforePurchaseDeadlineError , (rec.purchaseDeadline < rec.cleanup) `errV` PurchaseDeadlineNotBeforeCleanupError - , (rec.minBidIncrement > zero) - `errV` NonPositiveMinBidIncrementError - , (rec.startingBid > rec.auctionFeePerDelegate * length rec.delegates) + , (maybe false (rec.startingBid > _) $ totalAuctionFees auctionTerms) `errV` InvalidStartingBidError , (rec.auctionFeePerDelegate > minAuctionFee) `errV` InvalidAuctionFeePerDelegateError , (length rec.delegates > 0) `errV` NoDelegatesError ] + where + sellerPkh :: Maybe Ed25519KeyHash + sellerPkh = unwrap <$> toPubKeyHash rec.sellerAddress diff --git a/src/Contract/Types/Plutus/BidTerms.purs b/src/Contract/Types/Plutus/BidTerms.purs index 5f81c03..0d9f76e 100644 --- a/src/Contract/Types/Plutus/BidTerms.purs +++ b/src/Contract/Types/Plutus/BidTerms.purs @@ -10,12 +10,18 @@ module HydraAuctionOffchain.Contract.Types.Plutus.BidTerms import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude -import Contract.Address (PubKeyHash, toPubKeyHash) -import Contract.Config (NetworkId) -import Contract.Numeric.BigNum (zero) as BigNum -import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr), serializeData) +import Cardano.Plutus.Types.PubKeyHash (PubKeyHash(PubKeyHash)) as Plutus +import Cardano.Types + ( BigNum + , Credential(PubKeyHashCredential) + , Ed25519KeyHash + , NetworkId + , ScriptHash + ) +import Cardano.Types.Address (mkPaymentAddress) +import Contract.Numeric.BigNum (sub, zero) as BigNum +import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Prim.ByteArray (ByteArray, byteLength, hexToByteArrayUnsafe) -import Contract.Value (CurrencySymbol) import Data.Array (fold) import Data.Array (replicate) as Array import Data.Codec.Argonaut (JsonCodec, object) as CA @@ -27,7 +33,7 @@ import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import Effect (Effect) -import HydraAuctionOffchain.Codec (bigIntCodec, byteArrayCodec) +import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms ( AuctionTerms(AuctionTerms) , totalAuctionFees @@ -37,12 +43,14 @@ import HydraAuctionOffchain.Contract.Types.VerificationKey (vkeyBytes) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Lib.Cose (mkSigStructure) import HydraAuctionOffchain.Lib.Crypto (verifySignature) +import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) +import HydraAuctionOffchain.Lib.ToData (serializeData) import JS.BigInt (BigInt) import Type.Proxy (Proxy(Proxy)) newtype BidTerms = BidTerms { bidder :: BidderInfo - , price :: BigInt + , price :: BigNum , bidderSignature :: ByteArray , sellerSignature :: ByteArray } @@ -56,7 +64,7 @@ instance Show BidTerms where type BidTermsSchema = ("bidder" :~: BidderInfo) - :$: ("price" :~: BigInt) + :$: ("price" :~: BigNum) :$: ("bidderSignature" :~: ByteArray) :$: ("sellerSignature" :~: ByteArray) :$: Nil @@ -80,20 +88,20 @@ bidTermsCodec :: NetworkId -> CA.JsonCodec BidTerms bidTermsCodec network = wrapIso BidTerms $ CA.object "BidTerms" $ CAR.record { bidder: bidderInfoCodec network - , price: bigIntCodec + , price: bigNumCodec , bidderSignature: byteArrayCodec , sellerSignature: byteArrayCodec } -sellerPayout :: AuctionTerms -> BidTerms -> BigInt +sellerPayout :: AuctionTerms -> BidTerms -> Maybe BigNum sellerPayout auctionTerms bidTerms = - (unwrap bidTerms).price - totalAuctionFees auctionTerms + BigNum.sub (unwrap bidTerms).price =<< totalAuctionFees auctionTerms -------------------------------------------------------------------------------- -- Validation -------------------------------------------------------------------------------- -validateBidTerms :: NetworkId -> CurrencySymbol -> AuctionTerms -> BidTerms -> Effect Boolean +validateBidTerms :: NetworkId -> ScriptHash -> AuctionTerms -> BidTerms -> Effect Boolean validateBidTerms network auctionCs (AuctionTerms auctionTerms) (BidTerms bidTerms) = conj <$> verifySellerSignature <*> verifyBidderSignature where @@ -101,18 +109,25 @@ validateBidTerms network auctionCs (AuctionTerms auctionTerms) (BidTerms bidTerm verifyBidderSignature :: Effect Boolean verifyBidderSignature = - case bidderInfo.bidderAddress of - bidderAddress | Just bidderPkh <- toPubKeyHash bidderAddress -> do - let payload = bidderSignatureMessage auctionCs bidderPkh bidTerms.price - sigStruct <- mkSigStructure network bidderAddress payload + case toPubKeyHash bidderInfo.bidderAddress of + Just (Plutus.PubKeyHash bidderPkh) -> do + let + addr = mkPaymentAddress network (wrap $ PubKeyHashCredential bidderPkh) Nothing + payload = bidderSignatureMessage auctionCs bidderPkh bidTerms.price + sigStruct <- mkSigStructure addr payload verifySignature (vkeyBytes bidderInfo.bidderVk) sigStruct bidTerms.bidderSignature - _ -> pure false + Nothing -> pure false verifySellerSignature :: Effect Boolean - verifySellerSignature = do - let payload = sellerSignatureMessage auctionCs $ vkeyBytes bidderInfo.bidderVk - sigStruct <- mkSigStructure network auctionTerms.sellerAddress payload - verifySignature (vkeyBytes auctionTerms.sellerVk) sigStruct bidTerms.sellerSignature + verifySellerSignature = + case toPubKeyHash auctionTerms.sellerAddress of + Just (Plutus.PubKeyHash sellerPkh) -> do + let + addr = mkPaymentAddress network (wrap $ PubKeyHashCredential sellerPkh) Nothing + payload = sellerSignatureMessage auctionCs $ vkeyBytes bidderInfo.bidderVk + sigStruct <- mkSigStructure addr payload + verifySignature (vkeyBytes auctionTerms.sellerVk) sigStruct bidTerms.sellerSignature + Nothing -> pure false -- Maximum (reasonable) size of the bidder signature message where -- bidPrice is set to the total supply of ADA (45 billion). @@ -123,12 +138,12 @@ validateBidTerms network auctionCs (AuctionTerms auctionTerms) (BidTerms bidTerm bidderSignatureMessageSize :: Int bidderSignatureMessageSize = 69 -bidderSignatureMessage :: CurrencySymbol -> PubKeyHash -> BigInt -> ByteArray +bidderSignatureMessage :: ScriptHash -> Ed25519KeyHash -> BigNum -> ByteArray bidderSignatureMessage auctionCs bidderPkh bidPrice = padMessage bidderSignatureMessageSize $ unwrap (serializeData auctionCs <> serializeData bidderPkh <> serializeData bidPrice) -sellerSignatureMessage :: CurrencySymbol -> ByteArray -> ByteArray +sellerSignatureMessage :: ScriptHash -> ByteArray -> ByteArray sellerSignatureMessage auctionCs bidderVk = unwrap $ serializeData auctionCs <> serializeData bidderVk diff --git a/src/Contract/Types/Plutus/BidderInfo.purs b/src/Contract/Types/Plutus/BidderInfo.purs index 58a6257..2112ac6 100644 --- a/src/Contract/Types/Plutus/BidderInfo.purs +++ b/src/Contract/Types/Plutus/BidderInfo.purs @@ -6,8 +6,9 @@ module HydraAuctionOffchain.Contract.Types.Plutus.BidderInfo import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude -import Contract.Address (Address, pubKeyHashAddress) -import Contract.Config (NetworkId) +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Address (pubKeyHashAddress) as Plutus.Address +import Cardano.Types (NetworkId) import Contract.Numeric.BigNum (zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Data.Codec.Argonaut (JsonCodec, object) as CA @@ -18,7 +19,7 @@ import Data.Maybe (Maybe(Nothing), fromJust) import Data.Newtype (class Newtype, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (addressCodec) +import HydraAuctionOffchain.Codec (addressCodec, plutusAddressCodec) import HydraAuctionOffchain.Contract.Types.VerificationKey ( VerificationKey , vkeyBytes @@ -31,7 +32,7 @@ import Test.QuickCheck (class Arbitrary, arbitrary) import Type.Proxy (Proxy(Proxy)) newtype BidderInfo = BidderInfo - { bidderAddress :: Address + { bidderAddress :: Plutus.Address , bidderVk :: VerificationKey } @@ -43,7 +44,7 @@ instance Show BidderInfo where show = genericShow type BidderInfoSchema = - ("bidderAddress" :~: Address) + ("bidderAddress" :~: Plutus.Address) :$: ("bidderVk" :~: VerificationKey) :$: Nil @@ -65,7 +66,7 @@ instance HasJson BidderInfo NetworkId where bidderInfoCodec :: NetworkId -> CA.JsonCodec BidderInfo bidderInfoCodec network = wrapIso BidderInfo $ CA.object "BidderInfo" $ CAR.record - { bidderAddress: addressCodec network + { bidderAddress: plutusAddressCodec network , bidderVk: vkeyCodec } @@ -73,6 +74,6 @@ instance Arbitrary BidderInfo where arbitrary = do bidderVk <- arbitrary let - bidderPkh = wrap $ unsafePartial fromJust $ hashVk $ vkeyBytes bidderVk - bidderAddress = pubKeyHashAddress bidderPkh Nothing + bidderPkh = unsafePartial fromJust $ hashVk $ vkeyBytes bidderVk + bidderAddress = Plutus.Address.pubKeyHashAddress (wrap $ wrap bidderPkh) Nothing pure $ wrap { bidderAddress, bidderVk } diff --git a/src/Contract/Types/Plutus/DelegateGroupInfo.purs b/src/Contract/Types/Plutus/DelegateGroupInfo.purs new file mode 100644 index 0000000..5e6db81 --- /dev/null +++ b/src/Contract/Types/Plutus/DelegateGroupInfo.purs @@ -0,0 +1,61 @@ +module HydraAuctionOffchain.Contract.Types.Plutus.DelegateGroupInfo where + +import Prelude + +import Cardano.Types (RawBytes, ScriptHash, URL) +import Data.ByteArray (ByteArray) +import Data.Generic.Rep (class Generic) +import Data.Newtype (class Newtype) +import Data.Show.Generic (genericShow) +import Data.Typelevel.Undefined (undefined) +import Data.UInt (UInt) + +{- +type Url = String + +newtype DelegateGroupMetadata = DelegateGroupMetadata + { url :: Url + , dataHash :: RawBytes + } + +newtype DelegateGroupInfo = DelegateGroupInfo + { groupId :: ScriptHash + , groupMetadata :: DelegateGroupMetadata + , delegates :: Array Ed25519KeyHash + , httpServers :: Array Url + , wsServers :: Array Url + } + +derive instance Generic DelegateGroupInfo _ +derive instance Newtype DelegateGroupInfo _ +derive instance Eq DelegateGroupInfo + +instance Show DelegateGroupInfo where + show = genericShow + +-- Discover registered delegate groups. +queryDelegateGroups :: Contract (Array DelegateGroupInfo) +queryDelegateGroups = undefined + +type DelegateGroupSlot = Int + +-- Attempt to book a delegate group slot for an upcoming auction. +-- +-- This query will perform the following steps under the hood: +-- 1. Query a list of available auction slots from each delegate. +-- 2. Identify the common slots by finding their intersection. +-- 3. Randomly select one slot from the common available slots. +-- 4. Attempt to book the selected slot by sending booking requests to each delegate. +bookSlotForAuction :: DelegateGroupInfo -> Aff (Maybe DelegateGroupSlot) +bookSlotForAuction = undefined + +newtype HostAuctionInfo = HostAuctionInfo + { delegateGroup :: DelegateGroupInfo + , slot :: DelegateGroupSlot + , auctionMetadataOref :: TransactionInput + } + +-- Attempt to host announced auction at a specific delegate group slot. +hostAuction :: HostAuctionInfo -> Aff (ContractOutput Unit) +hostAuction = undefined +-} diff --git a/src/Contract/Types/Plutus/Extra/AssetClass.purs b/src/Contract/Types/Plutus/Extra/AssetClass.purs index 5cbc7c7..8c11ecb 100644 --- a/src/Contract/Types/Plutus/Extra/AssetClass.purs +++ b/src/Contract/Types/Plutus/Extra/AssetClass.purs @@ -7,24 +7,25 @@ module HydraAuctionOffchain.Contract.Types.Plutus.Extra.AssetClass import Prelude +import Cardano.Types (AssetName, BigNum, ScriptHash) import Contract.PlutusData (class FromData, class ToData, PlutusData(List), fromData, toData) -import Contract.Value (CurrencySymbol, TokenName, Value) +import Contract.Value (Value) import Contract.Value (singleton) as Value import Data.Generic.Rep (class Generic) import Data.Maybe (Maybe(Nothing)) import Data.Newtype (class Newtype, wrap) import Data.Show.Generic (genericShow) import Data.Tuple.Nested (type (/\), (/\)) -import JS.BigInt (BigInt) newtype AssetClass = AssetClass - { currencySymbol :: CurrencySymbol - , tokenName :: TokenName + { currencySymbol :: ScriptHash + , tokenName :: AssetName } derive instance Generic AssetClass _ derive instance Newtype AssetClass _ derive instance Eq AssetClass +derive instance Ord AssetClass instance Show AssetClass where show = genericShow @@ -38,11 +39,11 @@ instance FromData AssetClass where wrap <$> ({ currencySymbol: _, tokenName: _ } <$> fromData cs <*> fromData tn) fromData _ = Nothing -mkAssetClass :: CurrencySymbol -> TokenName -> AssetClass +mkAssetClass :: ScriptHash -> AssetName -> AssetClass mkAssetClass currencySymbol tokenName = wrap { currencySymbol, tokenName } -assetToTuple :: AssetClass -> (CurrencySymbol /\ TokenName) -assetToTuple (AssetClass asset) = asset.currencySymbol /\ asset.tokenName - -assetToValue :: AssetClass -> BigInt -> Value +assetToValue :: AssetClass -> BigNum -> Value assetToValue (AssetClass asset) = Value.singleton asset.currencySymbol asset.tokenName + +assetToTuple :: AssetClass -> (ScriptHash /\ AssetName) +assetToTuple (AssetClass asset) = asset.currencySymbol /\ asset.tokenName diff --git a/src/Contract/Types/Plutus/Redeemers.purs b/src/Contract/Types/Plutus/Redeemers.purs index 8e43269..f8b2122 100644 --- a/src/Contract/Types/Plutus/Redeemers.purs +++ b/src/Contract/Types/Plutus/Redeemers.purs @@ -22,6 +22,7 @@ module HydraAuctionOffchain.Contract.Types.Plutus.Redeemers import Contract.PlutusData import Prelude +import Cardano.Plutus.DataSchema (S, Z) import Data.Generic.Rep (class Generic) import Data.Show.Generic (genericShow) diff --git a/src/Contract/Types/Plutus/StandingBidState.purs b/src/Contract/Types/Plutus/StandingBidState.purs index daf104c..0b5d22a 100644 --- a/src/Contract/Types/Plutus/StandingBidState.purs +++ b/src/Contract/Types/Plutus/StandingBidState.purs @@ -6,13 +6,14 @@ module HydraAuctionOffchain.Contract.Types.Plutus.StandingBidState import Prelude -import Contract.Config (NetworkId) +import Cardano.Types (NetworkId) +import Cardano.Types.BigNum (add) as BigNum import Contract.PlutusData (class FromData, class ToData) import Contract.Value (CurrencySymbol) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Generic.Rep (class Generic) -import Data.Maybe (Maybe(Just, Nothing)) +import Data.Maybe (Maybe(Just, Nothing), maybe) import Data.Newtype (class Newtype, unwrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) @@ -76,4 +77,5 @@ validateStartingBid auctionTerms newTerms = validateBidIncrement :: AuctionTerms -> BidTerms -> BidTerms -> Boolean validateBidIncrement auctionTerms oldTerms newTerms = - (unwrap oldTerms).price + (unwrap auctionTerms).minBidIncrement <= (unwrap newTerms).price + maybe false (_ <= (unwrap newTerms).price) $ + BigNum.add (unwrap oldTerms).price (unwrap auctionTerms).minBidIncrement diff --git a/src/Contract/Types/Scripts.purs b/src/Contract/Types/Scripts.purs index d25ecc8..0958a74 100644 --- a/src/Contract/Types/Scripts.purs +++ b/src/Contract/Types/Scripts.purs @@ -11,7 +11,6 @@ import Contract.Scripts (ScriptHash) import Data.Generic.Rep (class Generic) import Data.Newtype (class Newtype) import Data.Show.Generic (genericShow) -import Ply.Typename (class PlyTypeName) ---------------------------------------------------------------------- -- AuctionEscrow @@ -25,9 +24,6 @@ derive newtype instance ToData AuctionEscrowScriptHash instance Show AuctionEscrowScriptHash where show = genericShow -instance PlyTypeName AuctionEscrowScriptHash where - plyTypeName _ = "HydraAuctionOnchain.Types.Scripts:AuctionEscrowScriptHash" - ---------------------------------------------------------------------- -- StandingBid @@ -40,9 +36,6 @@ derive newtype instance ToData StandingBidScriptHash instance Show StandingBidScriptHash where show = genericShow -instance PlyTypeName StandingBidScriptHash where - plyTypeName _ = "HydraAuctionOnchain.Types.Scripts:StandingBidScriptHash" - ---------------------------------------------------------------------- -- FeeEscrow @@ -54,6 +47,3 @@ derive newtype instance ToData FeeEscrowScriptHash instance Show FeeEscrowScriptHash where show = genericShow - -instance PlyTypeName FeeEscrowScriptHash where - plyTypeName _ = "HydraAuctionOnchain.Types.Scripts:FeeEscrowScriptHash" diff --git a/src/Contract/Validators/AlwaysSucceeds.purs b/src/Contract/Validators/AlwaysSucceeds.purs index b0960d7..7df8daf 100644 --- a/src/Contract/Validators/AlwaysSucceeds.purs +++ b/src/Contract/Validators/AlwaysSucceeds.purs @@ -4,17 +4,16 @@ module HydraAuctionOffchain.Contract.Validators.AlwaysSucceeds import Contract.Prelude +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (Validator(Validator)) -import Contract.TextEnvelope (decodeTextEnvelope, plutusScriptV2FromEnvelope) -import Control.Monad.Error.Class (liftMaybe) -import Effect.Exception (error) +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import alwaysSucceedsValidator :: String -mkAlwaysSucceedsValidator :: Contract Validator +mkAlwaysSucceedsValidator :: Contract PlutusScript mkAlwaysSucceedsValidator = - Validator <$> - liftMaybe (error "Error decoding alwaysSucceedsValidator") do - envelope <- decodeTextEnvelope alwaysSucceedsValidator - plutusScriptV2FromEnvelope envelope + decodeApplyScript + { scriptEnvelope: alwaysSucceedsValidator + , scriptName: "AlwaysSucceedsValidator" + , args: mempty + } diff --git a/src/Contract/Validators/AuctionEscrow.purs b/src/Contract/Validators/AuctionEscrow.purs index 0d544bb..6c87c26 100644 --- a/src/Contract/Validators/AuctionEscrow.purs +++ b/src/Contract/Validators/AuctionEscrow.purs @@ -4,43 +4,30 @@ module HydraAuctionOffchain.Contract.Validators.AuctionEscrow import Prelude +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (Validator) +import Contract.PlutusData (toData) import Contract.Value (CurrencySymbol) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms (AuctionTerms) import HydraAuctionOffchain.Contract.Types.Scripts (FeeEscrowScriptHash, StandingBidScriptHash) -import HydraAuctionOffchain.Helpers (liftEitherShow) -import HydraAuctionOffchain.Lib.Script (reifyScript) -import Ply.Apply ((#!), (##)) -import Ply.TypeList (Cons, Nil) as Ply -import Ply.Types (AsData, TypedScript, ValidatorRole) -import Ply.Types (toValidator) as Ply +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import auctionEscrowValidator :: String -type AuctionEscrowValidator = - TypedScript - ValidatorRole - ( Ply.Cons (AsData StandingBidScriptHash) - ( Ply.Cons (AsData FeeEscrowScriptHash) - ( Ply.Cons (AsData CurrencySymbol) - ( Ply.Cons (AsData AuctionTerms) Ply.Nil - ) - ) - ) - ) - mkAuctionEscrowValidator :: StandingBidScriptHash -> FeeEscrowScriptHash -> CurrencySymbol -> AuctionTerms - -> Contract Validator -mkAuctionEscrowValidator standingBidSh feeEscrowSh auctionCs auctionTerms = do - (reifiedValidator :: AuctionEscrowValidator) <- reifyScript auctionEscrowValidator - liftEitherShow $ Ply.toValidator <$> - reifiedValidator - ## standingBidSh - #! feeEscrowSh - #! auctionCs - #! auctionTerms + -> Contract PlutusScript +mkAuctionEscrowValidator standingBidSh feeEscrowSh auctionCs auctionTerms = + decodeApplyScript + { scriptEnvelope: auctionEscrowValidator + , scriptName: "AuctionEscrowValidator" + , args: + [ toData standingBidSh + , toData feeEscrowSh + , toData auctionCs + , toData auctionTerms + ] + } diff --git a/src/Contract/Validators/AuctionMetadata.purs b/src/Contract/Validators/AuctionMetadata.purs index 251eb21..2046b11 100644 --- a/src/Contract/Validators/AuctionMetadata.purs +++ b/src/Contract/Validators/AuctionMetadata.purs @@ -2,11 +2,18 @@ module HydraAuctionOffchain.Contract.Validators.AuctionMetadata ( mkAuctionMetadataValidator ) where +import Prelude + +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (Validator) -import HydraAuctionOffchain.Lib.Script (reifySimpleValidator) +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import auctionMetadataValidator :: String -mkAuctionMetadataValidator :: Contract Validator -mkAuctionMetadataValidator = reifySimpleValidator auctionMetadataValidator +mkAuctionMetadataValidator :: Contract PlutusScript +mkAuctionMetadataValidator = + decodeApplyScript + { scriptEnvelope: auctionMetadataValidator + , scriptName: "AuctionMetadataValidator" + , args: mempty + } diff --git a/src/Contract/Validators/AuctionValidators.purs b/src/Contract/Validators/AuctionValidators.purs index b59c251..43097ee 100644 --- a/src/Contract/Validators/AuctionValidators.purs +++ b/src/Contract/Validators/AuctionValidators.purs @@ -11,8 +11,10 @@ module HydraAuctionOffchain.Contract.Validators.AuctionValidators import Prelude +import Cardano.Types (PlutusScript) +import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Monad (Contract) -import Contract.Scripts (Validator, validatorHash) +import Contract.Scripts (validatorHash) import Contract.Value (CurrencySymbol) import Control.Monad.Except (ExceptT) import Control.Monad.Trans.Class (lift) @@ -66,22 +68,22 @@ mkAuctionValidatorsErrorCodec = mkAuctionValidators :: CurrencySymbol -> AuctionTerms - -> ExceptT MkAuctionValidatorsError Contract (AuctionValidators Validator) + -> ExceptT MkAuctionValidatorsError Contract (AuctionValidators PlutusScript) mkAuctionValidators auctionCs auctionTerms = do feeEscrow <- lift mkAlwaysSucceedsValidator standingBid <- mkStandingBidValidator auctionCs auctionTerms !* MkStandingBidValidatorError let - standingBidSh = StandingBidScriptHash $ unwrap $ validatorHash standingBid + standingBidSh = StandingBidScriptHash $ PlutusScript.hash standingBid mkAuctionEscrow = mkAuctionEscrowValidator standingBidSh - (FeeEscrowScriptHash $ unwrap $ validatorHash feeEscrow) + (FeeEscrowScriptHash $ PlutusScript.hash feeEscrow) auctionCs auctionTerms auctionEscrow <- mkAuctionEscrow !* MkAuctionEscrowValidatorError let mkBidderDeposit = mkBidderDepositValidator standingBidSh - (AuctionEscrowScriptHash $ unwrap $ validatorHash auctionEscrow) + (AuctionEscrowScriptHash $ PlutusScript.hash auctionEscrow) auctionCs auctionTerms bidderDeposit <- mkBidderDeposit !* MkBidderDepositValidatorError diff --git a/src/Contract/Validators/BidderDeposit.purs b/src/Contract/Validators/BidderDeposit.purs index a58b94d..efb5916 100644 --- a/src/Contract/Validators/BidderDeposit.purs +++ b/src/Contract/Validators/BidderDeposit.purs @@ -4,46 +4,33 @@ module HydraAuctionOffchain.Contract.Validators.BidderDeposit import Prelude +import Cardano.ToData (toData) +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (Validator) import Contract.Value (CurrencySymbol) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms (AuctionTerms) import HydraAuctionOffchain.Contract.Types.Scripts ( AuctionEscrowScriptHash , StandingBidScriptHash ) -import HydraAuctionOffchain.Helpers (liftEitherShow) -import HydraAuctionOffchain.Lib.Script (reifyScript) -import Ply.Apply ((#!), (##)) -import Ply.TypeList (Cons, Nil) as Ply -import Ply.Types (AsData, TypedScript, ValidatorRole) -import Ply.Types (toValidator) as Ply +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import bidderDepositValidator :: String -type BidderDepositValidator = - TypedScript - ValidatorRole - ( Ply.Cons (AsData StandingBidScriptHash) - ( Ply.Cons (AsData AuctionEscrowScriptHash) - ( Ply.Cons (AsData CurrencySymbol) - ( Ply.Cons (AsData AuctionTerms) Ply.Nil - ) - ) - ) - ) - mkBidderDepositValidator :: StandingBidScriptHash -> AuctionEscrowScriptHash -> CurrencySymbol -> AuctionTerms - -> Contract Validator -mkBidderDepositValidator standingBidSh auctionEscrowSh auctionCs auctionTerms = do - (reifiedValidator :: BidderDepositValidator) <- reifyScript bidderDepositValidator - liftEitherShow $ Ply.toValidator <$> - reifiedValidator - ## standingBidSh - #! auctionEscrowSh - #! auctionCs - #! auctionTerms + -> Contract PlutusScript +mkBidderDepositValidator standingBidSh auctionEscrowSh auctionCs auctionTerms = + decodeApplyScript + { scriptEnvelope: bidderDepositValidator + , scriptName: "BidderDepositValidator" + , args: + [ toData standingBidSh + , toData auctionEscrowSh + , toData auctionCs + , toData auctionTerms + ] + } diff --git a/src/Contract/Validators/StandingBid.purs b/src/Contract/Validators/StandingBid.purs index bd084c9..d506516 100644 --- a/src/Contract/Validators/StandingBid.purs +++ b/src/Contract/Validators/StandingBid.purs @@ -4,31 +4,23 @@ module HydraAuctionOffchain.Contract.Validators.StandingBid import Prelude +import Cardano.ToData (toData) +import Cardano.Types (PlutusScript) import Contract.Monad (Contract) -import Contract.Scripts (Validator) import Contract.Value (CurrencySymbol) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms (AuctionTerms) import HydraAuctionOffchain.Helpers (liftEitherShow) -import HydraAuctionOffchain.Lib.Script (reifyScript) -import Ply.Apply ((#!), (##)) -import Ply.TypeList (Cons, Nil) as Ply -import Ply.Types (AsData, TypedScript, ValidatorRole) -import Ply.Types (toValidator) as Ply +import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import standingBidValidator :: String -type StandingBidValidator = - TypedScript - ValidatorRole - ( Ply.Cons (AsData CurrencySymbol) - ( Ply.Cons (AsData AuctionTerms) Ply.Nil - ) - ) - -mkStandingBidValidator :: CurrencySymbol -> AuctionTerms -> Contract Validator -mkStandingBidValidator auctionCs auctionTerms = do - (reifiedValidator :: StandingBidValidator) <- reifyScript standingBidValidator - liftEitherShow $ Ply.toValidator <$> - reifiedValidator - ## auctionCs - #! auctionTerms +mkStandingBidValidator :: CurrencySymbol -> AuctionTerms -> Contract PlutusScript +mkStandingBidValidator auctionCs auctionTerms = + decodeApplyScript + { scriptEnvelope: standingBidValidator + , scriptName: "StandingBidValidator" + , args: + [ toData auctionCs + , toData auctionTerms + ] + } diff --git a/src/Helpers.purs b/src/Helpers.purs index 79148c4..2ffaea8 100644 --- a/src/Helpers.purs +++ b/src/Helpers.purs @@ -12,30 +12,27 @@ module HydraAuctionOffchain.Helpers , randomElem , tokenNameFromAsciiUnsafe , waitSeconds - , withEmptyPlutusV2Script - , withoutRefScript , (!*) ) where import Prelude +import Cardano.AsCbor (encodeCbor) +import Cardano.Types (Address, AssetName, ScriptHash(..)) +import Cardano.Types.AssetName (mkAssetName, unAssetName) +import Contract.CborBytes (cborBytesToHex) import Contract.Monad (Contract) -import Contract.PlutusData (class FromData, Datum(Datum), OutputDatum(OutputDatum), fromData) +import Contract.PlutusData (class FromData, OutputDatum(OutputDatum), fromData) import Contract.Prim.ByteArray (byteArrayFromAscii, byteArrayToHex) import Contract.Scripts (PlutusScript(PlutusScript)) import Contract.Time (POSIXTime) -import Contract.Transaction - ( Language(PlutusV2) - , ScriptRef(PlutusScriptRef) - , TransactionOutput - , TransactionOutputWithRefScript - ) +import Contract.Transaction (ScriptRef(PlutusScriptRef), TransactionOutput) import Contract.Utxos (utxosAt) -import Contract.Value (CurrencySymbol, TokenName, getCurrencySymbol, mkTokenName) +import Contract.Value (CurrencySymbol, TokenName) import Control.Error.Util (hush, (!?)) import Control.Monad.Error.Class (class MonadError, class MonadThrow, liftEither, try) import Control.Monad.Except (ExceptT) -import Ctl.Internal.Plutus.Types.Address (class PlutusAddress) +import Data.Array (fromFoldable) as Array import Data.Array (unsafeIndex) import Data.Bifunctor (lmap) import Data.DateTime (DateTime) @@ -43,7 +40,7 @@ import Data.DateTime.Instant (instant, toDateTime, unInstant) import Data.Either (Either) import Data.Foldable (length) import Data.Int (toNumber) as Int -import Data.Map (toUnfoldable) as Map +import Data.Map (toUnfoldable, values) as Map import Data.Maybe (Maybe(Just, Nothing), fromJust, fromMaybe') import Data.Newtype (unwrap, wrap) import Data.Time.Duration (class Duration, Seconds(Seconds), fromDuration) @@ -68,9 +65,10 @@ dateTimeFromPosixTimeUnsafe = <<< BigInt.toNumber <<< unwrap -tokenNameFromAsciiUnsafe :: String -> TokenName +tokenNameFromAsciiUnsafe :: String -> AssetName tokenNameFromAsciiUnsafe tokenName = - unsafePartial fromJust $ mkTokenName =<< byteArrayFromAscii tokenName + fromJustWithErr "tokenNameFromAsciiUnsafe" + (mkAssetName =<< byteArrayFromAscii tokenName) liftEitherShow :: forall m e a. MonadThrow Error m => Show e => Either e a -> m a liftEitherShow = liftEither <<< lmap (error <<< show) @@ -89,13 +87,11 @@ errV x error = if x then pure unit else invalid [ error ] getInlineDatum :: forall datum. FromData datum => TransactionOutput -> Maybe datum getInlineDatum txOut = case (unwrap txOut).datum of - OutputDatum (Datum plutusData) -> fromData plutusData + Just (OutputDatum plutusData) -> fromData plutusData _ -> Nothing -getTxOutsAt :: forall addr. PlutusAddress addr => addr -> Contract (Array TransactionOutput) -getTxOutsAt = - map (map (_.output <<< unwrap <<< snd) <<< Map.toUnfoldable) - <<< utxosAt +getTxOutsAt :: Address -> Contract (Array TransactionOutput) +getTxOutsAt = map (Array.fromFoldable <<< Map.values) <<< utxosAt mkPosixTimeUnsafe :: forall (a :: Type). Duration a => a -> POSIXTime mkPosixTimeUnsafe dur = @@ -113,21 +109,5 @@ randomElem xs = waitSeconds :: forall m. MonadAff m => Int -> m Unit waitSeconds seconds = liftAff $ delay $ fromDuration $ Seconds $ Int.toNumber seconds -withoutRefScript :: TransactionOutput -> TransactionOutputWithRefScript -withoutRefScript output = wrap - { output - , scriptRef: Nothing - } - -withEmptyPlutusV2Script :: TransactionOutput -> TransactionOutputWithRefScript -withEmptyPlutusV2Script output = wrap - { output - , scriptRef: Just scriptRefEmpty - } - where - scriptRefEmpty :: ScriptRef - scriptRefEmpty = - PlutusScriptRef $ PlutusScript (mempty /\ PlutusV2) - -csToHex :: CurrencySymbol -> String -csToHex = byteArrayToHex <<< getCurrencySymbol +csToHex :: ScriptHash -> String +csToHex = cborBytesToHex <<< encodeCbor diff --git a/src/Lib/Cardano/Address.purs b/src/Lib/Cardano/Address.purs new file mode 100644 index 0000000..9b8c078 --- /dev/null +++ b/src/Lib/Cardano/Address.purs @@ -0,0 +1,27 @@ +module HydraAuctionOffchain.Lib.Cardano.Address + ( scriptHashAddress + , toPubKeyHash + ) where + +import Prelude + +import Cardano.Types + ( Address + , Credential(ScriptHashCredential) + , Ed25519KeyHash + , NetworkId + , ScriptHash + ) +import Cardano.Types.Address (getPaymentCredential, mkPaymentAddress) +import Cardano.Types.Credential (asPubKeyHash) +import Data.Maybe (Maybe(Nothing)) +import Data.Newtype (unwrap, wrap) + +toPubKeyHash :: Address -> Maybe Ed25519KeyHash +toPubKeyHash = asPubKeyHash <<< unwrap <=< getPaymentCredential + +scriptHashAddress :: NetworkId -> ScriptHash -> Address +scriptHashAddress network scriptHash = + mkPaymentAddress network + (wrap $ ScriptHashCredential scriptHash) + Nothing diff --git a/src/Lib/Codec.purs b/src/Lib/Codec.purs index 9797ab9..17985a3 100644 --- a/src/Lib/Codec.purs +++ b/src/Lib/Codec.purs @@ -13,6 +13,7 @@ module HydraAuctionOffchain.Lib.Codec import Prelude +import Cardano.Types (AssetName, BigNum) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (TransactionHash) import Contract.Value (TokenName) @@ -53,10 +54,11 @@ import Data.Variant (Variant) import Data.Variant (inj, prj) as Variant import Foreign.Object (delete, fromHomogeneous, lookup, member, size, union) as Obj import HydraAuctionOffchain.Codec - ( bigIntCodec + ( assetNameCodec + , bigIntCodec + , bigNumCodec , byteArrayCodec - , tokenNameCodec - , transactionHashCodec + , txHashCodec ) import HydraAuctionOffchain.Helpers (fromJustWithErr) import JS.BigInt (BigInt) @@ -197,11 +199,14 @@ instance HasJson a p => HasJson (Maybe a) p where instance HasJson BigInt anyParams where jsonCodec _ = const bigIntCodec +instance HasJson BigNum anyParams where + jsonCodec _ = const bigNumCodec + instance HasJson ByteArray anyParams where jsonCodec _ = const byteArrayCodec instance HasJson TransactionHash anyParams where - jsonCodec _ = const transactionHashCodec + jsonCodec _ = const txHashCodec -instance HasJson TokenName anyParams where - jsonCodec _ = const tokenNameCodec +instance HasJson AssetName anyParams where + jsonCodec _ = const assetNameCodec diff --git a/src/Lib/Cose.purs b/src/Lib/Cose.purs index 14867ff..a20954f 100644 --- a/src/Lib/Cose.purs +++ b/src/Lib/Cose.purs @@ -5,11 +5,9 @@ module HydraAuctionOffchain.Lib.Cose import Prelude -import Contract.Address (Address) -import Contract.Config (NetworkId) +import Cardano.AsCbor (encodeCbor) +import Cardano.Types (Address, NetworkId) import Contract.Prim.ByteArray (ByteArray, CborBytes) -import Ctl.Internal.Plutus.Conversion (fromPlutusAddress) -import Ctl.Internal.Serialization (toBytes) import Effect (Effect) foreign import getCoseSign1Signature :: ByteArray -> Effect ByteArray @@ -24,13 +22,13 @@ foreign import newHeaderMap :: Effect HeaderMap foreign import setAlgHeaderToEdDsa :: HeaderMap -> Effect Unit foreign import setAddressHeader :: CborBytes -> HeaderMap -> Effect Unit -mkSigStructure :: NetworkId -> Address -> ByteArray -> Effect ByteArray -mkSigStructure network address payload = +mkSigStructure :: Address -> ByteArray -> Effect ByteArray +mkSigStructure address payload = newSigStructure payload <$> headers where headers :: Effect ProtectedHeaderMap headers = do headerMap <- newHeaderMap setAlgHeaderToEdDsa headerMap - setAddressHeader (toBytes $ fromPlutusAddress network address) headerMap + setAddressHeader (encodeCbor address) headerMap pure $ newProtectedHeaderMap headerMap diff --git a/src/Lib/Crypto.purs b/src/Lib/Crypto.purs index 3f1d7e2..d8b5c21 100644 --- a/src/Lib/Crypto.purs +++ b/src/Lib/Crypto.purs @@ -5,15 +5,14 @@ module HydraAuctionOffchain.Lib.Crypto import Prelude -import Contract.Address (PubKeyHash) -import Contract.Hashing (blake2b224Hash) +import Cardano.Types (Ed25519KeyHash) +import Cardano.Types.PublicKey (fromRawBytes, hash) as PublicKey import Contract.Prim.ByteArray (ByteArray) -import Ctl.Internal.Serialization.Hash (ed25519KeyHashFromBytes) import Data.Maybe (Maybe) import Data.Newtype (wrap) import Effect (Effect) foreign import verifySignature :: ByteArray -> ByteArray -> ByteArray -> Effect Boolean -hashVk :: ByteArray -> Maybe PubKeyHash -hashVk = map wrap <<< ed25519KeyHashFromBytes <<< blake2b224Hash +hashVk :: ByteArray -> Maybe Ed25519KeyHash +hashVk = map PublicKey.hash <<< PublicKey.fromRawBytes <<< wrap diff --git a/src/Lib/Plutus/Address.purs b/src/Lib/Plutus/Address.purs new file mode 100644 index 0000000..a2c851a --- /dev/null +++ b/src/Lib/Plutus/Address.purs @@ -0,0 +1,17 @@ +module HydraAuctionOffchain.Lib.Plutus.Address + ( toPubKeyHash + ) where + +import Prelude + +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Credential (Credential(PubKeyCredential)) as Plutus +import Cardano.Plutus.Types.PubKeyHash (PubKeyHash) as Plutus +import Data.Maybe (Maybe(Just, Nothing)) +import Data.Newtype (unwrap) + +toPubKeyHash :: Plutus.Address -> Maybe Plutus.PubKeyHash +toPubKeyHash addr = + case (unwrap addr).addressCredential of + Plutus.PubKeyCredential pkh -> Just pkh + _ -> Nothing diff --git a/src/Lib/Script.purs b/src/Lib/Script.purs index 5528450..5e8c4c0 100644 --- a/src/Lib/Script.purs +++ b/src/Lib/Script.purs @@ -1,31 +1,32 @@ module HydraAuctionOffchain.Lib.Script - ( reifyScript - , reifySimpleValidator + ( decodeApplyScript ) where import Prelude -import Aeson (decodeJsonString) as Aeson -import Contract.Scripts (Validator) -import Control.Monad.Error.Class (class MonadThrow) -import Effect.Exception (Error) -import HydraAuctionOffchain.Helpers (liftEitherShow) -import Ply.Reify (class ReifyParams, class ReifyRole) -import Ply.Reify (reifyTypedScript) as Ply -import Ply.TypeList (TyList) -import Ply.Types (ScriptRole, TypedScript) -import Ply.Types (toValidator) as Ply +import Cardano.Plutus.ApplyArgs (applyArgs) +import Cardano.Types (PlutusData, PlutusScript) +import Contract.TextEnvelope (decodeTextEnvelope, plutusScriptFromEnvelope) +import Control.Monad.Error.Class (class MonadThrow, liftEither, liftMaybe) +import Data.Bifunctor (lmap) +import Effect.Exception (Error, error) -reifySimpleValidator :: forall m. MonadThrow Error m => String -> m Validator -reifySimpleValidator = map Ply.toValidator <<< reifyScript - -reifyScript - :: forall (m :: Type -> Type) (role :: ScriptRole) (params :: TyList Type) +decodeApplyScript + :: forall (m :: Type -> Type) (t :: Type) . MonadThrow Error m - => ReifyRole role - => ReifyParams params - => String - -> m (TypedScript role params) -reifyScript jsonStr = do - raw <- liftEitherShow $ Aeson.decodeJsonString jsonStr - liftEitherShow $ Ply.reifyTypedScript raw + => { scriptEnvelope :: String + , scriptName :: String + , args :: Array PlutusData + } + -> m PlutusScript +decodeApplyScript { scriptEnvelope, scriptName, args } = do + script <- + liftMaybe (error $ "Could not decode " <> scriptName <> " envelope") do + plutusScriptFromEnvelope + =<< decodeTextEnvelope scriptEnvelope + case args of + [] -> pure script + _ -> + liftEither $ + lmap (error <<< append ("Could not apply args to " <> scriptName <> ": ")) + (applyArgs script args) diff --git a/src/Lib/ToData.purs b/src/Lib/ToData.purs new file mode 100644 index 0000000..47d238b --- /dev/null +++ b/src/Lib/ToData.purs @@ -0,0 +1,12 @@ +module HydraAuctionOffchain.Lib.ToData + ( serializeData + ) where + +import Prelude + +import Cardano.AsCbor (encodeCbor) +import Cardano.ToData (class ToData, toData) +import Cardano.Types (CborBytes) + +serializeData :: forall a. ToData a => a -> CborBytes +serializeData = encodeCbor <<< toData diff --git a/src/Types/ContractConfig.purs b/src/Types/ContractConfig.purs index 278e7b1..60a2188 100644 --- a/src/Types/ContractConfig.purs +++ b/src/Types/ContractConfig.purs @@ -1,16 +1,16 @@ module HydraAuctionOffchain.Types.ContractConfig ( ContractConfig(ContractConfig, ContractConfigPlutipEnv) , contractConfigCodec + , localnetConfig , mkContractParams - , plutipConfig ) where import Prelude +import Cardano.Types (NetworkId(MainnetId)) import Contract.Config ( ContractParams , LogLevel(Trace) - , NetworkId(MainnetId) , PrivatePaymentKeySource(PrivatePaymentKeyValue) , QueryBackendParams , WalletSpec(UseKeys) @@ -21,7 +21,7 @@ import Contract.Config , mkCtlBackendParams , strictSynchronizationParams ) -import Contract.Test.Plutip (PlutipConfig) +import Contract.Test.Testnet (Era(Conway), TestnetConfig) import Data.Codec.Argonaut (JsonCodec, object, string) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR @@ -124,7 +124,7 @@ mkContractParams config = } ContractConfigPlutipEnv rec -> mkCtlBackendParams - { ogmiosConfig: plutipConfig.ogmiosConfig + { ogmiosConfig: localnetConfig.ogmiosConfig , kupoConfig: { port: rec.demoHostPort.port , host: rec.demoHostPort.host @@ -153,14 +153,12 @@ mkContractParams config = , secure: false , path: Nothing } - queryPlutipEnvPrivateKey plutipEnvServerConfig - <#> flip UseKeys Nothing <<< PrivatePaymentKeyValue + payKey <- queryPlutipEnvPrivateKey plutipEnvServerConfig + pure $ UseKeys (PrivatePaymentKeyValue payKey) Nothing Nothing -plutipConfig :: PlutipConfig -plutipConfig = - { host: "127.0.0.1" - , port: UInt.fromInt 8082 - , logLevel: Trace +localnetConfig :: TestnetConfig +localnetConfig = + { logLevel: Trace , ogmiosConfig: { port: UInt.fromInt 1338 , host: "127.0.0.1" @@ -177,9 +175,9 @@ plutipConfig = , customLogger: Nothing , hooks: emptyHooks , clusterConfig: - { slotLength: Seconds 0.1 + { testnetMagic: 2 + , era: Conway + , slotLength: Seconds 0.1 , epochSize: Just $ UInt.fromInt 4320000 - , maxTxSize: Just $ UInt.fromInt 16384 - , raiseExUnitsToMax: false } } diff --git a/src/Types/Network.purs b/src/Types/Network.purs index 1f01be6..990c0dc 100644 --- a/src/Types/Network.purs +++ b/src/Types/Network.purs @@ -7,9 +7,9 @@ module HydraAuctionOffchain.Types.Network import Prelude +import Cardano.Types (NetworkId(TestnetId, MainnetId)) import Contract.Config - ( NetworkId(TestnetId, MainnetId) - , ServerConfig + ( ServerConfig , blockfrostPublicMainnetServerConfig , blockfrostPublicPreprodServerConfig , blockfrostPublicPreviewServerConfig diff --git a/src/Types/WalletApp.purs b/src/Types/WalletApp.purs index 9418851..0b2dc64 100644 --- a/src/Types/WalletApp.purs +++ b/src/Types/WalletApp.purs @@ -1,39 +1,42 @@ module HydraAuctionOffchain.Types.WalletApp - ( WalletApp(Nami, Gero, Flint, Eternl, Lode, NuFi, Lace) + ( WalletApp(WalletApp) , walletAppCodec , walletSpecFromWalletApp ) where import Prelude -import Contract.Config - ( WalletSpec - ( ConnectToNami - , ConnectToGero - , ConnectToFlint - , ConnectToEternl - , ConnectToLode - , ConnectToNuFi - , ConnectToLace - ) - ) +import Contract.Config (WalletSpec(ConnectToGenericCip30)) +import Contract.Wallet (KnownWallet(Nami, Gero, Flint, Eternl, Lode, Lace, NuFi), walletName) import Data.Codec.Argonaut (JsonCodec, prismaticCodec, string) as CA import Data.Generic.Rep (class Generic) import Data.Maybe (Maybe(Just, Nothing)) +import Data.Newtype (class Newtype, unwrap, wrap) import Data.Show.Generic (genericShow) import Data.String.Read (class Read, read) import HydraAuctionOffchain.Lib.Codec (class HasJson) -data WalletApp = Nami | Gero | Flint | Eternl | Lode | NuFi | Lace +newtype WalletApp = WalletApp KnownWallet derive instance Generic WalletApp _ -derive instance Eq WalletApp +derive instance Newtype WalletApp _ +-- FIXME: add Eq instance for KnownWallet upstream +-- derive instance Eq WalletApp + +-- FIXME: add Show instance for KnownWallet upstream instance Show WalletApp where - show = genericShow + show = unwrap >>> case _ of + Nami -> "Nami" + Gero -> "Gero" + Flint -> "Flint" + Eternl -> "Eternl" + Lode -> "Lode" + NuFi -> "NuFi" + Lace -> "Lace" instance Read WalletApp where - read = case _ of + read = map wrap <<< case _ of "Nami" -> Just Nami "Gero" -> Just Gero "Flint" -> Just Flint @@ -50,11 +53,7 @@ walletAppCodec :: CA.JsonCodec WalletApp walletAppCodec = CA.prismaticCodec "WalletApp" read show CA.string walletSpecFromWalletApp :: WalletApp -> WalletSpec -walletSpecFromWalletApp = case _ of - Nami -> ConnectToNami - Gero -> ConnectToGero - Flint -> ConnectToFlint - Eternl -> ConnectToEternl - Lode -> ConnectToLode - NuFi -> ConnectToNuFi - Lace -> ConnectToLace +walletSpecFromWalletApp walletApp = + ConnectToGenericCip30 (walletName $ unwrap walletApp) + { cip95: false + } diff --git a/src/Wallet.purs b/src/Wallet.purs index 05d1d76..9e1759c 100644 --- a/src/Wallet.purs +++ b/src/Wallet.purs @@ -18,7 +18,9 @@ module HydraAuctionOffchain.Wallet import Prelude -import Contract.Address (Address, PubKeyHash, getNetworkId, toPubKeyHash) +import Cardano.Types (Address, Ed25519KeyHash) +import Cardano.Types.Address (getPaymentCredential) +import Cardano.Types.Credential (asPubKeyHash) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray, CborBytes, byteArrayFromAscii) import Contract.Wallet (getWalletAddress, signData) @@ -26,8 +28,6 @@ import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, throwError) import Control.Monad.State.Trans (lift) import Ctl.Internal.FfiHelpers (MaybeFfiHelper, maybeFfiHelper) -import Ctl.Internal.Plutus.Conversion (fromPlutusAddress) -import Ctl.Internal.Plutus.Types.Address (getAddress) import Data.Generic.Rep (class Generic) import Data.Maybe (Maybe(Just), fromJust) import Data.Newtype (unwrap, wrap) @@ -48,7 +48,7 @@ type SignMessageResult = { signature :: ByteArray -- actual signature, not COSESign1 structure , vkey :: VerificationKey , address :: Address - , pkh :: PubKeyHash + , pkh :: Ed25519KeyHash } data SignMessageError @@ -86,12 +86,10 @@ askWalletVk' extraMessage = signMessage :: ByteArray -> ExceptT SignMessageError Contract SignMessageResult signMessage payload = do -- Get wallet address: - addrPlutus <- getWalletAddress !? CouldNotGetWalletAddressError - network <- lift getNetworkId - let addr = fromPlutusAddress network addrPlutus + address <- getWalletAddress !? CouldNotGetWalletAddressError -- Sign data, extract vkey and signature: - { key, signature: coseSign1 } <- lift $ signData addr (wrap payload) + { key, signature: coseSign1 } <- lift $ signData address (wrap payload) signature <- liftEffect (getCoseSign1Signature $ unwrap coseSign1) !* CouldNotGetSigFromCoseSign1Error coseKey <- liftEffect (fromBytesCoseKey key) !* CouldNotDecodeCoseKeyError @@ -100,11 +98,12 @@ signMessage payload = do let vkeyBytes' = vkeyBytes vkey -- Check `pkh == hash vkey`: - pkh <- toPubKeyHash (getAddress addrPlutus) ?? CouldNotGetWalletPubKeyHashError + pkh <- (asPubKeyHash <<< unwrap =<< getPaymentCredential address) + ?? CouldNotGetWalletPubKeyHashError when (Just pkh /= hashVk vkeyBytes') $ throwError VkPkhMismatchError -- Verify signature: - sigStruct <- liftEffect (mkSigStructure network addrPlutus payload) + sigStruct <- liftEffect (mkSigStructure address payload) !* CouldNotBuildSigStructError success <- liftEffect (verifySignature vkeyBytes' sigStruct signature) !* CouldNotVerifySignatureError @@ -114,5 +113,5 @@ signMessage payload = do { signature , vkey , pkh - , address: addrPlutus + , address } diff --git a/test/Contract/AnnounceAuction.purs b/test/Contract/AnnounceAuction.purs index e4d9d2a..2fd4af6 100644 --- a/test/Contract/AnnounceAuction.purs +++ b/test/Contract/AnnounceAuction.purs @@ -7,17 +7,22 @@ module Test.Contract.AnnounceAuction import Contract.Prelude +import Cardano.Plutus.Types.Value (fromCardano) as Plutus.Value +import Cardano.Types (Mint, ScriptHash, Value(Value)) +import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types.Int (one) as Cardano.Int +import Cardano.Types.Mint (singleton, toMultiAsset) as Mint +import Cardano.Types.PlutusScript (hash) as PlutusScript +import Cardano.Types.Value (singleton) as Value import Contract.Chain (currentTime) import Contract.Monad (Contract, liftedE) import Contract.ScriptLookups (ScriptLookups) -import Contract.ScriptLookups (mintingPolicy) as Lookups +import Contract.ScriptLookups (plutusMintingPolicy) as Lookups import Contract.Test (ContractTest, withKeyWallet, withWallets) import Contract.Test.Mote (TestPlanM) import Contract.Transaction (awaitTxConfirmed) import Contract.TxConstraints (TxConstraints) import Contract.TxConstraints (mustMintValue) as Constraints -import Contract.Value (CurrencySymbol, Value) -import Contract.Value (scriptCurrencySymbol, singleton) as Value import Control.Monad.Except (runExceptT) import Data.Newtype (wrap) import Data.Time.Duration (Seconds(Seconds)) @@ -51,7 +56,7 @@ announceAuction = announceAuctionFix identity announceAuctionFix :: AuctionTermsMutator -> Contract AnnounceAuctionContractResult announceAuctionFix fixAuctionTerms = do - auctionLotValue <- mintAuctionLot + auctionLotValue <- Plutus.Value.fromCardano <$> mintAuctionLot biddingStart <- currentTime <#> add (mkPosixTimeUnsafe $ Seconds 5.0) @@ -70,21 +75,21 @@ mintAuctionLot :: Contract Value mintAuctionLot = do alwaysMintsPolicy <- mkAlwaysMintsPolicy let - cs :: CurrencySymbol - cs = Value.scriptCurrencySymbol alwaysMintsPolicy + cs :: ScriptHash + cs = PlutusScript.hash alwaysMintsPolicy - auctionLotValue :: Value - auctionLotValue = Value.singleton cs auctionLotTokenNameFixture one + auctionLotValue :: Mint + auctionLotValue = Mint.singleton cs auctionLotTokenNameFixture Cardano.Int.one constraints :: TxConstraints constraints = Constraints.mustMintValue auctionLotValue lookups :: ScriptLookups - lookups = Lookups.mintingPolicy alwaysMintsPolicy + lookups = Lookups.plutusMintingPolicy alwaysMintsPolicy { txHash } <- submitTxReturningContractResult {} $ emptySubmitTxData { lookups = lookups , constraints = constraints } awaitTxConfirmed txHash - pure auctionLotValue + pure $ Value.singleton cs auctionLotTokenNameFixture BigNum.one diff --git a/test/Contract/EnterAuction.purs b/test/Contract/EnterAuction.purs index 46652d7..1c50c7b 100644 --- a/test/Contract/EnterAuction.purs +++ b/test/Contract/EnterAuction.purs @@ -7,6 +7,8 @@ module Test.Contract.EnterAuction import Contract.Prelude +import Cardano.Types (BigNum) +import Cardano.Types.BigNum (add, fromInt, toInt) as BigNum import Contract.Monad (Contract, liftedE) import Contract.Test (ContractTest, withKeyWallet, withWallets) import Contract.Test.Mote (TestPlanM) @@ -14,6 +16,7 @@ import Contract.Transaction (awaitTxConfirmed) import Control.Monad.Except (runExceptT) import HydraAuctionOffchain.Contract (mkEnterAuctionContractWithErrors) import HydraAuctionOffchain.Contract.Types (AuctionInfoExtended, ContractResult) +import HydraAuctionOffchain.Helpers (fromJustWithErr) import JS.BigInt (BigInt) import JS.BigInt (fromInt, toInt) as BigInt import Mote (group, test) @@ -40,7 +43,7 @@ suite = withKeyWallet bidder do void $ enterAuction auctionInfo depositAmount -enterAuction :: AuctionInfoExtended -> BigInt -> Contract ContractResult +enterAuction :: AuctionInfoExtended -> BigNum -> Contract ContractResult enterAuction auctionInfo depositAmount = liftedE $ runExceptT $ mkEnterAuctionContractWithErrors @@ -50,15 +53,16 @@ enterAuction auctionInfo depositAmount = } ) -genValidBidderDeposit :: AuctionInfoExtended -> Gen BigInt +genValidBidderDeposit :: AuctionInfoExtended -> Gen BigNum genValidBidderDeposit auctionInfo = do let minDepositAmount = (unwrap (unwrap auctionInfo).auctionTerms).minDepositAmount delta <- chooseInt zero 10_000_000 - pure $ minDepositAmount + BigInt.fromInt delta + pure $ fromJustWithErr "genValidBidderDeposit" $ BigNum.add minDepositAmount + (BigNum.fromInt delta) -genInvalidBidderDeposit :: AuctionInfoExtended -> Gen BigInt +genInvalidBidderDeposit :: AuctionInfoExtended -> Gen BigNum genInvalidBidderDeposit auctionInfo = do let minDepositAmount = (unwrap (unwrap auctionInfo).auctionTerms).minDepositAmount - upperBound = fromMaybe top $ BigInt.toInt minDepositAmount - BigInt.fromInt <$> chooseInt zero (upperBound - one) + upperBound = fromMaybe top $ BigNum.toInt minDepositAmount + BigNum.fromInt <$> chooseInt zero (upperBound - one) diff --git a/test/Contract/Fixtures.purs b/test/Contract/Fixtures.purs index 187a70f..0b6a7c8 100644 --- a/test/Contract/Fixtures.purs +++ b/test/Contract/Fixtures.purs @@ -8,24 +8,24 @@ module Test.Contract.Fixtures import Prelude -import Contract.Address (PubKeyHash) +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Types (AssetName, Ed25519KeyHash) +import Cardano.Types.BigNum (fromInt) import Contract.Time (POSIXTime) -import Contract.Value (TokenName, Value) import Data.Time.Duration (Seconds(Seconds)) import HydraAuctionOffchain.Contract.Types (AuctionTermsInput) import HydraAuctionOffchain.Helpers (mkPosixTimeUnsafe) -import JS.BigInt (fromInt) import Test.Helpers (mkPubKeyHashUnsafe, mkTokenNameAsciiUnsafe) -auctionLotTokenNameFixture :: TokenName +auctionLotTokenNameFixture :: AssetName auctionLotTokenNameFixture = mkTokenNameAsciiUnsafe "MonaLisa" -delegatePkhFixture :: PubKeyHash +delegatePkhFixture :: Ed25519KeyHash delegatePkhFixture = mkPubKeyHashUnsafe "ac55de689702d745e77050ce83b77ff9619383bb802e40fb90aa3be4" -auctionTermsInputFixture :: Value -> POSIXTime -> AuctionTermsInput +auctionTermsInputFixture :: Plutus.Value -> POSIXTime -> AuctionTermsInput auctionTermsInputFixture auctionLot biddingStart = { auctionLot , delegates: [ delegatePkhFixture ] diff --git a/test/Contract/PlaceBid.purs b/test/Contract/PlaceBid.purs index 7a120a3..8478633 100644 --- a/test/Contract/PlaceBid.purs +++ b/test/Contract/PlaceBid.purs @@ -5,6 +5,8 @@ module Test.Contract.PlaceBid import Contract.Prelude +import Cardano.Plutus.Types.Address (toCardano) as Plutus.Address +import Contract.Address (getNetworkId) import Contract.Monad (Contract, liftContractM, liftedE) import Contract.Prim.ByteArray (ByteArray) import Contract.Test (ContractTest, withKeyWallet, withWallets) @@ -77,11 +79,17 @@ initAuction seller bidder = do discoverSellerSignature :: AuctionInfoExtended -> Maybe VerificationKey -> Contract ByteArray discoverSellerSignature (AuctionInfoExtended auctionInfo) bidderVk = do + network <- getNetworkId + sellerAddress <- + liftContractM "Could not convert seller address to Cardano.Address." $ + Plutus.Address.toCardano + network + (unwrap auctionInfo.auctionTerms).sellerAddress sellerSignature <- liftedE $ runExceptT $ discoverSellerSignatureWithErrors ( wrap { auctionCs: auctionInfo.auctionId - , sellerAddress: (unwrap auctionInfo.auctionTerms).sellerAddress + , sellerAddress , bidderVk } ) diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 2e290b2..4f2a5c7 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -5,13 +5,21 @@ module Test.DelegateServer.Cluster import Prelude -import Contract.Address (PubKeyHash) -import Contract.Config (NetworkId(MainnetId), QueryBackendParams, mkCtlBackendParams) +import Cardano.Types + ( BigNum + , Ed25519KeyHash + , Language(PlutusV2) + , NetworkId(MainnetId) + , TransactionInput + ) +import Cardano.Types.Int (fromInt) as Cardano.Int +import Cardano.Types.PublicKey (hash) as PublicKey +import Cardano.Wallet.Key (KeyWallet(KeyWallet)) +import Contract.Config (QueryBackendParams, mkCtlBackendParams) import Contract.Hashing (publicKeyHash) import Contract.Monad (Contract, ContractEnv, liftContractM, liftedE, runContractInEnv) import Contract.Test (class UtxoDistribution, ContractTest(ContractTest)) -import Contract.Test.Plutip (PlutipConfig) -import Contract.Transaction (Language(PlutusV2), TransactionInput) +import Contract.Test.Testnet (TestnetConfig) import Contract.Wallet (PrivatePaymentKey) import Contract.Wallet.Key (publicKeyFromPrivateKey) import Contract.Wallet.KeyFile (privatePaymentKeyToFile) @@ -19,10 +27,7 @@ import Control.Monad.Except (throwError) import Control.Monad.Reader (ask, local) import Control.Parallel (parTraverse, parTraverse_) import Ctl.Internal.Helpers (concatPaths, (<>)) -import Ctl.Internal.Plutip.Types (ClusterStartupParameters) -import Ctl.Internal.Plutip.Utils (tmpdir) -import Ctl.Internal.Types.Int (fromInt) -import Ctl.Internal.Wallet.Key (KeyWallet(KeyWallet)) +import Ctl.Internal.Testnet.Utils (tmpdir) import Data.Array (concat, deleteAt, replicate) import Data.Array (fromFoldable) as Array import Data.Array.NonEmpty (NonEmptyArray) @@ -35,6 +40,7 @@ import Data.Log.Level (LogLevel(Info, Warn)) import Data.Map (singleton, values) as Map import Data.Maybe (Maybe(Nothing)) import Data.Newtype (modify, unwrap, wrap) +import Data.Traversable (traverse) import Data.TraversableWithIndex (traverseWithIndex) import Data.Tuple (snd) import Data.Tuple.Nested (type (/\), (/\)) @@ -57,7 +63,7 @@ import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Effect.Exception (error) import Effect.Unsafe (unsafePerformEffect) -import HydraAuctionOffchain.Codec (bigIntCodecNum) +import HydraAuctionOffchain.Codec (bigIntCodecNum, bigNumCodec) import HydraAuctionOffchain.Contract.Types ( AuctionInfoExtended , BidTerms @@ -80,7 +86,7 @@ import Test.Helpers , publicPaymentKeyToFile , unsafeHead ) -import Test.Plutip.Config (plutipConfig) +import Test.Localnet.Config (localnetConfig) import Test.QuickCheck.Gen (chooseInt, randomSampleOne) import Type.Proxy (Proxy(Proxy)) import URI.Port (toInt, unsafeFromInt) as Port @@ -98,7 +104,7 @@ withWallets' . UtxoDistribution distr wallets => distr -> ( wallets - -> Array PubKeyHash + -> Array Ed25519KeyHash -> (AuctionInfoExtended -> (TestAppHandle -> Contract Unit) -> Contract Unit) -> Contract Unit ) @@ -111,39 +117,45 @@ withWallets' distr tests = distrDelegates = concat $ replicate numDelegates [ defDistribution, defDistribution ] in - h (distr /\ distrDelegates) \mPlutipClusterParams (wallets /\ delegateWallets) -> do - contractEnv <- ask + h (distr /\ distrDelegates) \ {- mPlutipClusterParams -}(wallets /\ delegateWallets) -> + do + contractEnv <- ask + {- plutipClusterParams <- liftContractM "Could not get Plutip cluster params" mPlutipClusterParams - delegateWalletsGrouped <- - liftContractM "Expected even number of delegate wallets" - (chunksOf2 delegateWallets) - let - delegates = - delegateWalletsGrouped <#> \((KeyWallet kw) /\ _) -> - publicKeyHash $ publicKeyFromPrivateKey $ unwrap kw.paymentKey - tests wallets delegates \auctionInfo action -> do - auctionMetadataOref <- - liftContractM "Could not get auction metadata oref" - (unwrap auctionInfo).metadataOref - let - clusterConfig = - { auctionMetadataOref - , plutipClusterParams - , plutipConfig - } - peers = - fromJustWithErr "withWallets'" $ NEArray.fromArray $ - delegateWalletsGrouped <#> \(cardanoKw /\ walletKw) -> - { cardanoSk: (unwrap cardanoKw).paymentKey - , walletSk: (unwrap walletKw).paymentKey - } - liftAff $ withDelegateServerCluster - contractEnv - clusterConfig - peers - action + -} + delegateWalletsGrouped <- + liftContractM "Expected even number of delegate wallets" + (chunksOf2 delegateWallets) + delegates <- + liftAff $ traverse + ( \((KeyWallet kw) /\ _) -> + PublicKey.hash <<< publicKeyFromPrivateKey <<< unwrap <$> kw.paymentKey + ) + delegateWalletsGrouped + tests wallets delegates \auctionInfo action -> do + auctionMetadataOref <- + liftContractM "Could not get auction metadata oref" + (unwrap auctionInfo).metadataOref + let + clusterConfig = + { auctionMetadataOref + -- , plutipClusterParams + , localnetConfig + } + peers <- + liftAff $ traverse + ( \(cardanoKw /\ walletKw) -> + { cardanoSk: _, walletSk: _ } <$> (unwrap cardanoKw).paymentKey + <*> (unwrap walletKw).paymentKey + ) + delegateWalletsGrouped + liftAff $ withDelegateServerCluster + contractEnv + clusterConfig + (fromJustWithErr "withWallets'" $ NEArray.fromArray peers) + action withDelegateServerCluster :: ContractEnv @@ -202,8 +214,8 @@ type DelegateServerPeer = type DelegateServerClusterConfig = { auctionMetadataOref :: TransactionInput - , plutipClusterParams :: ClusterStartupParameters - , plutipConfig :: PlutipConfig + -- , plutipClusterParams :: ClusterStartupParameters + , localnetConfig :: TestnetConfig } startDelegateServerCluster @@ -238,7 +250,7 @@ genDelegateServerConfigs genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peers' <- createWorkdirsStoreKeys hydraScriptsTxHash <- publishHydraScripts - clusterConfig.plutipClusterParams.nodeSocketPath + "" -- FIXME: clusterConfig.plutipClusterParams.nodeSocketPath (ops.mkCardanoSk $ snd $ NEArray.head peers') pure $ worker (NEArray.toArray peers') hydraScriptsTxHash where @@ -286,14 +298,14 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do , wsServerPort: ops.mkWsServerPort idx , hydraPersistDir: ops.mkPersistDir workdir , hydraSk: ops.mkHydraSk workdir - , nodeSocket: clusterConfig.plutipClusterParams.nodeSocketPath + , nodeSocket: "" -- FIXME: clusterConfig.plutipClusterParams.nodeSocketPath , network: Mainnet , queryBackend: mkCtlBackendParams { ogmiosConfig: - clusterConfig.plutipConfig.ogmiosConfig + clusterConfig.localnetConfig.ogmiosConfig , kupoConfig: - clusterConfig.plutipConfig.kupoConfig + clusterConfig.localnetConfig.kupoConfig } , hydraScriptsTxHash , hydraContestPeriod: 5 @@ -344,9 +356,9 @@ patchContractEnv network = do { pparams = env.ledgerConstants.pparams # modify _ { costModels = - wrap $ Map.singleton PlutusV2 - (wrap $ fromInt <$> pparams.costModels."PlutusV2") - , maxTxExUnits = + Map.singleton PlutusV2 + (wrap $ Cardano.Int.fromInt <$> pparams.costModels."PlutusV2") + , maxTxExUnits = wrap { mem: pparams.maxTxExecutionUnits.memory , steps: pparams.maxTxExecutionUnits.steps } @@ -360,7 +372,7 @@ pparamsSlice = caDecodeFile pparamsSliceCodec "protocol-parameters.json" type PParamsSlice = - { maxTxExecutionUnits :: { memory :: BigInt, steps :: BigInt } + { maxTxExecutionUnits :: { memory :: BigNum, steps :: BigNum } , costModels :: { "PlutusV2" :: Array Int } } @@ -369,8 +381,8 @@ pparamsSliceCodec = CA.object "PParamsSlice" $ CAR.record { maxTxExecutionUnits: CA.object "PParamsSlice:ExUnits" $ CAR.record - { memory: bigIntCodecNum - , steps: bigIntCodecNum + { memory: bigNumCodec + , steps: bigNumCodec } , costModels: CA.object "PParamsSlice:CostModels" $ CAR.record diff --git a/test/DelegateServer/WsServer.purs b/test/DelegateServer/WsServer.purs index dea18cd..afe9a31 100644 --- a/test/DelegateServer/WsServer.purs +++ b/test/DelegateServer/WsServer.purs @@ -4,8 +4,7 @@ module Test.DelegateServer.WsServer import Prelude -import Contract.Config (NetworkId(MainnetId)) -import Contract.Value (CurrencySymbol) +import Cardano.Types (NetworkId(MainnetId), ScriptHash) import Control.Monad.Logger.Trans (LoggerT, runLoggerT) import Data.Array (cons, elemIndex, singleton) as Array import Data.Codec.Argonaut (null) as CA @@ -81,7 +80,7 @@ wsServerPort :: Port wsServerPort = Port.unsafeFromInt 7080 withWsServer - :: Array CurrencySymbol + :: Array ScriptHash -> HydraHeadStatus -> Maybe StandingBidState -> (DelegateWebSocketServer -> Aff Unit) @@ -93,7 +92,7 @@ withWsServer auctionsToServe headStatus standingBid cont = do wsServer.close appMapMock - :: Array CurrencySymbol + :: Array ScriptHash -> HydraHeadStatus -> Maybe StandingBidState -> WsServerAppMap Unit @@ -130,12 +129,12 @@ wsBuilder auctionCs = , runM: launchAff_ <<< void <<< flip runLoggerT (const (pure unit)) } -auctionCsFixture0 :: CurrencySymbol +auctionCsFixture0 :: ScriptHash auctionCsFixture0 = mkCurrencySymbolUnsafe "5d677265fa5bb21ce6d8c7502aca70b9316d10e958611f3c6b758f65" -auctionCsFixture1 :: CurrencySymbol +auctionCsFixture1 :: ScriptHash auctionCsFixture1 = mkCurrencySymbolUnsafe "92c4f22371bd453aec9fe19ccebfbc88211ae854b5eab424bcd4c26d" diff --git a/test/Gen.purs b/test/Gen.purs index cbca94f..2c6845f 100644 --- a/test/Gen.purs +++ b/test/Gen.purs @@ -7,7 +7,9 @@ module Test.Gen import Prelude -import Contract.Address (Address, pubKeyHashAddress) +import Cardano.Plutus.Types.Address (Address) as Plutus +import Cardano.Plutus.Types.Address (pubKeyHashAddress) +import Cardano.Types.BigNum (fromInt) as BigNum import Control.Monad.Gen.Common (genMaybe) import Data.Maybe (Maybe(Nothing)) import Data.Newtype (wrap) @@ -22,7 +24,7 @@ genStandingBid = wrap <$> genMaybe genBidTerms genBidTerms :: Gen BidTerms genBidTerms = do bidder <- genBidderInfo - price <- BigInt.fromInt <$> chooseInt zero top + price <- BigNum.fromInt <$> chooseInt zero top bidderSignature <- arbitrary sellerSignature <- arbitrary pure $ wrap @@ -41,7 +43,7 @@ genBidderInfo = do , bidderVk } -genPubKeyHashAddress :: Gen Address +genPubKeyHashAddress :: Gen Plutus.Address genPubKeyHashAddress = arbitrary <#> flip pubKeyHashAddress Nothing <<< wrap <<< wrap diff --git a/test/Helpers.purs b/test/Helpers.purs index 158220d..38fec8a 100644 --- a/test/Helpers.purs +++ b/test/Helpers.purs @@ -19,21 +19,28 @@ module Test.Helpers import Prelude import Aeson (encodeAeson) -import Contract.Address (Address, PubKeyHash, Bech32String) +import Cardano.AsCbor (decodeCbor) +import Cardano.Types + ( Address + , AssetName + , Bech32String + , Ed25519KeyHash + , PublicKey + , ScriptHash + , TransactionInput + ) +import Cardano.Types.Address (fromBech32) as Address +import Cardano.Types.AssetName (mkAssetName) +import Cardano.Types.BigNum (fromInt) as BigNum +import Cardano.Types.PublicKey (toRawBytes) as PublicKey +import Contract.CborBytes (hexToCborBytes) import Contract.Chain (currentTime) import Contract.Monad (Contract) import Contract.Prim.ByteArray (byteArrayFromAscii, hexToByteArray, rawBytesToHex) import Contract.Test (InitialUTxOs) import Contract.Time (POSIXTime) -import Contract.Transaction (PublicKey, TransactionInput) -import Contract.Value (CurrencySymbol, TokenName, mkCurrencySymbol, mkTokenName) import Control.Error.Util (bool) import Control.Monad.Rec.Class (class MonadRec, untilJust) -import Ctl.Internal.Cardano.Types.Transaction (convertPubKey) -import Ctl.Internal.Plutus.Conversion (toPlutusAddress) -import Ctl.Internal.Serialization.Address (addressFromBech32) -import Ctl.Internal.Serialization.Hash (ed25519KeyHashFromBytes) -import Ctl.Internal.Serialization.Keys (bytesFromPublicKey) import Data.Array (cons, drop, head, take) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap, wrap) @@ -50,39 +57,42 @@ import Node.Path (FilePath) defDistribution :: InitialUTxOs defDistribution = - [ BigInt.fromInt 2_000_000_000 - , BigInt.fromInt 2_000_000_000 + [ BigNum.fromInt 2_000_000_000 + , BigNum.fromInt 2_000_000_000 ] mkAddressUnsafe :: Bech32String -> Address mkAddressUnsafe addr = fromJustWithErr "mkAddressUnsafe" $ - toPlutusAddress =<< addressFromBech32 addr + Address.fromBech32 addr mkVerificationKeyUnsafe :: String -> VerificationKey mkVerificationKeyUnsafe vk = fromJustWithErr "mkVerificationKeyUnsafe" $ vkeyFromBytes =<< hexToByteArray vk -mkPubKeyHashUnsafe :: String -> PubKeyHash -mkPubKeyHashUnsafe pkh = - fromJustWithErr "mkPubKeyHashUnsafe" $ - (map wrap <<< ed25519KeyHashFromBytes) =<< hexToByteArray pkh +mkPubKeyHashUnsafe :: String -> Ed25519KeyHash +mkPubKeyHashUnsafe pkh = fromJustWithErr "mkPubKeyHashUnsafe" $ + decodeCbor =<< hexToCborBytes pkh -mkCurrencySymbolUnsafe :: String -> CurrencySymbol +mkCurrencySymbolUnsafe :: String -> ScriptHash mkCurrencySymbolUnsafe cs = fromJustWithErr "mkCurrencySymbolUnsafe" $ - mkCurrencySymbol =<< hexToByteArray cs + decodeCbor =<< hexToCborBytes cs -mkTokenNameUnsafe :: String -> TokenName +mkTokenNameUnsafe :: String -> AssetName mkTokenNameUnsafe tn = fromJustWithErr "mkTokenNameUnsafe" $ - mkTokenName =<< hexToByteArray tn + mkAssetName =<< hexToByteArray tn -mkTokenNameAsciiUnsafe :: String -> TokenName +mkTokenNameAsciiUnsafe :: String -> AssetName mkTokenNameAsciiUnsafe tn = fromJustWithErr "mkTokenNameAsciiUnsafe" $ - mkTokenName =<< byteArrayFromAscii tn + mkAssetName =<< byteArrayFromAscii tn mkOrefUnsafe :: String -> TransactionInput mkOrefUnsafe txHash = - fromJustWithErr "mkOrefUnsafe" $ - (wrap <<< { transactionId: _, index: zero } <<< wrap) <$> hexToByteArray txHash + fromJustWithErr "mkOrefUnsafe" do + transactionId <- decodeCbor =<< hexToCborBytes txHash + pure $ wrap + { transactionId + , index: zero + } unsafeHead :: forall a. Array a -> a unsafeHead = fromJustWithErr "unsafeHead" <<< head @@ -124,9 +134,7 @@ formatPublicPaymentKey key = } keyToCbor :: PublicKey -> String -keyToCbor = - (magicPrefix <> _) <<< rawBytesToHex <<< bytesFromPublicKey - <<< convertPubKey +keyToCbor = append magicPrefix <<< rawBytesToHex <<< PublicKey.toRawBytes magicPrefix :: String magicPrefix = "5820" diff --git a/test/Plutip/Config.purs b/test/Localnet/Config.purs similarity index 66% rename from test/Plutip/Config.purs rename to test/Localnet/Config.purs index cb9bb0f..2f1577a 100644 --- a/test/Plutip/Config.purs +++ b/test/Localnet/Config.purs @@ -1,20 +1,18 @@ -module Test.Plutip.Config - ( plutipConfig +module Test.Localnet.Config + ( localnetConfig ) where import Prelude import Contract.Config (LogLevel(Trace), emptyHooks) -import Contract.Test.Plutip (PlutipConfig) +import Contract.Test.Testnet (Era(Conway), TestnetConfig) import Data.Maybe (Maybe(Just, Nothing)) import Data.Time.Duration (Seconds(Seconds)) import Data.UInt (fromInt) as UInt -plutipConfig :: PlutipConfig -plutipConfig = - { host: "127.0.0.1" - , port: UInt.fromInt 8082 - , logLevel: Trace +localnetConfig :: TestnetConfig +localnetConfig = + { logLevel: Trace , ogmiosConfig: { port: UInt.fromInt 1338 , host: "127.0.0.1" @@ -31,9 +29,9 @@ plutipConfig = , customLogger: Just $ \_ _ -> pure unit , hooks: emptyHooks , clusterConfig: - { slotLength: Seconds 0.1 + { testnetMagic: 2 + , era: Conway + , slotLength: Seconds 0.1 , epochSize: Just $ UInt.fromInt 4320000 - , maxTxSize: Just $ UInt.fromInt 16384 - , raiseExUnitsToMax: false } } diff --git a/test/Main.purs b/test/Main.purs index 06e7bfc..c1772e8 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -5,7 +5,7 @@ module Test.Main import Prelude import Contract.Test.Mote (TestPlanM, interpret) -import Contract.Test.Plutip (testPlutipContracts) +import Contract.Test.Testnet (testTestnetContracts) import Contract.Test.Utils (interruptOnSignal) import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) import Effect (Effect) @@ -18,7 +18,7 @@ import Test.Contract.EnterAuction (suite) as EnterAuction import Test.Contract.PlaceBid (suite) as PlaceBid import Test.Contract.StartBidding (suite) as StartBidding import Test.DelegateServer.WsServer (suite) as WsServer -import Test.Plutip.Config (plutipConfig) +import Test.Localnet.Config (plutipConfig) main :: Effect Unit main = do @@ -28,12 +28,14 @@ main = do suite :: TestPlanM (Aff Unit) Unit suite = do group "delegate-server" do - WsServer.suite - testPlutipContracts plutipConfig do - group "contracts" do - AnnounceAuction.suite - StartBidding.suite - EnterAuction.suite - AuthorizeBidders.suite - PlaceBid.suite - skip DelegateServer.suite + -- WsServer.suite + testTestnetContracts plutipConfig do + DelegateServer.suite +-- group "contracts" do +{- +AnnounceAuction.suite +StartBidding.suite +EnterAuction.suite +AuthorizeBidders.suite +PlaceBid.suite +-} From 570b63e873c2b143c14b88d75fb6702bb9d00a4c Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 13 Sep 2024 16:10:04 +0200 Subject: [PATCH 09/23] fix: fix build errors --- spago.dhall | 7 +++++++ test/Contract/DelegateServer.purs | 14 +++++++++++--- test/Main.purs | 4 ++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/spago.dhall b/spago.dhall index 46d0ba4..395e5f7 100644 --- a/spago.dhall +++ b/spago.dhall @@ -9,7 +9,11 @@ , "arrays" , "avar" , "bifunctors" + , "bytearrays" + , "cardano-key-wallet" + , "cardano-plutus-data-schema" , "cardano-transaction-lib" + , "cardano-types" , "codec-argonaut" , "console" , "control" @@ -44,6 +48,7 @@ , "parallel" , "parsing" , "partial" + , "plutus-types" , "posix-types" , "prelude" , "profunctor" @@ -58,8 +63,10 @@ , "tailrec" , "transformers" , "tuples" + , "typelevel" , "typelevel-lists" , "uint" + , "uplc-apply-args" , "uri" , "uuid" , "validation" diff --git a/test/Contract/DelegateServer.purs b/test/Contract/DelegateServer.purs index f5dae3a..be43c58 100644 --- a/test/Contract/DelegateServer.purs +++ b/test/Contract/DelegateServer.purs @@ -4,11 +4,15 @@ module Test.Contract.DelegateServer import Contract.Prelude +import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address +import Cardano.Types (BigNum) +import Cardano.Types.BigNum (fromInt) as BigNum import Contract.Monad (Contract, liftedE, liftedM) import Contract.Test (ContractTest, withKeyWallet) import Contract.Test.Mote (TestPlanM) import Contract.Transaction (awaitTxConfirmed) import Contract.Wallet (ownPaymentPubKeyHash) +import Control.Monad.Error.Class (liftMaybe) import Control.Monad.Except (runExceptT) import Control.Monad.Rec.Class (untilJust) import Control.Parallel (parTraverse_) @@ -36,6 +40,7 @@ import DelegateServer.Types.HydraHeadStatus import DelegateServer.Types.ServerResponse ( ServerResponse(ServerResponseSuccess, ServerResponseError) ) +import Effect.Exception (error) import HydraAuctionOffchain.Contract (discoverBidders) import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types @@ -194,14 +199,17 @@ moveBidTest { autoInit } = untilM (eq (Just $ StandingBidState Nothing)) appHandle.queryStandingBidL2 -mkBidTerms :: AuctionInfoExtended -> BigInt -> Contract BidTerms +mkBidTerms :: AuctionInfoExtended -> BigNum -> Contract BidTerms mkBidTerms auctionInfo bidAmount = do sellerSignature <- discoverSellerSignature auctionInfo Nothing pkh <- liftedM "Could not get bidder pkh" ownPaymentPubKeyHash let payload = bidderSignatureMessage (unwrap auctionInfo).auctionId (unwrap pkh) bidAmount { signature, vkey, address } <- liftedE $ runExceptT $ signMessage payload + bidderAddress <- + liftMaybe (error "Could not convert bidder address to Plutus.Address.") $ + Plutus.Address.fromCardano address pure $ BidTerms - { bidder: BidderInfo { bidderAddress: address, bidderVk: vkey } + { bidder: BidderInfo { bidderAddress, bidderVk: vkey } , price: bidAmount , bidderSignature: signature , sellerSignature @@ -280,7 +288,7 @@ placeL2Bids params fixAuctionTerms cont = ( \{ bidAmount, valid } -> do bidder <- randomElem bidderKws withKeyWallet bidder do - bidTerms <- mkBidTerms auctionInfo $ fromInt bidAmount + bidTerms <- mkBidTerms auctionInfo $ BigNum.fromInt bidAmount if valid then do appHandle.placeBidL2 bidTerms `shouldReturn` ServerResponseSuccess PlaceBidSuccess_SubmittedTransaction diff --git a/test/Main.purs b/test/Main.purs index c1772e8..9cef2eb 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -18,7 +18,7 @@ import Test.Contract.EnterAuction (suite) as EnterAuction import Test.Contract.PlaceBid (suite) as PlaceBid import Test.Contract.StartBidding (suite) as StartBidding import Test.DelegateServer.WsServer (suite) as WsServer -import Test.Localnet.Config (plutipConfig) +import Test.Localnet.Config (localnetConfig) main :: Effect Unit main = do @@ -29,7 +29,7 @@ suite :: TestPlanM (Aff Unit) Unit suite = do group "delegate-server" do -- WsServer.suite - testTestnetContracts plutipConfig do + testTestnetContracts localnetConfig do DelegateServer.suite -- group "contracts" do {- From 81a00e80b3c00aa3e0f2680e0d8fa7bce440980f Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 13 Sep 2024 17:30:29 +0200 Subject: [PATCH 10/23] chore: fix warnings --- app/delegate-server/Const.purs | 1 - app/delegate-server/Contract/Commit.purs | 3 +-- app/delegate-server/Contract/PlaceBid.purs | 3 +-- .../Handlers/SignCommitTx.purs | 2 +- app/delegate-server/Helpers.purs | 1 - app/delegate-server/Lib/Transaction.purs | 6 ++---- .../Types/HydraCommitRequest.purs | 1 - app/delegate-server/Types/HydraUtxoMap.purs | 14 +++----------- app/delegate-server/WsServer.purs | 1 - app/plutip-env/Main.purs | 1 - spago.dhall | 2 -- src/Codec.purs | 3 +-- src/Contract/ClaimAuctionLotBidder.purs | 2 +- src/Contract/ClaimAuctionLotSeller.purs | 6 +++--- src/Contract/DiscoverBidders.purs | 3 +-- src/Contract/DiscoverSellerSignature.purs | 3 +-- src/Contract/EnterAuction.purs | 5 ++--- src/Contract/MintTokens.purs | 1 - src/Contract/MintingPolicies/Auction.purs | 2 -- src/Contract/PersonalOracle.purs | 1 - src/Contract/PlaceBid.purs | 5 ++--- src/Contract/QueryAuctions.purs | 3 --- src/Contract/QueryStandingBidState.purs | 10 ---------- src/Contract/SendBid.purs | 4 +--- src/Contract/StartBidding.purs | 3 +-- src/Contract/Types/ContractResult.purs | 8 ++------ src/Contract/Types/Plutus/AuctionActor.purs | 2 +- src/Contract/Types/Plutus/AuctionInfo.purs | 1 - src/Contract/Types/Plutus/AuctionTerms.purs | 11 ++--------- src/Contract/Types/Plutus/BidTerms.purs | 3 +-- src/Contract/Types/Plutus/BidderInfo.purs | 2 +- .../Types/Plutus/DelegateGroupInfo.purs | 2 +- src/Contract/Validators/AuctionEscrow.purs | 2 -- .../Validators/AuctionValidators.purs | 3 +-- src/Contract/Validators/BidderDeposit.purs | 2 -- src/Contract/Validators/StandingBid.purs | 3 --- src/Helpers.purs | 16 ++++++---------- src/Lib/Codec.purs | 1 - src/Lib/Cose.purs | 2 +- src/Lib/Plutus/Address.purs | 2 -- src/Types/WalletApp.purs | 1 - test/Contract/AnnounceAuction.purs | 4 ++-- test/Contract/DelegateServer.purs | 1 - test/Contract/EnterAuction.purs | 2 -- test/DelegateServer/Cluster.purs | 4 +--- test/Gen.purs | 1 - test/Helpers.purs | 2 +- test/Main.purs | 19 +++++++++---------- 48 files changed, 50 insertions(+), 130 deletions(-) diff --git a/app/delegate-server/Const.purs b/app/delegate-server/Const.purs index 51f9190..99db9be 100644 --- a/app/delegate-server/Const.purs +++ b/app/delegate-server/Const.purs @@ -5,7 +5,6 @@ module DelegateServer.Const import Cardano.Types (BigNum) import Cardano.Types.BigNum (fromInt) as BigNum -import JS.BigInt (fromInt) as BigInt import Node.Path (FilePath) type AppConst = diff --git a/app/delegate-server/Contract/Commit.purs b/app/delegate-server/Contract/Commit.purs index d3e6ca3..e78ae24 100644 --- a/app/delegate-server/Contract/Commit.purs +++ b/app/delegate-server/Contract/Commit.purs @@ -38,7 +38,7 @@ import Contract.TxConstraints ) as Constraints import Contract.UnbalancedTx (mkUnbalancedTx) import Contract.Wallet (ownPaymentPubKeyHash) -import Control.Error.Util ((!?), (??)) +import Control.Error.Util ((!?)) import Control.Monad.Except (ExceptT(ExceptT), mapExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Data.Argonaut (Json, encodeJson) @@ -48,7 +48,6 @@ import Data.Map (fromFoldable) as Map import Data.Show.Generic (genericShow) import DelegateServer.App (runContract, runContractLift) import DelegateServer.Handlers.SignCommitTx (signCommitTxErrorCodec) -import DelegateServer.Helpers (modifyF) import DelegateServer.HydraNodeApi.Http (commit) import DelegateServer.Lib.ServerConfig (mkLocalhostHttpServerConfig) import DelegateServer.Lib.Transaction (appendTxSignatures, reSignTransaction, setAuxDataHash) diff --git a/app/delegate-server/Contract/PlaceBid.purs b/app/delegate-server/Contract/PlaceBid.purs index b01ad9a..9cb209c 100644 --- a/app/delegate-server/Contract/PlaceBid.purs +++ b/app/delegate-server/Contract/PlaceBid.purs @@ -51,11 +51,10 @@ import Data.Array (find) as Array import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV import Data.Map (fromFoldable, toUnfoldable) as Map -import Data.Newtype (modify, unwrap) +import Data.Newtype (unwrap) import Data.Profunctor (dimap) import Data.Variant (inj, match) as Variant import DelegateServer.App (runContractNullCosts) -import DelegateServer.Helpers (modifyF) import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) import DelegateServer.Lib.Transaction (setExUnitsToMax, setTxValid) import DelegateServer.State (class AppOpen, readAppState) diff --git a/app/delegate-server/Handlers/SignCommitTx.purs b/app/delegate-server/Handlers/SignCommitTx.purs index 1418dec..fde5b6b 100644 --- a/app/delegate-server/Handlers/SignCommitTx.purs +++ b/app/delegate-server/Handlers/SignCommitTx.purs @@ -57,7 +57,7 @@ import Data.Either (Either(Left, Right)) import Data.Foldable (fold) import Data.Generic.Rep (class Generic) import Data.Lens ((^.)) -import Data.Maybe (Maybe(Just, Nothing), fromMaybe, isJust, isNothing) +import Data.Maybe (Maybe(Just, Nothing), isJust, isNothing) import Data.Newtype (unwrap) import Data.Show.Generic (genericShow) import Data.Traversable (sequence) diff --git a/app/delegate-server/Helpers.purs b/app/delegate-server/Helpers.purs index e2c8268..38d49ed 100644 --- a/app/delegate-server/Helpers.purs +++ b/app/delegate-server/Helpers.purs @@ -8,7 +8,6 @@ import Prelude import Cardano.AsCbor (decodeCbor, encodeCbor) import Contract.CborBytes (cborBytesToHex, hexToCborBytes) -import Contract.Prim.ByteArray (byteLength) import Contract.Transaction (TransactionInput(TransactionInput)) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap, wrap) diff --git a/app/delegate-server/Lib/Transaction.purs b/app/delegate-server/Lib/Transaction.purs index ef60164..93d891e 100644 --- a/app/delegate-server/Lib/Transaction.purs +++ b/app/delegate-server/Lib/Transaction.purs @@ -20,10 +20,8 @@ import Contract.Transaction (signTransaction) import Ctl.Internal.Transaction (setScriptDataHash) import Data.Lens (view, (%~), (.~), (<>~), (^.)) import Data.Map (filterKeys) as Map -import Data.Maybe (Maybe(Nothing), fromMaybe) -import Data.Newtype (modify, unwrap, wrap) -import Data.Traversable (traverse) -import Effect.Class (class MonadEffect, liftEffect) +import Data.Newtype (modify, unwrap) +import Effect.Class (liftEffect) setAuxDataHash :: Transaction -> Transaction setAuxDataHash tx = diff --git a/app/delegate-server/Types/HydraCommitRequest.purs b/app/delegate-server/Types/HydraCommitRequest.purs index 84de798..d6db75b 100644 --- a/app/delegate-server/Types/HydraCommitRequest.purs +++ b/app/delegate-server/Types/HydraCommitRequest.purs @@ -18,7 +18,6 @@ import Data.Show.Generic (genericShow) import DelegateServer.Types.HydraTx (HydraTx, hydraTxCodec, mkHydraTx) import DelegateServer.Types.HydraUtxoMap (HydraUtxoMap, hydraUtxoMapCodec) import DelegateServer.Types.HydraUtxoMap (fromUtxoMap) as HydraUtxoMap -import Effect (Effect) data HydraCommitRequest = SimpleCommitRequest HydraUtxoMap diff --git a/app/delegate-server/Types/HydraUtxoMap.purs b/app/delegate-server/Types/HydraUtxoMap.purs index 720563e..c848fff 100644 --- a/app/delegate-server/Types/HydraUtxoMap.purs +++ b/app/delegate-server/Types/HydraUtxoMap.purs @@ -10,16 +10,10 @@ module DelegateServer.Types.HydraUtxoMap import Prelude import Cardano.AsCbor (encodeCbor) -import Cardano.Plutus.Types.CurrencySymbol (mkCurrencySymbol, unCurrencySymbol) +import Cardano.Plutus.Types.CurrencySymbol (mkCurrencySymbol) import Cardano.Plutus.Types.TokenName (mkTokenName) import Cardano.Plutus.Types.Value (Value) as Plutus -import Cardano.Plutus.Types.Value - ( getValue - , lovelaceValueOf - , singleton - , toCardano - , valueToCoin' - ) as Plutus.Value +import Cardano.Plutus.Types.Value (lovelaceValueOf, singleton, toCardano) as Plutus.Value import Cardano.Types ( Address , OutputDatum(OutputDatum) @@ -32,11 +26,9 @@ import Cardano.Types.BigNum (fromBigInt, toBigInt) as BigNum import Cardano.Types.DataHash (hashPlutusData) import Cardano.Types.OutputDatum (outputDatumDatum) import Contract.CborBytes (cborBytesToHex) -import Contract.Hashing (datumHash) import Contract.PlutusData (PlutusData(Constr, Map, List, Integer, Bytes)) import Contract.Prim.ByteArray (ByteArray, byteArrayToHex, hexToByteArray) import Contract.Utxos (UtxoMap) -import Contract.Value (singleton, valueToCoin) as Value import Control.Alt ((<|>)) import Control.Monad.Maybe.Trans (MaybeT(MaybeT), runMaybeT) import Control.Monad.Trans.Class (lift) @@ -57,7 +49,7 @@ import Data.Argonaut import Data.Array ((:)) import Data.Bifunctor (bimap, lmap) import Data.Bitraversable (bitraverse) -import Data.Codec.Argonaut (JsonCodec, decode, encode, json, object, prismaticCodec, string) as CA +import Data.Codec.Argonaut (JsonCodec, decode, encode, json, object, prismaticCodec) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (optional, record) as CAR import Data.Either (Either, hush, note) diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index d16bf95..622daf6 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -17,7 +17,6 @@ import Prelude import Cardano.AsCbor (decodeCbor) import Cardano.Types (NetworkId, ScriptHash) import Contract.CborBytes (hexToCborBytes) -import Contract.Prim.ByteArray (hexToByteArray) import Data.Array (singleton, (:)) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV diff --git a/app/plutip-env/Main.purs b/app/plutip-env/Main.purs index 0e68851..b93cc7b 100644 --- a/app/plutip-env/Main.purs +++ b/app/plutip-env/Main.purs @@ -17,7 +17,6 @@ import Effect.Aff.AVar (empty, take) as AVar import Effect.Class (liftEffect) import Effect.Console (log) import HydraAuctionOffchain.Types.ContractConfig (localnetConfig) -import JS.BigInt (fromInt) as BigInt import Node.Encoding (Encoding(UTF8)) import Node.Process (stdin) import Node.Stream (destroy, onDataString) diff --git a/spago.dhall b/spago.dhall index 395e5f7..10a3f25 100644 --- a/spago.dhall +++ b/spago.dhall @@ -9,7 +9,6 @@ , "arrays" , "avar" , "bifunctors" - , "bytearrays" , "cardano-key-wallet" , "cardano-plutus-data-schema" , "cardano-transaction-lib" @@ -63,7 +62,6 @@ , "tailrec" , "transformers" , "tuples" - , "typelevel" , "typelevel-lists" , "uint" , "uplc-apply-args" diff --git a/src/Codec.purs b/src/Codec.purs index 21dcb5f..af798fb 100644 --- a/src/Codec.purs +++ b/src/Codec.purs @@ -67,7 +67,7 @@ import Data.Codec.Argonaut , prismaticCodec , string ) as CA -import Data.Codec.Argonaut.Compat (maybe, tuple) as CA +import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Either (hush) import Data.Foldable (foldMap) @@ -79,7 +79,6 @@ import Data.Profunctor (dimap, wrapIso) import Data.Tuple.Nested ((/\)) import Data.UInt (UInt) import Data.UInt (fromInt', fromString, toInt, toString) as UInt -import Effect.Unsafe (unsafePerformEffect) import HydraAuctionOffchain.Helpers (fromJustWithErr) import JS.BigInt (BigInt) import JS.BigInt (fromNumber, fromString, toNumber, toString) as BigInt diff --git a/src/Contract/ClaimAuctionLotBidder.purs b/src/Contract/ClaimAuctionLotBidder.purs index edd5c5e..be091bf 100644 --- a/src/Contract/ClaimAuctionLotBidder.purs +++ b/src/Contract/ClaimAuctionLotBidder.purs @@ -32,7 +32,7 @@ import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) import Contract.Log (logWarn') import Contract.Monad (Contract) -import Contract.PlutusData (Datum, Redeemer, toData, unitDatum) +import Contract.PlutusData (toData, unitDatum) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) diff --git a/src/Contract/ClaimAuctionLotSeller.purs b/src/Contract/ClaimAuctionLotSeller.purs index 46e28c1..23b26e6 100644 --- a/src/Contract/ClaimAuctionLotSeller.purs +++ b/src/Contract/ClaimAuctionLotSeller.purs @@ -29,7 +29,7 @@ import Cardano.Types import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, Redeemer, toData, unitDatum) +import Contract.PlutusData (toData, unitDatum) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) @@ -180,7 +180,7 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do standingBidOref :: TransactionInput standingBidOref = fst standingBidUtxo - standingBidRedeemer :: Redeemer + standingBidRedeemer :: RedeemerDatum standingBidRedeemer = wrap $ toData ConcludeAuctionRedeemer -- BidderDeposit ------------------------------------------------- @@ -188,7 +188,7 @@ mkClaimAuctionLotSellerContractWithErrors auctionInfo = do mBidderDepositOref :: Maybe TransactionInput mBidderDepositOref = fst <$> mBidderDepositUtxo - bidderDepositRedeemer :: Redeemer + bidderDepositRedeemer :: RedeemerDatum bidderDepositRedeemer = wrap $ toData ClaimDepositSellerRedeemer -- AuctionMetadata ----------------------------------------------- diff --git a/src/Contract/DiscoverBidders.purs b/src/Contract/DiscoverBidders.purs index aefd91a..2cc9118 100644 --- a/src/Contract/DiscoverBidders.purs +++ b/src/Contract/DiscoverBidders.purs @@ -19,7 +19,7 @@ import Data.Map (toUnfoldable) as Map import Data.Newtype (class Newtype) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec) +import HydraAuctionOffchain.Codec (bigNumCodec) import HydraAuctionOffchain.Contract.Types ( AuctionInfoExtended(AuctionInfoExtended) , BidderInfo @@ -27,7 +27,6 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Helpers (getInlineDatum) import HydraAuctionOffchain.Lib.Codec (class HasJson) -import JS.BigInt (BigInt) newtype BidderInfoCandidate = BidderInfoCandidate { bidderInfo :: BidderInfo diff --git a/src/Contract/DiscoverSellerSignature.purs b/src/Contract/DiscoverSellerSignature.purs index 88efeed..766711c 100644 --- a/src/Contract/DiscoverSellerSignature.purs +++ b/src/Contract/DiscoverSellerSignature.purs @@ -16,7 +16,6 @@ import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (TransactionOutput) import Contract.Utxos (utxosAt) -import Contract.Value (CurrencySymbol) import Control.Error.Util (bool, (??)) import Control.Monad.Except (ExceptT, withExceptT) import Control.Monad.Trans.Class (lift) @@ -30,7 +29,7 @@ import Data.Newtype (class Newtype) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import HydraAuctionOffchain.Codec (addressCodec, scriptHashCodec) -import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) +import HydraAuctionOffchain.Contract.PersonalOracle (mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionAuth(AuctionAuth) diff --git a/src/Contract/EnterAuction.purs b/src/Contract/EnterAuction.purs index 222eec4..f7c8cba 100644 --- a/src/Contract/EnterAuction.purs +++ b/src/Contract/EnterAuction.purs @@ -21,7 +21,7 @@ import Cardano.Types.Int (one) as Cardano.Int import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, toData) +import Contract.PlutusData (toData) import Contract.Scripts (ValidatorHash, validatorHash) import Contract.Time (POSIXTimeRange, to) import Contract.Transaction (TransactionHash) @@ -42,7 +42,7 @@ import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec) +import HydraAuctionOffchain.Codec (bigNumCodec) import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -66,7 +66,6 @@ import HydraAuctionOffchain.Contract.Types import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Wallet (SignMessageError, askWalletVk') -import JS.BigInt (BigInt) import JS.BigInt (fromInt) as BigInt newtype EnterAuctionContractParams = EnterAuctionContractParams diff --git a/src/Contract/MintTokens.purs b/src/Contract/MintTokens.purs index 5dd121c..716fbd2 100644 --- a/src/Contract/MintTokens.purs +++ b/src/Contract/MintTokens.purs @@ -16,7 +16,6 @@ import Contract.TxConstraints (mustMintCurrency) as Constraints import Contract.Value (TokenName) import HydraAuctionOffchain.Contract.MintingPolicies (mkAlwaysMintsPolicy) import HydraAuctionOffchain.Contract.Types (emptySubmitTxData, submitTxReturningContractResult) -import JS.BigInt (BigInt) mintTokenUsingAlwaysMints :: TokenName -> BigNum -> Contract TransactionHash mintTokenUsingAlwaysMints tokenName quantity = do diff --git a/src/Contract/MintingPolicies/Auction.purs b/src/Contract/MintingPolicies/Auction.purs index 48c1bed..14fedb1 100644 --- a/src/Contract/MintingPolicies/Auction.purs +++ b/src/Contract/MintingPolicies/Auction.purs @@ -5,8 +5,6 @@ module HydraAuctionOffchain.Contract.MintingPolicies.Auction , standingBidTokenName ) where -import Prelude - import Cardano.ToData (toData) import Cardano.Types (AssetName, PlutusScript, ScriptHash) import Contract.Monad (Contract) diff --git a/src/Contract/PersonalOracle.purs b/src/Contract/PersonalOracle.purs index 6377bd1..0191b33 100644 --- a/src/Contract/PersonalOracle.purs +++ b/src/Contract/PersonalOracle.purs @@ -9,7 +9,6 @@ import Cardano.Types (Address, NativeScript(ScriptPubkey), NetworkId, ScriptHash import Cardano.Types.AssetName (mkAssetName) import Cardano.Types.NativeScript (hash) as NativeScript import Contract.Address (PaymentPubKeyHash) -import Contract.Hashing (nativeScriptHash) import Contract.Prim.ByteArray (byteArrayFromAscii) import Data.Newtype (unwrap) import HydraAuctionOffchain.Contract.Types (AssetClass, mkAssetClass) diff --git a/src/Contract/PlaceBid.purs b/src/Contract/PlaceBid.purs index 18dae2f..10ea075 100644 --- a/src/Contract/PlaceBid.purs +++ b/src/Contract/PlaceBid.purs @@ -34,7 +34,7 @@ import Cardano.Types.BigNum (one) as BigNum import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, Redeemer, toData) +import Contract.PlutusData (toData) import Contract.Prim.ByteArray (ByteArray) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs) as Lookups @@ -63,7 +63,7 @@ import Data.Codec.Argonaut.Record (record) as CAR import Data.Map (fromFoldable) as Map import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec) +import HydraAuctionOffchain.Codec (bigNumCodec, byteArrayCodec) import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types @@ -90,7 +90,6 @@ import HydraAuctionOffchain.Contract.Types import HydraAuctionOffchain.Contract.Validators (MkAuctionValidatorsError, mkAuctionValidators) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) -import JS.BigInt (BigInt) import JS.BigInt (fromInt) as BigInt newtype PlaceBidContractParams = PlaceBidContractParams diff --git a/src/Contract/QueryAuctions.purs b/src/Contract/QueryAuctions.purs index 3bf2702..2d8b753 100644 --- a/src/Contract/QueryAuctions.purs +++ b/src/Contract/QueryAuctions.purs @@ -10,9 +10,7 @@ import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.Scripts (validatorHash) import Contract.Time (POSIXTime) -import Contract.Transaction (TransactionOutput) import Contract.Utxos (utxosAt) import Contract.Value (CurrencySymbol) import Contract.Value (valueOf) as Value @@ -20,7 +18,6 @@ import Contract.Wallet (ownPaymentPubKeyHash) import Control.Monad.Maybe.Trans (MaybeT(MaybeT), runMaybeT) import Control.Monad.Trans.Class (lift) import Data.Array (mapMaybe) as Array -import Data.Lens ((^.)) import Data.Map (toUnfoldable) as Map import Data.Newtype (modify) import Data.Validation.Semigroup (isValid) as V diff --git a/src/Contract/QueryStandingBidState.purs b/src/Contract/QueryStandingBidState.purs index e137d8a..710652a 100644 --- a/src/Contract/QueryStandingBidState.purs +++ b/src/Contract/QueryStandingBidState.purs @@ -8,19 +8,11 @@ module HydraAuctionOffchain.Contract.QueryStandingBidState import Contract.Prelude -import Cardano.Types (Asset(Asset)) -import Cardano.Types.BigNum (one) as BigNum -import Contract.Address (Address) import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.Transaction (TransactionOutput) -import Contract.Value (CurrencySymbol) -import Contract.Value (valueOf) as Value import Control.Error.Util ((!?)) import Control.Monad.Except (ExceptT, throwError) import Control.Monad.Trans.Class (lift) -import Data.Array (find) as Array -import HydraAuctionOffchain.Contract.MintingPolicies (standingBidTokenName) import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -30,7 +22,6 @@ import HydraAuctionOffchain.Contract.Types , StandingBidState , mkContractOutput ) -import HydraAuctionOffchain.Helpers (getInlineDatum, getTxOutsAt) queryStandingBidState :: AuctionInfoExtended -> Contract (ContractOutput StandingBidState) queryStandingBidState = @@ -42,7 +33,6 @@ queryStandingBidStateWithErrors queryStandingBidStateWithErrors auctionInfo = do let AuctionInfoExtended auctionInfoRec = auctionInfo - auctionCs = auctionInfoRec.auctionId AuctionTerms auctionTermsRec = auctionInfoRec.auctionTerms -- Check that the query is executed after the bidding start time: diff --git a/src/Contract/SendBid.purs b/src/Contract/SendBid.purs index 435ab61..93acc92 100644 --- a/src/Contract/SendBid.purs +++ b/src/Contract/SendBid.purs @@ -26,7 +26,6 @@ import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray) -import Contract.Value (CurrencySymbol) import Contract.Wallet (ownPaymentPubKeyHash) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT(ExceptT), throwError, withExceptT) @@ -39,7 +38,7 @@ import Data.HTTP.Method (Method(POST)) import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidResponseCodec) -import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec, scriptHashCodec) +import HydraAuctionOffchain.Codec (bigNumCodec, byteArrayCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.Types ( class ToContractError , AuctionTerms(AuctionTerms) @@ -64,7 +63,6 @@ import HydraAuctionOffchain.Service.Common ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) ) import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) -import JS.BigInt (BigInt) newtype SendBidContractParams = SendBidContractParams { auctionCs :: ScriptHash diff --git a/src/Contract/StartBidding.purs b/src/Contract/StartBidding.purs index 9c00559..2c2331c 100644 --- a/src/Contract/StartBidding.purs +++ b/src/Contract/StartBidding.purs @@ -18,13 +18,12 @@ module HydraAuctionOffchain.Contract.StartBidding import Contract.Prelude import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address -import Cardano.Plutus.Types.Value (Value) as Plutus import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value import Cardano.Types (NetworkId, PaymentPubKeyHash, PlutusData, RedeemerDatum) import Cardano.Types.BigNum (one) as BigNum import Contract.Chain (currentTime) import Contract.Monad (Contract) -import Contract.PlutusData (Datum, Redeemer, toData) +import Contract.PlutusData (toData) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (unspentOutputs, validator) as Lookups import Contract.Scripts (validatorHash) diff --git a/src/Contract/Types/ContractResult.purs b/src/Contract/Types/ContractResult.purs index f562b55..82bda2a 100644 --- a/src/Contract/Types/ContractResult.purs +++ b/src/Contract/Types/ContractResult.purs @@ -27,15 +27,11 @@ import Contract.ScriptLookups (ScriptLookups) import Contract.Transaction (balanceTx, signTransaction, submit) import Contract.TxConstraints (TxConstraints) import Contract.UnbalancedTx (mkUnbalancedTx) -import Data.Foldable (foldMap, foldl) +import Data.Foldable (foldMap) import Data.Lens ((^.)) -import Data.Maybe (Maybe(Nothing), fromMaybe, maybe) +import Data.Maybe (Maybe(Nothing), fromMaybe) import Data.Newtype (unwrap) -import Data.Traversable (traverse) import Data.Tuple.Nested ((/\)) -import Effect (Effect) -import Effect.Class (liftEffect) -import JS.BigInt (BigInt) import Partial.Unsafe (unsafePartial) import Prim.Row (class Nub, class Union) as Row import Record (merge) as Record diff --git a/src/Contract/Types/Plutus/AuctionActor.purs b/src/Contract/Types/Plutus/AuctionActor.purs index e7121a7..1e3d9e0 100644 --- a/src/Contract/Types/Plutus/AuctionActor.purs +++ b/src/Contract/Types/Plutus/AuctionActor.purs @@ -8,7 +8,7 @@ import Contract.PlutusData import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude -import Cardano.Plutus.DataSchema (PNil, S, Z) +import Cardano.Plutus.DataSchema (S, Z) import Contract.Numeric.BigNum (zero) as BigNum import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG diff --git a/src/Contract/Types/Plutus/AuctionInfo.purs b/src/Contract/Types/Plutus/AuctionInfo.purs index accee10..6ef054f 100644 --- a/src/Contract/Types/Plutus/AuctionInfo.purs +++ b/src/Contract/Types/Plutus/AuctionInfo.purs @@ -24,7 +24,6 @@ import Cardano.Types (NetworkId, PlutusScript, ScriptHash) import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Numeric.BigNum (zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) -import Contract.Scripts (Validator, validatorHash) import Contract.Transaction (TransactionInput) import Contract.Value (CurrencySymbol) import Data.Codec.Argonaut (JsonCodec, object) as CA diff --git a/src/Contract/Types/Plutus/AuctionTerms.purs b/src/Contract/Types/Plutus/AuctionTerms.purs index 82d57a7..cac8842 100644 --- a/src/Contract/Types/Plutus/AuctionTerms.purs +++ b/src/Contract/Types/Plutus/AuctionTerms.purs @@ -26,27 +26,23 @@ import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude import Cardano.Plutus.Types.Address (Address) as Plutus -import Cardano.Plutus.Types.Credential (Credential(PubKeyCredential)) as Plutus import Cardano.Plutus.Types.Value (Value) as Plutus import Cardano.Plutus.Types.Value (gt, valueToCoin) as Plutus.Value import Cardano.Types (BigNum, Ed25519KeyHash, NetworkId) import Contract.Numeric.BigNum (fromInt, mul, zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Time (POSIXTime) -import Contract.Value (gt) as Value import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Foldable (fold, length) import Data.Generic.Rep (class Generic) -import Data.Maybe (Maybe(Just, Nothing), isJust, maybe) +import Data.Maybe (Maybe(Nothing), isJust, maybe) import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import Data.Validation.Semigroup (V) import HydraAuctionOffchain.Codec - ( addressCodec - , bigIntCodec - , bigNumCodec + ( bigNumCodec , ed25519KeyHashCodec , plutusAddressCodec , plutusValueCodec @@ -60,9 +56,6 @@ import HydraAuctionOffchain.Contract.Types.VerificationKey import HydraAuctionOffchain.Helpers (errV) import HydraAuctionOffchain.Lib.Crypto (hashVk) import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) -import JS.BigInt (BigInt) -import JS.BigInt (fromInt) as BigInt -import Partial.Unsafe (unsafePartial) import Type.Proxy (Proxy(Proxy)) ---------------------------------------------------------------------- diff --git a/src/Contract/Types/Plutus/BidTerms.purs b/src/Contract/Types/Plutus/BidTerms.purs index 0d9f76e..92528c4 100644 --- a/src/Contract/Types/Plutus/BidTerms.purs +++ b/src/Contract/Types/Plutus/BidTerms.purs @@ -33,7 +33,7 @@ import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) import Effect (Effect) -import HydraAuctionOffchain.Codec (bigIntCodec, bigNumCodec, byteArrayCodec) +import HydraAuctionOffchain.Codec (bigNumCodec, byteArrayCodec) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms ( AuctionTerms(AuctionTerms) , totalAuctionFees @@ -45,7 +45,6 @@ import HydraAuctionOffchain.Lib.Cose (mkSigStructure) import HydraAuctionOffchain.Lib.Crypto (verifySignature) import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import HydraAuctionOffchain.Lib.ToData (serializeData) -import JS.BigInt (BigInt) import Type.Proxy (Proxy(Proxy)) newtype BidTerms = BidTerms diff --git a/src/Contract/Types/Plutus/BidderInfo.purs b/src/Contract/Types/Plutus/BidderInfo.purs index 2112ac6..8113d34 100644 --- a/src/Contract/Types/Plutus/BidderInfo.purs +++ b/src/Contract/Types/Plutus/BidderInfo.purs @@ -19,7 +19,7 @@ import Data.Maybe (Maybe(Nothing), fromJust) import Data.Newtype (class Newtype, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (addressCodec, plutusAddressCodec) +import HydraAuctionOffchain.Codec (plutusAddressCodec) import HydraAuctionOffchain.Contract.Types.VerificationKey ( VerificationKey , vkeyBytes diff --git a/src/Contract/Types/Plutus/DelegateGroupInfo.purs b/src/Contract/Types/Plutus/DelegateGroupInfo.purs index 5e6db81..a4ba270 100644 --- a/src/Contract/Types/Plutus/DelegateGroupInfo.purs +++ b/src/Contract/Types/Plutus/DelegateGroupInfo.purs @@ -1,5 +1,6 @@ module HydraAuctionOffchain.Contract.Types.Plutus.DelegateGroupInfo where +{- import Prelude import Cardano.Types (RawBytes, ScriptHash, URL) @@ -10,7 +11,6 @@ import Data.Show.Generic (genericShow) import Data.Typelevel.Undefined (undefined) import Data.UInt (UInt) -{- type Url = String newtype DelegateGroupMetadata = DelegateGroupMetadata diff --git a/src/Contract/Validators/AuctionEscrow.purs b/src/Contract/Validators/AuctionEscrow.purs index 6c87c26..2ea7a68 100644 --- a/src/Contract/Validators/AuctionEscrow.purs +++ b/src/Contract/Validators/AuctionEscrow.purs @@ -2,8 +2,6 @@ module HydraAuctionOffchain.Contract.Validators.AuctionEscrow ( mkAuctionEscrowValidator ) where -import Prelude - import Cardano.Types (PlutusScript) import Contract.Monad (Contract) import Contract.PlutusData (toData) diff --git a/src/Contract/Validators/AuctionValidators.purs b/src/Contract/Validators/AuctionValidators.purs index 43097ee..55f2938 100644 --- a/src/Contract/Validators/AuctionValidators.purs +++ b/src/Contract/Validators/AuctionValidators.purs @@ -14,14 +14,13 @@ import Prelude import Cardano.Types (PlutusScript) import Cardano.Types.PlutusScript (hash) as PlutusScript import Contract.Monad (Contract) -import Contract.Scripts (validatorHash) import Contract.Value (CurrencySymbol) import Control.Monad.Except (ExceptT) import Control.Monad.Trans.Class (lift) import Data.Codec.Argonaut (JsonCodec) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG import Data.Generic.Rep (class Generic) -import Data.Newtype (class Newtype, unwrap) +import Data.Newtype (class Newtype) import Data.Show.Generic (genericShow) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms (AuctionTerms) import HydraAuctionOffchain.Contract.Types.Scripts diff --git a/src/Contract/Validators/BidderDeposit.purs b/src/Contract/Validators/BidderDeposit.purs index efb5916..945cd70 100644 --- a/src/Contract/Validators/BidderDeposit.purs +++ b/src/Contract/Validators/BidderDeposit.purs @@ -2,8 +2,6 @@ module HydraAuctionOffchain.Contract.Validators.BidderDeposit ( mkBidderDepositValidator ) where -import Prelude - import Cardano.ToData (toData) import Cardano.Types (PlutusScript) import Contract.Monad (Contract) diff --git a/src/Contract/Validators/StandingBid.purs b/src/Contract/Validators/StandingBid.purs index d506516..eb097c1 100644 --- a/src/Contract/Validators/StandingBid.purs +++ b/src/Contract/Validators/StandingBid.purs @@ -2,14 +2,11 @@ module HydraAuctionOffchain.Contract.Validators.StandingBid ( mkStandingBidValidator ) where -import Prelude - import Cardano.ToData (toData) import Cardano.Types (PlutusScript) import Contract.Monad (Contract) import Contract.Value (CurrencySymbol) import HydraAuctionOffchain.Contract.Types.Plutus.AuctionTerms (AuctionTerms) -import HydraAuctionOffchain.Helpers (liftEitherShow) import HydraAuctionOffchain.Lib.Script (decodeApplyScript) foreign import standingBidValidator :: String diff --git a/src/Helpers.purs b/src/Helpers.purs index 2ffaea8..0b886f7 100644 --- a/src/Helpers.purs +++ b/src/Helpers.purs @@ -18,17 +18,15 @@ module HydraAuctionOffchain.Helpers import Prelude import Cardano.AsCbor (encodeCbor) -import Cardano.Types (Address, AssetName, ScriptHash(..)) -import Cardano.Types.AssetName (mkAssetName, unAssetName) +import Cardano.Types (Address, AssetName, ScriptHash) +import Cardano.Types.AssetName (mkAssetName) import Contract.CborBytes (cborBytesToHex) import Contract.Monad (Contract) import Contract.PlutusData (class FromData, OutputDatum(OutputDatum), fromData) -import Contract.Prim.ByteArray (byteArrayFromAscii, byteArrayToHex) -import Contract.Scripts (PlutusScript(PlutusScript)) +import Contract.Prim.ByteArray (byteArrayFromAscii) import Contract.Time (POSIXTime) -import Contract.Transaction (ScriptRef(PlutusScriptRef), TransactionOutput) +import Contract.Transaction (TransactionOutput) import Contract.Utxos (utxosAt) -import Contract.Value (CurrencySymbol, TokenName) import Control.Error.Util (hush, (!?)) import Control.Monad.Error.Class (class MonadError, class MonadThrow, liftEither, try) import Control.Monad.Except (ExceptT) @@ -40,12 +38,10 @@ import Data.DateTime.Instant (instant, toDateTime, unInstant) import Data.Either (Either) import Data.Foldable (length) import Data.Int (toNumber) as Int -import Data.Map (toUnfoldable, values) as Map -import Data.Maybe (Maybe(Just, Nothing), fromJust, fromMaybe') +import Data.Map (values) as Map +import Data.Maybe (Maybe(Just, Nothing), fromMaybe') import Data.Newtype (unwrap, wrap) import Data.Time.Duration (class Duration, Seconds(Seconds), fromDuration) -import Data.Tuple (snd) -import Data.Tuple.Nested ((/\)) import Data.Validation.Semigroup (V, invalid) import Effect.Aff (delay) import Effect.Aff.Class (class MonadAff, liftAff) diff --git a/src/Lib/Codec.purs b/src/Lib/Codec.purs index 17985a3..379f186 100644 --- a/src/Lib/Codec.purs +++ b/src/Lib/Codec.purs @@ -16,7 +16,6 @@ import Prelude import Cardano.Types (AssetName, BigNum) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (TransactionHash) -import Contract.Value (TokenName) import Control.Alt ((<|>)) import Data.Argonaut (Json) import Data.Argonaut (caseJsonObject, fromObject) as A diff --git a/src/Lib/Cose.purs b/src/Lib/Cose.purs index a20954f..2b12e55 100644 --- a/src/Lib/Cose.purs +++ b/src/Lib/Cose.purs @@ -6,7 +6,7 @@ module HydraAuctionOffchain.Lib.Cose import Prelude import Cardano.AsCbor (encodeCbor) -import Cardano.Types (Address, NetworkId) +import Cardano.Types (Address) import Contract.Prim.ByteArray (ByteArray, CborBytes) import Effect (Effect) diff --git a/src/Lib/Plutus/Address.purs b/src/Lib/Plutus/Address.purs index a2c851a..14c81fc 100644 --- a/src/Lib/Plutus/Address.purs +++ b/src/Lib/Plutus/Address.purs @@ -2,8 +2,6 @@ module HydraAuctionOffchain.Lib.Plutus.Address ( toPubKeyHash ) where -import Prelude - import Cardano.Plutus.Types.Address (Address) as Plutus import Cardano.Plutus.Types.Credential (Credential(PubKeyCredential)) as Plutus import Cardano.Plutus.Types.PubKeyHash (PubKeyHash) as Plutus diff --git a/src/Types/WalletApp.purs b/src/Types/WalletApp.purs index 0b2dc64..914ac43 100644 --- a/src/Types/WalletApp.purs +++ b/src/Types/WalletApp.purs @@ -12,7 +12,6 @@ import Data.Codec.Argonaut (JsonCodec, prismaticCodec, string) as CA import Data.Generic.Rep (class Generic) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap, wrap) -import Data.Show.Generic (genericShow) import Data.String.Read (class Read, read) import HydraAuctionOffchain.Lib.Codec (class HasJson) diff --git a/test/Contract/AnnounceAuction.purs b/test/Contract/AnnounceAuction.purs index 2fd4af6..1cf953e 100644 --- a/test/Contract/AnnounceAuction.purs +++ b/test/Contract/AnnounceAuction.purs @@ -8,10 +8,10 @@ module Test.Contract.AnnounceAuction import Contract.Prelude import Cardano.Plutus.Types.Value (fromCardano) as Plutus.Value -import Cardano.Types (Mint, ScriptHash, Value(Value)) +import Cardano.Types (Mint, ScriptHash, Value) import Cardano.Types.BigNum (one) as BigNum import Cardano.Types.Int (one) as Cardano.Int -import Cardano.Types.Mint (singleton, toMultiAsset) as Mint +import Cardano.Types.Mint (singleton) as Mint import Cardano.Types.PlutusScript (hash) as PlutusScript import Cardano.Types.Value (singleton) as Value import Contract.Chain (currentTime) diff --git a/test/Contract/DelegateServer.purs b/test/Contract/DelegateServer.purs index be43c58..b766fdd 100644 --- a/test/Contract/DelegateServer.purs +++ b/test/Contract/DelegateServer.purs @@ -52,7 +52,6 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Helpers (mkPosixTimeUnsafe, randomElem, waitSeconds) import HydraAuctionOffchain.Wallet (signMessage) -import JS.BigInt (BigInt, fromInt) import Mote (group, skip, test) import Partial.Unsafe (unsafePartial) import Test.Contract.AnnounceAuction (AuctionTermsMutator, announceAuctionFix) diff --git a/test/Contract/EnterAuction.purs b/test/Contract/EnterAuction.purs index 1c50c7b..76f9efb 100644 --- a/test/Contract/EnterAuction.purs +++ b/test/Contract/EnterAuction.purs @@ -17,8 +17,6 @@ import Control.Monad.Except (runExceptT) import HydraAuctionOffchain.Contract (mkEnterAuctionContractWithErrors) import HydraAuctionOffchain.Contract.Types (AuctionInfoExtended, ContractResult) import HydraAuctionOffchain.Helpers (fromJustWithErr) -import JS.BigInt (BigInt) -import JS.BigInt (fromInt, toInt) as BigInt import Mote (group, test) import Test.Contract.AnnounceAuction (announceAuction) import Test.Helpers (defDistribution) diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 4f2a5c7..6108791 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -16,7 +16,6 @@ import Cardano.Types.Int (fromInt) as Cardano.Int import Cardano.Types.PublicKey (hash) as PublicKey import Cardano.Wallet.Key (KeyWallet(KeyWallet)) import Contract.Config (QueryBackendParams, mkCtlBackendParams) -import Contract.Hashing (publicKeyHash) import Contract.Monad (Contract, ContractEnv, liftContractM, liftedE, runContractInEnv) import Contract.Test (class UtxoDistribution, ContractTest(ContractTest)) import Contract.Test.Testnet (TestnetConfig) @@ -63,7 +62,7 @@ import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Effect.Exception (error) import Effect.Unsafe (unsafePerformEffect) -import HydraAuctionOffchain.Codec (bigIntCodecNum, bigNumCodec) +import HydraAuctionOffchain.Codec (bigNumCodec) import HydraAuctionOffchain.Contract.Types ( AuctionInfoExtended , BidTerms @@ -72,7 +71,6 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Helpers (fromJustWithErr, randomElem) import HydraAuctionOffchain.Lib.Json (caDecodeFile, caEncodeString) -import JS.BigInt (BigInt) import Node.Buffer (toString) as Buffer import Node.ChildProcess (defaultExecSyncOptions, execSync) import Node.Encoding (Encoding(UTF8)) as Encoding diff --git a/test/Gen.purs b/test/Gen.purs index 2c6845f..6a8a4fb 100644 --- a/test/Gen.purs +++ b/test/Gen.purs @@ -14,7 +14,6 @@ import Control.Monad.Gen.Common (genMaybe) import Data.Maybe (Maybe(Nothing)) import Data.Newtype (wrap) import HydraAuctionOffchain.Contract.Types (BidTerms, BidderInfo, StandingBidState) -import JS.BigInt (fromInt) as BigInt import Test.QuickCheck (arbitrary) import Test.QuickCheck.Gen (Gen, chooseInt) diff --git a/test/Helpers.purs b/test/Helpers.purs index 38fec8a..4f64e6c 100644 --- a/test/Helpers.purs +++ b/test/Helpers.purs @@ -50,7 +50,7 @@ import Effect.Aff.Class (class MonadAff, liftAff) import Effect.Class (class MonadEffect, liftEffect) import HydraAuctionOffchain.Contract.Types (VerificationKey, vkeyFromBytes) import HydraAuctionOffchain.Helpers (fromJustWithErr, waitSeconds) -import JS.BigInt (fromInt, toNumber) as BigInt +import JS.BigInt (toNumber) as BigInt import Node.Encoding (Encoding(UTF8)) as Encoding import Node.FS.Sync (exists, mkdir, writeTextFile) as FSSync import Node.Path (FilePath) diff --git a/test/Main.purs b/test/Main.purs index 9cef2eb..c8b81aa 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -10,7 +10,7 @@ import Contract.Test.Utils (interruptOnSignal) import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) import Effect (Effect) import Effect.Aff (Aff, launchAff) -import Mote (group, skip) +import Mote (group) import Test.Contract.AnnounceAuction (suite) as AnnounceAuction import Test.Contract.AuthorizeBidders (suite) as AuthorizeBidders import Test.Contract.DelegateServer (suite) as DelegateServer @@ -28,14 +28,13 @@ main = do suite :: TestPlanM (Aff Unit) Unit suite = do group "delegate-server" do - -- WsServer.suite + WsServer.suite testTestnetContracts localnetConfig do DelegateServer.suite --- group "contracts" do -{- -AnnounceAuction.suite -StartBidding.suite -EnterAuction.suite -AuthorizeBidders.suite -PlaceBid.suite --} + + group "contracts" do + AnnounceAuction.suite + StartBidding.suite + EnterAuction.suite + AuthorizeBidders.suite + PlaceBid.suite From 3e754c9fe34af0706931ad37dfc1f012ada159a9 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 13 Sep 2024 17:57:39 +0200 Subject: [PATCH 11/23] build: rewrite flake.nix without liqwid-nix --- Makefile | 34 +- flake.lock | 5348 ++++++-------------------------------------- flake.nix | 135 +- spago-packages.nix | 24 - 4 files changed, 842 insertions(+), 4699 deletions(-) diff --git a/Makefile b/Makefile index 3106711..2a3324f 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,11 @@ .PHONY: requires-nix-shell build bundle bundle-docker serve repl \ - format check plutip-test plutip-env delegate-server-help \ - delegate-cluster delegate-cluster-cleanup + format check-format localnet-env delegate-server-help \ + delegate-cluster delegate-cluster-cleanup test test-nix -purs-args := "--stash --censor-lib --censor-codes=ImplicitImport,ImplicitQualifiedImport,UserDefinedWarning" +ps-sources := $(shell fd --no-ignore-parent -epurs) +nix-sources := $(shell fd --no-ignore-parent -enix --exclude='spago*') +js-sources := $(shell fd --no-ignore-parent -ejs) +purs-args := "--stash --censor-lib --censor-codes=ImplicitImport,ImplicitQualifiedImport,ImplicitQualifiedImportReExport,UserDefinedWarning" ha-frontend-api := ha-frontend-api delegate-cluster-docker-compose := docker/delegate-cluster/docker-compose.yaml @@ -12,15 +15,23 @@ requires-nix-shell: && false \ ) -format: - @nix run .#pursFormat && nix run .#jsFormat && nix run .#nixFormat - -check: - @nix build .#checks.x86_64-linux.all - build: requires-nix-shell spago build --purs-args ${purs-args} +test: requires-nix-shell + CARDANO_NETWORK=mainnet spago run --main Test.Main + +test-nix: + nix run .#checks.x86_64-linux.hydra-auction-offchain-tests + +format: requires-nix-shell + @purs-tidy format-in-place ${ps-sources} + @nixpkgs-fmt ${nix-sources} + @prettier -w ${js-sources} + +check-format: + nix run .#checks.x86_64-linux.formatting-check + bundle: build requires-nix-shell node bundle.js && tsc --emitDeclarationOnly @@ -37,10 +48,7 @@ serve: repl: requires-nix-shell spago repl -test: requires-nix-shell - CARDANO_NETWORK=mainnet spago run --main Test.Main - -plutip-env: requires-nix-shell +localnet-env: requires-nix-shell spago run --main PlutipEnv.Main --exec-args "--payment-skey-file plutip-env/payment.skey" delegate-server-help: requires-nix-shell diff --git a/flake.lock b/flake.lock index 6f9f891..a1047e6 100644 --- a/flake.lock +++ b/flake.lock @@ -34,23 +34,6 @@ "type": "github" } }, - "CHaP_11": { - "flake": false, - "locked": { - "lastModified": 1666576849, - "narHash": "sha256-FDFmN3TzQsUjNxGlKKTFpLOUOnvsQMNI4o3MahJw9zA=", - "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "97aab5bc3f59108d97a6bb0c4d07ae1b79b005ca", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", - "type": "github" - } - }, "CHaP_2": { "flake": false, "locked": { @@ -379,54 +362,6 @@ "type": "github" } }, - "HTTP_20": { - "flake": false, - "locked": { - "lastModified": 1451647621, - "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", - "owner": "phadej", - "repo": "HTTP", - "rev": "9bc0996d412fef1787449d841277ef663ad9a915", - "type": "github" - }, - "original": { - "owner": "phadej", - "repo": "HTTP", - "type": "github" - } - }, - "HTTP_21": { - "flake": false, - "locked": { - "lastModified": 1451647621, - "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", - "owner": "phadej", - "repo": "HTTP", - "rev": "9bc0996d412fef1787449d841277ef663ad9a915", - "type": "github" - }, - "original": { - "owner": "phadej", - "repo": "HTTP", - "type": "github" - } - }, - "HTTP_22": { - "flake": false, - "locked": { - "lastModified": 1451647621, - "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", - "owner": "phadej", - "repo": "HTTP", - "rev": "9bc0996d412fef1787449d841277ef663ad9a915", - "type": "github" - }, - "original": { - "owner": "phadej", - "repo": "HTTP", - "type": "github" - } - }, "HTTP_3": { "flake": false, "locked": { @@ -635,7 +570,7 @@ "agenix_3": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -662,7 +597,7 @@ "agenix_4": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -688,7 +623,7 @@ "agenix_5": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -731,7 +666,7 @@ "agenix_7": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -757,7 +692,7 @@ "agenix_8": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -821,7 +756,7 @@ "flake-parts": "flake-parts_2", "inclusive": "inclusive", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -1029,50 +964,50 @@ "bitte-cells": { "inputs": { "cardano-db-sync": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-db-sync" ], "cardano-iohk-nix": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "iohk-nix" ], "cardano-node": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-node" ], "cardano-wallet": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet" ], "cicero": "cicero", "data-merge": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "data-merge" ], "n2c": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "n2c" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "nixpkgs" ], "std": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std" @@ -1340,66 +1275,6 @@ "type": "github" } }, - "blank_20": { - "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "blank", - "type": "github" - } - }, - "blank_21": { - "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "blank", - "type": "github" - } - }, - "blank_22": { - "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "blank", - "type": "github" - } - }, - "blank_23": { - "locked": { - "lastModified": 1625557891, - "narHash": "sha256-O8/MWsPBGhhyPoPLHZAuoZiiHo9q6FLlEeIDEXuj6T4=", - "owner": "divnix", - "repo": "blank", - "rev": "5a5d2684073d9f563072ed07c871d577a6c614a8", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "blank", - "type": "github" - } - }, "blank_3": { "locked": { "lastModified": 1625557891, @@ -1916,57 +1791,6 @@ "type": "github" } }, - "cabal-32_20": { - "flake": false, - "locked": { - "lastModified": 1603716527, - "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", - "owner": "haskell", - "repo": "cabal", - "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.2", - "repo": "cabal", - "type": "github" - } - }, - "cabal-32_21": { - "flake": false, - "locked": { - "lastModified": 1603716527, - "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", - "owner": "haskell", - "repo": "cabal", - "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.2", - "repo": "cabal", - "type": "github" - } - }, - "cabal-32_22": { - "flake": false, - "locked": { - "lastModified": 1603716527, - "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", - "owner": "haskell", - "repo": "cabal", - "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.2", - "repo": "cabal", - "type": "github" - } - }, "cabal-32_3": { "flake": false, "locked": { @@ -2290,57 +2114,6 @@ "type": "github" } }, - "cabal-34_20": { - "flake": false, - "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", - "owner": "haskell", - "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.4", - "repo": "cabal", - "type": "github" - } - }, - "cabal-34_21": { - "flake": false, - "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", - "owner": "haskell", - "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.4", - "repo": "cabal", - "type": "github" - } - }, - "cabal-34_22": { - "flake": false, - "locked": { - "lastModified": 1640353650, - "narHash": "sha256-N1t6M3/wqj90AEdRkeC8i923gQYUpzSr8b40qVOZ1Rk=", - "owner": "haskell", - "repo": "cabal", - "rev": "942639c18c0cd8ec53e0a6f8d120091af35312cd", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.4", - "repo": "cabal", - "type": "github" - } - }, "cabal-34_3": { "flake": false, "locked": { @@ -2664,14 +2437,14 @@ "type": "github" } }, - "cabal-36_20": { + "cabal-36_3": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2681,14 +2454,14 @@ "type": "github" } }, - "cabal-36_21": { + "cabal-36_4": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2698,14 +2471,14 @@ "type": "github" } }, - "cabal-36_22": { + "cabal-36_5": { "flake": false, "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", "owner": "haskell", "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", "type": "github" }, "original": { @@ -2715,14 +2488,14 @@ "type": "github" } }, - "cabal-36_3": { + "cabal-36_6": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", "type": "github" }, "original": { @@ -2732,14 +2505,14 @@ "type": "github" } }, - "cabal-36_4": { + "cabal-36_7": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", "owner": "haskell", "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "rev": "f27667f8ec360c475027dcaee0138c937477b070", "type": "github" }, "original": { @@ -2749,62 +2522,11 @@ "type": "github" } }, - "cabal-36_5": { + "cabal-36_8": { "flake": false, "locked": { - "lastModified": 1669081697, - "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", - "owner": "haskell", - "repo": "cabal", - "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.6", - "repo": "cabal", - "type": "github" - } - }, - "cabal-36_6": { - "flake": false, - "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", - "owner": "haskell", - "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.6", - "repo": "cabal", - "type": "github" - } - }, - "cabal-36_7": { - "flake": false, - "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", - "owner": "haskell", - "repo": "cabal", - "rev": "f27667f8ec360c475027dcaee0138c937477b070", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "3.6", - "repo": "cabal", - "type": "github" - } - }, - "cabal-36_8": { - "flake": false, - "locked": { - "lastModified": 1641652457, - "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", + "lastModified": 1641652457, + "narHash": "sha256-BlFPKP4C4HRUJeAbdembX1Rms1LD380q9s0qVDeoAak=", "owner": "haskell", "repo": "cabal", "rev": "f27667f8ec360c475027dcaee0138c937477b070", @@ -2910,19 +2632,19 @@ "inputs": { "flake-utils": "flake-utils_4", "haskellNix": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "haskellNix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "nixpkgs" ], "tullia": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia" @@ -2946,13 +2668,13 @@ "inputs": { "flake-utils": "flake-utils_9", "haskellNix": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "haskellNix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "nixpkgs" @@ -2977,12 +2699,12 @@ "inputs": { "flake-utils": "flake-utils_16", "haskellNix": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "haskellNix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "nixpkgs" ], @@ -3091,7 +2813,7 @@ "haskellNix": "haskellNix", "iohkNix": "iohkNix", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "haskellNix", @@ -3232,23 +2954,6 @@ "type": "github" } }, - "cardano-haskell-packages_3": { - "flake": false, - "locked": { - "lastModified": 1670900592, - "narHash": "sha256-SZlQp3W0WdxB00gO5A0krgDw7CLESm5jWZ6S+GPxCxA=", - "owner": "input-output-hk", - "repo": "cardano-haskell-packages", - "rev": "052db7f6a2d5d24cfce829868d1a54e339dea229", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "repo", - "repo": "cardano-haskell-packages", - "type": "github" - } - }, "cardano-mainnet-mirror": { "inputs": { "nixpkgs": "nixpkgs_15" @@ -3339,7 +3044,7 @@ "flake-root": "flake-root", "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix", @@ -3371,14 +3076,14 @@ "hackageNix": "hackageNix_4", "haskellNix": "haskellNix_4", "hostNixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "nixpkgs" ], "iohkNix": "iohkNix_4", "nix2container": "nix2container_6", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "haskellNix", "nixpkgs-unstable" @@ -3414,7 +3119,7 @@ "hackageNix": "hackageNix_2", "haskellNix": "haskellNix_2", "hostNixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "nixpkgs" @@ -3422,7 +3127,7 @@ "iohkNix": "iohkNix_2", "nix2container": "nix2container", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "haskellNix", @@ -3430,7 +3135,7 @@ ], "ops-lib": "ops-lib", "std": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -3466,7 +3171,7 @@ "hackageNix": "hackageNix_3", "haskellNix": "haskellNix_3", "hostNixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "nixpkgs" @@ -3474,7 +3179,7 @@ "iohkNix": "iohkNix_3", "nix2container": "nix2container_4", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "haskellNix", @@ -3594,7 +3299,7 @@ "iohk-nix-ng": "iohk-nix-ng", "nix": "nix_2", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "nixpkgs" @@ -3812,54 +3517,6 @@ "type": "github" } }, - "cardano-shell_20": { - "flake": false, - "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", - "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-shell", - "type": "github" - } - }, - "cardano-shell_21": { - "flake": false, - "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", - "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-shell", - "type": "github" - } - }, - "cardano-shell_22": { - "flake": false, - "locked": { - "lastModified": 1608537748, - "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", - "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "9392c75087cb9a3d453998f4230930dea3a95725", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-shell", - "type": "github" - } - }, "cardano-shell_3": { "flake": false, "locked": { @@ -3972,43 +3629,6 @@ "type": "github" } }, - "cardano-transaction-lib": { - "inputs": { - "CHaP": "CHaP", - "blockfrost": "blockfrost", - "cardano-configurations": "cardano-configurations", - "cardano-nix": "cardano-nix", - "cardano-node": "cardano-node", - "db-sync": "db-sync", - "easy-purescript-nix": "easy-purescript-nix", - "flake-compat": "flake-compat_24", - "hackage-nix": "hackage-nix", - "haskell-nix": "haskell-nix_4", - "hercules-ci-effects": "hercules-ci-effects_2", - "iohk-nix": "iohk-nix_3", - "nixpkgs": [ - "cardano-transaction-lib", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-arion": "nixpkgs-arion", - "ogmios": "ogmios_2" - }, - "locked": { - "lastModified": 1723650917, - "narHash": "sha256-LmLjI3zvXLI5WQTueoQVBPrtg2TiwyFSdtREu6vI0fc=", - "owner": "Plutonomicon", - "repo": "cardano-transaction-lib", - "rev": "a92a8b7b48ea68fa0c846dcc8803189f7908386b", - "type": "github" - }, - "original": { - "owner": "Plutonomicon", - "ref": "v9.2.0", - "repo": "cardano-transaction-lib", - "type": "github" - } - }, "cardano-wallet": { "inputs": { "customConfig": "customConfig_4", @@ -4018,7 +3638,7 @@ "flake-utils": "flake-utils_40", "haskellNix": "haskellNix_5", "hostNixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet", @@ -4026,7 +3646,7 @@ ], "iohkNix": "iohkNix_5", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet", @@ -4073,7 +3693,7 @@ "byron-chain": "byron-chain", "capsules": "capsules_2", "cardano-db-sync": [ - "cardano-transaction-lib", + "ctl", "db-sync" ], "cardano-explorer-app": "cardano-explorer-app", @@ -4089,7 +3709,7 @@ "nix-inclusive": "nix-inclusive", "nixpkgs": "nixpkgs_92", "nixpkgs-haskell": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "haskell-nix", @@ -4147,7 +3767,7 @@ "flake-compat": "flake-compat", "flake-utils": "flake-utils", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -4175,7 +3795,7 @@ "flake-compat": "flake-compat_12", "flake-utils": "flake-utils_14", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -4343,6 +3963,43 @@ "type": "github" } }, + "ctl": { + "inputs": { + "CHaP": "CHaP", + "blockfrost": "blockfrost", + "cardano-configurations": "cardano-configurations", + "cardano-nix": "cardano-nix", + "cardano-node": "cardano-node", + "db-sync": "db-sync", + "easy-purescript-nix": "easy-purescript-nix", + "flake-compat": "flake-compat_24", + "hackage-nix": "hackage-nix", + "haskell-nix": "haskell-nix_4", + "hercules-ci-effects": "hercules-ci-effects_2", + "iohk-nix": "iohk-nix_3", + "nixpkgs": [ + "ctl", + "haskell-nix", + "nixpkgs-unstable" + ], + "nixpkgs-arion": "nixpkgs-arion", + "ogmios": "ogmios_2" + }, + "locked": { + "lastModified": 1723650917, + "narHash": "sha256-LmLjI3zvXLI5WQTueoQVBPrtg2TiwyFSdtREu6vI0fc=", + "owner": "Plutonomicon", + "repo": "cardano-transaction-lib", + "rev": "a92a8b7b48ea68fa0c846dcc8803189f7908386b", + "type": "github" + }, + "original": { + "owner": "Plutonomicon", + "ref": "v9.2.0", + "repo": "cardano-transaction-lib", + "type": "github" + } + }, "customConfig": { "locked": { "lastModified": 1630400035, @@ -4494,7 +4151,7 @@ "haskellNix": "haskellNix_6", "iohkNix": "iohkNix_6", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "haskellNix", "nixpkgs-unstable" @@ -4521,7 +4178,7 @@ "fenix": "fenix_3", "flake-compat": "flake-compat_17", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -4552,7 +4209,7 @@ "fenix": "fenix_5", "flake-compat": "flake-compat_18", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -4581,7 +4238,7 @@ "fenix": "fenix_7", "flake-compat": "flake-compat_19", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -4625,7 +4282,7 @@ "devshell": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -4633,7 +4290,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -4673,7 +4330,7 @@ "devshell_11": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -4681,7 +4338,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -4815,14 +4472,14 @@ "devshell_19": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", @@ -4846,7 +4503,7 @@ "devshell_2": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -4855,7 +4512,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -4882,7 +4539,7 @@ "inputs": { "flake-utils": "flake-utils_46", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "tullia", @@ -5219,7 +4876,7 @@ "devshell_3": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -5313,29 +4970,21 @@ "type": "github" } }, - "devshell_32": { + "devshell_4": { "inputs": { - "flake-utils": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "flake-utils" - ], "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", + "ctl", + "cardano-nix", "nixpkgs" - ] + ], + "systems": "systems_3" }, "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "lastModified": 1695973661, + "narHash": "sha256-BP2H4c42GThPIhERtTpV1yCtwQHYHEKdRu7pjrmQAwo=", "owner": "numtide", "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "rev": "cd4e2fda3150dd2f689caeac07b7f47df5197c31", "type": "github" }, "original": { @@ -5344,22 +4993,20 @@ "type": "github" } }, - "devshell_33": { + "devshell_5": { "inputs": { "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-node", + "cardano-automation", "tullia", "std", "flake-utils" ], "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" @@ -5379,152 +5026,28 @@ "type": "github" } }, - "devshell_34": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "flake-utils" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] + "devshell_6": { + "locked": { + "lastModified": 1632436039, + "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", + "owner": "numtide", + "repo": "devshell", + "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", + "type": "github" }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_7": { "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "lastModified": 1636119665, + "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", "owner": "numtide", "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_35": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", - "owner": "numtide", - "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_4": { - "inputs": { - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-nix", - "nixpkgs" - ], - "systems": "systems_3" - }, - "locked": { - "lastModified": 1695973661, - "narHash": "sha256-BP2H4c42GThPIhERtTpV1yCtwQHYHEKdRu7pjrmQAwo=", - "owner": "numtide", - "repo": "devshell", - "rev": "cd4e2fda3150dd2f689caeac07b7f47df5197c31", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_5": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", - "owner": "numtide", - "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_6": { - "locked": { - "lastModified": 1632436039, - "narHash": "sha256-OtITeVWcKXn1SpVEnImpTGH91FycCskGBPqmlxiykv4=", - "owner": "numtide", - "repo": "devshell", - "rev": "7a7a7aa0adebe5488e5abaec688fd9ae0f8ea9c6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_7": { - "locked": { - "lastModified": 1636119665, - "narHash": "sha256-e11Z9PyH9hdgTm4Vyl8S5iTwrv0um6+srzb1Ba+YUHA=", - "owner": "numtide", - "repo": "devshell", - "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", + "rev": "ab14b1a3cb253f58e02f5f849d621292fbf81fad", "type": "github" }, "original": { @@ -5566,7 +5089,7 @@ "dmerge": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -5574,7 +5097,7 @@ "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -5923,41 +5446,10 @@ "type": "github" } }, - "dmerge_19": { - "inputs": { - "nixlib": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ], - "yants": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", - "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "data-merge", - "type": "github" - } - }, "dmerge_2": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -5966,7 +5458,7 @@ "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -5989,120 +5481,17 @@ "type": "github" } }, - "dmerge_20": { - "inputs": { - "nixlib": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ], - "yants": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", - "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "data-merge", - "type": "github" - } - }, - "dmerge_21": { - "inputs": { - "nixlib": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ], - "yants": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", - "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "data-merge", - "type": "github" - } - }, - "dmerge_22": { - "inputs": { - "nixlib": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ], - "yants": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", - "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "data-merge", - "type": "github" - } - }, "dmerge_3": { "inputs": { "haumea": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", "haumea" ], "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -6110,7 +5499,7 @@ "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -6135,7 +5524,7 @@ "dmerge_4": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -6143,7 +5532,7 @@ "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -6168,19 +5557,19 @@ "dmerge_5": { "inputs": { "haumea": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "haumea" ], "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "lib" ], "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "yants" @@ -6204,7 +5593,7 @@ "dmerge_6": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -6212,7 +5601,7 @@ "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -6237,14 +5626,14 @@ "dmerge_7": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", "nixpkgs" ], "yants": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", @@ -6341,7 +5730,7 @@ "inclusive": "inclusive_7", "nix": "nix_12", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -6531,30 +5920,14 @@ "type": "github" } }, - "ema_5": { - "flake": false, - "locked": { - "lastModified": 1668972953, - "narHash": "sha256-WyTqCQg9xPqB2wC16PdjocaIL81MBLtjgC3eCzhN5hE=", - "owner": "EmaApps", - "repo": "ema", - "rev": "61faae56aa0f3c6ca815f344684cc566f6341662", - "type": "github" - }, - "original": { - "owner": "EmaApps", - "repo": "ema", - "type": "github" - } - }, - "emanote": { - "inputs": { - "ema": "ema_2", - "flake-parts": "flake-parts_6", - "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs_86", - "tailwind-haskell": "tailwind-haskell" - }, + "emanote": { + "inputs": { + "ema": "ema_2", + "flake-parts": "flake-parts_6", + "haskell-flake": "haskell-flake", + "nixpkgs": "nixpkgs_86", + "tailwind-haskell": "tailwind-haskell" + }, "locked": { "lastModified": 1655823900, "narHash": "sha256-YEDJxa2gPf2+GGyrkFz4EliCml1FyDualZtbbZEmljA=", @@ -6572,7 +5945,7 @@ "emanote_2": { "inputs": { "ema": "ema_3", - "flake-parts": "flake-parts_16", + "flake-parts": "flake-parts_15", "haskell-flake": "haskell-flake_3", "heist": "heist", "heist-extra": "heist-extra", @@ -6603,7 +5976,7 @@ "emanote_3": { "inputs": { "ema": "ema_4", - "flake-parts": "flake-parts_21", + "flake-parts": "flake-parts_20", "haskell-flake": "haskell-flake_5", "heist": "heist_2", "heist-extra": "heist-extra_2", @@ -6630,35 +6003,6 @@ "type": "github" } }, - "emanote_4": { - "inputs": { - "ema": "ema_5", - "flake-parts": "flake-parts_26", - "haskell-flake": "haskell-flake_7", - "heist": "heist_3", - "heist-extra": "heist-extra_3", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1670780484, - "narHash": "sha256-U/TqZ69T0owzlPbNlaLo8FkUdA6ifHT6wTk01VisaS0=", - "owner": "srid", - "repo": "emanote", - "rev": "465a22b13bc3c608bce28725b7de59089bb03683", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "master", - "repo": "emanote", - "type": "github" - } - }, "empty-flake": { "locked": { "lastModified": 1630400035, @@ -6737,7 +6081,7 @@ "fenix": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -6802,7 +6146,7 @@ "fenix_4": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -6848,7 +6192,7 @@ "fenix_6": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -6892,7 +6236,7 @@ "fenix_8": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -7633,22 +6977,6 @@ "type": "github" } }, - "flake-compat_49": { - "flake": false, - "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", - "owner": "input-output-hk", - "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "flake-compat", - "type": "github" - } - }, "flake-compat_5": { "flake": false, "locked": { @@ -7666,118 +6994,6 @@ "type": "github" } }, - "flake-compat_50": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_51": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_52": { - "flake": false, - "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", - "owner": "input-output-hk", - "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_53": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_54": { - "flake": false, - "locked": { - "lastModified": 1635892615, - "narHash": "sha256-harGbMZr4hzat2BWBU+Y5OYXlu+fVz7E4WeQzHi5o8A=", - "owner": "input-output-hk", - "repo": "flake-compat", - "rev": "eca47d3377946315596da653862d341ee5341318", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_55": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_56": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-compat_6": { "flake": false, "locked": { @@ -7866,24 +7082,6 @@ "inputs": { "nixpkgs-lib": "nixpkgs-lib_8" }, - "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_11": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_9" - }, "locked": { "lastModified": 1698882062, "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", @@ -7897,9 +7095,9 @@ "type": "indirect" } }, - "flake-parts_12": { + "flake-parts_11": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_10" + "nixpkgs-lib": "nixpkgs-lib_9" }, "locked": { "lastModified": 1672616755, @@ -7914,9 +7112,9 @@ "type": "indirect" } }, - "flake-parts_13": { + "flake-parts_12": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_11" + "nixpkgs-lib": "nixpkgs-lib_10" }, "locked": { "lastModified": 1678379998, @@ -7932,9 +7130,9 @@ "type": "github" } }, - "flake-parts_14": { + "flake-parts_13": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_12" + "nixpkgs-lib": "nixpkgs-lib_11" }, "locked": { "lastModified": 1678379998, @@ -7949,7 +7147,7 @@ "type": "indirect" } }, - "flake-parts_15": { + "flake-parts_14": { "inputs": { "nixpkgs-lib": [ "hydra-auction-onchain", @@ -7974,9 +7172,9 @@ "type": "github" } }, - "flake-parts_16": { + "flake-parts_15": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_13" + "nixpkgs-lib": "nixpkgs-lib_12" }, "locked": { "lastModified": 1668450977, @@ -7992,7 +7190,7 @@ "type": "github" } }, - "flake-parts_17": { + "flake-parts_16": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -8018,9 +7216,9 @@ "type": "github" } }, - "flake-parts_18": { + "flake-parts_17": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_14" + "nixpkgs-lib": "nixpkgs-lib_13" }, "locked": { "lastModified": 1678379998, @@ -8036,9 +7234,9 @@ "type": "github" } }, - "flake-parts_19": { + "flake-parts_18": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_15" + "nixpkgs-lib": "nixpkgs-lib_14" }, "locked": { "lastModified": 1678379998, @@ -8053,16 +7251,22 @@ "type": "indirect" } }, - "flake-parts_2": { + "flake-parts_19": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] }, "locked": { - "lastModified": 1682984683, - "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "86684881e184f41aa322e653880e497b66429f3e", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", "type": "github" }, "original": { @@ -8071,22 +7275,16 @@ "type": "github" } }, - "flake-parts_20": { + "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "hydra-auction-onchain", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1682984683, + "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "86684881e184f41aa322e653880e497b66429f3e", "type": "github" }, "original": { @@ -8095,9 +7293,9 @@ "type": "github" } }, - "flake-parts_21": { + "flake-parts_20": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_16" + "nixpkgs-lib": "nixpkgs-lib_15" }, "locked": { "lastModified": 1668450977, @@ -8113,7 +7311,7 @@ "type": "github" } }, - "flake-parts_22": { + "flake-parts_21": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -8138,113 +7336,13 @@ "type": "github" } }, - "flake-parts_23": { + "flake-parts_3": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_17" + "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_24": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_18" - }, - "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_25": { - "inputs": { - "nixpkgs-lib": [ - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_26": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_19" - }, - "locked": { - "lastModified": 1668450977, - "narHash": "sha256-cfLhMhnvXn6x1vPm+Jow3RiFAUSCw/l1utktCw5rVA4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "d591857e9d7dd9ddbfba0ea02b43b927c3c0f1fa", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_27": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1664391900, - "narHash": "sha256-hQWV36ptF8pQY9J+finEOYUxhfSjbB6aDHXw/4go+44=", - "owner": "mlabs-haskell", - "repo": "flake-parts", - "rev": "a8a2d7085a2ffbf06c7b11767018dd7a4c5d4e1b", - "type": "github" - }, - "original": { - "owner": "mlabs-haskell", - "ref": "fix-for-ifd", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", "owner": "hercules-ci", "repo": "flake-parts", "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", @@ -8313,7 +7411,7 @@ "flake-parts_7": { "inputs": { "nixpkgs-lib": [ - "cardano-transaction-lib", + "ctl", "hercules-ci-effects", "nixpkgs" ] @@ -8336,11 +7434,11 @@ "nixpkgs-lib": "nixpkgs-lib_6" }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { @@ -8354,11 +7452,11 @@ "nixpkgs-lib": "nixpkgs-lib_7" }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -8412,13 +7510,13 @@ "type": "github" } }, - "flake-utils_100": { + "flake-utils_11": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -8427,7 +7525,7 @@ "type": "github" } }, - "flake-utils_101": { + "flake-utils_12": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8442,7 +7540,7 @@ "type": "github" } }, - "flake-utils_102": { + "flake-utils_13": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8457,13 +7555,13 @@ "type": "github" } }, - "flake-utils_103": { + "flake-utils_14": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -8472,13 +7570,16 @@ "type": "github" } }, - "flake-utils_104": { + "flake-utils_15": { + "inputs": { + "systems": "systems_4" + }, "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -8487,13 +7588,13 @@ "type": "github" } }, - "flake-utils_105": { + "flake-utils_16": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -8502,13 +7603,13 @@ "type": "github" } }, - "flake-utils_106": { + "flake-utils_17": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8517,13 +7618,13 @@ "type": "github" } }, - "flake-utils_107": { + "flake-utils_18": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -8532,7 +7633,7 @@ "type": "github" } }, - "flake-utils_108": { + "flake-utils_19": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8547,28 +7648,32 @@ "type": "github" } }, - "flake-utils_109": { + "flake-utils_2": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", "type": "github" }, "original": { - "owner": "numtide", + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", "repo": "flake-utils", "type": "github" } }, - "flake-utils_11": { + "flake-utils_20": { + "inputs": { + "systems": "systems_5" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -8577,13 +7682,13 @@ "type": "github" } }, - "flake-utils_110": { + "flake-utils_21": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -8592,13 +7697,13 @@ "type": "github" } }, - "flake-utils_111": { + "flake-utils_22": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -8607,13 +7712,13 @@ "type": "github" } }, - "flake-utils_12": { + "flake-utils_23": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -8622,13 +7727,13 @@ "type": "github" } }, - "flake-utils_13": { + "flake-utils_24": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -8637,13 +7742,13 @@ "type": "github" } }, - "flake-utils_14": { + "flake-utils_25": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -8652,16 +7757,13 @@ "type": "github" } }, - "flake-utils_15": { - "inputs": { - "systems": "systems_4" - }, + "flake-utils_26": { "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -8670,13 +7772,13 @@ "type": "github" } }, - "flake-utils_16": { + "flake-utils_27": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { @@ -8685,13 +7787,13 @@ "type": "github" } }, - "flake-utils_17": { + "flake-utils_28": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -8700,13 +7802,13 @@ "type": "github" } }, - "flake-utils_18": { + "flake-utils_29": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -8715,197 +7817,13 @@ "type": "github" } }, - "flake-utils_19": { + "flake-utils_3": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "locked": { - "lastModified": 1679360468, - "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", - "owner": "hamishmack", - "repo": "flake-utils", - "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", - "type": "github" - }, - "original": { - "owner": "hamishmack", - "ref": "hkm/nested-hydraJobs", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_20": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_21": { - "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_22": { - "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_23": { - "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_24": { - "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_25": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_26": { - "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_27": { - "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_28": { - "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_29": { - "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -9981,81 +8899,6 @@ "type": "github" } }, - "flake-utils_95": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_96": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_97": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_98": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_99": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flakeCompat": { "flake": false, "locked": { @@ -10077,7 +8920,7 @@ "devshell": "devshell_14", "inclusive": "inclusive_8", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -10304,7 +9147,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_20": { + "ghc-8.6.5-iohk_3": { "flake": false, "locked": { "lastModified": 1600920045, @@ -10321,7 +9164,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_21": { + "ghc-8.6.5-iohk_4": { "flake": false, "locked": { "lastModified": 1600920045, @@ -10338,58 +9181,7 @@ "type": "github" } }, - "ghc-8.6.5-iohk_22": { - "flake": false, - "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", - "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", - "type": "github" - } - }, - "ghc-8.6.5-iohk_3": { - "flake": false, - "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", - "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", - "type": "github" - } - }, - "ghc-8.6.5-iohk_4": { - "flake": false, - "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", - "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", - "type": "github" - } - }, - "ghc-8.6.5-iohk_5": { + "ghc-8.6.5-iohk_5": { "flake": false, "locked": { "lastModified": 1600920045, @@ -10508,23 +9300,6 @@ "type": "github" } }, - "ghc-next-packages_3": { - "flake": false, - "locked": { - "lastModified": 1664165793, - "narHash": "sha256-J1MRJGY//HbLTqseX3v50KOwMJSb/86irn4gPWSuWjI=", - "owner": "input-output-hk", - "repo": "ghc-next-packages", - "rev": "62b7db48b3325d6d585ac079576733d3a76bae72", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "repo", - "repo": "ghc-next-packages", - "type": "github" - } - }, "ghc910X": { "flake": false, "locked": { @@ -10713,7 +9488,7 @@ "gitignore": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "pre-commit-hooks-nix", "nixpkgs" @@ -10784,30 +9559,6 @@ "type": "github" } }, - "gitignore-nix_3": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gitignore_2": { "inputs": { "nixpkgs": [ @@ -10906,52 +9657,6 @@ "type": "github" } }, - "gitignore_6": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "pre-commit-hooks-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_7": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gomod2nix": { "inputs": { "nixpkgs": "nixpkgs_18", @@ -11009,63 +9714,6 @@ "type": "github" } }, - "gomod2nix_12": { - "inputs": { - "nixpkgs": "nixpkgs_153", - "utils": "utils_38" - }, - "locked": { - "lastModified": 1655245309, - "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", - "owner": "tweag", - "repo": "gomod2nix", - "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "gomod2nix", - "type": "github" - } - }, - "gomod2nix_13": { - "inputs": { - "nixpkgs": "nixpkgs_159", - "utils": "utils_39" - }, - "locked": { - "lastModified": 1655245309, - "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", - "owner": "tweag", - "repo": "gomod2nix", - "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "gomod2nix", - "type": "github" - } - }, - "gomod2nix_14": { - "inputs": { - "nixpkgs": "nixpkgs_165", - "utils": "utils_40" - }, - "locked": { - "lastModified": 1655245309, - "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=", - "owner": "tweag", - "repo": "gomod2nix", - "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "gomod2nix", - "type": "github" - } - }, "gomod2nix_2": { "inputs": { "nixpkgs": "nixpkgs_22", @@ -11282,22 +9930,6 @@ "type": "github" } }, - "hackage-nix_4": { - "flake": false, - "locked": { - "lastModified": 1667178734, - "narHash": "sha256-0GwFFm9S+2ulW3nFFEONPu7QlM8igY6dwdxhrsjZURM=", - "owner": "input-output-hk", - "repo": "hackage.nix", - "rev": "e24596503629164425c339135fd19a0edbcd6d2f", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "hackage.nix", - "type": "github" - } - }, "hackageNix": { "flake": false, "locked": { @@ -11410,38 +10042,6 @@ "type": "github" } }, - "hackage_12": { - "flake": false, - "locked": { - "lastModified": 1668388507, - "narHash": "sha256-NrZF+AvPCgGwqIkFmq3VZBHDHHxWXRyE6A3VSWJtRr8=", - "owner": "input-output-hk", - "repo": "hackage.nix", - "rev": "b585a1d4005e8aa2c2d3958be88c960dec58540e", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "hackage.nix", - "type": "github" - } - }, - "hackage_13": { - "flake": false, - "locked": { - "lastModified": 1670891293, - "narHash": "sha256-GeM+cYlkCAjLdOu+he9bmaL/hBj3XrVSrNUP4p4OQdg=", - "owner": "input-output-hk", - "repo": "hackage.nix", - "rev": "a63a92060aa872b284db85fb914a7732931a0132", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "hackage.nix", - "type": "github" - } - }, "hackage_2": { "flake": false, "locked": { @@ -11647,37 +10247,6 @@ "type": "github" } }, - "haskell-flake_6": { - "locked": { - "lastModified": 1678138103, - "narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=", - "owner": "hercules-ci", - "repo": "haskell-flake", - "rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "ref": "0.1-extraLibraries", - "repo": "haskell-flake", - "type": "github" - } - }, - "haskell-flake_7": { - "locked": { - "lastModified": 1668167720, - "narHash": "sha256-5wDTR6xt9BB3BjgKR+YOjOkZgMyDXKaX79g42sStzDU=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "4fc511d93a55fedf815c1647ad146c26d7a2054e", - "type": "github" - }, - "original": { - "owner": "srid", - "repo": "haskell-flake", - "type": "github" - } - }, "haskell-language-server": { "flake": false, "locked": { @@ -11712,23 +10281,6 @@ "type": "github" } }, - "haskell-language-server_3": { - "flake": false, - "locked": { - "lastModified": 1663135728, - "narHash": "sha256-ghyyig0GZXRXS56FxH8unpDceU06i/uGBCBmRwneZPw=", - "owner": "haskell", - "repo": "haskell-language-server", - "rev": "ddb21a0c8d4e657c4b81ce250239bccf28fc9524", - "type": "github" - }, - "original": { - "owner": "haskell", - "ref": "1.8.0.0", - "repo": "haskell-language-server", - "type": "github" - } - }, "haskell-nix": { "inputs": { "HTTP": "HTTP", @@ -11746,7 +10298,7 @@ "hydra": "hydra", "iserv-proxy": "iserv-proxy", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -11762,7 +10314,7 @@ "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -11833,141 +10385,6 @@ "type": "github" } }, - "haskell-nix_11": { - "inputs": { - "HTTP": "HTTP_20", - "cabal-32": "cabal-32_20", - "cabal-34": "cabal-34_20", - "cabal-36": "cabal-36_20", - "cardano-shell": "cardano-shell_20", - "flake-compat": "flake-compat_49", - "flake-utils": "flake-utils_95", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_20", - "hackage": "hackage_12", - "hpc-coveralls": "hpc-coveralls_20", - "hydra": "hydra_23", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-2003": "nixpkgs-2003_20", - "nixpkgs-2105": "nixpkgs-2105_20", - "nixpkgs-2111": "nixpkgs-2111_20", - "nixpkgs-2205": "nixpkgs-2205_17", - "nixpkgs-unstable": "nixpkgs-unstable_23", - "old-ghc-nix": "old-ghc-nix_20", - "stackage": "stackage_19", - "tullia": "tullia_13" - }, - "locked": { - "lastModified": 1668485534, - "narHash": "sha256-F3vszm6uCaQz9qo3SMZPkXoabWjp3B+JzPPopkCAibU=", - "owner": "input-output-hk", - "repo": "haskell.nix", - "rev": "cbf1e918b6e278a81c385155605b8504e498efef", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "haskell.nix", - "rev": "cbf1e918b6e278a81c385155605b8504e498efef", - "type": "github" - } - }, - "haskell-nix_12": { - "inputs": { - "HTTP": "HTTP_21", - "cabal-32": "cabal-32_21", - "cabal-34": "cabal-34_21", - "cabal-36": "cabal-36_21", - "cardano-shell": "cardano-shell_21", - "flake-compat": "flake-compat_52", - "flake-utils": "flake-utils_100", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_21", - "hackage": "hackage_13", - "hpc-coveralls": "hpc-coveralls_21", - "hydra": "hydra_24", - "iserv-proxy": "iserv-proxy_11", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-2003": "nixpkgs-2003_21", - "nixpkgs-2105": "nixpkgs-2105_21", - "nixpkgs-2111": "nixpkgs-2111_21", - "nixpkgs-2205": "nixpkgs-2205_18", - "nixpkgs-2211": "nixpkgs-2211_11", - "nixpkgs-unstable": "nixpkgs-unstable_24", - "old-ghc-nix": "old-ghc-nix_21", - "stackage": "stackage_20", - "tullia": "tullia_14" - }, - "locked": { - "lastModified": 1670892685, - "narHash": "sha256-8wGGO9GsW9Fdyf84c4tm6E/QL3tJIGZGi/njO9pluAg=", - "owner": "input-output-hk", - "repo": "haskell.nix", - "rev": "bc1444ec292a42eb63b574412223837fe9aca57c", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "haskell.nix", - "type": "github" - } - }, - "haskell-nix_13": { - "inputs": { - "HTTP": "HTTP_22", - "cabal-32": "cabal-32_22", - "cabal-34": "cabal-34_22", - "cabal-36": "cabal-36_22", - "cardano-shell": "cardano-shell_22", - "flake-compat": "flake-compat_54", - "flake-utils": "flake-utils_104", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_22", - "hackage": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "hackage-nix" - ], - "hpc-coveralls": "hpc-coveralls_22", - "hydra": "hydra_25", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ], - "nixpkgs-2003": "nixpkgs-2003_22", - "nixpkgs-2105": "nixpkgs-2105_22", - "nixpkgs-2111": "nixpkgs-2111_22", - "nixpkgs-2205": "nixpkgs-2205_19", - "nixpkgs-unstable": "nixpkgs-unstable_25", - "old-ghc-nix": "old-ghc-nix_22", - "stackage": "stackage_21" - }, - "locked": { - "lastModified": 1667366313, - "narHash": "sha256-P12NMyexQDaSp5jyqOn4tWZ9XTzpdRTgwb7dZy1cTDc=", - "owner": "input-output-hk", - "repo": "haskell.nix", - "rev": "69a42f86208cbe7dcbfc32bc7ddde76ed8eeb5ed", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "haskell.nix", - "type": "github" - } - }, "haskell-nix_2": { "inputs": { "HTTP": "HTTP_6", @@ -11981,7 +10398,7 @@ "hpc-coveralls": "hpc-coveralls_6", "nix-tools": "nix-tools", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -11993,7 +10410,7 @@ "nixpkgs-2105": "nixpkgs-2105_6", "nixpkgs-2111": "nixpkgs-2111_6", "nixpkgs-unstable": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -12027,7 +10444,7 @@ "flake-utils": "flake-utils_42", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_8", "hackage": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "hackage" @@ -12036,7 +10453,7 @@ "hydra": "hydra_10", "nix-tools": "nix-tools_3", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "haskell-nix", @@ -12074,7 +10491,7 @@ "flake-compat": "flake-compat_25", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_10", "hackage": [ - "cardano-transaction-lib", + "ctl", "hackage-nix" ], "hls-1.10": "hls-1.10_6", @@ -12091,7 +10508,7 @@ "hydra": "hydra_12", "iserv-proxy": "iserv-proxy_6", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003_10", @@ -12364,7 +10781,7 @@ "ghc98X": "ghc98X", "ghc99": "ghc99", "hackage": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "hackageNix" @@ -12378,7 +10795,7 @@ "hydra": "hydra_2", "iserv-proxy": "iserv-proxy_2", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "haskellNix", @@ -12419,7 +10836,7 @@ "flake-utils": "flake-utils_5", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", "hackage": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "hackageNix" @@ -12429,7 +10846,7 @@ "hydra": "hydra_3", "iserv-proxy": "iserv-proxy_3", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "nixpkgs" @@ -12469,7 +10886,7 @@ "ghc98X": "ghc98X_2", "ghc99": "ghc99_2", "hackage": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "hackageNix" @@ -12483,7 +10900,7 @@ "hydra": "hydra_4", "iserv-proxy": "iserv-proxy_4", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "nixpkgs" @@ -12524,7 +10941,7 @@ "ghc910X": "ghc910X", "ghc911": "ghc911", "hackage": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "hackageNix" ], @@ -12541,7 +10958,7 @@ "hydra": "hydra_5", "iserv-proxy": "iserv-proxy_5", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "nixpkgs" ], @@ -12584,7 +11001,7 @@ "hydra": "hydra_9", "nix-tools": "nix-tools_2", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet", @@ -12625,7 +11042,7 @@ "hydra": "hydra_11", "nix-tools": "nix-tools_4", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "haskellNix", "nixpkgs-unstable" @@ -12826,7 +11243,7 @@ "haumea_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "lib" @@ -12914,22 +11331,6 @@ "type": "github" } }, - "heist-extra_3": { - "flake": false, - "locked": { - "lastModified": 1668486579, - "narHash": "sha256-VmyGntVH/tVosftplC4O0JhYA34kXeq1Wu/RbJr132Y=", - "owner": "srid", - "repo": "heist-extra", - "rev": "da94abfa68f67933baef9b529fe8d2a4edc572d5", - "type": "github" - }, - "original": { - "owner": "srid", - "repo": "heist-extra", - "type": "github" - } - }, "heist_2": { "flake": false, "locked": { @@ -12946,25 +11347,9 @@ "type": "github" } }, - "heist_3": { - "flake": false, - "locked": { - "lastModified": 1668990382, - "narHash": "sha256-5GEnEdDmUBSxrF0IWwiu5eNvtublv0rY7OEpvaU1NG0=", - "owner": "snapframework", - "repo": "heist", - "rev": "88105c85996b8d621922b38e67b9460b36ccad51", - "type": "github" - }, - "original": { - "owner": "snapframework", - "repo": "heist", - "type": "github" - } - }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_15", + "flake-parts": "flake-parts_14", "haskell-flake": "haskell-flake_2", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_117", @@ -12985,7 +11370,7 @@ }, "hercules-ci-agent_2": { "inputs": { - "flake-parts": "flake-parts_20", + "flake-parts": "flake-parts_19", "haskell-flake": "haskell-flake_4", "nix-darwin": "nix-darwin_2", "nixpkgs": "nixpkgs_139", @@ -13004,36 +11389,15 @@ "type": "indirect" } }, - "hercules-ci-agent_3": { - "inputs": { - "flake-parts": "flake-parts_25", - "haskell-flake": "haskell-flake_6", - "nix-darwin": "nix-darwin_3", - "nixpkgs": "nixpkgs_156", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_6" - }, - "locked": { - "lastModified": 1678446614, - "narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, "hercules-ci-effects": { "inputs": { "flake-parts": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "flake-parts" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "nixpkgs" ] @@ -13074,7 +11438,7 @@ }, "hercules-ci-effects_3": { "inputs": { - "flake-parts": "flake-parts_14", + "flake-parts": "flake-parts_13", "hercules-ci-agent": "hercules-ci-agent", "nixpkgs": "nixpkgs_118" }, @@ -13094,7 +11458,7 @@ }, "hercules-ci-effects_4": { "inputs": { - "flake-parts": "flake-parts_19", + "flake-parts": "flake-parts_18", "hercules-ci-agent": "hercules-ci-agent_2", "nixpkgs": "nixpkgs_140" }, @@ -13112,26 +11476,6 @@ "type": "github" } }, - "hercules-ci-effects_5": { - "inputs": { - "flake-parts": "flake-parts_24", - "hercules-ci-agent": "hercules-ci-agent_3", - "nixpkgs": "nixpkgs_157" - }, - "locked": { - "lastModified": 1681898675, - "narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=", - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "type": "github" - } - }, "hls": { "flake": false, "locked": { @@ -14157,54 +12501,6 @@ "type": "github" } }, - "hpc-coveralls_20": { - "flake": false, - "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", - "type": "github" - }, - "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "type": "github" - } - }, - "hpc-coveralls_21": { - "flake": false, - "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", - "type": "github" - }, - "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "type": "github" - } - }, - "hpc-coveralls_22": { - "flake": false, - "locked": { - "lastModified": 1607498076, - "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", - "type": "github" - }, - "original": { - "owner": "sevanspowell", - "repo": "hpc-coveralls", - "type": "github" - } - }, "hpc-coveralls_3": { "flake": false, "locked": { @@ -14321,7 +12617,7 @@ "inputs": { "nix": "nix", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -14346,7 +12642,7 @@ }, "hydra-auction-onchain": { "inputs": { - "flake-parts": "flake-parts_11", + "flake-parts": "flake-parts_10", "liqwid-libs": "liqwid-libs", "liqwid-nix": "liqwid-nix_2", "nixpkgs": [ @@ -14375,7 +12671,7 @@ "inputs": { "nix": "nix_18", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "haskell-nix", @@ -14401,7 +12697,7 @@ "inputs": { "nix": "nix_19", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "haskellNix", "hydra", @@ -14426,7 +12722,7 @@ "inputs": { "nix": "nix_20", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "haskell-nix", "hydra", "nix", @@ -14450,7 +12746,7 @@ "inputs": { "CHaP": "CHaP_6", "cardano-node": "cardano-node_3", - "flake-parts": "flake-parts_9", + "flake-parts": "flake-parts_8", "haskellNix": "haskellNix_8", "hls": "hls", "iohk-nix": "iohk-nix_4", @@ -14640,7 +12936,7 @@ "inputs": { "nix": "nix_3", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "haskellNix", @@ -14742,23 +13038,25 @@ "type": "indirect" } }, - "hydra_23": { + "hydra_3": { "inputs": { - "nix": "nix_30", + "nix": "nix_4", "nixpkgs": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.1.1", + "haskellNix", "hydra", "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { @@ -14766,25 +13064,25 @@ "type": "indirect" } }, - "hydra_24": { + "hydra_4": { "inputs": { - "nix": "nix_31", + "nix": "nix_5", "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "haskellNix", "hydra", "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { @@ -14792,26 +13090,24 @@ "type": "indirect" } }, - "hydra_25": { + "hydra_5": { "inputs": { - "nix": "nix_32", + "nix": "nix_6", "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "haskell-nix", + "ctl", + "cardano-node", + "haskellNix", "hydra", "nix", "nixpkgs" ] }, "locked": { - "lastModified": 1646878427, - "narHash": "sha256-KtbrofMtN8GlM7D+n90kixr7QpSlVmdN+vK5CA/aRzc=", + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", "owner": "NixOS", "repo": "hydra", - "rev": "28b682b85b7efc5cf7974065792a1f22203a5927", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", "type": "github" }, "original": { @@ -14819,87 +13115,10 @@ "type": "indirect" } }, - "hydra_3": { - "inputs": { - "nix": "nix_4", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.1.1", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", - "type": "github" - }, - "original": { - "id": "hydra", - "type": "indirect" - } - }, - "hydra_4": { - "inputs": { - "nix": "nix_5", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", - "type": "github" - }, - "original": { - "id": "hydra", - "type": "indirect" - } - }, - "hydra_5": { - "inputs": { - "nix": "nix_6", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", - "type": "github" - }, - "original": { - "id": "hydra", - "type": "indirect" - } - }, - "hydra_6": { + "hydra_6": { "inputs": { "nix": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -14908,7 +13127,7 @@ "nix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -14935,14 +13154,14 @@ "hydra_7": { "inputs": { "nix": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", "nix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -14967,7 +13186,7 @@ "hydra_8": { "inputs": { "nix": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -14975,7 +13194,7 @@ "nix" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -15002,7 +13221,7 @@ "inputs": { "nix": "nix_17", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet", @@ -15028,7 +13247,7 @@ "incl": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -15053,7 +13272,7 @@ "incl_2": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -15079,7 +13298,7 @@ "incl_3": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -15104,7 +13323,7 @@ "incl_4": { "inputs": { "nixlib": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "lib" @@ -15518,67 +13737,10 @@ "type": "github" } }, - "iohk-nix_11": { - "flake": false, - "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", - "type": "github" - } - }, - "iohk-nix_12": { - "flake": false, - "locked": { - "lastModified": 1670489000, - "narHash": "sha256-JewWjqVJSt+7eZQT9bGdhlSsS9dmsSKsMzK9g11tcLU=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "61510bb482eaca8cb7d61f40f5d375d95ea1fbf7", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "type": "github" - } - }, - "iohk-nix_13": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1666358508, - "narHash": "sha256-ediFkDOBP7yVquw1XtHiYfuXKoEnvKGjTIAk9mC6qxo=", - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "4848df60660e21fbb3fe157d996a8bac0a9cf2d6", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "iohk-nix", - "type": "github" - } - }, "iohk-nix_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "nixpkgs" @@ -15602,7 +13764,7 @@ "inputs": { "blst": "blst_7", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "nixpkgs" ], "secp256k1": "secp256k1_7", @@ -15739,7 +13901,7 @@ "inputs": { "blst": "blst_3", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "nixpkgs" @@ -15765,7 +13927,7 @@ "inputs": { "blst": "blst_4", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "nixpkgs" @@ -15791,7 +13953,7 @@ "inputs": { "blst": "blst_5", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "nixpkgs" @@ -15817,7 +13979,7 @@ "inputs": { "blst": "blst_6", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "nixpkgs" ], @@ -15841,7 +14003,7 @@ "iohkNix_5": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "cardano-wallet", @@ -15865,7 +14027,7 @@ "iohkNix_6": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "nixpkgs" ] @@ -15943,22 +14105,6 @@ "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" } }, - "iserv-proxy_11": { - "flake": false, - "locked": { - "lastModified": 1639165170, - "narHash": "sha256-QsWL/sBDL5GM8IXd/dE/ORiL4RvteEN+aok23tXgAoc=", - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "revCount": 7, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" - }, - "original": { - "rev": "6e95df7be6dd29680f983db07a057fc2f34f81f6", - "type": "git", - "url": "https://gitlab.haskell.org/ghc/iserv-proxy.git" - } - }, "iserv-proxy_2": { "flake": false, "locked": { @@ -16134,7 +14280,7 @@ }, "liqwid-libs": { "inputs": { - "flake-parts": "flake-parts_12", + "flake-parts": "flake-parts_11", "liqwid-nix": "liqwid-nix", "nixpkgs": [ "hydra-auction-onchain", @@ -16161,7 +14307,7 @@ }, "liqwid-nix": { "inputs": { - "flake-parts": "flake-parts_13", + "flake-parts": "flake-parts_12", "ghc-next-packages": "ghc-next-packages", "haskell-nix": "haskell-nix_5", "hercules-ci-effects": "hercules-ci-effects_3", @@ -16198,7 +14344,7 @@ }, "liqwid-nix_2": { "inputs": { - "flake-parts": "flake-parts_18", + "flake-parts": "flake-parts_17", "ghc-next-packages": "ghc-next-packages_2", "haskell-nix": "haskell-nix_8", "hercules-ci-effects": "hercules-ci-effects_4", @@ -16231,37 +14377,6 @@ "type": "github" } }, - "liqwid-nix_3": { - "inputs": { - "flake-parts": "flake-parts_23", - "ghc-next-packages": "ghc-next-packages_3", - "haskell-nix": "haskell-nix_11", - "hercules-ci-effects": "hercules-ci-effects_5", - "iohk-nix": "iohk-nix_11", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "nixpkgs-unstable" - ], - "nixpkgs-latest": "nixpkgs-latest_3", - "plutarch": "plutarch_3", - "pre-commit-hooks": "pre-commit-hooks_5" - }, - "locked": { - "lastModified": 1705351573, - "narHash": "sha256-4pOk01JeVTWvcUcKg7pOmOnBm1YldYjDBHELuSUMhkE=", - "owner": "mlabs-haskell", - "repo": "liqwid-nix", - "rev": "15948d3e8e0480923e86cd8b1cfadb5a2025125e", - "type": "github" - }, - "original": { - "owner": "mlabs-haskell", - "ref": "aciceri/fix-new-ctl", - "repo": "liqwid-nix", - "type": "github" - } - }, "lowdown-src": { "flake": false, "locked": { @@ -16630,54 +14745,6 @@ "type": "github" } }, - "lowdown-src_30": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, - "lowdown-src_31": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, - "lowdown-src_32": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, "lowdown-src_4": { "flake": false, "locked": { @@ -16838,14 +14905,14 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_13": { + "mdbook-kroki-preprocessor_2": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "lastModified": 1655670640, + "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", "owner": "JoelCourtney", "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", "type": "github" }, "original": { @@ -16854,14 +14921,14 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_14": { + "mdbook-kroki-preprocessor_3": { "flake": false, "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "lastModified": 1655670640, + "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", "owner": "JoelCourtney", "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", "type": "github" }, "original": { @@ -16870,7 +14937,7 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_15": { + "mdbook-kroki-preprocessor_4": { "flake": false, "locked": { "lastModified": 1661755005, @@ -16886,7 +14953,7 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_16": { + "mdbook-kroki-preprocessor_5": { "flake": false, "locked": { "lastModified": 1661755005, @@ -16902,30 +14969,14 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_2": { - "flake": false, - "locked": { - "lastModified": 1655670640, - "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", - "type": "github" - }, - "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" - } - }, - "mdbook-kroki-preprocessor_3": { + "mdbook-kroki-preprocessor_6": { "flake": false, "locked": { - "lastModified": 1655670640, - "narHash": "sha256-JjqdxftHBjABTkOpFl3cWUJtc/KGwkQ3NRWGLjH2oUs=", + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", "owner": "JoelCourtney", "repo": "mdbook-kroki-preprocessor", - "rev": "bb6e607437ecc3f22fd9036acee6b797a5b45dbc", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", "type": "github" }, "original": { @@ -16934,7 +14985,7 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_4": { + "mdbook-kroki-preprocessor_7": { "flake": false, "locked": { "lastModified": 1661755005, @@ -16950,7 +15001,7 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_5": { + "mdbook-kroki-preprocessor_8": { "flake": false, "locked": { "lastModified": 1661755005, @@ -16966,55 +15017,7 @@ "type": "github" } }, - "mdbook-kroki-preprocessor_6": { - "flake": false, - "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", - "type": "github" - }, - "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" - } - }, - "mdbook-kroki-preprocessor_7": { - "flake": false, - "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", - "type": "github" - }, - "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" - } - }, - "mdbook-kroki-preprocessor_8": { - "flake": false, - "locked": { - "lastModified": 1661755005, - "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", - "type": "github" - }, - "original": { - "owner": "JoelCourtney", - "repo": "mdbook-kroki-preprocessor", - "type": "github" - } - }, - "mdbook-kroki-preprocessor_9": { + "mdbook-kroki-preprocessor_9": { "flake": false, "locked": { "lastModified": 1661755005, @@ -17033,7 +15036,7 @@ "mithril": { "inputs": { "crane": "crane_3", - "flake-parts": "flake-parts_10", + "flake-parts": "flake-parts_9", "nixpkgs": "nixpkgs_111", "treefmt-nix": "treefmt-nix_4" }, @@ -17055,7 +15058,7 @@ "n2c": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -17063,7 +15066,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -17307,62 +15310,10 @@ "type": "github" } }, - "n2c_18": { - "inputs": { - "flake-utils": "flake-utils_98", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, - "n2c_19": { - "inputs": { - "flake-utils": "flake-utils_103", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "n2c_2": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -17371,7 +15322,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -17394,70 +15345,17 @@ "type": "github" } }, - "n2c_20": { - "inputs": { - "flake-utils": "flake-utils_107", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, - "n2c_21": { - "inputs": { - "flake-utils": "flake-utils_110", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "n2c_3": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -17482,7 +15380,7 @@ "inputs": { "flake-utils": "flake-utils_19", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -17656,7 +15554,7 @@ "inputs": { "devshell": "devshell_15", "inclusive": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -17664,7 +15562,7 @@ "inclusive" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -17736,29 +15634,6 @@ "type": "github" } }, - "nix-darwin_3": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", - "type": "github" - }, - "original": { - "owner": "LnL7", - "repo": "nix-darwin", - "type": "github" - } - }, "nix-inclusive": { "inputs": { "stdlib": "stdlib_13" @@ -17781,7 +15656,7 @@ "inputs": { "flake-compat": "flake-compat_8", "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -17790,14 +15665,14 @@ ], "gomod2nix": "gomod2nix", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", "nixpkgs" ], "nixpkgs-lib": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -17912,26 +15787,32 @@ "type": "github" } }, - "nix-nomad_12": { + "nix-nomad_2": { "inputs": { - "flake-compat": "flake-compat_50", + "flake-compat": "flake-compat_9", "flake-utils": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "nix2container", "flake-utils" ], - "gomod2nix": "gomod2nix_12", + "gomod2nix": "gomod2nix_2", "nixpkgs": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "nixpkgs" ], "nixpkgs-lib": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "nixpkgs" ] @@ -17950,32 +15831,29 @@ "type": "github" } }, - "nix-nomad_13": { + "nix-nomad_3": { "inputs": { - "flake-compat": "flake-compat_53", + "flake-compat": "flake-compat_14", "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-node", + "cardano-automation", "tullia", "nix2container", "flake-utils" ], - "gomod2nix": "gomod2nix_13", + "gomod2nix": "gomod2nix_3", "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ], "nixpkgs-lib": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", + "ctl", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ] @@ -17994,32 +15872,29 @@ "type": "github" } }, - "nix-nomad_14": { + "nix-nomad_4": { "inputs": { - "flake-compat": "flake-compat_55", + "flake-compat": "flake-compat_26", "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", "tullia", "nix2container", "flake-utils" ], - "gomod2nix": "gomod2nix_14", + "gomod2nix": "gomod2nix_4", "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ], "nixpkgs-lib": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "hydra", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ] @@ -18038,150 +15913,24 @@ "type": "github" } }, - "nix-nomad_2": { + "nix-nomad_5": { "inputs": { - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_32", "flake-utils": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", "tullia", "nix2container", "flake-utils" ], - "gomod2nix": "gomod2nix_2", + "gomod2nix": "gomod2nix_5", "nixpkgs": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", - "type": "github" - }, - "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", - "type": "github" - } - }, - "nix-nomad_3": { - "inputs": { - "flake-compat": "flake-compat_14", - "flake-utils": [ - "cardano-transaction-lib", - "cardano-node", - "cardano-automation", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix_3", - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "cardano-transaction-lib", - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", - "type": "github" - }, - "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", - "type": "github" - } - }, - "nix-nomad_4": { - "inputs": { - "flake-compat": "flake-compat_26", - "flake-utils": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix_4", - "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ], - "nixpkgs-lib": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658277770, - "narHash": "sha256-T/PgG3wUn8Z2rnzfxf2VqlR1CBjInPE0l1yVzXxPnt0=", - "owner": "tristanpemble", - "repo": "nix-nomad", - "rev": "054adcbdd0a836ae1c20951b67ed549131fd2d70", - "type": "github" - }, - "original": { - "owner": "tristanpemble", - "repo": "nix-nomad", - "type": "github" - } - }, - "nix-nomad_5": { - "inputs": { - "flake-compat": "flake-compat_32", - "flake-utils": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", - "tullia", - "nix2container", - "flake-utils" - ], - "gomod2nix": "gomod2nix_5", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "haskell-nix", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", "tullia", "nixpkgs" ], @@ -18627,63 +16376,6 @@ "type": "github" } }, - "nix2container_17": { - "inputs": { - "flake-utils": "flake-utils_96", - "nixpkgs": "nixpkgs_154" - }, - "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, - "nix2container_18": { - "inputs": { - "flake-utils": "flake-utils_101", - "nixpkgs": "nixpkgs_160" - }, - "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, - "nix2container_19": { - "inputs": { - "flake-utils": "flake-utils_108", - "nixpkgs": "nixpkgs_166" - }, - "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "nix2container_2": { "inputs": { "flake-utils": "flake-utils_7", @@ -19296,69 +16988,6 @@ "type": "github" } }, - "nix_30": { - "inputs": { - "lowdown-src": "lowdown-src_30", - "nixpkgs": "nixpkgs_152", - "nixpkgs-regression": "nixpkgs-regression_28" - }, - "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", - "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", - "type": "github" - } - }, - "nix_31": { - "inputs": { - "lowdown-src": "lowdown-src_31", - "nixpkgs": "nixpkgs_158", - "nixpkgs-regression": "nixpkgs-regression_29" - }, - "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", - "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", - "type": "github" - } - }, - "nix_32": { - "inputs": { - "lowdown-src": "lowdown-src_32", - "nixpkgs": "nixpkgs_163", - "nixpkgs-regression": "nixpkgs-regression_30" - }, - "locked": { - "lastModified": 1643066034, - "narHash": "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=", - "owner": "NixOS", - "repo": "nix", - "rev": "a1cd7e58606a41fcf62bf8637804cf8306f17f62", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "2.6.0", - "repo": "nix", - "type": "github" - } - }, "nix_4": { "inputs": { "lowdown-src": "lowdown-src_4", @@ -19485,7 +17114,7 @@ "nixago": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -19493,7 +17122,7 @@ "flake-utils" ], "nixago-exts": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -19501,7 +17130,7 @@ "blank" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -19923,36 +17552,42 @@ "type": "github" } }, - "nixago_18": { + "nixago_2": { "inputs": { "flake-utils": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "flake-utils" ], "nixago-exts": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "blank" ], "nixpkgs": [ - "liqwid-nix", - "haskell-nix", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", + "lastModified": 1676075813, + "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", "owner": "nix-community", "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", + "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", "type": "github" }, "original": { @@ -19961,197 +17596,24 @@ "type": "github" } }, - "nixago_19": { + "nixago_3": { "inputs": { "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", "std", "flake-utils" ], "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", "std", "blank" ], "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, - "nixago_2": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1676075813, - "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", - "owner": "nix-community", - "repo": "nixago", - "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, - "nixago_20": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, - "nixago_21": { - "inputs": { - "flake-utils": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "flake-utils" - ], - "nixago-exts": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, - "nixago_3": { - "inputs": { - "flake-utils": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "std", - "flake-utils" - ], - "nixago-exts": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "std", - "blank" - ], - "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -20175,7 +17637,7 @@ "nixago_4": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -20183,7 +17645,7 @@ "flake-utils" ], "nixago-exts": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -20191,7 +17653,7 @@ "blank" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -20216,7 +17678,7 @@ "nixago_5": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -20225,7 +17687,7 @@ ], "nixago-exts": "nixago-exts", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -20250,7 +17712,7 @@ "nixago_6": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", @@ -20258,7 +17720,7 @@ ], "nixago-exts": "nixago-exts_2", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", @@ -20652,54 +18114,6 @@ "type": "github" } }, - "nixpkgs-2003_20": { - "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2003_21": { - "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2003_22": { - "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2003_3": { "locked": { "lastModified": 1620055814, @@ -21004,54 +18418,6 @@ "type": "github" } }, - "nixpkgs-2105_20": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2105_21": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2105_22": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2105_3": { "locked": { "lastModified": 1659914493, @@ -21356,7 +18722,7 @@ "type": "github" } }, - "nixpkgs-2111_20": { + "nixpkgs-2111_3": { "locked": { "lastModified": 1659446231, "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", @@ -21372,7 +18738,7 @@ "type": "github" } }, - "nixpkgs-2111_21": { + "nixpkgs-2111_4": { "locked": { "lastModified": 1659446231, "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", @@ -21388,7 +18754,7 @@ "type": "github" } }, - "nixpkgs-2111_22": { + "nixpkgs-2111_5": { "locked": { "lastModified": 1659446231, "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", @@ -21404,55 +18770,7 @@ "type": "github" } }, - "nixpkgs-2111_3": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2111_4": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2111_5": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2111_6": { + "nixpkgs-2111_6": { "locked": { "lastModified": 1644510859, "narHash": "sha256-xjpVvL5ecbyi0vxtVl/Fh9bwGlMbw3S06zE5nUzFB8A=", @@ -21644,54 +18962,6 @@ "type": "github" } }, - "nixpkgs-2205_17": { - "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2205_18": { - "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2205_19": { - "locked": { - "lastModified": 1663981975, - "narHash": "sha256-TKaxWAVJR+a5JJauKZqibmaM5e/Pi5tBDx9s8fl/kSE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "309faedb8338d3ae8ad8f1043b3ccf48c9cc2970", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2205_2": { "locked": { "lastModified": 1685573264, @@ -21852,22 +19122,6 @@ "type": "github" } }, - "nixpkgs-2211_11": { - "locked": { - "lastModified": 1669997163, - "narHash": "sha256-vhjC0kZMFoN6jzK0GR+tBzKi5KgBXgehadfidW8+Va4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6f87491a54d8d64d30af6663cb3bf5d2ee7db958", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2211_2": { "locked": { "lastModified": 1688392541, @@ -22250,21 +19504,6 @@ "type": "github" } }, - "nixpkgs-latest_3": { - "locked": { - "lastModified": 1678136609, - "narHash": "sha256-deLxtJFgW2IpzcAso3T68Fc9dmYjnNGiW2wDi1JrDOY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e073af1b905fea86b46acc4d96faf3825f8b8cb1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-lib": { "locked": { "dir": "lib", @@ -22284,78 +19523,6 @@ } }, "nixpkgs-lib_10": { - "locked": { - "dir": "lib", - "lastModified": 1672350804, - "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_11": { - "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_12": { - "locked": { - "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_13": { - "locked": { - "dir": "lib", - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib_14": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -22373,7 +19540,7 @@ "type": "github" } }, - "nixpkgs-lib_15": { + "nixpkgs-lib_11": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -22391,7 +19558,7 @@ "type": "github" } }, - "nixpkgs-lib_16": { + "nixpkgs-lib_12": { "locked": { "dir": "lib", "lastModified": 1665349835, @@ -22409,7 +19576,7 @@ "type": "github" } }, - "nixpkgs-lib_17": { + "nixpkgs-lib_13": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -22427,7 +19594,7 @@ "type": "github" } }, - "nixpkgs-lib_18": { + "nixpkgs-lib_14": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -22445,7 +19612,7 @@ "type": "github" } }, - "nixpkgs-lib_19": { + "nixpkgs-lib_15": { "locked": { "dir": "lib", "lastModified": 1665349835, @@ -22536,18 +19703,6 @@ } }, "nixpkgs-lib_6": { - "locked": { - "lastModified": 1722555339, - "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" - } - }, - "nixpkgs-lib_7": { "locked": { "lastModified": 1714640452, "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", @@ -22559,7 +19714,7 @@ "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" } }, - "nixpkgs-lib_8": { + "nixpkgs-lib_7": { "locked": { "dir": "lib", "lastModified": 1711703276, @@ -22577,7 +19732,7 @@ "type": "github" } }, - "nixpkgs-lib_9": { + "nixpkgs-lib_8": { "locked": { "dir": "lib", "lastModified": 1698611440, @@ -22595,6 +19750,24 @@ "type": "github" } }, + "nixpkgs-lib_9": { + "locked": { + "dir": "lib", + "lastModified": 1672350804, + "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -22900,7 +20073,7 @@ "type": "indirect" } }, - "nixpkgs-regression_28": { + "nixpkgs-regression_3": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -22910,12 +20083,13 @@ "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", + "repo": "nixpkgs", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "type": "github" } }, - "nixpkgs-regression_29": { + "nixpkgs-regression_4": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -22925,12 +20099,13 @@ "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", + "repo": "nixpkgs", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "type": "github" } }, - "nixpkgs-regression_3": { + "nixpkgs-regression_5": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -22946,7 +20121,7 @@ "type": "github" } }, - "nixpkgs-regression_30": { + "nixpkgs-regression_6": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -22956,12 +20131,13 @@ "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", + "repo": "nixpkgs", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" + "type": "github" } }, - "nixpkgs-regression_4": { + "nixpkgs-regression_7": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -22971,60 +20147,12 @@ "type": "github" }, "original": { - "owner": "NixOS", - "repo": "nixpkgs", + "id": "nixpkgs", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" + "type": "indirect" } }, - "nixpkgs-regression_5": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, - "nixpkgs-regression_6": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, - "nixpkgs-regression_7": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "indirect" - } - }, - "nixpkgs-regression_8": { + "nixpkgs-regression_8": { "locked": { "lastModified": 1643052045, "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", @@ -23134,38 +20262,6 @@ "type": "github" } }, - "nixpkgs-stable_6": { - "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_7": { - "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1690720142, @@ -23406,54 +20502,6 @@ "type": "github" } }, - "nixpkgs-unstable_23": { - "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable_24": { - "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable_25": { - "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable_3": { "locked": { "lastModified": 1695318763, @@ -24102,292 +21150,14 @@ "repo": "nixpkgs", "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_131": { - "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_132": { - "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_133": { - "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_134": { - "locked": { - "lastModified": 1667292599, - "narHash": "sha256-7ISOUI1aj6UKMPIL+wwthENL22L3+A9V+jS8Is3QsRo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ef2f213d9659a274985778bff4ca322f3ef3ac68", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_135": { - "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_136": { - "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_137": { - "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_138": { - "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_139": { - "locked": { - "lastModified": 1678293141, - "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_14": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_140": { - "locked": { - "lastModified": 1678891326, - "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1544ef240132d4357d9a39a40c8e6afd1678b052", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_141": { - "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_142": { - "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_143": { - "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_144": { - "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_145": { - "locked": { - "lastModified": 1670841420, - "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "33e0d99cbedf2acfd7340d2150837fbb28039a64", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_146": { - "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, - "nixpkgs_147": { - "locked": { - "lastModified": 1663905476, - "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e14f9fb57315f0d4abde222364f19f88c77d2b79", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs_148": { + "nixpkgs_131": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -24403,7 +21173,7 @@ "type": "github" } }, - "nixpkgs_149": { + "nixpkgs_132": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -24418,21 +21188,7 @@ "type": "github" } }, - "nixpkgs_15": { - "locked": { - "lastModified": 1642336556, - "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_150": { + "nixpkgs_133": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -24448,23 +21204,21 @@ "type": "github" } }, - "nixpkgs_151": { + "nixpkgs_134": { "locked": { - "lastModified": 1671271357, - "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", + "lastModified": 1667292599, + "narHash": "sha256-7ISOUI1aj6UKMPIL+wwthENL22L3+A9V+jS8Is3QsRo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "40f79f003b6377bd2f4ed4027dde1f8f922995dd", + "rev": "ef2f213d9659a274985778bff4ca322f3ef3ac68", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs_152": { + "nixpkgs_135": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -24479,7 +21233,7 @@ "type": "indirect" } }, - "nixpkgs_153": { + "nixpkgs_136": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -24495,7 +21249,7 @@ "type": "github" } }, - "nixpkgs_154": { + "nixpkgs_137": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -24510,7 +21264,7 @@ "type": "github" } }, - "nixpkgs_155": { + "nixpkgs_138": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -24526,7 +21280,7 @@ "type": "github" } }, - "nixpkgs_156": { + "nixpkgs_139": { "locked": { "lastModified": 1678293141, "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", @@ -24542,7 +21296,23 @@ "type": "github" } }, - "nixpkgs_157": { + "nixpkgs_14": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_140": { "locked": { "lastModified": 1678891326, "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", @@ -24557,7 +21327,7 @@ "type": "github" } }, - "nixpkgs_158": { + "nixpkgs_141": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -24572,7 +21342,7 @@ "type": "indirect" } }, - "nixpkgs_159": { + "nixpkgs_142": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -24588,23 +21358,7 @@ "type": "github" } }, - "nixpkgs_16": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_160": { + "nixpkgs_143": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -24619,7 +21373,7 @@ "type": "github" } }, - "nixpkgs_161": { + "nixpkgs_144": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -24635,7 +21389,7 @@ "type": "github" } }, - "nixpkgs_162": { + "nixpkgs_145": { "locked": { "lastModified": 1670841420, "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", @@ -24651,7 +21405,7 @@ "type": "github" } }, - "nixpkgs_163": { + "nixpkgs_146": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -24666,7 +21420,7 @@ "type": "indirect" } }, - "nixpkgs_164": { + "nixpkgs_147": { "locked": { "lastModified": 1663905476, "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", @@ -24681,7 +21435,7 @@ "type": "github" } }, - "nixpkgs_165": { + "nixpkgs_148": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -24697,7 +21451,7 @@ "type": "github" } }, - "nixpkgs_166": { + "nixpkgs_149": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -24712,7 +21466,21 @@ "type": "github" } }, - "nixpkgs_167": { + "nixpkgs_15": { + "locked": { + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_150": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -24728,7 +21496,7 @@ "type": "github" } }, - "nixpkgs_168": { + "nixpkgs_151": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -24744,6 +21512,22 @@ "type": "github" } }, + "nixpkgs_16": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_17": { "locked": { "lastModified": 1654807842, @@ -26675,57 +23459,6 @@ "type": "github" } }, - "old-ghc-nix_20": { - "flake": false, - "locked": { - "lastModified": 1631092763, - "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", - "owner": "angerman", - "repo": "old-ghc-nix", - "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", - "type": "github" - }, - "original": { - "owner": "angerman", - "ref": "master", - "repo": "old-ghc-nix", - "type": "github" - } - }, - "old-ghc-nix_21": { - "flake": false, - "locked": { - "lastModified": 1631092763, - "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", - "owner": "angerman", - "repo": "old-ghc-nix", - "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", - "type": "github" - }, - "original": { - "owner": "angerman", - "ref": "master", - "repo": "old-ghc-nix", - "type": "github" - } - }, - "old-ghc-nix_22": { - "flake": false, - "locked": { - "lastModified": 1631092763, - "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", - "owner": "angerman", - "repo": "old-ghc-nix", - "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", - "type": "github" - }, - "original": { - "owner": "angerman", - "ref": "master", - "repo": "old-ghc-nix", - "type": "github" - } - }, "old-ghc-nix_3": { "flake": false, "locked": { @@ -26960,7 +23693,7 @@ "paisano": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -26970,7 +23703,7 @@ ], "nosys": "nosys_2", "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -26996,7 +23729,7 @@ "paisano-actions": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -27047,7 +23780,7 @@ "crane": "crane", "fenix": "fenix_2", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -27055,7 +23788,7 @@ ], "paisano-actions": "paisano-actions", "std": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std" @@ -27109,7 +23842,7 @@ "paisano-tui": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -27118,7 +23851,7 @@ "blank" ], "std": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -27143,14 +23876,14 @@ "paisano-tui_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", "blank" ], "std": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std" @@ -27252,7 +23985,7 @@ "paisano_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -27260,7 +23993,7 @@ ], "nosys": "nosys_3", "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -27286,14 +24019,14 @@ "inputs": { "call-flake": "call-flake", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "nixpkgs" ], "nosys": "nosys_4", "yants": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "yants" @@ -27417,25 +24150,6 @@ "type": "github" } }, - "plutarch_3": { - "inputs": { - "tooling": "tooling_3" - }, - "locked": { - "lastModified": 1675976388, - "narHash": "sha256-+LdMi2zKoRR12hifT8fck/+VpTzS4rOrlQN6pg8xhsU=", - "owner": "Plutonomicon", - "repo": "plutarch-plutus", - "rev": "d3df05ce67d8b5a3d2ca851a6e5a1b8ff8cb358f", - "type": "github" - }, - "original": { - "owner": "Plutonomicon", - "ref": "master", - "repo": "plutarch-plutus", - "type": "github" - } - }, "plutus": { "inputs": { "CHaP": "CHaP_8", @@ -27492,34 +24206,6 @@ "type": "github" } }, - "plutus_3": { - "inputs": { - "CHaP": "CHaP_11", - "gitignore-nix": "gitignore-nix_3", - "hackage-nix": "hackage-nix_4", - "haskell-language-server": "haskell-language-server_3", - "haskell-nix": "haskell-nix_13", - "iohk-nix": "iohk-nix_13", - "nixpkgs": "nixpkgs_164", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_7", - "sphinxcontrib-haddock": "sphinxcontrib-haddock_3", - "std": "std_22", - "tullia": "tullia_15" - }, - "locked": { - "lastModified": 1670888424, - "narHash": "sha256-tLzbC5TMhzI4SAitO5ZXC4mN3HR6NDAFROJynnJIEFI=", - "owner": "input-output-hk", - "repo": "plutus", - "rev": "8b6dacf70fa57fcc63d05cc2b07c20e92ff61480", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "plutus", - "type": "github" - } - }, "ply": { "inputs": { "CHaP": "CHaP_9", @@ -27554,7 +24240,7 @@ "inputs": { "flake-utils": "flake-utils_32", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte-cells", @@ -27602,78 +24288,22 @@ "flake-utils": "flake-utils_15", "gitignore": "gitignore", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "nixpkgs" ], "nixpkgs-stable": [ - "cardano-transaction-lib", - "cardano-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1708018599, - "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks-nix_2": { - "inputs": { - "flake-compat": "flake-compat_33", - "flake-utils": "flake-utils_59", - "gitignore": "gitignore_2", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1678376203, - "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks-nix_3": { - "inputs": { - "flake-utils": "flake-utils_65", - "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1663082609, - "narHash": "sha256-lmCCIu4dj59qbzkGKHQtolhpIEQMeAd2XUbXVPqgPYo=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "60cad1a326df17a8c6cf2bb23436609fdd83024e", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -27682,19 +24312,20 @@ "type": "github" } }, - "pre-commit-hooks-nix_4": { + "pre-commit-hooks-nix_2": { "inputs": { - "flake-compat": "flake-compat_43", - "flake-utils": "flake-utils_82", - "gitignore": "gitignore_4", + "flake-compat": "flake-compat_33", + "flake-utils": "flake-utils_59", + "gitignore": "gitignore_2", "nixpkgs": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "hercules-ci-effects", "hercules-ci-agent", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_4" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1678376203, @@ -27710,11 +24341,12 @@ "type": "github" } }, - "pre-commit-hooks-nix_5": { + "pre-commit-hooks-nix_3": { "inputs": { - "flake-utils": "flake-utils_88", + "flake-utils": "flake-utils_65", "nixpkgs": [ "hydra-auction-onchain", + "liqwid-libs", "liqwid-nix", "plutarch", "tooling", @@ -27736,18 +24368,19 @@ "type": "github" } }, - "pre-commit-hooks-nix_6": { + "pre-commit-hooks-nix_4": { "inputs": { - "flake-compat": "flake-compat_51", - "flake-utils": "flake-utils_99", - "gitignore": "gitignore_6", + "flake-compat": "flake-compat_43", + "flake-utils": "flake-utils_82", + "gitignore": "gitignore_4", "nixpkgs": [ + "hydra-auction-onchain", "liqwid-nix", "hercules-ci-effects", "hercules-ci-agent", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_6" + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { "lastModified": 1678376203, @@ -27763,10 +24396,11 @@ "type": "github" } }, - "pre-commit-hooks-nix_7": { + "pre-commit-hooks-nix_5": { "inputs": { - "flake-utils": "flake-utils_105", + "flake-utils": "flake-utils_88", "nixpkgs": [ + "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", @@ -27851,28 +24485,6 @@ "type": "github" } }, - "pre-commit-hooks_5": { - "inputs": { - "flake-compat": "flake-compat_56", - "flake-utils": "flake-utils_111", - "gitignore": "gitignore_7", - "nixpkgs": "nixpkgs_168", - "nixpkgs-stable": "nixpkgs-stable_7" - }, - "locked": { - "lastModified": 1677832802, - "narHash": "sha256-XQf+k6mBYTiQUjWRf/0fozy5InAs03O1b30adCpWeXs=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "382bee738397ca005206eefa36922cc10df8a21c", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "ragenix": { "inputs": { "agenix": "agenix_3", @@ -27980,17 +24592,11 @@ }, "root": { "inputs": { - "cardano-transaction-lib": "cardano-transaction-lib", - "flake-parts": "flake-parts_8", + "ctl": "ctl", "hydra": "hydra_13", "hydra-auction-onchain": "hydra-auction-onchain", - "liqwid-nix": "liqwid-nix_3", "nixpkgs": [ - "cardano-transaction-lib", - "nixpkgs" - ], - "nixpkgs-ctl": [ - "cardano-transaction-lib", + "ctl", "nixpkgs" ] } @@ -28151,7 +24757,7 @@ "rust-overlay": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -28160,7 +24766,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -28186,7 +24792,7 @@ "rust-overlay_2": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28196,7 +24802,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28223,7 +24829,7 @@ "rust-overlay_3": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28232,7 +24838,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28258,7 +24864,7 @@ "rust-overlay_4": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28266,7 +24872,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -28291,7 +24897,7 @@ "rust-overlay_5": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -28300,7 +24906,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -28326,7 +24932,7 @@ "rust-overlay_6": { "inputs": { "flake-utils": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -28334,7 +24940,7 @@ "flake-utils" ], "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -28746,22 +25352,6 @@ "type": "github" } }, - "sphinxcontrib-haddock_3": { - "flake": false, - "locked": { - "lastModified": 1594136664, - "narHash": "sha256-O9YT3iCUBHP3CEF88VDLLCO2HSP3HqkNA2q2939RnVY=", - "owner": "michaelpj", - "repo": "sphinxcontrib-haddock", - "rev": "f3956b3256962b2d27d5a4e96edb7951acf5de34", - "type": "github" - }, - "original": { - "owner": "michaelpj", - "repo": "sphinxcontrib-haddock", - "type": "github" - } - }, "stable": { "locked": { "lastModified": 1669735802, @@ -28938,22 +25528,6 @@ "type": "github" } }, - "stackage_19": { - "flake": false, - "locked": { - "lastModified": 1668388618, - "narHash": "sha256-2gWOWqdwtruJ+Dj2yCFQz+SDNC58LEsUdI1FycKXzYQ=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "754e9647154ba2ea5ff5c6e5549ecc98898b7a90", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", - "type": "github" - } - }, "stackage_2": { "flake": false, "locked": { @@ -28970,38 +25544,6 @@ "type": "github" } }, - "stackage_20": { - "flake": false, - "locked": { - "lastModified": 1670890221, - "narHash": "sha256-kV7irjUr4Ot3b2MwTcgVKYuEe+legxhGh4ApBeESy1s=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "56f59c2d4ecdb237348a0774274f38874f81a3ca", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", - "type": "github" - } - }, - "stackage_21": { - "flake": false, - "locked": { - "lastModified": 1667351848, - "narHash": "sha256-gXjvvU0hW8NtbuFyCy+hzp669sEMAubS0zhMIPg/QOg=", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "128fd7fcb43c96ae422b4b1b3d485a40432848de", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "stackage.nix", - "type": "github" - } - }, "stackage_3": { "flake": false, "locked": { @@ -29136,7 +25678,7 @@ "std": { "inputs": { "arion": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -29149,7 +25691,7 @@ "flake-utils": "flake-utils_8", "incl": "incl", "makes": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -29157,7 +25699,7 @@ "blank" ], "microvm": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -29658,7 +26200,7 @@ "std_2": { "inputs": { "arion": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -29667,217 +26209,41 @@ "blank" ], "blank": "blank_2", - "devshell": "devshell_2", - "dmerge": "dmerge_2", - "flake-utils": "flake-utils_11", - "incl": "incl_2", - "makes": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "microvm": [ - "cardano-transaction-lib", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "n2c": "n2c_2", - "nixago": "nixago_2", - "nixpkgs": "nixpkgs_24", - "paisano": "paisano", - "paisano-tui": "paisano-tui", - "yants": "yants_2" - }, - "locked": { - "lastModified": 1677533652, - "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", - "owner": "divnix", - "repo": "std", - "rev": "490542f624412662e0411d8cb5a9af988ef56633", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "std_20": { - "inputs": { - "blank": "blank_20", - "devshell": "devshell_32", - "dmerge": "dmerge_19", - "flake-utils": "flake-utils_97", - "makes": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_13", - "microvm": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "n2c": "n2c_18", - "nixago": "nixago_18", - "nixpkgs": "nixpkgs_155", - "yants": "yants_22" - }, - "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", - "owner": "divnix", - "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "std_21": { - "inputs": { - "blank": "blank_21", - "devshell": "devshell_33", - "dmerge": "dmerge_20", - "flake-utils": "flake-utils_102", - "makes": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_14", - "microvm": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "blank" - ], - "n2c": "n2c_19", - "nixago": "nixago_19", - "nixpkgs": "nixpkgs_161", - "yants": "yants_23" - }, - "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", - "owner": "divnix", - "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "std_22": { - "inputs": { - "blank": "blank_22", - "devshell": "devshell_34", - "dmerge": "dmerge_21", - "flake-utils": "flake-utils_106", - "makes": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_15", - "microvm": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "blank" - ], - "n2c": "n2c_20", - "nixago": "nixago_20", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ], - "yants": "yants_24" - }, - "locked": { - "lastModified": 1665252656, - "narHash": "sha256-RHktFB35O/KjK2P21E+TtCR8sIpoowGFGZPC0KOT0rg=", - "owner": "divnix", - "repo": "std", - "rev": "2240a587e19e1610d967a72e5409176bc6908244", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "std", - "type": "github" - } - }, - "std_23": { - "inputs": { - "blank": "blank_23", - "devshell": "devshell_35", - "dmerge": "dmerge_22", - "flake-utils": "flake-utils_109", + "devshell": "devshell_2", + "dmerge": "dmerge_2", + "flake-utils": "flake-utils_11", + "incl": "incl_2", "makes": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_16", "microvm": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", "tullia", "std", "blank" ], - "n2c": "n2c_21", - "nixago": "nixago_21", - "nixpkgs": "nixpkgs_167", - "yants": "yants_25" + "n2c": "n2c_2", + "nixago": "nixago_2", + "nixpkgs": "nixpkgs_24", + "paisano": "paisano", + "paisano-tui": "paisano-tui", + "yants": "yants_2" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1677533652, + "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "490542f624412662e0411d8cb5a9af988ef56633", "type": "github" }, "original": { @@ -29889,7 +26255,7 @@ "std_3": { "inputs": { "arion": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -29902,14 +26268,14 @@ "haumea": "haumea", "incl": "incl_3", "makes": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", "blank" ], "microvm": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -29944,7 +26310,7 @@ "dmerge": "dmerge_4", "flake-utils": "flake-utils_18", "makes": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -29953,7 +26319,7 @@ ], "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", "microvm": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -29982,14 +26348,14 @@ "std_5": { "inputs": { "arion": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" ], "blank": "blank_5", "devshell": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" @@ -29999,25 +26365,25 @@ "incl": "incl_4", "lib": "lib", "makes": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" ], "microvm": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" ], "n2c": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" ], "nixago": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" @@ -30026,7 +26392,7 @@ "paisano": "paisano_3", "paisano-tui": "paisano-tui_3", "terranix": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "blank" @@ -30593,7 +26959,7 @@ "bats-support": "bats-support_2", "flake-utils": "flake-utils_24", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -30623,7 +26989,7 @@ "bats-support": "bats-support_3", "flake-utils": "flake-utils_29", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -30651,7 +27017,7 @@ "bats-support": "bats-support_4", "flake-utils": "flake-utils_35", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "capsules", @@ -30678,7 +27044,7 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages", "emanote": "emanote_2", - "flake-parts": "flake-parts_17", + "flake-parts": "flake-parts_16", "haskell-nix": "haskell-nix_6", "iohk-nix": "iohk-nix_6", "nixpkgs": "nixpkgs_123", @@ -30702,7 +27068,7 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages_2", "emanote": "emanote_3", - "flake-parts": "flake-parts_22", + "flake-parts": "flake-parts_21", "haskell-nix": "haskell-nix_9", "iohk-nix": "iohk-nix_9", "nixpkgs": "nixpkgs_145", @@ -30722,30 +27088,6 @@ "type": "github" } }, - "tooling_3": { - "inputs": { - "cardano-haskell-packages": "cardano-haskell-packages_3", - "emanote": "emanote_4", - "flake-parts": "flake-parts_27", - "haskell-nix": "haskell-nix_12", - "iohk-nix": "iohk-nix_12", - "nixpkgs": "nixpkgs_162", - "plutus": "plutus_3" - }, - "locked": { - "lastModified": 1675797045, - "narHash": "sha256-FO6MX9hcXoTf2bUyO5o2BTlzKDVtLSuBX2lOwsLEcQs=", - "owner": "mlabs-haskell", - "repo": "mlabs-tooling.nix", - "rev": "6f78b002ab2c477a928a9332b6e0e18828cffc62", - "type": "github" - }, - "original": { - "owner": "mlabs-haskell", - "repo": "mlabs-tooling.nix", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": "nixpkgs_5" @@ -30767,7 +27109,7 @@ "treefmt-nix_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-db-sync", "cardano-parts", @@ -30791,7 +27133,7 @@ "treefmt-nix_3": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "nixpkgs" ] @@ -30936,92 +27278,12 @@ "type": "github" } }, - "tullia_13": { - "inputs": { - "nix-nomad": "nix-nomad_12", - "nix2container": "nix2container_17", - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "nixpkgs" - ], - "std": "std_20" - }, - "locked": { - "lastModified": 1666200256, - "narHash": "sha256-cJPS8zBu30SMhxMe7I8DWutwqMuhPsEez87y9gxMKc4=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "575362c2244498e8d2c97f72861510fa72e75d44", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "tullia", - "type": "github" - } - }, - "tullia_14": { - "inputs": { - "nix-nomad": "nix-nomad_13", - "nix2container": "nix2container_18", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "nixpkgs" - ], - "std": "std_21" - }, - "locked": { - "lastModified": 1668711738, - "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "tullia", - "type": "github" - } - }, - "tullia_15": { - "inputs": { - "nix-nomad": "nix-nomad_14", - "nix2container": "nix2container_19", - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "nixpkgs" - ], - "std": "std_23" - }, - "locked": { - "lastModified": 1670354948, - "narHash": "sha256-TF5KX7Al0xz6I+Cx84zeeWthSASlxTeJZmPBLSZ3e9c=", - "owner": "input-output-hk", - "repo": "tullia", - "rev": "b40dc577bb43b440645fb081d88df72b20a4bd57", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "gh-comment", - "repo": "tullia", - "type": "github" - } - }, "tullia_2": { "inputs": { "nix-nomad": "nix-nomad_2", "nix2container": "nix2container_3", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -31048,7 +27310,7 @@ "nix-nomad": "nix-nomad_3", "nix2container": "nix2container_5", "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "nixpkgs" @@ -31696,36 +27958,6 @@ "type": "github" } }, - "utils_38": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "utils_39": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "utils_4": { "locked": { "lastModified": 1653893745, @@ -31741,21 +27973,6 @@ "type": "github" } }, - "utils_40": { - "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "utils_5": { "locked": { "lastModified": 1667395993, @@ -31871,7 +28088,7 @@ "yants": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.1.1", "tullia", @@ -31896,7 +28113,7 @@ "yants_10": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "tullia", @@ -32157,7 +28374,7 @@ "yants_2": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "cardano-automation", @@ -32233,111 +28450,10 @@ "type": "github" } }, - "yants_22": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", - "owner": "divnix", - "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "yants", - "type": "github" - } - }, - "yants_23": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "haskell-nix", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", - "owner": "divnix", - "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "yants", - "type": "github" - } - }, - "yants_24": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", - "owner": "divnix", - "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "yants", - "type": "github" - } - }, - "yants_25": { - "inputs": { - "nixpkgs": [ - "liqwid-nix", - "plutarch", - "tooling", - "plutus", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", - "owner": "divnix", - "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "yants", - "type": "github" - } - }, "yants_3": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-nix", "cardano-node-8.7.3", "std", @@ -32362,7 +28478,7 @@ "yants_4": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "cardano-automation", "tullia", @@ -32387,7 +28503,7 @@ "yants_5": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "cardano-node", "std", "lib" @@ -32428,7 +28544,7 @@ "yants_7": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "bitte", @@ -32471,7 +28587,7 @@ "yants_9": { "inputs": { "nixpkgs": [ - "cardano-transaction-lib", + "ctl", "db-sync", "cardano-world", "std", diff --git a/flake.nix b/flake.nix index db4e767..2f77cd7 100644 --- a/flake.nix +++ b/flake.nix @@ -7,60 +7,103 @@ }; inputs = { - flake-parts.url = "github:hercules-ci/flake-parts"; - liqwid-nix.url = "github:mlabs-haskell/liqwid-nix/aciceri/fix-new-ctl"; - cardano-transaction-lib.url = "github:Plutonomicon/cardano-transaction-lib/v9.2.0"; - nixpkgs-ctl.follows = "cardano-transaction-lib/nixpkgs"; - nixpkgs.follows = "cardano-transaction-lib/nixpkgs"; - hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; + nixpkgs.follows = "ctl/nixpkgs"; + ctl.url = "github:Plutonomicon/cardano-transaction-lib/v9.2.0"; hydra.url = "github:input-output-hk/hydra/4fed4625f321d89b483c82f55252d24da63191c7"; + hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; }; - outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } ({ self, ... }: { - imports = [ inputs.liqwid-nix.flakeModule ]; - systems = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" "aarch64-linux" ]; - perSystem = { system, lib, pkgs, ... }: { - offchain.default = { - src = builtins.path { - path = self.outPath; - name = "hydra-auction-offchain-filtered-src"; - filter = path: ftype: !(lib.hasSuffix ".md" path) && (builtins.baseNameOf path != "flake.nix"); - }; - - nodejsPackage = pkgs.nodejs-18_x; - packageLock = ./package-lock.json; - packageJson = ./package.json; + outputs = { self, nixpkgs, ctl, hydra, hydra-auction-onchain }@inputs: + let + supportedSystems = [ "x86_64-linux" ]; + perSystem = nixpkgs.lib.genAttrs supportedSystems; - ignoredWarningCodes = [ - "ImplicitImport" - "ImplicitQualifiedImport" - "ImplicitQualifiedImportReExport" - "UserDefinedWarning" + nixpkgsFor = system: import nixpkgs { + inherit system; + overlays = [ + ctl.overlays.purescript + ctl.overlays.runtime + ctl.overlays.spago ]; + }; - shell = { - shellHook = '' - mkdir -p scripts - cp -rf ${inputs.hydra-auction-onchain}/compiled/*.plutus scripts - ''; - extraCommandLineTools = [ - inputs.hydra.packages.${system}.hydra-node - ]; + psProjectFor = system: pkgs: + pkgs.purescriptProject rec { + inherit pkgs; + projectName = "hydra-auction-offchain"; + src = builtins.path { + path = ./.; + name = "${projectName}-src"; + filter = path: ftype: !(pkgs.lib.hasSuffix ".md" path) && (builtins.baseNameOf path != "flake.nix"); + }; + packageJson = ./package.json; + packageLock = ./package-lock.json; + shell = { + withRuntime = true; + packageLockOnly = true; + shellHook = '' + mkdir -p scripts + cp -rf ${hydra-auction-onchain}/compiled/*.plutus scripts + ''; + packages = with pkgs; [ + fd + hydra.packages.${system}.hydra-node + nixpkgs-fmt + nodePackages.prettier + nodePackages.purs-tidy + ]; + }; }; + in + { + devShells = perSystem (system: + let + pkgs = nixpkgsFor system; + in + { + default = (psProjectFor system pkgs).devShell; + } + ); - enableFormatCheck = true; - plutip = { - testMain = "Test.Main"; - buildInputs = [ - inputs.hydra.packages.${system}.hydra-node - ]; - }; - }; + checks = perSystem (system: + let + pkgs = nixpkgsFor system; + project = psProjectFor system pkgs; + builtProject = project.buildPursProject { + strictComp = true; + censorCodes = [ + "ImplicitImport" + "ImplicitQualifiedImport" + "ImplicitQualifiedImportReExport" + "UserDefinedWarning" + ]; + }; + in + { + hydra-auction-offchain-tests = project.runLocalTestnetTest { + inherit builtProject; + buildInputs = [ hydra.packages.${system}.hydra-node ]; + name = "hydra-auction-offchain-tests"; + testMain = "Test.Main"; + }; - pre-commit.settings.hooks.nixpkgs-fmt = { - enable = true; - excludes = [ "spago-packages.nix" ]; - }; + formatting-check = pkgs.runCommand "formatting-check" + { + nativeBuildInputs = with pkgs; [ + fd + easy-ps.purs-tidy + nixpkgs-fmt + nodePackages.prettier + ]; + } + '' + cd ${self} + purs-tidy check $(fd -epurs) + nixpkgs-fmt --check $(fd -enix --exclude='spago*') + prettier -c $(fd -ejs) + touch $out + ''; + } + ); }; - }); } diff --git a/spago-packages.nix b/spago-packages.nix index fca9647..91cd516 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -185,18 +185,6 @@ let installPhase = "ln -s $src $out"; }; - "bigints" = pkgs.stdenv.mkDerivation { - name = "bigints"; - version = "v7.0.1"; - src = pkgs.fetchgit { - url = "https://github.com/purescript-contrib/purescript-bigints.git"; - rev = "e73f55b866e437c7bf04c7d262de7c205c47bbca"; - sha256 = "0msh5sv6g0k69fi0qv4xi1g89bfwai099f0ycjb8a69mnjq8x21n"; - }; - phases = "installPhase"; - installPhase = "ln -s $src $out"; - }; - "bignumber" = pkgs.stdenv.mkDerivation { name = "bignumber"; version = "760d11b41ece31b8cdd3c53349c5c2fd48d3ff89"; @@ -1361,18 +1349,6 @@ let installPhase = "ln -s $src $out"; }; - "ply-ctl" = pkgs.stdenv.mkDerivation { - name = "ply-ctl"; - version = "727b811b0d561cf13d5594b9352a7294e5a20378"; - src = pkgs.fetchgit { - url = "https://github.com/mlabs-haskell/ply-ctl.git"; - rev = "727b811b0d561cf13d5594b9352a7294e5a20378"; - sha256 = "1i5v0q1fxar1kpa03vccdmw3mirp4gg2lyl503ky05n3jl4b7mds"; - }; - phases = "installPhase"; - installPhase = "ln -s $src $out"; - }; - "posix-types" = pkgs.stdenv.mkDerivation { name = "posix-types"; version = "v6.0.0"; From 3825bf591407bad4a4b0e4a8aa9a53b306a1a21e Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 13 Sep 2024 18:32:40 +0200 Subject: [PATCH 12/23] build: bump ctl to v9.3.1, add delegate-server flake package --- .gitignore | 1 + Makefile | 6 +- flake.lock | 337 ++++++++++++++++++++++++++++----------------- flake.nix | 33 ++++- package-lock.json | 101 ++++---------- package.json | 4 +- packages.dhall | 12 +- spago-packages.nix | 30 ++-- 8 files changed, 294 insertions(+), 230 deletions(-) diff --git a/.gitignore b/.gitignore index 8bf021e..a19e6f9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /keys/*.vk /keys/*.addr /hydra-persist/ +/result diff --git a/Makefile b/Makefile index 2a3324f..6fc4e32 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ .PHONY: requires-nix-shell build bundle bundle-docker serve repl \ format check-format localnet-env delegate-server-help \ - delegate-cluster delegate-cluster-cleanup test test-nix + delegate-cluster delegate-cluster-cleanup test test-nix \ + build-delegate-server-nix ps-sources := $(shell fd --no-ignore-parent -epurs) nix-sources := $(shell fd --no-ignore-parent -enix --exclude='spago*') @@ -51,6 +52,9 @@ repl: requires-nix-shell localnet-env: requires-nix-shell spago run --main PlutipEnv.Main --exec-args "--payment-skey-file plutip-env/payment.skey" +build-delegate-server-nix: + nix build .#packages.x86_64-linux.delegate-server + delegate-server-help: requires-nix-shell spago run --main DelegateServer.Main --exec-args '--help' diff --git a/flake.lock b/flake.lock index a1047e6..0874a31 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1721915212, - "narHash": "sha256-itkbLG6DUX/L5XuoSXFPgPBf+9lFOM3ufc1T4BU4MYM=", + "lastModified": 1724915143, + "narHash": "sha256-SKluKP0iuRTYMQWzkxOtqW39+1zjw6oeZY+J8RJytGM=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "2126fa53c45842719ee38040f4d5bee8fb17a09d", + "rev": "92b3a071083372209af9c89c936f4f184ad5e3f6", "type": "github" }, "original": { @@ -88,11 +88,11 @@ "CHaP_5": { "flake": false, "locked": { - "lastModified": 1721831314, - "narHash": "sha256-I1j5HPSbbh3l1D0C9oP/59YB4e+64K9NDRl7ueD1c/Y=", + "lastModified": 1724197463, + "narHash": "sha256-/ZHOKRX84tXckstr6rTYyjytF2yfrIpvGujRLyjZfUE=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "8815ee7598bc39a02db8896b788f69accf892790", + "rev": "610a202920ffe1d371035d35053152e9a0c77fce", "type": "github" }, "original": { @@ -945,7 +945,7 @@ "ragenix": "ragenix_3", "std": "std_6", "terranix": "terranix_3", - "utils": "utils_17" + "utils": "utils_18" }, "locked": { "lastModified": 1661790449, @@ -1044,7 +1044,7 @@ "ops-lib": "ops-lib_4", "ragenix": "ragenix", "terranix": "terranix_2", - "utils": "utils_12", + "utils": "utils_13", "vulnix": "vulnix" }, "locked": { @@ -1078,7 +1078,7 @@ "ops-lib": "ops-lib_6", "ragenix": "ragenix_4", "terranix": "terranix_4", - "utils": "utils_26", + "utils": "utils_27", "vulnix": "vulnix_2" }, "locked": { @@ -3038,6 +3038,7 @@ "cardano-db-sync": "cardano-db-sync", "cardano-node-8.1.1": "cardano-node-8.1.1", "cardano-node-8.7.3": "cardano-node-8.7.3", + "crane": "crane_2", "devour-flake": "devour-flake", "devshell": "devshell_4", "flake-parts": "flake-parts_5", @@ -3047,15 +3048,16 @@ "ctl", "nixpkgs" ], + "oura": "oura", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1722438671, - "narHash": "sha256-Nb8bROKPjRWFMsaHIK4BOvsTceL9klpF3Ucp/zHqRzM=", + "lastModified": 1724967699, + "narHash": "sha256-rsj28Jq7DX/YCzykfvy2LJ9y6AE37i3MCyoAFeRHyEM=", "owner": "mlabs-haskell", "repo": "cardano.nix", - "rev": "7e696a77440d14f161c8b426d90fecfdb70ad8d8", + "rev": "3eb9384b2e1c43d4dcdf2eb23d0210d5d7e612af", "type": "github" }, "original": { @@ -3090,20 +3092,20 @@ ], "ops-lib": "ops-lib_3", "std": "std_5", - "utils": "utils_7" + "utils": "utils_8" }, "locked": { - "lastModified": 1722955151, - "narHash": "sha256-pZUg2PbhK35QdMcEP0or6IyKXBr544KyebQ+xiNc6PE=", + "lastModified": 1724944858, + "narHash": "sha256-7zV11vZ4e81cDIpk9OpkAnYV9EA5WWH134iei3n8+S8=", "owner": "input-output-hk", "repo": "cardano-node", - "rev": "4f4e372a1641ac68cd09fb0339e6f55bef1ab85d", + "rev": "d7abccd4e90c38ff5cd4d6a7839689d888332056", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "cardano-node", - "rev": "4f4e372a1641ac68cd09fb0339e6f55bef1ab85d", + "rev": "d7abccd4e90c38ff5cd4d6a7839689d888332056", "type": "github" } }, @@ -3264,7 +3266,7 @@ ], "ops-lib": "ops-lib_7", "std": "std_10", - "utils": "utils_30" + "utils": "utils_31" }, "locked": { "lastModified": 1715793024, @@ -3746,7 +3748,7 @@ "nix-cache-proxy": "nix-cache-proxy", "nixpkgs": "nixpkgs_68", "poetry2nix": "poetry2nix", - "utils": "utils_21" + "utils": "utils_22" }, "locked": { "lastModified": 1647522107, @@ -3819,6 +3821,28 @@ } }, "crane_2": { + "inputs": { + "nixpkgs": [ + "ctl", + "cardano-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1721058578, + "narHash": "sha256-fs/PVa3H5dS1//4BjecWi3nitXm5fRObx0JxXIAo+JA=", + "owner": "ipetkov", + "repo": "crane", + "rev": "17e5109bb1d9fb393d70fba80988f7d70d1ded1a", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_3": { "inputs": { "flake-compat": "flake-compat_29", "flake-utils": "flake-utils_53", @@ -3845,7 +3869,7 @@ "type": "github" } }, - "crane_3": { + "crane_4": { "inputs": { "nixpkgs": [ "hydra", @@ -3986,16 +4010,16 @@ "ogmios": "ogmios_2" }, "locked": { - "lastModified": 1723650917, - "narHash": "sha256-LmLjI3zvXLI5WQTueoQVBPrtg2TiwyFSdtREu6vI0fc=", + "lastModified": 1725898085, + "narHash": "sha256-H4sUdX7x/DiCC2iNAHc6zaJtX1Z5w6WURovnQ00tV6w=", "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "a92a8b7b48ea68fa0c846dcc8803189f7908386b", + "rev": "be434c41d80bb10d25825ed247d81f630f2d6b89", "type": "github" }, "original": { "owner": "Plutonomicon", - "ref": "v9.2.0", + "ref": "v9.3.1", "repo": "cardano-transaction-lib", "type": "github" } @@ -4156,7 +4180,7 @@ "haskellNix", "nixpkgs-unstable" ], - "utils": "utils_28" + "utils": "utils_29" }, "locked": { "lastModified": 1670313550, @@ -4188,7 +4212,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_8" + "utils": "utils_9" }, "locked": { "lastModified": 1638318651, @@ -4217,7 +4241,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_14" + "utils": "utils_15" }, "locked": { "lastModified": 1638318651, @@ -4247,7 +4271,7 @@ "fenix", "nixpkgs" ], - "utils": "utils_22" + "utils": "utils_23" }, "locked": { "lastModified": 1638318651, @@ -5737,7 +5761,7 @@ "cicero", "nixpkgs" ], - "utils": "utils_18" + "utils": "utils_19" }, "locked": { "lastModified": 1644418487, @@ -8927,7 +8951,7 @@ "cicero", "nixpkgs" ], - "utils": "utils_19" + "utils": "utils_20" }, "locked": { "lastModified": 1642008295, @@ -9679,7 +9703,7 @@ "gomod2nix_10": { "inputs": { "nixpkgs": "nixpkgs_142", - "utils": "utils_36" + "utils": "utils_37" }, "locked": { "lastModified": 1655245309, @@ -9698,7 +9722,7 @@ "gomod2nix_11": { "inputs": { "nixpkgs": "nixpkgs_148", - "utils": "utils_37" + "utils": "utils_38" }, "locked": { "lastModified": 1655245309, @@ -9736,7 +9760,7 @@ "gomod2nix_3": { "inputs": { "nixpkgs": "nixpkgs_31", - "utils": "utils_6" + "utils": "utils_7" }, "locked": { "lastModified": 1655245309, @@ -9755,7 +9779,7 @@ "gomod2nix_4": { "inputs": { "nixpkgs": "nixpkgs_100", - "utils": "utils_29" + "utils": "utils_30" }, "locked": { "lastModified": 1655245309, @@ -9774,7 +9798,7 @@ "gomod2nix_5": { "inputs": { "nixpkgs": "nixpkgs_114", - "utils": "utils_31" + "utils": "utils_32" }, "locked": { "lastModified": 1655245309, @@ -9793,7 +9817,7 @@ "gomod2nix_6": { "inputs": { "nixpkgs": "nixpkgs_120", - "utils": "utils_32" + "utils": "utils_33" }, "locked": { "lastModified": 1655245309, @@ -9812,7 +9836,7 @@ "gomod2nix_7": { "inputs": { "nixpkgs": "nixpkgs_126", - "utils": "utils_33" + "utils": "utils_34" }, "locked": { "lastModified": 1655245309, @@ -9831,7 +9855,7 @@ "gomod2nix_8": { "inputs": { "nixpkgs": "nixpkgs_131", - "utils": "utils_34" + "utils": "utils_35" }, "locked": { "lastModified": 1655245309, @@ -9850,7 +9874,7 @@ "gomod2nix_9": { "inputs": { "nixpkgs": "nixpkgs_136", - "utils": "utils_35" + "utils": "utils_36" }, "locked": { "lastModified": 1655245309, @@ -9885,11 +9909,11 @@ "hackage-nix": { "flake": false, "locked": { - "lastModified": 1721953589, - "narHash": "sha256-ctYOxCvXQS5MPILV8YPyUhylKhgIhOM4Dc5g0vGNFbM=", + "lastModified": 1724977850, + "narHash": "sha256-awqEskjcqDqrT+Xgl9GK8LCPfxtzuwoLH12nbVoOjT8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3f0675337984f15834fcd52b97fc766e30f4d684", + "rev": "7007cb02b7b0333f7e2c33dd8b5d1de5105d36b4", "type": "github" }, "original": { @@ -9981,11 +10005,11 @@ "hackageNix_4": { "flake": false, "locked": { - "lastModified": 1719794527, - "narHash": "sha256-qHo/KumtwAzPkfLWODu/6EFY/LeK+C7iPJyAUdT8tGA=", + "lastModified": 1724200761, + "narHash": "sha256-IDenOlZc5aph7Jz6xNQXGNnnx896hUYrsRU8mbE4bVw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "da2a3bc9bd1b3dd41bb147279529c471c615fd3e", + "rev": "11b43aaf3ff8018897f1b84a3fb60cce9ae7056d", "type": "github" }, "original": { @@ -10503,7 +10527,7 @@ "hls-2.6": "hls-2.6_2", "hls-2.7": "hls-2.7_2", "hls-2.8": "hls-2.8_2", - "hls-2.9": "hls-2.9", + "hls-2.9": "hls-2.9_2", "hpc-coveralls": "hpc-coveralls_10", "hydra": "hydra_12", "iserv-proxy": "iserv-proxy_6", @@ -10524,11 +10548,11 @@ "stackage": "stackage_9" }, "locked": { - "lastModified": 1721956799, - "narHash": "sha256-FU09PlekhkuocxDO2UN2aARdUflIGA36VP1EUra4b7c=", + "lastModified": 1724979052, + "narHash": "sha256-hoL0ofZI4L6w4413Wr4eZkMZzj+TyyDXF84FxEjppxU=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "ccbd8ed7d4aff11e0507d19dc7c40601487c0bea", + "rev": "5837bf2e6dbbbc2fc60fe7d27c9a03d9f8e9e974", "type": "github" }, "original": { @@ -10954,6 +10978,7 @@ "hls-2.6": "hls-2.6", "hls-2.7": "hls-2.7", "hls-2.8": "hls-2.8", + "hls-2.9": "hls-2.9", "hpc-coveralls": "hpc-coveralls_5", "hydra": "hydra_5", "iserv-proxy": "iserv-proxy_5", @@ -11423,11 +11448,11 @@ "nixpkgs": "nixpkgs_99" }, "locked": { - "lastModified": 1719226092, - "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", + "lastModified": 1724947644, + "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", + "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", "type": "github" }, "original": { @@ -12293,6 +12318,23 @@ } }, "hls-2.9": { + "flake": false, + "locked": { + "lastModified": 1718469202, + "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.9.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.9_2": { "flake": false, "locked": { "lastModified": 1718469202, @@ -13632,7 +13674,7 @@ "devshell": "devshell_8", "inclusive": "inclusive_4", "nixpkgs": "nixpkgs_51", - "utils": "utils_13" + "utils": "utils_14" }, "locked": { "lastModified": 1652212694, @@ -13653,7 +13695,7 @@ "devshell": "devshell_18", "inclusive": "inclusive_12", "nixpkgs": "nixpkgs_80", - "utils": "utils_27" + "utils": "utils_28" }, "locked": { "lastModified": 1658302707, @@ -15035,7 +15077,7 @@ }, "mithril": { "inputs": { - "crane": "crane_3", + "crane": "crane_4", "flake-parts": "flake-parts_9", "nixpkgs": "nixpkgs_111", "treefmt-nix": "treefmt-nix_4" @@ -15569,7 +15611,7 @@ "cicero", "nixpkgs" ], - "utils": "utils_20" + "utils": "utils_21" }, "locked": { "lastModified": 1644317729, @@ -19444,11 +19486,11 @@ }, "nixpkgs-arion": { "locked": { - "lastModified": 1721996520, - "narHash": "sha256-R/d5Af+YT2i6/QlGKQ4mZt/kziI1D6KTXumRWkbX/+s=", + "lastModified": 1725022733, + "narHash": "sha256-M6tvBPNDilgXLh9Bfv4U0ih+TyrQReeYOLkY+U2idy8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd3ac4d9337a8be63e48a38583c5978627f4daeb", + "rev": "79eb73f1c49fdfdf75f00b1ee086366380fbc323", "type": "github" }, "original": { @@ -22947,7 +22989,7 @@ "inputs": { "nix": "nix_8", "nixpkgs": "nixpkgs_46", - "utils": "utils_9" + "utils": "utils_10" }, "locked": { "lastModified": 1648128770, @@ -22970,7 +23012,7 @@ "inclusive": "inclusive_2", "nix": "nix_9", "nixpkgs": "nixpkgs_48", - "utils": "utils_10" + "utils": "utils_11" }, "locked": { "lastModified": 1648029666, @@ -22992,7 +23034,7 @@ "inclusive": "inclusive_5", "nix": "nix_11", "nixpkgs": "nixpkgs_60", - "utils": "utils_15" + "utils": "utils_16" }, "locked": { "lastModified": 1648029666, @@ -23014,7 +23056,7 @@ "inclusive": "inclusive_10", "nix": "nix_16", "nixpkgs": "nixpkgs_77", - "utils": "utils_24" + "utils": "utils_25" }, "locked": { "lastModified": 1648029666, @@ -23035,7 +23077,7 @@ "devshell": "devshell_7", "inclusive": "inclusive_3", "nixpkgs": "nixpkgs_49", - "utils": "utils_11" + "utils": "utils_12" }, "locked": { "lastModified": 1649836589, @@ -23056,7 +23098,7 @@ "devshell": "devshell_10", "inclusive": "inclusive_6", "nixpkgs": "nixpkgs_61", - "utils": "utils_16" + "utils": "utils_17" }, "locked": { "lastModified": 1658244176, @@ -23077,7 +23119,7 @@ "devshell": "devshell_17", "inclusive": "inclusive_11", "nixpkgs": "nixpkgs_78", - "utils": "utils_25" + "utils": "utils_26" }, "locked": { "lastModified": 1649836589, @@ -23097,7 +23139,7 @@ "inputs": { "nix": "nix_15", "nixpkgs": "nixpkgs_75", - "utils": "utils_23" + "utils": "utils_24" }, "locked": { "lastModified": 1648128770, @@ -23690,6 +23732,30 @@ "type": "github" } }, + "oura": { + "inputs": { + "crane": [ + "ctl", + "cardano-nix", + "crane" + ], + "utils": "utils_6" + }, + "locked": { + "lastModified": 1720226386, + "narHash": "sha256-oBvHLxWM2vN351flm7jWjwuatFEK6la/nX9fHNy9/hk=", + "owner": "txpipe", + "repo": "oura", + "rev": "d94068562d98f43aeef8e224111fbdaeb2bc186c", + "type": "github" + }, + "original": { + "owner": "txpipe", + "ref": "v1.8.6", + "repo": "oura", + "type": "github" + } + }, "paisano": { "inputs": { "nixpkgs": [ @@ -23810,7 +23876,7 @@ }, "paisano-mdbook-preprocessor_2": { "inputs": { - "crane": "crane_2", + "crane": "crane_3", "fenix": "fenix_9", "nixpkgs": [ "hydra", @@ -25643,11 +25709,11 @@ "stackage_9": { "flake": false, "locked": { - "lastModified": 1721952692, - "narHash": "sha256-UXiGzFWWOZMZRYkhS0oVaNK/v8Rr5PxxsM2qV1T6iJI=", + "lastModified": 1724717508, + "narHash": "sha256-FeGR8x/iFDB6zmu3pjRFVcXc6gD/jEct/aM1kZF9gWs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "73bfeeb1dccad2858f22f6f57b6571b10579ed2e", + "rev": "3cdad9ccd2f0232659e147b16ca979d08f77e63e", "type": "github" }, "original": { @@ -27509,6 +27575,21 @@ } }, "utils_10": { + "locked": { + "lastModified": 1601282935, + "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "588973065fce51f4763287f0fda87a174d78bf48", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_11": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27523,7 +27604,7 @@ "type": "github" } }, - "utils_11": { + "utils_12": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27538,7 +27619,7 @@ "type": "github" } }, - "utils_12": { + "utils_13": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -27553,7 +27634,7 @@ "type": "github" } }, - "utils_13": { + "utils_14": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27568,7 +27649,7 @@ "type": "github" } }, - "utils_14": { + "utils_15": { "locked": { "lastModified": 1637014545, "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", @@ -27583,7 +27664,7 @@ "type": "github" } }, - "utils_15": { + "utils_16": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27598,7 +27679,7 @@ "type": "github" } }, - "utils_16": { + "utils_17": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27613,7 +27694,7 @@ "type": "github" } }, - "utils_17": { + "utils_18": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -27628,21 +27709,6 @@ "type": "github" } }, - "utils_18": { - "locked": { - "lastModified": 1633020561, - "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", - "owner": "kreisys", - "repo": "flake-utils", - "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", - "type": "github" - }, - "original": { - "owner": "kreisys", - "repo": "flake-utils", - "type": "github" - } - }, "utils_19": { "locked": { "lastModified": 1633020561, @@ -27689,6 +27755,21 @@ } }, "utils_21": { + "locked": { + "lastModified": 1633020561, + "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", + "owner": "kreisys", + "repo": "flake-utils", + "rev": "2923532a276a5595ee64376ec1b3db6ed8503c52", + "type": "github" + }, + "original": { + "owner": "kreisys", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_22": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -27703,7 +27784,7 @@ "type": "github" } }, - "utils_22": { + "utils_23": { "locked": { "lastModified": 1637014545, "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", @@ -27718,7 +27799,7 @@ "type": "github" } }, - "utils_23": { + "utils_24": { "locked": { "lastModified": 1601282935, "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", @@ -27733,7 +27814,7 @@ "type": "github" } }, - "utils_24": { + "utils_25": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27748,7 +27829,7 @@ "type": "github" } }, - "utils_25": { + "utils_26": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27763,7 +27844,7 @@ "type": "github" } }, - "utils_26": { + "utils_27": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -27778,7 +27859,7 @@ "type": "github" } }, - "utils_27": { + "utils_28": { "locked": { "lastModified": 1633020561, "narHash": "sha256-4uAiRqL9nP3d/NQ8VBqjQ5iZypHaM+X/FyWpXVXkwTA=", @@ -27793,7 +27874,7 @@ "type": "github" } }, - "utils_28": { + "utils_29": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -27808,13 +27889,13 @@ "type": "github" } }, - "utils_29": { + "utils_3": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -27823,13 +27904,13 @@ "type": "github" } }, - "utils_3": { + "utils_30": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -27838,7 +27919,7 @@ "type": "github" } }, - "utils_30": { + "utils_31": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -27853,7 +27934,7 @@ "type": "github" } }, - "utils_31": { + "utils_32": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27868,7 +27949,7 @@ "type": "github" } }, - "utils_32": { + "utils_33": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27883,7 +27964,7 @@ "type": "github" } }, - "utils_33": { + "utils_34": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27898,7 +27979,7 @@ "type": "github" } }, - "utils_34": { + "utils_35": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27913,7 +27994,7 @@ "type": "github" } }, - "utils_35": { + "utils_36": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27928,7 +28009,7 @@ "type": "github" } }, - "utils_36": { + "utils_37": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -27943,7 +28024,7 @@ "type": "github" } }, - "utils_37": { + "utils_38": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -28004,15 +28085,12 @@ } }, "utils_7": { - "inputs": { - "systems": "systems_6" - }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -28022,12 +28100,15 @@ } }, "utils_8": { + "inputs": { + "systems": "systems_6" + }, "locked": { - "lastModified": 1637014545, - "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -28038,11 +28119,11 @@ }, "utils_9": { "locked": { - "lastModified": 1601282935, - "narHash": "sha256-WQAFV6sGGQxrRs3a+/Yj9xUYvhTpukQJIcMbIi7LCJ4=", + "lastModified": 1637014545, + "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", "owner": "numtide", "repo": "flake-utils", - "rev": "588973065fce51f4763287f0fda87a174d78bf48", + "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2f77cd7..2482007 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ inputs = { nixpkgs.follows = "ctl/nixpkgs"; - ctl.url = "github:Plutonomicon/cardano-transaction-lib/v9.2.0"; + ctl.url = "github:Plutonomicon/cardano-transaction-lib/v9.3.1"; hydra.url = "github:input-output-hk/hydra/4fed4625f321d89b483c82f55252d24da63191c7"; hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; }; @@ -56,6 +56,37 @@ }; in { + packages = perSystem (system: + let + pkgs = nixpkgsFor system; + project = psProjectFor system pkgs; + hydra-auction-offchain = project.buildPursProject { + strictComp = true; + censorCodes = [ + "ImplicitImport" + "ImplicitQualifiedImport" + "ImplicitQualifiedImportReExport" + "UserDefinedWarning" + ]; + }; + + in + { + delegate-server = pkgs.writeShellApplication { + name = "delegate-server"; + text = '' + TEMPD=$(mktemp -d) + cd "$TEMPD" + cp -r ${hydra-auction-offchain}/* . + ln -sfn ${project.nodeModules}/lib/node_modules node_modules + mkdir -p scripts && cp -r ${hydra-auction-onchain}/compiled/*.plutus scripts + node --enable-source-maps -e 'import("./output/DelegateServer.Main/index.js").then(m => m.main())' \ + -- delegate-server "$@" + ''; + }; + } + ); + devShells = perSystem (system: let pkgs = nixpkgsFor system; diff --git a/package-lock.json b/package-lock.json index ff4af0b..5e1a1b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,15 +10,13 @@ "license": "Apache-2.0", "devDependencies": { "@mlabs-haskell/cardano-message-signing": "^1.0.1", - "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0-alpha.31", + "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0", "@mlabs-haskell/json-bigint": "2.0.0", "@mlabs-haskell/uplc-apply-args": "1.0.29-alpha", "@noble/secp256k1": "^1.7.0", "base64-js": "^1.5.1", "bignumber.js": "^9.1.1", "bip39": "^3.1.0", - "blakejs": "1.2.1", - "buffer": "6.0.3", "bufferutil": "4.0.5", "doctoc": "^2.2.1", "esbuild": "0.18.11", @@ -50,18 +48,16 @@ "dev": true }, "node_modules/@emurgo/cardano-serialization-lib-browser": { - "version": "12.0.0-beta.9", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0-beta.9.tgz", - "integrity": "sha512-hQSNYBOPjtib7rfNcqD7k53aG5ioHCvTP8dA7xMSNZLJB/UAIe1VoavqNmzPPx4c9Fzbm6YNEag56KG9WTAx6g==", - "dev": true, - "license": "MIT" + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0.tgz", + "integrity": "sha512-sAVjtaSwujQ3WaJY7OnsOt9mGbMF6YVFg/D4SWLr666zo3ESmislH0FLD932yFTOSJtOQV1oF+Pk8Ee2lR7X5A==", + "dev": true }, "node_modules/@emurgo/cardano-serialization-lib-nodejs": { - "version": "12.0.0-beta.9", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0-beta.9.tgz", - "integrity": "sha512-G1LDTYGtn5Otb66uDNapoP3+lWNVwGqBDInWiaGjH7Qj8BRuovo546dXW2e8aikdRBV7hqbTgZKZfOOrYfCzvA==", - "dev": true, - "license": "MIT" + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0.tgz", + "integrity": "sha512-r7ZFYMr1N/i2GbhPAmz7JjKhfjEu7q8sa5beX2rLoV+xTkKGfknCTOsVvT0LqgKOUXAzcSQhNNHUKFd27+sLiw==", + "dev": true }, "node_modules/@esbuild/android-arm": { "version": "0.18.11", @@ -432,14 +428,13 @@ } }, "node_modules/@mlabs-haskell/cardano-serialization-lib-gc": { - "version": "12.0.0-alpha.31", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0-alpha.31.tgz", - "integrity": "sha512-QQBzl7rNRy7wk37uxzWJXCZfZRt3aTlfQb3kmb10ulY/janlUNETmS09OtiJbK/BdV5Fu7Gv+Mdda3ggMIL/bg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0.tgz", + "integrity": "sha512-8qwkJzDV1CEjbpZZ3sX5gkP6Tug0mzBSeO9ppHBT6wFEqyi5HXA5oxmN0TGoFecvWVG5f6JmRVeBS0sDqsi20A==", "dev": true, - "license": "ISC", "dependencies": { - "@emurgo/cardano-serialization-lib-browser": "^12.0.0-alpha.31", - "@emurgo/cardano-serialization-lib-nodejs": "^12.0.0-alpha.31", + "@emurgo/cardano-serialization-lib-browser": "12.0.0", + "@emurgo/cardano-serialization-lib-nodejs": "12.0.0", "@mlabs-haskell/csl-gc-wrapper": "^1.0.2" } }, @@ -692,12 +687,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -708,30 +697,6 @@ "concat-map": "0.0.1" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -2651,15 +2616,15 @@ "dev": true }, "@emurgo/cardano-serialization-lib-browser": { - "version": "12.0.0-beta.9", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0-beta.9.tgz", - "integrity": "sha512-hQSNYBOPjtib7rfNcqD7k53aG5ioHCvTP8dA7xMSNZLJB/UAIe1VoavqNmzPPx4c9Fzbm6YNEag56KG9WTAx6g==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-12.0.0.tgz", + "integrity": "sha512-sAVjtaSwujQ3WaJY7OnsOt9mGbMF6YVFg/D4SWLr666zo3ESmislH0FLD932yFTOSJtOQV1oF+Pk8Ee2lR7X5A==", "dev": true }, "@emurgo/cardano-serialization-lib-nodejs": { - "version": "12.0.0-beta.9", - "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0-beta.9.tgz", - "integrity": "sha512-G1LDTYGtn5Otb66uDNapoP3+lWNVwGqBDInWiaGjH7Qj8BRuovo546dXW2e8aikdRBV7hqbTgZKZfOOrYfCzvA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-12.0.0.tgz", + "integrity": "sha512-r7ZFYMr1N/i2GbhPAmz7JjKhfjEu7q8sa5beX2rLoV+xTkKGfknCTOsVvT0LqgKOUXAzcSQhNNHUKFd27+sLiw==", "dev": true }, "@esbuild/android-arm": { @@ -2833,13 +2798,13 @@ } }, "@mlabs-haskell/cardano-serialization-lib-gc": { - "version": "12.0.0-alpha.31", - "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0-alpha.31.tgz", - "integrity": "sha512-QQBzl7rNRy7wk37uxzWJXCZfZRt3aTlfQb3kmb10ulY/janlUNETmS09OtiJbK/BdV5Fu7Gv+Mdda3ggMIL/bg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@mlabs-haskell/cardano-serialization-lib-gc/-/cardano-serialization-lib-gc-12.0.0.tgz", + "integrity": "sha512-8qwkJzDV1CEjbpZZ3sX5gkP6Tug0mzBSeO9ppHBT6wFEqyi5HXA5oxmN0TGoFecvWVG5f6JmRVeBS0sDqsi20A==", "dev": true, "requires": { - "@emurgo/cardano-serialization-lib-browser": "^12.0.0-alpha.31", - "@emurgo/cardano-serialization-lib-nodejs": "^12.0.0-alpha.31", + "@emurgo/cardano-serialization-lib-browser": "12.0.0", + "@emurgo/cardano-serialization-lib-nodejs": "12.0.0", "@mlabs-haskell/csl-gc-wrapper": "^1.0.2" } }, @@ -3037,12 +3002,6 @@ } } }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3053,16 +3012,6 @@ "concat-map": "0.0.1" } }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", diff --git a/package.json b/package.json index 06772fd..c87a087 100644 --- a/package.json +++ b/package.json @@ -10,15 +10,13 @@ ], "devDependencies": { "@mlabs-haskell/cardano-message-signing": "^1.0.1", - "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0-alpha.31", + "@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0", "@mlabs-haskell/json-bigint": "2.0.0", "@mlabs-haskell/uplc-apply-args": "1.0.29-alpha", "@noble/secp256k1": "^1.7.0", "base64-js": "^1.5.1", "bignumber.js": "^9.1.1", "bip39": "^3.1.0", - "blakejs": "1.2.1", - "buffer": "6.0.3", "bufferutil": "4.0.5", "doctoc": "^2.2.1", "esbuild": "0.18.11", diff --git a/packages.dhall b/packages.dhall index c60e8be..4ef9c59 100644 --- a/packages.dhall +++ b/packages.dhall @@ -118,7 +118,7 @@ let additions = , "untagged-union" ] , repo = "https://github.com/mlabs-haskell/purescript-cip30" - , version = "v1.0.0" + , version = "v1.0.1" } , cip30-typesafe = { dependencies = @@ -214,7 +214,7 @@ let additions = ] , repo = "https://github.com/mlabs-haskell/purescript-cardano-serialization-lib" - , version = "v1.0.0" + , version = "v2.0.0" } , cardano-plutus-data-schema = { dependencies = [ "prelude" ] @@ -372,7 +372,7 @@ let additions = , "unsafe-coerce" ] , repo = "https://github.com/mlabs-haskell/purescript-cardano-types" - , version = "v2.0.1" + , version = "v3.0.0" } , cardano-message-signing = { dependencies = @@ -453,7 +453,7 @@ let additions = ] , repo = "https://github.com/mlabs-haskell/purescript-cardano-transaction-builder" - , version = "a9c033b9a2bb78b134ae5309209f73e47f3d5791" + , version = "v2.0.0" } , mote-testplan = { dependencies = @@ -473,7 +473,7 @@ let additions = ] , repo = "https://github.com/mlabs-haskell/purescript-mote-testplan" , version = "v1.0.0" - } + } , cardano-transaction-lib = { dependencies = [ "aeson" @@ -584,7 +584,7 @@ let additions = , "web-storage" ] , repo = "https://github.com/Plutonomicon/cardano-transaction-lib.git" - , version = "v9.2.0" + , version = "v9.3.1" } , errors = { dependencies = diff --git a/spago-packages.nix b/spago-packages.nix index 91cd516..ec27627 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -271,11 +271,11 @@ let "cardano-serialization-lib" = pkgs.stdenv.mkDerivation { name = "cardano-serialization-lib"; - version = "v1.0.0"; + version = "v2.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cardano-serialization-lib"; - rev = "903bf0adeefedc4d065ad6523ad079433bdd8e32"; - sha256 = "0jlfxrx037hyd4v0j7l2b16yxlm6nw6qlnr992hj9nzip36vbpfg"; + rev = "d6ca2f9463b3d4e1cfa98e9964edbe7bfed02905"; + sha256 = "05f26v1xr7lkiw57rcqhjng299p7ly90wxqq9jay743pwvrysq0b"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -283,11 +283,11 @@ let "cardano-transaction-builder" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-builder"; - version = "a9c033b9a2bb78b134ae5309209f73e47f3d5791"; + version = "v2.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cardano-transaction-builder"; - rev = "a9c033b9a2bb78b134ae5309209f73e47f3d5791"; - sha256 = "1xz6k56kwghq9nl0iwrqs6m05wja0xfj34iicmlhwvdp7k4nc65w"; + rev = "dbe4203500723282ae73b2cd9b56f4267cbd7117"; + sha256 = "1p2j1dzfh83vxc8zhs8n9kg1dr3fyd4l3z8ixqghyly9z42afza2"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -295,11 +295,11 @@ let "cardano-transaction-lib" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-lib"; - version = "v9.2.0"; + version = "v9.3.1"; src = pkgs.fetchgit { url = "https://github.com/Plutonomicon/cardano-transaction-lib.git"; - rev = "a92a8b7b48ea68fa0c846dcc8803189f7908386b"; - sha256 = "1xyir2mvni6lfr923hz2cj1yvyh42n27mvh4b4wv4p7gghiy6qif"; + rev = "be434c41d80bb10d25825ed247d81f630f2d6b89"; + sha256 = "1b2p5m6l7rwb8saabhvrargnv8nd79vh13b81f13iz7igrsi92qz"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -307,11 +307,11 @@ let "cardano-types" = pkgs.stdenv.mkDerivation { name = "cardano-types"; - version = "v2.0.1"; + version = "v3.0.0"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cardano-types"; - rev = "5b16e9571167e9889605d3aecdd0ccce24d38696"; - sha256 = "1052lknpkhcq86lj8aavfwzr9ybrirjighsjccpgrcaq2jn4kcmj"; + rev = "71b204c7c9c83b8280ed3ed14837d76b8ac0a6fe"; + sha256 = "1kffscail4kp5pygdv8nd2bclwd6c0cygkn5mn5sllnn29a63mpf"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; @@ -343,11 +343,11 @@ let "cip30" = pkgs.stdenv.mkDerivation { name = "cip30"; - version = "v1.0.0"; + version = "v1.0.1"; src = pkgs.fetchgit { url = "https://github.com/mlabs-haskell/purescript-cip30"; - rev = "8f1b34b48825fcec5e9c67f33e255770b1e0bc45"; - sha256 = "1rb7kv99rd50b6vhl90sirmzh43wgnyafpmn7w45n3d4nrvf1046"; + rev = "8de9bbcc6728237e3aec418c2c88bfcb519fc176"; + sha256 = "18ms7kyd98zmimvnjyixxhqrw5d68cpi3ya351hy2p4r7mmf7vy7"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; From 0495ad1ee8f387d94772c24c2113d5f32d5fcfe3 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Tue, 17 Sep 2024 14:26:46 +0200 Subject: [PATCH 13/23] fix: fix plutus script envelopes and some tests --- flake.nix | 5 +++++ scripts/auction_escrow_validator.plutus | 16 ++++---------- scripts/auction_metadata_validator.plutus | 11 ++++------ scripts/auction_minting_policy.plutus | 14 ++++-------- scripts/bidder_deposit_validator.plutus | 16 ++++---------- scripts/standing_bid_validator.plutus | 14 ++++-------- src/Contract/Types/Plutus/AuctionTerms.purs | 3 +-- test/Contract/AnnounceAuction.purs | 24 +++++++++++++++------ 8 files changed, 44 insertions(+), 59 deletions(-) diff --git a/flake.nix b/flake.nix index 2482007..44b225f 100644 --- a/flake.nix +++ b/flake.nix @@ -44,6 +44,11 @@ shellHook = '' mkdir -p scripts cp -rf ${hydra-auction-onchain}/compiled/*.plutus scripts + for script in scripts/*.plutus; do + jq '. | {cborHex: .cborHex, description: .description, type: "PlutusScriptV2"}' "$script" \ + > "$script.tmp" + mv -f "$script.tmp" "$script" + done ''; packages = with pkgs; [ fd diff --git a/scripts/auction_escrow_validator.plutus b/scripts/auction_escrow_validator.plutus index 6017a5a..7841b3e 100644 --- a/scripts/auction_escrow_validator.plutus +++ b/scripts/auction_escrow_validator.plutus @@ -1,13 +1,5 @@ { - "cborHex": "5918f65918f3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222222333333322222223232323232533307932323370e60ae00290011983711983919184080984100800984000983f9840808008018009bac307e307f005153330793302900a307e307d307f0021323232533307c3370e900000109919299983f198101810919b8700148000ccc179c09bab3083010020641533307e33022323302b375a6108020026eb4c21004c20c04004c1d8c21004038c20c0400454ccc1f8cc15cdd61841809841008009ba9008132533307f3302f0100011325333080015330573303300f3374a900003a89981980099ba5480081d44c8c94ccc20804c8c8c8c94ccc21804cdc3a40040042646464a6661120266e1d200000214a0266ebcdd38021ba7001308f01002308a0100137540082646464a6661120266e1d200200214a0266ebcdd38021ba7001308f01002308a010013754008611802004610e020026ea8008cdd2a40040ee2930a9984000a490641554553313300163307e491064155455331320030680013307d490106415545533131003307123306c3086013087010010143758610a0260f4610c020182a660fc9210641554553313000163307c49105415545533900306b001153307d490105415545533800163307b491054155455337003306e00600a153307c49010541554553360016153307c4910541554553350016153307c4910541554553340016307730810100130743082010081533307c3370e90020010991919299983f998109811119b8700148000ccc17dc09bab3084010030651533307f33023301d308401302030850100f30840100213253330800133030011001153330800133034011001132533308101330330100011533308101330533756610c02006646660c24464a66610a02660f861140200200826660cae0000cdd598450098448080088019845008008341bac308701307c30880100e30860130850100315333081013305a3758610c02610a020086ea402c54ccc20404cdc4982e008982f19983011192999842009983798448080080b0999832380003375661120261100200220066112020020ce6eb0c21804c1ecc21c04034526153307f491064155455334300016153307f491064155455333390016153307f491064155455333380016153307f4910641554553333700163307d4910641554553333600306c001153307e4901064155455333350016153307e4910641554553333400163307c49106415545533333003306f00700b153307d4901064155455333320016153307d49106415545533331001630840100e307730810100130743082010081533307c3370e900300109919299983f199119baf374c0046e98004c8cc8c06c8ccc008dd58009191118010019ba600112250012325333081013074001122500112230020033301b25333081013375e0026ea1200012250011223002003001001375661060200464646644660f066ec00080041a0dd48089ba600133301b4891041554354494f4e5f4d455441444154410000133301b03000133301b03800106532337029000000a40042a6660fc66044603861060264610602604000261080201c6106020022a6660fc660ae6eb0c20c04c20804004dd48040a99983f1981880699ba5480101cc54ccc1f8cc0c803cc20c04c20804c2100401c526153307c491064155455334350016153307c491064155455334340016153307c491064155455334330016153307c491064155455334320016153307c491064155455334310016307730810100130743082010081323232533307f33021302223370e002900019982fb8137566108020060ca2a6660fe6604664660586eb4c21404004dd69842809842008009817184280807984200801099299984000998180088008a999840009981a00880089929998408099819808000899192999841809981b80a0008991919192999843809919191919191919299833199998249bae3094013093010050030080024881014000133333049375c61280200a6eb8c25004c24c04010c2500401000522101450033223322325333093013371200290000801099b8a3330727140e266611c02444a66612c0266e24009200014bd62099846008009980199b810024800800400418c008cdc08011b8d0014822804cdc5183081099b8a306100137666ea0008dd69849808029919191929998490099b874800800854cc2400524013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c612e020026130020046126020026ea8c25004c25404004c24c0400cc8cdc5182f80f982f8009bae309201309101002375c612202610c02612402038612202612002006611c02002611a02002611c02008611802611602611a0202e2a66610e02660b26eacc23004024ccc19888c94ccc22804cc20404c23c040040144ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262a66610e02660c06eb0c23004c22c04028dd48008a9998438099b8932323370200400260c60306eb4c23004c22c04c2340400cc190c8ccc19c88c94ccc22c04cc20804c240040040104ccc1adc00019bab309001308f01001100330900100106e3758611a02610402611c020286118026116020122a66610e0266e24c18805cc190ccc19888c94ccc22804cc1d4c23c040040704ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262930a9984280a4810641554553333000161533085014910641554553323900161533085014910641554553323800161533085014910641554553323700161533085014910641554553323600163308301491064155455332350030850100132308b01308c01001308a01308b0100133223232325333089013370e90010010a99843808028b09847008009847808011845008009baa0014910641554553323400001330800149010641554553323300306a00115330810149010641554553323200163087013086013088010013307e49010641554553323100330722323306e001016323088013089010013087013086013088010013758610c02610e0201a2a660fe9210641554553323000163307d4910641554553313900306c001153307e4901064155455331380016153307e4910641554553313700163307c49106415545533136003306f00700b153307d4901064155455331350016153307d49106415545533134001630840100e30773081010013074308201008308201002307d001375400e2a660ee92105415545533300161533077491054155455332001632307e307f001307d307c307e0013307449105415545533100323232533307a3370e90010010991919983b911299983d80089128008a99983f9801184200800899111801001984200800899801801184180800919baf30820130830100100300137586461020261040200261000261020201060fe00220f661000200460f60026ea8c1f0c1ecc1f4010cc1cd2401054155455330003075001307a3079307b0053079307a001375c00e6eb8018dd7002802001801000911983111299983280088278991998029838983780111983099bb0306e307000300100210013002306d001001223300323305d337606ea400cdd400100080111119983091299983200089180098030278991299983519b90002006133004306e003230023306130700040011533306a3371e00400c26002600e60dc00626002600e660c060de00660dc0066eb8c1acc1b400400480048cc008cdd2a4004660b20020b066e95200405822330033374a90001982c8011982c80802c19ba548000cc164004cc16404016088cdd2a4000660b0004660b00020ae460c8601e002446606c460066eacc1a000400488cc0d48c00cdd6983380080091191929981b9980298059832801180598328008998029805983298320009805983298320011832801183200111191919192999830a9980e29981c00108008a9981c18038010980380089980400200189980500200198051832983200218049832183180218318011831001119982d800a504a244a6602c6600800400226600600400244646464a6660ba66e1d2000002132323253330603370e90000010a5114a060cc00460c20026ea801054ccc174cdc3a40040042646464a6660c066e1d20020021323370e6eb4c198014004dd698328008a503066002306100137540082646464a6660c066e1d200400214a22940c198008c184004dd50021831801182f0009baa00222323232533305c3370e90000010a511533305c3370e90010010991919299982f99b87480000085280a99982f99b8748010008528899b88375a60c80086eb4c190004c194008c180004dd50020991919299982f99b87480100085288a5030650023060001375400860c400460ba0026ea80088cdc3982d1baa0014800816c88cdd2a40006609866e9520003304c3374a9001198261ba800204b3304c00304b3304c3374a90001982619ba548008cc130dd400082599826002025825a6103d87a80004c0103d879800023056304a001223330070020030014890741554354494f4e0022533027330030023374a900102289980180099ba54801011488c8c8c94ccc148cdc3a40040042646464a6660aa66e1d200200213375e6e9c010dd38008a50305b002305600137540082a6660a466e1d2004002132323253330553370e9002001099baf374e0086e9c004528182d801182b0009baa004132323253330553370e9000001099baf374e0086e9c004528182d801182b0009baa0043058002305300137540044466600600400e00244466e1cccc010dd598299829182a00080180124004444666600800490001199980280124000eb4dd5800801918011ba900122223304722533304a00110051533304e3375e60a260a600200c2600860aa60a60022600460a400200291010c5354414e44494e475f42494400222223253300730014a0260029448cccccc02400401000c0088ccdca8030008038a5023304600100214a24444666600a008006464609666e28058cdc51bae304e304d0013371402e66e28dd7182700099b8a0183371400666e2801009cc138004412088ccc00c0048cc01400488c8c128cdd2a40006607c6ea4004cc0f8dd480101e99b8a00c3371400466e28cc03401400ccdc518098018128822919191919299982319b8748008008411c4c8c8c94ccc124cdc3a40000042646464a66609866e1d2002002104d1323232533304f3370e9001001098289919111198010028021bae3055002375c60a8014260a264644446600600a0086eb8c154008dd7182a005182a80118280009baa30510013052002304d0013754609c002260966444460020086eb8c138010c13c008c128004dd518259825002182600118238009baa30480013048001233300122233001005006222330010050062233001006007488101390048810146004881011d004881012a0048810158002233300122533303e0041005100e22533303e004100610072533303d0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881010000237666ea4004c005c491980119801800a40000284444666056444a66605e00426601246601000e6eacc0ec0040044c94ccc0c000854cc02ccc02000401c4cc0288cc024dd5981e000804181c0018991919299981b99b8f002001153300e3300b004003133007303b006303b00515333037337200040022a6601c6601600801426600e607600c00a2a6601c6601601400626600e00c607600a6eb8c0e4c0ec010dd7181c181d0021bab303b30390023756607460700040040024444666054444a66605c00426601046601000e6eb4c0e80040044c94ccc0bc00854cc028cc02000401c4cc0248cc024dd6981d800804181b8018991919299981b19b8f002001153300d3300b004003133007303a006303a00515333036337200040022a6601a6601600801426600e607400c00a2a6601a6601601400626600e00c607400a6eb8c0e0c0e8010dd7181b981c8021bad303a3038002375a6072606e0040040024604c44a666052002294454cc010c00cc0c80044c008c0c400488ccc0ac00800400c5281119801800801118111129998128008a50153330293375e605c00200629444c008c0b40048c8cdc118019bac302c001375a6058603e6056002603e60580026603e444a666046002200426600666e000092002302b0014800094ccc0800045200013330243375e604e60520026ea4008dd6981598149bab302b302900148001221002301d2225333021001100213300333004002302a0013029001222333004223330070050020010020012300322374c660066eac008dd580091801111ba833003375a0046eb4004888cccc01000c880080080048c060c00800488c8c88cc00400c0088894ccc0740044cc05c00c0084c8c8c94ccc090cdd780100089980d19bb000233009302b006302b00333300822002005302800415333024337206eb8008dd700089980d003199980411000801981400200289980d001999980411000803002981400218130011812802181300091299980d8010800899998019100098120011811801000a5eb7bdb1808c8c8c8c94ccc078cdc3a400800426040600c6046002203e6048004603e0026ea8004c07cc050c0800048c8c8c8c80154ccc070cdc3a400000426464646464646493299980f0008a4c2a660400202c604a00ca66604066e1d20000021323232323232323232323232323232324994ccc0ac004526153302d01d163032003375c0026062002605e0066eb8004c0b8004c0b000cdd680098158009814803299981219b87480000084c8c8c8c8c8c8c8c8c8c9265333029001149854cc0ac06c58c0c000cdd700098178009816803299981419b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333030001149854cc0c808858c0dc0194ccc0c8cdc3a400000426464646464646493299981a0008a4c2a6606c04c2c607600ca66606c66e1d20000021323232323232324994ccc0e0004526153303a02a16303f006533303a3370e900000109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0128b1bae001303f0011533303a3370e900100109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0130b1bae001303f0011533038029163040002303b001375400260760022a66606c66e1d20020021323232323232323232324994ccc0ec004526153303d02d163042003375a0026082002607e0066eb4004c0f8004c0f000cdd6800981d8008a9981a0128b181e001181b8009baa0013037001153330323370e900100109924ca66605c0022930a998180100b0a998180108b181c00118198009baa00130330013031006533302c3370e900000109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600b8b1bae00130310011533302c3370e900100109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600c0b1bae0013031001153302a01b163032002302d0013754002605a0022a6604c02e2c605c00460520026ea8004c0a400454cc08804c58c0a8008c094004dd500098128008a9980f0078b181300118108009baa00130210011533301c3370e900100109924ca6660300022930a9980d0050b0a9980d0058b1811001180e8009baa00149012c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67002232323232533301b3370e90000010a5013371e6eb8c080004014c084008c070004dd5000980e180e801119191919299980c99b87480100084c06cc018c0780044068c07c008c068004dd5000980d1807980d800919191919002a99980b99b87480000084c9265333013001149854cc0540145854ccc05ccdc3a40040042649329998098008a4c2a6602a00a2c2a66602e66e1d20040021324994ccc04c004526153301500516153301500616301d002301800137540029201317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f7200223300323300a301830190010033758602e601860300024460066600a004002601244a66601800220222a6660206006602800226024602a0022022ae8c8c020894ccc02c00440104c94ccc040c0100044cc018004c00cc0500084c00cc050008c0500052f5c0ae8088cdd79ba73011002374e60220024601a6004002460186004002460166016002464600446600400400246004466004004002aae7c88cc004800454cc00c008595ce1191919299980299b874800800840184c01cdd71805000980580118030009baa30073008001573444a0024446004006aae755d12ba1230023754002aae781", - "description": "Auction escrow validator", - "params": [ - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.Scripts:StandingBidScriptHash", - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.Scripts:FeeEscrowScriptHash", - "Ply.Core.Types:AsData#PlutusLedgerApi.V1.Value:CurrencySymbol", - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.AuctionTerms:AuctionTerms" - ], - "rawHex": "5918f3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222222333333322222223232323232533307932323370e60ae00290011983711983919184080984100800984000983f9840808008018009bac307e307f005153330793302900a307e307d307f0021323232533307c3370e900000109919299983f198101810919b8700148000ccc179c09bab3083010020641533307e33022323302b375a6108020026eb4c21004c20c04004c1d8c21004038c20c0400454ccc1f8cc15cdd61841809841008009ba9008132533307f3302f0100011325333080015330573303300f3374a900003a89981980099ba5480081d44c8c94ccc20804c8c8c8c94ccc21804cdc3a40040042646464a6661120266e1d200000214a0266ebcdd38021ba7001308f01002308a0100137540082646464a6661120266e1d200200214a0266ebcdd38021ba7001308f01002308a010013754008611802004610e020026ea8008cdd2a40040ee2930a9984000a490641554553313300163307e491064155455331320030680013307d490106415545533131003307123306c3086013087010010143758610a0260f4610c020182a660fc9210641554553313000163307c49105415545533900306b001153307d490105415545533800163307b491054155455337003306e00600a153307c49010541554553360016153307c4910541554553350016153307c4910541554553340016307730810100130743082010081533307c3370e90020010991919299983f998109811119b8700148000ccc17dc09bab3084010030651533307f33023301d308401302030850100f30840100213253330800133030011001153330800133034011001132533308101330330100011533308101330533756610c02006646660c24464a66610a02660f861140200200826660cae0000cdd598450098448080088019845008008341bac308701307c30880100e30860130850100315333081013305a3758610c02610a020086ea402c54ccc20404cdc4982e008982f19983011192999842009983798448080080b0999832380003375661120261100200220066112020020ce6eb0c21804c1ecc21c04034526153307f491064155455334300016153307f491064155455333390016153307f491064155455333380016153307f4910641554553333700163307d4910641554553333600306c001153307e4901064155455333350016153307e4910641554553333400163307c49106415545533333003306f00700b153307d4901064155455333320016153307d49106415545533331001630840100e307730810100130743082010081533307c3370e900300109919299983f199119baf374c0046e98004c8cc8c06c8ccc008dd58009191118010019ba600112250012325333081013074001122500112230020033301b25333081013375e0026ea1200012250011223002003001001375661060200464646644660f066ec00080041a0dd48089ba600133301b4891041554354494f4e5f4d455441444154410000133301b03000133301b03800106532337029000000a40042a6660fc66044603861060264610602604000261080201c6106020022a6660fc660ae6eb0c20c04c20804004dd48040a99983f1981880699ba5480101cc54ccc1f8cc0c803cc20c04c20804c2100401c526153307c491064155455334350016153307c491064155455334340016153307c491064155455334330016153307c491064155455334320016153307c491064155455334310016307730810100130743082010081323232533307f33021302223370e002900019982fb8137566108020060ca2a6660fe6604664660586eb4c21404004dd69842809842008009817184280807984200801099299984000998180088008a999840009981a00880089929998408099819808000899192999841809981b80a0008991919192999843809919191919191919299833199998249bae3094013093010050030080024881014000133333049375c61280200a6eb8c25004c24c04010c2500401000522101450033223322325333093013371200290000801099b8a3330727140e266611c02444a66612c0266e24009200014bd62099846008009980199b810024800800400418c008cdc08011b8d0014822804cdc5183081099b8a306100137666ea0008dd69849808029919191929998490099b874800800854cc2400524013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c612e020026130020046126020026ea8c25004c25404004c24c0400cc8cdc5182f80f982f8009bae309201309101002375c612202610c02612402038612202612002006611c02002611a02002611c02008611802611602611a0202e2a66610e02660b26eacc23004024ccc19888c94ccc22804cc20404c23c040040144ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262a66610e02660c06eb0c23004c22c04028dd48008a9998438099b8932323370200400260c60306eb4c23004c22c04c2340400cc190c8ccc19c88c94ccc22c04cc20804c240040040104ccc1adc00019bab309001308f01001100330900100106e3758611a02610402611c020286118026116020122a66610e0266e24c18805cc190ccc19888c94ccc22804cc1d4c23c040040704ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262930a9984280a4810641554553333000161533085014910641554553323900161533085014910641554553323800161533085014910641554553323700161533085014910641554553323600163308301491064155455332350030850100132308b01308c01001308a01308b0100133223232325333089013370e90010010a99843808028b09847008009847808011845008009baa0014910641554553323400001330800149010641554553323300306a00115330810149010641554553323200163087013086013088010013307e49010641554553323100330722323306e001016323088013089010013087013086013088010013758610c02610e0201a2a660fe9210641554553323000163307d4910641554553313900306c001153307e4901064155455331380016153307e4910641554553313700163307c49106415545533136003306f00700b153307d4901064155455331350016153307d49106415545533134001630840100e30773081010013074308201008308201002307d001375400e2a660ee92105415545533300161533077491054155455332001632307e307f001307d307c307e0013307449105415545533100323232533307a3370e90010010991919983b911299983d80089128008a99983f9801184200800899111801001984200800899801801184180800919baf30820130830100100300137586461020261040200261000261020201060fe00220f661000200460f60026ea8c1f0c1ecc1f4010cc1cd2401054155455330003075001307a3079307b0053079307a001375c00e6eb8018dd7002802001801000911983111299983280088278991998029838983780111983099bb0306e307000300100210013002306d001001223300323305d337606ea400cdd400100080111119983091299983200089180098030278991299983519b90002006133004306e003230023306130700040011533306a3371e00400c26002600e60dc00626002600e660c060de00660dc0066eb8c1acc1b400400480048cc008cdd2a4004660b20020b066e95200405822330033374a90001982c8011982c80802c19ba548000cc164004cc16404016088cdd2a4000660b0004660b00020ae460c8601e002446606c460066eacc1a000400488cc0d48c00cdd6983380080091191929981b9980298059832801180598328008998029805983298320009805983298320011832801183200111191919192999830a9980e29981c00108008a9981c18038010980380089980400200189980500200198051832983200218049832183180218318011831001119982d800a504a244a6602c6600800400226600600400244646464a6660ba66e1d2000002132323253330603370e90000010a5114a060cc00460c20026ea801054ccc174cdc3a40040042646464a6660c066e1d20020021323370e6eb4c198014004dd698328008a503066002306100137540082646464a6660c066e1d200400214a22940c198008c184004dd50021831801182f0009baa00222323232533305c3370e90000010a511533305c3370e90010010991919299982f99b87480000085280a99982f99b8748010008528899b88375a60c80086eb4c190004c194008c180004dd50020991919299982f99b87480100085288a5030650023060001375400860c400460ba0026ea80088cdc3982d1baa0014800816c88cdd2a40006609866e9520003304c3374a9001198261ba800204b3304c00304b3304c3374a90001982619ba548008cc130dd400082599826002025825a6103d87a80004c0103d879800023056304a001223330070020030014890741554354494f4e0022533027330030023374a900102289980180099ba54801011488c8c8c94ccc148cdc3a40040042646464a6660aa66e1d200200213375e6e9c010dd38008a50305b002305600137540082a6660a466e1d2004002132323253330553370e9002001099baf374e0086e9c004528182d801182b0009baa004132323253330553370e9000001099baf374e0086e9c004528182d801182b0009baa0043058002305300137540044466600600400e00244466e1cccc010dd598299829182a00080180124004444666600800490001199980280124000eb4dd5800801918011ba900122223304722533304a00110051533304e3375e60a260a600200c2600860aa60a60022600460a400200291010c5354414e44494e475f42494400222223253300730014a0260029448cccccc02400401000c0088ccdca8030008038a5023304600100214a24444666600a008006464609666e28058cdc51bae304e304d0013371402e66e28dd7182700099b8a0183371400666e2801009cc138004412088ccc00c0048cc01400488c8c128cdd2a40006607c6ea4004cc0f8dd480101e99b8a00c3371400466e28cc03401400ccdc518098018128822919191919299982319b8748008008411c4c8c8c94ccc124cdc3a40000042646464a66609866e1d2002002104d1323232533304f3370e9001001098289919111198010028021bae3055002375c60a8014260a264644446600600a0086eb8c154008dd7182a005182a80118280009baa30510013052002304d0013754609c002260966444460020086eb8c138010c13c008c128004dd518259825002182600118238009baa30480013048001233300122233001005006222330010050062233001006007488101390048810146004881011d004881012a0048810158002233300122533303e0041005100e22533303e004100610072533303d0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881010000237666ea4004c005c491980119801800a40000284444666056444a66605e00426601246601000e6eacc0ec0040044c94ccc0c000854cc02ccc02000401c4cc0288cc024dd5981e000804181c0018991919299981b99b8f002001153300e3300b004003133007303b006303b00515333037337200040022a6601c6601600801426600e607600c00a2a6601c6601601400626600e00c607600a6eb8c0e4c0ec010dd7181c181d0021bab303b30390023756607460700040040024444666054444a66605c00426601046601000e6eb4c0e80040044c94ccc0bc00854cc028cc02000401c4cc0248cc024dd6981d800804181b8018991919299981b19b8f002001153300d3300b004003133007303a006303a00515333036337200040022a6601a6601600801426600e607400c00a2a6601a6601601400626600e00c607400a6eb8c0e0c0e8010dd7181b981c8021bad303a3038002375a6072606e0040040024604c44a666052002294454cc010c00cc0c80044c008c0c400488ccc0ac00800400c5281119801800801118111129998128008a50153330293375e605c00200629444c008c0b40048c8cdc118019bac302c001375a6058603e6056002603e60580026603e444a666046002200426600666e000092002302b0014800094ccc0800045200013330243375e604e60520026ea4008dd6981598149bab302b302900148001221002301d2225333021001100213300333004002302a0013029001222333004223330070050020010020012300322374c660066eac008dd580091801111ba833003375a0046eb4004888cccc01000c880080080048c060c00800488c8c88cc00400c0088894ccc0740044cc05c00c0084c8c8c94ccc090cdd780100089980d19bb000233009302b006302b00333300822002005302800415333024337206eb8008dd700089980d003199980411000801981400200289980d001999980411000803002981400218130011812802181300091299980d8010800899998019100098120011811801000a5eb7bdb1808c8c8c8c94ccc078cdc3a400800426040600c6046002203e6048004603e0026ea8004c07cc050c0800048c8c8c8c80154ccc070cdc3a400000426464646464646493299980f0008a4c2a660400202c604a00ca66604066e1d20000021323232323232323232323232323232324994ccc0ac004526153302d01d163032003375c0026062002605e0066eb8004c0b8004c0b000cdd680098158009814803299981219b87480000084c8c8c8c8c8c8c8c8c8c9265333029001149854cc0ac06c58c0c000cdd700098178009816803299981419b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333030001149854cc0c808858c0dc0194ccc0c8cdc3a400000426464646464646493299981a0008a4c2a6606c04c2c607600ca66606c66e1d20000021323232323232324994ccc0e0004526153303a02a16303f006533303a3370e900000109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0128b1bae001303f0011533303a3370e900100109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0130b1bae001303f0011533038029163040002303b001375400260760022a66606c66e1d20020021323232323232323232324994ccc0ec004526153303d02d163042003375a0026082002607e0066eb4004c0f8004c0f000cdd6800981d8008a9981a0128b181e001181b8009baa0013037001153330323370e900100109924ca66605c0022930a998180100b0a998180108b181c00118198009baa00130330013031006533302c3370e900000109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600b8b1bae00130310011533302c3370e900100109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600c0b1bae0013031001153302a01b163032002302d0013754002605a0022a6604c02e2c605c00460520026ea8004c0a400454cc08804c58c0a8008c094004dd500098128008a9980f0078b181300118108009baa00130210011533301c3370e900100109924ca6660300022930a9980d0050b0a9980d0058b1811001180e8009baa00149012c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67002232323232533301b3370e90000010a5013371e6eb8c080004014c084008c070004dd5000980e180e801119191919299980c99b87480100084c06cc018c0780044068c07c008c068004dd5000980d1807980d800919191919002a99980b99b87480000084c9265333013001149854cc0540145854ccc05ccdc3a40040042649329998098008a4c2a6602a00a2c2a66602e66e1d20040021324994ccc04c004526153301500516153301500616301d002301800137540029201317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f7200223300323300a301830190010033758602e601860300024460066600a004002601244a66601800220222a6660206006602800226024602a0022022ae8c8c020894ccc02c00440104c94ccc040c0100044cc018004c00cc0500084c00cc050008c0500052f5c0ae8088cdd79ba73011002374e60220024601a6004002460186004002460166016002464600446600400400246004466004004002aae7c88cc004800454cc00c008595ce1191919299980299b874800800840184c01cdd71805000980580118030009baa30073008001573444a0024446004006aae755d12ba1230023754002aae781", - "role": "ValidatorRole", - "version": "ScriptV2" -} \ No newline at end of file + "cborHex": "5918f65918f3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222222333333322222223232323232533307932323370e60ae00290011983711983919184080984100800984000983f9840808008018009bac307e307f005153330793302900a307e307d307f0021323232533307c3370e900000109919299983f198101810919b8700148000ccc179c09bab3083010020641533307e33022323302b375a6108020026eb4c21004c20c04004c1d8c21004038c20c0400454ccc1f8cc15cdd61841809841008009ba9008132533307f3302f0100011325333080015330573303300f3374a900003a89981980099ba5480081d44c8c94ccc20804c8c8c8c94ccc21804cdc3a40040042646464a6661120266e1d200000214a0266ebcdd38021ba7001308f01002308a0100137540082646464a6661120266e1d200200214a0266ebcdd38021ba7001308f01002308a010013754008611802004610e020026ea8008cdd2a40040ee2930a9984000a490641554553313300163307e491064155455331320030680013307d490106415545533131003307123306c3086013087010010143758610a0260f4610c020182a660fc9210641554553313000163307c49105415545533900306b001153307d490105415545533800163307b491054155455337003306e00600a153307c49010541554553360016153307c4910541554553350016153307c4910541554553340016307730810100130743082010081533307c3370e90020010991919299983f998109811119b8700148000ccc17dc09bab3084010030651533307f33023301d308401302030850100f30840100213253330800133030011001153330800133034011001132533308101330330100011533308101330533756610c02006646660c24464a66610a02660f861140200200826660cae0000cdd598450098448080088019845008008341bac308701307c30880100e30860130850100315333081013305a3758610c02610a020086ea402c54ccc20404cdc4982e008982f19983011192999842009983798448080080b0999832380003375661120261100200220066112020020ce6eb0c21804c1ecc21c04034526153307f491064155455334300016153307f491064155455333390016153307f491064155455333380016153307f4910641554553333700163307d4910641554553333600306c001153307e4901064155455333350016153307e4910641554553333400163307c49106415545533333003306f00700b153307d4901064155455333320016153307d49106415545533331001630840100e307730810100130743082010081533307c3370e900300109919299983f199119baf374c0046e98004c8cc8c06c8ccc008dd58009191118010019ba600112250012325333081013074001122500112230020033301b25333081013375e0026ea1200012250011223002003001001375661060200464646644660f066ec00080041a0dd48089ba600133301b4891041554354494f4e5f4d455441444154410000133301b03000133301b03800106532337029000000a40042a6660fc66044603861060264610602604000261080201c6106020022a6660fc660ae6eb0c20c04c20804004dd48040a99983f1981880699ba5480101cc54ccc1f8cc0c803cc20c04c20804c2100401c526153307c491064155455334350016153307c491064155455334340016153307c491064155455334330016153307c491064155455334320016153307c491064155455334310016307730810100130743082010081323232533307f33021302223370e002900019982fb8137566108020060ca2a6660fe6604664660586eb4c21404004dd69842809842008009817184280807984200801099299984000998180088008a999840009981a00880089929998408099819808000899192999841809981b80a0008991919192999843809919191919191919299833199998249bae3094013093010050030080024881014000133333049375c61280200a6eb8c25004c24c04010c2500401000522101450033223322325333093013371200290000801099b8a3330727140e266611c02444a66612c0266e24009200014bd62099846008009980199b810024800800400418c008cdc08011b8d0014822804cdc5183081099b8a306100137666ea0008dd69849808029919191929998490099b874800800854cc2400524013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c612e020026130020046126020026ea8c25004c25404004c24c0400cc8cdc5182f80f982f8009bae309201309101002375c612202610c02612402038612202612002006611c02002611a02002611c02008611802611602611a0202e2a66610e02660b26eacc23004024ccc19888c94ccc22804cc20404c23c040040144ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262a66610e02660c06eb0c23004c22c04028dd48008a9998438099b8932323370200400260c60306eb4c23004c22c04c2340400cc190c8ccc19c88c94ccc22c04cc20804c240040040104ccc1adc00019bab309001308f01001100330900100106e3758611a02610402611c020286118026116020122a66610e0266e24c18805cc190ccc19888c94ccc22804cc1d4c23c040040704ccc1a9c00019bab308f01308e010011003308f0100106d3758611802610202611a020262930a9984280a4810641554553333000161533085014910641554553323900161533085014910641554553323800161533085014910641554553323700161533085014910641554553323600163308301491064155455332350030850100132308b01308c01001308a01308b0100133223232325333089013370e90010010a99843808028b09847008009847808011845008009baa0014910641554553323400001330800149010641554553323300306a00115330810149010641554553323200163087013086013088010013307e49010641554553323100330722323306e001016323088013089010013087013086013088010013758610c02610e0201a2a660fe9210641554553323000163307d4910641554553313900306c001153307e4901064155455331380016153307e4910641554553313700163307c49106415545533136003306f00700b153307d4901064155455331350016153307d49106415545533134001630840100e30773081010013074308201008308201002307d001375400e2a660ee92105415545533300161533077491054155455332001632307e307f001307d307c307e0013307449105415545533100323232533307a3370e90010010991919983b911299983d80089128008a99983f9801184200800899111801001984200800899801801184180800919baf30820130830100100300137586461020261040200261000261020201060fe00220f661000200460f60026ea8c1f0c1ecc1f4010cc1cd2401054155455330003075001307a3079307b0053079307a001375c00e6eb8018dd7002802001801000911983111299983280088278991998029838983780111983099bb0306e307000300100210013002306d001001223300323305d337606ea400cdd400100080111119983091299983200089180098030278991299983519b90002006133004306e003230023306130700040011533306a3371e00400c26002600e60dc00626002600e660c060de00660dc0066eb8c1acc1b400400480048cc008cdd2a4004660b20020b066e95200405822330033374a90001982c8011982c80802c19ba548000cc164004cc16404016088cdd2a4000660b0004660b00020ae460c8601e002446606c460066eacc1a000400488cc0d48c00cdd6983380080091191929981b9980298059832801180598328008998029805983298320009805983298320011832801183200111191919192999830a9980e29981c00108008a9981c18038010980380089980400200189980500200198051832983200218049832183180218318011831001119982d800a504a244a6602c6600800400226600600400244646464a6660ba66e1d2000002132323253330603370e90000010a5114a060cc00460c20026ea801054ccc174cdc3a40040042646464a6660c066e1d20020021323370e6eb4c198014004dd698328008a503066002306100137540082646464a6660c066e1d200400214a22940c198008c184004dd50021831801182f0009baa00222323232533305c3370e90000010a511533305c3370e90010010991919299982f99b87480000085280a99982f99b8748010008528899b88375a60c80086eb4c190004c194008c180004dd50020991919299982f99b87480100085288a5030650023060001375400860c400460ba0026ea80088cdc3982d1baa0014800816c88cdd2a40006609866e9520003304c3374a9001198261ba800204b3304c00304b3304c3374a90001982619ba548008cc130dd400082599826002025825a6103d87a80004c0103d879800023056304a001223330070020030014890741554354494f4e0022533027330030023374a900102289980180099ba54801011488c8c8c94ccc148cdc3a40040042646464a6660aa66e1d200200213375e6e9c010dd38008a50305b002305600137540082a6660a466e1d2004002132323253330553370e9002001099baf374e0086e9c004528182d801182b0009baa004132323253330553370e9000001099baf374e0086e9c004528182d801182b0009baa0043058002305300137540044466600600400e00244466e1cccc010dd598299829182a00080180124004444666600800490001199980280124000eb4dd5800801918011ba900122223304722533304a00110051533304e3375e60a260a600200c2600860aa60a60022600460a400200291010c5354414e44494e475f42494400222223253300730014a0260029448cccccc02400401000c0088ccdca8030008038a5023304600100214a24444666600a008006464609666e28058cdc51bae304e304d0013371402e66e28dd7182700099b8a0183371400666e2801009cc138004412088ccc00c0048cc01400488c8c128cdd2a40006607c6ea4004cc0f8dd480101e99b8a00c3371400466e28cc03401400ccdc518098018128822919191919299982319b8748008008411c4c8c8c94ccc124cdc3a40000042646464a66609866e1d2002002104d1323232533304f3370e9001001098289919111198010028021bae3055002375c60a8014260a264644446600600a0086eb8c154008dd7182a005182a80118280009baa30510013052002304d0013754609c002260966444460020086eb8c138010c13c008c128004dd518259825002182600118238009baa30480013048001233300122233001005006222330010050062233001006007488101390048810146004881011d004881012a0048810158002233300122533303e0041005100e22533303e004100610072533303d0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881010000237666ea4004c005c491980119801800a40000284444666056444a66605e00426601246601000e6eacc0ec0040044c94ccc0c000854cc02ccc02000401c4cc0288cc024dd5981e000804181c0018991919299981b99b8f002001153300e3300b004003133007303b006303b00515333037337200040022a6601c6601600801426600e607600c00a2a6601c6601601400626600e00c607600a6eb8c0e4c0ec010dd7181c181d0021bab303b30390023756607460700040040024444666054444a66605c00426601046601000e6eb4c0e80040044c94ccc0bc00854cc028cc02000401c4cc0248cc024dd6981d800804181b8018991919299981b19b8f002001153300d3300b004003133007303a006303a00515333036337200040022a6601a6601600801426600e607400c00a2a6601a6601601400626600e00c607400a6eb8c0e0c0e8010dd7181b981c8021bad303a3038002375a6072606e0040040024604c44a666052002294454cc010c00cc0c80044c008c0c400488ccc0ac00800400c5281119801800801118111129998128008a50153330293375e605c00200629444c008c0b40048c8cdc118019bac302c001375a6058603e6056002603e60580026603e444a666046002200426600666e000092002302b0014800094ccc0800045200013330243375e604e60520026ea4008dd6981598149bab302b302900148001221002301d2225333021001100213300333004002302a0013029001222333004223330070050020010020012300322374c660066eac008dd580091801111ba833003375a0046eb4004888cccc01000c880080080048c060c00800488c8c88cc00400c0088894ccc0740044cc05c00c0084c8c8c94ccc090cdd780100089980d19bb000233009302b006302b00333300822002005302800415333024337206eb8008dd700089980d003199980411000801981400200289980d001999980411000803002981400218130011812802181300091299980d8010800899998019100098120011811801000a5eb7bdb1808c8c8c8c94ccc078cdc3a400800426040600c6046002203e6048004603e0026ea8004c07cc050c0800048c8c8c8c80154ccc070cdc3a400000426464646464646493299980f0008a4c2a660400202c604a00ca66604066e1d20000021323232323232323232323232323232324994ccc0ac004526153302d01d163032003375c0026062002605e0066eb8004c0b8004c0b000cdd680098158009814803299981219b87480000084c8c8c8c8c8c8c8c8c8c9265333029001149854cc0ac06c58c0c000cdd700098178009816803299981419b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333030001149854cc0c808858c0dc0194ccc0c8cdc3a400000426464646464646493299981a0008a4c2a6606c04c2c607600ca66606c66e1d20000021323232323232324994ccc0e0004526153303a02a16303f006533303a3370e900000109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0128b1bae001303f0011533303a3370e900100109919299981e19b87371a002901c0991924ca6660720022930a9981d8158b18200018a9981d0130b1bae001303f0011533038029163040002303b001375400260760022a66606c66e1d20020021323232323232323232324994ccc0ec004526153303d02d163042003375a0026082002607e0066eb4004c0f8004c0f000cdd6800981d8008a9981a0128b181e001181b8009baa0013037001153330323370e900100109924ca66605c0022930a998180100b0a998180108b181c00118198009baa00130330013031006533302c3370e900000109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600b8b1bae00130310011533302c3370e900100109919299981719b87371a002901c0991924ca6660560022930a9981680e8b18190018a9981600c0b1bae0013031001153302a01b163032002302d0013754002605a0022a6604c02e2c605c00460520026ea8004c0a400454cc08804c58c0a8008c094004dd500098128008a9980f0078b181300118108009baa00130210011533301c3370e900100109924ca6660300022930a9980d0050b0a9980d0058b1811001180e8009baa00149012c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67002232323232533301b3370e90000010a5013371e6eb8c080004014c084008c070004dd5000980e180e801119191919299980c99b87480100084c06cc018c0780044068c07c008c068004dd5000980d1807980d800919191919002a99980b99b87480000084c9265333013001149854cc0540145854ccc05ccdc3a40040042649329998098008a4c2a6602a00a2c2a66602e66e1d20040021324994ccc04c004526153301500516153301500616301d002301800137540029201317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f7200223300323300a301830190010033758602e601860300024460066600a004002601244a66601800220222a6660206006602800226024602a0022022ae8c8c020894ccc02c00440104c94ccc040c0100044cc018004c00cc0500084c00cc050008c0500052f5c0ae8088cdd79ba73011002374e60220024601a6004002460186004002460166016002464600446600400400246004466004004002aae7c88cc004800454cc00c008595ce1191919299980299b874800800840184c01cdd71805000980580118030009baa30073008001573444a0024446004006aae755d12ba1230023754002aae781", + "description": "Auction escrow validator", + "type": "PlutusScriptV2" +} diff --git a/scripts/auction_metadata_validator.plutus b/scripts/auction_metadata_validator.plutus index 09865e9..8975c65 100644 --- a/scripts/auction_metadata_validator.plutus +++ b/scripts/auction_metadata_validator.plutus @@ -1,8 +1,5 @@ { - "cborHex": "5902945902910100003232323232323232323232323232322223232533300e3370e66601200200401090010991929998082998041800a4410741554354494f4e001533008300100a130014890c5354414e44494e475f42494400149854cc0452412a5472616e73616374696f6e206d757374206275726e2061756374696f6e20746f6b656e2062756e646c65001623370e6660160040080026466e05200000148008c8dd59809991809980998099809800980a000980918098018a99807a4933546172676574207574786f206d75737420636f6e7461696e206f6e652061756374696f6e206d6574616461746120746f6b656e0016323756602460226026002646024602260260026464646666601c444a666024002244a0022a6660266004602e002264446004006602e002266006004602c00246466ebcdd3980b8021ba730170013015301600100120011533011490129707472794f776e496e7075743a20436f756c64206e6f742066696e64206d79206f776e20696e7075740016375860266028004646464a66602266e1d2002002130150011533012491525061747465726e206d61746368206661696c75726520696e2027646f2720626c6f636b206174207372632f506c7574617263682f45787472612f536372697074436f6e746578742e68733a37383a352d31350016301600230110013754602460226026006602260240046eb8c040c04400c88ccc02800800400c5282451041554354494f4e5f4d45544144415441002223333004002480008cccc014009200075a6eac00400c8c008dd480091111980291299980400088028a99980499baf300b300d00100613004300f300d00113002300c0010012323002233002002001230022330020020015573eae695ce2ab9d5744ae848c008dd5000aab9e1", - "description": "Auction metadata validator", - "params": [], - "rawHex": "5902910100003232323232323232323232323232322223232533300e3370e66601200200401090010991929998082998041800a4410741554354494f4e001533008300100a130014890c5354414e44494e475f42494400149854cc0452412a5472616e73616374696f6e206d757374206275726e2061756374696f6e20746f6b656e2062756e646c65001623370e6660160040080026466e05200000148008c8dd59809991809980998099809800980a000980918098018a99807a4933546172676574207574786f206d75737420636f6e7461696e206f6e652061756374696f6e206d6574616461746120746f6b656e0016323756602460226026002646024602260260026464646666601c444a666024002244a0022a6660266004602e002264446004006602e002266006004602c00246466ebcdd3980b8021ba730170013015301600100120011533011490129707472794f776e496e7075743a20436f756c64206e6f742066696e64206d79206f776e20696e7075740016375860266028004646464a66602266e1d2002002130150011533012491525061747465726e206d61746368206661696c75726520696e2027646f2720626c6f636b206174207372632f506c7574617263682f45787472612f536372697074436f6e746578742e68733a37383a352d31350016301600230110013754602460226026006602260240046eb8c040c04400c88ccc02800800400c5282451041554354494f4e5f4d45544144415441002223333004002480008cccc014009200075a6eac00400c8c008dd480091111980291299980400088028a99980499baf300b300d00100613004300f300d00113002300c0010012323002233002002001230022330020020015573eae695ce2ab9d5744ae848c008dd5000aab9e1", - "role": "ValidatorRole", - "version": "ScriptV2" -} \ No newline at end of file + "cborHex": "5902945902910100003232323232323232323232323232322223232533300e3370e66601200200401090010991929998082998041800a4410741554354494f4e001533008300100a130014890c5354414e44494e475f42494400149854cc0452412a5472616e73616374696f6e206d757374206275726e2061756374696f6e20746f6b656e2062756e646c65001623370e6660160040080026466e05200000148008c8dd59809991809980998099809800980a000980918098018a99807a4933546172676574207574786f206d75737420636f6e7461696e206f6e652061756374696f6e206d6574616461746120746f6b656e0016323756602460226026002646024602260260026464646666601c444a666024002244a0022a6660266004602e002264446004006602e002266006004602c00246466ebcdd3980b8021ba730170013015301600100120011533011490129707472794f776e496e7075743a20436f756c64206e6f742066696e64206d79206f776e20696e7075740016375860266028004646464a66602266e1d2002002130150011533012491525061747465726e206d61746368206661696c75726520696e2027646f2720626c6f636b206174207372632f506c7574617263682f45787472612f536372697074436f6e746578742e68733a37383a352d31350016301600230110013754602460226026006602260240046eb8c040c04400c88ccc02800800400c5282451041554354494f4e5f4d45544144415441002223333004002480008cccc014009200075a6eac00400c8c008dd480091111980291299980400088028a99980499baf300b300d00100613004300f300d00113002300c0010012323002233002002001230022330020020015573eae695ce2ab9d5744ae848c008dd5000aab9e1", + "description": "Auction metadata validator", + "type": "PlutusScriptV2" +} diff --git a/scripts/auction_minting_policy.plutus b/scripts/auction_minting_policy.plutus index 1deee25..5f4c918 100644 --- a/scripts/auction_minting_policy.plutus +++ b/scripts/auction_minting_policy.plutus @@ -1,11 +1,5 @@ { - "cborHex": "5915e65915e3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222333322223232323253330393370e90000010991919299981e1991198011198011198160010008a5013300124a02944ccc888cc0d8894ccc0e4004489400454ccc104cdd7982218228008020980298228008980118230008009191118010019bab3044001375200e002607a605290010a99981e180a19199181a91299981c00089128008999801982200091118010018980118228009299981f19baf00c304230440011223002003122500100137586080004264a66607a66e1cccc044dd5982098211821800804015a400426464a66607e66e3cdd718218008050991919191919191919191919299982599b87323330200010230233756609e01690000a9998259919815919816919b8848000004004004dd598278058a999825981199191919299982799b874800800841444c140dd71829800982a80118280009baa30503052001304f00a1533304b337106eb4c13c01cdd698278030a99982599b88375a609e00c6eb4c13c01454ccc12ccdc41bad304f005375a609e0082a66609666e212000375a609e0022a66609666e20c8cdc118129bac3050001375a60a0608e60a2002608e60a20186eb4c13c00854ccc12ccdc4241812d62046eb4c13c00c54ccc12ccdc42400060486eb0c13c020526153304a491064155544531300016153304a4910541555445390016153304a4910541555445380016153304a4910541555445370016153304a4910541555445360016153304a4910541555445350016153304a4910541555445340016153304a4910541555445320016153304a4910541555445310016153304a4910541555445300016304f001304e001304d001304c001304b001304a0013049001304800130470013046001304600130433044001153303e4910541554d5036001630440013303b49010541554d5035003232323253330413370e9002001098211919191919002a99982299b87480000084c8c8c94ccc1214cc0b0cdc3800a4000266e1c0052038132323232323232323232323232323232323232323232323232323232323232323232323232324994ccc194004526153306c04a163071006533306b3370e900000109919191919191919191919191924ca6660de0022930a9983b02a0b183d803299983a99b87480000084c8c8c8c8c8c8c9265333073001149854cc1e816058c1fc0194ccc1e4cdc3a400000426464646464646493299983b8008a4c2a660fc0b82c61060200ca6660fa66e1d200000213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05b16375c0026102020022a6660fa66e1d200200213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05d16375c0026102020022a660f80ce2c61060200460fc0026ea8004c1f400454ccc1e4cdc3a400400426464646464646464646493299983d0008a4c2a66102020be2c610c020066eb4004c20c04004c20c0400cdd68009840008009840008019bad001307d001153307806316307f002307a001375400260f20022a6660ea66e1d20020021324994ccc1b4004526153307405216153307405f16307b0023076001375400260ea00260ea00ca6660de66e1d20000021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004d16375c00260e60022a6660de66e1d20020021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004f16375c00260e60022a660dc0b22c60ea00460e00026ea8004c1bc00454cc1a815458c1c4008c1b0004dd500098358009835803299983299b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333069001149854cc1c013858c1d40194ccc1bccdc3a40000042646464646464649329998368008a4c2a660e80a42c60f200ca6660e666e1d20000021323232323232324994ccc1c4004526153307805616307d00653330773370e900000109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02a8b1bae001307b001153330773370e900100109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02b8b1bae001307b001153307606116307d0023078001375400260ee0022a6660e666e1d20020021323232323232323232324994ccc1d0004526153307b05916308001003375a00260fa00260fa0066eb4004c1e8004c1e800cdd6800983b8008a9983902e8b183c801183a0009baa00130730011533306f3370e900100109924ca6660ce0022930a998370260b0a9983702c8b183a80118380009baa001306f001306f00653330693370e900000109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350238b1bae001306d001153330693370e900100109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350248b1bae001306d001153306805316306f002306a001375400260d20022a660c809e2c60d600460cc0026ea8004c194004c1940194ccc17ccdc3a40000042646464646464646464646464649329998318008a4c2a660d40902c60de00ca6660d266e1d20000021323232323232324994ccc19c004526153306e04c163073006533306d3370e900000109919191919191924ca6660d60022930a998390280b183b803299983899b87480000084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c813c58dd7000983a8008a99983899b87480080084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c814458dd7000983a8008a9983802d8b183b80118390009baa00130710011533306d3370e900100109919191919191919191924ca6660dc0022930a9983a8298b183d0019bad00130770013077003375a00260e800260e80066eb4004c1c400454cc1b015c58c1cc008c1b8004dd500098368008a99983499b87480080084c9265333061001149854cc1a01185854cc1a014c58c1bc008c1a8004dd500098348009834803299983199b87480000084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010458dd700098338008a99983199b87480080084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010c58dd700098338008a998310268b183480118320009baa0013063001153305e0491630650023060001375400260be00260be00ca6660b266e1d20000021323232323232323232323232324994ccc174004526153306404216306900653330633370e900000109919191919191924ca6660c20022930a998340230b1836803299983399b87480000084c8c8c8c8c8c8c9265333065001149854cc1b012858c1c40194ccc1accdc3a400000426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80922c6eb8004c1bc00454ccc1accdc3a400400426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80962c6eb8004c1bc00454cc1a815458c1c4008c1b0004dd500098358008a99983399b87480080084c8c8c8c8c8c8c8c8c8c9265333068001149854cc1bc13458c1d000cdd6800983880098388019bad001306e001306e003375a00260d60022a660cc0a22c60da00460d00026ea8004c19c00454ccc18ccdc3a400400426493299982d8008a4c2a660c40802c2a660c409a2c60d200460c80026ea8004c18c004c18c0194ccc174cdc3a400000426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc0762c6eb8004c18400454ccc174cdc3a400400426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc07a2c6eb8004c18400454cc17011c58c18c008c178004dd5000982e8008a9982c0218b182f801182d0009baa0013059001305900653330533370e900000109919191919191924ca6660a20022930a9982c01b0b182e803299982b99b87480000084c8c8c8c8c8c8c9265333055001149854cc1700e858c18400ccc0d88c8008dd70009bac001305e001305e00333033232002375c0026eb0004c16c00454cc15810458c174008c160004dd5000982b8008a99982999b87480080084c926533304b001149854cc1480c05854cc1480f458c164008c150004dd500098298009829803299982699b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc184cdc4a40000022646464a6660c866e252000001132323253330673371290000008991919299983519b89480000044c8c8c8c8c8c8c8c8c8c8c8c8c8c926533306f001149854cc1d815058c1ec00cdd6800983c000983c0019bad00130750013075003375a00260e400260e40066eb4004c1bc004c1bc00c54cc1a411058dd6800983600098360018a998330208b1bad00130690013069003153306303e16375a00260cc00260cc0062a660c00762c6eb4004c18c004c18c00ccc0e08c94ccc17ccdc39b8d001480e0400854cc1780ec58dd70009bac00130600013060003375c00260ba00260ba00ca6660ae66e1d20000021323232323232323232323232324994ccc16c004526153306204016306700653330613370e900000109919191919191924ca6660be0022930a998330220b1835803299983299b87480000084c8c8c8c8c8c8c9265333063001149854cc1a812058c1bc0194ccc1a4cdc3a400000426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d408e2c6eb8004c1b400454ccc1a4cdc3a400400426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d40922c6eb8004c1b400454cc1a014c58c1bc008c1a8004dd500098348008a99983299b87480080084c8c8c8c8c8c8c8c8c8c9265333066001149854cc1b412c58c1c800cdd6800983780098378019bad001306c001306c003375a00260d20022a660c809e2c60d600460cc0026ea8004c19400454ccc184cdc3a400400426493299982c8008a4c2a660c007c2c2a660c00962c60ce00460c40026ea8004c184004c1840194ccc16ccdc3a400000426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80722c6eb8004c17c00454ccc16ccdc3a400400426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80762c6eb8004c17c00454cc16811458c184008c170004dd5000982d8008a9982b0208b182e801182c0009baa0013057001305700632533305233031233033233710900000080080088008a99828a481184e6567617469766520616d6f756e7420696e2056616c756500163756008606c6eac00ccc0dc8cdd81919299982929981b19b87001480004cdc3800a4070260aa0062a660a20762c6e34004dd71829800991919182d002181c1bab30590033303923376064a6660a666e24dc6800a4080260ac0042a660a4921327074727946726f6d28546f6b656e4e616d65293a206d757374206265206174206d6f7374203332204279746573206c6f6e670016375c60aa0026460b40046eb4c164004004dd5982b8008009bab0013051001153304c037163053002304e0013754002609a002609a0082a6608e0622c6e34004dd700098248008a998220178b182580118230009baa001304500110433047002304200137540026082607460860022a660789210541554d503400163303a4910541554d50330033223303522533303800110421533304030353045001130413044001104233035225333038001102b1325333041300500113303b001300330460021300330460023044001001233223232323253330433370e90000010a5013371e6eb8c11c004014c124008c110004dd500098219822801182098218008061bac304030393042003153303b4910541554d50320016153303b4910541554d50310016302e3756607e606e60800026080002607a607e00a264a6660746604c002646466446607066ec00080040dcdd48039ba6001302800132337029000000a40042930a9981ca490541554d50370016302c323756607c606a6080002607a607e00a607e00460740026ea800ccc0cd24010541554d50300032323253330383370e90000010981c9bae303c001103a303e002303900137546072607460760026eb801000c008004888cccc01000920002333300500248001d69bab00100323002375200244446604a44a666050002200a2a66606066ebcc0ccc0d00040184c010c0dcc0d00044c008c0d400400522010023300124a22940cc0788894ccc08800440084cc00ccdc000124004605e0029000249257074727946726f6d28504f53495854696d65293a206d75737420626520706f736974697665002301d22533302000110131330223003302c0013002302d0014912c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223300423003375660560020024466006460066eb4c0a80040048c05c894ccc0680045288a9980218019813000898011813800911998100010008018a5023301d00100214a2466602444a66602a002240082644a66603e60020042a6603c00c2c2660086048006466e4000400cdd71810181080080092504910c756e736f72746564206d6170002301022533301300110141330153003301f00130023020001491387074727946726f6d2843757272656e637953796d626f6c293a206d757374206265203238206279746573206c6f6e67206f7220656d7074790049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72004bd701119baf374c0046e980048ccc010008004ccc01000c004ccc01001800403522011041554354494f4e5f4d455441444154410048810741554354494f4e00223300323300d337606ea400cdd400100080111119980491299980600089180098030070991299980b19b90002006133004301b0032300233011301b004001153330163371e00400c26002600e603600626002600e66020603400660360066eb8c05cc06000400480052210c5354414e44494e475f42494400233002232533301030050011225001122300200333005253330103375e0026ea120001225001122300200300100123003233300237560024644460040066e9800448940055d191198019129998030008803899199802980b180980111980519bb0301330140030010021001300230130010012323002233002002001230022330020020015573e97adef6c605740460166004002460146004002460126012002446600240022a660060042cae715cd1111801001912800aab9d5742ae888c008dd5000aab9e1", - "description": "Auction minting policy", - "params": [ - "Ply.Core.Types:AsData#PlutusLedgerApi.V1.Scripts:ScriptHash", - "Ply.Core.Types:AsData#PlutusLedgerApi.V1.Tx:TxOutRef" - ], - "rawHex": "5915e3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222333322223232323253330393370e90000010991919299981e1991198011198011198160010008a5013300124a02944ccc888cc0d8894ccc0e4004489400454ccc104cdd7982218228008020980298228008980118230008009191118010019bab3044001375200e002607a605290010a99981e180a19199181a91299981c00089128008999801982200091118010018980118228009299981f19baf00c304230440011223002003122500100137586080004264a66607a66e1cccc044dd5982098211821800804015a400426464a66607e66e3cdd718218008050991919191919191919191919299982599b87323330200010230233756609e01690000a9998259919815919816919b8848000004004004dd598278058a999825981199191919299982799b874800800841444c140dd71829800982a80118280009baa30503052001304f00a1533304b337106eb4c13c01cdd698278030a99982599b88375a609e00c6eb4c13c01454ccc12ccdc41bad304f005375a609e0082a66609666e212000375a609e0022a66609666e20c8cdc118129bac3050001375a60a0608e60a2002608e60a20186eb4c13c00854ccc12ccdc4241812d62046eb4c13c00c54ccc12ccdc42400060486eb0c13c020526153304a491064155544531300016153304a4910541555445390016153304a4910541555445380016153304a4910541555445370016153304a4910541555445360016153304a4910541555445350016153304a4910541555445340016153304a4910541555445320016153304a4910541555445310016153304a4910541555445300016304f001304e001304d001304c001304b001304a0013049001304800130470013046001304600130433044001153303e4910541554d5036001630440013303b49010541554d5035003232323253330413370e9002001098211919191919002a99982299b87480000084c8c8c94ccc1214cc0b0cdc3800a4000266e1c0052038132323232323232323232323232323232323232323232323232323232323232323232323232324994ccc194004526153306c04a163071006533306b3370e900000109919191919191919191919191924ca6660de0022930a9983b02a0b183d803299983a99b87480000084c8c8c8c8c8c8c9265333073001149854cc1e816058c1fc0194ccc1e4cdc3a400000426464646464646493299983b8008a4c2a660fc0b82c61060200ca6660fa66e1d200000213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05b16375c0026102020022a6660fa66e1d200200213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05d16375c0026102020022a660f80ce2c61060200460fc0026ea8004c1f400454ccc1e4cdc3a400400426464646464646464646493299983d0008a4c2a66102020be2c610c020066eb4004c20c04004c20c0400cdd68009840008009840008019bad001307d001153307806316307f002307a001375400260f20022a6660ea66e1d20020021324994ccc1b4004526153307405216153307405f16307b0023076001375400260ea00260ea00ca6660de66e1d20000021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004d16375c00260e60022a6660de66e1d20020021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004f16375c00260e60022a660dc0b22c60ea00460e00026ea8004c1bc00454cc1a815458c1c4008c1b0004dd500098358009835803299983299b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333069001149854cc1c013858c1d40194ccc1bccdc3a40000042646464646464649329998368008a4c2a660e80a42c60f200ca6660e666e1d20000021323232323232324994ccc1c4004526153307805616307d00653330773370e900000109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02a8b1bae001307b001153330773370e900100109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02b8b1bae001307b001153307606116307d0023078001375400260ee0022a6660e666e1d20020021323232323232323232324994ccc1d0004526153307b05916308001003375a00260fa00260fa0066eb4004c1e8004c1e800cdd6800983b8008a9983902e8b183c801183a0009baa00130730011533306f3370e900100109924ca6660ce0022930a998370260b0a9983702c8b183a80118380009baa001306f001306f00653330693370e900000109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350238b1bae001306d001153330693370e900100109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350248b1bae001306d001153306805316306f002306a001375400260d20022a660c809e2c60d600460cc0026ea8004c194004c1940194ccc17ccdc3a40000042646464646464646464646464649329998318008a4c2a660d40902c60de00ca6660d266e1d20000021323232323232324994ccc19c004526153306e04c163073006533306d3370e900000109919191919191924ca6660d60022930a998390280b183b803299983899b87480000084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c813c58dd7000983a8008a99983899b87480080084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c814458dd7000983a8008a9983802d8b183b80118390009baa00130710011533306d3370e900100109919191919191919191924ca6660dc0022930a9983a8298b183d0019bad00130770013077003375a00260e800260e80066eb4004c1c400454cc1b015c58c1cc008c1b8004dd500098368008a99983499b87480080084c9265333061001149854cc1a01185854cc1a014c58c1bc008c1a8004dd500098348009834803299983199b87480000084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010458dd700098338008a99983199b87480080084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010c58dd700098338008a998310268b183480118320009baa0013063001153305e0491630650023060001375400260be00260be00ca6660b266e1d20000021323232323232323232323232324994ccc174004526153306404216306900653330633370e900000109919191919191924ca6660c20022930a998340230b1836803299983399b87480000084c8c8c8c8c8c8c9265333065001149854cc1b012858c1c40194ccc1accdc3a400000426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80922c6eb8004c1bc00454ccc1accdc3a400400426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80962c6eb8004c1bc00454cc1a815458c1c4008c1b0004dd500098358008a99983399b87480080084c8c8c8c8c8c8c8c8c8c9265333068001149854cc1bc13458c1d000cdd6800983880098388019bad001306e001306e003375a00260d60022a660cc0a22c60da00460d00026ea8004c19c00454ccc18ccdc3a400400426493299982d8008a4c2a660c40802c2a660c409a2c60d200460c80026ea8004c18c004c18c0194ccc174cdc3a400000426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc0762c6eb8004c18400454ccc174cdc3a400400426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc07a2c6eb8004c18400454cc17011c58c18c008c178004dd5000982e8008a9982c0218b182f801182d0009baa0013059001305900653330533370e900000109919191919191924ca6660a20022930a9982c01b0b182e803299982b99b87480000084c8c8c8c8c8c8c9265333055001149854cc1700e858c18400ccc0d88c8008dd70009bac001305e001305e00333033232002375c0026eb0004c16c00454cc15810458c174008c160004dd5000982b8008a99982999b87480080084c926533304b001149854cc1480c05854cc1480f458c164008c150004dd500098298009829803299982699b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc184cdc4a40000022646464a6660c866e252000001132323253330673371290000008991919299983519b89480000044c8c8c8c8c8c8c8c8c8c8c8c8c8c926533306f001149854cc1d815058c1ec00cdd6800983c000983c0019bad00130750013075003375a00260e400260e40066eb4004c1bc004c1bc00c54cc1a411058dd6800983600098360018a998330208b1bad00130690013069003153306303e16375a00260cc00260cc0062a660c00762c6eb4004c18c004c18c00ccc0e08c94ccc17ccdc39b8d001480e0400854cc1780ec58dd70009bac00130600013060003375c00260ba00260ba00ca6660ae66e1d20000021323232323232323232323232324994ccc16c004526153306204016306700653330613370e900000109919191919191924ca6660be0022930a998330220b1835803299983299b87480000084c8c8c8c8c8c8c9265333063001149854cc1a812058c1bc0194ccc1a4cdc3a400000426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d408e2c6eb8004c1b400454ccc1a4cdc3a400400426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d40922c6eb8004c1b400454cc1a014c58c1bc008c1a8004dd500098348008a99983299b87480080084c8c8c8c8c8c8c8c8c8c9265333066001149854cc1b412c58c1c800cdd6800983780098378019bad001306c001306c003375a00260d20022a660c809e2c60d600460cc0026ea8004c19400454ccc184cdc3a400400426493299982c8008a4c2a660c007c2c2a660c00962c60ce00460c40026ea8004c184004c1840194ccc16ccdc3a400000426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80722c6eb8004c17c00454ccc16ccdc3a400400426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80762c6eb8004c17c00454cc16811458c184008c170004dd5000982d8008a9982b0208b182e801182c0009baa0013057001305700632533305233031233033233710900000080080088008a99828a481184e6567617469766520616d6f756e7420696e2056616c756500163756008606c6eac00ccc0dc8cdd81919299982929981b19b87001480004cdc3800a4070260aa0062a660a20762c6e34004dd71829800991919182d002181c1bab30590033303923376064a6660a666e24dc6800a4080260ac0042a660a4921327074727946726f6d28546f6b656e4e616d65293a206d757374206265206174206d6f7374203332204279746573206c6f6e670016375c60aa0026460b40046eb4c164004004dd5982b8008009bab0013051001153304c037163053002304e0013754002609a002609a0082a6608e0622c6e34004dd700098248008a998220178b182580118230009baa001304500110433047002304200137540026082607460860022a660789210541554d503400163303a4910541554d50330033223303522533303800110421533304030353045001130413044001104233035225333038001102b1325333041300500113303b001300330460021300330460023044001001233223232323253330433370e90000010a5013371e6eb8c11c004014c124008c110004dd500098219822801182098218008061bac304030393042003153303b4910541554d50320016153303b4910541554d50310016302e3756607e606e60800026080002607a607e00a264a6660746604c002646466446607066ec00080040dcdd48039ba6001302800132337029000000a40042930a9981ca490541554d50370016302c323756607c606a6080002607a607e00a607e00460740026ea800ccc0cd24010541554d50300032323253330383370e90000010981c9bae303c001103a303e002303900137546072607460760026eb801000c008004888cccc01000920002333300500248001d69bab00100323002375200244446604a44a666050002200a2a66606066ebcc0ccc0d00040184c010c0dcc0d00044c008c0d400400522010023300124a22940cc0788894ccc08800440084cc00ccdc000124004605e0029000249257074727946726f6d28504f53495854696d65293a206d75737420626520706f736974697665002301d22533302000110131330223003302c0013002302d0014912c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223300423003375660560020024466006460066eb4c0a80040048c05c894ccc0680045288a9980218019813000898011813800911998100010008018a5023301d00100214a2466602444a66602a002240082644a66603e60020042a6603c00c2c2660086048006466e4000400cdd71810181080080092504910c756e736f72746564206d6170002301022533301300110141330153003301f00130023020001491387074727946726f6d2843757272656e637953796d626f6c293a206d757374206265203238206279746573206c6f6e67206f7220656d7074790049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72004bd701119baf374c0046e980048ccc010008004ccc01000c004ccc01001800403522011041554354494f4e5f4d455441444154410048810741554354494f4e00223300323300d337606ea400cdd400100080111119980491299980600089180098030070991299980b19b90002006133004301b0032300233011301b004001153330163371e00400c26002600e603600626002600e66020603400660360066eb8c05cc06000400480052210c5354414e44494e475f42494400233002232533301030050011225001122300200333005253330103375e0026ea120001225001122300200300100123003233300237560024644460040066e9800448940055d191198019129998030008803899199802980b180980111980519bb0301330140030010021001300230130010012323002233002002001230022330020020015573e97adef6c605740460166004002460146004002460126012002446600240022a660060042cae715cd1111801001912800aab9d5742ae888c008dd5000aab9e1", - "role": "MintingPolicyRole", - "version": "ScriptV2" -} \ No newline at end of file + "cborHex": "5915e65915e3010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222333322223232323253330393370e90000010991919299981e1991198011198011198160010008a5013300124a02944ccc888cc0d8894ccc0e4004489400454ccc104cdd7982218228008020980298228008980118230008009191118010019bab3044001375200e002607a605290010a99981e180a19199181a91299981c00089128008999801982200091118010018980118228009299981f19baf00c304230440011223002003122500100137586080004264a66607a66e1cccc044dd5982098211821800804015a400426464a66607e66e3cdd718218008050991919191919191919191919299982599b87323330200010230233756609e01690000a9998259919815919816919b8848000004004004dd598278058a999825981199191919299982799b874800800841444c140dd71829800982a80118280009baa30503052001304f00a1533304b337106eb4c13c01cdd698278030a99982599b88375a609e00c6eb4c13c01454ccc12ccdc41bad304f005375a609e0082a66609666e212000375a609e0022a66609666e20c8cdc118129bac3050001375a60a0608e60a2002608e60a20186eb4c13c00854ccc12ccdc4241812d62046eb4c13c00c54ccc12ccdc42400060486eb0c13c020526153304a491064155544531300016153304a4910541555445390016153304a4910541555445380016153304a4910541555445370016153304a4910541555445360016153304a4910541555445350016153304a4910541555445340016153304a4910541555445320016153304a4910541555445310016153304a4910541555445300016304f001304e001304d001304c001304b001304a0013049001304800130470013046001304600130433044001153303e4910541554d5036001630440013303b49010541554d5035003232323253330413370e9002001098211919191919002a99982299b87480000084c8c8c94ccc1214cc0b0cdc3800a4000266e1c0052038132323232323232323232323232323232323232323232323232323232323232323232323232324994ccc194004526153306c04a163071006533306b3370e900000109919191919191919191919191924ca6660de0022930a9983b02a0b183d803299983a99b87480000084c8c8c8c8c8c8c9265333073001149854cc1e816058c1fc0194ccc1e4cdc3a400000426464646464646493299983b8008a4c2a660fc0b82c61060200ca6660fa66e1d200000213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05b16375c0026102020022a6660fa66e1d200200213232533307f3370e6e340052038132324994ccc1e0004526153307f05d16308401003153307e05d16375c0026102020022a660f80ce2c61060200460fc0026ea8004c1f400454ccc1e4cdc3a400400426464646464646464646493299983d0008a4c2a66102020be2c610c020066eb4004c20c04004c20c0400cdd68009840008009840008019bad001307d001153307806316307f002307a001375400260f20022a6660ea66e1d20020021324994ccc1b4004526153307405216153307405f16307b0023076001375400260ea00260ea00ca6660de66e1d20000021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004d16375c00260e60022a6660de66e1d20020021323253330713370e6e340052038132324994ccc1a8004526153307104f163076003153307004f16375c00260e60022a660dc0b22c60ea00460e00026ea8004c1bc00454cc1a815458c1c4008c1b0004dd500098358009835803299983299b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c9265333069001149854cc1c013858c1d40194ccc1bccdc3a40000042646464646464649329998368008a4c2a660e80a42c60f200ca6660e666e1d20000021323232323232324994ccc1c4004526153307805616307d00653330773370e900000109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02a8b1bae001307b001153330773370e900100109919299983c99b87371a002901c0991924ca6660e40022930a9983c82b8b183f0018a9983c02b8b1bae001307b001153307606116307d0023078001375400260ee0022a6660e666e1d20020021323232323232323232324994ccc1d0004526153307b05916308001003375a00260fa00260fa0066eb4004c1e8004c1e800cdd6800983b8008a9983902e8b183c801183a0009baa00130730011533306f3370e900100109924ca6660ce0022930a998370260b0a9983702c8b183a80118380009baa001306f001306f00653330693370e900000109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350238b1bae001306d001153330693370e900100109919299983599b87371a002901c0991924ca6660c80022930a998358248b18380018a998350248b1bae001306d001153306805316306f002306a001375400260d20022a660c809e2c60d600460cc0026ea8004c194004c1940194ccc17ccdc3a40000042646464646464646464646464649329998318008a4c2a660d40902c60de00ca6660d266e1d20000021323232323232324994ccc19c004526153306e04c163073006533306d3370e900000109919191919191924ca6660d60022930a998390280b183b803299983899b87480000084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c813c58dd7000983a8008a99983899b87480080084c8c94ccc1cccdc39b8d001480e04c8c926533306c001149854cc1cc14458c1e000c54cc1c814458dd7000983a8008a9983802d8b183b80118390009baa00130710011533306d3370e900100109919191919191919191924ca6660dc0022930a9983a8298b183d0019bad00130770013077003375a00260e800260e80066eb4004c1c400454cc1b015c58c1cc008c1b8004dd500098368008a99983499b87480080084c9265333061001149854cc1a01185854cc1a014c58c1bc008c1a8004dd500098348009834803299983199b87480000084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010458dd700098338008a99983199b87480080084c8c94ccc194cdc39b8d001480e04c8c926533305e001149854cc19410c58c1a800c54cc19010c58dd700098338008a998310268b183480118320009baa0013063001153305e0491630650023060001375400260be00260be00ca6660b266e1d20000021323232323232323232323232324994ccc174004526153306404216306900653330633370e900000109919191919191924ca6660c20022930a998340230b1836803299983399b87480000084c8c8c8c8c8c8c9265333065001149854cc1b012858c1c40194ccc1accdc3a400000426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80922c6eb8004c1bc00454ccc1accdc3a400400426464a6660da66e1cdc6800a4070264649329998330008a4c2a660da0962c60e40062a660d80962c6eb8004c1bc00454cc1a815458c1c4008c1b0004dd500098358008a99983399b87480080084c8c8c8c8c8c8c8c8c8c9265333068001149854cc1bc13458c1d000cdd6800983880098388019bad001306e001306e003375a00260d60022a660cc0a22c60da00460d00026ea8004c19c00454ccc18ccdc3a400400426493299982d8008a4c2a660c40802c2a660c409a2c60d200460c80026ea8004c18c004c18c0194ccc174cdc3a400000426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc0762c6eb8004c18400454ccc174cdc3a400400426464a6660be66e1cdc6800a40702646493299982c0008a4c2a660be07a2c60c80062a660bc07a2c6eb8004c18400454cc17011c58c18c008c178004dd5000982e8008a9982c0218b182f801182d0009baa0013059001305900653330533370e900000109919191919191924ca6660a20022930a9982c01b0b182e803299982b99b87480000084c8c8c8c8c8c8c9265333055001149854cc1700e858c18400ccc0d88c8008dd70009bac001305e001305e00333033232002375c0026eb0004c16c00454cc15810458c174008c160004dd5000982b8008a99982999b87480080084c926533304b001149854cc1480c05854cc1480f458c164008c150004dd500098298009829803299982699b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc184cdc4a40000022646464a6660c866e252000001132323253330673371290000008991919299983519b89480000044c8c8c8c8c8c8c8c8c8c8c8c8c8c926533306f001149854cc1d815058c1ec00cdd6800983c000983c0019bad00130750013075003375a00260e400260e40066eb4004c1bc004c1bc00c54cc1a411058dd6800983600098360018a998330208b1bad00130690013069003153306303e16375a00260cc00260cc0062a660c00762c6eb4004c18c004c18c00ccc0e08c94ccc17ccdc39b8d001480e0400854cc1780ec58dd70009bac00130600013060003375c00260ba00260ba00ca6660ae66e1d20000021323232323232323232323232324994ccc16c004526153306204016306700653330613370e900000109919191919191924ca6660be0022930a998330220b1835803299983299b87480000084c8c8c8c8c8c8c9265333063001149854cc1a812058c1bc0194ccc1a4cdc3a400000426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d408e2c6eb8004c1b400454ccc1a4cdc3a400400426464a6660d666e1cdc6800a4070264649329998320008a4c2a660d60922c60e00062a660d40922c6eb8004c1b400454cc1a014c58c1bc008c1a8004dd500098348008a99983299b87480080084c8c8c8c8c8c8c8c8c8c9265333066001149854cc1b412c58c1c800cdd6800983780098378019bad001306c001306c003375a00260d20022a660c809e2c60d600460cc0026ea8004c19400454ccc184cdc3a400400426493299982c8008a4c2a660c007c2c2a660c00962c60ce00460c40026ea8004c184004c1840194ccc16ccdc3a400000426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80722c6eb8004c17c00454ccc16ccdc3a400400426464a6660ba66e1cdc6800a40702646493299982b0008a4c2a660ba0762c60c40062a660b80762c6eb8004c17c00454cc16811458c184008c170004dd5000982d8008a9982b0208b182e801182c0009baa0013057001305700632533305233031233033233710900000080080088008a99828a481184e6567617469766520616d6f756e7420696e2056616c756500163756008606c6eac00ccc0dc8cdd81919299982929981b19b87001480004cdc3800a4070260aa0062a660a20762c6e34004dd71829800991919182d002181c1bab30590033303923376064a6660a666e24dc6800a4080260ac0042a660a4921327074727946726f6d28546f6b656e4e616d65293a206d757374206265206174206d6f7374203332204279746573206c6f6e670016375c60aa0026460b40046eb4c164004004dd5982b8008009bab0013051001153304c037163053002304e0013754002609a002609a0082a6608e0622c6e34004dd700098248008a998220178b182580118230009baa001304500110433047002304200137540026082607460860022a660789210541554d503400163303a4910541554d50330033223303522533303800110421533304030353045001130413044001104233035225333038001102b1325333041300500113303b001300330460021300330460023044001001233223232323253330433370e90000010a5013371e6eb8c11c004014c124008c110004dd500098219822801182098218008061bac304030393042003153303b4910541554d50320016153303b4910541554d50310016302e3756607e606e60800026080002607a607e00a264a6660746604c002646466446607066ec00080040dcdd48039ba6001302800132337029000000a40042930a9981ca490541554d50370016302c323756607c606a6080002607a607e00a607e00460740026ea800ccc0cd24010541554d50300032323253330383370e90000010981c9bae303c001103a303e002303900137546072607460760026eb801000c008004888cccc01000920002333300500248001d69bab00100323002375200244446604a44a666050002200a2a66606066ebcc0ccc0d00040184c010c0dcc0d00044c008c0d400400522010023300124a22940cc0788894ccc08800440084cc00ccdc000124004605e0029000249257074727946726f6d28504f53495854696d65293a206d75737420626520706f736974697665002301d22533302000110131330223003302c0013002302d0014912c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223300423003375660560020024466006460066eb4c0a80040048c05c894ccc0680045288a9980218019813000898011813800911998100010008018a5023301d00100214a2466602444a66602a002240082644a66603e60020042a6603c00c2c2660086048006466e4000400cdd71810181080080092504910c756e736f72746564206d6170002301022533301300110141330153003301f00130023020001491387074727946726f6d2843757272656e637953796d626f6c293a206d757374206265203238206279746573206c6f6e67206f7220656d7074790049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72004bd701119baf374c0046e980048ccc010008004ccc01000c004ccc01001800403522011041554354494f4e5f4d455441444154410048810741554354494f4e00223300323300d337606ea400cdd400100080111119980491299980600089180098030070991299980b19b90002006133004301b0032300233011301b004001153330163371e00400c26002600e603600626002600e66020603400660360066eb8c05cc06000400480052210c5354414e44494e475f42494400233002232533301030050011225001122300200333005253330103375e0026ea120001225001122300200300100123003233300237560024644460040066e9800448940055d191198019129998030008803899199802980b180980111980519bb0301330140030010021001300230130010012323002233002002001230022330020020015573e97adef6c605740460166004002460146004002460126012002446600240022a660060042cae715cd1111801001912800aab9d5742ae888c008dd5000aab9e1", + "description": "Auction minting policy", + "type": "PlutusScriptV2" +} diff --git a/scripts/bidder_deposit_validator.plutus b/scripts/bidder_deposit_validator.plutus index 1d99166..272df26 100644 --- a/scripts/bidder_deposit_validator.plutus +++ b/scripts/bidder_deposit_validator.plutus @@ -1,13 +1,5 @@ { - "cborHex": "5910f85910f50100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222223333333222222232325333059332232323370e6660b6444a6660be002200426600666e0000920023063001480000052002330512330333230623063001306130603062001004001375860be60c00026460bc60be00260ba60b860bc002004264a6660b4664466028460066eacc18c004004c88cc0508c00cdd69831800800919b8700148000cc88ccc8c05888dd3198019bab00237560024466602e446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660ba66e1d2002002132533305e3301c302830623045306300b0011323253330603303100e00113253330613303400100d1323253330633303a0110011533306333304023304d0013374a900202d0060010a4c2a660c092106424944453137001615330604910642494445313600163066306530670013305d490106424944453135003305101000a153305e49010642494445313400163305c4910642494445313300304a001153305d49010642494445313200163063306230640013305a490106424944453131003304e00e007153305b49010642494445313000163061304330620061533305d3370e90020010991919299983019818807000899299983098119981a0008068a9998309980f980e80718328020992999831198181bac3066306500537520022930a9982fa490642494445323400163305d491064249444532330030313065306600d153305e4901064249444532320016153305e4910642494445323100163305c4910642494445323000304a001153305d49010642494445313900163063306230640013305a490106424944453138003301b00e007304330620061533305d3370e90030010991919299983019818807000899299983099191919299983299b87480080084c8c8c94ccc1a0cdc3a4004004266ebcdd38021ba700114a060da00460d00026ea801054ccc194cdc3a40080042646464a6660d066e1d200400213375e6e9c010dd38008a50306d002306800137540082646464a6660d066e1d200000213375e6e9c010dd38008a50306d0023068001375400860d400460ca0026ea8008cdd2a40080ae2a6660c26603e603a01c60ca008264a6660c4660606eb0c198c194014dd48008a4c2a660be92010642494445333100163305d491064249444533300030313065306600d153305e4901064249444532390016153305e4910642494445323800163305c49106424944453237003232323253330643370e90020010982c1919191919002a99983419b87480000084c9265333067001149854cc1941585854ccc1a0cdc3a40040042649329998338008a4c2a660ca0ac2c2a6660d066e1d20040021324994ccc19c004526153306505616153306505716306d0023068001375400260d000220ca60d200460c80026ea8004c190c16cc19400454cc1752410642494445323600163063306230640013305a490106424944453235003301b00d007304330620061533305d3370e9004001099299982f1980e18141831182218318059831000899299982f998169bac3063306200237520022930a9982e24810642494445333400163305a4910642494445333300302e3062306300a153305b49010642494445333200163043306200613232533305f3303000d00113253330603303300100c132325333062330390100011533306233303f23304c0013374a900102c8058010a4c2a660be92010542494445390016153305f49105424944453800163065306430660013305c4901054249444537003305000f009153305d490105424944453600163305b491054249444535003049001153305c49010542494445340016306230613063001330594901054249444533003304d00d0063062002305d001375400a2a660ae9210542494445320016305d3052305e0021533056490105424944453100163305449105424944453000323232533305b3370e90010010991919982d911299982f80089128008a9998301801183200089911180100198320008998018011831800919baf3062306300100300137586460c260c400260c060c200c60be00220b860c000460b60026ea8c170c16cc174008c16cc170004dd70039bae006375c00a0080060040024608e44a666094002294454cc02cc00cc13c0044c008c138004888cccc01000c880080080048c114c00800488c8c88cc00400c0088894ccc1280044cc10800c0084c8c8c94ccc138cdd780100089982299bb000233009305400630540033330082200200530510041533304e337206eb8008dd700089982280319998041100080198288020028998228019999804110008030029828802182780118270021827800912999824001080089999801910009826801182600100091807982498169825000911981b1191981f80080219182598260009825182498258009bac30493048304a00122323253300633005300f304a002300f304a001133005300f304a3049001300f304a3049002304a00230490022232323232533304753300b5330070021001153300730090021300900113300a00400313300e004003300e304a3049004300d30493048004304800230470022233304200200100314a0466607e00294128912998019980300100089980280100091981e8008010a5122323232533303f3370e90000010991919299982119b87480000085288a503047002304200137540082a66607e66e1d2002002132323253330423370e900100109919b87375a608e00a0026eb4c118004528182380118210009baa004132323253330423370e90020010a5114a0608e00460840026ea8010c110008c0fc004dd500111191919299981f19b87480000085288a99981f19b87480080084c8c8c94ccc104cdc3a4000004294054ccc104cdc3a400800429444cdc41bad3045004375a608a002608c00460820026ea80104c8c8c94ccc104cdc3a40080042944528182300118208009baa0043043002303e0013754004466e1cc0ecdd5000a400407846600466e9520023302e00102d3374a9002016911980199ba548000cc0b8008cc0b80100b4cdd2a40006605c0026605c00805a4466e9520003302d0023302d00102c4c0103d87a800022330030010022303022533303300114a02a66606866ebcc0e000400c52889801181b8009191919299981a19b874800800840d44c0a0dd7181c000981c801181a0009baa303530360012233300900200300148810c5354414e44494e475f42494400223330034a046600a002004004444646464a66606466e1d200200210061300530360013037002303200137540024466006002606260640044466ebcdd398188011ba73031001223330030020070012223370e6660086eacc0bcc0b8c0c000400c00920022223333004002480008cccc014009200075a6eac00400c8c008dd480091111981391299981500088028a99981599baf302d302f001006130043031302f00113002302e00100148810741554354494f4e00222323232323330084a0460100020026601000200666e9520023301f00101e302b302c002375660546014605600444466002460060022006446600646464646400aa66604e66e1d20000021324994ccc098004526153302401516153330273370e900100109924ca66604c0022930a9981200a8b0a99981399b87480100084c9265333026001149854cc0900545854ccc09ccdc3a400c0042649329998130008a4c2a6604802a2c2a6604802c2c6058004604e0026ea8004cc01000800488cc0048c888c00800cc00c00448940048cc00800c004888cc07c894ccc088004489400454ccc08ccdd79812981380080209802981380089801181300080091911180100198120009181018010009180f98010009180f18010009180e98010009180e180900091191919299980e19b87480080084c8c8c94ccc07ccdc3a4004004266ebcdd38021ba700114a06048004603e0026ea801054ccc070cdc3a40080042646464a66603e66e1d200400213375e6e9c010dd38008a503024002301f00137540082a66603866e1d20060021323232533301f3370e9003001099baf374e0086e9c0045281812001180f8009baa0041323232533301f3370e9000001099baf374e0086e9c0045281812001180f8009baa0043021002301c0013754004464646464a66603666e1d20040021300f3006301f001101c3020002301b001375400260366024603800246464646400aa66603266e1d20000021323232323232324994ccc078004526153301c00d163021006533301d3370e900000109919191919191919191919191919191924ca6660560022930a9981480d0b18170019bae001302d001302b003375c002605400260500066eb4004c09c004c0940194ccc084cdc3a40000042646464646464646464649329998148008a4c2a6604e0302c60580066eb8004c0ac004c0a40194ccc094cdc3a40000042646464646464646464646464649329998180008a4c2a6605c03e2c606600ca66605e66e1d20000021323232323232324994ccc0d0004526153303202316303700653330333370e900000109919191919191924ca6660700022930a9981b0138b181d803299981b99b87480000084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809458dd7000981d8008a99981b99b87480080084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809858dd7000981d8008a9981a0130b181e001181b8009baa0013037001153330333370e900100109919191919191919191924ca6660760022930a9981c8150b181f0019bad001303d001303b003375a002607400260700066eb4004c0dc00454cc0c008858c0e0008c0cc004dd500098198008a99981799b87480080084c926533302e001149854cc0b00745854cc0b007858c0d0008c0bc004dd500098178009816803299981499b87480000084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a005c58dd700098168008a99981499b87480080084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a006058dd700098168008a9981300c0b181700118148009baa0013029001153302201416302a00230250013754002604a0022a6603c0202c604c00460420026ea8004c08400454cc06803058c088008c074004dd5000980e8008a99980c99b87480080084c9265333018001149854cc05801c5854cc05802058c078008c064004dd5000a4812c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f720022330032323300c00100432301830190013017301630180013758602c602e0024460066600c004002601844a66601e00220222a666020600660260022600860280022022ae8c888c00800c8c028894ccc03400440104c94ccc03cc0100044cc018004c00cc0480084c00cc048008c0480052f5c0ae8088c8c8c8c94ccc038cdc3a400000429404cdc79bae30120010053013002300e0013754002601c601e004460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", - "description": "Bidder deposit validator", - "params": [ - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.Scripts:StandingBidScriptHash", - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.Scripts:AuctionEscrowScriptHash", - "Ply.Core.Types:AsData#PlutusLedgerApi.V1.Value:CurrencySymbol", - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.AuctionTerms:AuctionTerms" - ], - "rawHex": "5910f50100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222223333333222222232325333059332232323370e6660b6444a6660be002200426600666e0000920023063001480000052002330512330333230623063001306130603062001004001375860be60c00026460bc60be00260ba60b860bc002004264a6660b4664466028460066eacc18c004004c88cc0508c00cdd69831800800919b8700148000cc88ccc8c05888dd3198019bab00237560024466602e446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660ba66e1d2002002132533305e3301c302830623045306300b0011323253330603303100e00113253330613303400100d1323253330633303a0110011533306333304023304d0013374a900202d0060010a4c2a660c092106424944453137001615330604910642494445313600163066306530670013305d490106424944453135003305101000a153305e49010642494445313400163305c4910642494445313300304a001153305d49010642494445313200163063306230640013305a490106424944453131003304e00e007153305b49010642494445313000163061304330620061533305d3370e90020010991919299983019818807000899299983098119981a0008068a9998309980f980e80718328020992999831198181bac3066306500537520022930a9982fa490642494445323400163305d491064249444532330030313065306600d153305e4901064249444532320016153305e4910642494445323100163305c4910642494445323000304a001153305d49010642494445313900163063306230640013305a490106424944453138003301b00e007304330620061533305d3370e90030010991919299983019818807000899299983099191919299983299b87480080084c8c8c94ccc1a0cdc3a4004004266ebcdd38021ba700114a060da00460d00026ea801054ccc194cdc3a40080042646464a6660d066e1d200400213375e6e9c010dd38008a50306d002306800137540082646464a6660d066e1d200000213375e6e9c010dd38008a50306d0023068001375400860d400460ca0026ea8008cdd2a40080ae2a6660c26603e603a01c60ca008264a6660c4660606eb0c198c194014dd48008a4c2a660be92010642494445333100163305d491064249444533300030313065306600d153305e4901064249444532390016153305e4910642494445323800163305c49106424944453237003232323253330643370e90020010982c1919191919002a99983419b87480000084c9265333067001149854cc1941585854ccc1a0cdc3a40040042649329998338008a4c2a660ca0ac2c2a6660d066e1d20040021324994ccc19c004526153306505616153306505716306d0023068001375400260d000220ca60d200460c80026ea8004c190c16cc19400454cc1752410642494445323600163063306230640013305a490106424944453235003301b00d007304330620061533305d3370e9004001099299982f1980e18141831182218318059831000899299982f998169bac3063306200237520022930a9982e24810642494445333400163305a4910642494445333300302e3062306300a153305b49010642494445333200163043306200613232533305f3303000d00113253330603303300100c132325333062330390100011533306233303f23304c0013374a900102c8058010a4c2a660be92010542494445390016153305f49105424944453800163065306430660013305c4901054249444537003305000f009153305d490105424944453600163305b491054249444535003049001153305c49010542494445340016306230613063001330594901054249444533003304d00d0063062002305d001375400a2a660ae9210542494445320016305d3052305e0021533056490105424944453100163305449105424944453000323232533305b3370e90010010991919982d911299982f80089128008a9998301801183200089911180100198320008998018011831800919baf3062306300100300137586460c260c400260c060c200c60be00220b860c000460b60026ea8c170c16cc174008c16cc170004dd70039bae006375c00a0080060040024608e44a666094002294454cc02cc00cc13c0044c008c138004888cccc01000c880080080048c114c00800488c8c88cc00400c0088894ccc1280044cc10800c0084c8c8c94ccc138cdd780100089982299bb000233009305400630540033330082200200530510041533304e337206eb8008dd700089982280319998041100080198288020028998228019999804110008030029828802182780118270021827800912999824001080089999801910009826801182600100091807982498169825000911981b1191981f80080219182598260009825182498258009bac30493048304a00122323253300633005300f304a002300f304a001133005300f304a3049001300f304a3049002304a00230490022232323232533304753300b5330070021001153300730090021300900113300a00400313300e004003300e304a3049004300d30493048004304800230470022233304200200100314a0466607e00294128912998019980300100089980280100091981e8008010a5122323232533303f3370e90000010991919299982119b87480000085288a503047002304200137540082a66607e66e1d2002002132323253330423370e900100109919b87375a608e00a0026eb4c118004528182380118210009baa004132323253330423370e90020010a5114a0608e00460840026ea8010c110008c0fc004dd500111191919299981f19b87480000085288a99981f19b87480080084c8c8c94ccc104cdc3a4000004294054ccc104cdc3a400800429444cdc41bad3045004375a608a002608c00460820026ea80104c8c8c94ccc104cdc3a40080042944528182300118208009baa0043043002303e0013754004466e1cc0ecdd5000a400407846600466e9520023302e00102d3374a9002016911980199ba548000cc0b8008cc0b80100b4cdd2a40006605c0026605c00805a4466e9520003302d0023302d00102c4c0103d87a800022330030010022303022533303300114a02a66606866ebcc0e000400c52889801181b8009191919299981a19b874800800840d44c0a0dd7181c000981c801181a0009baa303530360012233300900200300148810c5354414e44494e475f42494400223330034a046600a002004004444646464a66606466e1d200200210061300530360013037002303200137540024466006002606260640044466ebcdd398188011ba73031001223330030020070012223370e6660086eacc0bcc0b8c0c000400c00920022223333004002480008cccc014009200075a6eac00400c8c008dd480091111981391299981500088028a99981599baf302d302f001006130043031302f00113002302e00100148810741554354494f4e00222323232323330084a0460100020026601000200666e9520023301f00101e302b302c002375660546014605600444466002460060022006446600646464646400aa66604e66e1d20000021324994ccc098004526153302401516153330273370e900100109924ca66604c0022930a9981200a8b0a99981399b87480100084c9265333026001149854cc0900545854ccc09ccdc3a400c0042649329998130008a4c2a6604802a2c2a6604802c2c6058004604e0026ea8004cc01000800488cc0048c888c00800cc00c00448940048cc00800c004888cc07c894ccc088004489400454ccc08ccdd79812981380080209802981380089801181300080091911180100198120009181018010009180f98010009180f18010009180e98010009180e180900091191919299980e19b87480080084c8c8c94ccc07ccdc3a4004004266ebcdd38021ba700114a06048004603e0026ea801054ccc070cdc3a40080042646464a66603e66e1d200400213375e6e9c010dd38008a503024002301f00137540082a66603866e1d20060021323232533301f3370e9003001099baf374e0086e9c0045281812001180f8009baa0041323232533301f3370e9000001099baf374e0086e9c0045281812001180f8009baa0043021002301c0013754004464646464a66603666e1d20040021300f3006301f001101c3020002301b001375400260366024603800246464646400aa66603266e1d20000021323232323232324994ccc078004526153301c00d163021006533301d3370e900000109919191919191919191919191919191924ca6660560022930a9981480d0b18170019bae001302d001302b003375c002605400260500066eb4004c09c004c0940194ccc084cdc3a40000042646464646464646464649329998148008a4c2a6604e0302c60580066eb8004c0ac004c0a40194ccc094cdc3a40000042646464646464646464646464649329998180008a4c2a6605c03e2c606600ca66605e66e1d20000021323232323232324994ccc0d0004526153303202316303700653330333370e900000109919191919191924ca6660700022930a9981b0138b181d803299981b99b87480000084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809458dd7000981d8008a99981b99b87480080084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809858dd7000981d8008a9981a0130b181e001181b8009baa0013037001153330333370e900100109919191919191919191924ca6660760022930a9981c8150b181f0019bad001303d001303b003375a002607400260700066eb4004c0dc00454cc0c008858c0e0008c0cc004dd500098198008a99981799b87480080084c926533302e001149854cc0b00745854cc0b007858c0d0008c0bc004dd500098178009816803299981499b87480000084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a005c58dd700098168008a99981499b87480080084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a006058dd700098168008a9981300c0b181700118148009baa0013029001153302201416302a00230250013754002604a0022a6603c0202c604c00460420026ea8004c08400454cc06803058c088008c074004dd5000980e8008a99980c99b87480080084c9265333018001149854cc05801c5854cc05802058c078008c064004dd5000a4812c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f720022330032323300c00100432301830190013017301630180013758602c602e0024460066600c004002601844a66601e00220222a666020600660260022600860280022022ae8c888c00800c8c028894ccc03400440104c94ccc03cc0100044cc018004c00cc0480084c00cc048008c0480052f5c0ae8088c8c8c8c94ccc038cdc3a400000429404cdc79bae30120010053013002300e0013754002601c601e004460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", - "role": "ValidatorRole", - "version": "ScriptV2" -} \ No newline at end of file + "cborHex": "5910f85910f50100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222223333333222222232325333059332232323370e6660b6444a6660be002200426600666e0000920023063001480000052002330512330333230623063001306130603062001004001375860be60c00026460bc60be00260ba60b860bc002004264a6660b4664466028460066eacc18c004004c88cc0508c00cdd69831800800919b8700148000cc88ccc8c05888dd3198019bab00237560024466602e446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660ba66e1d2002002132533305e3301c302830623045306300b0011323253330603303100e00113253330613303400100d1323253330633303a0110011533306333304023304d0013374a900202d0060010a4c2a660c092106424944453137001615330604910642494445313600163066306530670013305d490106424944453135003305101000a153305e49010642494445313400163305c4910642494445313300304a001153305d49010642494445313200163063306230640013305a490106424944453131003304e00e007153305b49010642494445313000163061304330620061533305d3370e90020010991919299983019818807000899299983098119981a0008068a9998309980f980e80718328020992999831198181bac3066306500537520022930a9982fa490642494445323400163305d491064249444532330030313065306600d153305e4901064249444532320016153305e4910642494445323100163305c4910642494445323000304a001153305d49010642494445313900163063306230640013305a490106424944453138003301b00e007304330620061533305d3370e90030010991919299983019818807000899299983099191919299983299b87480080084c8c8c94ccc1a0cdc3a4004004266ebcdd38021ba700114a060da00460d00026ea801054ccc194cdc3a40080042646464a6660d066e1d200400213375e6e9c010dd38008a50306d002306800137540082646464a6660d066e1d200000213375e6e9c010dd38008a50306d0023068001375400860d400460ca0026ea8008cdd2a40080ae2a6660c26603e603a01c60ca008264a6660c4660606eb0c198c194014dd48008a4c2a660be92010642494445333100163305d491064249444533300030313065306600d153305e4901064249444532390016153305e4910642494445323800163305c49106424944453237003232323253330643370e90020010982c1919191919002a99983419b87480000084c9265333067001149854cc1941585854ccc1a0cdc3a40040042649329998338008a4c2a660ca0ac2c2a6660d066e1d20040021324994ccc19c004526153306505616153306505716306d0023068001375400260d000220ca60d200460c80026ea8004c190c16cc19400454cc1752410642494445323600163063306230640013305a490106424944453235003301b00d007304330620061533305d3370e9004001099299982f1980e18141831182218318059831000899299982f998169bac3063306200237520022930a9982e24810642494445333400163305a4910642494445333300302e3062306300a153305b49010642494445333200163043306200613232533305f3303000d00113253330603303300100c132325333062330390100011533306233303f23304c0013374a900102c8058010a4c2a660be92010542494445390016153305f49105424944453800163065306430660013305c4901054249444537003305000f009153305d490105424944453600163305b491054249444535003049001153305c49010542494445340016306230613063001330594901054249444533003304d00d0063062002305d001375400a2a660ae9210542494445320016305d3052305e0021533056490105424944453100163305449105424944453000323232533305b3370e90010010991919982d911299982f80089128008a9998301801183200089911180100198320008998018011831800919baf3062306300100300137586460c260c400260c060c200c60be00220b860c000460b60026ea8c170c16cc174008c16cc170004dd70039bae006375c00a0080060040024608e44a666094002294454cc02cc00cc13c0044c008c138004888cccc01000c880080080048c114c00800488c8c88cc00400c0088894ccc1280044cc10800c0084c8c8c94ccc138cdd780100089982299bb000233009305400630540033330082200200530510041533304e337206eb8008dd700089982280319998041100080198288020028998228019999804110008030029828802182780118270021827800912999824001080089999801910009826801182600100091807982498169825000911981b1191981f80080219182598260009825182498258009bac30493048304a00122323253300633005300f304a002300f304a001133005300f304a3049001300f304a3049002304a00230490022232323232533304753300b5330070021001153300730090021300900113300a00400313300e004003300e304a3049004300d30493048004304800230470022233304200200100314a0466607e00294128912998019980300100089980280100091981e8008010a5122323232533303f3370e90000010991919299982119b87480000085288a503047002304200137540082a66607e66e1d2002002132323253330423370e900100109919b87375a608e00a0026eb4c118004528182380118210009baa004132323253330423370e90020010a5114a0608e00460840026ea8010c110008c0fc004dd500111191919299981f19b87480000085288a99981f19b87480080084c8c8c94ccc104cdc3a4000004294054ccc104cdc3a400800429444cdc41bad3045004375a608a002608c00460820026ea80104c8c8c94ccc104cdc3a40080042944528182300118208009baa0043043002303e0013754004466e1cc0ecdd5000a400407846600466e9520023302e00102d3374a9002016911980199ba548000cc0b8008cc0b80100b4cdd2a40006605c0026605c00805a4466e9520003302d0023302d00102c4c0103d87a800022330030010022303022533303300114a02a66606866ebcc0e000400c52889801181b8009191919299981a19b874800800840d44c0a0dd7181c000981c801181a0009baa303530360012233300900200300148810c5354414e44494e475f42494400223330034a046600a002004004444646464a66606466e1d200200210061300530360013037002303200137540024466006002606260640044466ebcdd398188011ba73031001223330030020070012223370e6660086eacc0bcc0b8c0c000400c00920022223333004002480008cccc014009200075a6eac00400c8c008dd480091111981391299981500088028a99981599baf302d302f001006130043031302f00113002302e00100148810741554354494f4e00222323232323330084a0460100020026601000200666e9520023301f00101e302b302c002375660546014605600444466002460060022006446600646464646400aa66604e66e1d20000021324994ccc098004526153302401516153330273370e900100109924ca66604c0022930a9981200a8b0a99981399b87480100084c9265333026001149854cc0900545854ccc09ccdc3a400c0042649329998130008a4c2a6604802a2c2a6604802c2c6058004604e0026ea8004cc01000800488cc0048c888c00800cc00c00448940048cc00800c004888cc07c894ccc088004489400454ccc08ccdd79812981380080209802981380089801181300080091911180100198120009181018010009180f98010009180f18010009180e98010009180e180900091191919299980e19b87480080084c8c8c94ccc07ccdc3a4004004266ebcdd38021ba700114a06048004603e0026ea801054ccc070cdc3a40080042646464a66603e66e1d200400213375e6e9c010dd38008a503024002301f00137540082a66603866e1d20060021323232533301f3370e9003001099baf374e0086e9c0045281812001180f8009baa0041323232533301f3370e9000001099baf374e0086e9c0045281812001180f8009baa0043021002301c0013754004464646464a66603666e1d20040021300f3006301f001101c3020002301b001375400260366024603800246464646400aa66603266e1d20000021323232323232324994ccc078004526153301c00d163021006533301d3370e900000109919191919191919191919191919191924ca6660560022930a9981480d0b18170019bae001302d001302b003375c002605400260500066eb4004c09c004c0940194ccc084cdc3a40000042646464646464646464649329998148008a4c2a6604e0302c60580066eb8004c0ac004c0a40194ccc094cdc3a40000042646464646464646464646464649329998180008a4c2a6605c03e2c606600ca66605e66e1d20000021323232323232324994ccc0d0004526153303202316303700653330333370e900000109919191919191924ca6660700022930a9981b0138b181d803299981b99b87480000084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809458dd7000981d8008a99981b99b87480080084c8c94ccc0e4cdc39b8d001480e04c8c9265333039001149854cc0dc0a058c0f000c54cc0d809858dd7000981d8008a9981a0130b181e001181b8009baa0013037001153330333370e900100109919191919191919191924ca6660760022930a9981c8150b181f0019bad001303d001303b003375a002607400260700066eb4004c0dc00454cc0c008858c0e0008c0cc004dd500098198008a99981799b87480080084c926533302e001149854cc0b00745854cc0b007858c0d0008c0bc004dd500098178009816803299981499b87480000084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a005c58dd700098168008a99981499b87480080084c8c94ccc0accdc39b8d001480e04c8c926533302b001149854cc0a406858c0b800c54cc0a006058dd700098168008a9981300c0b181700118148009baa0013029001153302201416302a00230250013754002604a0022a6603c0202c604c00460420026ea8004c08400454cc06803058c088008c074004dd5000980e8008a99980c99b87480080084c9265333018001149854cc05801c5854cc05802058c078008c064004dd5000a4812c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e67004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f720022330032323300c00100432301830190013017301630180013758602c602e0024460066600c004002601844a66601e00220222a666020600660260022600860280022022ae8c888c00800c8c028894ccc03400440104c94ccc03cc0100044cc018004c00cc0480084c00cc048008c0480052f5c0ae8088c8c8c8c94ccc038cdc3a400000429404cdc79bae30120010053013002300e0013754002601c601e004460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", + "description": "Bidder deposit validator", + "type": "PlutusScriptV2" +} diff --git a/scripts/standing_bid_validator.plutus b/scripts/standing_bid_validator.plutus index 661d810..ff92fb1 100644 --- a/scripts/standing_bid_validator.plutus +++ b/scripts/standing_bid_validator.plutus @@ -1,11 +1,5 @@ { - "cborHex": "59100d59100a0100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222333332222232325333058332232323370e6660b4444a6660bc002200426600666e00009200230620014800000520023304e23303132306130620013060305f3061001004001375860bc60be002605c0020042a6660b06602000e60b860b660ba002264a6660b2664466064460066eacc188004004c88cc0c88c00cdd69831000800919b8700148000cc88ccc8c04488dd3198019bab002375600244666024446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660b866e1d2000002132533305d3301500c001132533305e3330304a04a660726464646464646464a66082666660446eb8c1acc1a801400c0200092201014000133333022375c60d600a6eb8c1acc1a8010c1ac0100052210145003322332232533306b3371200290000801099b8a333069222533306d00110021330033371400460e400260e20020746660d2444a6660dc66e24009200014bd620998318009980199b81002480080040040ec008cdc08011b8d0014822804cdc5181c80b99b8a303900137666ea0008dd6983500299191919299983519b874800800854cc19d24013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c60dc00260de00460d40026ea8c1acc1b0004c1a800cc8cdc5181b80a981b8009bae30693068002375c60d060be60d202460d060ce00660ca00260c800260ca00460c660c460c801a2666062646466e24008004dd69832183198328011bad30633049306400d23232323371266e0000c004008dd69833191833182680098338081bad306530643066003375a60c860c660ca002018002264a6660be6606e608601a0022930a9982e248105535442443800163062304a3063008153305b4901055354424437001633059491055354424436003232323253330613370e9002001098299919191919002a99983299b87480000084c8c8c8c8c8c8c926533306a001149854cc1a014c58c1b40194ccc1a4cdc3a400000426464646464646464646464646464646493299983b8008a4c2a660ea0c02c60f40066eb8004c1e4004c1dc00cdd7000983b000983a0019bad00130730013071006533306d3370e900000109919191919191919191924ca6660ea0022930a9983982f0b183c0019bae0013077001307500653330713370e900000109919191919191919191919191924ca6660f80022930a9983d0328b183f803299983d99b87480000084c8c8c8c8c8c8c926533308001001149854cc1f81a458c20c040194ccc1fccdc3a4000004264646464646464932999842008008a4c2a66104020da2c610e0200ca6661060266e1d2000002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105816375c002610e020022a6661060266e1d2002002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105916375c002610e020022a66100020d82c6110020046106020026ea8004c20c0400454ccc1fccdc3a4004004264646464646464646464932999843808008a4c2a6610a020e02c6114020066eb4004c22404004c21c0400cdd68009843008009842008019bad001308301001153307c06816308401002307f001375400260fe0022a6660f666e1d20020021324994ccc1e8004526153307806316153307806416308001002307b001375400260f600260f200ca6660ea66e1d20000021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404a16375c00260f20022a6660ea66e1d20020021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404b16375c00260f20022a660e40bc2c60f400460ea0026ea8004c1d400454cc1b816858c1d8008c1c4004dd500098388008a9983502b0b183900118368009baa001306d001153306605216306e0023069001375400260d20022a6660ca66e1d20020021324994ccc190004526153306204d16153306204e16306a0023065001375400260ca00220c460cc00460c20026ea8004c184c160c18800454cc16924010553544244350016330584910553544244340033223304d23303430633064001003375860c460b260c6002606400a00c2a6660b866e1d200200213232533305e33035233223305f22533306200114a02a6660c666ebcc19c00400c5288980118330008011bac306330620030010011533305e33036304200c3062002149854cc16d241065354424431300016153305b4910553544244390016375860c260ae60c4016609060c200c264a6660ba66644464646464666444660024600600220069408c020004004cc88cc0048c888c00800cc00c00448940048c8c8c8c80154ccc19ccdc3a40000042649329998330008a4c2a660c809e2c2a6660ce66e1d20020021324994ccc198004526153306404f16153330673370e900200109924ca6660cc0022930a998320278b0a99983399b87480180084c9265333066001149854cc19013c5854cc19014058c1b0008c19c004dd50009999111983211299983380089128008a99983419baf306a306c00100413005306c00113002306b001001232223002003306a0010010033374a90011982b80082b183298330011bab3064304a3065002232323253330613370e90000010a50153330613370e90030010a5014a260cc00460c20026ea800401c004526153305a490106535442443132001633058491065354424431310033223304d23370e6660aa646eacc190c18cc194004c18cc188c19000403800d2002375860c460c600291010741554354494f4e000063061002305c001375400a2a660ac9210553544244330016305c3051305d002153305549010553544244320016153305549105535442443100163305349105535442443000323232533305a3370e90010010991919982d111299982f00089128008a99982f9801183180089911180100198318008998018011831000919baf3061306200100300137586460c060c200260be60c000c60bc00220b660be00460b40026ea8c16cc168c170008c168c16c004dd700280200180100091119998020019100100100091824980100091191911980080180111129998270008998220018010991919299982919baf002001133047337600046601260b000c60b00066660104400400a60aa0082a6660a466e40dd70011bae0011330470063333008220010033055004005133047003333300822001006005305500430530023052004305300122533304c0021001133330032200130510023050002001223330030020040012223370e6660806eacc138c134c13c00400c00920024890c5354414e44494e475f42494400222223253302930014a0260029448cccccc01c00401000c0088ccdca8030008038a5022223333005004003232303c3371402c66e28dd71827182680099b8a017337146eb8c138004cdc500c19b8a00333714008032609c00220924466600600246600a0024464607666e9520003303e37520026607c6ea40080f4cdc500619b8a002337146601a00a00666e28c04c00c05c41188c8c8c8c94ccc11ccdc3a400400420902646464a66609466e1d20000021323232533304d3370e900100108270991919299982819b87480080084c108c8c8888cc008014010dd7182a8011bae305400a13042323222233003005004375c60aa0046eb8c150028c154008c140004dd51828800982900118268009baa304e0011303c322223001004375c609c008609e00460940026ea8c12cc128010c130008c11c004dd518240009824000919980091119800802803111198008028031119800803003a44101390048810146004881011d004881012a0048810158002233300122533303f0041005100f22533303f004100610072533303e0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881004881010000237666ea4004888c8c8c94ccc0d0cdc3a4004004200c2600a6070002607200460680026ea80052412c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223375e6e9cc0c8008dd3981900091918181818800981798171818000918141129998158008a5115330063003303000113002302f00122323253300633005300f3030002300f3030001133005300f3030302f001300f3030302f0023030002302f0022232323232533302d53300b5330070021001153300730090021300900113300a00400313300e004003300e3030302f004300d302f302e004302e002302d0022233302800200100314a0466604a0029412891299801998030010008998028010009198118008010a512232323253330253370e90000010991919299981419b87480000085288a50302d002302800137540082a66604a66e1d2002002132323253330283370e900100109919b87375a605a00a0026eb4c0b0004528181680118140009baa004132323253330283370e90020010a5114a0605a00460500026ea8010c0a8008c094004dd500111191919299981219b87480000085288a99981219b87480080084c8c8c94ccc09ccdc3a4000004294054ccc09ccdc3a400800429444cdc41bad302b004375a60560026058004604e0026ea80104c8c8c94ccc09ccdc3a40080042944528181600118138009baa004302900230240013754004466e1cc084dd5000a4004044464660066eb4c088004dd698111810800980b18110009119ba548000cc048cdd2a40006602466e952002330123750004022660240060226602466e952000330123374a9001198091ba8001011330120040110114c0103d87a80004c0103d87980004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72002301a300200123019300200123018300200123017300200123016300c00122300333006002001300e225333011001101315333012300330150011300430160011013574644460040064601844a66601e0022008264a666022600800226600c00260066028004260066028004602800297ae05740444666600800490001199980280124000eb4dd5800801918011ba900122223300a22533300d00110051533300e3375e6020602400200c2600860286024002260046022002002460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", - "description": "Standing bid validator", - "params": [ - "Ply.Core.Types:AsData#PlutusLedgerApi.V1.Value:CurrencySymbol", - "Ply.Core.Types:AsData#HydraAuctionOnchain.Types.AuctionTerms:AuctionTerms" - ], - "rawHex": "59100a0100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222333332222232325333058332232323370e6660b4444a6660bc002200426600666e00009200230620014800000520023304e23303132306130620013060305f3061001004001375860bc60be002605c0020042a6660b06602000e60b860b660ba002264a6660b2664466064460066eacc188004004c88cc0c88c00cdd69831000800919b8700148000cc88ccc8c04488dd3198019bab002375600244666024446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660b866e1d2000002132533305d3301500c001132533305e3330304a04a660726464646464646464a66082666660446eb8c1acc1a801400c0200092201014000133333022375c60d600a6eb8c1acc1a8010c1ac0100052210145003322332232533306b3371200290000801099b8a333069222533306d00110021330033371400460e400260e20020746660d2444a6660dc66e24009200014bd620998318009980199b81002480080040040ec008cdc08011b8d0014822804cdc5181c80b99b8a303900137666ea0008dd6983500299191919299983519b874800800854cc19d24013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c60dc00260de00460d40026ea8c1acc1b0004c1a800cc8cdc5181b80a981b8009bae30693068002375c60d060be60d202460d060ce00660ca00260c800260ca00460c660c460c801a2666062646466e24008004dd69832183198328011bad30633049306400d23232323371266e0000c004008dd69833191833182680098338081bad306530643066003375a60c860c660ca002018002264a6660be6606e608601a0022930a9982e248105535442443800163062304a3063008153305b4901055354424437001633059491055354424436003232323253330613370e9002001098299919191919002a99983299b87480000084c8c8c8c8c8c8c926533306a001149854cc1a014c58c1b40194ccc1a4cdc3a400000426464646464646464646464646464646493299983b8008a4c2a660ea0c02c60f40066eb8004c1e4004c1dc00cdd7000983b000983a0019bad00130730013071006533306d3370e900000109919191919191919191924ca6660ea0022930a9983982f0b183c0019bae0013077001307500653330713370e900000109919191919191919191919191924ca6660f80022930a9983d0328b183f803299983d99b87480000084c8c8c8c8c8c8c926533308001001149854cc1f81a458c20c040194ccc1fccdc3a4000004264646464646464932999842008008a4c2a66104020da2c610e0200ca6661060266e1d2000002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105816375c002610e020022a6661060266e1d2002002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105916375c002610e020022a66100020d82c6110020046106020026ea8004c20c0400454ccc1fccdc3a4004004264646464646464646464932999843808008a4c2a6610a020e02c6114020066eb4004c22404004c21c0400cdd68009843008009842008019bad001308301001153307c06816308401002307f001375400260fe0022a6660f666e1d20020021324994ccc1e8004526153307806316153307806416308001002307b001375400260f600260f200ca6660ea66e1d20000021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404a16375c00260f20022a6660ea66e1d20020021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404b16375c00260f20022a660e40bc2c60f400460ea0026ea8004c1d400454cc1b816858c1d8008c1c4004dd500098388008a9983502b0b183900118368009baa001306d001153306605216306e0023069001375400260d20022a6660ca66e1d20020021324994ccc190004526153306204d16153306204e16306a0023065001375400260ca00220c460cc00460c20026ea8004c184c160c18800454cc16924010553544244350016330584910553544244340033223304d23303430633064001003375860c460b260c6002606400a00c2a6660b866e1d200200213232533305e33035233223305f22533306200114a02a6660c666ebcc19c00400c5288980118330008011bac306330620030010011533305e33036304200c3062002149854cc16d241065354424431300016153305b4910553544244390016375860c260ae60c4016609060c200c264a6660ba66644464646464666444660024600600220069408c020004004cc88cc0048c888c00800cc00c00448940048c8c8c8c80154ccc19ccdc3a40000042649329998330008a4c2a660c809e2c2a6660ce66e1d20020021324994ccc198004526153306404f16153330673370e900200109924ca6660cc0022930a998320278b0a99983399b87480180084c9265333066001149854cc19013c5854cc19014058c1b0008c19c004dd50009999111983211299983380089128008a99983419baf306a306c00100413005306c00113002306b001001232223002003306a0010010033374a90011982b80082b183298330011bab3064304a3065002232323253330613370e90000010a50153330613370e90030010a5014a260cc00460c20026ea800401c004526153305a490106535442443132001633058491065354424431310033223304d23370e6660aa646eacc190c18cc194004c18cc188c19000403800d2002375860c460c600291010741554354494f4e000063061002305c001375400a2a660ac9210553544244330016305c3051305d002153305549010553544244320016153305549105535442443100163305349105535442443000323232533305a3370e90010010991919982d111299982f00089128008a99982f9801183180089911180100198318008998018011831000919baf3061306200100300137586460c060c200260be60c000c60bc00220b660be00460b40026ea8c16cc168c170008c168c16c004dd700280200180100091119998020019100100100091824980100091191911980080180111129998270008998220018010991919299982919baf002001133047337600046601260b000c60b00066660104400400a60aa0082a6660a466e40dd70011bae0011330470063333008220010033055004005133047003333300822001006005305500430530023052004305300122533304c0021001133330032200130510023050002001223330030020040012223370e6660806eacc138c134c13c00400c00920024890c5354414e44494e475f42494400222223253302930014a0260029448cccccc01c00401000c0088ccdca8030008038a5022223333005004003232303c3371402c66e28dd71827182680099b8a017337146eb8c138004cdc500c19b8a00333714008032609c00220924466600600246600a0024464607666e9520003303e37520026607c6ea40080f4cdc500619b8a002337146601a00a00666e28c04c00c05c41188c8c8c8c94ccc11ccdc3a400400420902646464a66609466e1d20000021323232533304d3370e900100108270991919299982819b87480080084c108c8c8888cc008014010dd7182a8011bae305400a13042323222233003005004375c60aa0046eb8c150028c154008c140004dd51828800982900118268009baa304e0011303c322223001004375c609c008609e00460940026ea8c12cc128010c130008c11c004dd518240009824000919980091119800802803111198008028031119800803003a44101390048810146004881011d004881012a0048810158002233300122533303f0041005100f22533303f004100610072533303e0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881004881010000237666ea4004888c8c8c94ccc0d0cdc3a4004004200c2600a6070002607200460680026ea80052412c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223375e6e9cc0c8008dd3981900091918181818800981798171818000918141129998158008a5115330063003303000113002302f00122323253300633005300f3030002300f3030001133005300f3030302f001300f3030302f0023030002302f0022232323232533302d53300b5330070021001153300730090021300900113300a00400313300e004003300e3030302f004300d302f302e004302e002302d0022233302800200100314a0466604a0029412891299801998030010008998028010009198118008010a512232323253330253370e90000010991919299981419b87480000085288a50302d002302800137540082a66604a66e1d2002002132323253330283370e900100109919b87375a605a00a0026eb4c0b0004528181680118140009baa004132323253330283370e90020010a5114a0605a00460500026ea8010c0a8008c094004dd500111191919299981219b87480000085288a99981219b87480080084c8c8c94ccc09ccdc3a4000004294054ccc09ccdc3a400800429444cdc41bad302b004375a60560026058004604e0026ea80104c8c8c94ccc09ccdc3a40080042944528181600118138009baa004302900230240013754004466e1cc084dd5000a4004044464660066eb4c088004dd698111810800980b18110009119ba548000cc048cdd2a40006602466e952002330123750004022660240060226602466e952000330123374a9001198091ba8001011330120040110114c0103d87a80004c0103d87980004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72002301a300200123019300200123018300200123017300200123016300c00122300333006002001300e225333011001101315333012300330150011300430160011013574644460040064601844a66601e0022008264a666022600800226600c00260066028004260066028004602800297ae05740444666600800490001199980280124000eb4dd5800801918011ba900122223300a22533300d00110051533300e3375e6020602400200c2600860286024002260046022002002460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", - "role": "ValidatorRole", - "version": "ScriptV2" -} \ No newline at end of file + "cborHex": "59100d59100a0100003232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222333332222232325333058332232323370e6660b4444a6660bc002200426600666e00009200230620014800000520023304e23303132306130620013060305f3061001004001375860bc60be002605c0020042a6660b06602000e60b860b660ba002264a6660b2664466064460066eacc188004004c88cc0c88c00cdd69831000800919b8700148000cc88ccc8c04488dd3198019bab002375600244666024446ea0cdc09bad002375a0020040020040026eac0052f5bded8c02646464a6660b866e1d2000002132533305d3301500c001132533305e3330304a04a660726464646464646464a66082666660446eb8c1acc1a801400c0200092201014000133333022375c60d600a6eb8c1acc1a8010c1ac0100052210145003322332232533306b3371200290000801099b8a333069222533306d00110021330033371400460e400260e20020746660d2444a6660dc66e24009200014bd620998318009980199b81002480080040040ec008cdc08011b8d0014822804cdc5181c80b99b8a303900137666ea0008dd6983500299191919299983519b874800800854cc19d24013470616464725061796d656e744b657948617368556e736166653a206661696c656420746f20676574207061796d656e7420706b6800161375c60dc00260de00460d40026ea8c1acc1b0004c1a800cc8cdc5181b80a981b8009bae30693068002375c60d060be60d202460d060ce00660ca00260c800260ca00460c660c460c801a2666062646466e24008004dd69832183198328011bad30633049306400d23232323371266e0000c004008dd69833191833182680098338081bad306530643066003375a60c860c660ca002018002264a6660be6606e608601a0022930a9982e248105535442443800163062304a3063008153305b4901055354424437001633059491055354424436003232323253330613370e9002001098299919191919002a99983299b87480000084c8c8c8c8c8c8c926533306a001149854cc1a014c58c1b40194ccc1a4cdc3a400000426464646464646464646464646464646493299983b8008a4c2a660ea0c02c60f40066eb8004c1e4004c1dc00cdd7000983b000983a0019bad00130730013071006533306d3370e900000109919191919191919191924ca6660ea0022930a9983982f0b183c0019bae0013077001307500653330713370e900000109919191919191919191919191924ca6660f80022930a9983d0328b183f803299983d99b87480000084c8c8c8c8c8c8c926533308001001149854cc1f81a458c20c040194ccc1fccdc3a4000004264646464646464932999842008008a4c2a66104020da2c610e0200ca6661060266e1d2000002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105816375c002610e020022a6661060266e1d2002002132325333085013370e6e340052038132324994ccc2140400452615330830106e1630880100315330820105916375c002610e020022a66100020d82c6110020046106020026ea8004c20c0400454ccc1fccdc3a4004004264646464646464646464932999843808008a4c2a6610a020e02c6114020066eb4004c22404004c21c0400cdd68009843008009842008019bad001308301001153307c06816308401002307f001375400260fe0022a6660f666e1d20020021324994ccc1e8004526153307806316153307806416308001002307b001375400260f600260f200ca6660ea66e1d20000021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404a16375c00260f20022a6660ea66e1d20020021323253330773370e6e340052038132324994ccc1dc004526153307506016307a003153307404b16375c00260f20022a660e40bc2c60f400460ea0026ea8004c1d400454cc1b816858c1d8008c1c4004dd500098388008a9983502b0b183900118368009baa001306d001153306605216306e0023069001375400260d20022a6660ca66e1d20020021324994ccc190004526153306204d16153306204e16306a0023065001375400260ca00220c460cc00460c20026ea8004c184c160c18800454cc16924010553544244350016330584910553544244340033223304d23303430633064001003375860c460b260c6002606400a00c2a6660b866e1d200200213232533305e33035233223305f22533306200114a02a6660c666ebcc19c00400c5288980118330008011bac306330620030010011533305e33036304200c3062002149854cc16d241065354424431300016153305b4910553544244390016375860c260ae60c4016609060c200c264a6660ba66644464646464666444660024600600220069408c020004004cc88cc0048c888c00800cc00c00448940048c8c8c8c80154ccc19ccdc3a40000042649329998330008a4c2a660c809e2c2a6660ce66e1d20020021324994ccc198004526153306404f16153330673370e900200109924ca6660cc0022930a998320278b0a99983399b87480180084c9265333066001149854cc19013c5854cc19014058c1b0008c19c004dd50009999111983211299983380089128008a99983419baf306a306c00100413005306c00113002306b001001232223002003306a0010010033374a90011982b80082b183298330011bab3064304a3065002232323253330613370e90000010a50153330613370e90030010a5014a260cc00460c20026ea800401c004526153305a490106535442443132001633058491065354424431310033223304d23370e6660aa646eacc190c18cc194004c18cc188c19000403800d2002375860c460c600291010741554354494f4e000063061002305c001375400a2a660ac9210553544244330016305c3051305d002153305549010553544244320016153305549105535442443100163305349105535442443000323232533305a3370e90010010991919982d111299982f00089128008a99982f9801183180089911180100198318008998018011831000919baf3061306200100300137586460c060c200260be60c000c60bc00220b660be00460b40026ea8c16cc168c170008c168c16c004dd700280200180100091119998020019100100100091824980100091191911980080180111129998270008998220018010991919299982919baf002001133047337600046601260b000c60b00066660104400400a60aa0082a6660a466e40dd70011bae0011330470063333008220010033055004005133047003333300822001006005305500430530023052004305300122533304c0021001133330032200130510023050002001223330030020040012223370e6660806eacc138c134c13c00400c00920024890c5354414e44494e475f42494400222223253302930014a0260029448cccccc01c00401000c0088ccdca8030008038a5022223333005004003232303c3371402c66e28dd71827182680099b8a017337146eb8c138004cdc500c19b8a00333714008032609c00220924466600600246600a0024464607666e9520003303e37520026607c6ea40080f4cdc500619b8a002337146601a00a00666e28c04c00c05c41188c8c8c8c94ccc11ccdc3a400400420902646464a66609466e1d20000021323232533304d3370e900100108270991919299982819b87480080084c108c8c8888cc008014010dd7182a8011bae305400a13042323222233003005004375c60aa0046eb8c150028c154008c140004dd51828800982900118268009baa304e0011303c322223001004375c609c008609e00460940026ea8c12cc128010c130008c11c004dd518240009824000919980091119800802803111198008028031119800803003a44101390048810146004881011d004881012a0048810158002233300122533303f0041005100f22533303f004100610072533303e0031007100848901010048810121004881012000488101610048810160002333001714e2880052210d846a5369676e617475726531580048810ba201276761646472657373004881024058004881004881010000237666ea4004888c8c8c94ccc0d0cdc3a4004004200c2600a6070002607200460680026ea80052412c7074727946726f6d28505075624b657948617368293a206d757374206265203238206279746573206c6f6e670049012c7074727946726f6d285053637269707448617368293a206d757374206265203238206279746573206c6f6e6700223375e6e9cc0c8008dd3981900091918181818800981798171818000918141129998158008a5115330063003303000113002302f00122323253300633005300f3030002300f3030001133005300f3030302f001300f3030302f0023030002302f0022232323232533302d53300b5330070021001153300730090021300900113300a00400313300e004003300e3030302f004300d302f302e004302e002302d0022233302800200100314a0466604a0029412891299801998030010008998028010009198118008010a512232323253330253370e90000010991919299981419b87480000085288a50302d002302800137540082a66604a66e1d2002002132323253330283370e900100109919b87375a605a00a0026eb4c0b0004528181680118140009baa004132323253330283370e90020010a5114a0605a00460500026ea8010c0a8008c094004dd500111191919299981219b87480000085288a99981219b87480080084c8c8c94ccc09ccdc3a4000004294054ccc09ccdc3a400800429444cdc41bad302b004375a60560026058004604e0026ea80104c8c8c94ccc09ccdc3a40080042944528181600118138009baa004302900230240013754004466e1cc084dd5000a4004044464660066eb4c088004dd698111810800980b18110009119ba548000cc048cdd2a40006602466e952002330123750004022660240060226602466e952000330123374a9001198091ba8001011330120040110114c0103d87a80004c0103d87980004901317074727946726f6d2850446174615265636f72645b5d293a206c697374206973206c6f6e676572207468616e207a65726f0049013f7265616368656420656e64206f662073756d207768696c65207374696c6c206e6f7420686176696e6720666f756e642074686520636f6e7374727563746f72002301a300200123019300200123018300200123017300200123016300c00122300333006002001300e225333011001101315333012300330150011300430160011013574644460040064601844a66601e0022008264a666022600800226600c00260066028004260066028004602800297ae05740444666600800490001199980280124000eb4dd5800801918011ba900122223300a22533300d00110051533300e3375e6020602400200c2600860286024002260046022002002460166004002460146004002460126012002446600240022a660060042cae708c8c0088cc0080080048c0088cc00800800555cfab9a2250015573aae895d0918011baa0015573d", + "description": "Standing bid validator", + "type": "PlutusScriptV2" +} diff --git a/src/Contract/Types/Plutus/AuctionTerms.purs b/src/Contract/Types/Plutus/AuctionTerms.purs index cac8842..2eae2af 100644 --- a/src/Contract/Types/Plutus/AuctionTerms.purs +++ b/src/Contract/Types/Plutus/AuctionTerms.purs @@ -205,8 +205,7 @@ validateAuctionTerms :: AuctionTerms -> V (Array AuctionTermsValidationError) Un validateAuctionTerms auctionTerms@(AuctionTerms rec) = fold [ (Plutus.Value.valueToCoin rec.auctionLot == mempty) `errV` AuctionLotNonZeroAdaError - , (rec.auctionLot `Plutus.Value.gt` mempty) -- FIXME - + , (rec.auctionLot `Plutus.Value.gt` mempty) `errV` NonPositiveAuctionLotValueError , (isJust sellerPkh) `errV` SellerAddressLacksPubKeyCredentialError diff --git a/test/Contract/AnnounceAuction.purs b/test/Contract/AnnounceAuction.purs index 1cf953e..7552723 100644 --- a/test/Contract/AnnounceAuction.purs +++ b/test/Contract/AnnounceAuction.purs @@ -7,10 +7,13 @@ module Test.Contract.AnnounceAuction import Contract.Prelude -import Cardano.Plutus.Types.Value (fromCardano) as Plutus.Value +import Cardano.Plutus.Types.CurrencySymbol (fromScriptHash) +import Cardano.Plutus.Types.Value (Value) as Plutus +import Cardano.Plutus.Types.Value (singleton) as Plutus.Value import Cardano.Types (Mint, ScriptHash, Value) import Cardano.Types.BigNum (one) as BigNum -import Cardano.Types.Int (one) as Cardano.Int +import Cardano.Types.Int (Int) as Cardano +import Cardano.Types.Int (one, toBigInt) as Cardano.Int import Cardano.Types.Mint (singleton) as Mint import Cardano.Types.PlutusScript (hash) as PlutusScript import Cardano.Types.Value (singleton) as Value @@ -56,7 +59,7 @@ announceAuction = announceAuctionFix identity announceAuctionFix :: AuctionTermsMutator -> Contract AnnounceAuctionContractResult announceAuctionFix fixAuctionTerms = do - auctionLotValue <- Plutus.Value.fromCardano <$> mintAuctionLot + auctionLotValue <- mintAuctionLot biddingStart <- currentTime <#> add (mkPosixTimeUnsafe $ Seconds 5.0) @@ -71,15 +74,24 @@ announceAuctionFix fixAuctionTerms = do } liftedE $ runExceptT $ mkAnnounceAuctionContractWithErrors params -mintAuctionLot :: Contract Value +mintAuctionLot :: Contract Plutus.Value mintAuctionLot = do alwaysMintsPolicy <- mkAlwaysMintsPolicy let cs :: ScriptHash cs = PlutusScript.hash alwaysMintsPolicy + mintQuantity :: Cardano.Int + mintQuantity = Cardano.Int.one + auctionLotValue :: Mint - auctionLotValue = Mint.singleton cs auctionLotTokenNameFixture Cardano.Int.one + auctionLotValue = Mint.singleton cs auctionLotTokenNameFixture mintQuantity + + auctionLotValuePlutus :: Plutus.Value + auctionLotValuePlutus = Plutus.Value.singleton + (fromScriptHash cs) + (wrap auctionLotTokenNameFixture) + (Cardano.Int.toBigInt mintQuantity) constraints :: TxConstraints constraints = Constraints.mustMintValue auctionLotValue @@ -92,4 +104,4 @@ mintAuctionLot = do , constraints = constraints } awaitTxConfirmed txHash - pure $ Value.singleton cs auctionLotTokenNameFixture BigNum.one + pure auctionLotValuePlutus From 5c19dea30e9eaf85001884dbf6fb0e9b3167158d Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Tue, 17 Sep 2024 14:34:16 +0200 Subject: [PATCH 14/23] chore: fix warnings --- test/Contract/AnnounceAuction.purs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/Contract/AnnounceAuction.purs b/test/Contract/AnnounceAuction.purs index 7552723..8e08a7b 100644 --- a/test/Contract/AnnounceAuction.purs +++ b/test/Contract/AnnounceAuction.purs @@ -10,13 +10,11 @@ import Contract.Prelude import Cardano.Plutus.Types.CurrencySymbol (fromScriptHash) import Cardano.Plutus.Types.Value (Value) as Plutus import Cardano.Plutus.Types.Value (singleton) as Plutus.Value -import Cardano.Types (Mint, ScriptHash, Value) -import Cardano.Types.BigNum (one) as BigNum +import Cardano.Types (Mint, ScriptHash) import Cardano.Types.Int (Int) as Cardano import Cardano.Types.Int (one, toBigInt) as Cardano.Int import Cardano.Types.Mint (singleton) as Mint import Cardano.Types.PlutusScript (hash) as PlutusScript -import Cardano.Types.Value (singleton) as Value import Contract.Chain (currentTime) import Contract.Monad (Contract, liftedE) import Contract.ScriptLookups (ScriptLookups) From a8439c1d8ae38c90baca6253e98951fb367ab860 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Thu, 19 Sep 2024 16:37:19 +0200 Subject: [PATCH 15/23] test: pass cardano-testnet node socket to hydra nodes --- flake.lock | 4763 ++++++++++++++--------------- flake.nix | 8 +- packages.dhall | 2 +- protocol-parameters.json | 298 +- spago-packages.nix | 6 +- spago.dhall | 1 + test/Contract/DelegateServer.purs | 44 +- test/DelegateServer/Cluster.purs | 33 +- test/Main.purs | 27 +- 9 files changed, 2574 insertions(+), 2608 deletions(-) diff --git a/flake.lock b/flake.lock index 0874a31..20740ff 100644 --- a/flake.lock +++ b/flake.lock @@ -3,15 +3,15 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1724915143, - "narHash": "sha256-SKluKP0iuRTYMQWzkxOtqW39+1zjw6oeZY+J8RJytGM=", - "owner": "input-output-hk", + "lastModified": 1725978043, + "narHash": "sha256-3AwgQ308g74rISxUlbzQRX3At0trVoH836vBwkcFFYg=", + "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "92b3a071083372209af9c89c936f4f184ad5e3f6", + "rev": "ce5ba82d474225506523e66a4050718de7e2b3fe", "type": "github" }, "original": { - "owner": "input-output-hk", + "owner": "intersectmbo", "ref": "repo", "repo": "cardano-haskell-packages", "type": "github" @@ -37,15 +37,15 @@ "CHaP_2": { "flake": false, "locked": { - "lastModified": 1702906471, - "narHash": "sha256-br+hVo3R6nfmiSEPXcLKhIX4Kg5gcK2PjzjmvQsuUp8=", - "owner": "IntersectMBO", + "lastModified": 1724915143, + "narHash": "sha256-SKluKP0iuRTYMQWzkxOtqW39+1zjw6oeZY+J8RJytGM=", + "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "48a359ac3f1d437ebaa91126b20e15a65201f004", + "rev": "92b3a071083372209af9c89c936f4f184ad5e3f6", "type": "github" }, "original": { - "owner": "IntersectMBO", + "owner": "input-output-hk", "ref": "repo", "repo": "cardano-haskell-packages", "type": "github" @@ -54,15 +54,15 @@ "CHaP_3": { "flake": false, "locked": { - "lastModified": 1686070892, - "narHash": "sha256-0yAYqvCg2/aby4AmW0QQK9RKnU1siQczfbUC6hOU02w=", - "owner": "input-output-hk", + "lastModified": 1702906471, + "narHash": "sha256-br+hVo3R6nfmiSEPXcLKhIX4Kg5gcK2PjzjmvQsuUp8=", + "owner": "IntersectMBO", "repo": "cardano-haskell-packages", - "rev": "596cf203a0a1ba252a083a79d384325000faeb49", + "rev": "48a359ac3f1d437ebaa91126b20e15a65201f004", "type": "github" }, "original": { - "owner": "input-output-hk", + "owner": "IntersectMBO", "ref": "repo", "repo": "cardano-haskell-packages", "type": "github" @@ -71,11 +71,11 @@ "CHaP_4": { "flake": false, "locked": { - "lastModified": 1702593630, - "narHash": "sha256-IWu27+sfPtazjIZiWLUm8G4BKvjXmIL+/1XT/ETnfhg=", + "lastModified": 1686070892, + "narHash": "sha256-0yAYqvCg2/aby4AmW0QQK9RKnU1siQczfbUC6hOU02w=", "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "9783a177efcea5beb8808aab7513098bdab185ba", + "rev": "596cf203a0a1ba252a083a79d384325000faeb49", "type": "github" }, "original": { @@ -88,15 +88,15 @@ "CHaP_5": { "flake": false, "locked": { - "lastModified": 1724197463, - "narHash": "sha256-/ZHOKRX84tXckstr6rTYyjytF2yfrIpvGujRLyjZfUE=", - "owner": "intersectmbo", + "lastModified": 1702593630, + "narHash": "sha256-IWu27+sfPtazjIZiWLUm8G4BKvjXmIL+/1XT/ETnfhg=", + "owner": "input-output-hk", "repo": "cardano-haskell-packages", - "rev": "610a202920ffe1d371035d35053152e9a0c77fce", + "rev": "9783a177efcea5beb8808aab7513098bdab185ba", "type": "github" }, "original": { - "owner": "intersectmbo", + "owner": "input-output-hk", "ref": "repo", "repo": "cardano-haskell-packages", "type": "github" @@ -105,11 +105,11 @@ "CHaP_6": { "flake": false, "locked": { - "lastModified": 1715802876, - "narHash": "sha256-fy8xdNgFXJvX0UnW0HNdhcZA/n0FGomkshJExKUcjUs=", + "lastModified": 1721391352, + "narHash": "sha256-scqGnAT3tofRQUb9av5+lhGnpK03HzSKMmKk80wDb2A=", "owner": "IntersectMBO", "repo": "cardano-haskell-packages", - "rev": "70c2100e4206788b082a836046a5133902a1ceb1", + "rev": "ef6499225aab60d39690732fac110377ff8b8324", "type": "github" }, "original": { @@ -122,11 +122,11 @@ "CHaP_7": { "flake": false, "locked": { - "lastModified": 1715690409, - "narHash": "sha256-+PWaq7ngq5d601d+GBNggNuzT+jXSV7Dl2IrMNCY1KQ=", + "lastModified": 1725170790, + "narHash": "sha256-dByd5I847MxV5i9kps89yL1OAvi7iDyC95BU7EM2wtw=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "0ce6797192cbbab051cd8fe5b7516b55273229f1", + "rev": "3bed5fccc06ecc11d4a8427112f107876263e0f3", "type": "github" }, "original": { @@ -476,7 +476,7 @@ }, "agenix": { "inputs": { - "nixpkgs": "nixpkgs_38" + "nixpkgs": "nixpkgs_37" }, "locked": { "lastModified": 1641576265, @@ -494,8 +494,8 @@ }, "agenix-cli": { "inputs": { - "flake-utils": "flake-utils_21", - "nixpkgs": "nixpkgs_39" + "flake-utils": "flake-utils_20", + "nixpkgs": "nixpkgs_38" }, "locked": { "lastModified": 1641404293, @@ -513,8 +513,8 @@ }, "agenix-cli_2": { "inputs": { - "flake-utils": "flake-utils_22", - "nixpkgs": "nixpkgs_41" + "flake-utils": "flake-utils_21", + "nixpkgs": "nixpkgs_40" }, "locked": { "lastModified": 1641404293, @@ -532,8 +532,8 @@ }, "agenix-cli_3": { "inputs": { - "flake-utils": "flake-utils_33", - "nixpkgs": "nixpkgs_70" + "flake-utils": "flake-utils_32", + "nixpkgs": "nixpkgs_69" }, "locked": { "lastModified": 1641404293, @@ -551,7 +551,7 @@ }, "agenix_2": { "inputs": { - "nixpkgs": "nixpkgs_40" + "nixpkgs": "nixpkgs_39" }, "locked": { "lastModified": 1641576265, @@ -647,7 +647,7 @@ }, "agenix_6": { "inputs": { - "nixpkgs": "nixpkgs_69" + "nixpkgs": "nixpkgs_68" }, "locked": { "lastModified": 1641576265, @@ -717,7 +717,7 @@ "alejandra": { "inputs": { "flakeCompat": "flakeCompat", - "nixpkgs": "nixpkgs_64" + "nixpkgs": "nixpkgs_63" }, "locked": { "lastModified": 1646360966, @@ -936,7 +936,7 @@ "hydra": "hydra_7", "n2c": "n2c_5", "nix": "nix_10", - "nixpkgs": "nixpkgs_58", + "nixpkgs": "nixpkgs_57", "nixpkgs-docker": "nixpkgs-docker", "nixpkgs-unstable": "nixpkgs-unstable_8", "nomad-driver-nix": "nomad-driver-nix_2", @@ -1036,7 +1036,7 @@ "fenix": "fenix_4", "hydra": "hydra_6", "nix": "nix_7", - "nixpkgs": "nixpkgs_44", + "nixpkgs": "nixpkgs_43", "nixpkgs-unstable": "nixpkgs-unstable_7", "nomad": "nomad", "nomad-driver-nix": "nomad-driver-nix", @@ -1070,7 +1070,7 @@ "fenix": "fenix_8", "hydra": "hydra_8", "nix": "nix_14", - "nixpkgs": "nixpkgs_73", + "nixpkgs": "nixpkgs_72", "nixpkgs-unstable": "nixpkgs-unstable_9", "nomad": "nomad_2", "nomad-driver-nix": "nomad-driver-nix_3", @@ -1382,7 +1382,7 @@ }, "blockfrost": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1693412637, @@ -1401,7 +1401,7 @@ }, "blockfrost_2": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1716466734, @@ -1421,17 +1421,17 @@ "blst": { "flake": false, "locked": { - "lastModified": 1656163412, - "narHash": "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=", + "lastModified": 1691598027, + "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", "owner": "supranational", "repo": "blst", - "rev": "03b5124029979755c752eec45f3c29674b558446", + "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", "type": "github" }, "original": { "owner": "supranational", + "ref": "v0.3.11", "repo": "blst", - "rev": "03b5124029979755c752eec45f3c29674b558446", "type": "github" } }, @@ -1506,17 +1506,17 @@ "blst_6": { "flake": false, "locked": { - "lastModified": 1691598027, - "narHash": "sha256-oqljy+ZXJAXEB/fJtmB8rlAr4UXM+Z2OkDa20gpILNA=", + "lastModified": 1656163412, + "narHash": "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY=", "owner": "supranational", "repo": "blst", - "rev": "3dd0f804b1819e5d03fb22ca2e6fac105932043a", + "rev": "03b5124029979755c752eec45f3c29674b558446", "type": "github" }, "original": { "owner": "supranational", - "ref": "v0.3.11", "repo": "blst", + "rev": "03b5124029979755c752eec45f3c29674b558446", "type": "github" } }, @@ -2571,6 +2571,21 @@ "type": "github" } }, + "call-flake_2": { + "locked": { + "lastModified": 1687380775, + "narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=", + "owner": "divnix", + "repo": "call-flake", + "rev": "74061f6c241227cd05e79b702db9a300a2e4131a", + "type": "github" + }, + "original": { + "owner": "divnix", + "repo": "call-flake", + "type": "github" + } + }, "capkgs": { "locked": { "lastModified": 1697123727, @@ -2590,7 +2605,7 @@ "inputs": { "bitte": "bitte_2", "iogo": "iogo", - "nixpkgs": "nixpkgs_52", + "nixpkgs": "nixpkgs_51", "ragenix": "ragenix_2" }, "locked": { @@ -2611,7 +2626,7 @@ "inputs": { "bitte": "bitte_3", "iogo": "iogo_2", - "nixpkgs": "nixpkgs_81", + "nixpkgs": "nixpkgs_80", "ragenix": "ragenix_5" }, "locked": { @@ -2630,25 +2645,16 @@ }, "cardano-automation": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils", "haskellNix": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", "haskellNix" ], "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", "nixpkgs" ], - "tullia": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", - "tullia" - ] + "tullia": "tullia" }, "locked": { "lastModified": 1679408951, @@ -2666,20 +2672,25 @@ }, "cardano-automation_2": { "inputs": { - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_8", "haskellNix": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "haskellNix" ], "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "nixpkgs" ], - "tullia": "tullia_2" + "tullia": [ + "ctl", + "cardano-nix", + "cardano-node-8.1.1", + "tullia" + ] }, "locked": { "lastModified": 1679408951, @@ -2697,15 +2708,17 @@ }, "cardano-automation_3": { "inputs": { - "flake-utils": "flake-utils_16", + "flake-utils": "flake-utils_13", "haskellNix": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "haskellNix" ], "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "nixpkgs" ], "tullia": "tullia_3" @@ -2726,7 +2739,7 @@ }, "cardano-automation_4": { "inputs": { - "flake-utils": "flake-utils_48", + "flake-utils": "flake-utils_47", "haskellNix": [ "hydra", "cardano-node", @@ -2806,12 +2819,12 @@ }, "cardano-db-sync": { "inputs": { - "CHaP": "CHaP_2", + "CHaP": "CHaP_3", "cardano-parts": "cardano-parts", - "flake-compat": "flake-compat_4", - "hackageNix": "hackageNix", - "haskellNix": "haskellNix", - "iohkNix": "iohkNix", + "flake-compat": "flake-compat_7", + "hackageNix": "hackageNix_2", + "haskellNix": "haskellNix_2", + "iohkNix": "iohkNix_2", "nixpkgs": [ "ctl", "cardano-nix", @@ -2819,7 +2832,7 @@ "haskellNix", "nixpkgs-unstable" ], - "utils": "utils" + "utils": "utils_3" }, "locked": { "lastModified": 1707925775, @@ -2956,7 +2969,7 @@ }, "cardano-mainnet-mirror": { "inputs": { - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1642701714, @@ -2975,7 +2988,7 @@ }, "cardano-mainnet-mirror_2": { "inputs": { - "nixpkgs": "nixpkgs_25" + "nixpkgs": "nixpkgs_21" }, "locked": { "lastModified": 1642701714, @@ -2994,7 +3007,7 @@ }, "cardano-mainnet-mirror_3": { "inputs": { - "nixpkgs": "nixpkgs_34" + "nixpkgs": "nixpkgs_31" }, "locked": { "lastModified": 1642701714, @@ -3013,7 +3026,7 @@ }, "cardano-mainnet-mirror_4": { "inputs": { - "nixpkgs": "nixpkgs_103" + "nixpkgs": "nixpkgs_102" }, "locked": { "lastModified": 1642701714, @@ -3040,7 +3053,7 @@ "cardano-node-8.7.3": "cardano-node-8.7.3", "crane": "crane_2", "devour-flake": "devour-flake", - "devshell": "devshell_4", + "devshell": "devshell_5", "flake-parts": "flake-parts_5", "flake-root": "flake-root", "hercules-ci-effects": "hercules-ci-effects", @@ -3068,66 +3081,63 @@ }, "cardano-node": { "inputs": { - "CHaP": "CHaP_5", - "cardano-automation": "cardano-automation_3", - "cardano-mainnet-mirror": "cardano-mainnet-mirror_3", - "customConfig": "customConfig_3", - "em": "em_3", - "empty-flake": "empty-flake_4", - "flake-compat": "flake-compat_15", - "hackageNix": "hackageNix_4", - "haskellNix": "haskellNix_4", + "CHaP": "CHaP", + "cardano-automation": "cardano-automation", + "cardano-mainnet-mirror": "cardano-mainnet-mirror", + "customConfig": "customConfig", + "em": "em", + "empty-flake": "empty-flake", + "flake-compat": "flake-compat_2", + "hackageNix": "hackageNix", + "haskellNix": "haskellNix", "hostNixpkgs": [ - "ctl", "cardano-node", "nixpkgs" ], - "iohkNix": "iohkNix_4", - "nix2container": "nix2container_6", + "iohkNix": "iohkNix", "nixpkgs": [ - "ctl", "cardano-node", "haskellNix", "nixpkgs-unstable" ], - "ops-lib": "ops-lib_3", - "std": "std_5", - "utils": "utils_8" + "ops-lib": "ops-lib", + "std": "std_2", + "utils": "utils_2" }, "locked": { - "lastModified": 1724944858, - "narHash": "sha256-7zV11vZ4e81cDIpk9OpkAnYV9EA5WWH134iei3n8+S8=", + "lastModified": 1726677789, + "narHash": "sha256-utAO4ZP9EAW4LdMT/hdMoykwT/h9gizoVvCbmYfAZSQ=", "owner": "input-output-hk", "repo": "cardano-node", - "rev": "d7abccd4e90c38ff5cd4d6a7839689d888332056", + "rev": "341ea87ba3b4936188f8c2d4f09bbf1976a7926e", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "9.2.0", "repo": "cardano-node", - "rev": "d7abccd4e90c38ff5cd4d6a7839689d888332056", "type": "github" } }, "cardano-node-8.1.1": { "inputs": { - "CHaP": "CHaP_3", - "cardano-automation": "cardano-automation", - "cardano-mainnet-mirror": "cardano-mainnet-mirror", - "customConfig": "customConfig", - "em": "em", - "empty-flake": "empty-flake_2", - "flake-compat": "flake-compat_6", - "hackageNix": "hackageNix_2", - "haskellNix": "haskellNix_2", + "CHaP": "CHaP_4", + "cardano-automation": "cardano-automation_2", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_2", + "customConfig": "customConfig_2", + "em": "em_2", + "empty-flake": "empty-flake_3", + "flake-compat": "flake-compat_9", + "hackageNix": "hackageNix_3", + "haskellNix": "haskellNix_3", "hostNixpkgs": [ "ctl", "cardano-nix", "cardano-node-8.1.1", "nixpkgs" ], - "iohkNix": "iohkNix_2", - "nix2container": "nix2container", + "iohkNix": "iohkNix_3", + "nix2container": "nix2container_2", "nixpkgs": [ "ctl", "cardano-nix", @@ -3135,7 +3145,7 @@ "haskellNix", "nixpkgs-unstable" ], - "ops-lib": "ops-lib", + "ops-lib": "ops-lib_2", "std": [ "ctl", "cardano-nix", @@ -3143,8 +3153,8 @@ "tullia", "std" ], - "tullia": "tullia", - "utils": "utils_3" + "tullia": "tullia_2", + "utils": "utils_5" }, "locked": { "lastModified": 1687190129, @@ -3163,23 +3173,23 @@ }, "cardano-node-8.7.3": { "inputs": { - "CHaP": "CHaP_4", - "cardano-automation": "cardano-automation_2", - "cardano-mainnet-mirror": "cardano-mainnet-mirror_2", - "customConfig": "customConfig_2", - "em": "em_2", - "empty-flake": "empty-flake_3", - "flake-compat": "flake-compat_10", - "hackageNix": "hackageNix_3", - "haskellNix": "haskellNix_3", + "CHaP": "CHaP_5", + "cardano-automation": "cardano-automation_3", + "cardano-mainnet-mirror": "cardano-mainnet-mirror_3", + "customConfig": "customConfig_3", + "em": "em_3", + "empty-flake": "empty-flake_4", + "flake-compat": "flake-compat_13", + "hackageNix": "hackageNix_4", + "haskellNix": "haskellNix_4", "hostNixpkgs": [ "ctl", "cardano-nix", "cardano-node-8.7.3", "nixpkgs" ], - "iohkNix": "iohkNix_3", - "nix2container": "nix2container_4", + "iohkNix": "iohkNix_4", + "nix2container": "nix2container_5", "nixpkgs": [ "ctl", "cardano-nix", @@ -3187,9 +3197,9 @@ "haskellNix", "nixpkgs-unstable" ], - "ops-lib": "ops-lib_2", - "std": "std_3", - "utils": "utils_5" + "ops-lib": "ops-lib_3", + "std": "std_5", + "utils": "utils_7" }, "locked": { "lastModified": 1702654749, @@ -3257,7 +3267,7 @@ "nixpkgs" ], "iohkNix": "iohkNix_7", - "nix2container": "nix2container_9", + "nix2container": "nix2container_8", "nixpkgs": [ "hydra", "cardano-node", @@ -3269,16 +3279,16 @@ "utils": "utils_31" }, "locked": { - "lastModified": 1715793024, - "narHash": "sha256-BoTWJKRc7gWSzptEuk32A/uV6MRkRx7vKdz34k8IPY8=", + "lastModified": 1725255033, + "narHash": "sha256-VIwEjpaGk09+dAcKELjLSR2OP3qBCWTGHpd0SBjgbVc=", "owner": "intersectmbo", "repo": "cardano-node", - "rev": "38c7f1cf2db12dff9c814ad10049f411a4b30448", + "rev": "efd560070aaf042d1eb4680ae37fc607c7742319", "type": "github" }, "original": { "owner": "intersectmbo", - "ref": "8.11.0-pre", + "ref": "9.1.1", "repo": "cardano-node", "type": "github" } @@ -3293,20 +3303,20 @@ "cardano-node-service": "cardano-node-service", "cardano-wallet-service": "cardano-wallet-service", "colmena": "colmena", - "empty-flake": "empty-flake", + "empty-flake": "empty-flake_2", "flake-parts": "flake-parts_3", "haskell-nix": "haskell-nix", "inputs-check": "inputs-check", "iohk-nix": "iohk-nix", "iohk-nix-ng": "iohk-nix-ng", - "nix": "nix_2", + "nix": "nix_3", "nixpkgs": [ "ctl", "cardano-nix", "cardano-db-sync", "nixpkgs" ], - "nixpkgs-unstable": "nixpkgs-unstable_2", + "nixpkgs-unstable": "nixpkgs-unstable_3", "offchain-metadata-tools-service": "offchain-metadata-tools-service", "sops-nix": "sops-nix", "terraform-providers": "terraform-providers", @@ -3637,7 +3647,7 @@ "ema": "ema", "emanote": "emanote", "flake-compat": "flake-compat_21", - "flake-utils": "flake-utils_40", + "flake-utils": "flake-utils_39", "haskellNix": "haskellNix_5", "hostNixpkgs": [ "ctl", @@ -3709,7 +3719,7 @@ "iohk-nix": "iohk-nix_2", "n2c": "n2c_6", "nix-inclusive": "nix-inclusive", - "nixpkgs": "nixpkgs_92", + "nixpkgs": "nixpkgs_91", "nixpkgs-haskell": [ "ctl", "db-sync", @@ -3746,7 +3756,7 @@ "inclusive": "inclusive_9", "nix": "nix_13", "nix-cache-proxy": "nix-cache-proxy", - "nixpkgs": "nixpkgs_68", + "nixpkgs": "nixpkgs_67", "poetry2nix": "poetry2nix", "utils": "utils_22" }, @@ -3766,8 +3776,8 @@ }, "colmena": { "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_5", "nixpkgs": [ "ctl", "cardano-nix", @@ -3794,8 +3804,8 @@ }, "crane": { "inputs": { - "flake-compat": "flake-compat_12", - "flake-utils": "flake-utils_14", + "flake-compat": "flake-compat_15", + "flake-utils": "flake-utils_18", "nixpkgs": [ "ctl", "cardano-nix", @@ -3843,33 +3853,6 @@ } }, "crane_3": { - "inputs": { - "flake-compat": "flake-compat_29", - "flake-utils": "flake-utils_53", - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "paisano-mdbook-preprocessor", - "nixpkgs" - ], - "rust-overlay": "rust-overlay_7" - }, - "locked": { - "lastModified": 1676162383, - "narHash": "sha256-krUCKdz7ebHlFYm/A7IbKDnj2ZmMMm3yIEQcooqm7+E=", - "owner": "ipetkov", - "repo": "crane", - "rev": "6fb400ec631b22ccdbc7090b38207f7fb5cfb5f2", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_4": { "inputs": { "nixpkgs": [ "hydra", @@ -3878,11 +3861,11 @@ ] }, "locked": { - "lastModified": 1713979152, - "narHash": "sha256-apdecPuh8SOQnkEET/kW/UcfjCRb8JbV5BKjoH+DcP4=", + "lastModified": 1721842668, + "narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=", "owner": "ipetkov", "repo": "crane", - "rev": "a5eca68a2cf11adb32787fc141cddd29ac8eb79c", + "rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf", "type": "github" }, "original": { @@ -3901,7 +3884,7 @@ "crystal-x86_64-linux": "crystal-x86_64-linux", "crystalline-src": "crystalline-src", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1683429373, @@ -3989,11 +3972,13 @@ }, "ctl": { "inputs": { - "CHaP": "CHaP", + "CHaP": "CHaP_2", "blockfrost": "blockfrost", "cardano-configurations": "cardano-configurations", "cardano-nix": "cardano-nix", - "cardano-node": "cardano-node", + "cardano-node": [ + "cardano-node" + ], "db-sync": "db-sync", "easy-purescript-nix": "easy-purescript-nix", "flake-compat": "flake-compat_24", @@ -4010,17 +3995,17 @@ "ogmios": "ogmios_2" }, "locked": { - "lastModified": 1725898085, - "narHash": "sha256-H4sUdX7x/DiCC2iNAHc6zaJtX1Z5w6WURovnQ00tV6w=", + "lastModified": 1726585544, + "narHash": "sha256-5tSoe8wEf5gBnML5uqaB14kl2Isqxd+6Hoh2dkYedjQ=", "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "be434c41d80bb10d25825ed247d81f630f2d6b89", + "rev": "566e7153c88fdab7005a3b4b02e6fec41c7d5c94", "type": "github" }, "original": { "owner": "Plutonomicon", - "ref": "v9.3.1", "repo": "cardano-transaction-lib", + "rev": "566e7153c88fdab7005a3b4b02e6fec41c7d5c94", "type": "github" } }, @@ -4306,17 +4291,15 @@ "devshell": { "inputs": { "flake-utils": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "flake-utils" ], "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" @@ -4386,8 +4369,8 @@ }, "devshell_12": { "inputs": { - "flake-utils": "flake-utils_30", - "nixpkgs": "nixpkgs_65" + "flake-utils": "flake-utils_29", + "nixpkgs": "nixpkgs_64" }, "locked": { "lastModified": 1644227066, @@ -4529,8 +4512,7 @@ "flake-utils": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "std", "flake-utils" @@ -4538,8 +4520,7 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -4561,7 +4542,7 @@ }, "devshell_20": { "inputs": { - "flake-utils": "flake-utils_46", + "flake-utils": "flake-utils_45", "nixpkgs": [ "ctl", "db-sync", @@ -4619,30 +4600,6 @@ } }, "devshell_22": { - "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "nixpkgs" - ], - "systems": "systems_7" - }, - "locked": { - "lastModified": 1686680692, - "narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=", - "owner": "numtide", - "repo": "devshell", - "rev": "fd6223370774dd9c33354e87a007004b5fd36442", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_23": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4677,7 +4634,7 @@ "type": "github" } }, - "devshell_24": { + "devshell_23": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4716,7 +4673,7 @@ "type": "github" } }, - "devshell_25": { + "devshell_24": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4753,7 +4710,7 @@ "type": "github" } }, - "devshell_26": { + "devshell_25": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4792,7 +4749,7 @@ "type": "github" } }, - "devshell_27": { + "devshell_26": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4827,7 +4784,7 @@ "type": "github" } }, - "devshell_28": { + "devshell_27": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4860,7 +4817,7 @@ "type": "github" } }, - "devshell_29": { + "devshell_28": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4897,23 +4854,33 @@ "type": "github" } }, - "devshell_3": { + "devshell_29": { "inputs": { + "flake-utils": [ + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", + "std", + "flake-utils" + ], "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", + "hydra-auction-onchain", + "liqwid-nix", + "plutarch", + "tooling", + "plutus", "std", "nixpkgs" - ], - "systems": "systems_2" + ] }, "locked": { - "lastModified": 1686680692, - "narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=", + "lastModified": 1663445644, + "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", "owner": "numtide", "repo": "devshell", - "rev": "fd6223370774dd9c33354e87a007004b5fd36442", + "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", "type": "github" }, "original": { @@ -4922,23 +4889,23 @@ "type": "github" } }, - "devshell_30": { + "devshell_3": { "inputs": { "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "flake-utils" ], "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "nixpkgs" ] @@ -4957,7 +4924,7 @@ "type": "github" } }, - "devshell_31": { + "devshell_30": { "inputs": { "flake-utils": [ "hydra-auction-onchain", @@ -4999,16 +4966,18 @@ "nixpkgs": [ "ctl", "cardano-nix", + "cardano-node-8.7.3", + "std", "nixpkgs" ], "systems": "systems_3" }, "locked": { - "lastModified": 1695973661, - "narHash": "sha256-BP2H4c42GThPIhERtTpV1yCtwQHYHEKdRu7pjrmQAwo=", + "lastModified": 1686680692, + "narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=", "owner": "numtide", "repo": "devshell", - "rev": "cd4e2fda3150dd2f689caeac07b7f47df5197c31", + "rev": "fd6223370774dd9c33354e87a007004b5fd36442", "type": "github" }, "original": { @@ -5019,29 +4988,19 @@ }, "devshell_5": { "inputs": { - "flake-utils": [ - "ctl", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], "nixpkgs": [ "ctl", - "cardano-node", - "cardano-automation", - "tullia", - "std", + "cardano-nix", "nixpkgs" - ] + ], + "systems": "systems_4" }, "locked": { - "lastModified": 1663445644, - "narHash": "sha256-+xVlcK60x7VY1vRJbNUEAHi17ZuoQxAIH4S4iUFUGBA=", + "lastModified": 1695973661, + "narHash": "sha256-BP2H4c42GThPIhERtTpV1yCtwQHYHEKdRu7pjrmQAwo=", "owner": "numtide", "repo": "devshell", - "rev": "e3dc3e21594fe07bdb24bdf1c8657acaa4cb8f66", + "rev": "cd4e2fda3150dd2f689caeac07b7f47df5197c31", "type": "github" }, "original": { @@ -5113,17 +5072,15 @@ "dmerge": { "inputs": { "nixlib": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" ], "yants": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "yants" @@ -5472,76 +5429,67 @@ }, "dmerge_2": { "inputs": { + "haumea": [ + "cardano-node", + "std", + "haumea" + ], "nixlib": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", - "nixpkgs" + "lib" ], "yants": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "yants" ] }, "locked": { - "lastModified": 1659548052, - "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", + "lastModified": 1686862774, + "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", "owner": "divnix", - "repo": "data-merge", - "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", + "repo": "dmerge", + "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", "type": "github" }, "original": { "owner": "divnix", - "repo": "data-merge", + "ref": "0.2.1", + "repo": "dmerge", "type": "github" } }, "dmerge_3": { "inputs": { - "haumea": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "std", - "haumea" - ], "nixlib": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", - "haumea", "nixpkgs" ], "yants": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", "yants" ] }, "locked": { - "lastModified": 1686862774, - "narHash": "sha256-ojGtRQ9pIOUrxsQEuEPerUkqIJEuod9hIflfNkY+9CE=", + "lastModified": 1659548052, + "narHash": "sha256-fzI2gp1skGA8mQo/FBFrUAtY0GQkAIAaV/V127TJPyY=", "owner": "divnix", - "repo": "dmerge", - "rev": "9f7f7a8349d33d7bd02e0f2b484b1f076e503a96", + "repo": "data-merge", + "rev": "d160d18ce7b1a45b88344aa3f13ed1163954b497", "type": "github" }, "original": { "owner": "divnix", - "ref": "0.2.1", - "repo": "dmerge", + "repo": "data-merge", "type": "github" } }, @@ -5549,7 +5497,8 @@ "inputs": { "nixlib": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", @@ -5557,7 +5506,8 @@ ], "yants": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", @@ -5582,19 +5532,23 @@ "inputs": { "haumea": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "haumea" ], "nixlib": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", - "lib" + "haumea", + "nixpkgs" ], "yants": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "yants" ] @@ -5723,8 +5677,7 @@ "hydra", "cardano-node", "std", - "haumea", - "nixpkgs" + "lib" ], "yants": [ "hydra", @@ -5813,11 +5766,11 @@ "em": { "flake": false, "locked": { - "lastModified": 1684791668, - "narHash": "sha256-JyPm0RiWCfy/8rs7wd/IRSWIz+bTkD78uxIMnKktU2g=", + "lastModified": 1685015066, + "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", "owner": "deepfire", "repo": "em", - "rev": "302cdf6d654fb18baff0213bdfa41a653774585a", + "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", "type": "github" }, "original": { @@ -5845,11 +5798,11 @@ "em_3": { "flake": false, "locked": { - "lastModified": 1685015066, - "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", + "lastModified": 1684791668, + "narHash": "sha256-JyPm0RiWCfy/8rs7wd/IRSWIz+bTkD78uxIMnKktU2g=", "owner": "deepfire", "repo": "em", - "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", + "rev": "302cdf6d654fb18baff0213bdfa41a653774585a", "type": "github" }, "original": { @@ -5861,11 +5814,11 @@ "em_4": { "flake": false, "locked": { - "lastModified": 1684791668, - "narHash": "sha256-JyPm0RiWCfy/8rs7wd/IRSWIz+bTkD78uxIMnKktU2g=", + "lastModified": 1685015066, + "narHash": "sha256-etAdEoYhtvjTw1ITh28WPNfwvvb5t/fpwCP6s7odSiQ=", "owner": "deepfire", "repo": "em", - "rev": "302cdf6d654fb18baff0213bdfa41a653774585a", + "rev": "af69bb5c2ac2161434d8fea45f920f8f359587ce", "type": "github" }, "original": { @@ -5877,8 +5830,8 @@ "ema": { "inputs": { "flake-compat": "flake-compat_20", - "flake-utils": "flake-utils_37", - "nixpkgs": "nixpkgs_83", + "flake-utils": "flake-utils_36", + "nixpkgs": "nixpkgs_82", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -5949,7 +5902,7 @@ "ema": "ema_2", "flake-parts": "flake-parts_6", "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs_86", + "nixpkgs": "nixpkgs_85", "tailwind-haskell": "tailwind-haskell" }, "locked": { @@ -5969,7 +5922,7 @@ "emanote_2": { "inputs": { "ema": "ema_3", - "flake-parts": "flake-parts_15", + "flake-parts": "flake-parts_16", "haskell-flake": "haskell-flake_3", "heist": "heist", "heist-extra": "heist-extra", @@ -6000,7 +5953,7 @@ "emanote_3": { "inputs": { "ema": "ema_4", - "flake-parts": "flake-parts_20", + "flake-parts": "flake-parts_21", "haskell-flake": "haskell-flake_5", "heist": "heist_2", "heist-extra": "heist-extra_2", @@ -6131,7 +6084,7 @@ }, "fenix_2": { "inputs": { - "nixpkgs": "nixpkgs_30", + "nixpkgs": "nixpkgs_36", "rust-analyzer-src": "rust-analyzer-src_2" }, "locked": { @@ -6150,7 +6103,7 @@ }, "fenix_3": { "inputs": { - "nixpkgs": "nixpkgs_42", + "nixpkgs": "nixpkgs_41", "rust-analyzer-src": "rust-analyzer-src_3" }, "locked": { @@ -6196,7 +6149,7 @@ }, "fenix_5": { "inputs": { - "nixpkgs": "nixpkgs_55", + "nixpkgs": "nixpkgs_54", "rust-analyzer-src": "rust-analyzer-src_5" }, "locked": { @@ -6240,7 +6193,7 @@ }, "fenix_7": { "inputs": { - "nixpkgs": "nixpkgs_71", + "nixpkgs": "nixpkgs_70", "rust-analyzer-src": "rust-analyzer-src_7" }, "locked": { @@ -6283,25 +6236,6 @@ "type": "github" } }, - "fenix_9": { - "inputs": { - "nixpkgs": "nixpkgs_108", - "rust-analyzer-src": "rust-analyzer-src_9" - }, - "locked": { - "lastModified": 1677306201, - "narHash": "sha256-VZ9x7qdTosFvVsrpgFHrtYfT6PU3yMIs7NRYn9ELapI=", - "owner": "nix-community", - "repo": "fenix", - "rev": "0923f0c162f65ae40261ec940406049726cfeab4", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -6321,16 +6255,16 @@ "flake-compat_10": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "fixes", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -6338,16 +6272,15 @@ "flake-compat_11": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", - "owner": "input-output-hk", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -6355,11 +6288,11 @@ "flake-compat_12": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -6371,15 +6304,16 @@ "flake-compat_13": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -6387,15 +6321,16 @@ "flake-compat_14": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -6403,16 +6338,15 @@ "flake-compat_15": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", - "owner": "input-output-hk", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "fixes", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -6420,16 +6354,15 @@ "flake-compat_16": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", - "owner": "input-output-hk", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -6485,16 +6418,16 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -6650,36 +6583,21 @@ "flake-compat_29": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } }, "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_30": { "flake": false, "locked": { "lastModified": 1672831974, @@ -6696,7 +6614,7 @@ "type": "github" } }, - "flake-compat_31": { + "flake-compat_30": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6712,7 +6630,7 @@ "type": "github" } }, - "flake-compat_32": { + "flake-compat_31": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6728,7 +6646,7 @@ "type": "github" } }, - "flake-compat_33": { + "flake-compat_32": { "flake": false, "locked": { "lastModified": 1673956053, @@ -6744,7 +6662,7 @@ "type": "github" } }, - "flake-compat_34": { + "flake-compat_33": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6760,7 +6678,7 @@ "type": "github" } }, - "flake-compat_35": { + "flake-compat_34": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6776,7 +6694,7 @@ "type": "github" } }, - "flake-compat_36": { + "flake-compat_35": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6792,7 +6710,7 @@ "type": "github" } }, - "flake-compat_37": { + "flake-compat_36": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6808,7 +6726,7 @@ "type": "github" } }, - "flake-compat_38": { + "flake-compat_37": { "flake": false, "locked": { "lastModified": 1673956053, @@ -6824,7 +6742,7 @@ "type": "github" } }, - "flake-compat_39": { + "flake-compat_38": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6840,24 +6758,23 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_39": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", - "owner": "input-output-hk", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "fixes", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } }, - "flake-compat_40": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6873,7 +6790,7 @@ "type": "github" } }, - "flake-compat_41": { + "flake-compat_40": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6889,7 +6806,7 @@ "type": "github" } }, - "flake-compat_42": { + "flake-compat_41": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6905,7 +6822,7 @@ "type": "github" } }, - "flake-compat_43": { + "flake-compat_42": { "flake": false, "locked": { "lastModified": 1673956053, @@ -6921,7 +6838,7 @@ "type": "github" } }, - "flake-compat_44": { + "flake-compat_43": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6937,7 +6854,7 @@ "type": "github" } }, - "flake-compat_45": { + "flake-compat_44": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6953,7 +6870,7 @@ "type": "github" } }, - "flake-compat_46": { + "flake-compat_45": { "flake": false, "locked": { "lastModified": 1635892615, @@ -6969,7 +6886,7 @@ "type": "github" } }, - "flake-compat_47": { + "flake-compat_46": { "flake": false, "locked": { "lastModified": 1650374568, @@ -6985,7 +6902,7 @@ "type": "github" } }, - "flake-compat_48": { + "flake-compat_47": { "flake": false, "locked": { "lastModified": 1673956053, @@ -7021,16 +6938,15 @@ "flake-compat_6": { "flake": false, "locked": { - "lastModified": 1647532380, - "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", - "owner": "input-output-hk", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", "repo": "flake-compat", - "rev": "7da118186435255a30b5ffeabba9629c344c0bec", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "fixes", + "owner": "edolstra", "repo": "flake-compat", "type": "github" } @@ -7038,16 +6954,16 @@ "flake-compat_7": { "flake": false, "locked": { - "lastModified": 1672831974, - "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", "owner": "input-output-hk", "repo": "flake-compat", - "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "hkm/gitlab-fix", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -7055,15 +6971,16 @@ "flake-compat_8": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } @@ -7071,15 +6988,16 @@ "flake-compat_9": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", + "lastModified": 1647532380, + "narHash": "sha256-wswAxyO8AJTH7d5oU8VK82yBCpqwA+p6kLgpb1f1PAY=", + "owner": "input-output-hk", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "7da118186435255a30b5ffeabba9629c344c0bec", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "input-output-hk", + "ref": "fixes", "repo": "flake-compat", "type": "github" } @@ -7106,6 +7024,24 @@ "inputs": { "nixpkgs-lib": "nixpkgs-lib_8" }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_11": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_9" + }, "locked": { "lastModified": 1698882062, "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", @@ -7119,9 +7055,9 @@ "type": "indirect" } }, - "flake-parts_11": { + "flake-parts_12": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_9" + "nixpkgs-lib": "nixpkgs-lib_10" }, "locked": { "lastModified": 1672616755, @@ -7136,9 +7072,9 @@ "type": "indirect" } }, - "flake-parts_12": { + "flake-parts_13": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_10" + "nixpkgs-lib": "nixpkgs-lib_11" }, "locked": { "lastModified": 1678379998, @@ -7154,9 +7090,9 @@ "type": "github" } }, - "flake-parts_13": { + "flake-parts_14": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_11" + "nixpkgs-lib": "nixpkgs-lib_12" }, "locked": { "lastModified": 1678379998, @@ -7171,7 +7107,7 @@ "type": "indirect" } }, - "flake-parts_14": { + "flake-parts_15": { "inputs": { "nixpkgs-lib": [ "hydra-auction-onchain", @@ -7196,9 +7132,9 @@ "type": "github" } }, - "flake-parts_15": { + "flake-parts_16": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_12" + "nixpkgs-lib": "nixpkgs-lib_13" }, "locked": { "lastModified": 1668450977, @@ -7214,7 +7150,7 @@ "type": "github" } }, - "flake-parts_16": { + "flake-parts_17": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -7240,9 +7176,9 @@ "type": "github" } }, - "flake-parts_17": { + "flake-parts_18": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_13" + "nixpkgs-lib": "nixpkgs-lib_14" }, "locked": { "lastModified": 1678379998, @@ -7258,9 +7194,9 @@ "type": "github" } }, - "flake-parts_18": { + "flake-parts_19": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_14" + "nixpkgs-lib": "nixpkgs-lib_15" }, "locked": { "lastModified": 1678379998, @@ -7275,22 +7211,16 @@ "type": "indirect" } }, - "flake-parts_19": { + "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "hydra-auction-onchain", - "liqwid-nix", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1682984683, + "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "86684881e184f41aa322e653880e497b66429f3e", "type": "github" }, "original": { @@ -7299,16 +7229,22 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_20": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": [ + "hydra-auction-onchain", + "liqwid-nix", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] }, "locked": { - "lastModified": 1682984683, - "narHash": "sha256-fSMthG+tp60AHhNmaHc4StT3ltfHkQsJtN8GhfLWmtI=", + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "86684881e184f41aa322e653880e497b66429f3e", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", "type": "github" }, "original": { @@ -7317,9 +7253,9 @@ "type": "github" } }, - "flake-parts_20": { + "flake-parts_21": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_15" + "nixpkgs-lib": "nixpkgs-lib_16" }, "locked": { "lastModified": 1668450977, @@ -7335,7 +7271,7 @@ "type": "github" } }, - "flake-parts_21": { + "flake-parts_22": { "inputs": { "nixpkgs": [ "hydra-auction-onchain", @@ -7416,7 +7352,7 @@ }, "flake-parts_6": { "inputs": { - "nixpkgs": "nixpkgs_85" + "nixpkgs": "nixpkgs_84" }, "locked": { "lastModified": 1655570068, @@ -7458,11 +7394,11 @@ "nixpkgs-lib": "nixpkgs-lib_6" }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -7476,11 +7412,11 @@ "nixpkgs-lib": "nixpkgs-lib_7" }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -7506,11 +7442,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -7535,21 +7471,6 @@ } }, "flake-utils_11": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_12": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7564,7 +7485,7 @@ "type": "github" } }, - "flake-utils_13": { + "flake-utils_12": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7579,7 +7500,7 @@ "type": "github" } }, - "flake-utils_14": { + "flake-utils_13": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -7594,16 +7515,13 @@ "type": "github" } }, - "flake-utils_15": { - "inputs": { - "systems": "systems_4" - }, + "flake-utils_14": { "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7612,13 +7530,13 @@ "type": "github" } }, - "flake-utils_16": { + "flake-utils_15": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -7627,7 +7545,7 @@ "type": "github" } }, - "flake-utils_17": { + "flake-utils_16": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -7642,7 +7560,7 @@ "type": "github" } }, - "flake-utils_18": { + "flake-utils_17": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -7657,13 +7575,13 @@ "type": "github" } }, - "flake-utils_19": { + "flake-utils_18": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -7672,32 +7590,31 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_19": { + "inputs": { + "systems": "systems_5" + }, "locked": { - "lastModified": 1679360468, - "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", - "owner": "hamishmack", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", "repo": "flake-utils", - "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { - "owner": "hamishmack", - "ref": "hkm/nested-hydraJobs", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, - "flake-utils_20": { - "inputs": { - "systems": "systems_5" - }, + "flake-utils_2": { "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -7706,7 +7623,7 @@ "type": "github" } }, - "flake-utils_21": { + "flake-utils_20": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7721,7 +7638,7 @@ "type": "github" } }, - "flake-utils_22": { + "flake-utils_21": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7736,7 +7653,7 @@ "type": "github" } }, - "flake-utils_23": { + "flake-utils_22": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7751,7 +7668,7 @@ "type": "github" } }, - "flake-utils_24": { + "flake-utils_23": { "locked": { "lastModified": 1634851050, "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", @@ -7766,7 +7683,7 @@ "type": "github" } }, - "flake-utils_25": { + "flake-utils_24": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7781,7 +7698,7 @@ "type": "github" } }, - "flake-utils_26": { + "flake-utils_25": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7796,7 +7713,7 @@ "type": "github" } }, - "flake-utils_27": { + "flake-utils_26": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7811,7 +7728,7 @@ "type": "github" } }, - "flake-utils_28": { + "flake-utils_27": { "locked": { "lastModified": 1656928814, "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", @@ -7826,7 +7743,7 @@ "type": "github" } }, - "flake-utils_29": { + "flake-utils_28": { "locked": { "lastModified": 1634851050, "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", @@ -7841,13 +7758,13 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_29": { "locked": { - "lastModified": 1634851050, - "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "owner": "numtide", "repo": "flake-utils", - "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", "type": "github" }, "original": { @@ -7856,13 +7773,13 @@ "type": "github" } }, - "flake-utils_30": { + "flake-utils_3": { "locked": { - "lastModified": 1642700792, - "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -7871,7 +7788,7 @@ "type": "github" } }, - "flake-utils_31": { + "flake-utils_30": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7886,7 +7803,7 @@ "type": "github" } }, - "flake-utils_32": { + "flake-utils_31": { "locked": { "lastModified": 1610051610, "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", @@ -7901,7 +7818,7 @@ "type": "github" } }, - "flake-utils_33": { + "flake-utils_32": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7916,7 +7833,7 @@ "type": "github" } }, - "flake-utils_34": { + "flake-utils_33": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -7931,7 +7848,7 @@ "type": "github" } }, - "flake-utils_35": { + "flake-utils_34": { "locked": { "lastModified": 1634851050, "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", @@ -7946,7 +7863,7 @@ "type": "github" } }, - "flake-utils_36": { + "flake-utils_35": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -7961,7 +7878,7 @@ "type": "github" } }, - "flake-utils_37": { + "flake-utils_36": { "locked": { "lastModified": 1642700792, "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", @@ -7976,7 +7893,7 @@ "type": "github" } }, - "flake-utils_38": { + "flake-utils_37": { "locked": { "lastModified": 1619345332, "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=", @@ -7991,7 +7908,7 @@ "type": "github" } }, - "flake-utils_39": { + "flake-utils_38": { "locked": { "lastModified": 1652776076, "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", @@ -8007,13 +7924,13 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_39": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8022,7 +7939,7 @@ "type": "github" } }, - "flake-utils_40": { + "flake-utils_4": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8037,7 +7954,7 @@ "type": "github" } }, - "flake-utils_41": { + "flake-utils_40": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8052,7 +7969,7 @@ "type": "github" } }, - "flake-utils_42": { + "flake-utils_41": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8067,7 +7984,7 @@ "type": "github" } }, - "flake-utils_43": { + "flake-utils_42": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8082,7 +7999,7 @@ "type": "github" } }, - "flake-utils_44": { + "flake-utils_43": { "locked": { "lastModified": 1656928814, "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", @@ -8097,7 +8014,7 @@ "type": "github" } }, - "flake-utils_45": { + "flake-utils_44": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -8112,7 +8029,7 @@ "type": "github" } }, - "flake-utils_46": { + "flake-utils_45": { "locked": { "lastModified": 1642700792, "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", @@ -8127,7 +8044,7 @@ "type": "github" } }, - "flake-utils_47": { + "flake-utils_46": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8142,7 +8059,7 @@ "type": "github" } }, - "flake-utils_48": { + "flake-utils_47": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -8157,7 +8074,7 @@ "type": "github" } }, - "flake-utils_49": { + "flake-utils_48": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8172,23 +8089,22 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_49": { "locked": { - "lastModified": 1679360468, - "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", - "owner": "hamishmack", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", "repo": "flake-utils", - "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { - "owner": "hamishmack", - "ref": "hkm/nested-hydraJobs", + "owner": "numtide", "repo": "flake-utils", "type": "github" } }, - "flake-utils_50": { + "flake-utils_5": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8203,7 +8119,7 @@ "type": "github" } }, - "flake-utils_51": { + "flake-utils_50": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8218,13 +8134,16 @@ "type": "github" } }, - "flake-utils_52": { + "flake-utils_51": { + "inputs": { + "systems": "systems_6" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -8233,25 +8152,10 @@ "type": "github" } }, - "flake-utils_53": { + "flake-utils_52": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_54": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", @@ -8263,7 +8167,7 @@ "type": "github" } }, - "flake-utils_55": { + "flake-utils_53": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8278,7 +8182,7 @@ "type": "github" } }, - "flake-utils_56": { + "flake-utils_54": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8293,7 +8197,7 @@ "type": "github" } }, - "flake-utils_57": { + "flake-utils_55": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8308,7 +8212,7 @@ "type": "github" } }, - "flake-utils_58": { + "flake-utils_56": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8323,7 +8227,7 @@ "type": "github" } }, - "flake-utils_59": { + "flake-utils_57": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -8338,13 +8242,13 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_58": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -8353,13 +8257,13 @@ "type": "github" } }, - "flake-utils_60": { + "flake-utils_59": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8368,22 +8272,23 @@ "type": "github" } }, - "flake-utils_61": { + "flake-utils_6": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", "type": "github" }, "original": { - "owner": "numtide", + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", "repo": "flake-utils", "type": "github" } }, - "flake-utils_62": { + "flake-utils_60": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8398,7 +8303,7 @@ "type": "github" } }, - "flake-utils_63": { + "flake-utils_61": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8413,7 +8318,7 @@ "type": "github" } }, - "flake-utils_64": { + "flake-utils_62": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8428,7 +8333,7 @@ "type": "github" } }, - "flake-utils_65": { + "flake-utils_63": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8443,7 +8348,7 @@ "type": "github" } }, - "flake-utils_66": { + "flake-utils_64": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8458,7 +8363,7 @@ "type": "github" } }, - "flake-utils_67": { + "flake-utils_65": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8473,7 +8378,7 @@ "type": "github" } }, - "flake-utils_68": { + "flake-utils_66": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8488,7 +8393,7 @@ "type": "github" } }, - "flake-utils_69": { + "flake-utils_67": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8503,7 +8408,7 @@ "type": "github" } }, - "flake-utils_7": { + "flake-utils_68": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8518,13 +8423,13 @@ "type": "github" } }, - "flake-utils_70": { + "flake-utils_69": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -8533,13 +8438,13 @@ "type": "github" } }, - "flake-utils_71": { + "flake-utils_7": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1634851050, + "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "c91f3de5adaf1de973b797ef7485e441a65b8935", "type": "github" }, "original": { @@ -8548,7 +8453,7 @@ "type": "github" } }, - "flake-utils_72": { + "flake-utils_70": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -8563,7 +8468,7 @@ "type": "github" } }, - "flake-utils_73": { + "flake-utils_71": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8578,7 +8483,7 @@ "type": "github" } }, - "flake-utils_74": { + "flake-utils_72": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8593,7 +8498,7 @@ "type": "github" } }, - "flake-utils_75": { + "flake-utils_73": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8608,7 +8513,7 @@ "type": "github" } }, - "flake-utils_76": { + "flake-utils_74": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8623,7 +8528,7 @@ "type": "github" } }, - "flake-utils_77": { + "flake-utils_75": { "locked": { "lastModified": 1667077288, "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", @@ -8638,7 +8543,7 @@ "type": "github" } }, - "flake-utils_78": { + "flake-utils_76": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8653,7 +8558,7 @@ "type": "github" } }, - "flake-utils_79": { + "flake-utils_77": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8668,7 +8573,7 @@ "type": "github" } }, - "flake-utils_8": { + "flake-utils_78": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8683,13 +8588,13 @@ "type": "github" } }, - "flake-utils_80": { + "flake-utils_79": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8698,13 +8603,13 @@ "type": "github" } }, - "flake-utils_81": { + "flake-utils_8": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -8713,7 +8618,7 @@ "type": "github" } }, - "flake-utils_82": { + "flake-utils_80": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -8728,7 +8633,7 @@ "type": "github" } }, - "flake-utils_83": { + "flake-utils_81": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8743,7 +8648,7 @@ "type": "github" } }, - "flake-utils_84": { + "flake-utils_82": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8758,7 +8663,7 @@ "type": "github" } }, - "flake-utils_85": { + "flake-utils_83": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8773,7 +8678,7 @@ "type": "github" } }, - "flake-utils_86": { + "flake-utils_84": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8788,7 +8693,7 @@ "type": "github" } }, - "flake-utils_87": { + "flake-utils_85": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8803,7 +8708,7 @@ "type": "github" } }, - "flake-utils_88": { + "flake-utils_86": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -8818,7 +8723,7 @@ "type": "github" } }, - "flake-utils_89": { + "flake-utils_87": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8833,13 +8738,13 @@ "type": "github" } }, - "flake-utils_9": { + "flake-utils_88": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -8848,7 +8753,7 @@ "type": "github" } }, - "flake-utils_90": { + "flake-utils_89": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8863,22 +8768,23 @@ "type": "github" } }, - "flake-utils_91": { + "flake-utils_9": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", - "owner": "numtide", + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", "type": "github" }, "original": { - "owner": "numtide", + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", "repo": "flake-utils", "type": "github" } }, - "flake-utils_92": { + "flake-utils_90": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -8893,7 +8799,7 @@ "type": "github" } }, - "flake-utils_93": { + "flake-utils_91": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -8908,7 +8814,7 @@ "type": "github" } }, - "flake-utils_94": { + "flake-utils_92": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -8967,6 +8873,22 @@ "type": "github" } }, + "formal-ledger": { + "flake": false, + "locked": { + "lastModified": 1718812337, + "narHash": "sha256-3zAxfOEs/Ff5g13493iZGGhcvYaSOJNkQLN/G3/AhiY=", + "owner": "IntersectMBO", + "repo": "formal-ledger-specifications", + "rev": "6129d97a0419f8d920e3ed63e192f34cbaf65cc6", + "type": "github" + }, + "original": { + "owner": "IntersectMBO", + "repo": "formal-ledger-specifications", + "type": "github" + } + }, "ghc-8.6.5-iohk": { "flake": false, "locked": { @@ -9344,25 +9266,6 @@ } }, "ghc910X_2": { - "flake": false, - "locked": { - "lastModified": 1711543129, - "narHash": "sha256-MUI07CxYOng7ZwHnMCw0ugY3HmWo2p/f4r07CGV7OAM=", - "ref": "ghc-9.10", - "rev": "6ecd5f2ff97af53c7334f2d8581651203a2c6b7d", - "revCount": 62607, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "ref": "ghc-9.10", - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, - "ghc910X_3": { "flake": false, "locked": { "lastModified": 1714520650, @@ -9400,24 +9303,6 @@ } }, "ghc911_2": { - "flake": false, - "locked": { - "lastModified": 1711538967, - "narHash": "sha256-KSdOJ8seP3g30FaC2du8QjU9vumMnmzPR5wfkVRXQMk=", - "ref": "refs/heads/master", - "rev": "0acfe391583d77a72051d505f05fab0ada056c49", - "revCount": 62632, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, - "ghc911_3": { "flake": false, "locked": { "lastModified": 1714817013, @@ -9683,8 +9568,8 @@ }, "gomod2nix": { "inputs": { - "nixpkgs": "nixpkgs_18", - "utils": "utils_2" + "nixpkgs": "nixpkgs", + "utils": "utils" }, "locked": { "lastModified": 1655245309, @@ -9702,7 +9587,7 @@ }, "gomod2nix_10": { "inputs": { - "nixpkgs": "nixpkgs_142", + "nixpkgs": "nixpkgs_140", "utils": "utils_37" }, "locked": { @@ -9721,7 +9606,7 @@ }, "gomod2nix_11": { "inputs": { - "nixpkgs": "nixpkgs_148", + "nixpkgs": "nixpkgs_146", "utils": "utils_38" }, "locked": { @@ -9740,7 +9625,7 @@ }, "gomod2nix_2": { "inputs": { - "nixpkgs": "nixpkgs_22", + "nixpkgs": "nixpkgs_24", "utils": "utils_4" }, "locked": { @@ -9759,8 +9644,8 @@ }, "gomod2nix_3": { "inputs": { - "nixpkgs": "nixpkgs_31", - "utils": "utils_7" + "nixpkgs": "nixpkgs_28", + "utils": "utils_6" }, "locked": { "lastModified": 1655245309, @@ -9778,7 +9663,7 @@ }, "gomod2nix_4": { "inputs": { - "nixpkgs": "nixpkgs_100", + "nixpkgs": "nixpkgs_99", "utils": "utils_30" }, "locked": { @@ -9797,7 +9682,7 @@ }, "gomod2nix_5": { "inputs": { - "nixpkgs": "nixpkgs_114", + "nixpkgs": "nixpkgs_112", "utils": "utils_32" }, "locked": { @@ -9816,7 +9701,7 @@ }, "gomod2nix_6": { "inputs": { - "nixpkgs": "nixpkgs_120", + "nixpkgs": "nixpkgs_118", "utils": "utils_33" }, "locked": { @@ -9835,7 +9720,7 @@ }, "gomod2nix_7": { "inputs": { - "nixpkgs": "nixpkgs_126", + "nixpkgs": "nixpkgs_124", "utils": "utils_34" }, "locked": { @@ -9854,7 +9739,7 @@ }, "gomod2nix_8": { "inputs": { - "nixpkgs": "nixpkgs_131", + "nixpkgs": "nixpkgs_129", "utils": "utils_35" }, "locked": { @@ -9873,7 +9758,7 @@ }, "gomod2nix_9": { "inputs": { - "nixpkgs": "nixpkgs_136", + "nixpkgs": "nixpkgs_134", "utils": "utils_36" }, "locked": { @@ -9957,11 +9842,11 @@ "hackageNix": { "flake": false, "locked": { - "lastModified": 1702945378, - "narHash": "sha256-mo1MlOphO4bRwZ8T3mDwU5LOtdQcWSA+93lT1HkCcyw=", + "lastModified": 1725928375, + "narHash": "sha256-XO/6kJ77bR99bAuRGr9PleQX75vde5CbSU+6Xf3e8NQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e59b9616a744727e8e64f605f9f216464f12f89b", + "rev": "68cfb288b958e9d7a1329df614684132f44bd2b3", "type": "github" }, "original": { @@ -9973,11 +9858,11 @@ "hackageNix_2": { "flake": false, "locked": { - "lastModified": 1685492843, - "narHash": "sha256-X8dNs5Gfc2ucfaWAgZ1VmkpBB4Cb44EQZu0b7tkvz2Y=", + "lastModified": 1702945378, + "narHash": "sha256-mo1MlOphO4bRwZ8T3mDwU5LOtdQcWSA+93lT1HkCcyw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e7407bab324eb2445bda58c5ffac393e80dda1e4", + "rev": "e59b9616a744727e8e64f605f9f216464f12f89b", "type": "github" }, "original": { @@ -9989,11 +9874,11 @@ "hackageNix_3": { "flake": false, "locked": { - "lastModified": 1701303758, - "narHash": "sha256-8XqVEQwmJBxRPFa7SizJuZxbG+NFEZKWdhtYPTQ7ZKM=", + "lastModified": 1685492843, + "narHash": "sha256-X8dNs5Gfc2ucfaWAgZ1VmkpBB4Cb44EQZu0b7tkvz2Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8a0e3ae9295b7ef8431b9be208dd06aa2789be53", + "rev": "e7407bab324eb2445bda58c5ffac393e80dda1e4", "type": "github" }, "original": { @@ -10005,11 +9890,11 @@ "hackageNix_4": { "flake": false, "locked": { - "lastModified": 1724200761, - "narHash": "sha256-IDenOlZc5aph7Jz6xNQXGNnnx896hUYrsRU8mbE4bVw=", + "lastModified": 1701303758, + "narHash": "sha256-8XqVEQwmJBxRPFa7SizJuZxbG+NFEZKWdhtYPTQ7ZKM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "11b43aaf3ff8018897f1b84a3fb60cce9ae7056d", + "rev": "8a0e3ae9295b7ef8431b9be208dd06aa2789be53", "type": "github" }, "original": { @@ -10021,11 +9906,11 @@ "hackageNix_5": { "flake": false, "locked": { - "lastModified": 1711412520, - "narHash": "sha256-48Aw1X7IuXZR6Wi2WOlvj9HpoUHty/JW1MqAehgnoHo=", + "lastModified": 1719794527, + "narHash": "sha256-qHo/KumtwAzPkfLWODu/6EFY/LeK+C7iPJyAUdT8tGA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fc84d1170ccc83d50db7b71a6edd090b2cef7657", + "rev": "da2a3bc9bd1b3dd41bb147279529c471c615fd3e", "type": "github" }, "original": { @@ -10133,11 +10018,11 @@ "hackage_6": { "flake": false, "locked": { - "lastModified": 1716165244, - "narHash": "sha256-nLa5/uCdXT5Nq35EYbgz1hYTnwT70Sk/JInM2f1zg4c=", + "lastModified": 1720572067, + "narHash": "sha256-BzF/jCFF/G1woW9liObR2g8oQIv40rqudjjouRZd790=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "980c35047cc64f93f4b15c0d3b2338fe18ffe97f", + "rev": "2069cd9298dd9248e8d1312e5dbcd4b0b30dcaa3", "type": "github" }, "original": { @@ -10307,20 +10192,20 @@ }, "haskell-nix": { "inputs": { - "HTTP": "HTTP", - "cabal-32": "cabal-32", - "cabal-34": "cabal-34", - "cabal-36": "cabal-36", - "cardano-shell": "cardano-shell", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "HTTP": "HTTP_2", + "cabal-32": "cabal-32_2", + "cabal-34": "cabal-34_2", + "cabal-36": "cabal-36_2", + "cardano-shell": "cardano-shell_2", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_6", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", "hackage": "hackage", - "hls-1.10": "hls-1.10", - "hls-2.0": "hls-2.0", - "hpc-coveralls": "hpc-coveralls", - "hydra": "hydra", - "iserv-proxy": "iserv-proxy", + "hls-1.10": "hls-1.10_2", + "hls-2.0": "hls-2.0_2", + "hpc-coveralls": "hpc-coveralls_2", + "hydra": "hydra_2", + "iserv-proxy": "iserv-proxy_2", "nixpkgs": [ "ctl", "cardano-nix", @@ -10329,14 +10214,14 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003", - "nixpkgs-2105": "nixpkgs-2105", - "nixpkgs-2111": "nixpkgs-2111", - "nixpkgs-2205": "nixpkgs-2205", - "nixpkgs-2211": "nixpkgs-2211", - "nixpkgs-2305": "nixpkgs-2305", - "nixpkgs-unstable": "nixpkgs-unstable", - "old-ghc-nix": "old-ghc-nix", + "nixpkgs-2003": "nixpkgs-2003_2", + "nixpkgs-2105": "nixpkgs-2105_2", + "nixpkgs-2111": "nixpkgs-2111_2", + "nixpkgs-2205": "nixpkgs-2205_2", + "nixpkgs-2211": "nixpkgs-2211_2", + "nixpkgs-2305": "nixpkgs-2305_2", + "nixpkgs-unstable": "nixpkgs-unstable_2", + "old-ghc-nix": "old-ghc-nix_2", "stackage": [ "ctl", "cardano-nix", @@ -10366,8 +10251,8 @@ "cabal-34": "cabal-34_19", "cabal-36": "cabal-36_19", "cardano-shell": "cardano-shell_19", - "flake-compat": "flake-compat_46", - "flake-utils": "flake-utils_87", + "flake-compat": "flake-compat_45", + "flake-utils": "flake-utils_85", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_19", "hackage": [ "hydra-auction-onchain", @@ -10416,7 +10301,7 @@ "cabal-34": "cabal-34_6", "cabal-36": "cabal-36_6", "cardano-shell": "cardano-shell_6", - "flake-utils": "flake-utils_31", + "flake-utils": "flake-utils_30", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_6", "hackage": "hackage_2", "hpc-coveralls": "hpc-coveralls_6", @@ -10465,7 +10350,7 @@ "cabal-34": "cabal-34_8", "cabal-36": "cabal-36_8", "cardano-shell": "cardano-shell_8", - "flake-utils": "flake-utils_42", + "flake-utils": "flake-utils_41", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_8", "hackage": [ "ctl", @@ -10568,8 +10453,8 @@ "cabal-34": "cabal-34_13", "cabal-36": "cabal-36_13", "cardano-shell": "cardano-shell_13", - "flake-compat": "flake-compat_31", - "flake-utils": "flake-utils_55", + "flake-compat": "flake-compat_30", + "flake-utils": "flake-utils_53", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_13", "hackage": "hackage_7", "hpc-coveralls": "hpc-coveralls_13", @@ -10612,8 +10497,8 @@ "cabal-34": "cabal-34_14", "cabal-36": "cabal-36_14", "cardano-shell": "cardano-shell_14", - "flake-compat": "flake-compat_34", - "flake-utils": "flake-utils_60", + "flake-compat": "flake-compat_33", + "flake-utils": "flake-utils_58", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_14", "hackage": "hackage_8", "hpc-coveralls": "hpc-coveralls_14", @@ -10659,8 +10544,8 @@ "cabal-34": "cabal-34_15", "cabal-36": "cabal-36_15", "cardano-shell": "cardano-shell_15", - "flake-compat": "flake-compat_36", - "flake-utils": "flake-utils_64", + "flake-compat": "flake-compat_35", + "flake-utils": "flake-utils_62", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_15", "hackage": [ "hydra-auction-onchain", @@ -10711,8 +10596,8 @@ "cabal-34": "cabal-34_17", "cabal-36": "cabal-36_17", "cardano-shell": "cardano-shell_17", - "flake-compat": "flake-compat_41", - "flake-utils": "flake-utils_78", + "flake-compat": "flake-compat_40", + "flake-utils": "flake-utils_76", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_17", "hackage": "hackage_10", "hpc-coveralls": "hpc-coveralls_17", @@ -10754,8 +10639,8 @@ "cabal-34": "cabal-34_18", "cabal-36": "cabal-36_18", "cardano-shell": "cardano-shell_18", - "flake-compat": "flake-compat_44", - "flake-utils": "flake-utils_83", + "flake-compat": "flake-compat_43", + "flake-utils": "flake-utils_81", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_18", "hackage": "hackage_11", "hpc-coveralls": "hpc-coveralls_18", @@ -10795,52 +10680,53 @@ }, "haskellNix": { "inputs": { - "HTTP": "HTTP_2", - "cabal-32": "cabal-32_2", - "cabal-34": "cabal-34_2", - "cabal-36": "cabal-36_2", - "cardano-shell": "cardano-shell_2", - "flake-compat": "flake-compat_5", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", - "ghc98X": "ghc98X", - "ghc99": "ghc99", + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat_3", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc910X": "ghc910X", + "ghc911": "ghc911", "hackage": [ - "ctl", - "cardano-nix", - "cardano-db-sync", + "cardano-node", "hackageNix" ], - "hls-1.10": "hls-1.10_2", - "hls-2.0": "hls-2.0_2", + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", "hls-2.4": "hls-2.4", - "hpc-coveralls": "hpc-coveralls_2", - "hydra": "hydra_2", - "iserv-proxy": "iserv-proxy_2", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", + "hls-2.7": "hls-2.7", + "hls-2.8": "hls-2.8", + "hls-2.9": "hls-2.9", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "iserv-proxy": "iserv-proxy", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-db-sync", - "haskellNix", - "nixpkgs-unstable" + "cardano-node", + "nixpkgs" ], - "nixpkgs-2003": "nixpkgs-2003_2", - "nixpkgs-2105": "nixpkgs-2105_2", - "nixpkgs-2111": "nixpkgs-2111_2", - "nixpkgs-2205": "nixpkgs-2205_2", - "nixpkgs-2211": "nixpkgs-2211_2", - "nixpkgs-2305": "nixpkgs-2305_2", - "nixpkgs-unstable": "nixpkgs-unstable_3", - "old-ghc-nix": "old-ghc-nix_2", + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1701053834, - "narHash": "sha256-4sH4//POARjeKJv1mu8aU4W4A28GYqrj9KB3PqusHis=", + "lastModified": 1718797200, + "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "7c491c55157208575c70c7b8434e9d4a1cf173a6", + "rev": "cb139fa956158397aa398186bb32dd26f7318784", "type": "github" }, "original": { @@ -10856,40 +10742,47 @@ "cabal-34": "cabal-34_3", "cabal-36": "cabal-36_3", "cardano-shell": "cardano-shell_3", - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_8", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", + "ghc98X": "ghc98X", + "ghc99": "ghc99", "hackage": [ "ctl", "cardano-nix", - "cardano-node-8.1.1", + "cardano-db-sync", "hackageNix" ], "hls-1.10": "hls-1.10_3", + "hls-2.0": "hls-2.0_3", + "hls-2.2": "hls-2.2_2", + "hls-2.3": "hls-2.3_2", + "hls-2.4": "hls-2.4_2", "hpc-coveralls": "hpc-coveralls_3", "hydra": "hydra_3", "iserv-proxy": "iserv-proxy_3", "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.1.1", - "nixpkgs" + "cardano-db-sync", + "haskellNix", + "nixpkgs-unstable" ], "nixpkgs-2003": "nixpkgs-2003_3", "nixpkgs-2105": "nixpkgs-2105_3", "nixpkgs-2111": "nixpkgs-2111_3", "nixpkgs-2205": "nixpkgs-2205_3", "nixpkgs-2211": "nixpkgs-2211_3", + "nixpkgs-2305": "nixpkgs-2305_3", "nixpkgs-unstable": "nixpkgs-unstable_4", "old-ghc-nix": "old-ghc-nix_3", "stackage": "stackage_2" }, "locked": { - "lastModified": 1685495397, - "narHash": "sha256-BwbWroS1Qm8BiHatG5+iHMHN5U6kqOccewBROUYuMKw=", + "lastModified": 1701053834, + "narHash": "sha256-4sH4//POARjeKJv1mu8aU4W4A28GYqrj9KB3PqusHis=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "d07c42cdb1cf88d0cab27d3090b00cb3899643c9", + "rev": "7c491c55157208575c70c7b8434e9d4a1cf173a6", "type": "github" }, "original": { @@ -10905,28 +10798,23 @@ "cabal-34": "cabal-34_4", "cabal-36": "cabal-36_4", "cardano-shell": "cardano-shell_4", - "flake-compat": "flake-compat_11", + "flake-compat": "flake-compat_10", + "flake-utils": "flake-utils_9", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_4", - "ghc98X": "ghc98X_2", - "ghc99": "ghc99_2", "hackage": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "hackageNix" ], "hls-1.10": "hls-1.10_4", - "hls-2.0": "hls-2.0_3", - "hls-2.2": "hls-2.2_2", - "hls-2.3": "hls-2.3_2", - "hls-2.4": "hls-2.4_2", "hpc-coveralls": "hpc-coveralls_4", "hydra": "hydra_4", "iserv-proxy": "iserv-proxy_4", "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003_4", @@ -10934,17 +10822,16 @@ "nixpkgs-2111": "nixpkgs-2111_4", "nixpkgs-2205": "nixpkgs-2205_4", "nixpkgs-2211": "nixpkgs-2211_4", - "nixpkgs-2305": "nixpkgs-2305_3", "nixpkgs-unstable": "nixpkgs-unstable_5", "old-ghc-nix": "old-ghc-nix_4", "stackage": "stackage_3" }, "locked": { - "lastModified": 1700441391, - "narHash": "sha256-oJqP1AUskUvr3GNUH97eKwaIUHdYgENS2kQ7GI9RI+c=", + "lastModified": 1685495397, + "narHash": "sha256-BwbWroS1Qm8BiHatG5+iHMHN5U6kqOccewBROUYuMKw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "3b6056f3866f88d1d16eaeb2e810d3ac0df0e7cd", + "rev": "d07c42cdb1cf88d0cab27d3090b00cb3899643c9", "type": "github" }, "original": { @@ -10960,13 +10847,14 @@ "cabal-34": "cabal-34_5", "cabal-36": "cabal-36_5", "cardano-shell": "cardano-shell_5", - "flake-compat": "flake-compat_16", + "flake-compat": "flake-compat_14", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_5", - "ghc910X": "ghc910X", - "ghc911": "ghc911", + "ghc98X": "ghc98X_2", + "ghc99": "ghc99_2", "hackage": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "hackageNix" ], "hls-1.10": "hls-1.10_5", @@ -10974,17 +10862,13 @@ "hls-2.2": "hls-2.2_3", "hls-2.3": "hls-2.3_3", "hls-2.4": "hls-2.4_3", - "hls-2.5": "hls-2.5", - "hls-2.6": "hls-2.6", - "hls-2.7": "hls-2.7", - "hls-2.8": "hls-2.8", - "hls-2.9": "hls-2.9", "hpc-coveralls": "hpc-coveralls_5", "hydra": "hydra_5", "iserv-proxy": "iserv-proxy_5", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "nixpkgs" ], "nixpkgs-2003": "nixpkgs-2003_5", @@ -10993,17 +10877,16 @@ "nixpkgs-2205": "nixpkgs-2205_5", "nixpkgs-2211": "nixpkgs-2211_5", "nixpkgs-2305": "nixpkgs-2305_4", - "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-unstable": "nixpkgs-unstable_6", "old-ghc-nix": "old-ghc-nix_5", "stackage": "stackage_4" }, "locked": { - "lastModified": 1718797200, - "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", + "lastModified": 1700441391, + "narHash": "sha256-oJqP1AUskUvr3GNUH97eKwaIUHdYgENS2kQ7GI9RI+c=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "cb139fa956158397aa398186bb32dd26f7318784", + "rev": "3b6056f3866f88d1d16eaeb2e810d3ac0df0e7cd", "type": "github" }, "original": { @@ -11019,7 +10902,7 @@ "cabal-34": "cabal-34_7", "cabal-36": "cabal-36_7", "cardano-shell": "cardano-shell_7", - "flake-utils": "flake-utils_41", + "flake-utils": "flake-utils_40", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_7", "hackage": "hackage_3", "hpc-coveralls": "hpc-coveralls_7", @@ -11060,7 +10943,7 @@ "cabal-34": "cabal-34_9", "cabal-36": "cabal-36_9", "cardano-shell": "cardano-shell_9", - "flake-utils": "flake-utils_47", + "flake-utils": "flake-utils_46", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_9", "hackage": "hackage_5", "hpc-coveralls": "hpc-coveralls_9", @@ -11116,6 +10999,8 @@ "hls-2.4": "hls-2.4_5", "hls-2.5": "hls-2.5_3", "hls-2.6": "hls-2.6_3", + "hls-2.7": "hls-2.7_3", + "hls-2.8": "hls-2.8_3", "hpc-coveralls": "hpc-coveralls_11", "hydra": "hydra_14", "iserv-proxy": "iserv-proxy_7", @@ -11136,11 +11021,11 @@ "stackage": "stackage_10" }, "locked": { - "lastModified": 1712278203, - "narHash": "sha256-L4eFUxnID2EYYtONE3fmZxPQdgPlB6XbAfIjlZi4c+U=", + "lastModified": 1718797200, + "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "57938c23a4d40e5a746f05f2b71af11a7273a133", + "rev": "cb139fa956158397aa398186bb32dd26f7318784", "type": "github" }, "original": { @@ -11156,10 +11041,8 @@ "cabal-34": "cabal-34_12", "cabal-36": "cabal-36_12", "cardano-shell": "cardano-shell_12", - "flake-compat": "flake-compat_30", + "flake-compat": "flake-compat_29", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_12", - "ghc910X": "ghc910X_3", - "ghc911": "ghc911_3", "hackage": "hackage_6", "hls-1.10": "hls-1.10_8", "hls-2.0": "hls-2.0_7", @@ -11168,8 +11051,9 @@ "hls-2.4": "hls-2.4_6", "hls-2.5": "hls-2.5_4", "hls-2.6": "hls-2.6_4", - "hls-2.7": "hls-2.7_3", - "hls-2.8": "hls-2.8_3", + "hls-2.7": "hls-2.7_4", + "hls-2.8": "hls-2.8_4", + "hls-2.9": "hls-2.9_3", "hpc-coveralls": "hpc-coveralls_12", "hydra": "hydra_15", "iserv-proxy": "iserv-proxy_8", @@ -11190,11 +11074,11 @@ "stackage": "stackage_11" }, "locked": { - "lastModified": 1716166225, - "narHash": "sha256-gFMvOwooBevnHtZyGoiOcRes9ZSylG5YfNoqOHGdP/M=", + "lastModified": 1720572637, + "narHash": "sha256-ObY6AcToX2JvH8DpV/0ytAGGXRng4xy05kInNsGrXZQ=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "6aa8046087d4e6fd70f3b6b99628f77e398e9fd2", + "rev": "cb7d4670d16190ce6154e941c21c9b1dd27f16c7", "type": "github" }, "original": { @@ -11210,8 +11094,8 @@ "cabal-34": "cabal-34_16", "cabal-36": "cabal-36_16", "cardano-shell": "cardano-shell_16", - "flake-compat": "flake-compat_39", - "flake-utils": "flake-utils_73", + "flake-compat": "flake-compat_38", + "flake-utils": "flake-utils_71", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_16", "hackage": "hackage_9", "hpc-coveralls": "hpc-coveralls_16", @@ -11248,7 +11132,11 @@ }, "haumea": { "inputs": { - "nixpkgs": "nixpkgs_28" + "nixpkgs": [ + "cardano-node", + "std", + "lib" + ] }, "locked": { "lastModified": 1685133229, @@ -11267,12 +11155,7 @@ }, "haumea_2": { "inputs": { - "nixpkgs": [ - "ctl", - "cardano-node", - "std", - "lib" - ] + "nixpkgs": "nixpkgs_34" }, "locked": { "lastModified": 1685133229, @@ -11291,7 +11174,12 @@ }, "haumea_3": { "inputs": { - "nixpkgs": "nixpkgs_106" + "nixpkgs": [ + "hydra", + "cardano-node", + "std", + "lib" + ] }, "locked": { "lastModified": 1685133229, @@ -11374,10 +11262,10 @@ }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_14", + "flake-parts": "flake-parts_15", "haskell-flake": "haskell-flake_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_117", + "nixpkgs": "nixpkgs_115", "pre-commit-hooks-nix": "pre-commit-hooks-nix_2" }, "locked": { @@ -11395,10 +11283,10 @@ }, "hercules-ci-agent_2": { "inputs": { - "flake-parts": "flake-parts_19", + "flake-parts": "flake-parts_20", "haskell-flake": "haskell-flake_4", "nix-darwin": "nix-darwin_2", - "nixpkgs": "nixpkgs_139", + "nixpkgs": "nixpkgs_137", "pre-commit-hooks-nix": "pre-commit-hooks-nix_4" }, "locked": { @@ -11445,7 +11333,7 @@ "hercules-ci-effects_2": { "inputs": { "flake-parts": "flake-parts_7", - "nixpkgs": "nixpkgs_99" + "nixpkgs": "nixpkgs_98" }, "locked": { "lastModified": 1724947644, @@ -11463,9 +11351,9 @@ }, "hercules-ci-effects_3": { "inputs": { - "flake-parts": "flake-parts_13", + "flake-parts": "flake-parts_14", "hercules-ci-agent": "hercules-ci-agent", - "nixpkgs": "nixpkgs_118" + "nixpkgs": "nixpkgs_116" }, "locked": { "lastModified": 1681898675, @@ -11483,9 +11371,9 @@ }, "hercules-ci-effects_4": { "inputs": { - "flake-parts": "flake-parts_18", + "flake-parts": "flake-parts_19", "hercules-ci-agent": "hercules-ci-agent_2", - "nixpkgs": "nixpkgs_140" + "nixpkgs": "nixpkgs_138" }, "locked": { "lastModified": 1681898675, @@ -11504,16 +11392,15 @@ "hls": { "flake": false, "locked": { - "lastModified": 1707224159, - "narHash": "sha256-1quJwNdQGL/pSk0tYZ/p8ye50HN4ClWlrFf2FWnt0wA=", - "owner": "cardano-scaling", + "lastModified": 1720542277, + "narHash": "sha256-6MWZpMYB+5VDmQavRzlbItbXqYxuKvvI2F/pahgo7NE=", + "owner": "haskell", "repo": "haskell-language-server", - "rev": "1170a7c3134fe7591c3e890e23521fe838ac2abe", + "rev": "d331019b3715d3fe78684b170ad1aec06a2c833d", "type": "github" }, "original": { - "owner": "cardano-scaling", - "ref": "2.6-patched", + "owner": "haskell", "repo": "haskell-language-server", "type": "github" } @@ -11980,16 +11867,16 @@ "hls-2.4": { "flake": false, "locked": { - "lastModified": 1696939266, - "narHash": "sha256-VOMf5+kyOeOmfXTHlv4LNFJuDGa7G3pDnOxtzYR40IU=", + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "362fdd1293efb4b82410b676ab1273479f6d17ee", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.0", + "ref": "2.4.0.1", "repo": "haskell-language-server", "type": "github" } @@ -12014,16 +11901,16 @@ "hls-2.4_3": { "flake": false, "locked": { - "lastModified": 1699862708, - "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "lastModified": 1696939266, + "narHash": "sha256-VOMf5+kyOeOmfXTHlv4LNFJuDGa7G3pDnOxtzYR40IU=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "rev": "362fdd1293efb4b82410b676ab1273479f6d17ee", "type": "github" }, "original": { "owner": "haskell", - "ref": "2.4.0.1", + "ref": "2.4.0.0", "repo": "haskell-language-server", "type": "github" } @@ -12266,14 +12153,31 @@ "type": "github" } }, - "hls-2.8": { + "hls-2.7_4": { "flake": false, "locked": { - "lastModified": 1715153580, - "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "lastModified": 1708965829, + "narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.7.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.8": { + "flake": false, + "locked": { + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", "type": "github" }, "original": { @@ -12317,6 +12221,23 @@ "type": "github" } }, + "hls-2.8_4": { + "flake": false, + "locked": { + "lastModified": 1715153580, + "narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "dd1be1beb16700de59e0d6801957290bcf956a0a", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.8.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.9": { "flake": false, "locked": { @@ -12351,6 +12272,23 @@ "type": "github" } }, + "hls-2.9_3": { + "flake": false, + "locked": { + "lastModified": 1718469202, + "narHash": "sha256-THXSz+iwB1yQQsr/PY151+2GvtoJnTIB2pIQ4OzfjD4=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "40891bccb235ebacce020b598b083eab9dda80f1", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.9.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -12659,11 +12597,8 @@ "inputs": { "nix": "nix", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-db-sync", - "cardano-parts", - "haskell-nix", + "cardano-node", + "haskellNix", "hydra", "nix", "nixpkgs" @@ -12684,7 +12619,7 @@ }, "hydra-auction-onchain": { "inputs": { - "flake-parts": "flake-parts_10", + "flake-parts": "flake-parts_11", "liqwid-libs": "liqwid-libs", "liqwid-nix": "liqwid-nix_2", "nixpkgs": [ @@ -12709,6 +12644,26 @@ "type": "github" } }, + "hydra-spec": { + "inputs": { + "flake-parts": "flake-parts_9", + "formal-ledger": "formal-ledger", + "nixpkgs": "nixpkgs_107" + }, + "locked": { + "lastModified": 1725260503, + "narHash": "sha256-PV3JrSImQCK048+lE474BJMGP24jMh/9F6uEV+UP0qg=", + "owner": "cardano-scaling", + "repo": "hydra-formal-specification", + "rev": "34ea7455d151c239eb12ec5b0b0cb28ab2cc1df7", + "type": "github" + }, + "original": { + "owner": "cardano-scaling", + "repo": "hydra-formal-specification", + "type": "github" + } + }, "hydra_10": { "inputs": { "nix": "nix_18", @@ -12791,6 +12746,7 @@ "flake-parts": "flake-parts_8", "haskellNix": "haskellNix_8", "hls": "hls", + "hydra-spec": "hydra-spec", "iohk-nix": "iohk-nix_4", "lint-utils": "lint-utils", "mithril": "mithril", @@ -12799,20 +12755,22 @@ "hydra", "haskellNix", "nixpkgs" - ] + ], + "nixpkgsLatest": "nixpkgsLatest", + "process-compose-flake": "process-compose-flake" }, "locked": { - "lastModified": 1717768588, - "narHash": "sha256-ProQnLcSelem2RHrXa5bojt5dlBZmMNT1waR6peiCQQ=", + "lastModified": 1726235414, + "narHash": "sha256-0KoyMh8UTsJ0bayr7FouA72N9Xs48LkxBoIEZXA/rTA=", "owner": "input-output-hk", "repo": "hydra", - "rev": "4fed4625f321d89b483c82f55252d24da63191c7", + "rev": "1ffe7c6b505e3f38b5546ae5e5b97de26bc70425", "type": "github" }, "original": { "owner": "input-output-hk", + "ref": "0.19.0", "repo": "hydra", - "rev": "4fed4625f321d89b483c82f55252d24da63191c7", "type": "github" } }, @@ -12976,12 +12934,13 @@ }, "hydra_2": { "inputs": { - "nix": "nix_3", + "nix": "nix_2", "nixpkgs": [ "ctl", "cardano-nix", "cardano-db-sync", - "haskellNix", + "cardano-parts", + "haskell-nix", "hydra", "nix", "nixpkgs" @@ -13086,7 +13045,7 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.1.1", + "cardano-db-sync", "haskellNix", "hydra", "nix", @@ -13112,7 +13071,7 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "haskellNix", "hydra", "nix", @@ -13137,7 +13096,8 @@ "nix": "nix_6", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "haskellNix", "hydra", "nix", @@ -13289,12 +13249,9 @@ "incl": { "inputs": { "nixlib": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", - "tullia", + "cardano-node", "std", - "nixpkgs" + "lib" ] }, "locked": { @@ -13316,8 +13273,7 @@ "nixlib": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -13343,8 +13299,9 @@ "ctl", "cardano-nix", "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", - "haumea", "nixpkgs" ] }, @@ -13366,33 +13323,10 @@ "inputs": { "nixlib": [ "ctl", - "cardano-node", - "std", - "lib" - ] - }, - "locked": { - "lastModified": 1669263024, - "narHash": "sha256-E/+23NKtxAqYG/0ydYgxlgarKnxmDbg6rCMWnOBqn9Q=", - "owner": "divnix", - "repo": "incl", - "rev": "ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "incl", - "type": "github" - } - }, - "incl_5": { - "inputs": { - "nixlib": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", + "cardano-nix", + "cardano-node-8.7.3", "std", + "haumea", "nixpkgs" ] }, @@ -13410,14 +13344,13 @@ "type": "github" } }, - "incl_6": { + "incl_5": { "inputs": { "nixlib": [ "hydra", "cardano-node", "std", - "haumea", - "nixpkgs" + "lib" ] }, "locked": { @@ -13653,7 +13586,7 @@ "inputs-check": { "inputs": { "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1692633913, @@ -13673,7 +13606,7 @@ "inputs": { "devshell": "devshell_8", "inclusive": "inclusive_4", - "nixpkgs": "nixpkgs_51", + "nixpkgs": "nixpkgs_50", "utils": "utils_14" }, "locked": { @@ -13694,7 +13627,7 @@ "inputs": { "devshell": "devshell_18", "inclusive": "inclusive_12", - "nixpkgs": "nixpkgs_80", + "nixpkgs": "nixpkgs_79", "utils": "utils_28" }, "locked": { @@ -13713,10 +13646,10 @@ }, "iohk-nix": { "inputs": { - "blst": "blst", - "nixpkgs": "nixpkgs_8", - "secp256k1": "secp256k1", - "sodium": "sodium" + "blst": "blst_2", + "nixpkgs": "nixpkgs_14", + "secp256k1": "secp256k1_2", + "sodium": "sodium_2" }, "locked": { "lastModified": 1691469905, @@ -13735,10 +13668,10 @@ }, "iohk-nix-ng": { "inputs": { - "blst": "blst_2", - "nixpkgs": "nixpkgs_9", - "secp256k1": "secp256k1_2", - "sodium": "sodium_2" + "blst": "blst_3", + "nixpkgs": "nixpkgs_15", + "secp256k1": "secp256k1_3", + "sodium": "sodium_3" }, "locked": { "lastModified": 1696471795, @@ -13829,16 +13762,16 @@ "iohk-nix_4": { "inputs": { "blst": "blst_9", - "nixpkgs": "nixpkgs_110", + "nixpkgs": "nixpkgs_108", "secp256k1": "secp256k1_9", "sodium": "sodium_9" }, "locked": { - "lastModified": 1715898223, - "narHash": "sha256-G1LFsvP53twrqaC1FVard/6rjJJ3oitnpJ1E+mTZDGM=", + "lastModified": 1720562356, + "narHash": "sha256-zXkH6dbj4vMKB0Af8IRMMT6KuY7Kt4YMm43vsTgeWX8=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "29f19cd41dc593cf17bbc24194e34e7c20889fc9", + "rev": "df8c2d1b5e8e0ad1d44e7def596f930c39296baa", "type": "github" }, "original": { @@ -13941,22 +13874,20 @@ }, "iohkNix": { "inputs": { - "blst": "blst_3", + "blst": "blst", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-db-sync", + "cardano-node", "nixpkgs" ], - "secp256k1": "secp256k1_3", - "sodium": "sodium_3" + "secp256k1": "secp256k1", + "sodium": "sodium" }, "locked": { - "lastModified": 1698999258, - "narHash": "sha256-42D1BMbdyZD+lT+pWUzb5zDQyasNbMJtH/7stuPuPfE=", + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "73dc2bb45af6f20cfe1d962f1334eed5e84ae764", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", "type": "github" }, "original": { @@ -13971,18 +13902,18 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.1.1", + "cardano-db-sync", "nixpkgs" ], "secp256k1": "secp256k1_4", "sodium": "sodium_4" }, "locked": { - "lastModified": 1684223806, - "narHash": "sha256-IyLoP+zhuyygLtr83XXsrvKyqqLQ8FHXTiySFf4FJOI=", + "lastModified": 1698999258, + "narHash": "sha256-42D1BMbdyZD+lT+pWUzb5zDQyasNbMJtH/7stuPuPfE=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "86421fdd89b3af43fa716ccd07638f96c6ecd1e4", + "rev": "73dc2bb45af6f20cfe1d962f1334eed5e84ae764", "type": "github" }, "original": { @@ -13997,18 +13928,18 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", "nixpkgs" ], "secp256k1": "secp256k1_5", "sodium": "sodium_5" }, "locked": { - "lastModified": 1698746924, - "narHash": "sha256-8og+vqQPEoB2KLUtN5esGMDymT+2bT/rCHZt1NAe7y0=", + "lastModified": 1684223806, + "narHash": "sha256-IyLoP+zhuyygLtr83XXsrvKyqqLQ8FHXTiySFf4FJOI=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "af551ca93d969d9715fa9bf86691d9a0a19e89d9", + "rev": "86421fdd89b3af43fa716ccd07638f96c6ecd1e4", "type": "github" }, "original": { @@ -14022,18 +13953,19 @@ "blst": "blst_6", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "nixpkgs" ], "secp256k1": "secp256k1_6", "sodium": "sodium_6" }, "locked": { - "lastModified": 1721825987, - "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", + "lastModified": 1698746924, + "narHash": "sha256-8og+vqQPEoB2KLUtN5esGMDymT+2bT/rCHZt1NAe7y0=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", + "rev": "af551ca93d969d9715fa9bf86691d9a0a19e89d9", "type": "github" }, "original": { @@ -14100,16 +14032,15 @@ "sodium": "sodium_8" }, "locked": { - "lastModified": 1715311504, - "narHash": "sha256-Jxma8/3WMb++2V1sp/iMF+6azv8cBR+ZbkLr61p2R24=", + "lastModified": 1721825987, + "narHash": "sha256-PPcma4tjozwXJAWf+YtHUQUulmxwulVlwSQzKItx/n8=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "47727032a26ed92438afef6bdd45c95cd7399694", + "rev": "eb61f2c14e1f610ec59117ad40f8690cddbf80cb", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "node-8.11", "repo": "iohk-nix", "type": "github" } @@ -14117,18 +14048,18 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1688517130, - "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", - "ref": "hkm/remote-iserv", - "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", - "revCount": 13, - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "owner": "stable-haskell", + "repo": "iserv-proxy", + "rev": "2ed34002247213fc435d0062350b91bab920626e", + "type": "github" }, "original": { - "ref": "hkm/remote-iserv", - "type": "git", - "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + "owner": "stable-haskell", + "ref": "iserv-syms", + "repo": "iserv-proxy", + "type": "github" } }, "iserv-proxy_10": { @@ -14148,6 +14079,23 @@ } }, "iserv-proxy_2": { + "flake": false, + "locked": { + "lastModified": 1688517130, + "narHash": "sha256-hUqfxSlo+ffqVdkSZ1EDoB7/ILCL25eYkcCXW9/P3Wc=", + "ref": "hkm/remote-iserv", + "rev": "9151db2a9a61d7f5fe52ff8836f18bbd0fd8933c", + "revCount": 13, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + }, + "original": { + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + } + }, + "iserv-proxy_3": { "flake": false, "locked": { "lastModified": 1691634696, @@ -14164,7 +14112,7 @@ "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "iserv-proxy_3": { + "iserv-proxy_4": { "flake": false, "locked": { "lastModified": 1670983692, @@ -14181,7 +14129,7 @@ "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "iserv-proxy_4": { + "iserv-proxy_5": { "flake": false, "locked": { "lastModified": 1691634696, @@ -14198,7 +14146,7 @@ "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, - "iserv-proxy_5": { + "iserv-proxy_6": { "flake": false, "locked": { "lastModified": 1717479972, @@ -14215,7 +14163,7 @@ "type": "github" } }, - "iserv-proxy_6": { + "iserv-proxy_7": { "flake": false, "locked": { "lastModified": 1717479972, @@ -14232,31 +14180,14 @@ "type": "github" } }, - "iserv-proxy_7": { - "flake": false, - "locked": { - "lastModified": 1708894040, - "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", - "owner": "stable-haskell", - "repo": "iserv-proxy", - "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", - "type": "github" - }, - "original": { - "owner": "stable-haskell", - "ref": "iserv-syms", - "repo": "iserv-proxy", - "type": "github" - } - }, "iserv-proxy_8": { "flake": false, "locked": { - "lastModified": 1708894040, - "narHash": "sha256-Rv+PajrnuJ6AeyhtqzMN+bcR8z9+aEnrUass+N951CQ=", + "lastModified": 1717479972, + "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "2f2a318fd8837f8063a0d91f329aeae29055fba9", + "rev": "2ed34002247213fc435d0062350b91bab920626e", "type": "github" }, "original": { @@ -14297,9 +14228,24 @@ "type": "github" } }, - "lint-utils": { + "lib_2": { + "locked": { + "lastModified": 1694306727, + "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "lint-utils": { "inputs": { - "flake-utils": "flake-utils_54", + "flake-utils": "flake-utils_52", "nixpkgs": [ "hydra", "haskellNix", @@ -14322,7 +14268,7 @@ }, "liqwid-libs": { "inputs": { - "flake-parts": "flake-parts_11", + "flake-parts": "flake-parts_12", "liqwid-nix": "liqwid-nix", "nixpkgs": [ "hydra-auction-onchain", @@ -14349,7 +14295,7 @@ }, "liqwid-nix": { "inputs": { - "flake-parts": "flake-parts_12", + "flake-parts": "flake-parts_13", "ghc-next-packages": "ghc-next-packages", "haskell-nix": "haskell-nix_5", "hercules-ci-effects": "hercules-ci-effects_3", @@ -14386,7 +14332,7 @@ }, "liqwid-nix_2": { "inputs": { - "flake-parts": "flake-parts_17", + "flake-parts": "flake-parts_18", "ghc-next-packages": "ghc-next-packages_2", "haskell-nix": "haskell-nix_8", "hercules-ci-effects": "hercules-ci-effects_4", @@ -14947,6 +14893,22 @@ "type": "github" } }, + "mdbook-kroki-preprocessor_13": { + "flake": false, + "locked": { + "lastModified": 1661755005, + "narHash": "sha256-1TJuUzfyMycWlOQH67LR63/ll2GDZz25I3JfScy/Jnw=", + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "rev": "93adb5716d035829efed27f65f2f0833a7d3e76f", + "type": "github" + }, + "original": { + "owner": "JoelCourtney", + "repo": "mdbook-kroki-preprocessor", + "type": "github" + } + }, "mdbook-kroki-preprocessor_2": { "flake": false, "locked": { @@ -15077,40 +15039,32 @@ }, "mithril": { "inputs": { - "crane": "crane_4", - "flake-parts": "flake-parts_9", - "nixpkgs": "nixpkgs_111", + "crane": "crane_3", + "flake-parts": "flake-parts_10", + "nixpkgs": "nixpkgs_109", "treefmt-nix": "treefmt-nix_4" }, "locked": { - "lastModified": 1714464175, - "narHash": "sha256-DQVuHnDg9FdOlFPGK9KSNXCVl1vxYcYCKk/cBN/JEdo=", + "lastModified": 1721986510, + "narHash": "sha256-Qk8aEY1nyo6f+cCY6M/4YRSXtn7u31oM1lnPm3Ys80U=", "owner": "input-output-hk", "repo": "mithril", - "rev": "512fe8d0b72e27f38b76cddca3d22877505156b0", + "rev": "52a7beb77c537b54fcb1ca171bf1b1c0c059bad8", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "2418.1", + "ref": "2430.0", "repo": "mithril", "type": "github" } }, "n2c": { "inputs": { - "flake-utils": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", - "tullia", - "std", - "flake-utils" - ], + "flake-utils": "flake-utils_4", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" @@ -15132,15 +15086,14 @@ }, "n2c_10": { "inputs": { - "flake-utils": "flake-utils_63", + "flake-utils": "flake-utils_65", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "nixpkgs" ] @@ -15161,7 +15114,7 @@ }, "n2c_11": { "inputs": { - "flake-utils": "flake-utils_67", + "flake-utils": "flake-utils_68", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -15169,6 +15122,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "nixpkgs" ] @@ -15189,14 +15143,12 @@ }, "n2c_12": { "inputs": { - "flake-utils": "flake-utils_70", + "flake-utils": "flake-utils_74", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ply", + "haskellNix", "tullia", "std", "nixpkgs" @@ -15218,12 +15170,11 @@ }, "n2c_13": { "inputs": { - "flake-utils": "flake-utils_76", + "flake-utils": "flake-utils_79", "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "nixpkgs" @@ -15245,10 +15196,12 @@ }, "n2c_14": { "inputs": { - "flake-utils": "flake-utils_81", + "flake-utils": "flake-utils_84", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -15271,14 +15224,13 @@ }, "n2c_15": { "inputs": { - "flake-utils": "flake-utils_86", + "flake-utils": "flake-utils_88", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "nixpkgs" ] @@ -15299,13 +15251,14 @@ }, "n2c_16": { "inputs": { - "flake-utils": "flake-utils_90", + "flake-utils": "flake-utils_91", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", "plutarch", "tooling", "plutus", + "tullia", "std", "nixpkgs" ] @@ -15324,15 +15277,20 @@ "type": "github" } }, - "n2c_17": { + "n2c_2": { "inputs": { - "flake-utils": "flake-utils_93", + "flake-utils": [ + "ctl", + "cardano-nix", + "cardano-node-8.1.1", + "tullia", + "std", + "flake-utils" + ], "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -15352,7 +15310,7 @@ "type": "github" } }, - "n2c_2": { + "n2c_3": { "inputs": { "flake-utils": [ "ctl", @@ -15387,7 +15345,7 @@ "type": "github" } }, - "n2c_3": { + "n2c_4": { "inputs": { "flake-utils": [ "ctl", @@ -15418,36 +15376,10 @@ "type": "github" } }, - "n2c_4": { - "inputs": { - "flake-utils": "flake-utils_19", - "nixpkgs": [ - "ctl", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1665039323, - "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "n2c_5": { "inputs": { - "flake-utils": "flake-utils_26", - "nixpkgs": "nixpkgs_56" + "flake-utils": "flake-utils_25", + "nixpkgs": "nixpkgs_55" }, "locked": { "lastModified": 1650568002, @@ -15465,8 +15397,8 @@ }, "n2c_6": { "inputs": { - "flake-utils": "flake-utils_43", - "nixpkgs": "nixpkgs_91" + "flake-utils": "flake-utils_42", + "nixpkgs": "nixpkgs_90" }, "locked": { "lastModified": 1655533513, @@ -15484,14 +15416,7 @@ }, "n2c_7": { "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "flake-utils" - ], + "flake-utils": "flake-utils_50", "nixpkgs": [ "hydra", "cardano-node", @@ -15502,11 +15427,11 @@ ] }, "locked": { - "lastModified": 1677330646, - "narHash": "sha256-hUYCwJneMjnxTvj30Fjow6UMJUITqHlpUGpXMPXUJsU=", + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", "owner": "nlewo", "repo": "nix2container", - "rev": "ebca8f58d450cae1a19c07701a5a8ae40afc9efc", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", "type": "github" }, "original": { @@ -15517,25 +15442,23 @@ }, "n2c_8": { "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "std", - "flake-utils" - ], + "flake-utils": "flake-utils_56", "nixpkgs": [ - "hydra", - "cardano-node", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1685771919, - "narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=", + "lastModified": 1665039323, + "narHash": "sha256-SAh3ZjFGsaCI8FRzXQyp56qcGdAqgKEfJWPCQ0Sr7tQ=", "owner": "nlewo", "repo": "nix2container", - "rev": "95e2220911874064b5d809f8d35f7835184c4ddf", + "rev": "b008fe329ffb59b67bf9e7b08ede6ee792f2741a", "type": "github" }, "original": { @@ -15546,11 +15469,13 @@ }, "n2c_9": { "inputs": { - "flake-utils": "flake-utils_58", + "flake-utils": "flake-utils_61", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -15574,7 +15499,7 @@ "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -15696,27 +15621,24 @@ }, "nix-nomad": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat", "flake-utils": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "nix2container", "flake-utils" ], "gomod2nix": "gomod2nix", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ], "nixpkgs-lib": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "nixpkgs" ] @@ -15737,7 +15659,7 @@ }, "nix-nomad_10": { "inputs": { - "flake-compat": "flake-compat_45", + "flake-compat": "flake-compat_44", "flake-utils": [ "hydra-auction-onchain", "liqwid-nix", @@ -15784,7 +15706,7 @@ }, "nix-nomad_11": { "inputs": { - "flake-compat": "flake-compat_47", + "flake-compat": "flake-compat_46", "flake-utils": [ "hydra-auction-onchain", "liqwid-nix", @@ -15831,12 +15753,11 @@ }, "nix-nomad_2": { "inputs": { - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_11", "flake-utils": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "nix2container", "flake-utils" @@ -15845,16 +15766,14 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "nixpkgs" ], "nixpkgs-lib": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", + "cardano-node-8.1.1", "tullia", "nixpkgs" ] @@ -15875,10 +15794,11 @@ }, "nix-nomad_3": { "inputs": { - "flake-compat": "flake-compat_14", + "flake-compat": "flake-compat_12", "flake-utils": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "nix2container", @@ -15887,14 +15807,16 @@ "gomod2nix": "gomod2nix_3", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "nixpkgs" ], "nixpkgs-lib": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "nixpkgs" @@ -15957,7 +15879,7 @@ }, "nix-nomad_5": { "inputs": { - "flake-compat": "flake-compat_32", + "flake-compat": "flake-compat_31", "flake-utils": [ "hydra-auction-onchain", "liqwid-libs", @@ -16001,7 +15923,7 @@ }, "nix-nomad_6": { "inputs": { - "flake-compat": "flake-compat_35", + "flake-compat": "flake-compat_34", "flake-utils": [ "hydra-auction-onchain", "liqwid-libs", @@ -16051,7 +15973,7 @@ }, "nix-nomad_7": { "inputs": { - "flake-compat": "flake-compat_37", + "flake-compat": "flake-compat_36", "flake-utils": [ "hydra-auction-onchain", "liqwid-libs", @@ -16101,7 +16023,7 @@ }, "nix-nomad_8": { "inputs": { - "flake-compat": "flake-compat_40", + "flake-compat": "flake-compat_39", "flake-utils": [ "hydra-auction-onchain", "liqwid-libs", @@ -16145,7 +16067,7 @@ }, "nix-nomad_9": { "inputs": { - "flake-compat": "flake-compat_42", + "flake-compat": "flake-compat_41", "flake-utils": [ "hydra-auction-onchain", "liqwid-nix", @@ -16186,7 +16108,7 @@ }, "nix-npm-buildpackage": { "inputs": { - "nixpkgs": "nixpkgs_112" + "nixpkgs": "nixpkgs_110" }, "locked": { "lastModified": 1686315622, @@ -16268,15 +16190,15 @@ }, "nix2container": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_17" + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1671269339, - "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", "owner": "nlewo", "repo": "nix2container", - "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", "type": "github" }, "original": { @@ -16287,8 +16209,8 @@ }, "nix2container_10": { "inputs": { - "flake-utils": "flake-utils_56", - "nixpkgs": "nixpkgs_115" + "flake-utils": "flake-utils_59", + "nixpkgs": "nixpkgs_119" }, "locked": { "lastModified": 1658567952, @@ -16306,8 +16228,8 @@ }, "nix2container_11": { "inputs": { - "flake-utils": "flake-utils_61", - "nixpkgs": "nixpkgs_121" + "flake-utils": "flake-utils_66", + "nixpkgs": "nixpkgs_125" }, "locked": { "lastModified": 1658567952, @@ -16325,8 +16247,8 @@ }, "nix2container_12": { "inputs": { - "flake-utils": "flake-utils_68", - "nixpkgs": "nixpkgs_127" + "flake-utils": "flake-utils_72", + "nixpkgs": "nixpkgs_130" }, "locked": { "lastModified": 1658567952, @@ -16344,8 +16266,8 @@ }, "nix2container_13": { "inputs": { - "flake-utils": "flake-utils_74", - "nixpkgs": "nixpkgs_132" + "flake-utils": "flake-utils_77", + "nixpkgs": "nixpkgs_135" }, "locked": { "lastModified": 1658567952, @@ -16363,8 +16285,8 @@ }, "nix2container_14": { "inputs": { - "flake-utils": "flake-utils_79", - "nixpkgs": "nixpkgs_137" + "flake-utils": "flake-utils_82", + "nixpkgs": "nixpkgs_141" }, "locked": { "lastModified": 1658567952, @@ -16382,8 +16304,8 @@ }, "nix2container_15": { "inputs": { - "flake-utils": "flake-utils_84", - "nixpkgs": "nixpkgs_143" + "flake-utils": "flake-utils_89", + "nixpkgs": "nixpkgs_147" }, "locked": { "lastModified": 1658567952, @@ -16399,17 +16321,17 @@ "type": "github" } }, - "nix2container_16": { + "nix2container_2": { "inputs": { - "flake-utils": "flake-utils_91", - "nixpkgs": "nixpkgs_149" + "flake-utils": "flake-utils_10", + "nixpkgs": "nixpkgs_23" }, "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "lastModified": 1671269339, + "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", "owner": "nlewo", "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", "type": "github" }, "original": { @@ -16418,10 +16340,10 @@ "type": "github" } }, - "nix2container_2": { + "nix2container_3": { "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_19" + "flake-utils": "flake-utils_11", + "nixpkgs": "nixpkgs_25" }, "locked": { "lastModified": 1658567952, @@ -16437,10 +16359,10 @@ "type": "github" } }, - "nix2container_3": { + "nix2container_4": { "inputs": { - "flake-utils": "flake-utils_10", - "nixpkgs": "nixpkgs_23" + "flake-utils": "flake-utils_14", + "nixpkgs": "nixpkgs_29" }, "locked": { "lastModified": 1658567952, @@ -16456,10 +16378,10 @@ "type": "github" } }, - "nix2container_4": { + "nix2container_5": { "inputs": { - "flake-utils": "flake-utils_12", - "nixpkgs": "nixpkgs_27" + "flake-utils": "flake-utils_16", + "nixpkgs": "nixpkgs_33" }, "locked": { "lastModified": 1671269339, @@ -16475,75 +16397,56 @@ "type": "github" } }, - "nix2container_5": { - "inputs": { - "flake-utils": "flake-utils_17", - "nixpkgs": "nixpkgs_32" - }, - "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", - "owner": "nlewo", - "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", - "type": "github" - }, - "original": { - "owner": "nlewo", - "repo": "nix2container", - "type": "github" - } - }, "nix2container_6": { "inputs": { - "flake-utils": "flake-utils_20", - "nixpkgs": "nixpkgs_36" + "flake-utils": "flake-utils_44", + "nixpkgs": "nixpkgs_93" }, "locked": { - "lastModified": 1712990762, - "narHash": "sha256-hO9W3w7NcnYeX8u8cleHiSpK2YJo7ecarFTUlbybl7k=", + "lastModified": 1653427219, + "narHash": "sha256-q6MzrIZq1BBFxYN+UQjW60LpQJXV6RIIUmO8gKRyMqg=", "owner": "nlewo", "repo": "nix2container", - "rev": "20aad300c925639d5d6cbe30013c8357ce9f2a2e", + "rev": "11a0e14c2468720f42ca8dec3b82862abf96c837", "type": "github" }, "original": { "owner": "nlewo", + "ref": "init-nix-db", "repo": "nix2container", "type": "github" } }, "nix2container_7": { "inputs": { - "flake-utils": "flake-utils_45", - "nixpkgs": "nixpkgs_94" + "flake-utils": "flake-utils_48", + "nixpkgs": "nixpkgs_100" }, "locked": { - "lastModified": 1653427219, - "narHash": "sha256-q6MzrIZq1BBFxYN+UQjW60LpQJXV6RIIUmO8gKRyMqg=", + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", "owner": "nlewo", "repo": "nix2container", - "rev": "11a0e14c2468720f42ca8dec3b82862abf96c837", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", "type": "github" }, "original": { "owner": "nlewo", - "ref": "init-nix-db", "repo": "nix2container", "type": "github" } }, "nix2container_8": { "inputs": { - "flake-utils": "flake-utils_49", - "nixpkgs": "nixpkgs_101" + "flake-utils": "flake-utils_51", + "nixpkgs": "nixpkgs_104" }, "locked": { - "lastModified": 1658567952, - "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", + "lastModified": 1712990762, + "narHash": "sha256-hO9W3w7NcnYeX8u8cleHiSpK2YJo7ecarFTUlbybl7k=", "owner": "nlewo", "repo": "nix2container", - "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", + "rev": "20aad300c925639d5d6cbe30013c8357ce9f2a2e", "type": "github" }, "original": { @@ -16554,15 +16457,15 @@ }, "nix2container_9": { "inputs": { - "flake-utils": "flake-utils_51", - "nixpkgs": "nixpkgs_105" + "flake-utils": "flake-utils_54", + "nixpkgs": "nixpkgs_113" }, "locked": { - "lastModified": 1671269339, - "narHash": "sha256-KR2SXh4c2Y+bgbCfXjTGJ74O9/u4CAPFA0KYZHhKf5Q=", + "lastModified": 1658567952, + "narHash": "sha256-XZ4ETYAMU7XcpEeAFP3NOl9yDXNuZAen/aIJ84G+VgA=", "owner": "nlewo", "repo": "nix2container", - "rev": "6800fff45afecc7e47c334d14cf2b2f4f25601a0", + "rev": "60bb43d405991c1378baf15a40b5811a53e32ffa", "type": "github" }, "original": { @@ -16574,7 +16477,7 @@ "nix_10": { "inputs": { "lowdown-src": "lowdown-src_10", - "nixpkgs": "nixpkgs_57", + "nixpkgs": "nixpkgs_56", "nixpkgs-regression": "nixpkgs-regression_9" }, "locked": { @@ -16595,7 +16498,7 @@ "nix_11": { "inputs": { "lowdown-src": "lowdown-src_11", - "nixpkgs": "nixpkgs_59", + "nixpkgs": "nixpkgs_58", "nixpkgs-regression": "nixpkgs-regression_10" }, "locked": { @@ -16615,7 +16518,7 @@ "nix_12": { "inputs": { "lowdown-src": "lowdown-src_12", - "nixpkgs": "nixpkgs_66", + "nixpkgs": "nixpkgs_65", "nixpkgs-regression": "nixpkgs-regression_11" }, "locked": { @@ -16636,7 +16539,7 @@ "nix_13": { "inputs": { "lowdown-src": "lowdown-src_13", - "nixpkgs": "nixpkgs_67", + "nixpkgs": "nixpkgs_66", "nixpkgs-regression": "nixpkgs-regression_12" }, "locked": { @@ -16657,7 +16560,7 @@ "nix_14": { "inputs": { "lowdown-src": "lowdown-src_14", - "nixpkgs": "nixpkgs_72", + "nixpkgs": "nixpkgs_71", "nixpkgs-regression": "nixpkgs-regression_13" }, "locked": { @@ -16678,7 +16581,7 @@ "nix_15": { "inputs": { "lowdown-src": "lowdown-src_15", - "nixpkgs": "nixpkgs_74" + "nixpkgs": "nixpkgs_73" }, "locked": { "lastModified": 1604400356, @@ -16697,7 +16600,7 @@ "nix_16": { "inputs": { "lowdown-src": "lowdown-src_16", - "nixpkgs": "nixpkgs_76", + "nixpkgs": "nixpkgs_75", "nixpkgs-regression": "nixpkgs-regression_14" }, "locked": { @@ -16717,7 +16620,7 @@ "nix_17": { "inputs": { "lowdown-src": "lowdown-src_17", - "nixpkgs": "nixpkgs_88", + "nixpkgs": "nixpkgs_87", "nixpkgs-regression": "nixpkgs-regression_15" }, "locked": { @@ -16738,7 +16641,7 @@ "nix_18": { "inputs": { "lowdown-src": "lowdown-src_18", - "nixpkgs": "nixpkgs_90", + "nixpkgs": "nixpkgs_89", "nixpkgs-regression": "nixpkgs-regression_16" }, "locked": { @@ -16759,7 +16662,7 @@ "nix_19": { "inputs": { "lowdown-src": "lowdown-src_19", - "nixpkgs": "nixpkgs_97", + "nixpkgs": "nixpkgs_96", "nixpkgs-regression": "nixpkgs-regression_17" }, "locked": { @@ -16779,22 +16682,21 @@ }, "nix_2": { "inputs": { - "flake-compat": "flake-compat_3", "lowdown-src": "lowdown-src_2", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_12", "nixpkgs-regression": "nixpkgs-regression_2" }, "locked": { - "lastModified": 1693573010, - "narHash": "sha256-HBm8mR2skhPtbJ7p+ByrOZjs7SfsfZPwy75MwI1EUmk=", - "owner": "nixos", + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", "repo": "nix", - "rev": "5568ca5ff130a8a0bc3db5878432eb527c74dd60", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", "type": "github" }, "original": { - "owner": "nixos", - "ref": "2.17-maintenance", + "owner": "NixOS", + "ref": "2.11.0", "repo": "nix", "type": "github" } @@ -16802,7 +16704,7 @@ "nix_20": { "inputs": { "lowdown-src": "lowdown-src_20", - "nixpkgs": "nixpkgs_98", + "nixpkgs": "nixpkgs_97", "nixpkgs-regression": "nixpkgs-regression_18" }, "locked": { @@ -16823,7 +16725,7 @@ "nix_21": { "inputs": { "lowdown-src": "lowdown-src_21", - "nixpkgs": "nixpkgs_104", + "nixpkgs": "nixpkgs_103", "nixpkgs-regression": "nixpkgs-regression_19" }, "locked": { @@ -16844,7 +16746,7 @@ "nix_22": { "inputs": { "lowdown-src": "lowdown-src_22", - "nixpkgs": "nixpkgs_109", + "nixpkgs": "nixpkgs_106", "nixpkgs-regression": "nixpkgs-regression_20" }, "locked": { @@ -16865,7 +16767,7 @@ "nix_23": { "inputs": { "lowdown-src": "lowdown-src_23", - "nixpkgs": "nixpkgs_113", + "nixpkgs": "nixpkgs_111", "nixpkgs-regression": "nixpkgs-regression_21" }, "locked": { @@ -16886,7 +16788,7 @@ "nix_24": { "inputs": { "lowdown-src": "lowdown-src_24", - "nixpkgs": "nixpkgs_119", + "nixpkgs": "nixpkgs_117", "nixpkgs-regression": "nixpkgs-regression_22" }, "locked": { @@ -16907,7 +16809,7 @@ "nix_25": { "inputs": { "lowdown-src": "lowdown-src_25", - "nixpkgs": "nixpkgs_124", + "nixpkgs": "nixpkgs_122", "nixpkgs-regression": "nixpkgs-regression_23" }, "locked": { @@ -16928,7 +16830,7 @@ "nix_26": { "inputs": { "lowdown-src": "lowdown-src_26", - "nixpkgs": "nixpkgs_130", + "nixpkgs": "nixpkgs_128", "nixpkgs-regression": "nixpkgs-regression_24" }, "locked": { @@ -16949,7 +16851,7 @@ "nix_27": { "inputs": { "lowdown-src": "lowdown-src_27", - "nixpkgs": "nixpkgs_135", + "nixpkgs": "nixpkgs_133", "nixpkgs-regression": "nixpkgs-regression_25" }, "locked": { @@ -16970,7 +16872,7 @@ "nix_28": { "inputs": { "lowdown-src": "lowdown-src_28", - "nixpkgs": "nixpkgs_141", + "nixpkgs": "nixpkgs_139", "nixpkgs-regression": "nixpkgs-regression_26" }, "locked": { @@ -16991,7 +16893,7 @@ "nix_29": { "inputs": { "lowdown-src": "lowdown-src_29", - "nixpkgs": "nixpkgs_146", + "nixpkgs": "nixpkgs_144", "nixpkgs-regression": "nixpkgs-regression_27" }, "locked": { @@ -17011,21 +16913,22 @@ }, "nix_3": { "inputs": { + "flake-compat": "flake-compat_6", "lowdown-src": "lowdown-src_3", - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_16", "nixpkgs-regression": "nixpkgs-regression_3" }, "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", - "owner": "NixOS", + "lastModified": 1693573010, + "narHash": "sha256-HBm8mR2skhPtbJ7p+ByrOZjs7SfsfZPwy75MwI1EUmk=", + "owner": "nixos", "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "rev": "5568ca5ff130a8a0bc3db5878432eb527c74dd60", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "2.11.0", + "owner": "nixos", + "ref": "2.17-maintenance", "repo": "nix", "type": "github" } @@ -17033,7 +16936,7 @@ "nix_4": { "inputs": { "lowdown-src": "lowdown-src_4", - "nixpkgs": "nixpkgs_16", + "nixpkgs": "nixpkgs_20", "nixpkgs-regression": "nixpkgs-regression_4" }, "locked": { @@ -17054,7 +16957,7 @@ "nix_5": { "inputs": { "lowdown-src": "lowdown-src_5", - "nixpkgs": "nixpkgs_26", + "nixpkgs": "nixpkgs_22", "nixpkgs-regression": "nixpkgs-regression_5" }, "locked": { @@ -17075,7 +16978,7 @@ "nix_6": { "inputs": { "lowdown-src": "lowdown-src_6", - "nixpkgs": "nixpkgs_35", + "nixpkgs": "nixpkgs_32", "nixpkgs-regression": "nixpkgs-regression_6" }, "locked": { @@ -17096,7 +16999,7 @@ "nix_7": { "inputs": { "lowdown-src": "lowdown-src_7", - "nixpkgs": "nixpkgs_43", + "nixpkgs": "nixpkgs_42", "nixpkgs-regression": "nixpkgs-regression_7" }, "locked": { @@ -17117,7 +17020,7 @@ "nix_8": { "inputs": { "lowdown-src": "lowdown-src_8", - "nixpkgs": "nixpkgs_45" + "nixpkgs": "nixpkgs_44" }, "locked": { "lastModified": 1604400356, @@ -17136,7 +17039,7 @@ "nix_9": { "inputs": { "lowdown-src": "lowdown-src_9", - "nixpkgs": "nixpkgs_47", + "nixpkgs": "nixpkgs_46", "nixpkgs-regression": "nixpkgs-regression_8" }, "locked": { @@ -17156,25 +17059,22 @@ "nixago": { "inputs": { "flake-utils": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "flake-utils" ], "nixago-exts": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "blank" ], "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" @@ -17232,8 +17132,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "flake-utils" ], @@ -17243,8 +17142,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "blank" ], @@ -17254,8 +17152,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "nixpkgs" ] @@ -17283,6 +17180,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "flake-utils" ], @@ -17293,6 +17191,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "blank" ], @@ -17303,6 +17202,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "nixpkgs" ] @@ -17326,10 +17226,8 @@ "flake-utils": [ "hydra-auction-onchain", "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ply", + "haskellNix", "tullia", "std", "flake-utils" @@ -17337,10 +17235,8 @@ "nixago-exts": [ "hydra-auction-onchain", "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ply", + "haskellNix", "tullia", "std", "blank" @@ -17348,10 +17244,8 @@ "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ply", + "haskellNix", "tullia", "std", "nixpkgs" @@ -17375,27 +17269,24 @@ "inputs": { "flake-utils": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "flake-utils" ], "nixago-exts": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "blank" ], "nixpkgs": [ "hydra-auction-onchain", - "liqwid-libs", - "ply", - "haskellNix", + "liqwid-nix", + "haskell-nix", "tullia", "std", "nixpkgs" @@ -17420,6 +17311,8 @@ "flake-utils": [ "hydra-auction-onchain", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17428,6 +17321,8 @@ "nixago-exts": [ "hydra-auction-onchain", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17436,6 +17331,8 @@ "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17463,8 +17360,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "flake-utils" ], @@ -17473,8 +17369,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "blank" ], @@ -17483,8 +17378,7 @@ "liqwid-nix", "plutarch", "tooling", - "haskell-nix", - "tullia", + "plutus", "std", "nixpkgs" ] @@ -17511,6 +17405,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "flake-utils" ], @@ -17520,6 +17415,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "blank" ], @@ -17529,6 +17425,7 @@ "plutarch", "tooling", "plutus", + "tullia", "std", "nixpkgs" ] @@ -17547,34 +17444,28 @@ "type": "github" } }, - "nixago_17": { + "nixago_2": { "inputs": { "flake-utils": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "flake-utils" ], "nixago-exts": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "blank" ], "nixpkgs": [ - "hydra-auction-onchain", - "liqwid-nix", - "plutarch", - "tooling", - "plutus", + "ctl", + "cardano-nix", + "cardano-node-8.1.1", "tullia", "std", "nixpkgs" @@ -17594,7 +17485,7 @@ "type": "github" } }, - "nixago_2": { + "nixago_3": { "inputs": { "flake-utils": [ "ctl", @@ -17638,7 +17529,7 @@ "type": "github" } }, - "nixago_3": { + "nixago_4": { "inputs": { "flake-utils": [ "ctl", @@ -17676,59 +17567,18 @@ "type": "github" } }, - "nixago_4": { + "nixago_5": { "inputs": { "flake-utils": [ "ctl", - "cardano-node", - "cardano-automation", - "tullia", + "db-sync", + "cardano-world", + "bitte", "std", "flake-utils" ], - "nixago-exts": [ - "ctl", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "nixpkgs": [ - "ctl", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1661824785, - "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", - "owner": "nix-community", - "repo": "nixago", - "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixago", - "type": "github" - } - }, - "nixago_5": { - "inputs": { - "flake-utils": [ - "ctl", - "db-sync", - "cardano-world", - "bitte", - "std", - "flake-utils" - ], - "nixago-exts": "nixago-exts", - "nixpkgs": [ + "nixago-exts": "nixago-exts", + "nixpkgs": [ "ctl", "db-sync", "cardano-world", @@ -17811,11 +17661,11 @@ ] }, "locked": { - "lastModified": 1676075813, - "narHash": "sha256-X/aIT8Qc8UCqnxJvaZykx3CJ0ZnDFvO+dqp/7fglZWo=", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", "owner": "nix-community", "repo": "nixago", - "rev": "9cab4dde31ec2f2c05d702ea8648ce580664e906", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { @@ -17827,30 +17677,39 @@ "nixago_8": { "inputs": { "flake-utils": [ - "hydra", - "cardano-node", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "flake-utils" ], "nixago-exts": [ - "hydra", - "cardano-node", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "blank" ], "nixpkgs": [ - "hydra", - "cardano-node", + "hydra-auction-onchain", + "liqwid-libs", + "liqwid-nix", + "haskell-nix", + "tullia", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1683210100, - "narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=", + "lastModified": 1661824785, + "narHash": "sha256-/PnwdWoO/JugJZHtDUioQp3uRiWeXHUdgvoyNbXesz8=", "owner": "nix-community", "repo": "nixago", - "rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630", + "rev": "8c1f9e5f1578d4b2ea989f618588d62a335083c3", "type": "github" }, "original": { @@ -17865,6 +17724,8 @@ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17874,6 +17735,8 @@ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17883,6 +17746,8 @@ "hydra-auction-onchain", "liqwid-libs", "liqwid-nix", + "plutarch", + "tooling", "haskell-nix", "tullia", "std", @@ -17950,16 +17815,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1687420147, - "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -19022,11 +18887,11 @@ }, "nixpkgs-2205_3": { "locked": { - "lastModified": 1682600000, - "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", "type": "github" }, "original": { @@ -19038,11 +18903,11 @@ }, "nixpkgs-2205_4": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1682600000, + "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", "type": "github" }, "original": { @@ -19182,11 +19047,11 @@ }, "nixpkgs-2211_3": { "locked": { - "lastModified": 1682682915, - "narHash": "sha256-haR0u/j/nUvlMloYlaOYq1FMXTvkNHw+wGxc+0qXisM=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "09f1b33fcc0f59263137e23e935c1bb03ec920e4", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { @@ -19198,11 +19063,11 @@ }, "nixpkgs-2211_4": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1682682915, + "narHash": "sha256-haR0u/j/nUvlMloYlaOYq1FMXTvkNHw+wGxc+0qXisM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "09f1b33fcc0f59263137e23e935c1bb03ec920e4", "type": "github" }, "original": { @@ -19294,11 +19159,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1690680713, - "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", "type": "github" }, "original": { @@ -19310,11 +19175,11 @@ }, "nixpkgs-2305_2": { "locked": { - "lastModified": 1695416179, - "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" }, "original": { @@ -19342,11 +19207,11 @@ }, "nixpkgs-2305_4": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { @@ -19565,6 +19430,24 @@ } }, "nixpkgs-lib_10": { + "locked": { + "dir": "lib", + "lastModified": 1672350804, + "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_11": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -19582,7 +19465,7 @@ "type": "github" } }, - "nixpkgs-lib_11": { + "nixpkgs-lib_12": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -19600,7 +19483,7 @@ "type": "github" } }, - "nixpkgs-lib_12": { + "nixpkgs-lib_13": { "locked": { "dir": "lib", "lastModified": 1665349835, @@ -19618,7 +19501,7 @@ "type": "github" } }, - "nixpkgs-lib_13": { + "nixpkgs-lib_14": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -19636,7 +19519,7 @@ "type": "github" } }, - "nixpkgs-lib_14": { + "nixpkgs-lib_15": { "locked": { "dir": "lib", "lastModified": 1678375444, @@ -19654,7 +19537,7 @@ "type": "github" } }, - "nixpkgs-lib_15": { + "nixpkgs-lib_16": { "locked": { "dir": "lib", "lastModified": 1665349835, @@ -19746,60 +19629,48 @@ }, "nixpkgs-lib_6": { "locked": { - "lastModified": 1714640452, - "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-lib_7": { "locked": { - "dir": "lib", - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", - "type": "github" + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, "nixpkgs-lib_8": { "locked": { - "dir": "lib", - "lastModified": 1698611440, - "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", - "type": "github" + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-lib_9": { "locked": { "dir": "lib", - "lastModified": 1672350804, - "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -20306,17 +20177,17 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690720142, - "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, @@ -20482,15 +20353,15 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1696577711, - "narHash": "sha256-94VRjvClIKDym1QRqPkX5LTQoAwZ1E6QE/3dWtOXSIQ=", - "owner": "nixos", + "lastModified": 1690720142, + "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2eb207f45e4a14a1e3019d9e3863d1e208e2295", + "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -20546,15 +20417,15 @@ }, "nixpkgs-unstable_3": { "locked": { - "lastModified": 1695318763, - "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", - "owner": "NixOS", + "lastModified": 1696577711, + "narHash": "sha256-94VRjvClIKDym1QRqPkX5LTQoAwZ1E6QE/3dWtOXSIQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", + "rev": "a2eb207f45e4a14a1e3019d9e3863d1e208e2295", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -20562,11 +20433,11 @@ }, "nixpkgs-unstable_4": { "locked": { - "lastModified": 1682656005, - "narHash": "sha256-fYplYo7so1O+rSQ2/aS+SbTPwLTeoUXk4ekKNtSl4P8=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6806b63e824f84b0f0e60b6d660d4ae753de0477", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { @@ -20578,11 +20449,11 @@ }, "nixpkgs-unstable_5": { "locked": { - "lastModified": 1695318763, - "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", + "lastModified": 1682656005, + "narHash": "sha256-fYplYo7so1O+rSQ2/aS+SbTPwLTeoUXk4ekKNtSl4P8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", + "rev": "6806b63e824f84b0f0e60b6d660d4ae753de0477", "type": "github" }, "original": { @@ -20594,17 +20465,17 @@ }, "nixpkgs-unstable_6": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, @@ -20656,39 +20527,39 @@ "type": "github" } }, - "nixpkgs_10": { + "nixpkgsLatest": { "locked": { - "lastModified": 1670461440, - "narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=", + "lastModified": 1721226092, + "narHash": "sha256-UBvzVpo5sXSi2S/Av+t+Q+C2mhMIw/LBEZR+d6NMjws=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04a75b2eecc0acf6239acf9dd04485ff8d14f425", + "rev": "c716603a63aca44f39bef1986c13402167450e0a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11-small", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_100": { + "nixpkgs_10": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", + "lastModified": 1645013224, + "narHash": "sha256-b7OEC8vwzJv3rsz9pwnTX2LQDkeOWz2DbKypkVvNHXc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "b66b39216b1fef2d8c33cc7a5c72d8da80b79970", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_101": { + "nixpkgs_100": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -20703,13 +20574,13 @@ "type": "github" } }, - "nixpkgs_102": { + "nixpkgs_101": { "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { @@ -20719,7 +20590,7 @@ "type": "github" } }, - "nixpkgs_103": { + "nixpkgs_102": { "locked": { "lastModified": 1642336556, "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", @@ -20733,7 +20604,7 @@ "type": "indirect" } }, - "nixpkgs_104": { + "nixpkgs_103": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -20749,13 +20620,13 @@ "type": "github" } }, - "nixpkgs_105": { + "nixpkgs_104": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1712920918, + "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", "type": "github" }, "original": { @@ -20764,54 +20635,23 @@ "type": "github" } }, - "nixpkgs_106": { - "locked": { - "lastModified": 1681001314, - "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs_107": { - "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_108": { + "nixpkgs_105": { "locked": { - "lastModified": 1677063315, - "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "lastModified": 1708343346, + "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "rev": "9312b935a538684049cb668885e60f15547d4c5f", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_109": { + "nixpkgs_106": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -20827,23 +20667,22 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_107": { "locked": { - "lastModified": 1690026219, - "narHash": "sha256-oOduRk/kzQxOBknZXTLSEYd7tk+GoKvr8wV6Ab+t4AU=", - "owner": "NixOS", + "lastModified": 1718717814, + "narHash": "sha256-xB7AzKY4BP7yypo6g+sk1tnVK54sBIJMeEBB5CdbhT4=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "f465da166263bc0d4b39dfd4ca28b777c92d4b73", + "rev": "88af533d8ae8d1e7e4648decf7817ebff91abf56", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_110": { + "nixpkgs_108": { "locked": { "lastModified": 1684171562, "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", @@ -20859,13 +20698,13 @@ "type": "github" } }, - "nixpkgs_111": { + "nixpkgs_109": { "locked": { - "lastModified": 1714091391, - "narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=", + "lastModified": 1721933792, + "narHash": "sha256-zYVwABlQnxpbaHMfX6Wt9jhyQstFYwN2XjleOJV3VVg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1", + "rev": "2122a9b35b35719ad9a395fe783eabb092df01b1", "type": "github" }, "original": { @@ -20875,7 +20714,23 @@ "type": "github" } }, - "nixpkgs_112": { + "nixpkgs_11": { + "locked": { + "lastModified": 1680945546, + "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_110": { "locked": { "lastModified": 1653917367, "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", @@ -20889,7 +20744,7 @@ "type": "indirect" } }, - "nixpkgs_113": { + "nixpkgs_111": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -20904,7 +20759,7 @@ "type": "indirect" } }, - "nixpkgs_114": { + "nixpkgs_112": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -20920,7 +20775,7 @@ "type": "github" } }, - "nixpkgs_115": { + "nixpkgs_113": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -20935,7 +20790,7 @@ "type": "github" } }, - "nixpkgs_116": { + "nixpkgs_114": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -20951,7 +20806,7 @@ "type": "github" } }, - "nixpkgs_117": { + "nixpkgs_115": { "locked": { "lastModified": 1678293141, "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", @@ -20967,7 +20822,7 @@ "type": "github" } }, - "nixpkgs_118": { + "nixpkgs_116": { "locked": { "lastModified": 1678891326, "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", @@ -20982,7 +20837,7 @@ "type": "github" } }, - "nixpkgs_119": { + "nixpkgs_117": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -20997,54 +20852,54 @@ "type": "indirect" } }, - "nixpkgs_12": { + "nixpkgs_118": { "locked": { - "lastModified": 1675249806, - "narHash": "sha256-u8Rcqekusl3pMZm68hZqr6zozI8Ug5IxqOiqDLAlu1k=", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "79feedf38536de2a27d13fe2eaf200a9c05193ba", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_120": { + "nixpkgs_119": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_121": { + "nixpkgs_12": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_122": { + "nixpkgs_120": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21060,7 +20915,7 @@ "type": "github" } }, - "nixpkgs_123": { + "nixpkgs_121": { "locked": { "lastModified": 1670841420, "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", @@ -21076,7 +20931,7 @@ "type": "github" } }, - "nixpkgs_124": { + "nixpkgs_122": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21091,7 +20946,7 @@ "type": "indirect" } }, - "nixpkgs_125": { + "nixpkgs_123": { "locked": { "lastModified": 1663905476, "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", @@ -21106,7 +20961,7 @@ "type": "github" } }, - "nixpkgs_126": { + "nixpkgs_124": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21122,7 +20977,7 @@ "type": "github" } }, - "nixpkgs_127": { + "nixpkgs_125": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21137,7 +20992,7 @@ "type": "github" } }, - "nixpkgs_128": { + "nixpkgs_126": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21153,7 +21008,7 @@ "type": "github" } }, - "nixpkgs_129": { + "nixpkgs_127": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -21169,22 +21024,7 @@ "type": "github" } }, - "nixpkgs_13": { - "locked": { - "lastModified": 1636823747, - "narHash": "sha256-oWo1nElRAOZqEf90Yek2ixdHyjD+gqtS/pAgwaQ9UhQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "f6a2ed2082d9a51668c86ba27d0b5496f7a2ea93", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_130": { + "nixpkgs_128": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21199,7 +21039,7 @@ "type": "indirect" } }, - "nixpkgs_131": { + "nixpkgs_129": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21215,7 +21055,23 @@ "type": "github" } }, - "nixpkgs_132": { + "nixpkgs_13": { + "locked": { + "lastModified": 1692339729, + "narHash": "sha256-TUK76/Pqm9qIDjEGd27Lz9EiBIvn5F70JWDmEQ4Y5DQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ae521bd4e460b076a455dca8b13f4151489a725c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_130": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21230,7 +21086,7 @@ "type": "github" } }, - "nixpkgs_133": { + "nixpkgs_131": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21246,7 +21102,7 @@ "type": "github" } }, - "nixpkgs_134": { + "nixpkgs_132": { "locked": { "lastModified": 1667292599, "narHash": "sha256-7ISOUI1aj6UKMPIL+wwthENL22L3+A9V+jS8Is3QsRo=", @@ -21260,7 +21116,7 @@ "type": "indirect" } }, - "nixpkgs_135": { + "nixpkgs_133": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21275,7 +21131,7 @@ "type": "indirect" } }, - "nixpkgs_136": { + "nixpkgs_134": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21291,7 +21147,7 @@ "type": "github" } }, - "nixpkgs_137": { + "nixpkgs_135": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21306,7 +21162,7 @@ "type": "github" } }, - "nixpkgs_138": { + "nixpkgs_136": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21322,7 +21178,7 @@ "type": "github" } }, - "nixpkgs_139": { + "nixpkgs_137": { "locked": { "lastModified": 1678293141, "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", @@ -21338,23 +21194,7 @@ "type": "github" } }, - "nixpkgs_14": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_140": { + "nixpkgs_138": { "locked": { "lastModified": 1678891326, "narHash": "sha256-cjgrjKx7y+hO9I8O2b6QvBaTt9w7Xhk/5hsnJYTUb2I=", @@ -21369,7 +21209,7 @@ "type": "github" } }, - "nixpkgs_141": { + "nixpkgs_139": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21384,7 +21224,23 @@ "type": "indirect" } }, - "nixpkgs_142": { + "nixpkgs_14": { + "locked": { + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_140": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21400,7 +21256,7 @@ "type": "github" } }, - "nixpkgs_143": { + "nixpkgs_141": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21415,7 +21271,7 @@ "type": "github" } }, - "nixpkgs_144": { + "nixpkgs_142": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21431,7 +21287,7 @@ "type": "github" } }, - "nixpkgs_145": { + "nixpkgs_143": { "locked": { "lastModified": 1670841420, "narHash": "sha256-mSEia1FzrsHbfqjorMyYiX8NXdDVeR1Pw1k55jMJlJY=", @@ -21447,7 +21303,7 @@ "type": "github" } }, - "nixpkgs_146": { + "nixpkgs_144": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -21462,7 +21318,7 @@ "type": "indirect" } }, - "nixpkgs_147": { + "nixpkgs_145": { "locked": { "lastModified": 1663905476, "narHash": "sha256-0CSwRKaYravh9v6qSlBpM0gNg0UhKT2lL7Yn6Zbx7UM=", @@ -21477,7 +21333,7 @@ "type": "github" } }, - "nixpkgs_148": { + "nixpkgs_146": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21493,7 +21349,7 @@ "type": "github" } }, - "nixpkgs_149": { + "nixpkgs_147": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21508,21 +21364,7 @@ "type": "github" } }, - "nixpkgs_15": { - "locked": { - "lastModified": 1642336556, - "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_150": { + "nixpkgs_148": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21538,7 +21380,7 @@ "type": "github" } }, - "nixpkgs_151": { + "nixpkgs_149": { "locked": { "lastModified": 1671271357, "narHash": "sha256-xRJdLbWK4v2SewmSStYrcLa0YGJpleufl44A19XSW8k=", @@ -21554,133 +21396,86 @@ "type": "github" } }, - "nixpkgs_16": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_17": { + "nixpkgs_15": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", - "owner": "NixOS", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", + "ref": "release-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_18": { + "nixpkgs_16": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1670461440, + "narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "04a75b2eecc0acf6239acf9dd04485ff8d14f425", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_19": { + "nixpkgs_17": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1690026219, + "narHash": "sha256-oOduRk/kzQxOBknZXTLSEYd7tk+GoKvr8wV6Ab+t4AU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "f465da166263bc0d4b39dfd4ca28b777c92d4b73", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_18": { "locked": { - "lastModified": 1687420147, - "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", + "lastModified": 1675249806, + "narHash": "sha256-u8Rcqekusl3pMZm68hZqr6zozI8Ug5IxqOiqDLAlu1k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", + "rev": "79feedf38536de2a27d13fe2eaf200a9c05193ba", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_20": { - "locked": { - "lastModified": 1674407282, - "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ab1254087f4cdf4af74b552d7fc95175d9bdbb49", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-22.11", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_21": { + "nixpkgs_19": { "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "lastModified": 1636823747, + "narHash": "sha256-oWo1nElRAOZqEf90Yek2ixdHyjD+gqtS/pAgwaQ9UhQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "rev": "f6a2ed2082d9a51668c86ba27d0b5496f7a2ea93", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_22": { - "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_23": { + "nixpkgs_2": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21695,23 +21490,23 @@ "type": "github" } }, - "nixpkgs_24": { + "nixpkgs_20": { "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", - "owner": "nixos", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_25": { + "nixpkgs_21": { "locked": { "lastModified": 1642336556, "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", @@ -21725,7 +21520,7 @@ "type": "indirect" } }, - "nixpkgs_26": { + "nixpkgs_22": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -21741,7 +21536,7 @@ "type": "github" } }, - "nixpkgs_27": { + "nixpkgs_23": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21756,70 +21551,70 @@ "type": "github" } }, - "nixpkgs_28": { + "nixpkgs_24": { "locked": { - "lastModified": 1681001314, - "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_29": { + "nixpkgs_25": { "locked": { - "lastModified": 1675940568, - "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", - "owner": "nixos", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_26": { "locked": { - "lastModified": 1677543769, - "narHash": "sha256-LwbqS8vGisXl2WHpK9r5+kodr0zoIT8F2YB0R4y1TsA=", - "owner": "NixOS", + "lastModified": 1674407282, + "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "b26d52c9feb6476580016e78935cbf96eb3e2115", + "rev": "ab1254087f4cdf4af74b552d7fc95175d9bdbb49", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_30": { + "nixpkgs_27": { "locked": { - "lastModified": 1677063315, - "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_31": { + "nixpkgs_28": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -21835,7 +21630,7 @@ "type": "github" } }, - "nixpkgs_32": { + "nixpkgs_29": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -21850,7 +21645,7 @@ "type": "github" } }, - "nixpkgs_33": { + "nixpkgs_3": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -21866,7 +21661,23 @@ "type": "github" } }, - "nixpkgs_34": { + "nixpkgs_30": { + "locked": { + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_31": { "locked": { "lastModified": 1642336556, "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", @@ -21880,7 +21691,7 @@ "type": "indirect" } }, - "nixpkgs_35": { + "nixpkgs_32": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -21896,13 +21707,13 @@ "type": "github" } }, - "nixpkgs_36": { + "nixpkgs_33": { "locked": { - "lastModified": 1712920918, - "narHash": "sha256-1yxFvUcJfUphK9V91KufIQom7gCsztza0H4Rz2VCWUU=", + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "92323443a56f4e9fc4e4b712e3119f66d0969297", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", "type": "github" }, "original": { @@ -21911,23 +21722,54 @@ "type": "github" } }, - "nixpkgs_37": { + "nixpkgs_34": { "locked": { - "lastModified": 1708343346, - "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", + "lastModified": 1681001314, + "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_35": { + "locked": { + "lastModified": 1675940568, + "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9312b935a538684049cb668885e60f15547d4c5f", + "rev": "6ccc4a59c3f1b56d039d93da52696633e641bc71", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-23.11", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_38": { + "nixpkgs_36": { + "locked": { + "lastModified": 1677063315, + "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_37": { "locked": { "lastModified": 1627969475, "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", @@ -21941,7 +21783,7 @@ "type": "indirect" } }, - "nixpkgs_39": { + "nixpkgs_38": { "locked": { "lastModified": 1644972330, "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", @@ -21957,29 +21799,27 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_39": { "locked": { - "lastModified": 1645013224, - "narHash": "sha256-b7OEC8vwzJv3rsz9pwnTX2LQDkeOWz2DbKypkVvNHXc=", - "owner": "nixos", + "lastModified": 1627969475, + "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "b66b39216b1fef2d8c33cc7a5c72d8da80b79970", + "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, - "nixpkgs_40": { + "nixpkgs_4": { "locked": { - "lastModified": 1627969475, - "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", + "lastModified": 1642336556, + "narHash": "sha256-QSPPbFEwy0T0DrIuSzAACkaANPQaR1lZR/nHZGz9z04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd27e2e8316ac6eab11aa35c586e743286f23ecf", + "rev": "f3d9d4bd898cca7d04af2ae4f6ef01f2219df3d6", "type": "github" }, "original": { @@ -21987,7 +21827,7 @@ "type": "indirect" } }, - "nixpkgs_41": { + "nixpkgs_40": { "locked": { "lastModified": 1644972330, "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", @@ -22003,7 +21843,7 @@ "type": "github" } }, - "nixpkgs_42": { + "nixpkgs_41": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22019,7 +21859,7 @@ "type": "github" } }, - "nixpkgs_43": { + "nixpkgs_42": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22034,7 +21874,7 @@ "type": "indirect" } }, - "nixpkgs_44": { + "nixpkgs_43": { "locked": { "lastModified": 1638452135, "narHash": "sha256-5Il6hgrTgcWIsB7zug0yDFccYXx7pJCw8cwJdXMuLfM=", @@ -22050,7 +21890,7 @@ "type": "github" } }, - "nixpkgs_45": { + "nixpkgs_44": { "locked": { "lastModified": 1602702596, "narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=", @@ -22065,7 +21905,7 @@ "type": "indirect" } }, - "nixpkgs_46": { + "nixpkgs_45": { "locked": { "lastModified": 1638887115, "narHash": "sha256-emjtIeqyJ84Eb3X7APJruTrwcfnHQKs55XGljj62prs=", @@ -22081,7 +21921,7 @@ "type": "github" } }, - "nixpkgs_47": { + "nixpkgs_46": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22096,7 +21936,7 @@ "type": "indirect" } }, - "nixpkgs_48": { + "nixpkgs_47": { "locked": { "lastModified": 1641909823, "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", @@ -22112,7 +21952,7 @@ "type": "github" } }, - "nixpkgs_49": { + "nixpkgs_48": { "locked": { "lastModified": 1647350163, "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", @@ -22128,13 +21968,13 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_49": { "locked": { - "lastModified": 1680945546, - "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { @@ -22144,23 +21984,23 @@ "type": "github" } }, - "nixpkgs_50": { + "nixpkgs_5": { "locked": { - "lastModified": 1644525281, - "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", - "owner": "nixos", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_51": { + "nixpkgs_50": { "locked": { "lastModified": 1646506091, "narHash": "sha256-sWNAJE2m+HOh1jtXlHcnhxsj6/sXrHgbqVNcVRlveK4=", @@ -22176,7 +22016,7 @@ "type": "github" } }, - "nixpkgs_52": { + "nixpkgs_51": { "locked": { "lastModified": 1658119717, "narHash": "sha256-4upOZIQQ7Bc4CprqnHsKnqYfw+arJeAuU+QcpjYBXW0=", @@ -22192,7 +22032,7 @@ "type": "github" } }, - "nixpkgs_53": { + "nixpkgs_52": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22208,7 +22048,7 @@ "type": "github" } }, - "nixpkgs_54": { + "nixpkgs_53": { "locked": { "lastModified": 1652576347, "narHash": "sha256-52Wu7hkcIRcS4UenSSrt01J2sAbbQ6YqxZIDpuEPL/c=", @@ -22223,7 +22063,7 @@ "type": "github" } }, - "nixpkgs_55": { + "nixpkgs_54": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22239,7 +22079,7 @@ "type": "github" } }, - "nixpkgs_56": { + "nixpkgs_55": { "locked": { "lastModified": 1642451377, "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", @@ -22254,7 +22094,7 @@ "type": "github" } }, - "nixpkgs_57": { + "nixpkgs_56": { "locked": { "lastModified": 1645296114, "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", @@ -22269,7 +22109,7 @@ "type": "indirect" } }, - "nixpkgs_58": { + "nixpkgs_57": { "locked": { "lastModified": 1652559422, "narHash": "sha256-jPVTNImBTUIFdtur+d4IVot6eXmsvtOcBm0TzxmhWPk=", @@ -22285,7 +22125,7 @@ "type": "github" } }, - "nixpkgs_59": { + "nixpkgs_58": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22300,39 +22140,39 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_59": { "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", + "lastModified": 1641909823, + "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_60": { + "nixpkgs_6": { "locked": { - "lastModified": 1641909823, - "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", + "lastModified": 1708343346, + "narHash": "sha256-qlzHvterVRzS8fS0ophQpkh0rqw0abijHEOAKm0HmV0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f0f67400bc49c44f305d6fe17698a2f1ce1c29a0", + "rev": "9312b935a538684049cb668885e60f15547d4c5f", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_61": { + "nixpkgs_60": { "locked": { "lastModified": 1647350163, "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", @@ -22348,7 +22188,7 @@ "type": "github" } }, - "nixpkgs_62": { + "nixpkgs_61": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22364,7 +22204,7 @@ "type": "github" } }, - "nixpkgs_63": { + "nixpkgs_62": { "locked": { "lastModified": 1658311025, "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", @@ -22380,7 +22220,7 @@ "type": "github" } }, - "nixpkgs_64": { + "nixpkgs_63": { "locked": { "lastModified": 1646331602, "narHash": "sha256-cRuytTfel52z947yKfJcZU7zbQBgM16qqTf+oJkVwtg=", @@ -22396,7 +22236,7 @@ "type": "github" } }, - "nixpkgs_65": { + "nixpkgs_64": { "locked": { "lastModified": 1643381941, "narHash": "sha256-pHTwvnN4tTsEKkWlXQ8JMY423epos8wUOhthpwJjtpc=", @@ -22412,7 +22252,7 @@ "type": "github" } }, - "nixpkgs_66": { + "nixpkgs_65": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22427,7 +22267,7 @@ "type": "indirect" } }, - "nixpkgs_67": { + "nixpkgs_66": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22442,7 +22282,7 @@ "type": "indirect" } }, - "nixpkgs_68": { + "nixpkgs_67": { "locked": { "lastModified": 1644486793, "narHash": "sha256-EeijR4guVHgVv+JpOX3cQO+1XdrkJfGmiJ9XVsVU530=", @@ -22458,7 +22298,7 @@ "type": "github" } }, - "nixpkgs_69": { + "nixpkgs_68": { "locked": { "lastModified": 1627969475, "narHash": "sha256-MhVtkVt1MFfaDY3ObJu54NBcsaPk19vOBZ8ouhjO4qs=", @@ -22472,39 +22312,39 @@ "type": "indirect" } }, - "nixpkgs_7": { + "nixpkgs_69": { "locked": { - "lastModified": 1692339729, - "narHash": "sha256-TUK76/Pqm9qIDjEGd27Lz9EiBIvn5F70JWDmEQ4Y5DQ=", - "owner": "nixos", + "lastModified": 1644972330, + "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ae521bd4e460b076a455dca8b13f4151489a725c", + "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-23.05", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_70": { + "nixpkgs_7": { "locked": { - "lastModified": 1644972330, - "narHash": "sha256-6V2JFpTUzB9G+KcqtUR1yl7f6rd9495YrFECslEmbGw=", + "lastModified": 1687420147, + "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19574af0af3ffaf7c9e359744ed32556f34536bd", + "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "release-23.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_71": { + "nixpkgs_70": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22520,7 +22360,7 @@ "type": "github" } }, - "nixpkgs_72": { + "nixpkgs_71": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22535,7 +22375,7 @@ "type": "indirect" } }, - "nixpkgs_73": { + "nixpkgs_72": { "locked": { "lastModified": 1638452135, "narHash": "sha256-5Il6hgrTgcWIsB7zug0yDFccYXx7pJCw8cwJdXMuLfM=", @@ -22551,7 +22391,7 @@ "type": "github" } }, - "nixpkgs_74": { + "nixpkgs_73": { "locked": { "lastModified": 1602702596, "narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=", @@ -22566,7 +22406,7 @@ "type": "indirect" } }, - "nixpkgs_75": { + "nixpkgs_74": { "locked": { "lastModified": 1638887115, "narHash": "sha256-emjtIeqyJ84Eb3X7APJruTrwcfnHQKs55XGljj62prs=", @@ -22582,7 +22422,7 @@ "type": "github" } }, - "nixpkgs_76": { + "nixpkgs_75": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22597,7 +22437,7 @@ "type": "indirect" } }, - "nixpkgs_77": { + "nixpkgs_76": { "locked": { "lastModified": 1641909823, "narHash": "sha256-Uxo+Wm6c/ijNhaJlYtFLJG9mh75FYZaBreMC2ZE0nEY=", @@ -22613,7 +22453,7 @@ "type": "github" } }, - "nixpkgs_78": { + "nixpkgs_77": { "locked": { "lastModified": 1647350163, "narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", @@ -22629,7 +22469,7 @@ "type": "github" } }, - "nixpkgs_79": { + "nixpkgs_78": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22645,39 +22485,39 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_79": { "locked": { - "lastModified": 1684171562, - "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", - "owner": "nixos", + "lastModified": 1646506091, + "narHash": "sha256-sWNAJE2m+HOh1jtXlHcnhxsj6/sXrHgbqVNcVRlveK4=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "rev": "3e644bd62489b516292c816f70bf0052c693b3c7", "type": "github" }, "original": { - "owner": "nixos", - "ref": "release-22.11", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_80": { + "nixpkgs_8": { "locked": { - "lastModified": 1646506091, - "narHash": "sha256-sWNAJE2m+HOh1jtXlHcnhxsj6/sXrHgbqVNcVRlveK4=", + "lastModified": 1687420147, + "narHash": "sha256-NILbmZVsoP2Aw0OAIXdbYXrWc/qggIDDyIwZ01yUx+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e644bd62489b516292c816f70bf0052c693b3c7", + "rev": "d449a456ba7d81038fc9ec9141eae7ee3aaf2982", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "release-23.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_81": { + "nixpkgs_80": { "locked": { "lastModified": 1658119717, "narHash": "sha256-4upOZIQQ7Bc4CprqnHsKnqYfw+arJeAuU+QcpjYBXW0=", @@ -22693,7 +22533,7 @@ "type": "github" } }, - "nixpkgs_82": { + "nixpkgs_81": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -22709,7 +22549,7 @@ "type": "github" } }, - "nixpkgs_83": { + "nixpkgs_82": { "locked": { "lastModified": 1646470760, "narHash": "sha256-dQISyucVCCPaFioUhy5ZgfBz8rOMKGI8k13aPDFTqEs=", @@ -22725,7 +22565,7 @@ "type": "github" } }, - "nixpkgs_84": { + "nixpkgs_83": { "locked": { "lastModified": 1619531122, "narHash": "sha256-ovm5bo6PkZzNKh2YGXbRKYIjega0EjiEP0YDwyeXEYU=", @@ -22739,7 +22579,7 @@ "type": "indirect" } }, - "nixpkgs_85": { + "nixpkgs_84": { "locked": { "lastModified": 1656461576, "narHash": "sha256-rlmmw6lIlkMQIiB+NsnO8wQYWTfle8TA41UREPLP5VY=", @@ -22755,7 +22595,7 @@ "type": "github" } }, - "nixpkgs_86": { + "nixpkgs_85": { "locked": { "lastModified": 1655567057, "narHash": "sha256-Cc5hQSMsTzOHmZnYm8OSJ5RNUp22bd5NADWLHorULWQ=", @@ -22769,7 +22609,7 @@ "type": "indirect" } }, - "nixpkgs_87": { + "nixpkgs_86": { "locked": { "lastModified": 1656401090, "narHash": "sha256-bUS2nfQsvTQW2z8SK7oEFSElbmoBahOPtbXPm0AL3I4=", @@ -22783,7 +22623,7 @@ "type": "indirect" } }, - "nixpkgs_88": { + "nixpkgs_87": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22798,7 +22638,7 @@ "type": "indirect" } }, - "nixpkgs_89": { + "nixpkgs_88": { "locked": { "lastModified": 1656809537, "narHash": "sha256-pwXBYG3ThN4ccJjvcdNdonQ8Wyv0y/iYdnuesiFUY1U=", @@ -22813,38 +22653,38 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_89": { "locked": { - "lastModified": 1684171562, - "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", - "owner": "nixos", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { - "owner": "nixos", - "ref": "release-22.11", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" } }, - "nixpkgs_90": { + "nixpkgs_9": { "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "lastModified": 1677543769, + "narHash": "sha256-LwbqS8vGisXl2WHpK9r5+kodr0zoIT8F2YB0R4y1TsA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "rev": "b26d52c9feb6476580016e78935cbf96eb3e2115", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" } }, - "nixpkgs_91": { + "nixpkgs_90": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -22859,7 +22699,7 @@ "type": "github" } }, - "nixpkgs_92": { + "nixpkgs_91": { "locked": { "lastModified": 1656947410, "narHash": "sha256-htDR/PZvjUJGyrRJsVqDmXR8QeoswBaRLzHt13fd0iY=", @@ -22875,7 +22715,7 @@ "type": "github" } }, - "nixpkgs_93": { + "nixpkgs_92": { "locked": { "lastModified": 1658311025, "narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=", @@ -22891,7 +22731,7 @@ "type": "github" } }, - "nixpkgs_94": { + "nixpkgs_93": { "locked": { "lastModified": 1642451377, "narHash": "sha256-hvAuYDUN8XIrcQKE6wDw4LjTCcwrTp2B1i1i/5vfDMQ=", @@ -22906,7 +22746,7 @@ "type": "github" } }, - "nixpkgs_95": { + "nixpkgs_94": { "locked": { "lastModified": 1653920503, "narHash": "sha256-BBeCZwZImtjP3oYy4WogkQYy5OxNyfNciVSc1AfZgLQ=", @@ -22922,7 +22762,7 @@ "type": "github" } }, - "nixpkgs_96": { + "nixpkgs_95": { "locked": { "lastModified": 1650469885, "narHash": "sha256-BuILRZ6pzMnGey8/irbjGq1oo3vIvZa1pitSdZCmIXA=", @@ -22938,7 +22778,7 @@ "type": "github" } }, - "nixpkgs_97": { + "nixpkgs_96": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -22953,7 +22793,7 @@ "type": "indirect" } }, - "nixpkgs_98": { + "nixpkgs_97": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -22969,7 +22809,7 @@ "type": "github" } }, - "nixpkgs_99": { + "nixpkgs_98": { "locked": { "lastModified": 1713714899, "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", @@ -22985,10 +22825,26 @@ "type": "github" } }, + "nixpkgs_99": { + "locked": { + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nomad": { "inputs": { "nix": "nix_8", - "nixpkgs": "nixpkgs_46", + "nixpkgs": "nixpkgs_45", "utils": "utils_10" }, "locked": { @@ -23011,7 +22867,7 @@ "devshell": "devshell_6", "inclusive": "inclusive_2", "nix": "nix_9", - "nixpkgs": "nixpkgs_48", + "nixpkgs": "nixpkgs_47", "utils": "utils_11" }, "locked": { @@ -23033,7 +22889,7 @@ "devshell": "devshell_9", "inclusive": "inclusive_5", "nix": "nix_11", - "nixpkgs": "nixpkgs_60", + "nixpkgs": "nixpkgs_59", "utils": "utils_16" }, "locked": { @@ -23055,7 +22911,7 @@ "devshell": "devshell_16", "inclusive": "inclusive_10", "nix": "nix_16", - "nixpkgs": "nixpkgs_77", + "nixpkgs": "nixpkgs_76", "utils": "utils_25" }, "locked": { @@ -23076,7 +22932,7 @@ "inputs": { "devshell": "devshell_7", "inclusive": "inclusive_3", - "nixpkgs": "nixpkgs_49", + "nixpkgs": "nixpkgs_48", "utils": "utils_12" }, "locked": { @@ -23097,7 +22953,7 @@ "inputs": { "devshell": "devshell_10", "inclusive": "inclusive_6", - "nixpkgs": "nixpkgs_61", + "nixpkgs": "nixpkgs_60", "utils": "utils_17" }, "locked": { @@ -23118,7 +22974,7 @@ "inputs": { "devshell": "devshell_17", "inclusive": "inclusive_11", - "nixpkgs": "nixpkgs_78", + "nixpkgs": "nixpkgs_77", "utils": "utils_26" }, "locked": { @@ -23138,7 +22994,7 @@ "nomad_2": { "inputs": { "nix": "nix_15", - "nixpkgs": "nixpkgs_75", + "nixpkgs": "nixpkgs_74", "utils": "utils_24" }, "locked": { @@ -23158,11 +23014,11 @@ }, "nosys": { "locked": { - "lastModified": 1667881534, - "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", + "lastModified": 1668010795, + "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", "owner": "divnix", "repo": "nosys", - "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", + "rev": "feade0141487801c71ff55623b421ed535dbdefa", "type": "github" }, "original": { @@ -23173,11 +23029,11 @@ }, "nosys_2": { "locked": { - "lastModified": 1668010795, - "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", + "lastModified": 1667881534, + "narHash": "sha256-FhwJ15uPLRsvaxtt/bNuqE/ykMpNAPF0upozFKhTtXM=", "owner": "divnix", "repo": "nosys", - "rev": "feade0141487801c71ff55623b421ed535dbdefa", + "rev": "2d0d5207f6a230e9d0f660903f8db9807b54814f", "type": "github" }, "original": { @@ -23231,21 +23087,6 @@ "type": "github" } }, - "nosys_6": { - "locked": { - "lastModified": 1668010795, - "narHash": "sha256-JBDVBnos8g0toU7EhIIqQ1If5m/nyBqtHhL3sicdPwI=", - "owner": "divnix", - "repo": "nosys", - "rev": "feade0141487801c71ff55623b421ed535dbdefa", - "type": "github" - }, - "original": { - "owner": "divnix", - "repo": "nosys", - "type": "github" - } - }, "offchain-metadata-tools-service": { "flake": false, "locked": { @@ -23623,11 +23464,11 @@ "ops-lib": { "flake": false, "locked": { - "lastModified": 1675186784, - "narHash": "sha256-HqDtrvk1l7YeREzCSEpUtChtlEgT6Tww9WrJiozjukc=", + "lastModified": 1713366514, + "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", "owner": "input-output-hk", "repo": "ops-lib", - "rev": "5be29ed53b2a4cbbf4cf326fa2e9c1f2b754d26d", + "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", "type": "github" }, "original": { @@ -23655,11 +23496,11 @@ "ops-lib_3": { "flake": false, "locked": { - "lastModified": 1713366514, - "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", + "lastModified": 1675186784, + "narHash": "sha256-HqDtrvk1l7YeREzCSEpUtChtlEgT6Tww9WrJiozjukc=", "owner": "input-output-hk", "repo": "ops-lib", - "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", + "rev": "5be29ed53b2a4cbbf4cf326fa2e9c1f2b754d26d", "type": "github" }, "original": { @@ -23719,11 +23560,11 @@ "ops-lib_7": { "flake": false, "locked": { - "lastModified": 1675186784, - "narHash": "sha256-HqDtrvk1l7YeREzCSEpUtChtlEgT6Tww9WrJiozjukc=", + "lastModified": 1713366514, + "narHash": "sha256-0hNlv+grFTE+TeXIbxSY97QoEEaUupOKMusZ4PesdrQ=", "owner": "input-output-hk", "repo": "ops-lib", - "rev": "5be29ed53b2a4cbbf4cf326fa2e9c1f2b754d26d", + "rev": "19d83fa8eab1c0b7765f736eb4e8569d84d3e39d", "type": "github" }, "original": { @@ -23739,7 +23580,7 @@ "cardano-nix", "crane" ], - "utils": "utils_6" + "utils": "utils_8" }, "locked": { "lastModified": 1720226386, @@ -23758,36 +23599,30 @@ }, "paisano": { "inputs": { + "call-flake": "call-flake", "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "nixpkgs" ], - "nosys": "nosys_2", + "nosys": "nosys", "yants": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "yants" ] }, "locked": { - "lastModified": 1677437285, - "narHash": "sha256-YGfMothgUq1T9wMJYEhOSvdIiD/8gLXO1YcZA6hyIWU=", + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", "owner": "paisano-nix", "repo": "core", - "rev": "5f2fc05e98e001cb1cf9535ded09e05d90cec131", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", "type": "github" }, "original": { "owner": "paisano-nix", + "ref": "0.2.0", "repo": "core", "type": "github" } @@ -23817,30 +23652,6 @@ "type": "github" } }, - "paisano-actions_2": { - "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "paisano-mdbook-preprocessor", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1677306424, - "narHash": "sha256-H9/dI2rGEbKo4KEisqbRPHFG2ajF8Tm111NPdKGIf28=", - "owner": "paisano-nix", - "repo": "actions", - "rev": "65ec4e080b3480167fc1a748c89a05901eea9a9b", - "type": "github" - }, - "original": { - "owner": "paisano-nix", - "repo": "actions", - "type": "github" - } - }, "paisano-mdbook-preprocessor": { "inputs": { "crane": "crane", @@ -23874,38 +23685,24 @@ "type": "github" } }, - "paisano-mdbook-preprocessor_2": { - "inputs": { - "crane": "crane_3", - "fenix": "fenix_9", - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "nixpkgs" - ], - "paisano-actions": "paisano-actions_2", - "std": [ - "hydra", - "cardano-node", - "std" - ] - }, + "paisano-tui": { + "flake": false, "locked": { - "lastModified": 1680654400, - "narHash": "sha256-Qdpio+ldhUK3zfl22Mhf8HUULdUOJXDWDdO7MIK69OU=", + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", "owner": "paisano-nix", - "repo": "mdbook-paisano-preprocessor", - "rev": "11a8fc47f574f194a7ae7b8b98001f6143ba4cf1", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", "type": "github" }, "original": { "owner": "paisano-nix", - "repo": "mdbook-paisano-preprocessor", + "ref": "v0.5.0", + "repo": "tui", "type": "github" } }, - "paisano-tui": { + "paisano-tui_2": { "inputs": { "nixpkgs": [ "ctl", @@ -23939,7 +23736,7 @@ "type": "github" } }, - "paisano-tui_2": { + "paisano-tui_3": { "inputs": { "nixpkgs": [ "ctl", @@ -23970,90 +23767,31 @@ "type": "github" } }, - "paisano-tui_3": { - "flake": false, - "locked": { - "lastModified": 1708637035, - "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", - "owner": "paisano-nix", - "repo": "tui", - "rev": "231761b260587a64817e4ffae3afc15defaa15db", - "type": "github" - }, - "original": { - "owner": "paisano-nix", - "ref": "v0.5.0", - "repo": "tui", - "type": "github" - } - }, - "paisano-tui_4": { - "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "blank" - ], - "std": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std" - ] - }, - "locked": { - "lastModified": 1677533603, - "narHash": "sha256-Nq1dH/qn7Wg/Tj1+id+ZM3o0fzqonW73jAgY3mCp35M=", - "owner": "paisano-nix", - "repo": "tui", - "rev": "802958d123b0a5437441be0cab1dee487b0ed3eb", - "type": "github" - }, - "original": { - "owner": "paisano-nix", - "repo": "tui", - "type": "github" - } - }, - "paisano-tui_5": { - "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "blank" - ], - "std": [ - "hydra", - "cardano-node", - "std" - ] - }, - "locked": { - "lastModified": 1681847764, - "narHash": "sha256-mdd7PJW1BZvxy0cIKsPfAO+ohVl/V7heE5ZTAHzTdv8=", - "owner": "paisano-nix", - "repo": "tui", - "rev": "3096bad91cae73ab8ab3367d31f8a143d248a244", - "type": "github" - }, - "original": { - "owner": "paisano-nix", - "ref": "0.1.1", - "repo": "tui", - "type": "github" - } - }, + "paisano-tui_4": { + "flake": false, + "locked": { + "lastModified": 1708637035, + "narHash": "sha256-R19YURSK+MY/Rw6FZnojQS9zuDh+OoTAyngQAjjoubc=", + "owner": "paisano-nix", + "repo": "tui", + "rev": "231761b260587a64817e4ffae3afc15defaa15db", + "type": "github" + }, + "original": { + "owner": "paisano-nix", + "ref": "v0.5.0", + "repo": "tui", + "type": "github" + } + }, "paisano_2": { "inputs": { "nixpkgs": [ "ctl", "cardano-nix", "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "nixpkgs" ], @@ -24062,100 +23800,69 @@ "ctl", "cardano-nix", "cardano-node-8.7.3", + "cardano-automation", + "tullia", "std", "yants" ] }, "locked": { - "lastModified": 1686862844, - "narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=", + "lastModified": 1677437285, + "narHash": "sha256-YGfMothgUq1T9wMJYEhOSvdIiD/8gLXO1YcZA6hyIWU=", "owner": "paisano-nix", "repo": "core", - "rev": "6674b3d3577212c1eeecd30d62d52edbd000e726", + "rev": "5f2fc05e98e001cb1cf9535ded09e05d90cec131", "type": "github" }, "original": { "owner": "paisano-nix", - "ref": "0.1.1", "repo": "core", "type": "github" } }, "paisano_3": { "inputs": { - "call-flake": "call-flake", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "nixpkgs" ], "nosys": "nosys_4", "yants": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "yants" ] }, "locked": { - "lastModified": 1708640854, - "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", + "lastModified": 1686862844, + "narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=", "owner": "paisano-nix", "repo": "core", - "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", + "rev": "6674b3d3577212c1eeecd30d62d52edbd000e726", "type": "github" }, "original": { "owner": "paisano-nix", - "ref": "0.2.0", + "ref": "0.1.1", "repo": "core", "type": "github" } }, "paisano_4": { "inputs": { + "call-flake": "call-flake_2", "nixpkgs": [ "hydra", "cardano-node", - "cardano-automation", - "tullia", "std", "nixpkgs" ], "nosys": "nosys_5", - "yants": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "yants" - ] - }, - "locked": { - "lastModified": 1677437285, - "narHash": "sha256-YGfMothgUq1T9wMJYEhOSvdIiD/8gLXO1YcZA6hyIWU=", - "owner": "paisano-nix", - "repo": "core", - "rev": "5f2fc05e98e001cb1cf9535ded09e05d90cec131", - "type": "github" - }, - "original": { - "owner": "paisano-nix", - "repo": "core", - "type": "github" - } - }, - "paisano_5": { - "inputs": { - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "nixpkgs" - ], - "nosys": "nosys_6", "yants": [ "hydra", "cardano-node", @@ -24164,16 +23871,16 @@ ] }, "locked": { - "lastModified": 1686862844, - "narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=", + "lastModified": 1708640854, + "narHash": "sha256-EpcAmvIS4ErqhXtVEfd2GPpU/E/s8CCRSfYzk6FZ/fY=", "owner": "paisano-nix", "repo": "core", - "rev": "6674b3d3577212c1eeecd30d62d52edbd000e726", + "rev": "adcf742bc9463c08764ca9e6955bd5e7dcf3a3fe", "type": "github" }, "original": { "owner": "paisano-nix", - "ref": "0.1.1", + "ref": "0.2.0", "repo": "core", "type": "github" } @@ -24224,7 +23931,7 @@ "haskell-language-server": "haskell-language-server", "haskell-nix": "haskell-nix_7", "iohk-nix": "iohk-nix_7", - "nixpkgs": "nixpkgs_125", + "nixpkgs": "nixpkgs_123", "pre-commit-hooks-nix": "pre-commit-hooks-nix_3", "sphinxcontrib-haddock": "sphinxcontrib-haddock", "std": "std_13", @@ -24252,7 +23959,7 @@ "haskell-language-server": "haskell-language-server_2", "haskell-nix": "haskell-nix_10", "iohk-nix": "iohk-nix_10", - "nixpkgs": "nixpkgs_147", + "nixpkgs": "nixpkgs_145", "pre-commit-hooks-nix": "pre-commit-hooks-nix_5", "sphinxcontrib-haddock": "sphinxcontrib-haddock_2", "std": "std_18", @@ -24276,7 +23983,7 @@ "inputs": { "CHaP": "CHaP_9", "easy-purescript-nix": "easy-purescript-nix_2", - "flake-utils": "flake-utils_72", + "flake-utils": "flake-utils_70", "haskellNix": "haskellNix_9", "nixpkgs": [ "hydra-auction-onchain", @@ -24304,7 +24011,7 @@ }, "poetry2nix": { "inputs": { - "flake-utils": "flake-utils_32", + "flake-utils": "flake-utils_31", "nixpkgs": [ "ctl", "db-sync", @@ -24331,8 +24038,8 @@ }, "pre-commit-hooks": { "inputs": { - "flake-utils": "flake-utils_38", - "nixpkgs": "nixpkgs_84" + "flake-utils": "flake-utils_37", + "nixpkgs": "nixpkgs_83" }, "locked": { "lastModified": 1639823344, @@ -24350,8 +24057,8 @@ }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_13", - "flake-utils": "flake-utils_15", + "flake-compat": "flake-compat_16", + "flake-utils": "flake-utils_19", "gitignore": "gitignore", "nixpkgs": [ "ctl", @@ -24380,8 +24087,8 @@ }, "pre-commit-hooks-nix_2": { "inputs": { - "flake-compat": "flake-compat_33", - "flake-utils": "flake-utils_59", + "flake-compat": "flake-compat_32", + "flake-utils": "flake-utils_57", "gitignore": "gitignore_2", "nixpkgs": [ "hydra-auction-onchain", @@ -24409,7 +24116,7 @@ }, "pre-commit-hooks-nix_3": { "inputs": { - "flake-utils": "flake-utils_65", + "flake-utils": "flake-utils_63", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -24436,8 +24143,8 @@ }, "pre-commit-hooks-nix_4": { "inputs": { - "flake-compat": "flake-compat_43", - "flake-utils": "flake-utils_82", + "flake-compat": "flake-compat_42", + "flake-utils": "flake-utils_80", "gitignore": "gitignore_4", "nixpkgs": [ "hydra-auction-onchain", @@ -24464,7 +24171,7 @@ }, "pre-commit-hooks-nix_5": { "inputs": { - "flake-utils": "flake-utils_88", + "flake-utils": "flake-utils_86", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -24490,10 +24197,10 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_38", - "flake-utils": "flake-utils_71", + "flake-compat": "flake-compat_37", + "flake-utils": "flake-utils_69", "gitignore": "gitignore_3", - "nixpkgs": "nixpkgs_129", + "nixpkgs": "nixpkgs_127", "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { @@ -24512,8 +24219,8 @@ }, "pre-commit-hooks_3": { "inputs": { - "flake-utils": "flake-utils_77", - "nixpkgs": "nixpkgs_134" + "flake-utils": "flake-utils_75", + "nixpkgs": "nixpkgs_132" }, "locked": { "lastModified": 1667992213, @@ -24531,10 +24238,10 @@ }, "pre-commit-hooks_4": { "inputs": { - "flake-compat": "flake-compat_48", - "flake-utils": "flake-utils_94", + "flake-compat": "flake-compat_47", + "flake-utils": "flake-utils_92", "gitignore": "gitignore_5", - "nixpkgs": "nixpkgs_151", + "nixpkgs": "nixpkgs_149", "nixpkgs-stable": "nixpkgs-stable_5" }, "locked": { @@ -24551,11 +24258,26 @@ "type": "github" } }, + "process-compose-flake": { + "locked": { + "lastModified": 1718031437, + "narHash": "sha256-+RrlkAVZx0QhyeHAGFJnjST+/7Dc3zsDU3zAKXoDXaI=", + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "rev": "9344fac44edced4c686721686a6ad904d067c546", + "type": "github" + }, + "original": { + "owner": "Platonic-Systems", + "repo": "process-compose-flake", + "type": "github" + } + }, "ragenix": { "inputs": { "agenix": "agenix_3", - "flake-utils": "flake-utils_23", - "nixpkgs": "nixpkgs_50", + "flake-utils": "flake-utils_22", + "nixpkgs": "nixpkgs_49", "rust-overlay": "rust-overlay_2" }, "locked": { @@ -24575,8 +24297,8 @@ "ragenix_2": { "inputs": { "agenix": "agenix_4", - "flake-utils": "flake-utils_25", - "nixpkgs": "nixpkgs_53", + "flake-utils": "flake-utils_24", + "nixpkgs": "nixpkgs_52", "rust-overlay": "rust-overlay_3" }, "locked": { @@ -24596,8 +24318,8 @@ "ragenix_3": { "inputs": { "agenix": "agenix_5", - "flake-utils": "flake-utils_27", - "nixpkgs": "nixpkgs_62", + "flake-utils": "flake-utils_26", + "nixpkgs": "nixpkgs_61", "rust-overlay": "rust-overlay_4" }, "locked": { @@ -24617,8 +24339,8 @@ "ragenix_4": { "inputs": { "agenix": "agenix_7", - "flake-utils": "flake-utils_34", - "nixpkgs": "nixpkgs_79", + "flake-utils": "flake-utils_33", + "nixpkgs": "nixpkgs_78", "rust-overlay": "rust-overlay_5" }, "locked": { @@ -24638,8 +24360,8 @@ "ragenix_5": { "inputs": { "agenix": "agenix_8", - "flake-utils": "flake-utils_36", - "nixpkgs": "nixpkgs_82", + "flake-utils": "flake-utils_35", + "nixpkgs": "nixpkgs_81", "rust-overlay": "rust-overlay_6" }, "locked": { @@ -24658,6 +24380,7 @@ }, "root": { "inputs": { + "cardano-node": "cardano-node", "ctl": "ctl", "hydra": "hydra_13", "hydra-auction-onchain": "hydra-auction-onchain", @@ -24803,23 +24526,6 @@ "type": "github" } }, - "rust-analyzer-src_9": { - "flake": false, - "locked": { - "lastModified": 1677221702, - "narHash": "sha256-1M+58rC4eTCWNmmX0hQVZP20t3tfYNunl9D/PrGUyGE=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "f5401f620699b26ed9d47a1d2e838143a18dbe3b", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, "rust-overlay": { "inputs": { "flake-utils": [ @@ -25028,39 +24734,6 @@ "type": "github" } }, - "rust-overlay_7": { - "inputs": { - "flake-utils": [ - "hydra", - "cardano-node", - "std", - "paisano-mdbook-preprocessor", - "crane", - "flake-utils" - ], - "nixpkgs": [ - "hydra", - "cardano-node", - "std", - "paisano-mdbook-preprocessor", - "crane", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1675391458, - "narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "secp256k1": { "flake": false, "locked": { @@ -25369,7 +25042,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_17", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -25437,11 +25110,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1701043780, - "narHash": "sha256-d5CYT7WGEaL6IFNmUg4JUb+onxI/tO1qgHs/TCIKB3A=", + "lastModified": 1718756571, + "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cb49435b81adf0549589c51f39b5b38b4369f106", + "rev": "027672fb6fd45828b0e623c8152572d4058429ad", "type": "github" }, "original": { @@ -25453,11 +25126,11 @@ "stackage_10": { "flake": false, "locked": { - "lastModified": 1712276009, - "narHash": "sha256-KlRJ+CGXRueyz2VRLDwra5JBNaI2GkltNJAjHa7fowE=", + "lastModified": 1718756571, + "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "758035379a5ac4390879e4cd5164abe0c96fcea7", + "rev": "027672fb6fd45828b0e623c8152572d4058429ad", "type": "github" }, "original": { @@ -25469,11 +25142,11 @@ "stackage_11": { "flake": false, "locked": { - "lastModified": 1716164362, - "narHash": "sha256-BXJRk20IcsG8uhuLWxA0Lfzx6VVKNEGQ/TINDkd6MH0=", + "lastModified": 1720571013, + "narHash": "sha256-k/I+CPMX24J6Gi1/pyJPLloadTj8nO95H0RaIRKoo0c=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f27332e59a188f096a67a46fb5d33b0ea1d5a221", + "rev": "2d54320b933f0ab31446bd12742874b6640053ad", "type": "github" }, "original": { @@ -25597,11 +25270,11 @@ "stackage_2": { "flake": false, "locked": { - "lastModified": 1685491814, - "narHash": "sha256-OQX+h5hcDptW6HVrYkBL7dtgqiaiz9zn6iMYv+0CDzc=", + "lastModified": 1701043780, + "narHash": "sha256-d5CYT7WGEaL6IFNmUg4JUb+onxI/tO1qgHs/TCIKB3A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "678b4297ccef8bbcd83294e47e1a9042034bdbd0", + "rev": "cb49435b81adf0549589c51f39b5b38b4369f106", "type": "github" }, "original": { @@ -25613,11 +25286,11 @@ "stackage_3": { "flake": false, "locked": { - "lastModified": 1700438989, - "narHash": "sha256-x+7Qtboko7ds8CU8pq2sIZiD45DauYoX9LxBfwQr/hs=", + "lastModified": 1685491814, + "narHash": "sha256-OQX+h5hcDptW6HVrYkBL7dtgqiaiz9zn6iMYv+0CDzc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9c2015334cc77837b8454b3b10ef4f711a256f6f", + "rev": "678b4297ccef8bbcd83294e47e1a9042034bdbd0", "type": "github" }, "original": { @@ -25629,11 +25302,11 @@ "stackage_4": { "flake": false, "locked": { - "lastModified": 1718756571, - "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "lastModified": 1700438989, + "narHash": "sha256-x+7Qtboko7ds8CU8pq2sIZiD45DauYoX9LxBfwQr/hs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "rev": "9c2015334cc77837b8454b3b10ef4f711a256f6f", "type": "github" }, "original": { @@ -25725,7 +25398,7 @@ "statix": { "inputs": { "fenix": "fenix", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1676888642, @@ -25743,47 +25416,36 @@ }, "std": { "inputs": { - "arion": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", - "tullia", - "std", - "blank" - ], "blank": "blank", "devshell": "devshell", "dmerge": "dmerge", - "flake-utils": "flake-utils_8", - "incl": "incl", + "flake-utils": "flake-utils_3", "makes": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "blank" ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", "microvm": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "blank" ], "n2c": "n2c", "nixago": "nixago", - "nixpkgs": "nixpkgs_21", - "nosys": "nosys", + "nixpkgs": "nixpkgs_3", "yants": "yants" }, "locked": { - "lastModified": 1674526466, - "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", "owner": "divnix", "repo": "std", - "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { @@ -25800,12 +25462,17 @@ "std", "blank" ], - "blank": "blank_10", - "devshell": "devshell_22", + "blank": "blank_10", + "devshell": [ + "hydra", + "cardano-node", + "std", + "blank" + ], "dmerge": "dmerge_9", - "flake-utils": "flake-utils_52", "haumea": "haumea_3", - "incl": "incl_6", + "incl": "incl_5", + "lib": "lib_2", "makes": [ "hydra", "cardano-node", @@ -25818,20 +25485,35 @@ "std", "blank" ], - "n2c": "n2c_8", - "nixago": "nixago_8", - "nixpkgs": "nixpkgs_107", - "paisano": "paisano_5", - "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor_2", - "paisano-tui": "paisano-tui_5", + "n2c": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "nixago": [ + "hydra", + "cardano-node", + "std", + "blank" + ], + "nixpkgs": "nixpkgs_105", + "paisano": "paisano_4", + "paisano-tui": "paisano-tui_4", + "terranix": [ + "hydra", + "cardano-node", + "std", + "blank" + ], "yants": "yants_12" }, "locked": { - "lastModified": 1687300684, - "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", + "lastModified": 1715201063, + "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", "owner": "divnix", "repo": "std", - "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", + "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", "type": "github" }, "original": { @@ -25843,9 +25525,9 @@ "std_11": { "inputs": { "blank": "blank_11", - "devshell": "devshell_23", + "devshell": "devshell_22", "dmerge": "dmerge_10", - "flake-utils": "flake-utils_57", + "flake-utils": "flake-utils_55", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -25855,7 +25537,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_4", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_5", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -25865,9 +25547,9 @@ "std", "blank" ], - "n2c": "n2c_9", - "nixago": "nixago_9", - "nixpkgs": "nixpkgs_116", + "n2c": "n2c_8", + "nixago": "nixago_8", + "nixpkgs": "nixpkgs_114", "yants": "yants_13" }, "locked": { @@ -25887,9 +25569,9 @@ "std_12": { "inputs": { "blank": "blank_12", - "devshell": "devshell_24", + "devshell": "devshell_23", "dmerge": "dmerge_11", - "flake-utils": "flake-utils_62", + "flake-utils": "flake-utils_60", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -25901,7 +25583,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_5", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_6", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -25913,9 +25595,9 @@ "std", "blank" ], - "n2c": "n2c_10", - "nixago": "nixago_10", - "nixpkgs": "nixpkgs_122", + "n2c": "n2c_9", + "nixago": "nixago_9", + "nixpkgs": "nixpkgs_120", "yants": "yants_14" }, "locked": { @@ -25935,9 +25617,9 @@ "std_13": { "inputs": { "blank": "blank_13", - "devshell": "devshell_25", + "devshell": "devshell_24", "dmerge": "dmerge_12", - "flake-utils": "flake-utils_66", + "flake-utils": "flake-utils_64", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -25948,7 +25630,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_6", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_7", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -25959,8 +25641,8 @@ "std", "blank" ], - "n2c": "n2c_11", - "nixago": "nixago_11", + "n2c": "n2c_10", + "nixago": "nixago_10", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -25989,9 +25671,9 @@ "std_14": { "inputs": { "blank": "blank_14", - "devshell": "devshell_26", + "devshell": "devshell_25", "dmerge": "dmerge_13", - "flake-utils": "flake-utils_69", + "flake-utils": "flake-utils_67", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -26003,7 +25685,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_7", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_8", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -26015,9 +25697,9 @@ "std", "blank" ], - "n2c": "n2c_12", - "nixago": "nixago_12", - "nixpkgs": "nixpkgs_128", + "n2c": "n2c_11", + "nixago": "nixago_11", + "nixpkgs": "nixpkgs_126", "yants": "yants_16" }, "locked": { @@ -26037,9 +25719,9 @@ "std_15": { "inputs": { "blank": "blank_15", - "devshell": "devshell_27", + "devshell": "devshell_26", "dmerge": "dmerge_14", - "flake-utils": "flake-utils_75", + "flake-utils": "flake-utils_73", "makes": [ "hydra-auction-onchain", "liqwid-libs", @@ -26049,7 +25731,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_8", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_9", "microvm": [ "hydra-auction-onchain", "liqwid-libs", @@ -26059,9 +25741,9 @@ "std", "blank" ], - "n2c": "n2c_13", - "nixago": "nixago_13", - "nixpkgs": "nixpkgs_133", + "n2c": "n2c_12", + "nixago": "nixago_12", + "nixpkgs": "nixpkgs_131", "yants": "yants_17" }, "locked": { @@ -26081,9 +25763,9 @@ "std_16": { "inputs": { "blank": "blank_16", - "devshell": "devshell_28", + "devshell": "devshell_27", "dmerge": "dmerge_15", - "flake-utils": "flake-utils_80", + "flake-utils": "flake-utils_78", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -26092,7 +25774,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_9", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_10", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -26101,9 +25783,9 @@ "std", "blank" ], - "n2c": "n2c_14", - "nixago": "nixago_14", - "nixpkgs": "nixpkgs_138", + "n2c": "n2c_13", + "nixago": "nixago_13", + "nixpkgs": "nixpkgs_136", "yants": "yants_18" }, "locked": { @@ -26123,9 +25805,9 @@ "std_17": { "inputs": { "blank": "blank_17", - "devshell": "devshell_29", + "devshell": "devshell_28", "dmerge": "dmerge_16", - "flake-utils": "flake-utils_85", + "flake-utils": "flake-utils_83", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -26136,7 +25818,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_10", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_11", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -26147,9 +25829,9 @@ "std", "blank" ], - "n2c": "n2c_15", - "nixago": "nixago_15", - "nixpkgs": "nixpkgs_144", + "n2c": "n2c_14", + "nixago": "nixago_14", + "nixpkgs": "nixpkgs_142", "yants": "yants_19" }, "locked": { @@ -26169,9 +25851,9 @@ "std_18": { "inputs": { "blank": "blank_18", - "devshell": "devshell_30", + "devshell": "devshell_29", "dmerge": "dmerge_17", - "flake-utils": "flake-utils_89", + "flake-utils": "flake-utils_87", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -26181,7 +25863,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_11", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_12", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -26191,8 +25873,8 @@ "std", "blank" ], - "n2c": "n2c_16", - "nixago": "nixago_16", + "n2c": "n2c_15", + "nixago": "nixago_15", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -26220,9 +25902,9 @@ "std_19": { "inputs": { "blank": "blank_19", - "devshell": "devshell_31", + "devshell": "devshell_30", "dmerge": "dmerge_18", - "flake-utils": "flake-utils_92", + "flake-utils": "flake-utils_90", "makes": [ "hydra-auction-onchain", "liqwid-nix", @@ -26233,7 +25915,7 @@ "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_12", + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_13", "microvm": [ "hydra-auction-onchain", "liqwid-nix", @@ -26244,9 +25926,9 @@ "std", "blank" ], - "n2c": "n2c_17", - "nixago": "nixago_17", - "nixpkgs": "nixpkgs_150", + "n2c": "n2c_16", + "nixago": "nixago_16", + "nixpkgs": "nixpkgs_148", "yants": "yants_21" }, "locked": { @@ -26266,50 +25948,56 @@ "std_2": { "inputs": { "arion": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "blank" ], "blank": "blank_2", - "devshell": "devshell_2", + "devshell": [ + "cardano-node", + "std", + "blank" + ], "dmerge": "dmerge_2", - "flake-utils": "flake-utils_11", - "incl": "incl_2", + "haumea": "haumea", + "incl": "incl", + "lib": "lib", "makes": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "blank" ], "microvm": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", "blank" ], - "n2c": "n2c_2", - "nixago": "nixago_2", - "nixpkgs": "nixpkgs_24", + "n2c": [ + "cardano-node", + "std", + "blank" + ], + "nixago": [ + "cardano-node", + "std", + "blank" + ], + "nixpkgs": "nixpkgs_6", "paisano": "paisano", "paisano-tui": "paisano-tui", + "terranix": [ + "cardano-node", + "std", + "blank" + ], "yants": "yants_2" }, "locked": { - "lastModified": 1677533652, - "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", + "lastModified": 1715201063, + "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", "owner": "divnix", "repo": "std", - "rev": "490542f624412662e0411d8cb5a9af988ef56633", + "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", "type": "github" }, "original": { @@ -26323,44 +26011,44 @@ "arion": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", "blank" ], "blank": "blank_3", - "devshell": "devshell_3", + "devshell": "devshell_2", "dmerge": "dmerge_3", - "flake-utils": "flake-utils_13", - "haumea": "haumea", - "incl": "incl_3", + "flake-utils": "flake-utils_12", + "incl": "incl_2", "makes": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", "blank" ], "microvm": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", "blank" ], - "n2c": "n2c_3", - "nixago": "nixago_3", - "nixpkgs": "nixpkgs_29", - "paisano": "paisano_2", - "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor", - "paisano-tui": "paisano-tui_2", + "n2c": "n2c_2", + "nixago": "nixago_2", + "nixpkgs": "nixpkgs_27", + "nosys": "nosys_2", "yants": "yants_3" }, "locked": { - "lastModified": 1687300684, - "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", + "lastModified": 1674526466, + "narHash": "sha256-tMTaS0bqLx6VJ+K+ZT6xqsXNpzvSXJTmogkraBGzymg=", "owner": "divnix", "repo": "std", - "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", + "rev": "516387e3d8d059b50e742a2ff1909ed3c8f82826", "type": "github" }, "original": { @@ -26371,38 +26059,51 @@ }, "std_4": { "inputs": { + "arion": [ + "ctl", + "cardano-nix", + "cardano-node-8.7.3", + "cardano-automation", + "tullia", + "std", + "blank" + ], "blank": "blank_4", - "devshell": "devshell_5", + "devshell": "devshell_3", "dmerge": "dmerge_4", - "flake-utils": "flake-utils_18", + "flake-utils": "flake-utils_15", + "incl": "incl_3", "makes": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", "blank" ], - "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor", "microvm": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", "blank" ], - "n2c": "n2c_4", - "nixago": "nixago_4", - "nixpkgs": "nixpkgs_33", + "n2c": "n2c_3", + "nixago": "nixago_3", + "nixpkgs": "nixpkgs_30", + "paisano": "paisano_2", + "paisano-tui": "paisano-tui_2", "yants": "yants_4" }, "locked": { - "lastModified": 1665513321, - "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", + "lastModified": 1677533652, + "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", "owner": "divnix", "repo": "std", - "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", + "rev": "490542f624412662e0411d8cb5a9af988ef56633", "type": "github" }, "original": { @@ -26415,62 +26116,45 @@ "inputs": { "arion": [ "ctl", - "cardano-node", - "std", - "blank" - ], - "blank": "blank_5", - "devshell": [ - "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "blank" ], + "blank": "blank_5", + "devshell": "devshell_4", "dmerge": "dmerge_5", + "flake-utils": "flake-utils_17", "haumea": "haumea_2", "incl": "incl_4", - "lib": "lib", "makes": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "blank" ], "microvm": [ "ctl", - "cardano-node", - "std", - "blank" - ], - "n2c": [ - "ctl", - "cardano-node", - "std", - "blank" - ], - "nixago": [ - "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", "blank" ], - "nixpkgs": "nixpkgs_37", + "n2c": "n2c_4", + "nixago": "nixago_4", + "nixpkgs": "nixpkgs_35", "paisano": "paisano_3", + "paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor", "paisano-tui": "paisano-tui_3", - "terranix": [ - "ctl", - "cardano-node", - "std", - "blank" - ], "yants": "yants_5" }, "locked": { - "lastModified": 1715201063, - "narHash": "sha256-LcLYV5CDhIiJs3MfxGZFKsXPR4PtfnY4toZ75GM+2Pw=", + "lastModified": 1687300684, + "narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", "owner": "divnix", "repo": "std", - "rev": "b6924a7d37a46fc1dda8efe405040e27ecf1bbd6", + "rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", "type": "github" }, "original": { @@ -26483,10 +26167,10 @@ "inputs": { "devshell": "devshell_11", "dmerge": "dmerge_6", - "flake-utils": "flake-utils_28", + "flake-utils": "flake-utils_27", "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_2", "nixago": "nixago_5", - "nixpkgs": "nixpkgs_63", + "nixpkgs": "nixpkgs_62", "yants": "yants_7" }, "locked": { @@ -26507,10 +26191,10 @@ "inputs": { "devshell": "devshell_19", "dmerge": "dmerge_7", - "flake-utils": "flake-utils_44", + "flake-utils": "flake-utils_43", "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_3", "nixago": "nixago_6", - "nixpkgs": "nixpkgs_93", + "nixpkgs": "nixpkgs_92", "yants": "yants_9" }, "locked": { @@ -26530,7 +26214,7 @@ "std_8": { "inputs": { "devshell": "devshell_20", - "nixpkgs": "nixpkgs_96", + "nixpkgs": "nixpkgs_95", "yants": "yants_10" }, "locked": { @@ -26549,19 +26233,10 @@ }, "std_9": { "inputs": { - "arion": [ - "hydra", - "cardano-node", - "cardano-automation", - "tullia", - "std", - "blank" - ], "blank": "blank_9", "devshell": "devshell_21", "dmerge": "dmerge_8", - "flake-utils": "flake-utils_50", - "incl": "incl_5", + "flake-utils": "flake-utils_49", "makes": [ "hydra", "cardano-node", @@ -26570,6 +26245,7 @@ "std", "blank" ], + "mdbook-kroki-preprocessor": "mdbook-kroki-preprocessor_4", "microvm": [ "hydra", "cardano-node", @@ -26580,17 +26256,15 @@ ], "n2c": "n2c_7", "nixago": "nixago_7", - "nixpkgs": "nixpkgs_102", - "paisano": "paisano_4", - "paisano-tui": "paisano-tui_4", + "nixpkgs": "nixpkgs_101", "yants": "yants_11" }, "locked": { - "lastModified": 1677533652, - "narHash": "sha256-H37dcuWAGZs6Yl9mewMNVcmSaUXR90/bABYFLT/nwhk=", + "lastModified": 1665513321, + "narHash": "sha256-D6Pacw9yf/HMs84KYuCxHXnNDL7v43gtcka5URagFqE=", "owner": "divnix", "repo": "std", - "rev": "490542f624412662e0411d8cb5a9af988ef56633", + "rev": "94a90eedb9cfc115b12ae8f6622d9904788559e4", "type": "github" }, "original": { @@ -26901,8 +26575,8 @@ }, "tailwind-haskell": { "inputs": { - "flake-utils": "flake-utils_39", - "nixpkgs": "nixpkgs_87" + "flake-utils": "flake-utils_38", + "nixpkgs": "nixpkgs_86" }, "locked": { "lastModified": 1654211622, @@ -26921,7 +26595,7 @@ }, "terraform-providers": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_18" }, "locked": { "lastModified": 1695893013, @@ -26941,8 +26615,8 @@ "inputs": { "bats-assert": "bats-assert", "bats-support": "bats-support", - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_13", + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_19", "terranix-examples": "terranix-examples" }, "locked": { @@ -27023,7 +26697,7 @@ "inputs": { "bats-assert": "bats-assert_2", "bats-support": "bats-support_2", - "flake-utils": "flake-utils_24", + "flake-utils": "flake-utils_23", "nixpkgs": [ "ctl", "db-sync", @@ -27053,7 +26727,7 @@ "inputs": { "bats-assert": "bats-assert_3", "bats-support": "bats-support_3", - "flake-utils": "flake-utils_29", + "flake-utils": "flake-utils_28", "nixpkgs": [ "ctl", "db-sync", @@ -27081,7 +26755,7 @@ "inputs": { "bats-assert": "bats-assert_4", "bats-support": "bats-support_4", - "flake-utils": "flake-utils_35", + "flake-utils": "flake-utils_34", "nixpkgs": [ "ctl", "db-sync", @@ -27110,10 +26784,10 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages", "emanote": "emanote_2", - "flake-parts": "flake-parts_16", + "flake-parts": "flake-parts_17", "haskell-nix": "haskell-nix_6", "iohk-nix": "iohk-nix_6", - "nixpkgs": "nixpkgs_123", + "nixpkgs": "nixpkgs_121", "plutus": "plutus" }, "locked": { @@ -27134,10 +26808,10 @@ "inputs": { "cardano-haskell-packages": "cardano-haskell-packages_2", "emanote": "emanote_3", - "flake-parts": "flake-parts_21", + "flake-parts": "flake-parts_22", "haskell-nix": "haskell-nix_9", "iohk-nix": "iohk-nix_9", - "nixpkgs": "nixpkgs_145", + "nixpkgs": "nixpkgs_143", "plutus": "plutus_2" }, "locked": { @@ -27156,7 +26830,7 @@ }, "treefmt-nix": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1683117219, @@ -27227,11 +26901,11 @@ ] }, "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "lastModified": 1721769617, + "narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009", "type": "github" }, "original": { @@ -27243,16 +26917,20 @@ "tullia": { "inputs": { "nix-nomad": "nix-nomad", - "nix2container": "nix2container_2", - "nixpkgs": "nixpkgs_20", + "nix2container": "nix2container", + "nixpkgs": [ + "cardano-node", + "cardano-automation", + "nixpkgs" + ], "std": "std" }, "locked": { - "lastModified": 1675695930, - "narHash": "sha256-B7rEZ/DBUMlK1AcJ9ajnAPPxqXY6zW2SBX+51bZV0Ac=", + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", "owner": "input-output-hk", "repo": "tullia", - "rev": "621365f2c725608f381b3ad5b57afef389fd4c31", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", "type": "github" }, "original": { @@ -27264,7 +26942,7 @@ "tullia_10": { "inputs": { "nix-nomad": "nix-nomad_9", - "nix2container": "nix2container_14", + "nix2container": "nix2container_13", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -27290,7 +26968,7 @@ "tullia_11": { "inputs": { "nix-nomad": "nix-nomad_10", - "nix2container": "nix2container_15", + "nix2container": "nix2container_14", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -27318,7 +26996,7 @@ "tullia_12": { "inputs": { "nix-nomad": "nix-nomad_11", - "nix2container": "nix2container_16", + "nix2container": "nix2container_15", "nixpkgs": [ "hydra-auction-onchain", "liqwid-nix", @@ -27348,21 +27026,15 @@ "inputs": { "nix-nomad": "nix-nomad_2", "nix2container": "nix2container_3", - "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "nixpkgs" - ], - "std": "std_2" + "nixpkgs": "nixpkgs_26", + "std": "std_3" }, "locked": { - "lastModified": 1684859161, - "narHash": "sha256-wOKutImA7CRL0rN+Ng80E72fD5FkVub7LLP2k9NICpg=", + "lastModified": 1675695930, + "narHash": "sha256-B7rEZ/DBUMlK1AcJ9ajnAPPxqXY6zW2SBX+51bZV0Ac=", "owner": "input-output-hk", "repo": "tullia", - "rev": "2964cff1a16eefe301bdddb508c49d94d04603d6", + "rev": "621365f2c725608f381b3ad5b57afef389fd4c31", "type": "github" }, "original": { @@ -27374,21 +27046,22 @@ "tullia_3": { "inputs": { "nix-nomad": "nix-nomad_3", - "nix2container": "nix2container_5", + "nix2container": "nix2container_4", "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "nixpkgs" ], "std": "std_4" }, "locked": { - "lastModified": 1668711738, - "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", + "lastModified": 1684859161, + "narHash": "sha256-wOKutImA7CRL0rN+Ng80E72fD5FkVub7LLP2k9NICpg=", "owner": "input-output-hk", "repo": "tullia", - "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", + "rev": "2964cff1a16eefe301bdddb508c49d94d04603d6", "type": "github" }, "original": { @@ -27399,8 +27072,8 @@ }, "tullia_4": { "inputs": { - "nix2container": "nix2container_7", - "nixpkgs": "nixpkgs_95", + "nix2container": "nix2container_6", + "nixpkgs": "nixpkgs_94", "std": "std_8" }, "locked": { @@ -27420,7 +27093,7 @@ "tullia_5": { "inputs": { "nix-nomad": "nix-nomad_4", - "nix2container": "nix2container_8", + "nix2container": "nix2container_7", "nixpkgs": [ "hydra", "cardano-node", @@ -27430,11 +27103,11 @@ "std": "std_9" }, "locked": { - "lastModified": 1684859161, - "narHash": "sha256-wOKutImA7CRL0rN+Ng80E72fD5FkVub7LLP2k9NICpg=", + "lastModified": 1668711738, + "narHash": "sha256-CBjky16o9pqsGE1bWu6nRlRajgSXMEk+yaFQLibqXcE=", "owner": "input-output-hk", "repo": "tullia", - "rev": "2964cff1a16eefe301bdddb508c49d94d04603d6", + "rev": "ead1f515c251f0e060060ef0e2356a51d3dfe4b0", "type": "github" }, "original": { @@ -27446,7 +27119,7 @@ "tullia_6": { "inputs": { "nix-nomad": "nix-nomad_5", - "nix2container": "nix2container_10", + "nix2container": "nix2container_9", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -27473,7 +27146,7 @@ "tullia_7": { "inputs": { "nix-nomad": "nix-nomad_6", - "nix2container": "nix2container_11", + "nix2container": "nix2container_10", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -27502,7 +27175,7 @@ "tullia_8": { "inputs": { "nix-nomad": "nix-nomad_7", - "nix2container": "nix2container_12", + "nix2container": "nix2container_11", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -27532,7 +27205,7 @@ "tullia_9": { "inputs": { "nix-nomad": "nix-nomad_8", - "nix2container": "nix2container_13", + "nix2container": "nix2container_12", "nixpkgs": [ "hydra-auction-onchain", "liqwid-libs", @@ -27557,15 +27230,12 @@ } }, "utils": { - "inputs": { - "systems": "systems" - }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -27725,12 +27395,15 @@ } }, "utils_2": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -27890,12 +27563,15 @@ } }, "utils_3": { + "inputs": { + "systems": "systems_2" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -27920,12 +27596,15 @@ } }, "utils_31": { + "inputs": { + "systems": "systems_7" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -28086,11 +27765,11 @@ }, "utils_7": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -28100,15 +27779,12 @@ } }, "utils_8": { - "inputs": { - "systems": "systems_6" - }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -28169,20 +27845,19 @@ "yants": { "inputs": { "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.1.1", + "cardano-node", + "cardano-automation", "tullia", "std", "nixpkgs" ] }, "locked": { - "lastModified": 1667096281, - "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", "owner": "divnix", "repo": "yants", - "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", "type": "github" }, "original": { @@ -28228,11 +27903,11 @@ ] }, "locked": { - "lastModified": 1667096281, - "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", + "lastModified": 1660507851, + "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", "owner": "divnix", "repo": "yants", - "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", "type": "github" }, "original": { @@ -28247,8 +27922,7 @@ "hydra", "cardano-node", "std", - "haumea", - "nixpkgs" + "lib" ] }, "locked": { @@ -28455,21 +28129,17 @@ "yants_2": { "inputs": { "nixpkgs": [ - "ctl", - "cardano-nix", - "cardano-node-8.7.3", - "cardano-automation", - "tullia", + "cardano-node", "std", - "nixpkgs" + "lib" ] }, "locked": { - "lastModified": 1667096281, - "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", + "lastModified": 1686863218, + "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", "owner": "divnix", "repo": "yants", - "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", + "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", "type": "github" }, "original": { @@ -28536,18 +28206,18 @@ "nixpkgs": [ "ctl", "cardano-nix", - "cardano-node-8.7.3", + "cardano-node-8.1.1", + "tullia", "std", - "haumea", "nixpkgs" ] }, "locked": { - "lastModified": 1686863218, - "narHash": "sha256-kooxYm3/3ornWtVBNHM3Zh020gACUyFX2G0VQXnB+mk=", + "lastModified": 1667096281, + "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", "owner": "divnix", "repo": "yants", - "rev": "8f0da0dba57149676aa4817ec0c880fbde7a648d", + "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", "type": "github" }, "original": { @@ -28560,7 +28230,8 @@ "inputs": { "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "cardano-automation", "tullia", "std", @@ -28568,11 +28239,11 @@ ] }, "locked": { - "lastModified": 1660507851, - "narHash": "sha256-BKjq7JnVuUR/xDtcv6Vm9GYGKAblisXrAgybor9hT/s=", + "lastModified": 1667096281, + "narHash": "sha256-wRRec6ze0gJHmGn6m57/zhz/Kdvp9HS4Nl5fkQ+uIuA=", "owner": "divnix", "repo": "yants", - "rev": "0b895ca02a8fa72bad50b454cb3e7d8a66407c96", + "rev": "d18f356ec25cb94dc9c275870c3a7927a10f8c3c", "type": "github" }, "original": { @@ -28585,9 +28256,11 @@ "inputs": { "nixpkgs": [ "ctl", - "cardano-node", + "cardano-nix", + "cardano-node-8.7.3", "std", - "lib" + "haumea", + "nixpkgs" ] }, "locked": { @@ -28606,7 +28279,7 @@ }, "yants_6": { "inputs": { - "nixpkgs": "nixpkgs_54" + "nixpkgs": "nixpkgs_53" }, "locked": { "lastModified": 1645126146, @@ -28649,7 +28322,7 @@ }, "yants_8": { "inputs": { - "nixpkgs": "nixpkgs_89" + "nixpkgs": "nixpkgs_88" }, "locked": { "lastModified": 1645126146, diff --git a/flake.nix b/flake.nix index 44b225f..0a46949 100644 --- a/flake.nix +++ b/flake.nix @@ -8,12 +8,14 @@ inputs = { nixpkgs.follows = "ctl/nixpkgs"; - ctl.url = "github:Plutonomicon/cardano-transaction-lib/v9.3.1"; - hydra.url = "github:input-output-hk/hydra/4fed4625f321d89b483c82f55252d24da63191c7"; + cardano-node.url = "github:input-output-hk/cardano-node/9.2.0"; + ctl.url = "github:Plutonomicon/cardano-transaction-lib/566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; + ctl.inputs.cardano-node.follows = "cardano-node"; + hydra.url = "github:input-output-hk/hydra/0.19.0"; hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; }; - outputs = { self, nixpkgs, ctl, hydra, hydra-auction-onchain }@inputs: + outputs = { self, nixpkgs, ctl, hydra, hydra-auction-onchain, ... }@inputs: let supportedSystems = [ "x86_64-linux" ]; perSystem = nixpkgs.lib.genAttrs supportedSystems; diff --git a/packages.dhall b/packages.dhall index 4ef9c59..7c91355 100644 --- a/packages.dhall +++ b/packages.dhall @@ -584,7 +584,7 @@ let additions = , "web-storage" ] , repo = "https://github.com/Plutonomicon/cardano-transaction-lib.git" - , version = "v9.3.1" + , version = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94" } , errors = { dependencies = diff --git a/protocol-parameters.json b/protocol-parameters.json index 2e890a1..8a808d7 100644 --- a/protocol-parameters.json +++ b/protocol-parameters.json @@ -6,6 +6,8 @@ "priceSteps": 0 }, "collateralPercentage": 150, + "committeeMaxTermLength": 200, + "committeeMinSize": 0, "costModels": { "PlutusV1": [ 205665, @@ -345,17 +347,274 @@ 32, 35892428, 10, - 57996947, - 18975, + 9462713, + 1021, 10, 38887044, 32947, - 10 + 10, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807, + 9223372036854775807 + ], + "PlutusV3": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 ] }, - "decentralization": null, - "extraPraosEntropy": null, - "maxBlockBodySize": 90112, + "dRepActivity": 100, + "dRepDeposit": 1000000, + "dRepVotingThresholds": { + "committeeNoConfidence": 0, + "committeeNormal": 0.5, + "hardForkInitiation": 0.5, + "motionNoConfidence": 0, + "ppEconomicGroup": 0.5, + "ppGovGroup": 0.5, + "ppNetworkGroup": 0.5, + "ppTechnicalGroup": 0.5, + "treasuryWithdrawal": 0.5, + "updateToConstitution": 0 + }, + "govActionDeposit": 1000000, + "govActionLifetime": 1, + "maxBlockBodySize": 65536, "maxBlockExecutionUnits": { "memory": 62000000, "steps": 20000000000 @@ -363,23 +622,30 @@ "maxBlockHeaderSize": 1100, "maxCollateralInputs": 3, "maxTxExecutionUnits": { - "memory": 14000000, + "memory": 140000000, "steps": 10000000000 }, "maxTxSize": 16384, "maxValueSize": 5000, - "minPoolCost": 170000000, - "minUTxOValue": null, - "monetaryExpansion": 3.0e-3, - "poolPledgeInfluence": 0.3, + "minFeeRefScriptCostPerByte": 0, + "minPoolCost": 0, + "monetaryExpansion": 0.1, + "poolPledgeInfluence": 0, "poolRetireMaxEpoch": 18, + "poolVotingThresholds": { + "committeeNoConfidence": 0.5, + "committeeNormal": 0.5, + "hardForkInitiation": 0.5, + "motionNoConfidence": 0.5, + "ppSecurityGroup": 0.5 + }, "protocolVersion": { - "major": 8, + "major": 10, "minor": 0 }, - "stakeAddressDeposit": 2000000, - "stakePoolDeposit": 500000000, - "stakePoolTargetNum": 500, - "treasuryCut": 0.2, + "stakeAddressDeposit": 0, + "stakePoolDeposit": 0, + "stakePoolTargetNum": 100, + "treasuryCut": 0.1, "utxoCostPerByte": 4310 } diff --git a/spago-packages.nix b/spago-packages.nix index ec27627..ec48120 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -295,11 +295,11 @@ let "cardano-transaction-lib" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-lib"; - version = "v9.3.1"; + version = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; src = pkgs.fetchgit { url = "https://github.com/Plutonomicon/cardano-transaction-lib.git"; - rev = "be434c41d80bb10d25825ed247d81f630f2d6b89"; - sha256 = "1b2p5m6l7rwb8saabhvrargnv8nd79vh13b81f13iz7igrsi92qz"; + rev = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; + sha256 = "0d3n3r37cxl83sxdzi9aigc2b2fph6kbmyf2kh0rhzq4rixsim76"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; diff --git a/spago.dhall b/spago.dhall index 10a3f25..b3454d8 100644 --- a/spago.dhall +++ b/spago.dhall @@ -56,6 +56,7 @@ , "random" , "read" , "record" + , "refs" , "safely" , "spec" , "strings" diff --git a/test/Contract/DelegateServer.purs b/test/Contract/DelegateServer.purs index b766fdd..67e8dad 100644 --- a/test/Contract/DelegateServer.purs +++ b/test/Contract/DelegateServer.purs @@ -16,6 +16,7 @@ import Control.Monad.Error.Class (liftMaybe) import Control.Monad.Except (runExceptT) import Control.Monad.Rec.Class (untilJust) import Control.Parallel (parTraverse_) +import Ctl.Internal.Contract.Hooks (ClusterParameters) import Data.Array (foldRecM, last, replicate, singleton, snoc) as Array import Data.Time.Duration (Seconds(Seconds)) import DelegateServer.Contract.PlaceBid @@ -40,7 +41,9 @@ import DelegateServer.Types.HydraHeadStatus import DelegateServer.Types.ServerResponse ( ServerResponse(ServerResponseSuccess, ServerResponseError) ) +import Effect.Class (liftEffect) import Effect.Exception (error) +import Effect.Ref (Ref) import HydraAuctionOffchain.Contract (discoverBidders) import HydraAuctionOffchain.Contract.QueryUtxo (queryStandingBidUtxo) import HydraAuctionOffchain.Contract.Types @@ -65,11 +68,11 @@ import Test.Helpers (defDistribution, untilM, waitUntil) import Test.QuickCheck.Gen (Gen, chooseInt, randomSampleOne) import Test.Spec.Assertions (shouldEqual, shouldReturn, shouldSatisfy) -suite :: TestPlanM ContractTest Unit -suite = +suite :: Ref ClusterParameters -> TestPlanM ContractTest Unit +suite clusterParams = do group "delegate-server" do test "delegates set announced auction as active auction" do - withWallets' defDistribution + withWallets' clusterParams defDistribution \seller delegates withDelegateServerCluster -> do { txHash, auctionInfo } <- withKeyWallet seller $ @@ -86,7 +89,7 @@ suite = -- transaction with NotEnoughFuel error when raiseExUnitsToMax -- parameter of PlutipConfig is set to true. test "delegates initialize head at bidding start time" do - withWallets' defDistribution + withWallets' clusterParams defDistribution \seller delegates withDelegateServerCluster -> do { txHash, auctionInfo } <- withKeyWallet seller $ @@ -100,14 +103,14 @@ suite = appHandle.getHeadStatus test "delegates close head at bidding end time" do - placeL2Bids (validBids { maxNumBids: 2 }) shortBiddingPeriod \rec -> do + placeL2Bids clusterParams (validBids { maxNumBids: 2 }) shortBiddingPeriod \rec -> do let biddingEnd = (unwrap (unwrap rec.auctionInfo).auctionTerms).biddingEnd waitUntil biddingEnd untilM (eq HeadStatus_Closed) rec.appHandle.getHeadStatus test "delegates move bid back to L1 after contestation period" do - placeL2Bids (validBids { maxNumBids: 2 }) shortBiddingPeriod \rec -> do + placeL2Bids clusterParams (validBids { maxNumBids: 2 }) shortBiddingPeriod \rec -> do let biddingEnd = (unwrap (unwrap rec.auctionInfo).auctionTerms).biddingEnd waitUntil biddingEnd untilM (eq HeadStatus_Final) @@ -121,17 +124,17 @@ suite = -- Delegates initialize the head before the moveBid request is made, -- resulting in an unexpected response. skip $ test "delegates move standing bid to L2 on request (head idle)" do - moveBidTest { autoInit: false } + moveBidTest clusterParams { autoInit: false } test "delegates move standing bid to L2 on request (head initializing)" do - moveBidTest { autoInit: true } + moveBidTest clusterParams { autoInit: true } group "place-bid-l2" do test "bidders place multiple valid bids on L2" do - placeBidTest $ validBids { maxNumBids: 10 } + placeBidTest clusterParams $ validBids { maxNumBids: 10 } test "bidder cannot place bid below starting bid" do - placeBidTest + placeBidTest clusterParams { numBidders: one , genBids: do invalidBidAmount <- chooseInt zero $ startingBidFixture - one @@ -143,7 +146,7 @@ suite = } test "bidder cannot place bid with invalid increment" do - placeBidTest + placeBidTest clusterParams { numBidders: one , genBids: do invalidBidIncr <- chooseInt zero $ minBidIncrementFixture - one @@ -181,9 +184,9 @@ openHead appHandle { autoInit } = do untilM (eq HeadStatus_Open) appHandle.getHeadStatus -moveBidTest :: { autoInit :: Boolean } -> ContractTest -moveBidTest { autoInit } = - withWallets' defDistribution +moveBidTest :: Ref ClusterParameters -> { autoInit :: Boolean } -> ContractTest +moveBidTest clusterParams { autoInit } = + withWallets' clusterParams defDistribution \seller delegates withDelegateServerCluster -> do auctionInfo <- withKeyWallet seller do { txHash: announceTxHash, auctionInfo } <- @@ -243,16 +246,19 @@ validBids { maxNumBids } = (Array.replicate (numBids - 1) unit) } -placeBidTest :: PlaceBidTestParams -> ContractTest -placeBidTest params = placeL2Bids params identity (const (pure unit)) +placeBidTest :: Ref ClusterParameters -> PlaceBidTestParams -> ContractTest +placeBidTest clusterParams params = + placeL2Bids clusterParams params identity (const (pure unit)) placeL2Bids - :: PlaceBidTestParams + :: Ref ClusterParameters + -> PlaceBidTestParams -> AuctionTermsMutator -> (L2TestContData -> Contract Unit) -> ContractTest -placeL2Bids params fixAuctionTerms cont = - withWallets' (defDistribution /\ Array.replicate params.numBidders defDistribution) +placeL2Bids clusterParams params fixAuctionTerms cont = + withWallets' clusterParams + (defDistribution /\ Array.replicate params.numBidders defDistribution) \(seller /\ bidderKws) delegates withDelegateServerCluster -> do auctionInfo <- withKeyWallet seller do diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 6108791..1c22ccd 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -25,6 +25,7 @@ import Contract.Wallet.KeyFile (privatePaymentKeyToFile) import Control.Monad.Except (throwError) import Control.Monad.Reader (ask, local) import Control.Parallel (parTraverse, parTraverse_) +import Ctl.Internal.Contract.Hooks (ClusterParameters) import Ctl.Internal.Helpers (concatPaths, (<>)) import Ctl.Internal.Testnet.Utils (tmpdir) import Data.Array (concat, deleteAt, replicate) @@ -46,7 +47,7 @@ import Data.Tuple.Nested (type (/\), (/\)) import Data.UInt (fromInt) as UInt import Data.UUID (genUUID, toString) as UUID import DelegateServer.App (AppM, runApp, runContract) -import DelegateServer.Config (AppConfig', Network(Mainnet), AuctionConfig) +import DelegateServer.Config (AppConfig', AuctionConfig, Network(Testnet)) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidHandlerImpl) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidHandlerImpl) @@ -61,6 +62,8 @@ import Effect.Aff.Class (liftAff) import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) import Effect.Exception (error) +import Effect.Ref (Ref) +import Effect.Ref (read) as Ref import Effect.Unsafe (unsafePerformEffect) import HydraAuctionOffchain.Codec (bigNumCodec) import HydraAuctionOffchain.Contract.Types @@ -100,29 +103,24 @@ type TestAppHandle = withWallets' :: forall (distr :: Type) (wallets :: Type) . UtxoDistribution distr wallets - => distr + => Ref ClusterParameters + -> distr -> ( wallets -> Array Ed25519KeyHash -> (AuctionInfoExtended -> (TestAppHandle -> Contract Unit) -> Contract Unit) -> Contract Unit ) -> ContractTest -withWallets' distr tests = +withWallets' localnetClusterParamsRef distr tests = ContractTest \h -> let - numDelegates = - unsafePerformEffect $ randomSampleOne $ chooseInt 1 3 + numDelegates = unsafePerformEffect $ randomSampleOne $ chooseInt 1 3 distrDelegates = concat $ replicate numDelegates [ defDistribution, defDistribution ] in - h (distr /\ distrDelegates) \ {- mPlutipClusterParams -}(wallets /\ delegateWallets) -> + h (distr /\ distrDelegates) \(wallets /\ delegateWallets) -> do contractEnv <- ask - {- - plutipClusterParams <- - liftContractM "Could not get Plutip cluster params" - mPlutipClusterParams - -} delegateWalletsGrouped <- liftContractM "Expected even number of delegate wallets" (chunksOf2 delegateWallets) @@ -136,10 +134,11 @@ withWallets' distr tests = auctionMetadataOref <- liftContractM "Could not get auction metadata oref" (unwrap auctionInfo).metadataOref + localnetClusterParams <- liftEffect $ Ref.read localnetClusterParamsRef let clusterConfig = { auctionMetadataOref - -- , plutipClusterParams + , localnetClusterParams , localnetConfig } peers <- @@ -212,7 +211,7 @@ type DelegateServerPeer = type DelegateServerClusterConfig = { auctionMetadataOref :: TransactionInput - -- , plutipClusterParams :: ClusterStartupParameters + , localnetClusterParams :: ClusterParameters , localnetConfig :: TestnetConfig } @@ -248,7 +247,7 @@ genDelegateServerConfigs genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peers' <- createWorkdirsStoreKeys hydraScriptsTxHash <- publishHydraScripts - "" -- FIXME: clusterConfig.plutipClusterParams.nodeSocketPath + clusterConfig.localnetClusterParams.nodeSocketPath (ops.mkCardanoSk $ snd $ NEArray.head peers') pure $ worker (NEArray.toArray peers') hydraScriptsTxHash where @@ -296,8 +295,8 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do , wsServerPort: ops.mkWsServerPort idx , hydraPersistDir: ops.mkPersistDir workdir , hydraSk: ops.mkHydraSk workdir - , nodeSocket: "" -- FIXME: clusterConfig.plutipClusterParams.nodeSocketPath - , network: Mainnet + , nodeSocket: clusterConfig.localnetClusterParams.nodeSocketPath + , network: Testnet { magic: localnetConfig.clusterConfig.testnetMagic } , queryBackend: mkCtlBackendParams { ogmiosConfig: @@ -337,7 +336,7 @@ publishHydraScripts nodeSocket cardanoSk = liftEffect do let cmd = - "hydra-node publish-scripts --mainnet --node-socket " + "hydra-node publish-scripts --testnet-magic 2 --node-socket " <> nodeSocket <> " --cardano-signing-key " <> cardanoSk diff --git a/test/Main.purs b/test/Main.purs index c8b81aa..9a73ab6 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -4,12 +4,16 @@ module Test.Main import Prelude -import Contract.Test.Mote (TestPlanM, interpret) +import Contract.Test.Mote (TestPlanM, interpretWithConfig) import Contract.Test.Testnet (testTestnetContracts) import Contract.Test.Utils (interruptOnSignal) +import Data.Maybe (Maybe(Just)) import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) +import Data.Time.Duration (Minutes(Minutes), fromDuration) import Effect (Effect) import Effect.Aff (Aff, launchAff) +import Effect.Class (liftEffect) +import Effect.Ref (new, write) as Ref import Mote (group) import Test.Contract.AnnounceAuction (suite) as AnnounceAuction import Test.Contract.AuthorizeBidders (suite) as AuthorizeBidders @@ -19,18 +23,33 @@ import Test.Contract.PlaceBid (suite) as PlaceBid import Test.Contract.StartBidding (suite) as StartBidding import Test.DelegateServer.WsServer (suite) as WsServer import Test.Localnet.Config (localnetConfig) +import Test.Spec.Runner (Config, defaultConfig) as SpecRunner main :: Effect Unit main = do - fiber <- launchAff $ interpret suite + fiber <- launchAff $ interpretWithConfig runnerConfig suite interruptOnSignal SIGINT fiber *> interruptOnSignal SIGTERM fiber + where + runnerConfig :: SpecRunner.Config + runnerConfig = + SpecRunner.defaultConfig + { timeout = Just (fromDuration $ Minutes 10.0) + } suite :: TestPlanM (Aff Unit) Unit suite = do + clusterParamsRef <- liftEffect $ Ref.new { nodeSocketPath: mempty } + let + config = + localnetConfig + { hooks = localnetConfig.hooks + { onClusterStartup = Just (flip Ref.write clusterParamsRef) + } + } group "delegate-server" do WsServer.suite - testTestnetContracts localnetConfig do - DelegateServer.suite + testTestnetContracts config do + DelegateServer.suite clusterParamsRef group "contracts" do AnnounceAuction.suite From 1a5da467ffcc44aab3507fae9c5f27009ee1b2c9 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Fri, 20 Sep 2024 18:37:52 +0200 Subject: [PATCH 16/23] feat(delegate_server): dynamic multi-auction management --- app/delegate-server/App.purs | 24 +- app/delegate-server/AppManager.purs | 393 +++++++++++++++++++ app/delegate-server/AppManager/Types.purs | 29 ++ app/delegate-server/AppMap.purs | 29 -- app/delegate-server/Cleanup.purs | 6 +- app/delegate-server/Config.purs | 24 +- app/delegate-server/Main.purs | 309 ++------------- app/delegate-server/Server.purs | 40 +- app/delegate-server/State.purs | 3 +- app/delegate-server/Types/AppExitReason.purs | 7 +- app/delegate-server/WsServer.purs | 37 +- spago.dhall | 2 +- test/DelegateServer/Cluster.purs | 20 +- test/DelegateServer/WsServer.purs | 2 +- 14 files changed, 551 insertions(+), 374 deletions(-) create mode 100644 app/delegate-server/AppManager.purs create mode 100644 app/delegate-server/AppManager/Types.purs delete mode 100644 app/delegate-server/AppMap.purs diff --git a/app/delegate-server/App.purs b/app/delegate-server/App.purs index 7edfae6..0e4234c 100644 --- a/app/delegate-server/App.purs +++ b/app/delegate-server/App.purs @@ -18,7 +18,6 @@ import Prelude import Contract.Config ( ContractParams , PrivatePaymentKeySource(PrivatePaymentKeyFile) - , QueryBackendParams , WalletSpec(UseKeys) , defaultTimeParams , disabledSynchronizationParams @@ -31,18 +30,14 @@ import Control.Monad.Logger.Trans (class MonadLogger, LoggerT(LoggerT), runLogge import Control.Monad.Reader (class MonadAsk, class MonadReader, ReaderT, ask, asks, runReaderT) import Control.Monad.Rec.Class (class MonadRec) import Control.Monad.Trans.Class (class MonadTrans, lift) +import Data.Identity (Identity) import Data.Log.Formatter.Pretty (prettyFormatter) import Data.Log.Message (Message) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap, wrap) import Data.Set (Set) import Data.Set (empty) as Set -import DelegateServer.Config - ( AppConfig - , AppConfig'(AppConfig) - , AuctionConfig - , networkToNetworkId - ) +import DelegateServer.Config (AppConfig, AppConfig'(AppConfig), networkToNetworkId) import DelegateServer.Lib.Contract (runContractNullCostsAff) import DelegateServer.State ( class App @@ -145,7 +140,7 @@ runContractNullCosts contract = do -- AppState type AppState = - { config :: AppConfig + { config :: AppConfig Identity , contractEnv :: ContractEnvWrapper , auctionInfo :: AVar AuctionInfoExtended , headStatus :: AVar HydraHeadStatus @@ -157,7 +152,7 @@ type AppState = , snapshot :: AVar HydraSnapshot } -instance MonadAccess AppM "config" AppConfig where +instance MonadAccess AppM "config" (AppConfig Identity) where access _ = asks _.config instance MonadAccess AppM "contractEnv" ContractEnvWrapper where @@ -187,8 +182,8 @@ instance MonadAccess AppM "commitStatus" (AVar CommitStatus) where instance MonadAccess AppM "snapshot" (AVar HydraSnapshot) where access _ = asks _.snapshot -initApp :: forall ac. AppConfig' ac QueryBackendParams -> AuctionConfig -> Aff AppState -initApp (AppConfig appConfig) auctionConfig = do +initApp :: AppConfig Identity -> Aff AppState +initApp config@(AppConfig appConfig) = do contractEnv <- wrap <$> mkContractEnv contractParams auctionInfo <- AVar.empty headStatus <- AVar.new HeadStatus_Unknown @@ -199,7 +194,7 @@ initApp (AppConfig appConfig) auctionConfig = do commitStatus <- AVar.new ShouldCommitCollateral snapshot <- AVar.new emptySnapshot pure - { config: wrap $ appConfig { auctionConfig = auctionConfig } + { config , contractEnv , auctionInfo , headStatus @@ -216,8 +211,9 @@ initApp (AppConfig appConfig) auctionConfig = do { backendParams: appConfig.queryBackend , networkId: networkToNetworkId appConfig.network , logLevel: appConfig.ctlLogLevel - , walletSpec: Just $ UseKeys (PrivatePaymentKeyFile auctionConfig.cardanoSk) Nothing - Nothing + , walletSpec: + Just $ UseKeys (PrivatePaymentKeyFile appConfig.auctionConfig.cardanoSk) Nothing + Nothing , customLogger: Nothing , suppressLogs: true , hooks: emptyHooks diff --git a/app/delegate-server/AppManager.purs b/app/delegate-server/AppManager.purs new file mode 100644 index 0000000..56d7159 --- /dev/null +++ b/app/delegate-server/AppManager.purs @@ -0,0 +1,393 @@ +module DelegateServer.AppManager + ( AppManager + , initAppManager + ) where + +import Prelude + +import Ansi.Codes (Color(Red)) +import Ansi.Output (foreground, withGraphics) +import Cardano.Types (ScriptHash, TransactionInput) +import Contract.Address (getNetworkId) +import Contract.Config (QueryBackendParams) +import Contract.Log (logInfo', logTrace', logWarn') +import Control.Error.Util (bool) +import Control.Monad.Except (ExceptT(ExceptT), runExceptT, throwError) +import Control.Monad.Trans.Class (lift) +import Control.Safely (foldM) +import Ctl.Internal.Helpers ((<>)) +import Data.Array ((..)) +import Data.Array (length, zip) as Array +import Data.Bifunctor (lmap) +import Data.Either (Either(Left, Right), either) +import Data.Foldable (foldMap) +import Data.Generic.Rep (class Generic) +import Data.Identity (Identity(Identity)) +import Data.Int (decimal, toStringAs) as Int +import Data.Map (delete, empty, fromFoldable, insert, lookup, pop, toUnfoldable) as Map +import Data.Maybe (Maybe(Just, Nothing), maybe) +import Data.Newtype (unwrap, wrap) +import Data.Show.Generic (genericShow) +import Data.String (Pattern(Pattern)) +import Data.String (contains) as String +import Data.Traversable (sequence) +import Data.Tuple.Nested ((/\)) +import Data.UInt (toString) as UInt +import DelegateServer.App + ( AppM + , appLoggerDefault + , getAppEffRunner + , initApp + , runApp + , runContract + ) +import DelegateServer.AppManager.Types (AppManager'(AppManager), AuctionSlot) +import DelegateServer.Cleanup (appInstanceCleanupHandler) +import DelegateServer.Config + ( AppConfig + , AppConfig'(AppConfig) + , Network(Testnet, Mainnet) + , AuctionSlotConfig + ) +import DelegateServer.Const (appConst) +import DelegateServer.Contract.Collateral (getCollateralUtxo) +import DelegateServer.Contract.QueryAuction (QueryAuctionError, queryAuction) +import DelegateServer.Helpers (printOref) +import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket, mkHydraNodeApiWebSocket) +import DelegateServer.Lib.AVar (modifyAVar_) +import DelegateServer.Lib.Timer (scheduleAt) +import DelegateServer.State + ( class AppBase + , class AppInit + , access + , exitWithReason + , putAppState + , readAppState + , setAuctionInfo + , setCollateralUtxo + ) +import DelegateServer.Types.AppExitReason + ( AppExitReason(AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus) + ) +import DelegateServer.Types.HydraHeadStatus + ( HydraHeadStatus + ( HeadStatus_Unknown + , HeadStatus_Idle + , HeadStatus_Initializing + , HeadStatus_Open + ) + , isHeadClosed + ) +import DelegateServer.WsServer (DelegateWebSocketServer) +import Effect.AVar (tryPut, tryTake) as AVarSync +import Effect.Aff (Aff, launchAff_) +import Effect.Aff.AVar (AVar) +import Effect.Aff.AVar (empty, new, take, tryPut) as AVar +import Effect.Aff.Class (liftAff) +import Effect.Class (liftEffect) +import Effect.Console (log) +import Effect.Exception (error) +import Effect.Timer (TimeoutId) +import HydraAuctionOffchain.Contract.Types + ( AuctionInfoExtended(AuctionInfoExtended) + , auctionInfoExtendedCodec + ) +import HydraAuctionOffchain.Helpers (waitSeconds) +import HydraAuctionOffchain.Lib.Json (printJsonUsingCodec) +import HydraAuctionOffchain.Types.HostPort (printHostPort) +import Node.ChildProcess (ChildProcess, defaultSpawnOptions, spawn, stderr, stdout) +import Node.Encoding (Encoding(UTF8)) as Encoding +import Node.Stream (onDataString) +import Type.Proxy (Proxy(Proxy)) + +type AppManager = AppManager' HydraNodeApiWebSocket DelegateWebSocketServer + +initAppManager + :: AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams + -> AVar AppManager + -> DelegateWebSocketServer + -> Aff Unit +initAppManager (AppConfig appConfig) appManagerAvar wsServer = do + let + appManager = AppManager + { activeAuctions: Map.empty + , availableSlots: + Map.fromFoldable $ Array.zip (zero .. Array.length slotConfigs) + slotConfigs + , wsServer + } + appManager' <- + foldM + ( \appManagerAcc (slot /\ AppConfig { auctionConfig: { auctionMetadataOref } }) -> + case auctionMetadataOref of + Nothing -> pure appManagerAcc + Just oref -> do + hostAuctionRes <- hostAuction + { slot + , auctionMetadataOref: oref + , appManager: appManagerAcc + , appManagerAvar + } + either + ( \appManagerErr -> do + liftEffect $ log $ "Could not host auction with metadata output reference " + <> printOref oref + <> " , reason: " + <> show appManagerErr + pure appManagerAcc + ) + pure + hostAuctionRes + ) + appManager + (Map.toUnfoldable (unwrap appManager).availableSlots) + AVar.tryPut appManager' appManagerAvar >>= + bool + (throwError $ error "initAppManager: appManager AVar is not empty") + (pure unit) + where + slotConfigs :: Array (AppConfig Maybe) + slotConfigs = + AppConfig <<< appConfig { auctionConfig = _ } <$> + appConfig.auctionConfig + +type HostAuctionParams = + { slot :: AuctionSlot + , auctionMetadataOref :: TransactionInput + , appManager :: AppManager + , appManagerAvar :: AVar AppManager + } + +data HostAuctionError + = AuctionSlotNotAvailable + | MissingOrInvalidAuctionInfo QueryAuctionError + +derive instance Generic HostAuctionError _ + +instance Show HostAuctionError where + show = genericShow + +hostAuction :: HostAuctionParams -> Aff (Either HostAuctionError AppManager) +hostAuction { slot, auctionMetadataOref, appManager: AppManager appManager, appManagerAvar } = + runExceptT do + case Map.lookup slot appManager.availableSlots of + Nothing -> + throwError AuctionSlotNotAvailable + Just (AppConfig appConfigAvailable) -> do + let + appConfig = + wrap $ appConfigAvailable + { auctionConfig = appConfigAvailable.auctionConfig + { auctionMetadataOref = Identity auctionMetadataOref + } + } + appState <- lift $ initApp appConfig + let appLogger = appLoggerDefault + auctionId <- ExceptT $ lmap MissingOrInvalidAuctionInfo <$> + runApp appState appLogger setAuction + hydraNodeApiWs <- lift $ runApp appState appLogger do + prepareCollateralUtxo + hydraNodeProcess <- startHydraNode + hydraNodeApiWs <- initHydraApiWsConn appManager.wsServer + timers <- + sequence + [ initHeadAtBiddingStart hydraNodeApiWs + , closeHeadAtBiddingEnd hydraNodeApiWs + ] + contractEnv <- unwrap <$> access (Proxy :: _ "contractEnv") + cleanupSem <- liftAff $ AVar.new unit + let + cleanupHandler exitReason = + AVarSync.tryTake cleanupSem >>= + maybe (pure unit) \_ -> do + log $ withGraphics (foreground Red) $ show exitReason + appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers + launchAff_ $ modifyAVar_ appManagerAvar \appManager' -> + maybe + ( do + liftEffect $ log $ + "Could not find active auction in AppManager, auction id: " + <> show auctionId + pure appManager' + ) + pure + (removeAuction auctionId appManager') + putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance + pure hydraNodeApiWs + pure $ AppManager $ appManager + { availableSlots = Map.delete slot appManager.availableSlots + , activeAuctions = + Map.insert auctionId + { appState + , appLogger + , hydraNodeApiWs + , occupiedSlot: slot + } + appManager.activeAuctions + } + +removeAuction :: ScriptHash -> AppManager -> Maybe AppManager +removeAuction auctionId (AppManager appManager) = do + { appState, occupiedSlot } /\ activeAuctions <- Map.pop auctionId appManager.activeAuctions + let + appConfig = unwrap appState.config + appConfigAvailable = + wrap $ appConfig + { auctionConfig = appConfig.auctionConfig + { auctionMetadataOref = Nothing + } + } + pure $ AppManager $ appManager + { activeAuctions = activeAuctions + , availableSlots = + Map.insert occupiedSlot appConfigAvailable + appManager.availableSlots + } + +initHeadAtBiddingStart :: HydraNodeApiWebSocket -> AppM (AVar (Maybe TimeoutId)) +initHeadAtBiddingStart ws = do + auctionInfo <- readAppState (Proxy :: _ "auctionInfo") + runAppEff' <- getAppEffRunner + let + biddingStart = (unwrap (unwrap auctionInfo).auctionTerms).biddingStart + action = + runAppEff' do + headStatus <- readAppState (Proxy :: _ "headStatus") + case headStatus of + HeadStatus_Unknown -> do + logInfo' + "Bidding period active but head status is unknown - retrying in 5 seconds." + waitSeconds 5 + liftEffect action + HeadStatus_Idle -> do + logInfo' "Bidding period active, initializing the head." + liftEffect ws.initHead + _ -> + pure unit + liftEffect $ scheduleAt biddingStart action + +closeHeadAtBiddingEnd :: HydraNodeApiWebSocket -> AppM (AVar (Maybe TimeoutId)) +closeHeadAtBiddingEnd ws = do + auctionInfo <- readAppState (Proxy :: _ "auctionInfo") + runAppEff' <- getAppEffRunner + let + biddingEnd = (unwrap (unwrap auctionInfo).auctionTerms).biddingEnd + action = + runAppEff' do + headStatus <- readAppState (Proxy :: _ "headStatus") + case headStatus of + HeadStatus_Unknown -> do + logInfo' "Bidding time expired but head status is unknown - retrying in 5 seconds." + waitSeconds 5 + liftEffect action + HeadStatus_Initializing -> do + logInfo' "Bidding time expired, aborting the head." + liftEffect ws.abortHead + HeadStatus_Open -> do + logInfo' "Bidding time expired, closing the head." + liftEffect ws.closeHead + _ | isHeadClosed headStatus -> + -- No-op if the head is already closed. + pure unit + _ -> + exitWithReason $ + AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus + headStatus + liftEffect $ scheduleAt biddingEnd action + +setAuction :: forall m. AppBase m => m (Either QueryAuctionError ScriptHash) +setAuction = do + { auctionConfig: { auctionMetadataOref } } <- unwrap <$> access (Proxy :: _ "config") + runContract (queryAuction $ unwrap auctionMetadataOref) >>= + case _ of + Left queryAuctionErr -> + pure $ Left queryAuctionErr + Right auctionInfo@(AuctionInfoExtended { auctionId }) -> do + setAuctionInfo auctionInfo + network <- runContract getNetworkId + logInfo' $ "Got valid auction: " <> printJsonUsingCodec + (auctionInfoExtendedCodec network) + auctionInfo + pure $ Right auctionId + +prepareCollateralUtxo :: forall m. AppInit m => m Unit +prepareCollateralUtxo = do + utxo <- runContract getCollateralUtxo + setCollateralUtxo utxo + logInfo' $ "Prepared collateral utxo: " <> show utxo + +initHydraApiWsConn :: DelegateWebSocketServer -> AppM HydraNodeApiWebSocket +initHydraApiWsConn wsServer = do + wsAVar <- liftAff AVar.empty + mkHydraNodeApiWebSocket wsServer (liftAff <<< void <<< flip AVar.tryPut wsAVar) + liftAff $ AVar.take wsAVar + +startHydraNode :: AppM ChildProcess +startHydraNode = do + appConfig <- access (Proxy :: _ "config") + apiServerStartedSem <- liftAff AVar.empty + hydraNodeProcess <- liftEffect $ spawn "hydra-node" (hydraNodeArgs appConfig) + defaultSpawnOptions + + runAppEff' <- getAppEffRunner + liftEffect $ onDataString (stderr hydraNodeProcess) Encoding.UTF8 \str -> + runAppEff' $ logWarn' $ "[hydra-node:stderr] " <> str + + liftEffect $ onDataString (stdout hydraNodeProcess) Encoding.UTF8 \str -> do + runAppEff' $ logTrace' $ "[hydra-node:stdout] " <> str + when (String.contains (Pattern "APIServerStarted") str) do + void $ AVarSync.tryPut unit apiServerStartedSem + + liftAff $ AVar.take apiServerStartedSem + pure hydraNodeProcess + where + peerArgs :: AppConfig Identity -> Array String + peerArgs (AppConfig appConfig) = + appConfig.auctionConfig.peers # foldMap \peer -> + [ "--peer" + , printHostPort peer.hydraNode + , "--hydra-verification-key" + , peer.hydraVk + , "--cardano-verification-key" + , peer.cardanoVk + ] + + networkArgs :: AppConfig Identity -> Array String + networkArgs (AppConfig appConfig) = + case appConfig.network of + Testnet { magic } -> + [ "--testnet-magic" + , Int.toStringAs Int.decimal magic + ] + Mainnet -> + [ "--mainnet" + ] + + hydraNodeArgs :: AppConfig Identity -> Array String + hydraNodeArgs ac@(AppConfig appConfig) = + peerArgs ac <> networkArgs ac <> + [ "--node-id" + , appConfig.auctionConfig.hydraNodeId + , "--host" + , appConfig.auctionConfig.hydraNode.host + , "--port" + , UInt.toString appConfig.auctionConfig.hydraNode.port + , "--api-host" + , appConfig.auctionConfig.hydraNodeApi.host + , "--api-port" + , UInt.toString appConfig.auctionConfig.hydraNodeApi.port + , "--persistence-dir" + , appConfig.hydraPersistDir <> appConfig.auctionConfig.hydraNodeId + , "--hydra-signing-key" + , appConfig.hydraSk + , "--cardano-signing-key" + , appConfig.auctionConfig.cardanoSk + , "--node-socket" + , appConfig.nodeSocket + , "--ledger-protocol-parameters" + , appConst.protocolParams + , "--hydra-scripts-tx-id" + , appConfig.hydraScriptsTxHash + , "--contestation-period" + , Int.toStringAs Int.decimal appConfig.hydraContestPeriod + ] diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs new file mode 100644 index 0000000..d4e05cb --- /dev/null +++ b/app/delegate-server/AppManager/Types.purs @@ -0,0 +1,29 @@ +module DelegateServer.AppManager.Types + ( ActiveAuction + , AppManager'(AppManager) + , AuctionSlot + ) where + +import Cardano.Types (ScriptHash) +import Data.Map (Map) +import Data.Maybe (Maybe) +import Data.Newtype (class Newtype) +import DelegateServer.App (AppLogger, AppState) +import DelegateServer.Config (AppConfig) + +type AuctionSlot = Int + +type ActiveAuction (hydraNodeApiWs :: Type) = + { appState :: AppState + , appLogger :: AppLogger + , hydraNodeApiWs :: hydraNodeApiWs + , occupiedSlot :: AuctionSlot + } + +newtype AppManager' (hydraNodeApiWs :: Type) (wsServer :: Type) = AppManager + { activeAuctions :: Map ScriptHash (ActiveAuction hydraNodeApiWs) + , availableSlots :: Map AuctionSlot (AppConfig Maybe) + , wsServer :: wsServer + } + +derive instance Newtype (AppManager' a b) _ diff --git a/app/delegate-server/AppMap.purs b/app/delegate-server/AppMap.purs deleted file mode 100644 index cdd9313..0000000 --- a/app/delegate-server/AppMap.purs +++ /dev/null @@ -1,29 +0,0 @@ -module DelegateServer.AppMap - ( AppMap - , buildAppMap - ) where - -import Prelude - -import Cardano.Types (ScriptHash) -import Control.Safely (foldM) -import Data.List (fromFoldable) as List -import Data.Map (Map) -import Data.Map (empty, insert) as Map -import Data.Newtype (unwrap) -import Data.Tuple.Nested (type (/\), (/\)) -import DelegateServer.App (AppState) -import Effect.Aff (Aff) -import Effect.Aff.AVar (read) as AVar - -type AppMap a = Map ScriptHash (AppState /\ a) - -buildAppMap :: forall a. Array (AppState /\ a) -> Aff (AppMap a) -buildAppMap apps = - foldM - ( \appMap val@(appState /\ _) -> do - auctionCs <- _.auctionId <<< unwrap <$> AVar.read appState.auctionInfo - pure $ Map.insert auctionCs val appMap - ) - Map.empty - (List.fromFoldable apps) diff --git a/app/delegate-server/Cleanup.purs b/app/delegate-server/Cleanup.purs index 06d2585..201a294 100644 --- a/app/delegate-server/Cleanup.purs +++ b/app/delegate-server/Cleanup.purs @@ -25,15 +25,15 @@ import Node.ChildProcess (ChildProcess, kill) appCleanupHandler :: (Effect Unit -> Effect Unit) -> DelegateWebSocketServer - -> Array (AppExitReason -> Effect Unit) + -> (AppExitReason -> Effect Unit) -> Effect Unit -appCleanupHandler closeHttpServer wsServer handlers = do +appCleanupHandler closeHttpServer wsServer cleanupAppInstances = do log "Stopping HTTP server." *> closeHttpServer (pure unit) log "Stopping WebSocket server." *> launchAff_ wsServer.close log "Executing app instance cleanup handlers." - *> traverse_ (_ $ AppExitReason_Cleanup) handlers + *> cleanupAppInstances AppExitReason_Cleanup appInstanceCleanupHandler :: ChildProcess diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index 6f0e8a8..f9e893e 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -1,7 +1,7 @@ module DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) - , AuctionConfig + , AuctionSlotConfig , Network(Testnet, Mainnet) , execAppConfigParser , networkToNetworkId @@ -13,12 +13,14 @@ import Cardano.Types (NetworkId(TestnetId, MainnetId)) import Contract.Config (QueryBackendParams, defaultConfirmTxDelay) import Contract.Transaction (TransactionInput) import Data.Codec.Argonaut (JsonCodec, array, int, object, prismaticCodec, string) as CA +import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Codec.Argonaut.Variant (variantMatch) as CAV import Data.Either (Either(Left, Right), either) import Data.Foldable (fold) import Data.Generic.Rep (class Generic) import Data.Log.Level (LogLevel) +import Data.Maybe (Maybe) import Data.Newtype (class Newtype, over, wrap) import Data.Profunctor (dimap, wrapIso) import Data.Show.Generic (genericShow) @@ -47,8 +49,8 @@ import URI.Port (Port) -- TODO: check that `auctionMetadataOref` exists and points to a valid auction -- TODO: check the balance of `cardanoSk` -- TODO: generate `hydraNodeId` using UUID -type AuctionConfig = - { auctionMetadataOref :: TransactionInput +type AuctionSlotConfig (f :: Type -> Type) = + { auctionMetadataOref :: f TransactionInput -- ^ Reference of the tx output with auction metadata record, -- used to access onchain data of the target auction. , hydraNodeId :: String @@ -68,12 +70,13 @@ type AuctionConfig = -- by this key will be used as 'fuel'. } -auctionConfigCodec :: CA.JsonCodec AuctionConfig +auctionConfigCodec :: CA.JsonCodec (AuctionSlotConfig Maybe) auctionConfigCodec = - CA.object "AuctionConfig" $ CAR.record + CA.object "AuctionSlotConfig" $ CAR.record { auctionMetadataOref: - CA.prismaticCodec "TransactionInput" readOref printOref - CA.string + CA.maybe $ + CA.prismaticCodec "TransactionInput" readOref printOref + CA.string , hydraNodeId: CA.string , hydraNode: hostPortCodec , hydraNodeApi: hostPortCodec @@ -120,9 +123,10 @@ newtype AppConfig' (ac :: Type) (qb :: Type) = AppConfig derive instance Newtype (AppConfig' ac qb) _ -type AppConfig = AppConfig' AuctionConfig QueryBackendParams +type AppConfig (f :: Type -> Type) = AppConfig' (AuctionSlotConfig f) QueryBackendParams -appConfigCodec :: CA.JsonCodec (AppConfig' (Array AuctionConfig) QueryBackendParamsSimple) +appConfigCodec + :: CA.JsonCodec (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParamsSimple) appConfigCodec = wrapIso AppConfig $ CA.object "AppConfig" $ CAR.record { auctionConfig: CA.array auctionConfigCodec @@ -174,7 +178,7 @@ networkToNetworkId = Testnet _ -> TestnetId Mainnet -> MainnetId -execAppConfigParser :: Effect (AppConfig' (Array AuctionConfig) QueryBackendParams) +execAppConfigParser :: Effect (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams) execAppConfigParser = do fp <- Optparse.execParser parserInfo appConfig <- either throw pure =<< caDecodeFile appConfigCodec fp diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index 0d4f4a9..e07b8a4 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -8,92 +8,30 @@ import Prelude import Ansi.Codes (Color(Red)) import Ansi.Output (foreground, withGraphics) -import Contract.Address (getNetworkId) import Contract.Config (QueryBackendParams) -import Contract.Log (logInfo', logTrace', logWarn') -import Control.Parallel (parTraverse) -import Ctl.Internal.Helpers ((<>)) import Data.Either (Either(Left, Right)) -import Data.Foldable (foldMap) -import Data.Int (decimal, toStringAs) as Int -import Data.Maybe (Maybe, maybe) +import Data.Map (values) as Map +import Data.Maybe (Maybe(Just, Nothing), maybe) import Data.Newtype (unwrap) import Data.Posix.Signal (Signal(SIGINT, SIGTERM)) -import Data.String (Pattern(Pattern)) -import Data.String (contains) as String -import Data.Traversable (sequence) -import Data.Tuple (Tuple(Tuple)) -import Data.Tuple.Nested ((/\)) -import Data.UInt (toString) as UInt -import DelegateServer.App - ( AppLogger - , AppM - , appLoggerDefault - , getAppEffRunner - , initApp - , runApp - , runContract - ) -import DelegateServer.AppMap (AppMap, buildAppMap) -import DelegateServer.Cleanup (appCleanupHandler, appInstanceCleanupHandler) -import DelegateServer.Config - ( AppConfig - , AppConfig'(AppConfig) - , Network(Testnet, Mainnet) - , AuctionConfig - , execAppConfigParser - ) -import DelegateServer.Const (appConst) -import DelegateServer.Contract.Collateral (getCollateralUtxo) -import DelegateServer.Contract.QueryAuction (queryAuction) -import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket, mkHydraNodeApiWebSocket) -import DelegateServer.Lib.Timer (scheduleAt) +import Data.Traversable (traverse_) +import DelegateServer.AppManager (AppManager, initAppManager) +import DelegateServer.AppManager.Types (AuctionSlot) +import DelegateServer.Cleanup (appCleanupHandler) +import DelegateServer.Config (AppConfig'(AppConfig), AuctionSlotConfig, execAppConfigParser) import DelegateServer.Server (httpServer) -import DelegateServer.State - ( class AppBase - , class AppInit - , access - , exitWithReason - , putAppState - , readAppState - , setAuctionInfo - , setCollateralUtxo - ) -import DelegateServer.Types.AppExitReason - ( AppExitReason - ( AppExitReason_MissingOrInvalidAuctionInfo - , AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus - ) - ) -import DelegateServer.Types.HydraHeadStatus - ( HydraHeadStatus - ( HeadStatus_Unknown - , HeadStatus_Idle - , HeadStatus_Initializing - , HeadStatus_Open - ) - , isHeadClosed - ) -import DelegateServer.WsServer (DelegateWebSocketServer, wsServer) +import DelegateServer.WsServer (wsServer) import Effect (Effect) import Effect.AVar (AVar) -import Effect.AVar (tryPut, tryTake) as AVarSync +import Effect.AVar (take, tryRead, tryTake) as AVarSync import Effect.Aff (Aff, launchAff_) -import Effect.Aff.AVar (empty, new, take, tryPut) as AVar +import Effect.Aff.AVar (empty, new) as AVar import Effect.Aff.Class (liftAff) import Effect.Class (liftEffect) import Effect.Console (log) import Effect.Exception (message) -import Effect.Timer (TimeoutId) -import HydraAuctionOffchain.Contract.Types (auctionInfoExtendedCodec) -import HydraAuctionOffchain.Helpers (waitSeconds) -import HydraAuctionOffchain.Lib.Json (printJsonUsingCodec) -import HydraAuctionOffchain.Types.HostPort (printHostPort) -import Node.ChildProcess (ChildProcess, defaultSpawnOptions, spawn, stderr, stdout) -import Node.Encoding (Encoding(UTF8)) as Encoding +import Effect.Exception (message) as Error import Node.Process (onSignal, onUncaughtException) -import Node.Stream (onDataString) -import Type.Proxy (Proxy(Proxy)) main :: Effect Unit main = launchAff_ do @@ -107,213 +45,42 @@ main = launchAff_ do onSignal SIGTERM appHandle.cleanupHandler type AppHandle = - { appMap :: AppMap HydraNodeApiWebSocket - , appLogger :: AppLogger + { appManager :: AVar AppManager , cleanupHandler :: Effect Unit } -startDelegateServer :: AppConfig' (Array AuctionConfig) QueryBackendParams -> Aff AppHandle +startDelegateServer + :: AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams + -> Aff AppHandle startDelegateServer appConfig@(AppConfig appConfigRec) = do - -- TODO: Make each app instance have its own logger, otherwise the - -- logs will be a complete mess - let appLogger = appLoggerDefault - - appStateList <- - parTraverse - ( \auctionConfig -> do - appState <- initApp appConfig auctionConfig - runApp appState appLogger $ setAuction *> prepareCollateralUtxo - pure appState - ) - appConfigRec.auctionConfig -- array of auction configurations - - appMap0 <- buildAppMap $ flip Tuple unit <$> appStateList - wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appMap0 appLogger - - appInstances <- parTraverse - ( \appState -> - runApp appState appLogger do - hydraNodeProcess <- startHydraNode - hydraNodeApiWs <- initHydraApiWsConn wsServer' - timers <- - sequence - [ initHeadAtBiddingStart hydraNodeApiWs - , closeHeadAtBiddingEnd hydraNodeApiWs - ] - - contractEnv <- unwrap <$> access (Proxy :: _ "contractEnv") - cleanupSem <- liftAff $ AVar.new unit - let - cleanupHandler exitReason = - AVarSync.tryTake cleanupSem >>= - maybe (pure unit) \_ -> do - log $ withGraphics (foreground Red) $ show exitReason - appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers - - putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance - pure { appMapValue: appState /\ hydraNodeApiWs, cleanupHandler } - ) - appStateList - - appMap1 <- buildAppMap $ _.appMapValue <$> appInstances - closeHttpServer <- liftEffect $ httpServer appConfigRec.serverPort appLogger appMap1 - + appManagerAvar <- AVar.empty + wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appManagerAvar + closeHttpServer <- liftEffect $ httpServer appConfigRec.serverPort appManagerAvar + initAppManager appConfig appManagerAvar wsServer' cleanupSem <- liftAff $ AVar.new unit let + cleanupAppInstances exitReason = + void $ AVarSync.take appManagerAvar case _ of + Left err -> + log $ "cleanupAppInstances: failed to take appManager AVar, error: " + <> Error.message err + Right appManager -> + traverse_ + ( \{ appState, occupiedSlot } -> + AVarSync.tryRead appState.exit >>= case _ of + Nothing -> + log $ + "cleanupAppInstances: no cleanup handler attached to app instance at slot" + <> show (occupiedSlot :: AuctionSlot) + Just handler -> + handler exitReason + ) + (Map.values (unwrap appManager).activeAuctions) cleanupHandler = AVarSync.tryTake cleanupSem >>= maybe (pure unit) \_ -> - appCleanupHandler closeHttpServer wsServer' (_.cleanupHandler <$> appInstances) + appCleanupHandler closeHttpServer wsServer' cleanupAppInstances pure - { appMap: appMap1 - , appLogger + { appManager: appManagerAvar , cleanupHandler } - -setAuction :: forall m. AppBase m => m Unit -setAuction = do - { auctionConfig: { auctionMetadataOref } } <- unwrap <$> access (Proxy :: _ "config") - runContract (queryAuction auctionMetadataOref) >>= - case _ of - Left queryAuctionErr -> - exitWithReason $ - AppExitReason_MissingOrInvalidAuctionInfo queryAuctionErr - Right auctionInfo -> do - setAuctionInfo auctionInfo - network <- runContract getNetworkId - logInfo' $ "Got valid auction: " <> printJsonUsingCodec - (auctionInfoExtendedCodec network) - auctionInfo - -prepareCollateralUtxo :: forall m. AppInit m => m Unit -prepareCollateralUtxo = do - utxo <- runContract getCollateralUtxo - setCollateralUtxo utxo - logInfo' $ "Prepared collateral utxo: " <> show utxo - -initHeadAtBiddingStart :: HydraNodeApiWebSocket -> AppM (AVar (Maybe TimeoutId)) -initHeadAtBiddingStart ws = do - auctionInfo <- readAppState (Proxy :: _ "auctionInfo") - runAppEff' <- getAppEffRunner - let - biddingStart = (unwrap (unwrap auctionInfo).auctionTerms).biddingStart - action = - runAppEff' do - headStatus <- readAppState (Proxy :: _ "headStatus") - case headStatus of - HeadStatus_Unknown -> do - logInfo' - "Bidding period active but head status is unknown - retrying in 5 seconds." - waitSeconds 5 - liftEffect action - HeadStatus_Idle -> do - logInfo' "Bidding period active, initializing the head." - liftEffect ws.initHead - _ -> - pure unit - liftEffect $ scheduleAt biddingStart action - -closeHeadAtBiddingEnd :: HydraNodeApiWebSocket -> AppM (AVar (Maybe TimeoutId)) -closeHeadAtBiddingEnd ws = do - auctionInfo <- readAppState (Proxy :: _ "auctionInfo") - runAppEff' <- getAppEffRunner - let - biddingEnd = (unwrap (unwrap auctionInfo).auctionTerms).biddingEnd - action = - runAppEff' do - headStatus <- readAppState (Proxy :: _ "headStatus") - case headStatus of - HeadStatus_Unknown -> do - logInfo' "Bidding time expired but head status is unknown - retrying in 5 seconds." - waitSeconds 5 - liftEffect action - HeadStatus_Initializing -> do - logInfo' "Bidding time expired, aborting the head." - liftEffect ws.abortHead - HeadStatus_Open -> do - logInfo' "Bidding time expired, closing the head." - liftEffect ws.closeHead - _ | isHeadClosed headStatus -> - -- No-op if the head is already closed. - pure unit - _ -> - exitWithReason $ - AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus - headStatus - liftEffect $ scheduleAt biddingEnd action - -initHydraApiWsConn :: DelegateWebSocketServer -> AppM HydraNodeApiWebSocket -initHydraApiWsConn wsServer = do - wsAVar <- liftAff AVar.empty - mkHydraNodeApiWebSocket wsServer (liftAff <<< void <<< flip AVar.tryPut wsAVar) - liftAff $ AVar.take wsAVar - -startHydraNode :: AppM ChildProcess -startHydraNode = do - appConfig <- access (Proxy :: _ "config") - apiServerStartedSem <- liftAff AVar.empty - hydraNodeProcess <- liftEffect $ spawn "hydra-node" (hydraNodeArgs appConfig) - defaultSpawnOptions - - runAppEff' <- getAppEffRunner - liftEffect $ onDataString (stderr hydraNodeProcess) Encoding.UTF8 \str -> - runAppEff' $ logWarn' $ "[hydra-node:stderr] " <> str - - liftEffect $ onDataString (stdout hydraNodeProcess) Encoding.UTF8 \str -> do - runAppEff' $ logTrace' $ "[hydra-node:stdout] " <> str - when (String.contains (Pattern "APIServerStarted") str) do - void $ AVarSync.tryPut unit apiServerStartedSem - - liftAff $ AVar.take apiServerStartedSem - pure hydraNodeProcess - where - peerArgs :: AppConfig -> Array String - peerArgs (AppConfig appConfig) = - appConfig.auctionConfig.peers # foldMap \peer -> - [ "--peer" - , printHostPort peer.hydraNode - , "--hydra-verification-key" - , peer.hydraVk - , "--cardano-verification-key" - , peer.cardanoVk - ] - - networkArgs :: AppConfig -> Array String - networkArgs (AppConfig appConfig) = - case appConfig.network of - Testnet { magic } -> - [ "--testnet-magic" - , Int.toStringAs Int.decimal magic - ] - Mainnet -> - [ "--mainnet" - ] - - hydraNodeArgs :: AppConfig -> Array String - hydraNodeArgs ac@(AppConfig appConfig) = - peerArgs ac <> networkArgs ac <> - [ "--node-id" - , appConfig.auctionConfig.hydraNodeId - , "--host" - , appConfig.auctionConfig.hydraNode.host - , "--port" - , UInt.toString appConfig.auctionConfig.hydraNode.port - , "--api-host" - , appConfig.auctionConfig.hydraNodeApi.host - , "--api-port" - , UInt.toString appConfig.auctionConfig.hydraNodeApi.port - , "--persistence-dir" - , appConfig.hydraPersistDir <> appConfig.auctionConfig.hydraNodeId - , "--hydra-signing-key" - , appConfig.hydraSk - , "--cardano-signing-key" - , appConfig.auctionConfig.cardanoSk - , "--node-socket" - , appConfig.nodeSocket - , "--ledger-protocol-parameters" - , appConst.protocolParams - , "--hydra-scripts-tx-id" - , appConfig.hydraScriptsTxHash - , "--contestation-period" - , Int.toStringAs Int.decimal appConfig.hydraContestPeriod - ] diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index a8f28ee..2303fdc 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -8,14 +8,16 @@ import Data.Either (Either(Left, Right)) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap) -import Data.Tuple.Nested (type (/\), (/\)) -import DelegateServer.App (AppLogger, AppM, runApp) -import DelegateServer.AppMap (AppMap) +import Data.Tuple.Nested ((/\)) +import DelegateServer.App (AppM, runApp) +import DelegateServer.AppManager.Types (AppManager') import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) import DelegateServer.Handlers.SignCommitTx (signCommitTxHandler) import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) import Effect.Aff (Aff) +import Effect.Aff.AVar (AVar) +import Effect.Aff.AVar (read) as AVar import Effect.Aff.Class (liftAff) import Effect.Console (log) import HTTPure @@ -38,25 +40,25 @@ import HydraAuctionOffchain.Lib.Json (caDecodeString) import URI.Port (Port) import URI.Port (toInt) as Port -type AppMap' = AppMap HydraNodeApiWebSocket +type AppManager (wsServer :: Type) = AppManager' HydraNodeApiWebSocket wsServer -httpServer :: Port -> AppLogger -> AppMap' -> HTTPure.ServerM -httpServer serverPort appLogger appMap = do +httpServer :: forall a. Port -> AVar (AppManager a) -> HTTPure.ServerM +httpServer serverPort appManagerAvar = do let port = Port.toInt serverPort - HTTPure.serve port (router (appLogger /\ appMap)) do + HTTPure.serve port (router appManagerAvar) do -- TODO: Add a top-level logger that is not associated with a -- specific app instance log $ "Http server now accepts connections on port " <> show port <> "." -router :: AppLogger /\ AppMap' -> HTTPure.Request -> Aff HTTPure.Response +router :: forall a. AVar (AppManager a) -> HTTPure.Request -> Aff HTTPure.Response router _ { method: Options, headers } | unwrap headers !? "Access-Control-Request-Method" = corsPreflightHandler headers | otherwise = HTTPure.notFound -router appMap request = corsMiddleware routerCors appMap request +router appManagerAvar request = corsMiddleware routerCors appManagerAvar request -routerCors :: AppLogger /\ AppMap' -> HTTPure.Request -> Aff HTTPure.Response -routerCors appMap request = appLookupMiddleware routerCorsApp appMap request +routerCors :: forall a. AVar (AppManager a) -> HTTPure.Request -> Aff HTTPure.Response +routerCors appManagerAvar request = appLookupMiddleware routerCorsApp appManagerAvar request routerCorsApp :: HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response routerCorsApp ws { method: Post, path: [ "moveBid" ] } = @@ -75,23 +77,25 @@ routerCorsApp _ _ = HTTPure.notFound -- Middleware -------------------------------------------------------- appLookupMiddleware - :: (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) - -> AppLogger /\ AppMap' + :: forall a + . (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) + -> AVar (AppManager a) -> HTTPure.Request -> Aff HTTPure.Response -appLookupMiddleware router' (appLogger /\ appMap) request@{ headers } +appLookupMiddleware router' appManagerAvar request@{ headers } | Just auctionCsRaw <- headers !! "Auction-Cs" = case caDecodeString scriptHashCodec auctionCsRaw of Left _ -> HTTPure.badRequest "Could not decode Auction-Cs request header" - Right auctionCs -> - case Map.lookup auctionCs appMap of + Right auctionCs -> do + { activeAuctions } <- unwrap <$> AVar.read appManagerAvar + case Map.lookup auctionCs activeAuctions of Nothing -> HTTPure.badRequest "Provided Auction-Cs does not correspond to any auction served by this \ \delegate server" - Just (appState /\ ws) -> - runApp appState appLogger $ router' ws request + Just { appState, appLogger, hydraNodeApiWs } -> + runApp appState appLogger $ router' hydraNodeApiWs request | otherwise = HTTPure.badRequest "Missing Auction-Cs request header" diff --git a/app/delegate-server/State.purs b/app/delegate-server/State.purs index 15514f3..e47976b 100644 --- a/app/delegate-server/State.purs +++ b/app/delegate-server/State.purs @@ -26,6 +26,7 @@ import Contract.Value (CurrencySymbol) import Control.Monad.Error.Class (class MonadError, class MonadThrow) import Control.Monad.Logger.Class (class MonadLogger) import Control.Monad.Trans.Class (class MonadTrans, lift) +import Data.Identity (Identity) import Data.Newtype (class Newtype) import Data.Set (Set) import Data.Symbol (class IsSymbol) @@ -89,7 +90,7 @@ class , MonadThrow Error m , MonadError Error m , MonadLogger m - , MonadAccess m "config" AppConfig + , MonadAccess m "config" (AppConfig Identity) , MonadAccess m "contractEnv" ContractEnvWrapper , MonadAccess m "auctionInfo" (AVar AuctionInfoExtended) , MonadAccess m "headStatus" (AVar HydraHeadStatus) diff --git a/app/delegate-server/Types/AppExitReason.purs b/app/delegate-server/Types/AppExitReason.purs index 1135365..79c1a6c 100644 --- a/app/delegate-server/Types/AppExitReason.purs +++ b/app/delegate-server/Types/AppExitReason.purs @@ -1,7 +1,6 @@ module DelegateServer.Types.AppExitReason ( AppExitReason - ( AppExitReason_MissingOrInvalidAuctionInfo - , AppExitReason_HeadFinalized + ( AppExitReason_HeadFinalized , AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus , AppExitReason_Cleanup ) @@ -11,12 +10,10 @@ import Prelude import Data.Generic.Rep (class Generic) import Data.Show.Generic (genericShow) -import DelegateServer.Contract.QueryAuction (QueryAuctionError) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) data AppExitReason - = AppExitReason_MissingOrInvalidAuctionInfo QueryAuctionError - | AppExitReason_HeadFinalized + = AppExitReason_HeadFinalized | AppExitReason_BiddingTimeExpired_UnexpectedHeadStatus HydraHeadStatus | AppExitReason_Cleanup diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 622daf6..642d692 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -24,14 +24,15 @@ import Data.Either (Either(Right)) import Data.Generic.Rep (class Generic) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing), fromMaybe, maybe) +import Data.Newtype (unwrap) import Data.Profunctor (dimap) import Data.Show.Generic (genericShow) import Data.String (Pattern(Pattern)) import Data.String (stripPrefix) as String -import Data.Tuple (fst, snd) +import Data.Tuple (snd) import Data.Variant (inj, match) as Variant -import DelegateServer.App (AppLogger, runApp) -import DelegateServer.AppMap (AppMap) +import DelegateServer.App (runApp) +import DelegateServer.AppManager.Types (AppManager', ActiveAuction) import DelegateServer.Config (Network, networkToNetworkId) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Lib.WebSocketServer @@ -43,7 +44,10 @@ import DelegateServer.Lib.WebSocketServer ) import DelegateServer.State (readAppState) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus, headStatusCodec) +import Effect (Effect) +import Effect.AVar (tryRead) as AVarSync import Effect.Aff (Aff, launchAff_) +import Effect.Aff.AVar (AVar) import Effect.Class (liftEffect) import HydraAuctionOffchain.Contract.Types (StandingBidState, standingBidStateCodec) import Type.Proxy (Proxy(Proxy)) @@ -65,19 +69,28 @@ auctionCsMismatch = } type WsServerAppMap appState = - { lookupApp :: ScriptHash -> Maybe appState + { lookupApp :: ScriptHash -> Effect (Maybe appState) , getHeadStatus :: appState -> Aff HydraHeadStatus , getStandingBid :: appState -> Aff (Maybe StandingBidState) } -wsServer :: Port -> Network -> AppMap Unit -> AppLogger -> Aff DelegateWebSocketServer -wsServer wsServerPort network appMap appLogger = - wsServerGeneric wsServerPort network - { lookupApp: \auctionCs -> - fst <$> Map.lookup auctionCs appMap - , getHeadStatus: \appState -> +wsServer + :: forall a + . Port + -> Network + -> AVar (AppManager' a DelegateWebSocketServer) + -> Aff DelegateWebSocketServer +wsServer wsServerPort network appManagerAvar = + wsServerGeneric wsServerPort network appMap + where + appMap :: WsServerAppMap (ActiveAuction a) + appMap = + { lookupApp: \auctionCs -> do + activeAuctions <- map (_.activeAuctions <<< unwrap) <$> AVarSync.tryRead appManagerAvar + pure $ Map.lookup auctionCs =<< activeAuctions + , getHeadStatus: \{ appState, appLogger } -> runApp appState appLogger $ readAppState (Proxy :: _ "headStatus") - , getStandingBid: \appState -> + , getStandingBid: \{ appState, appLogger } -> runApp appState appLogger $ map snd <$> queryStandingBidL2 } @@ -97,7 +110,7 @@ wsServerGeneric wsServerPort network appMap = do Nothing -> do pure $ CloseWebSocketConn auctionCsDecodingFailure Just auctionCs -> - case appMap.lookupApp auctionCs of + appMap.lookupApp auctionCs >>= case _ of Nothing -> do pure $ CloseWebSocketConn auctionCsMismatch Just appState -> diff --git a/spago.dhall b/spago.dhall index b3454d8..18a38a0 100644 --- a/spago.dhall +++ b/spago.dhall @@ -27,10 +27,10 @@ , "gen" , "http-methods" , "httpure" + , "identity" , "integers" , "js-bigints" , "js-timers" - , "lists" , "maybe" , "monad-logger" , "mote" diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 1c22ccd..6016d61 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -38,7 +38,7 @@ import Data.Foldable (length) import Data.Int (decimal, toStringAs) import Data.Log.Level (LogLevel(Info, Warn)) import Data.Map (singleton, values) as Map -import Data.Maybe (Maybe(Nothing)) +import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (modify, unwrap, wrap) import Data.Traversable (traverse) import Data.TraversableWithIndex (traverseWithIndex) @@ -47,7 +47,7 @@ import Data.Tuple.Nested (type (/\), (/\)) import Data.UInt (fromInt) as UInt import Data.UUID (genUUID, toString) as UUID import DelegateServer.App (AppM, runApp, runContract) -import DelegateServer.Config (AppConfig', AuctionConfig, Network(Testnet)) +import DelegateServer.Config (AppConfig', Network(Testnet), AuctionSlotConfig) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidHandlerImpl) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidHandlerImpl) @@ -57,7 +57,7 @@ import DelegateServer.State (access, readAppState) import DelegateServer.Types.HydraHeadStatus (HydraHeadStatus) import Effect (Effect) import Effect.Aff (Aff, bracket) -import Effect.Aff.AVar (tryRead) as AVar +import Effect.Aff.AVar (read, tryRead) as AVar import Effect.Aff.Class (liftAff) import Effect.Class (class MonadEffect, liftEffect) import Effect.Console (log) @@ -173,10 +173,12 @@ withDelegateServerCluster contractEnv clusterConfig peers action = withRandomApp f = liftAff do appHandle <- randomElem apps + appManager <- liftAff $ unwrap <$> AVar.read appHandle.appManager let - (appState /\ ws) = unsafeHead $ Array.fromFoldable $ Map.values - appHandle.appMap - runApp appState appHandle.appLogger $ f ws + { appState, appLogger, hydraNodeApiWs } = + unsafeHead $ Array.fromFoldable $ Map.values + appManager.activeAuctions + runApp appState appLogger $ f hydraNodeApiWs withRandomApp_ :: forall a. AppM a -> Contract a withRandomApp_ = withRandomApp <<< const @@ -243,7 +245,7 @@ genDelegateServerConfigs :: FilePath -> DelegateServerClusterConfig -> NonEmptyArray DelegateServerPeer - -> Aff (Array (AppConfig' (Array AuctionConfig) QueryBackendParams)) + -> Aff (Array (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams)) genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peers' <- createWorkdirsStoreKeys hydraScriptsTxHash <- publishHydraScripts @@ -267,11 +269,11 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do worker :: Array (Int /\ FilePath) -> String - -> Array (AppConfig' (Array AuctionConfig) QueryBackendParams) + -> Array (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams) worker peers' hydraScriptsTxHash = peers' <#> \(idx /\ workdir) -> wrap { auctionConfig: - [ { auctionMetadataOref: clusterConfig.auctionMetadataOref + [ { auctionMetadataOref: Just clusterConfig.auctionMetadataOref , hydraNodeId: toStringAs decimal idx , hydraNode: ops.mkHydraNode idx , hydraNodeApi: ops.mkHydraNodeApi idx diff --git a/test/DelegateServer/WsServer.purs b/test/DelegateServer/WsServer.purs index afe9a31..64c9215 100644 --- a/test/DelegateServer/WsServer.purs +++ b/test/DelegateServer/WsServer.purs @@ -97,7 +97,7 @@ appMapMock -> Maybe StandingBidState -> WsServerAppMap Unit appMapMock auctionsToServe headStatus standingBid = do - { lookupApp: \auctionCs -> unit <$ Array.elemIndex auctionCs auctionsToServe + { lookupApp: \auctionCs -> pure $ unit <$ Array.elemIndex auctionCs auctionsToServe , getHeadStatus: const (pure headStatus) , getStandingBid: const (pure standingBid) } From 2b5446246f1fe31aea87ab3e6238369ccbacb7c8 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Mon, 23 Sep 2024 18:39:13 +0200 Subject: [PATCH 17/23] feat(delegate_server): implement auction slot reservation logic - Add POST /reserveSlot endpoint that allows users to reserve slots for upcoming auctions --- app/delegate-server/AppManager.purs | 141 +++++++++++------- app/delegate-server/AppManager/Types.purs | 82 +++++++++- app/delegate-server/Config.purs | 9 +- app/delegate-server/Handlers/ReserveSlot.purs | 115 ++++++++++++++ app/delegate-server/Main.purs | 6 +- app/delegate-server/Server.purs | 34 ++++- app/delegate-server/Types/ServerResponse.purs | 6 +- docker/delegate-cluster/config1.json | 82 +++++----- docker/delegate-cluster/config2.json | 82 +++++----- docker/delegate-server-nix/Dockerfile | 33 ++++ docker/delegate-server/Dockerfile | 14 +- src/Codec.purs | 8 + test/DelegateServer/Cluster.purs | 2 + 13 files changed, 454 insertions(+), 160 deletions(-) create mode 100644 app/delegate-server/Handlers/ReserveSlot.purs create mode 100644 docker/delegate-server-nix/Dockerfile diff --git a/app/delegate-server/AppManager.purs b/app/delegate-server/AppManager.purs index 56d7159..25e0d7e 100644 --- a/app/delegate-server/AppManager.purs +++ b/app/delegate-server/AppManager.purs @@ -11,15 +11,16 @@ import Cardano.Types (ScriptHash, TransactionInput) import Contract.Address (getNetworkId) import Contract.Config (QueryBackendParams) import Contract.Log (logInfo', logTrace', logWarn') +import Control.Alt (alt) import Control.Error.Util (bool) -import Control.Monad.Except (ExceptT(ExceptT), runExceptT, throwError) +import Control.Monad.Except (ExceptT(ExceptT), except, runExceptT, throwError) import Control.Monad.Trans.Class (lift) import Control.Safely (foldM) import Ctl.Internal.Helpers ((<>)) import Data.Array ((..)) import Data.Array (length, zip) as Array import Data.Bifunctor (lmap) -import Data.Either (Either(Left, Right), either) +import Data.Either (Either(Left, Right), either, note) import Data.Foldable (foldMap) import Data.Generic.Rep (class Generic) import Data.Identity (Identity(Identity)) @@ -33,6 +34,7 @@ import Data.String (contains) as String import Data.Traversable (sequence) import Data.Tuple.Nested ((/\)) import Data.UInt (toString) as UInt +import Data.UUID (UUID) import DelegateServer.App ( AppM , appLoggerDefault @@ -111,6 +113,7 @@ initAppManager (AppConfig appConfig) appManagerAvar wsServer = do let appManager = AppManager { activeAuctions: Map.empty + , reservedSlots: Map.empty , availableSlots: Map.fromFoldable $ Array.zip (zero .. Array.length slotConfigs) slotConfigs @@ -127,6 +130,7 @@ initAppManager (AppConfig appConfig) appManagerAvar wsServer = do , auctionMetadataOref: oref , appManager: appManagerAcc , appManagerAvar + , reservationCode: Nothing } either ( \appManagerErr -> do @@ -156,10 +160,12 @@ type HostAuctionParams = , auctionMetadataOref :: TransactionInput , appManager :: AppManager , appManagerAvar :: AVar AppManager + , reservationCode :: Maybe UUID } data HostAuctionError = AuctionSlotNotAvailable + | IncorrectReservationCode | MissingOrInvalidAuctionInfo QueryAuctionError derive instance Generic HostAuctionError _ @@ -168,63 +174,86 @@ instance Show HostAuctionError where show = genericShow hostAuction :: HostAuctionParams -> Aff (Either HostAuctionError AppManager) -hostAuction { slot, auctionMetadataOref, appManager: AppManager appManager, appManagerAvar } = +hostAuction + params@{ slot, auctionMetadataOref, appManager: AppManager appManager, appManagerAvar } = runExceptT do - case Map.lookup slot appManager.availableSlots of - Nothing -> - throwError AuctionSlotNotAvailable - Just (AppConfig appConfigAvailable) -> do - let - appConfig = - wrap $ appConfigAvailable - { auctionConfig = appConfigAvailable.auctionConfig - { auctionMetadataOref = Identity auctionMetadataOref - } + AppConfig appConfigAvailable <- except $ findAvailableSlot params + let + appConfig = + wrap $ appConfigAvailable + { auctionConfig = appConfigAvailable.auctionConfig + { auctionMetadataOref = Identity auctionMetadataOref } - appState <- lift $ initApp appConfig - let appLogger = appLoggerDefault - auctionId <- ExceptT $ lmap MissingOrInvalidAuctionInfo <$> - runApp appState appLogger setAuction - hydraNodeApiWs <- lift $ runApp appState appLogger do - prepareCollateralUtxo - hydraNodeProcess <- startHydraNode - hydraNodeApiWs <- initHydraApiWsConn appManager.wsServer - timers <- - sequence - [ initHeadAtBiddingStart hydraNodeApiWs - , closeHeadAtBiddingEnd hydraNodeApiWs - ] - contractEnv <- unwrap <$> access (Proxy :: _ "contractEnv") - cleanupSem <- liftAff $ AVar.new unit - let - cleanupHandler exitReason = - AVarSync.tryTake cleanupSem >>= - maybe (pure unit) \_ -> do - log $ withGraphics (foreground Red) $ show exitReason - appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers - launchAff_ $ modifyAVar_ appManagerAvar \appManager' -> - maybe - ( do - liftEffect $ log $ - "Could not find active auction in AppManager, auction id: " - <> show auctionId - pure appManager' - ) - pure - (removeAuction auctionId appManager') - putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance - pure hydraNodeApiWs - pure $ AppManager $ appManager - { availableSlots = Map.delete slot appManager.availableSlots - , activeAuctions = - Map.insert auctionId - { appState - , appLogger - , hydraNodeApiWs - , occupiedSlot: slot - } - appManager.activeAuctions } + appState <- lift $ initApp appConfig + let appLogger = appLoggerDefault + auctionId <- ExceptT $ lmap MissingOrInvalidAuctionInfo <$> + runApp appState appLogger setAuction + hydraNodeApiWs <- lift $ runApp appState appLogger do + prepareCollateralUtxo + hydraNodeProcess <- startHydraNode + hydraNodeApiWs <- initHydraApiWsConn appManager.wsServer + timers <- + sequence + [ initHeadAtBiddingStart hydraNodeApiWs + , closeHeadAtBiddingEnd hydraNodeApiWs + ] + contractEnv <- unwrap <$> access (Proxy :: _ "contractEnv") + cleanupSem <- liftAff $ AVar.new unit + let + cleanupHandler exitReason = + AVarSync.tryTake cleanupSem >>= + maybe (pure unit) \_ -> do + log $ withGraphics (foreground Red) $ show exitReason + appInstanceCleanupHandler hydraNodeProcess hydraNodeApiWs contractEnv timers + launchAff_ $ modifyAVar_ appManagerAvar \appManager' -> + maybe + ( do + liftEffect $ log $ + "Could not find active auction in AppManager, auction id: " + <> show auctionId + pure appManager' + ) + pure + (removeAuction auctionId appManager') + putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance + pure hydraNodeApiWs + pure $ AppManager $ appManager + { availableSlots = Map.delete slot appManager.availableSlots + , activeAuctions = + Map.insert auctionId + { appState + , appLogger + , hydraNodeApiWs + , occupiedSlot: slot + } + appManager.activeAuctions + } + +findAvailableSlot + :: forall (r :: Row Type) + . { slot :: AuctionSlot + , appManager :: AppManager + , reservationCode :: Maybe UUID + | r + } + -> Either HostAuctionError (AppConfig Maybe) +findAvailableSlot params@{ appManager: AppManager appManager, slot } = + alt + ( maybe (Left AuctionSlotNotAvailable) + ( \code -> + case Map.lookup slot appManager.reservedSlots of + Just { appConfig, reservationCode } | reservationCode == code -> + Right appConfig + Just _ -> Left IncorrectReservationCode + Nothing -> Left AuctionSlotNotAvailable + + ) + params.reservationCode + ) + ( note AuctionSlotNotAvailable $ + Map.lookup slot appManager.availableSlots + ) removeAuction :: ScriptHash -> AppManager -> Maybe AppManager removeAuction auctionId (AppManager appManager) = do diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index d4e05cb..3fa61fe 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -2,14 +2,29 @@ module DelegateServer.AppManager.Types ( ActiveAuction , AppManager'(AppManager) , AuctionSlot + , ReservedAuction + , reserveSlot + , withAppManager ) where +import Prelude + import Cardano.Types (ScriptHash) import Data.Map (Map) -import Data.Maybe (Maybe) +import Data.Map (insert, pop) as Map +import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype) +import Data.Time.Duration (Seconds, fromDuration) +import Data.Tuple (Tuple(Tuple)) +import Data.UUID (UUID, genUUID) import DelegateServer.App (AppLogger, AppState) import DelegateServer.Config (AppConfig) +import Effect.Aff (Fiber, delay, forkAff) +import Effect.Aff.AVar (AVar) +import Effect.Aff.AVar (put, take) as AVar +import Effect.Aff.Class (class MonadAff, liftAff) +import Effect.Class (liftEffect) +import Effect.Console (log) type AuctionSlot = Int @@ -20,10 +35,75 @@ type ActiveAuction (hydraNodeApiWs :: Type) = , occupiedSlot :: AuctionSlot } +type ReservedAuction = + { appConfig :: AppConfig Maybe + , reservationCode :: UUID + } + newtype AppManager' (hydraNodeApiWs :: Type) (wsServer :: Type) = AppManager { activeAuctions :: Map ScriptHash (ActiveAuction hydraNodeApiWs) + , reservedSlots :: Map AuctionSlot ReservedAuction , availableSlots :: Map AuctionSlot (AppConfig Maybe) , wsServer :: wsServer } derive instance Newtype (AppManager' a b) _ + +withAppManager + :: forall m ws wsServer a + . MonadAff m + => AVar (AppManager' ws wsServer) + -> (AppManager' ws wsServer -> m (Tuple (AppManager' ws wsServer) a)) + -> m a +withAppManager appManagerAvar f = do + appManager <- liftAff $ AVar.take appManagerAvar + Tuple appManager' result <- f appManager + liftAff $ AVar.put appManager' appManagerAvar + pure result + +reserveSlot + :: forall m ws wsServer + . MonadAff m + => AVar (AppManager' ws wsServer) + -> Seconds + -> AuctionSlot + -> m (Maybe { reservationCode :: UUID }) +reserveSlot appManagerAvar slotReservationPeriod slot = + withAppManager appManagerAvar \(AppManager appManager) -> + case Map.pop slot appManager.availableSlots of + Nothing -> pure $ Tuple (AppManager appManager) Nothing + Just (Tuple appConfig availableSlots) -> do + void $ forkReservationMonitor appManagerAvar slotReservationPeriod slot + reservationCode <- liftEffect genUUID + pure $ Tuple + ( AppManager $ appManager + { availableSlots = availableSlots + , reservedSlots = + Map.insert slot { appConfig, reservationCode } + appManager.reservedSlots + } + ) + (Just { reservationCode }) + +forkReservationMonitor + :: forall m ws wsServer + . MonadAff m + => AVar (AppManager' ws wsServer) + -> Seconds + -> AuctionSlot + -> m (Fiber Unit) +forkReservationMonitor appManagerAvar slotReservationPeriod slot = + liftAff $ forkAff do + delay $ fromDuration slotReservationPeriod + withAppManager appManagerAvar \(AppManager appManager) -> + case Map.pop slot appManager.reservedSlots of + Nothing -> pure $ Tuple (AppManager appManager) unit + Just (Tuple { appConfig } reservedSlots) -> do + liftEffect $ log $ "Removed reservation for slot " <> show slot + pure $ Tuple + ( AppManager $ appManager + { reservedSlots = reservedSlots + , availableSlots = Map.insert slot appConfig appManager.availableSlots + } + ) + unit diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index f9e893e..9a20101 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -12,7 +12,7 @@ import Prelude import Cardano.Types (NetworkId(TestnetId, MainnetId)) import Contract.Config (QueryBackendParams, defaultConfirmTxDelay) import Contract.Transaction (TransactionInput) -import Data.Codec.Argonaut (JsonCodec, array, int, object, prismaticCodec, string) as CA +import Data.Codec.Argonaut (JsonCodec, array, int, number, object, prismaticCodec, string) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Codec.Argonaut.Variant (variantMatch) as CAV @@ -24,6 +24,7 @@ import Data.Maybe (Maybe) import Data.Newtype (class Newtype, over, wrap) import Data.Profunctor (dimap, wrapIso) import Data.Show.Generic (genericShow) +import Data.Time.Duration (Seconds(Seconds)) import Data.Variant (inj, match) as Variant import DelegateServer.Helpers (printOref, readOref) import DelegateServer.Types.HydraHeadPeer (HydraHeadPeer, hydraHeadPeerCodec) @@ -62,12 +63,12 @@ type AuctionSlotConfig (f :: Type -> Type) = , hydraNodeApi :: HostPort -- ^ Listen address + port for incoming client Hydra Node API -- connections. - , peers :: Array HydraHeadPeer - -- ^ Info about other Head participants (max 5 entries). , cardanoSk :: FilePath -- ^ Cardano signing key of the underlying Hydra node, used to -- authorize Hydra protocol transactions, and any funds owned -- by this key will be used as 'fuel'. + , peers :: Array HydraHeadPeer + -- ^ Info about other Head participants (max 5 entries). } auctionConfigCodec :: CA.JsonCodec (AuctionSlotConfig Maybe) @@ -117,6 +118,7 @@ newtype AppConfig' (ac :: Type) (qb :: Type) = AppConfig -- value is not in sync with other participants hydra-node will -- ignore the initial tx. Additionally, this value needs to make -- sense compared to the current network we are running. + , slotReservationPeriod :: Seconds , logLevel :: LogLevel , ctlLogLevel :: LogLevel } @@ -139,6 +141,7 @@ appConfigCodec = , queryBackend: queryBackendParamsSimpleCodec , hydraScriptsTxHash: CA.string , hydraContestPeriod: CA.int + , slotReservationPeriod: wrapIso Seconds CA.number , logLevel: logLevelCodec , ctlLogLevel: logLevelCodec } diff --git a/app/delegate-server/Handlers/ReserveSlot.purs b/app/delegate-server/Handlers/ReserveSlot.purs new file mode 100644 index 0000000..663dd0d --- /dev/null +++ b/app/delegate-server/Handlers/ReserveSlot.purs @@ -0,0 +1,115 @@ +module DelegateServer.Handlers.ReserveSlot + ( ReserveSlotError + ( CouldNotDecodeReserveSlotReqBody + , RequestedSlotNotAvailable + ) + , ReserveSlotRequest + , ReserveSlotResponse + , ReserveSlotSuccess + , reserveSlotHandler + , reserveSlotHandlerImpl + ) where + +import Prelude + +import Control.Error.Util ((!?)) +import Control.Monad.Except (except, runExceptT) +import Data.Bifunctor (lmap) +import Data.Codec.Argonaut (JsonCodec, int, object, string) as CA +import Data.Codec.Argonaut.Record (record) as CAR +import Data.Codec.Argonaut.Variant (variantMatch) as CAV +import Data.Either (Either(Left, Right)) +import Data.Generic.Rep (class Generic) +import Data.Show.Generic (genericShow) +import Data.Time.Duration (Seconds) +import Data.UUID (UUID) +import DelegateServer.AppManager.Types (AppManager', AuctionSlot) +import DelegateServer.AppManager.Types (reserveSlot) as AppManager +import DelegateServer.Types.ServerResponse + ( ServerResponse + , respCreatedOrBadRequest + , serverResponseCodec + ) +import DelegateServer.Types.ServerResponse (fromEither) as ServerResponse +import Effect.Aff (Aff) +import Effect.Aff.AVar (AVar) +import HTTPure (Response) as HTTPure +import HydraAuctionOffchain.Codec (uuidCodec) +import HydraAuctionOffchain.Lib.Codec (sumGenericCodec) +import HydraAuctionOffchain.Lib.Json (caDecodeString) + +reserveSlotHandler + :: forall ws wsServer + . AVar (AppManager' ws wsServer) + -> Seconds + -> String + -> Aff HTTPure.Response +reserveSlotHandler appManagerAvar slotReservationPeriod bodyStr = + reserveSlotHandlerImpl appManagerAvar slotReservationPeriod bodyStr >>= + respCreatedOrBadRequest reserveSlotResponseCodec + <<< ServerResponse.fromEither + +reserveSlotHandlerImpl + :: forall ws wsServer + . AVar (AppManager' ws wsServer) + -> Seconds + -> String + -> Aff (Either ReserveSlotError ReserveSlotSuccess) +reserveSlotHandlerImpl appManagerAvar slotReservationPeriod bodyStr = + runExceptT do + reqBody <- except $ lmap CouldNotDecodeReserveSlotReqBody $ + caDecodeString reserveSlotRequestCodec bodyStr + AppManager.reserveSlot appManagerAvar slotReservationPeriod reqBody.slot !? + RequestedSlotNotAvailable + +-- ReserveSlotRequest ------------------------------------------------ + +type ReserveSlotRequest = + { slot :: AuctionSlot + } + +reserveSlotRequestCodec :: CA.JsonCodec ReserveSlotRequest +reserveSlotRequestCodec = + CA.object "ReserveSlotRequest" $ CAR.record + { slot: CA.int + } + +-- ReserveSlotResponse ----------------------------------------------- + +type ReserveSlotResponse = ServerResponse ReserveSlotSuccess ReserveSlotError + +reserveSlotResponseCodec :: CA.JsonCodec ReserveSlotResponse +reserveSlotResponseCodec = serverResponseCodec reserveSlotSuccessCodec reserveSlotErrorCodec + +-- ReserveSlotSuccess ------------------------------------------------ + +type ReserveSlotSuccess = + { reservationCode :: UUID + } + +reserveSlotSuccessCodec :: CA.JsonCodec ReserveSlotSuccess +reserveSlotSuccessCodec = + CA.object "ReserveSlotSuccess" $ CAR.record + { reservationCode: uuidCodec + } + +-- ReserveSlotError -------------------------------------------------- + +data ReserveSlotError + = CouldNotDecodeReserveSlotReqBody String + | RequestedSlotNotAvailable + +derive instance Generic ReserveSlotError _ +derive instance Eq ReserveSlotError + +instance Show ReserveSlotError where + show = genericShow + +reserveSlotErrorCodec :: CA.JsonCodec ReserveSlotError +reserveSlotErrorCodec = + sumGenericCodec "ReserveSlotError" + ( CAV.variantMatch + { "CouldNotDecodeReserveSlotReqBody": Right CA.string + , "RequestedSlotNotAvailable": Left unit + } + ) diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index e07b8a4..c29ef56 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -55,7 +55,11 @@ startDelegateServer startDelegateServer appConfig@(AppConfig appConfigRec) = do appManagerAvar <- AVar.empty wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appManagerAvar - closeHttpServer <- liftEffect $ httpServer appConfigRec.serverPort appManagerAvar + closeHttpServer <- liftEffect $ httpServer + { serverPort: appConfigRec.serverPort + , appManagerAvar + , slotReservationPeriod: appConfigRec.slotReservationPeriod + } initAppManager appConfig appManagerAvar wsServer' cleanupSem <- liftAff $ AVar.new unit let diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index 2303fdc..a907109 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -8,11 +8,13 @@ import Data.Either (Either(Left, Right)) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap) +import Data.Time.Duration (Seconds) import Data.Tuple.Nested ((/\)) import DelegateServer.App (AppM, runApp) import DelegateServer.AppManager.Types (AppManager') import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) +import DelegateServer.Handlers.ReserveSlot (reserveSlotHandler) import DelegateServer.Handlers.SignCommitTx (signCommitTxHandler) import DelegateServer.HydraNodeApi.WebSocket (HydraNodeApiWebSocket) import Effect.Aff (Aff) @@ -42,23 +44,39 @@ import URI.Port (toInt) as Port type AppManager (wsServer :: Type) = AppManager' HydraNodeApiWebSocket wsServer -httpServer :: forall a. Port -> AVar (AppManager a) -> HTTPure.ServerM -httpServer serverPort appManagerAvar = do - let port = Port.toInt serverPort - HTTPure.serve port (router appManagerAvar) do +type HttpServerParams (wsServer :: Type) = + { serverPort :: Port + , appManagerAvar :: AVar (AppManager wsServer) + , slotReservationPeriod :: Seconds + } + +httpServer :: forall wsServer. HttpServerParams wsServer -> HTTPure.ServerM +httpServer params = do + let port = Port.toInt params.serverPort + HTTPure.serve port (router params) do -- TODO: Add a top-level logger that is not associated with a -- specific app instance log $ "Http server now accepts connections on port " <> show port <> "." -router :: forall a. AVar (AppManager a) -> HTTPure.Request -> Aff HTTPure.Response +router :: forall wsServer. HttpServerParams wsServer -> HTTPure.Request -> Aff HTTPure.Response router _ { method: Options, headers } | unwrap headers !? "Access-Control-Request-Method" = corsPreflightHandler headers | otherwise = HTTPure.notFound -router appManagerAvar request = corsMiddleware routerCors appManagerAvar request +router params request = corsMiddleware routerCors params request + +routerCors + :: forall wsServer + . HttpServerParams wsServer + -> HTTPure.Request + -> Aff HTTPure.Response +routerCors params { body, method: Post, path: [ "reserveSlot" ] } = do + bodyStr <- liftAff $ HTTPure.toString body + reserveSlotHandler params.appManagerAvar params.slotReservationPeriod + bodyStr -routerCors :: forall a. AVar (AppManager a) -> HTTPure.Request -> Aff HTTPure.Response -routerCors appManagerAvar request = appLookupMiddleware routerCorsApp appManagerAvar request +routerCors params request = + appLookupMiddleware routerCorsApp params.appManagerAvar request routerCorsApp :: HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response routerCorsApp ws { method: Post, path: [ "moveBid" ] } = diff --git a/app/delegate-server/Types/ServerResponse.purs b/app/delegate-server/Types/ServerResponse.purs index e4de3e3..8efbc02 100644 --- a/app/delegate-server/Types/ServerResponse.purs +++ b/app/delegate-server/Types/ServerResponse.purs @@ -1,5 +1,6 @@ module DelegateServer.Types.ServerResponse ( ServerResponse(ServerResponseSuccess, ServerResponseError) + , fromEither , respCreatedOrBadRequest , serverResponseCodec ) where @@ -9,7 +10,7 @@ import Prelude import Data.Argonaut (stringify) import Data.Codec.Argonaut (JsonCodec, encode) as CA import Data.Codec.Argonaut.Variant (variantMatch) as CAV -import Data.Either (Either(Right)) +import Data.Either (Either(Right), either) import Data.Generic.Rep (class Generic) import Data.Profunctor (dimap) import Data.Show.Generic (genericShow) @@ -36,6 +37,9 @@ instance (HasJson success p, HasJson err p) => HasJson (ServerResponse success e (jsonCodec params Proxy) (jsonCodec params Proxy) +fromEither :: forall success err. Either err success -> ServerResponse success err +fromEither = either ServerResponseError ServerResponseSuccess + serverResponseCodec :: forall success err . CA.JsonCodec success diff --git a/docker/delegate-cluster/config1.json b/docker/delegate-cluster/config1.json index 6a6a563..dd3b826 100644 --- a/docker/delegate-cluster/config1.json +++ b/docker/delegate-cluster/config1.json @@ -1,44 +1,48 @@ { - "auctionMetadataOref": "4ae36fd86f28c480c3616878e60fdd4a5e611d12ba24660c21e8a97fa81a6651#0", - "serverPort": 7010, - "wsServerPort": 7020, - "hydraNodeId": "A", - "hydraNode": "0.0.0.0:7000", - "hydraNodeApi": "127.0.0.1:7001", - "hydraPersistDir": "./hydra-persist", - "hydraSk": "keys/hydra.sk", - "cardanoSk": "keys/cardano.sk", - "walletSk": "keys/wallet.sk", - "nodeSocket": "node.socket", - "network": { - "tag": "testnet", - "magic": 2 + "serverPort": 7010, + "wsServerPort": 7020, + "hydraPersistDir": "./hydra-persist", + "hydraSk": "keys/hydra.sk", + "nodeSocket": "node.socket", + "network": { + "tag": "testnet", + "magic": 1 + }, + "queryBackend": { + "tag": "blockfrost", + "config": { + "port": 443, + "host": "cardano-preprod.blockfrost.io", + "secure": true, + "path": "/api/v0" }, - "queryBackend": { - "tag": "blockfrost", - "config": { - "port": 443, - "host": "cardano-preview.blockfrost.io", - "secure": true, - "path": "/api/v0" - }, - "apiKey": null - }, - "hydraScriptsTxHash": "1f34e4ee2404a5e4fc8ef970b7b8717af34c1a5a22107b82cde79c5d11da93b9", - "hydraContestPeriod": 60, - "logLevel": "info", - "ctlLogLevel": "warn", - "peers": [ + "apiKey": null + }, + "hydraScriptsTxHash": "03f8deb122fbbd98af8eb58ef56feda37728ec957d39586b78198a0cf624412a", + "hydraContestPeriod": 60, + "slotReservationPeriod": 300, + "logLevel": "debug", + "ctlLogLevel": "warn", + "auctionConfig": [ + { + "auctionMetadataOref": null, + "hydraNodeId": "aebc0f2f-c817-4fa9-a0b1-a39c99a39495", + "hydraNode": "0.0.0.0:7000", + "hydraNodeApi": "127.0.0.1:7001", + "cardanoSk": "keys/cardano.sk", + "peers": [ { - "hydraNode": "delegate-server-b:7002", - "hydraVk": "keys/hydra2.vk", - "cardanoVk": "keys/cardano2.vk", - "httpServer": { - "port": 7011, - "host": "delegate-server-b", - "secure": false, - "path": null - } + "hydraNode": "delegate-server-b:7002", + "hydraVk": "keys/hydra2.vk", + "cardanoVk": "keys/cardano2.vk", + "httpServer": { + "port": 7011, + "host": "delegate-server-b", + "secure": false, + "path": null + } } - ] + ] + } + ] } diff --git a/docker/delegate-cluster/config2.json b/docker/delegate-cluster/config2.json index 4efc1dd..b7efd4a 100644 --- a/docker/delegate-cluster/config2.json +++ b/docker/delegate-cluster/config2.json @@ -1,44 +1,48 @@ { - "auctionMetadataOref": "4ae36fd86f28c480c3616878e60fdd4a5e611d12ba24660c21e8a97fa81a6651#0", - "serverPort": 7011, - "wsServerPort": 7021, - "hydraNodeId": "B", - "hydraNode": "0.0.0.0:7002", - "hydraNodeApi": "127.0.0.1:7003", - "hydraPersistDir": "./hydra-persist", - "hydraSk": "keys/hydra2.sk", - "cardanoSk": "keys/cardano2.sk", - "walletSk": "keys/wallet2.sk", - "nodeSocket": "node.socket", - "network": { - "tag": "testnet", - "magic": 2 + "serverPort": 7011, + "wsServerPort": 7021, + "hydraPersistDir": "./hydra-persist", + "hydraSk": "keys/hydra2.sk", + "nodeSocket": "node.socket", + "network": { + "tag": "testnet", + "magic": 1 + }, + "queryBackend": { + "tag": "blockfrost", + "config": { + "port": 443, + "host": "cardano-preprod.blockfrost.io", + "secure": true, + "path": "/api/v0" }, - "queryBackend": { - "tag": "blockfrost", - "config": { - "port": 443, - "host": "cardano-preview.blockfrost.io", - "secure": true, - "path": "/api/v0" - }, - "apiKey": null - }, - "hydraScriptsTxHash": "1f34e4ee2404a5e4fc8ef970b7b8717af34c1a5a22107b82cde79c5d11da93b9", - "hydraContestPeriod": 60, - "logLevel": "info", - "ctlLogLevel": "warn", - "peers": [ + "apiKey": null + }, + "hydraScriptsTxHash": "03f8deb122fbbd98af8eb58ef56feda37728ec957d39586b78198a0cf624412a", + "hydraContestPeriod": 60, + "slotReservationPeriod": 300, + "logLevel": "info", + "ctlLogLevel": "warn", + "auctionConfig": [ + { + "auctionMetadataOref": null, + "hydraNodeId": "57e548c9-411b-456f-aef3-ad484bbda835", + "hydraNode": "0.0.0.0:7002", + "hydraNodeApi": "127.0.0.1:7003", + "cardanoSk": "keys/cardano2.sk", + "peers": [ { - "hydraNode": "delegate-server-a:7000", - "hydraVk": "keys/hydra.vk", - "cardanoVk": "keys/cardano.vk", - "httpServer": { - "port": 7010, - "host": "delegate-server-a", - "secure": false, - "path": null - } + "hydraNode": "delegate-server-a:7000", + "hydraVk": "keys/hydra.vk", + "cardanoVk": "keys/cardano.vk", + "httpServer": { + "port": 7011, + "host": "delegate-server-a", + "secure": false, + "path": null + } } - ] + ] + } + ] } diff --git a/docker/delegate-server-nix/Dockerfile b/docker/delegate-server-nix/Dockerfile new file mode 100644 index 0000000..57d09e2 --- /dev/null +++ b/docker/delegate-server-nix/Dockerfile @@ -0,0 +1,33 @@ +# syntax=docker/dockerfile:1 + +FROM nixos/nix:latest AS hydra + +RUN git clone https://github.com/input-output-hk/hydra.git +WORKDIR /hydra +RUN git checkout 1ffe7c6b505e3f38b5546ae5e5b97de26bc70425 +RUN nix build .#hydra-node-static \ + --extra-experimental-features "nix-command flakes" \ + --accept-flake-config + +FROM node:18 +WORKDIR /app + +COPY package.json package-lock.json . +RUN npm clean-install --production=false --loglevel=verbose +RUN npm install purescript@0.15.8 +RUN npm install spago@0.21.0 + +COPY packages.dhall spago.dhall . +RUN npx --no-install spago install + +COPY scripts scripts +COPY src src +COPY app/delegate-server app/delegate-server +COPY protocol-parameters.json . +RUN npx --no-install spago build + +COPY --from=hydra /hydra/result/bin/hydra-node /usr/local/bin/hydra-node +RUN chmod +x /usr/local/bin/hydra-node + +ENTRYPOINT ["npx", "--no-install", "spago", "-q", "run", "--main", "DelegateServer.Main", "--exec-args"] +CMD ["--help"] diff --git a/docker/delegate-server/Dockerfile b/docker/delegate-server/Dockerfile index 6275e60..bc4f2c0 100644 --- a/docker/delegate-server/Dockerfile +++ b/docker/delegate-server/Dockerfile @@ -1,13 +1,4 @@ # syntax=docker/dockerfile:1 - -FROM nixos/nix:latest AS hydra - -RUN git clone https://github.com/input-output-hk/hydra.git -WORKDIR /hydra -RUN git checkout 68d157c79d2c61ef3d491e83806b79b283e8de1c -RUN nix build .#hydra-node-static \ - --extra-experimental-features "nix-command flakes" \ - --accept-flake-config FROM node:18 WORKDIR /app @@ -26,9 +17,8 @@ COPY app/delegate-server app/delegate-server COPY protocol-parameters.json . RUN npx --no-install spago build -# RUN curl -LO https://github.com/input-output-hk/hydra/releases/download/0.15.0/hydra-x86_64-linux-0.15.0.zip -# RUN unzip -d /usr/local/bin/ hydra-x86_64-linux-0.15.0.zip -COPY --from=hydra /hydra/result/bin/hydra-node /usr/local/bin/hydra-node +RUN curl -LO https://github.com/input-output-hk/hydra/releases/download/0.19.0/hydra-x86_64-linux-0.19.0.zip +RUN unzip -d /usr/local/bin/ hydra-x86_64-linux-0.19.0.zip RUN chmod +x /usr/local/bin/hydra-node ENTRYPOINT ["npx", "--no-install", "spago", "-q", "run", "--main", "DelegateServer.Main", "--exec-args"] diff --git a/src/Codec.purs b/src/Codec.purs index af798fb..df23803 100644 --- a/src/Codec.purs +++ b/src/Codec.purs @@ -20,6 +20,7 @@ module HydraAuctionOffchain.Codec , sysStartCodec , txCodec , txHashCodec + , uuidCodec , vkeyWitnessCodec ) where @@ -79,6 +80,8 @@ import Data.Profunctor (dimap, wrapIso) import Data.Tuple.Nested ((/\)) import Data.UInt (UInt) import Data.UInt (fromInt', fromString, toInt, toString) as UInt +import Data.UUID (UUID, parseUUID) +import Data.UUID (toString) as UUID import HydraAuctionOffchain.Helpers (fromJustWithErr) import JS.BigInt (BigInt) import JS.BigInt (fromNumber, fromString, toNumber, toString) as BigInt @@ -249,5 +252,10 @@ txHashCodec = asCborCodec "TransactionHash" uintCodec :: CA.JsonCodec UInt uintCodec = CA.prismaticCodec "UInt" UInt.fromInt' UInt.toInt CA.int +uuidCodec :: CA.JsonCodec UUID +uuidCodec = + CA.prismaticCodec "UUID" parseUUID UUID.toString + CA.string + vkeyWitnessCodec :: CA.JsonCodec Vkeywitness vkeyWitnessCodec = asCborCodec "Vkeywitness" diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index 6016d61..a5c2da2 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -40,6 +40,7 @@ import Data.Log.Level (LogLevel(Info, Warn)) import Data.Map (singleton, values) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (modify, unwrap, wrap) +import Data.Time.Duration (Minutes(Minutes), convertDuration) import Data.Traversable (traverse) import Data.TraversableWithIndex (traverseWithIndex) import Data.Tuple (snd) @@ -308,6 +309,7 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do } , hydraScriptsTxHash , hydraContestPeriod: 5 + , slotReservationPeriod: convertDuration $ Minutes 5.0 , logLevel: Info , ctlLogLevel: Warn } From 2c8055c8adc9504c8cdc4fe2a3d0c58054c1c4c9 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Mon, 23 Sep 2024 20:24:14 +0200 Subject: [PATCH 18/23] feat(delegate_server): implement dynamic auction hosting - Add POST /hostAuction endpoint that allows sellers to host announced auctions at specific available or reserved slots --- app/delegate-server/AppManager.purs | 6 + app/delegate-server/AppManager/Types.purs | 46 +++--- app/delegate-server/Handlers/HostAuction.purs | 134 ++++++++++++++++++ app/delegate-server/Server.purs | 28 ++-- 4 files changed, 178 insertions(+), 36 deletions(-) create mode 100644 app/delegate-server/Handlers/HostAuction.purs diff --git a/app/delegate-server/AppManager.purs b/app/delegate-server/AppManager.purs index 25e0d7e..e35b638 100644 --- a/app/delegate-server/AppManager.purs +++ b/app/delegate-server/AppManager.purs @@ -1,6 +1,12 @@ module DelegateServer.AppManager ( AppManager + , HostAuctionError + ( AuctionSlotNotAvailable + , IncorrectReservationCode + , MissingOrInvalidAuctionInfo + ) , initAppManager + , hostAuction ) where import Prelude diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index 3fa61fe..281c4cf 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -15,16 +15,17 @@ import Data.Map (insert, pop) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype) import Data.Time.Duration (Seconds, fromDuration) -import Data.Tuple (Tuple(Tuple)) +import Data.Tuple (Tuple(Tuple), snd) import Data.UUID (UUID, genUUID) import DelegateServer.App (AppLogger, AppState) import DelegateServer.Config (AppConfig) -import Effect.Aff (Fiber, delay, forkAff) +import Effect.Aff (Aff, Fiber, delay, forkAff, generalBracket) import Effect.Aff.AVar (AVar) import Effect.Aff.AVar (put, take) as AVar -import Effect.Aff.Class (class MonadAff, liftAff) +import Effect.Aff.Class (liftAff) import Effect.Class (liftEffect) import Effect.Console (log) +import Effect.Exception (Error) type AuctionSlot = Int @@ -50,24 +51,28 @@ newtype AppManager' (hydraNodeApiWs :: Type) (wsServer :: Type) = AppManager derive instance Newtype (AppManager' a b) _ withAppManager - :: forall m ws wsServer a - . MonadAff m - => AVar (AppManager' ws wsServer) - -> (AppManager' ws wsServer -> m (Tuple (AppManager' ws wsServer) a)) - -> m a -withAppManager appManagerAvar f = do - appManager <- liftAff $ AVar.take appManagerAvar - Tuple appManager' result <- f appManager - liftAff $ AVar.put appManager' appManagerAvar - pure result + :: forall ws wsServer a + . AVar (AppManager' ws wsServer) + -> (AppManager' ws wsServer -> Aff (Tuple (AppManager' ws wsServer) a)) + -> Aff a +withAppManager appManagerAvar = + map snd <<< generalBracket (AVar.take appManagerAvar) + { killed: handleFailure + , failed: handleFailure + , completed: + \(Tuple appManager' _) _ -> + AVar.put appManager' appManagerAvar + } + where + handleFailure :: Error -> AppManager' ws wsServer -> Aff Unit + handleFailure = const (flip AVar.put appManagerAvar) reserveSlot - :: forall m ws wsServer - . MonadAff m - => AVar (AppManager' ws wsServer) + :: forall ws wsServer + . AVar (AppManager' ws wsServer) -> Seconds -> AuctionSlot - -> m (Maybe { reservationCode :: UUID }) + -> Aff (Maybe { reservationCode :: UUID }) reserveSlot appManagerAvar slotReservationPeriod slot = withAppManager appManagerAvar \(AppManager appManager) -> case Map.pop slot appManager.availableSlots of @@ -86,12 +91,11 @@ reserveSlot appManagerAvar slotReservationPeriod slot = (Just { reservationCode }) forkReservationMonitor - :: forall m ws wsServer - . MonadAff m - => AVar (AppManager' ws wsServer) + :: forall ws wsServer + . AVar (AppManager' ws wsServer) -> Seconds -> AuctionSlot - -> m (Fiber Unit) + -> Aff (Fiber Unit) forkReservationMonitor appManagerAvar slotReservationPeriod slot = liftAff $ forkAff do delay $ fromDuration slotReservationPeriod diff --git a/app/delegate-server/Handlers/HostAuction.purs b/app/delegate-server/Handlers/HostAuction.purs new file mode 100644 index 0000000..acb526c --- /dev/null +++ b/app/delegate-server/Handlers/HostAuction.purs @@ -0,0 +1,134 @@ +module DelegateServer.Handlers.HostAuction + ( HostAuctionError + ( CouldNotDecodeHostAuctionReqBody + , AuctionSlotNotAvailable + , IncorrectReservationCode + , MissingOrInvalidAuctionInfo + ) + , HostAuctionRequest + , HostAuctionResponse + , hostAuctionHandler + , hostAuctionHandlerImpl + ) where + +import Prelude + +import Cardano.Types (TransactionInput) +import Control.Monad.Except (ExceptT(ExceptT), except, runExceptT) +import Data.Bifunctor (lmap) +import Data.Codec.Argonaut (JsonCodec, int, null, object, prismaticCodec, string) as CA +import Data.Codec.Argonaut.Compat (maybe) as CA +import Data.Codec.Argonaut.Record (record) as CAR +import Data.Codec.Argonaut.Variant (variantMatch) as CAV +import Data.Either (Either(Left, Right), either) +import Data.Generic.Rep (class Generic) +import Data.Maybe (Maybe) +import Data.Show.Generic (genericShow) +import Data.Tuple (Tuple(Tuple)) +import Data.UUID (UUID) +import DelegateServer.AppManager (AppManager) +import DelegateServer.AppManager + ( HostAuctionError + ( AuctionSlotNotAvailable + , IncorrectReservationCode + , MissingOrInvalidAuctionInfo + ) + , hostAuction + ) as AppManager +import DelegateServer.AppManager.Types (AuctionSlot, withAppManager) +import DelegateServer.Helpers (printOref, readOref) +import DelegateServer.Types.ServerResponse + ( ServerResponse + , respCreatedOrBadRequest + , serverResponseCodec + ) +import DelegateServer.Types.ServerResponse (fromEither) as ServerResponse +import Effect.Aff (Aff) +import Effect.Aff.AVar (AVar) +import HTTPure (Response) as HTTPure +import HydraAuctionOffchain.Codec (uuidCodec) +import HydraAuctionOffchain.Contract.Types (ContractError, contractErrorCodec, toContractError) +import HydraAuctionOffchain.Lib.Codec (sumGenericCodec) +import HydraAuctionOffchain.Lib.Json (caDecodeString) + +hostAuctionHandler :: AVar AppManager -> String -> Aff HTTPure.Response +hostAuctionHandler appManagerAvar bodyStr = + hostAuctionHandlerImpl appManagerAvar bodyStr >>= + respCreatedOrBadRequest hostAuctionResponseCodec + <<< ServerResponse.fromEither + +hostAuctionHandlerImpl :: AVar AppManager -> String -> Aff (Either HostAuctionError Unit) +hostAuctionHandlerImpl appManagerAvar bodyStr = + runExceptT do + reqBody <- except $ lmap CouldNotDecodeHostAuctionReqBody $ + caDecodeString hostAuctionRequestCodec bodyStr + ExceptT $ lmap convertHostAuctionError <$> + withAppManager appManagerAvar \appManager -> + either (Tuple appManager <<< Left) (flip Tuple (Right unit)) <$> + AppManager.hostAuction + { slot: reqBody.slot + , auctionMetadataOref: reqBody.auctionMetadataOref + , appManager + , appManagerAvar + , reservationCode: reqBody.reservationCode + } + +-- HostAuctionRequest ------------------------------------------------ + +type HostAuctionRequest = + { auctionMetadataOref :: TransactionInput + , slot :: AuctionSlot + , reservationCode :: Maybe UUID + } + +hostAuctionRequestCodec :: CA.JsonCodec HostAuctionRequest +hostAuctionRequestCodec = + CA.object "HostAuctionRequest" $ CAR.record + { auctionMetadataOref: + CA.prismaticCodec "TransactionInput" readOref printOref + CA.string + , slot: CA.int + , reservationCode: CA.maybe uuidCodec + } + +-- HostAuctionResponse ----------------------------------------------- + +type HostAuctionResponse = ServerResponse Unit HostAuctionError + +hostAuctionResponseCodec :: CA.JsonCodec HostAuctionResponse +hostAuctionResponseCodec = serverResponseCodec CA.null hostAuctionErrorCodec + +-- HostAuctionError -------------------------------------------------- + +data HostAuctionError + = CouldNotDecodeHostAuctionReqBody String + | AuctionSlotNotAvailable + | IncorrectReservationCode + | MissingOrInvalidAuctionInfo ContractError + +derive instance Generic HostAuctionError _ +derive instance Eq HostAuctionError + +instance Show HostAuctionError where + show = genericShow + +hostAuctionErrorCodec :: CA.JsonCodec HostAuctionError +hostAuctionErrorCodec = + sumGenericCodec "ReserveSlotError" + ( CAV.variantMatch + { "CouldNotDecodeHostAuctionReqBody": Right CA.string + , "AuctionSlotNotAvailable": Left unit + , "IncorrectReservationCode": Left unit + , "MissingOrInvalidAuctionInfo": Right contractErrorCodec + } + ) + +convertHostAuctionError :: AppManager.HostAuctionError -> HostAuctionError +convertHostAuctionError = case _ of + AppManager.AuctionSlotNotAvailable -> + AuctionSlotNotAvailable + AppManager.IncorrectReservationCode -> + IncorrectReservationCode + AppManager.MissingOrInvalidAuctionInfo queryAuctionErr -> + MissingOrInvalidAuctionInfo $ + toContractError queryAuctionErr diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index a907109..3b7f4c5 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -11,7 +11,8 @@ import Data.Newtype (unwrap) import Data.Time.Duration (Seconds) import Data.Tuple.Nested ((/\)) import DelegateServer.App (AppM, runApp) -import DelegateServer.AppManager.Types (AppManager') +import DelegateServer.AppManager (AppManager) +import DelegateServer.Handlers.HostAuction (hostAuctionHandler) import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) import DelegateServer.Handlers.ReserveSlot (reserveSlotHandler) @@ -42,15 +43,13 @@ import HydraAuctionOffchain.Lib.Json (caDecodeString) import URI.Port (Port) import URI.Port (toInt) as Port -type AppManager (wsServer :: Type) = AppManager' HydraNodeApiWebSocket wsServer - -type HttpServerParams (wsServer :: Type) = +type HttpServerParams = { serverPort :: Port - , appManagerAvar :: AVar (AppManager wsServer) + , appManagerAvar :: AVar AppManager , slotReservationPeriod :: Seconds } -httpServer :: forall wsServer. HttpServerParams wsServer -> HTTPure.ServerM +httpServer :: HttpServerParams -> HTTPure.ServerM httpServer params = do let port = Port.toInt params.serverPort HTTPure.serve port (router params) do @@ -58,23 +57,23 @@ httpServer params = do -- specific app instance log $ "Http server now accepts connections on port " <> show port <> "." -router :: forall wsServer. HttpServerParams wsServer -> HTTPure.Request -> Aff HTTPure.Response +router :: HttpServerParams -> HTTPure.Request -> Aff HTTPure.Response router _ { method: Options, headers } | unwrap headers !? "Access-Control-Request-Method" = corsPreflightHandler headers | otherwise = HTTPure.notFound router params request = corsMiddleware routerCors params request -routerCors - :: forall wsServer - . HttpServerParams wsServer - -> HTTPure.Request - -> Aff HTTPure.Response +routerCors :: HttpServerParams -> HTTPure.Request -> Aff HTTPure.Response routerCors params { body, method: Post, path: [ "reserveSlot" ] } = do bodyStr <- liftAff $ HTTPure.toString body reserveSlotHandler params.appManagerAvar params.slotReservationPeriod bodyStr +routerCors params { body, method: Post, path: [ "hostAuction" ] } = do + bodyStr <- liftAff $ HTTPure.toString body + hostAuctionHandler params.appManagerAvar bodyStr + routerCors params request = appLookupMiddleware routerCorsApp params.appManagerAvar request @@ -95,9 +94,8 @@ routerCorsApp _ _ = HTTPure.notFound -- Middleware -------------------------------------------------------- appLookupMiddleware - :: forall a - . (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) - -> AVar (AppManager a) + :: (HydraNodeApiWebSocket -> HTTPure.Request -> AppM HTTPure.Response) + -> AVar AppManager -> HTTPure.Request -> Aff HTTPure.Response appLookupMiddleware router' appManagerAvar request@{ headers } From f5c087e05926b50bae255ba83cec4c217dfbfbe9 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 25 Sep 2024 02:08:34 +0200 Subject: [PATCH 19/23] build: add cardano-node to docker-compose, handle sync status --- Makefile | 2 +- docker/delegate-cluster/config1.json | 2 +- docker/delegate-cluster/config2.json | 2 +- docker/delegate-cluster/docker-compose.yaml | 38 +++++++++++++++++---- flake.nix | 2 ++ 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 6fc4e32..c92310e 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ delegate-server-help: requires-nix-shell spago run --main DelegateServer.Main --exec-args '--help' delegate-cluster: - docker compose -f ${delegate-cluster-docker-compose} up --build + docker compose -f ${delegate-cluster-docker-compose} up --build --no-attach cardano-node delegate-cluster-cleanup: docker compose -f ${delegate-cluster-docker-compose} rm --force --stop --volumes diff --git a/docker/delegate-cluster/config1.json b/docker/delegate-cluster/config1.json index dd3b826..c780b5c 100644 --- a/docker/delegate-cluster/config1.json +++ b/docker/delegate-cluster/config1.json @@ -3,7 +3,7 @@ "wsServerPort": 7020, "hydraPersistDir": "./hydra-persist", "hydraSk": "keys/hydra.sk", - "nodeSocket": "node.socket", + "nodeSocket": "node-ipc/node.socket", "network": { "tag": "testnet", "magic": 1 diff --git a/docker/delegate-cluster/config2.json b/docker/delegate-cluster/config2.json index b7efd4a..e379bea 100644 --- a/docker/delegate-cluster/config2.json +++ b/docker/delegate-cluster/config2.json @@ -3,7 +3,7 @@ "wsServerPort": 7021, "hydraPersistDir": "./hydra-persist", "hydraSk": "keys/hydra2.sk", - "nodeSocket": "node.socket", + "nodeSocket": "node-ipc/node.socket", "network": { "tag": "testnet", "magic": 1 diff --git a/docker/delegate-cluster/docker-compose.yaml b/docker/delegate-cluster/docker-compose.yaml index 5d1cc68..122ab0b 100644 --- a/docker/delegate-cluster/docker-compose.yaml +++ b/docker/delegate-cluster/docker-compose.yaml @@ -1,8 +1,29 @@ services: + cardano-node: + image: ghcr.io/intersectmbo/cardano-node:9.2.0 + environment: + - NETWORK=preprod + volumes: + - node-db:/data/db + - node-ipc:/ipc + restart: on-failure + healthcheck: + test: ["CMD-SHELL", "[ \"$(cardano-cli query tip --testnet-magic=1 --socket-path=/ipc/node.socket | tail -c 8 | head -c 5)\" == \"100.0\" ]"] + interval: 10s + retries: 8640 + logging: + driver: "json-file" + options: + max-size: "200k" + max-file: "10" + delegate-server-a: build: context: "../.." dockerfile: "docker/delegate-server/Dockerfile" + depends_on: + cardano-node: + condition: service_healthy command: "'--config config.json'" volumes: - type: "bind" @@ -11,9 +32,9 @@ services: - type: "bind" source: "../../keys" target: "/app/keys" - - type: "bind" - source: "${CARDANO_NODE_SOCKET_PATH}" - target: "/app/node.socket" + - type: "volume" + source: "node-ipc" + target: "/app/node-ipc" - type: "volume" source: "hydra-persist-a" target: "/app/hydra-persist" @@ -25,6 +46,9 @@ services: build: context: "../.." dockerfile: "docker/delegate-server/Dockerfile" + depends_on: + cardano-node: + condition: service_healthy command: "'--config config.json'" volumes: - type: "bind" @@ -33,9 +57,9 @@ services: - type: "bind" source: "../../keys" target: "/app/keys" - - type: "bind" - source: "${CARDANO_NODE_SOCKET_PATH}" - target: "/app/node.socket" + - type: "volume" + source: "node-ipc" + target: "/app/node-ipc" - type: "volume" source: "hydra-persist-b" target: "/app/hydra-persist" @@ -47,3 +71,5 @@ services: volumes: hydra-persist-a: hydra-persist-b: + node-db: + node-ipc: diff --git a/flake.nix b/flake.nix index 0a46949..73e0e01 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,8 @@ nixpkgs-fmt nodePackages.prettier nodePackages.purs-tidy + inputs.cardano-node.packages.${system}."preview/node" + inputs.cardano-node.packages.${system}."preprod/node" ]; }; }; From a08a0f32fd799933859a77be2cc6ec941ccd0a2e Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 25 Sep 2024 15:50:34 +0200 Subject: [PATCH 20/23] feat(reserve_slot): include delegate pkh in response payload --- app/delegate-server/AppManager.purs | 5 +- app/delegate-server/AppManager/Types.purs | 12 ++- app/delegate-server/Config.purs | 59 +++++++++-- app/delegate-server/Handlers/ReserveSlot.purs | 5 +- app/delegate-server/Main.purs | 9 +- docker/delegate-cluster/docker-compose.yaml | 2 +- test/DelegateServer/Cluster.purs | 100 ++++++++++-------- 7 files changed, 119 insertions(+), 73 deletions(-) diff --git a/app/delegate-server/AppManager.purs b/app/delegate-server/AppManager.purs index e35b638..dc415ae 100644 --- a/app/delegate-server/AppManager.purs +++ b/app/delegate-server/AppManager.purs @@ -15,7 +15,6 @@ import Ansi.Codes (Color(Red)) import Ansi.Output (foreground, withGraphics) import Cardano.Types (ScriptHash, TransactionInput) import Contract.Address (getNetworkId) -import Contract.Config (QueryBackendParams) import Contract.Log (logInfo', logTrace', logWarn') import Control.Alt (alt) import Control.Error.Util (bool) @@ -55,7 +54,7 @@ import DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) , Network(Testnet, Mainnet) - , AuctionSlotConfig + , DelegateServerConfig ) import DelegateServer.Const (appConst) import DelegateServer.Contract.Collateral (getCollateralUtxo) @@ -111,7 +110,7 @@ import Type.Proxy (Proxy(Proxy)) type AppManager = AppManager' HydraNodeApiWebSocket DelegateWebSocketServer initAppManager - :: AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams + :: DelegateServerConfig -> AVar AppManager -> DelegateWebSocketServer -> Aff Unit diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index 281c4cf..76c6dc5 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -9,11 +9,11 @@ module DelegateServer.AppManager.Types import Prelude -import Cardano.Types (ScriptHash) +import Cardano.Types (Ed25519KeyHash, ScriptHash) import Data.Map (Map) import Data.Map (insert, pop) as Map import Data.Maybe (Maybe(Just, Nothing)) -import Data.Newtype (class Newtype) +import Data.Newtype (class Newtype, unwrap) import Data.Time.Duration (Seconds, fromDuration) import Data.Tuple (Tuple(Tuple), snd) import Data.UUID (UUID, genUUID) @@ -72,7 +72,7 @@ reserveSlot . AVar (AppManager' ws wsServer) -> Seconds -> AuctionSlot - -> Aff (Maybe { reservationCode :: UUID }) + -> Aff (Maybe { reservationCode :: UUID, delegatePkh :: Ed25519KeyHash }) reserveSlot appManagerAvar slotReservationPeriod slot = withAppManager appManagerAvar \(AppManager appManager) -> case Map.pop slot appManager.availableSlots of @@ -88,7 +88,11 @@ reserveSlot appManagerAvar slotReservationPeriod slot = appManager.reservedSlots } ) - (Just { reservationCode }) + ( Just + { reservationCode + , delegatePkh: (unwrap appConfig).auctionConfig.delegatePkh + } + ) forkReservationMonitor :: forall ws wsServer diff --git a/app/delegate-server/Config.purs b/app/delegate-server/Config.purs index 9a20101..97ced3c 100644 --- a/app/delegate-server/Config.purs +++ b/app/delegate-server/Config.purs @@ -2,16 +2,23 @@ module DelegateServer.Config ( AppConfig , AppConfig'(AppConfig) , AuctionSlotConfig + , AuctionSlotRuntimeConfig + , AuctionSlotConfigRec + , DelegateServerConfig , Network(Testnet, Mainnet) + , deriveAuctionSlotRuntimeConfig , execAppConfigParser , networkToNetworkId ) where import Prelude -import Cardano.Types (NetworkId(TestnetId, MainnetId)) +import Cardano.Types (Ed25519KeyHash, NetworkId(TestnetId, MainnetId)) +import Cardano.Types.PrivateKey (toPublicKey) as PrivateKey +import Cardano.Types.PublicKey (hash) as PublicKey import Contract.Config (QueryBackendParams, defaultConfirmTxDelay) import Contract.Transaction (TransactionInput) +import Contract.Wallet.KeyFile (privatePaymentKeyFromFile) import Data.Codec.Argonaut (JsonCodec, array, int, number, object, prismaticCodec, string) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR @@ -21,10 +28,11 @@ import Data.Foldable (fold) import Data.Generic.Rep (class Generic) import Data.Log.Level (LogLevel) import Data.Maybe (Maybe) -import Data.Newtype (class Newtype, over, wrap) +import Data.Newtype (class Newtype, over, unwrap, wrap) import Data.Profunctor (dimap, wrapIso) import Data.Show.Generic (genericShow) import Data.Time.Duration (Seconds(Seconds)) +import Data.Traversable (traverse) import Data.Variant (inj, match) as Variant import DelegateServer.Helpers (printOref, readOref) import DelegateServer.Types.HydraHeadPeer (HydraHeadPeer, hydraHeadPeerCodec) @@ -33,7 +41,8 @@ import DelegateServer.Types.QueryBackendParamsSimple , queryBackendParamsSimpleCodec , toQueryBackendParams ) -import Effect (Effect) +import Effect.Aff (Aff) +import Effect.Class (liftEffect) import Effect.Exception (throw) import HydraAuctionOffchain.Codec (logLevelCodec, portCodec) import HydraAuctionOffchain.Lib.Codec (fixTaggedSumCodec) @@ -42,6 +51,7 @@ import HydraAuctionOffchain.Types.HostPort (HostPort, hostPortCodec) import Node.Path (FilePath) import Options.Applicative ((<**>)) import Options.Applicative as Optparse +import Record (merge) as Record import Type.Proxy (Proxy(Proxy)) import URI.Port (Port) @@ -50,8 +60,8 @@ import URI.Port (Port) -- TODO: check that `auctionMetadataOref` exists and points to a valid auction -- TODO: check the balance of `cardanoSk` -- TODO: generate `hydraNodeId` using UUID -type AuctionSlotConfig (f :: Type -> Type) = - { auctionMetadataOref :: f TransactionInput +type AuctionSlotConfigRec (f :: Type -> Type) (ext :: Row Type) = + ( auctionMetadataOref :: f TransactionInput -- ^ Reference of the tx output with auction metadata record, -- used to access onchain data of the target auction. , hydraNodeId :: String @@ -69,7 +79,17 @@ type AuctionSlotConfig (f :: Type -> Type) = -- by this key will be used as 'fuel'. , peers :: Array HydraHeadPeer -- ^ Info about other Head participants (max 5 entries). - } + | ext + ) + +type AuctionSlotConfig (f :: Type -> Type) = Record (AuctionSlotConfigRec f ()) + +type AuctionSlotRuntimeConfig (f :: Type -> Type) = + Record + ( AuctionSlotConfigRec f + ( delegatePkh :: Ed25519KeyHash + ) + ) auctionConfigCodec :: CA.JsonCodec (AuctionSlotConfig Maybe) auctionConfigCodec = @@ -125,7 +145,11 @@ newtype AppConfig' (ac :: Type) (qb :: Type) = AppConfig derive instance Newtype (AppConfig' ac qb) _ -type AppConfig (f :: Type -> Type) = AppConfig' (AuctionSlotConfig f) QueryBackendParams +type AppConfig (f :: Type -> Type) = + AppConfig' (AuctionSlotRuntimeConfig f) QueryBackendParams + +type DelegateServerConfig = + AppConfig' (Array (AuctionSlotRuntimeConfig Maybe)) QueryBackendParams appConfigCodec :: CA.JsonCodec (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParamsSimple) @@ -181,13 +205,26 @@ networkToNetworkId = Testnet _ -> TestnetId Mainnet -> MainnetId -execAppConfigParser :: Effect (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams) +deriveAuctionSlotRuntimeConfig + :: forall (f :: Type -> Type) + . AuctionSlotConfig f + -> Aff (AuctionSlotRuntimeConfig f) +deriveAuctionSlotRuntimeConfig slotConfig = do + cardanoSk <- unwrap <$> privatePaymentKeyFromFile slotConfig.cardanoSk + let delegatePkh = PublicKey.hash $ PrivateKey.toPublicKey cardanoSk + pure $ Record.merge slotConfig + { delegatePkh + } + +execAppConfigParser :: Aff DelegateServerConfig execAppConfigParser = do - fp <- Optparse.execParser parserInfo - appConfig <- either throw pure =<< caDecodeFile appConfigCodec fp + fp <- liftEffect $ Optparse.execParser parserInfo + appConfig <- liftEffect $ either throw pure =<< caDecodeFile appConfigCodec fp + auctionConfig <- traverse deriveAuctionSlotRuntimeConfig (unwrap appConfig).auctionConfig pure $ over wrap ( \rec -> rec - { queryBackend = + { auctionConfig = auctionConfig + , queryBackend = toQueryBackendParams rec.queryBackend defaultConfirmTxDelay } ) diff --git a/app/delegate-server/Handlers/ReserveSlot.purs b/app/delegate-server/Handlers/ReserveSlot.purs index 663dd0d..159c771 100644 --- a/app/delegate-server/Handlers/ReserveSlot.purs +++ b/app/delegate-server/Handlers/ReserveSlot.purs @@ -12,6 +12,7 @@ module DelegateServer.Handlers.ReserveSlot import Prelude +import Cardano.Types (Ed25519KeyHash) import Control.Error.Util ((!?)) import Control.Monad.Except (except, runExceptT) import Data.Bifunctor (lmap) @@ -34,7 +35,7 @@ import DelegateServer.Types.ServerResponse (fromEither) as ServerResponse import Effect.Aff (Aff) import Effect.Aff.AVar (AVar) import HTTPure (Response) as HTTPure -import HydraAuctionOffchain.Codec (uuidCodec) +import HydraAuctionOffchain.Codec (ed25519KeyHashCodec, uuidCodec) import HydraAuctionOffchain.Lib.Codec (sumGenericCodec) import HydraAuctionOffchain.Lib.Json (caDecodeString) @@ -85,12 +86,14 @@ reserveSlotResponseCodec = serverResponseCodec reserveSlotSuccessCodec reserveSl type ReserveSlotSuccess = { reservationCode :: UUID + , delegatePkh :: Ed25519KeyHash } reserveSlotSuccessCodec :: CA.JsonCodec ReserveSlotSuccess reserveSlotSuccessCodec = CA.object "ReserveSlotSuccess" $ CAR.record { reservationCode: uuidCodec + , delegatePkh: ed25519KeyHashCodec } -- ReserveSlotError -------------------------------------------------- diff --git a/app/delegate-server/Main.purs b/app/delegate-server/Main.purs index c29ef56..97e53d7 100644 --- a/app/delegate-server/Main.purs +++ b/app/delegate-server/Main.purs @@ -8,7 +8,6 @@ import Prelude import Ansi.Codes (Color(Red)) import Ansi.Output (foreground, withGraphics) -import Contract.Config (QueryBackendParams) import Data.Either (Either(Left, Right)) import Data.Map (values) as Map import Data.Maybe (Maybe(Just, Nothing), maybe) @@ -18,7 +17,7 @@ import Data.Traversable (traverse_) import DelegateServer.AppManager (AppManager, initAppManager) import DelegateServer.AppManager.Types (AuctionSlot) import DelegateServer.Cleanup (appCleanupHandler) -import DelegateServer.Config (AppConfig'(AppConfig), AuctionSlotConfig, execAppConfigParser) +import DelegateServer.Config (AppConfig'(AppConfig), DelegateServerConfig, execAppConfigParser) import DelegateServer.Server (httpServer) import DelegateServer.WsServer (wsServer) import Effect (Effect) @@ -35,7 +34,7 @@ import Node.Process (onSignal, onUncaughtException) main :: Effect Unit main = launchAff_ do - appConfig <- liftEffect execAppConfigParser + appConfig <- execAppConfigParser appHandle <- startDelegateServer appConfig liftEffect do onUncaughtException \err -> do @@ -49,9 +48,7 @@ type AppHandle = , cleanupHandler :: Effect Unit } -startDelegateServer - :: AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams - -> Aff AppHandle +startDelegateServer :: DelegateServerConfig -> Aff AppHandle startDelegateServer appConfig@(AppConfig appConfigRec) = do appManagerAvar <- AVar.empty wsServer' <- wsServer appConfigRec.wsServerPort appConfigRec.network appManagerAvar diff --git a/docker/delegate-cluster/docker-compose.yaml b/docker/delegate-cluster/docker-compose.yaml index 122ab0b..0a3628c 100644 --- a/docker/delegate-cluster/docker-compose.yaml +++ b/docker/delegate-cluster/docker-compose.yaml @@ -8,7 +8,7 @@ services: - node-ipc:/ipc restart: on-failure healthcheck: - test: ["CMD-SHELL", "[ \"$(cardano-cli query tip --testnet-magic=1 --socket-path=/ipc/node.socket | tail -c 8 | head -c 5)\" == \"100.0\" ]"] + test: ["CMD-SHELL", "[ \"$(cardano-cli query tip --testnet-magic=1 --socket-path=/ipc/node.socket | tail -c 9 | head -c 5)\" == \"100.0\" ]"] interval: 10s retries: 8640 logging: diff --git a/test/DelegateServer/Cluster.purs b/test/DelegateServer/Cluster.purs index a5c2da2..1c34b35 100644 --- a/test/DelegateServer/Cluster.purs +++ b/test/DelegateServer/Cluster.purs @@ -15,7 +15,7 @@ import Cardano.Types import Cardano.Types.Int (fromInt) as Cardano.Int import Cardano.Types.PublicKey (hash) as PublicKey import Cardano.Wallet.Key (KeyWallet(KeyWallet)) -import Contract.Config (QueryBackendParams, mkCtlBackendParams) +import Contract.Config (mkCtlBackendParams) import Contract.Monad (Contract, ContractEnv, liftContractM, liftedE, runContractInEnv) import Contract.Test (class UtxoDistribution, ContractTest(ContractTest)) import Contract.Test.Testnet (TestnetConfig) @@ -41,14 +41,18 @@ import Data.Map (singleton, values) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (modify, unwrap, wrap) import Data.Time.Duration (Minutes(Minutes), convertDuration) -import Data.Traversable (traverse) +import Data.Traversable (for, traverse) import Data.TraversableWithIndex (traverseWithIndex) import Data.Tuple (snd) import Data.Tuple.Nested (type (/\), (/\)) import Data.UInt (fromInt) as UInt import Data.UUID (genUUID, toString) as UUID import DelegateServer.App (AppM, runApp, runContract) -import DelegateServer.Config (AppConfig', Network(Testnet), AuctionSlotConfig) +import DelegateServer.Config + ( DelegateServerConfig + , Network(Testnet) + , deriveAuctionSlotRuntimeConfig + ) import DelegateServer.Contract.StandingBid (queryStandingBidL2) import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidHandlerImpl) import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidHandlerImpl) @@ -246,13 +250,13 @@ genDelegateServerConfigs :: FilePath -> DelegateServerClusterConfig -> NonEmptyArray DelegateServerPeer - -> Aff (Array (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams)) + -> Aff (Array DelegateServerConfig) genDelegateServerConfigs clusterWorkdir clusterConfig peers = do peers' <- createWorkdirsStoreKeys hydraScriptsTxHash <- publishHydraScripts clusterConfig.localnetClusterParams.nodeSocketPath (ops.mkCardanoSk $ snd $ NEArray.head peers') - pure $ worker (NEArray.toArray peers') hydraScriptsTxHash + worker (NEArray.toArray peers') hydraScriptsTxHash where ops = { mkServerPort: \idx -> Port.unsafeFromInt (7040 + idx) @@ -270,49 +274,51 @@ genDelegateServerConfigs clusterWorkdir clusterConfig peers = do worker :: Array (Int /\ FilePath) -> String - -> Array (AppConfig' (Array (AuctionSlotConfig Maybe)) QueryBackendParams) + -> Aff (Array DelegateServerConfig) worker peers' hydraScriptsTxHash = - peers' <#> \(idx /\ workdir) -> wrap - { auctionConfig: - [ { auctionMetadataOref: Just clusterConfig.auctionMetadataOref - , hydraNodeId: toStringAs decimal idx - , hydraNode: ops.mkHydraNode idx - , hydraNodeApi: ops.mkHydraNodeApi idx - , peers: - fromJustWithErr "genDelegateServerConfigs" $ - deleteAt idx peers' <#> map \(idx' /\ workdir') -> - { hydraNode: ops.mkHydraNode idx' - , hydraVk: ops.mkHydraVk workdir' - , cardanoVk: ops.mkCardanoVk workdir' - , httpServer: - { port: UInt.fromInt $ Port.toInt $ ops.mkServerPort idx' - , host: localhost - , secure: false - , path: Nothing - } - } - , cardanoSk: ops.mkCardanoSk workdir - } - ] - , serverPort: ops.mkServerPort idx - , wsServerPort: ops.mkWsServerPort idx - , hydraPersistDir: ops.mkPersistDir workdir - , hydraSk: ops.mkHydraSk workdir - , nodeSocket: clusterConfig.localnetClusterParams.nodeSocketPath - , network: Testnet { magic: localnetConfig.clusterConfig.testnetMagic } - , queryBackend: - mkCtlBackendParams - { ogmiosConfig: - clusterConfig.localnetConfig.ogmiosConfig - , kupoConfig: - clusterConfig.localnetConfig.kupoConfig - } - , hydraScriptsTxHash - , hydraContestPeriod: 5 - , slotReservationPeriod: convertDuration $ Minutes 5.0 - , logLevel: Info - , ctlLogLevel: Warn - } + for peers' \(idx /\ workdir) -> do + auctionConfig <- traverse deriveAuctionSlotRuntimeConfig + [ { auctionMetadataOref: Just clusterConfig.auctionMetadataOref + , hydraNodeId: toStringAs decimal idx + , hydraNode: ops.mkHydraNode idx + , hydraNodeApi: ops.mkHydraNodeApi idx + , peers: + fromJustWithErr "genDelegateServerConfigs" $ + deleteAt idx peers' <#> map \(idx' /\ workdir') -> + { hydraNode: ops.mkHydraNode idx' + , hydraVk: ops.mkHydraVk workdir' + , cardanoVk: ops.mkCardanoVk workdir' + , httpServer: + { port: UInt.fromInt $ Port.toInt $ ops.mkServerPort idx' + , host: localhost + , secure: false + , path: Nothing + } + } + , cardanoSk: ops.mkCardanoSk workdir + } + ] + pure $ wrap + { auctionConfig + , serverPort: ops.mkServerPort idx + , wsServerPort: ops.mkWsServerPort idx + , hydraPersistDir: ops.mkPersistDir workdir + , hydraSk: ops.mkHydraSk workdir + , nodeSocket: clusterConfig.localnetClusterParams.nodeSocketPath + , network: Testnet { magic: localnetConfig.clusterConfig.testnetMagic } + , queryBackend: + mkCtlBackendParams + { ogmiosConfig: + clusterConfig.localnetConfig.ogmiosConfig + , kupoConfig: + clusterConfig.localnetConfig.kupoConfig + } + , hydraScriptsTxHash + , hydraContestPeriod: 5 + , slotReservationPeriod: convertDuration $ Minutes 5.0 + , logLevel: Info + , ctlLogLevel: Warn + } createWorkdirsStoreKeys :: Aff (NonEmptyArray (Int /\ FilePath)) createWorkdirsStoreKeys = From ceb795dae904bf1acf7bfc4bedf296d0f5b1a64a Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Wed, 25 Sep 2024 16:11:25 +0200 Subject: [PATCH 21/23] feat(delegate_server): implement GET /availableSlots endpoint --- app/delegate-server/AppManager/Types.purs | 13 +++++++++++- .../Handlers/GetAvailableSlots.purs | 21 +++++++++++++++++++ app/delegate-server/Server.purs | 6 +++++- 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 app/delegate-server/Handlers/GetAvailableSlots.purs diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index 76c6dc5..7a47c2e 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -3,6 +3,7 @@ module DelegateServer.AppManager.Types , AppManager'(AppManager) , AuctionSlot , ReservedAuction + , getAvailableSlots , reserveSlot , withAppManager ) where @@ -10,8 +11,9 @@ module DelegateServer.AppManager.Types import Prelude import Cardano.Types (Ed25519KeyHash, ScriptHash) +import Data.Array (fromFoldable) as Array import Data.Map (Map) -import Data.Map (insert, pop) as Map +import Data.Map (insert, keys, pop) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap) import Data.Time.Duration (Seconds, fromDuration) @@ -67,6 +69,15 @@ withAppManager appManagerAvar = handleFailure :: Error -> AppManager' ws wsServer -> Aff Unit handleFailure = const (flip AVar.put appManagerAvar) +getAvailableSlots + :: forall ws wsServer + . AVar (AppManager' ws wsServer) + -> Aff (Array AuctionSlot) +getAvailableSlots appManagerAvar = + withAppManager appManagerAvar \appManager -> + pure $ Tuple appManager $ Array.fromFoldable $ Map.keys + (unwrap appManager).availableSlots + reserveSlot :: forall ws wsServer . AVar (AppManager' ws wsServer) diff --git a/app/delegate-server/Handlers/GetAvailableSlots.purs b/app/delegate-server/Handlers/GetAvailableSlots.purs new file mode 100644 index 0000000..fb4cf7e --- /dev/null +++ b/app/delegate-server/Handlers/GetAvailableSlots.purs @@ -0,0 +1,21 @@ +module DelegateServer.Handler.GetAvailableSlots + ( getAvailableSlotsHandler + ) where + +import Prelude + +import Data.Codec.Argonaut (array, int) as CA +import DelegateServer.AppManager.Types (AppManager') +import DelegateServer.AppManager.Types (getAvailableSlots) as AppManager +import Effect.Aff (Aff) +import Effect.Aff.AVar (AVar) +import HTTPure (Response, ok) as HTTPure +import HydraAuctionOffchain.Lib.Json (caEncodeString) + +getAvailableSlotsHandler + :: forall ws wsServer + . AVar (AppManager' ws wsServer) + -> Aff HTTPure.Response +getAvailableSlotsHandler = + (HTTPure.ok <<< caEncodeString (CA.array CA.int)) + <=< AppManager.getAvailableSlots diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index 3b7f4c5..2f9f6be 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -12,6 +12,7 @@ import Data.Time.Duration (Seconds) import Data.Tuple.Nested ((/\)) import DelegateServer.App (AppM, runApp) import DelegateServer.AppManager (AppManager) +import DelegateServer.Handler.GetAvailableSlots (getAvailableSlotsHandler) import DelegateServer.Handlers.HostAuction (hostAuctionHandler) import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) @@ -36,7 +37,7 @@ import HTTPure , serve , toString ) as HTTPure -import HTTPure (Method(Options, Post), (!!), (!?), (!@)) +import HTTPure (Method(Get, Options, Post), (!!), (!?), (!@)) import HTTPure.Status (ok) as HTTPureStatus import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Lib.Json (caDecodeString) @@ -65,6 +66,9 @@ router _ { method: Options, headers } router params request = corsMiddleware routerCors params request routerCors :: HttpServerParams -> HTTPure.Request -> Aff HTTPure.Response +routerCors params { method: Get, path: [ "availableSlots" ] } = + getAvailableSlotsHandler params.appManagerAvar + routerCors params { body, method: Post, path: [ "reserveSlot" ] } = do bodyStr <- liftAff $ HTTPure.toString body reserveSlotHandler params.appManagerAvar params.slotReservationPeriod From 07a305ab853c868d1d382b23fc65495c4288cb0c Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Thu, 26 Sep 2024 14:49:43 +0200 Subject: [PATCH 22/23] feat(announce_auction): host auction at delegate group slot --- app/delegate-server/AppManager/Types.purs | 7 +- .../Handlers/GetAvailableSlots.purs | 14 +- app/delegate-server/Handlers/HostAuction.purs | 2 + app/delegate-server/Handlers/ReserveSlot.purs | 2 + spago.dhall | 1 + src/Codec.purs | 6 + src/Contract/AnnounceAuction.purs | 158 +++++++++++++++++- src/Contract/Types/Plutus/AuctionTerms.purs | 12 +- src/Service/DelegateServer.purs | 103 ++++++++++++ 9 files changed, 285 insertions(+), 20 deletions(-) create mode 100644 src/Service/DelegateServer.purs diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index 7a47c2e..1bd6463 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -11,11 +11,11 @@ module DelegateServer.AppManager.Types import Prelude import Cardano.Types (Ed25519KeyHash, ScriptHash) -import Data.Array (fromFoldable) as Array import Data.Map (Map) import Data.Map (insert, keys, pop) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (class Newtype, unwrap) +import Data.Set (Set) import Data.Time.Duration (Seconds, fromDuration) import Data.Tuple (Tuple(Tuple), snd) import Data.UUID (UUID, genUUID) @@ -72,11 +72,10 @@ withAppManager appManagerAvar = getAvailableSlots :: forall ws wsServer . AVar (AppManager' ws wsServer) - -> Aff (Array AuctionSlot) + -> Aff (Set AuctionSlot) getAvailableSlots appManagerAvar = withAppManager appManagerAvar \appManager -> - pure $ Tuple appManager $ Array.fromFoldable $ Map.keys - (unwrap appManager).availableSlots + pure $ Tuple appManager $ Map.keys (unwrap appManager).availableSlots reserveSlot :: forall ws wsServer diff --git a/app/delegate-server/Handlers/GetAvailableSlots.purs b/app/delegate-server/Handlers/GetAvailableSlots.purs index fb4cf7e..0df43df 100644 --- a/app/delegate-server/Handlers/GetAvailableSlots.purs +++ b/app/delegate-server/Handlers/GetAvailableSlots.purs @@ -1,15 +1,18 @@ module DelegateServer.Handler.GetAvailableSlots - ( getAvailableSlotsHandler + ( availableSlotsCodec + , getAvailableSlotsHandler ) where import Prelude -import Data.Codec.Argonaut (array, int) as CA -import DelegateServer.AppManager.Types (AppManager') +import Data.Codec.Argonaut (JsonCodec, int) as CA +import Data.Set (Set) +import DelegateServer.AppManager.Types (AppManager', AuctionSlot) import DelegateServer.AppManager.Types (getAvailableSlots) as AppManager import Effect.Aff (Aff) import Effect.Aff.AVar (AVar) import HTTPure (Response, ok) as HTTPure +import HydraAuctionOffchain.Codec (setCodec) import HydraAuctionOffchain.Lib.Json (caEncodeString) getAvailableSlotsHandler @@ -17,5 +20,8 @@ getAvailableSlotsHandler . AVar (AppManager' ws wsServer) -> Aff HTTPure.Response getAvailableSlotsHandler = - (HTTPure.ok <<< caEncodeString (CA.array CA.int)) + (HTTPure.ok <<< caEncodeString availableSlotsCodec) <=< AppManager.getAvailableSlots + +availableSlotsCodec :: CA.JsonCodec (Set AuctionSlot) +availableSlotsCodec = setCodec CA.int diff --git a/app/delegate-server/Handlers/HostAuction.purs b/app/delegate-server/Handlers/HostAuction.purs index acb526c..03405b4 100644 --- a/app/delegate-server/Handlers/HostAuction.purs +++ b/app/delegate-server/Handlers/HostAuction.purs @@ -9,6 +9,8 @@ module DelegateServer.Handlers.HostAuction , HostAuctionResponse , hostAuctionHandler , hostAuctionHandlerImpl + , hostAuctionRequestCodec + , hostAuctionResponseCodec ) where import Prelude diff --git a/app/delegate-server/Handlers/ReserveSlot.purs b/app/delegate-server/Handlers/ReserveSlot.purs index 159c771..1191826 100644 --- a/app/delegate-server/Handlers/ReserveSlot.purs +++ b/app/delegate-server/Handlers/ReserveSlot.purs @@ -8,6 +8,8 @@ module DelegateServer.Handlers.ReserveSlot , ReserveSlotSuccess , reserveSlotHandler , reserveSlotHandlerImpl + , reserveSlotRequestCodec + , reserveSlotResponseCodec ) where import Prelude diff --git a/spago.dhall b/spago.dhall index 18a38a0..13b865f 100644 --- a/spago.dhall +++ b/spago.dhall @@ -31,6 +31,7 @@ , "integers" , "js-bigints" , "js-timers" + , "lists" , "maybe" , "monad-logger" , "mote" diff --git a/src/Codec.purs b/src/Codec.purs index df23803..f6a679d 100644 --- a/src/Codec.purs +++ b/src/Codec.purs @@ -17,6 +17,7 @@ module HydraAuctionOffchain.Codec , publicKeyCodec , scriptHashCodec , serverConfigCodec + , setCodec , sysStartCodec , txCodec , txHashCodec @@ -77,6 +78,8 @@ import Data.Log.Level (LogLevel(Trace, Debug, Info, Warn, Error)) import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap, wrap) import Data.Profunctor (dimap, wrapIso) +import Data.Set (Set) +import Data.Set (fromFoldable, toUnfoldable) as Set import Data.Tuple.Nested ((/\)) import Data.UInt (UInt) import Data.UInt (fromInt', fromString, toInt, toString) as UInt @@ -233,6 +236,9 @@ serverConfigCodec = , path: CA.maybe CA.string } +setCodec :: forall a. Ord a => CA.JsonCodec a -> CA.JsonCodec (Set a) +setCodec = dimap Set.toUnfoldable Set.fromFoldable <<< CA.array + sysStartCodec :: CA.JsonCodec SystemStart sysStartCodec = CA.prismaticCodec "SystemStart" diff --git a/src/Contract/AnnounceAuction.purs b/src/Contract/AnnounceAuction.purs index d67e753..3dd925c 100644 --- a/src/Contract/AnnounceAuction.purs +++ b/src/Contract/AnnounceAuction.purs @@ -10,6 +10,12 @@ module HydraAuctionOffchain.Contract.AnnounceAuction , AnnounceAuction_Error_CouldNotGetOwnPubKey , AnnounceAuction_Error_SellerAddressConversionFailure , AnnounceAuction_Error_AuctionLotValueConversionFailure + , AnnounceAuction_Error_GetAvailableSlotsRequestFailed + , AnnounceAuction_Error_NoAvailableDelegateGroupSlots + , AnnounceAuction_Error_ReserveSlotRequestFailed + , AnnounceAuction_Error_CouldNotReserveDelegateGroupSlot + , AnnounceAuction_Error_HostAuctionRequestFailed + , AnnounceAuction_Error_CouldNotHostAuction ) , AnnounceAuctionContractOutput(AnnounceAuctionContractOutput) , AnnounceAuctionContractParams(AnnounceAuctionContractParams) @@ -18,13 +24,14 @@ module HydraAuctionOffchain.Contract.AnnounceAuction , mkAnnounceAuctionContractWithErrors ) where -import Contract.Prelude +import Contract.Prelude hiding (foldM) import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address import Cardano.Plutus.Types.Address (scriptHashAddress) import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value import Cardano.Types ( AssetName + , Ed25519KeyHash , NetworkId , PlutusData , RedeemerDatum @@ -46,6 +53,7 @@ import Contract.PlutusData (toData) import Contract.ScriptLookups (ScriptLookups) import Contract.ScriptLookups (plutusMintingPolicy, unspentOutputs) as Lookups import Contract.Time (POSIXTimeRange, to) +import Contract.Transaction (awaitTxConfirmed) import Contract.TxConstraints (DatumPresence(DatumInline), TxConstraints) import Contract.TxConstraints ( mustMintCurrencyUsingNativeScript @@ -59,23 +67,34 @@ import Contract.Utxos (UtxoMap, getUtxo) import Contract.Value (getMultiAsset, singleton) as Value import Contract.Wallet (getWalletUtxos) import Control.Error.Util ((!?), (??)) -import Control.Monad.Except (ExceptT, runExceptT, throwError, withExceptT) +import Control.Monad.Except (ExceptT(ExceptT), runExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) import Control.Parallel (parTraverse) +import Control.Safely (foldM) import Ctl.Internal.BalanceTx.CoinSelection ( SelectionStrategy(SelectionStrategyMinimal) , performMultiAssetSelection ) import Ctl.Internal.CoinSelection.UtxoIndex (buildUtxoIndex) import Ctl.Internal.Types.Val (fromValue) as Val -import Data.Array (head) as Array +import Data.Array (cons, head) as Array +import Data.Bifunctor (lmap) import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Compat (maybe) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Either (hush) +import Data.List (fromFoldable) as List import Data.Map (fromFoldable, isEmpty, keys, toUnfoldable, union) as Map import Data.Profunctor (wrapIso) +import Data.Set (empty, findMin, intersection) as Set +import Data.UUID (UUID) import Data.Validation.Semigroup (validation) +import DelegateServer.AppManager.Types (AuctionSlot) +import DelegateServer.Handlers.HostAuction (HostAuctionError) +import DelegateServer.Handlers.ReserveSlot (ReserveSlotError) +import DelegateServer.Types.ServerResponse + ( ServerResponse(ServerResponseSuccess, ServerResponseError) + ) import HydraAuctionOffchain.Codec (orefCodec, txHashCodec) import HydraAuctionOffchain.Contract.MintingPolicies ( auctionEscrowTokenName @@ -115,6 +134,12 @@ import HydraAuctionOffchain.Contract.Validators , mkAuctionValidators ) import HydraAuctionOffchain.Lib.Codec (class HasJson) +import HydraAuctionOffchain.Service.Common (ServiceError) +import HydraAuctionOffchain.Service.DelegateServer + ( getAvailableSlotsRequest + , hostAuctionRequest + , reserveSlotRequest + ) import HydraAuctionOffchain.Wallet (SignMessageError, askWalletVk) import JS.BigInt (fromInt) as BigInt import Partial.Unsafe (unsafePartial) @@ -191,7 +216,7 @@ mkAnnounceAuctionContractWithErrors mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do network <- lift getNetworkId - -- Get pkh and vkey, build AuctionTerms: + -- Get seller pkh and vkey: { vkey, address, pkh: sellerPkh } <- withExceptT AnnounceAuction_Error_CouldNotGetOwnPubKey askWalletVk @@ -200,10 +225,18 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do sellerAddressPlutus <- Plutus.Address.fromCardano address ?? AnnounceAuction_Error_SellerAddressConversionFailure + -- Reserve delegate group slot: + slotInfo <- + maybe + (pure mempty) + (ExceptT <<< liftAff <<< reserveSlot <<< _.httpServers <<< unwrap) + params.delegateInfo + -- Check auction terms: let + delegates = _.delegatePkh <$> slotInfo auctionTerms@(AuctionTerms auctionTermsRec) = - mkAuctionTerms params.auctionTerms sellerAddressPlutus vkey + mkAuctionTerms params.auctionTerms sellerAddressPlutus vkey delegates validateAuctionTerms auctionTerms # validation (throwError <<< AnnounceAuction_Error_InvalidAuctionTerms) pure @@ -357,10 +390,16 @@ mkAnnounceAuctionContractWithErrors (AnnounceAuctionContractParams params) = do , Lookups.plutusMintingPolicy auctionMintingPolicy ] - result <- lift $ submitTxReturningContractResult {} $ emptySubmitTxData + result@{ txHash } <- lift $ submitTxReturningContractResult {} $ emptySubmitTxData { lookups = lookups , constraints = constraints } + lift $ awaitTxConfirmed txHash + + -- Send requests to the delegate group to host the auction: + let auctionMetadataOref = wrap { transactionId: txHash, index: zero } + ExceptT $ liftAff $ hostAuction auctionMetadataOref slotInfo + pure $ Record.merge result { auctionInfo: mkAuctionInfoExtended auctionInfo $ Just $ wrap @@ -386,6 +425,68 @@ queryUtxos = map (map Map.fromFoldable <<< sequence) <<< parTraverse getUtxo' -> Contract (Maybe (TransactionInput /\ TransactionOutput)) getUtxo' oref = map (Tuple oref) <$> getUtxo oref +---------------------------------------------------------------------- +-- delegate-server requests + +type DelegateServerSlotInfo = + { httpServer :: String + , slot :: AuctionSlot + , reservationCode :: UUID + , delegatePkh :: Ed25519KeyHash + } + +hostAuction + :: TransactionInput + -> Array DelegateServerSlotInfo + -> Aff (Either AnnounceAuctionContractError Unit) +hostAuction auctionMetadataOref = + runExceptT <<< traverse_ \({ httpServer, slot, reservationCode }) -> do + resp <- ExceptT $ lmap AnnounceAuction_Error_HostAuctionRequestFailed <$> + hostAuctionRequest httpServer + { auctionMetadataOref + , slot + , reservationCode: Just reservationCode + } + case resp of + ServerResponseError err -> + throwError $ AnnounceAuction_Error_CouldNotHostAuction err + ServerResponseSuccess _ -> + pure unit + +reserveSlot + :: Array String + -> Aff (Either AnnounceAuctionContractError (Array DelegateServerSlotInfo)) +reserveSlot httpServers = runExceptT do + mAvailableSlot <- ExceptT $ lmap AnnounceAuction_Error_GetAvailableSlotsRequestFailed <$> + getDelegateGroupSlot httpServers + slot <- mAvailableSlot ?? AnnounceAuction_Error_NoAvailableDelegateGroupSlots + foldM + ( \acc httpServer -> do + resp <- ExceptT $ lmap AnnounceAuction_Error_ReserveSlotRequestFailed <$> + reserveSlotRequest httpServer { slot } + case resp of + ServerResponseError err -> + throwError $ + AnnounceAuction_Error_CouldNotReserveDelegateGroupSlot slot err + ServerResponseSuccess { reservationCode, delegatePkh } -> + pure $ Array.cons + { httpServer + , slot + , reservationCode + , delegatePkh + } + acc + ) + mempty + (List.fromFoldable httpServers) + +getDelegateGroupSlot :: Array String -> Aff (Either ServiceError (Maybe AuctionSlot)) +getDelegateGroupSlot httpServers = + runExceptT do + sets <- parTraverse (ExceptT <<< getAvailableSlotsRequest) httpServers + let availableSlots = foldl Set.intersection Set.empty sets + pure $ Set.findMin availableSlots + ---------------------------------------------------------------------- -- Errors @@ -400,9 +501,14 @@ data AnnounceAuctionContractError | AnnounceAuction_Error_CouldNotGetOwnPubKey SignMessageError | AnnounceAuction_Error_SellerAddressConversionFailure | AnnounceAuction_Error_AuctionLotValueConversionFailure + | AnnounceAuction_Error_GetAvailableSlotsRequestFailed ServiceError + | AnnounceAuction_Error_NoAvailableDelegateGroupSlots + | AnnounceAuction_Error_ReserveSlotRequestFailed ServiceError + | AnnounceAuction_Error_CouldNotReserveDelegateGroupSlot AuctionSlot ReserveSlotError + | AnnounceAuction_Error_HostAuctionRequestFailed ServiceError + | AnnounceAuction_Error_CouldNotHostAuction HostAuctionError derive instance Generic AnnounceAuctionContractError _ -derive instance Eq AnnounceAuctionContractError instance Show AnnounceAuctionContractError where show = genericShow @@ -429,13 +535,47 @@ instance ToContractError AnnounceAuctionContractError where "Tx cannot be submitted after bidding start time." AnnounceAuction_Error_CouldNotBuildAuctionValidators err -> - "Could not build auction validators, error: " <> show err <> "." + "Could not build auction validators, error: " + <> show err + <> "." AnnounceAuction_Error_CouldNotGetOwnPubKey err -> - "Could not get own public key, error: " <> show err <> "." + "Could not get own public key, error: " + <> show err + <> "." AnnounceAuction_Error_SellerAddressConversionFailure -> "Could not convert seller address to Plutus.Address." AnnounceAuction_Error_AuctionLotValueConversionFailure -> "Could not convert auction lot Plutus.Value to Cardano.Value." + + AnnounceAuction_Error_GetAvailableSlotsRequestFailed serviceErr -> + "Could not get available slots, request failed: " + <> show serviceErr + <> "." + + AnnounceAuction_Error_NoAvailableDelegateGroupSlots -> + "The delegate group currently has no available slots." + + AnnounceAuction_Error_ReserveSlotRequestFailed serviceErr -> + "Could not reserve delegate group slot, request failed: " + <> show serviceErr + <> "." + + AnnounceAuction_Error_CouldNotReserveDelegateGroupSlot slot err -> + "Could not reserve delegate group slot " + <> show slot + <> ", delegate-server error: " + <> show err + <> "." + + AnnounceAuction_Error_HostAuctionRequestFailed serviceErr -> + "Failed to host the auction, request failed: " + <> show serviceErr + <> "." + + AnnounceAuction_Error_CouldNotHostAuction err -> + "Failed to host the auction, delegate-server error: " + <> show err + <> "." diff --git a/src/Contract/Types/Plutus/AuctionTerms.purs b/src/Contract/Types/Plutus/AuctionTerms.purs index 2eae2af..60283bb 100644 --- a/src/Contract/Types/Plutus/AuctionTerms.purs +++ b/src/Contract/Types/Plutus/AuctionTerms.purs @@ -32,6 +32,7 @@ import Cardano.Types (BigNum, Ed25519KeyHash, NetworkId) import Contract.Numeric.BigNum (fromInt, mul, zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Time (POSIXTime) +import Data.Array (null) as Array import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Foldable (fold, length) @@ -92,12 +93,17 @@ auctionTermsInputCodec = CA.object "AuctionTerms" $ CAR.record , minDepositAmount: bigNumCodec } -mkAuctionTerms :: AuctionTermsInput -> Plutus.Address -> VerificationKey -> AuctionTerms -mkAuctionTerms rec sellerAddress sellerVk = wrap +mkAuctionTerms + :: AuctionTermsInput + -> Plutus.Address + -> VerificationKey + -> Array Ed25519KeyHash + -> AuctionTerms +mkAuctionTerms rec sellerAddress sellerVk delegates = wrap { auctionLot: rec.auctionLot , sellerAddress , sellerVk - , delegates: rec.delegates + , delegates: if Array.null rec.delegates then delegates else rec.delegates , biddingStart: rec.biddingStart , biddingEnd: rec.biddingEnd , purchaseDeadline: rec.purchaseDeadline diff --git a/src/Service/DelegateServer.purs b/src/Service/DelegateServer.purs new file mode 100644 index 0000000..e8e4dcb --- /dev/null +++ b/src/Service/DelegateServer.purs @@ -0,0 +1,103 @@ +module HydraAuctionOffchain.Service.DelegateServer + ( getAvailableSlotsRequest + , hostAuctionRequest + , reserveSlotRequest + ) where + +import Prelude + +import Affjax (Error, URL, Response, defaultRequest) as Affjax +import Affjax.RequestBody (RequestBody(Json)) as Affjax +import Affjax.ResponseFormat (string) as Affjax.ResponseFormat +import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax +import Ctl.Internal.Affjax (request) as Affjax +import Ctl.Internal.Helpers ((<>)) +import Data.Argonaut (Json) +import Data.Bifunctor (lmap) +import Data.Codec.Argonaut (JsonCodec, encode) as CA +import Data.Either (Either(Left, Right)) +import Data.HTTP.Method (Method(GET, POST)) +import Data.Maybe (Maybe(Just, Nothing)) +import Data.Newtype (wrap) +import Data.Set (Set) +import DelegateServer.AppManager.Types (AuctionSlot) +import DelegateServer.Handler.GetAvailableSlots (availableSlotsCodec) +import DelegateServer.Handlers.HostAuction + ( HostAuctionError + , HostAuctionRequest + , hostAuctionRequestCodec + , hostAuctionResponseCodec + ) +import DelegateServer.Handlers.ReserveSlot + ( ReserveSlotError + , ReserveSlotSuccess + , ReserveSlotRequest + , reserveSlotRequestCodec + , reserveSlotResponseCodec + ) +import DelegateServer.Types.ServerResponse (ServerResponse) +import Effect.Aff (Aff) +import HydraAuctionOffchain.Lib.Json (caDecodeString) +import HydraAuctionOffchain.Service.Common + ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) + ) + +getAvailableSlotsRequest :: String -> Aff (Either ServiceError (Set AuctionSlot)) +getAvailableSlotsRequest httpServer = + handleResponse availableSlotsCodec <$> + getRequest (httpServer <> "availableSlots") + +reserveSlotRequest + :: String + -> ReserveSlotRequest + -> Aff (Either ServiceError (ServerResponse ReserveSlotSuccess ReserveSlotError)) +reserveSlotRequest httpServer reqBody = + handleResponse reserveSlotResponseCodec <$> + postRequest + (httpServer <> "reserveSlot") + (CA.encode reserveSlotRequestCodec reqBody) + +hostAuctionRequest + :: String + -> HostAuctionRequest + -> Aff (Either ServiceError (ServerResponse Unit HostAuctionError)) +hostAuctionRequest httpServer reqBody = + handleResponse hostAuctionResponseCodec <$> + postRequest + (httpServer <> "hostAuction") + (CA.encode hostAuctionRequestCodec reqBody) + +getRequest :: Affjax.URL -> Aff (Either Affjax.Error (Affjax.Response String)) +getRequest = affjaxRequest GET Nothing + +postRequest :: Affjax.URL -> Json -> Aff (Either Affjax.Error (Affjax.Response String)) +postRequest url content = affjaxRequest POST (Just content) url + +affjaxRequest + :: Method + -> Maybe Json + -> Affjax.URL + -> Aff (Either Affjax.Error (Affjax.Response String)) +affjaxRequest method content url = + Affjax.request $ Affjax.defaultRequest + { method = Left method + , url = url + , responseFormat = Affjax.ResponseFormat.string + , content = Affjax.Json <$> content + } + +handleResponse + :: forall (a :: Type) + . CA.JsonCodec a + -> Either Affjax.Error (Affjax.Response String) + -> Either ServiceError a +handleResponse respCodec = case _ of + Left affjaxErr -> + Left $ ServiceHttpError $ wrap affjaxErr + Right { status, body } -> + case status of + Affjax.StatusCode statusCode | statusCode >= 200 && statusCode <= 299 -> + lmap (ServiceDecodeJsonError body) $ + caDecodeString respCodec body + _ -> + Left $ ServiceHttpResponseError status body From c2419f425a3e81f937e2d53cf480e0dcd7469eb2 Mon Sep 17 00:00:00 2001 From: Dzmitry Shuysky Date: Tue, 1 Oct 2024 14:36:36 +0200 Subject: [PATCH 23/23] fix: fix BidTerms validation, other fixes --- Makefile | 3 + app/delegate-server/AppManager.purs | 4 + app/delegate-server/AppManager/Types.purs | 7 + app/delegate-server/Contract/Commit.purs | 21 +- .../Handlers/GetAvailableSlots.purs | 2 +- app/delegate-server/HydraNodeApi/Http.purs | 5 +- app/delegate-server/PeerDelegate/Http.purs | 66 +- app/delegate-server/Server.purs | 13 +- app/delegate-server/Types/HydraTx.purs | 2 +- app/delegate-server/WsServer.purs | 2 +- flake.lock | 8 +- flake.nix | 17 +- packages.dhall | 2 +- protocol-parameters.json | 886 +++++++++--------- spago-packages.nix | 6 +- src/Contract.purs | 2 +- src/Contract/AnnounceAuction.purs | 11 +- src/Contract/AuthorizeBidders.purs | 15 +- src/Contract/DiscoverSellerSignature.purs | 10 +- src/Contract/GetWalletVk.purs | 5 +- src/Contract/MoveBid.purs | 48 +- src/Contract/PlaceBid.purs | 3 +- src/Contract/SendBid.purs | 56 +- src/Contract/StartBidding.purs | 24 +- src/Contract/Types/Plutus/AuctionAuth.purs | 5 +- src/Contract/Types/Plutus/AuctionTerms.purs | 17 +- src/Contract/Types/Plutus/BidTerms.purs | 29 +- src/Contract/Types/Plutus/BidderInfo.purs | 21 +- src/Lib/Codec.purs | 6 +- src/Lib/Crypto.js | 15 - src/Lib/Crypto.purs | 18 - src/Service/DelegateServer.purs | 115 ++- src/Service/DelegateServer/Http.purs | 75 ++ src/Wallet.purs | 56 +- test/Contract/DelegateServer.purs | 3 +- test/Contract/PlaceBid.purs | 3 +- test/Gen.purs | 13 +- 37 files changed, 814 insertions(+), 780 deletions(-) delete mode 100644 src/Lib/Crypto.js delete mode 100644 src/Lib/Crypto.purs create mode 100644 src/Service/DelegateServer/Http.purs diff --git a/Makefile b/Makefile index c92310e..fb5a903 100644 --- a/Makefile +++ b/Makefile @@ -63,3 +63,6 @@ delegate-cluster: delegate-cluster-cleanup: docker compose -f ${delegate-cluster-docker-compose} rm --force --stop --volumes + +ctl-runtime: + nix run .#ctl-runtime diff --git a/app/delegate-server/AppManager.purs b/app/delegate-server/AppManager.purs index dc415ae..498d40e 100644 --- a/app/delegate-server/AppManager.purs +++ b/app/delegate-server/AppManager.purs @@ -13,8 +13,10 @@ import Prelude import Ansi.Codes (Color(Red)) import Ansi.Output (foreground, withGraphics) +import Cardano.AsCbor (encodeCbor) import Cardano.Types (ScriptHash, TransactionInput) import Contract.Address (getNetworkId) +import Contract.CborBytes (cborBytesToHex) import Contract.Log (logInfo', logTrace', logWarn') import Control.Alt (alt) import Control.Error.Util (bool) @@ -223,8 +225,10 @@ hostAuction (removeAuction auctionId appManager') putAppState (Proxy :: _ "exit") cleanupHandler -- attach cleanup handler to each app instance pure hydraNodeApiWs + liftEffect $ log $ "Hosting auction with id: " <> cborBytesToHex (encodeCbor auctionId) pure $ AppManager $ appManager { availableSlots = Map.delete slot appManager.availableSlots + , reservedSlots = Map.delete slot appManager.reservedSlots , activeAuctions = Map.insert auctionId { appState diff --git a/app/delegate-server/AppManager/Types.purs b/app/delegate-server/AppManager/Types.purs index 1bd6463..185807f 100644 --- a/app/delegate-server/AppManager/Types.purs +++ b/app/delegate-server/AppManager/Types.purs @@ -88,7 +88,14 @@ reserveSlot appManagerAvar slotReservationPeriod slot = case Map.pop slot appManager.availableSlots of Nothing -> pure $ Tuple (AppManager appManager) Nothing Just (Tuple appConfig availableSlots) -> do + liftEffect $ log $ "Added reservation for slot " <> show slot void $ forkReservationMonitor appManagerAvar slotReservationPeriod slot + liftEffect $ log $ + "Reservation for slot " + <> show slot + <> " will be valid for the next " + <> show (unwrap slotReservationPeriod) + <> " seconds" reservationCode <- liftEffect genUUID pure $ Tuple ( AppManager $ appManager diff --git a/app/delegate-server/Contract/Commit.purs b/app/delegate-server/Contract/Commit.purs index e78ae24..708ff54 100644 --- a/app/delegate-server/Contract/Commit.purs +++ b/app/delegate-server/Contract/Commit.purs @@ -10,6 +10,7 @@ module DelegateServer.Contract.Commit , CommitBid_Error_CouldNotIndexRedeemers , CommitBid_Error_CouldNotGetOwnPubKeyHash , CommitBid_Error_CommitRequestFailed + , CommitBid_Error_SignCommitTxRequestFailed , CommitBid_Error_CommitMultiSignFailed , CommitBid_Error_SubmitTxFailed ) @@ -20,7 +21,7 @@ module DelegateServer.Contract.Commit import Contract.Prelude -import Cardano.Types (Transaction, TransactionHash, TransactionInput) +import Cardano.Types (ScriptHash, Transaction, TransactionHash, TransactionInput) import Contract.Chain (currentTime) import Contract.Log (logDebug', logWarn') import Contract.Monad (Contract) @@ -41,6 +42,7 @@ import Contract.Wallet (ownPaymentPubKeyHash) import Control.Error.Util ((!?)) import Control.Monad.Except (ExceptT(ExceptT), mapExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) +import Ctl.Internal.ServerConfig (mkHttpUrl) import Data.Argonaut (Json, encodeJson) import Data.Codec.Argonaut (JsonCodec, encode) as CA import Data.Codec.Argonaut.Generic (nullarySum) as CAG @@ -51,7 +53,7 @@ import DelegateServer.Handlers.SignCommitTx (signCommitTxErrorCodec) import DelegateServer.HydraNodeApi.Http (commit) import DelegateServer.Lib.ServerConfig (mkLocalhostHttpServerConfig) import DelegateServer.Lib.Transaction (appendTxSignatures, reSignTransaction, setAuxDataHash) -import DelegateServer.PeerDelegate.Http (signCommitTx) +import DelegateServer.PeerDelegate.Http (signCommitTxRequest) import DelegateServer.State (class AppBase, class AppInit, access, readAppState) import DelegateServer.Types.HydraCommitRequest (mkFullCommitRequest, mkSimpleCommitRequest) import DelegateServer.Types.HydraHeadPeer (HydraHeadPeer) @@ -120,6 +122,7 @@ data CommitStandingBidError | CommitBid_Error_CouldNotIndexRedeemers | CommitBid_Error_CouldNotGetOwnPubKeyHash | CommitBid_Error_CommitRequestFailed + | CommitBid_Error_SignCommitTxRequestFailed | CommitBid_Error_CommitMultiSignFailed | CommitBid_Error_SubmitTxFailed @@ -151,7 +154,7 @@ commitStandingBid = do withExceptT (const CommitBid_Error_CommitRequestFailed) $ buildCommitTx commitRequest { auctionConfig: { peers } } <- unwrap <$> access (Proxy :: _ "config") - commitTxMultiSigned <- multiSignCommitTx peers commitTx + commitTxMultiSigned <- multiSignCommitTx peers commitTx auctionInfo.auctionId txHash <- runContract (submit commitTxMultiSigned) !* CommitBid_Error_SubmitTxFailed pure $ standingBid /\ txHash @@ -161,14 +164,18 @@ multiSignCommitTx . AppBase m => Array HydraHeadPeer -> Transaction + -> ScriptHash -> ExceptT CommitStandingBidError m Transaction -multiSignCommitTx peers commitTx = do +multiSignCommitTx peers commitTx auctionCs = do responses <- do pkh <- runContract ownPaymentPubKeyHash !? CommitBid_Error_CouldNotGetOwnPubKeyHash let reqPayload = { commitTx, commitLeader: unwrap pkh } - withExceptT (const CommitBid_Error_CommitRequestFailed) $ - -- TODO: use parTraverse - traverse (ExceptT <<< liftAff <<< flip signCommitTx reqPayload <<< _.httpServer) + withExceptT (const CommitBid_Error_SignCommitTxRequestFailed) $ + traverse + ( \{ httpServer } -> + ExceptT $ liftAff $ + signCommitTxRequest (mkHttpUrl httpServer) auctionCs reqPayload + ) peers signatures <- traverse diff --git a/app/delegate-server/Handlers/GetAvailableSlots.purs b/app/delegate-server/Handlers/GetAvailableSlots.purs index 0df43df..5356c31 100644 --- a/app/delegate-server/Handlers/GetAvailableSlots.purs +++ b/app/delegate-server/Handlers/GetAvailableSlots.purs @@ -1,4 +1,4 @@ -module DelegateServer.Handler.GetAvailableSlots +module DelegateServer.Handlers.GetAvailableSlots ( availableSlotsCodec , getAvailableSlotsHandler ) where diff --git a/app/delegate-server/HydraNodeApi/Http.purs b/app/delegate-server/HydraNodeApi/Http.purs index 568203c..921a5dc 100644 --- a/app/delegate-server/HydraNodeApi/Http.purs +++ b/app/delegate-server/HydraNodeApi/Http.purs @@ -18,6 +18,7 @@ import Data.Either (Either(Left, Right)) import Data.HTTP.Method (Method(POST)) import Data.Maybe (Maybe(Just)) import Data.Newtype (wrap) +import Debug (traceM) import DelegateServer.Types.HydraDraftCommitTx (DraftCommitTx, draftCommitTxCodec) import Effect.Aff (Aff) import HydraAuctionOffchain.Lib.Json (caDecodeString) @@ -28,8 +29,10 @@ import HydraAuctionOffchain.Service.Common commit :: ServerConfig -> Json -> Aff (Either ServiceError DraftCommitTx) commit serverConfig commitRequest = do let endpoint = mkHttpUrl serverConfig <> "/commit" - handleResponse draftCommitTxCodec <$> + resp <- handleResponse draftCommitTxCodec <$> postRequest endpoint (Just commitRequest) + traceM $ "commit response: " <> show resp + pure resp postRequest :: Affjax.URL -> Maybe Json -> Aff (Either Affjax.Error (Affjax.Response String)) postRequest endpoint mPayload = diff --git a/app/delegate-server/PeerDelegate/Http.purs b/app/delegate-server/PeerDelegate/Http.purs index 5c951c9..c102cb7 100644 --- a/app/delegate-server/PeerDelegate/Http.purs +++ b/app/delegate-server/PeerDelegate/Http.purs @@ -1,23 +1,15 @@ module DelegateServer.PeerDelegate.Http - ( signCommitTx + ( signCommitTxRequest ) where import Prelude -import Affjax (Error, Response, URL, defaultRequest) as Affjax -import Affjax.RequestBody (RequestBody(Json)) as Affjax -import Affjax.ResponseFormat (string) as Affjax.ResponseFormat -import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax -import Contract.Config (ServerConfig) -import Ctl.Internal.Affjax (request) as Affjax -import Ctl.Internal.ServerConfig (mkHttpUrl) -import Data.Argonaut (Json) -import Data.Bifunctor (lmap) +import Cardano.Types (ScriptHash) +import Ctl.Internal.Helpers ((<>)) +import Data.Array (singleton) as Array import Data.Codec.Argonaut (encode) as CA -import Data.Either (Either(Left, Right)) -import Data.HTTP.Method (Method(POST)) +import Data.Either (Either) import Data.Maybe (Maybe(Just)) -import Data.Newtype (wrap) import DelegateServer.Handlers.SignCommitTx ( SignCommitTxRequestPayload , SignCommitTxResponse @@ -25,40 +17,22 @@ import DelegateServer.Handlers.SignCommitTx , signCommitTxResponseCodec ) import Effect.Aff (Aff) -import HydraAuctionOffchain.Lib.Json (caDecodeString) -import HydraAuctionOffchain.Service.Common - ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) +import HydraAuctionOffchain.Service.Common (ServiceError) +import HydraAuctionOffchain.Service.DelegateServer.Http + ( handleResponse + , mkAuctionCsHeader + , postRequest ) -signCommitTx - :: ServerConfig +signCommitTxRequest + :: String + -> ScriptHash -> SignCommitTxRequestPayload -> Aff (Either ServiceError SignCommitTxResponse) -signCommitTx serverConfig reqPayload = do - let endpoint = mkHttpUrl serverConfig <> "/signCommitTx" - handleResponse <$> - postRequest endpoint - (Just $ CA.encode signCommitTxRequestPayloadCodec reqPayload) - -postRequest :: Affjax.URL -> Maybe Json -> Aff (Either Affjax.Error (Affjax.Response String)) -postRequest endpoint mPayload = - Affjax.request $ Affjax.defaultRequest - { method = Left POST - , url = endpoint - , content = Affjax.Json <$> mPayload - , responseFormat = Affjax.ResponseFormat.string - } - -handleResponse - :: Either Affjax.Error (Affjax.Response String) - -> Either ServiceError SignCommitTxResponse -handleResponse = case _ of - Left affjaxError -> - Left $ ServiceHttpError $ wrap affjaxError - Right { status, body } -> - case status of - Affjax.StatusCode statusCode | statusCode /= 201 && statusCode /= 400 -> - Left $ ServiceHttpResponseError status body - _ -> - lmap (ServiceDecodeJsonError body) $ - caDecodeString signCommitTxResponseCodec body +signCommitTxRequest httpServer auctionCs reqBody = + handleResponse signCommitTxResponseCodec <$> + postRequest + { url: httpServer <> "signCommitTx" + , content: Just $ CA.encode signCommitTxRequestPayloadCodec reqBody + , headers: Array.singleton $ mkAuctionCsHeader auctionCs + } diff --git a/app/delegate-server/Server.purs b/app/delegate-server/Server.purs index 2f9f6be..d91cc7e 100644 --- a/app/delegate-server/Server.purs +++ b/app/delegate-server/Server.purs @@ -4,7 +4,8 @@ module DelegateServer.Server import Prelude -import Data.Either (Either(Left, Right)) +import Cardano.AsCbor (decodeCbor) +import Contract.CborBytes (hexToCborBytes) import Data.Map (lookup) as Map import Data.Maybe (Maybe(Just, Nothing)) import Data.Newtype (unwrap) @@ -12,7 +13,7 @@ import Data.Time.Duration (Seconds) import Data.Tuple.Nested ((/\)) import DelegateServer.App (AppM, runApp) import DelegateServer.AppManager (AppManager) -import DelegateServer.Handler.GetAvailableSlots (getAvailableSlotsHandler) +import DelegateServer.Handlers.GetAvailableSlots (getAvailableSlotsHandler) import DelegateServer.Handlers.HostAuction (hostAuctionHandler) import DelegateServer.Handlers.MoveBid (moveBidHandler) import DelegateServer.Handlers.PlaceBid (placeBidHandler) @@ -39,8 +40,6 @@ import HTTPure ) as HTTPure import HTTPure (Method(Get, Options, Post), (!!), (!?), (!@)) import HTTPure.Status (ok) as HTTPureStatus -import HydraAuctionOffchain.Codec (scriptHashCodec) -import HydraAuctionOffchain.Lib.Json (caDecodeString) import URI.Port (Port) import URI.Port (toInt) as Port @@ -104,10 +103,10 @@ appLookupMiddleware -> Aff HTTPure.Response appLookupMiddleware router' appManagerAvar request@{ headers } | Just auctionCsRaw <- headers !! "Auction-Cs" = - case caDecodeString scriptHashCodec auctionCsRaw of - Left _ -> + case decodeCbor =<< hexToCborBytes auctionCsRaw of + Nothing -> HTTPure.badRequest "Could not decode Auction-Cs request header" - Right auctionCs -> do + Just auctionCs -> do { activeAuctions } <- unwrap <$> AVar.read appManagerAvar case Map.lookup auctionCs activeAuctions of Nothing -> diff --git a/app/delegate-server/Types/HydraTx.purs b/app/delegate-server/Types/HydraTx.purs index 4dc5c85..7ed5dc4 100644 --- a/app/delegate-server/Types/HydraTx.purs +++ b/app/delegate-server/Types/HydraTx.purs @@ -32,5 +32,5 @@ mkHydraTx :: Transaction -> HydraTx mkHydraTx tx = { cborHex: unwrap $ encodeCbor tx , description: "" - , "type": "Tx BabbageEra" + , "type": "Tx ConwayEra" } diff --git a/app/delegate-server/WsServer.purs b/app/delegate-server/WsServer.purs index 642d692..d07fd88 100644 --- a/app/delegate-server/WsServer.purs +++ b/app/delegate-server/WsServer.purs @@ -107,7 +107,7 @@ wsServerGeneric wsServerPort network appMap = do wss.onConnect \{ connPath, sendMessages } -> do let auctionCsRaw = fromMaybe connPath $ String.stripPrefix (Pattern "/") connPath case decodeCbor =<< hexToCborBytes auctionCsRaw of - Nothing -> do + Nothing -> pure $ CloseWebSocketConn auctionCsDecodingFailure Just auctionCs -> appMap.lookupApp auctionCs >>= case _ of diff --git a/flake.lock b/flake.lock index 20740ff..f9e7fff 100644 --- a/flake.lock +++ b/flake.lock @@ -3995,17 +3995,17 @@ "ogmios": "ogmios_2" }, "locked": { - "lastModified": 1726585544, - "narHash": "sha256-5tSoe8wEf5gBnML5uqaB14kl2Isqxd+6Hoh2dkYedjQ=", + "lastModified": 1727720829, + "narHash": "sha256-rC/Wh9BdCrnmjt7f9h7vBfPvLY5JrU/Jkf2sY8oxm3U=", "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "566e7153c88fdab7005a3b4b02e6fec41c7d5c94", + "rev": "4bae6a202f3c77952d6067f94d8ae63cb74f3c0f", "type": "github" }, "original": { "owner": "Plutonomicon", "repo": "cardano-transaction-lib", - "rev": "566e7153c88fdab7005a3b4b02e6fec41c7d5c94", + "rev": "4bae6a202f3c77952d6067f94d8ae63cb74f3c0f", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 73e0e01..e16bd64 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ inputs = { nixpkgs.follows = "ctl/nixpkgs"; cardano-node.url = "github:input-output-hk/cardano-node/9.2.0"; - ctl.url = "github:Plutonomicon/cardano-transaction-lib/566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; + ctl.url = "github:Plutonomicon/cardano-transaction-lib/4bae6a202f3c77952d6067f94d8ae63cb74f3c0f"; ctl.inputs.cardano-node.follows = "cardano-node"; hydra.url = "github:input-output-hk/hydra/0.19.0"; hydra-auction-onchain.url = "github:mlabs-haskell/hydra-auction-onchain/dshuiski/delegate-info"; @@ -26,6 +26,9 @@ ctl.overlays.purescript ctl.overlays.runtime ctl.overlays.spago + (_: _: { + arion = (import ctl.inputs.nixpkgs-arion { inherit system; }).arion; + }) ]; }; @@ -65,6 +68,18 @@ }; in { + apps = perSystem (system: + let + pkgs = nixpkgsFor system; + runtimeConfig = final: with final; { + network.name = "preprod"; + }; + in + { + ctl-runtime = pkgs.launchCtlRuntime runtimeConfig; + } + ); + packages = perSystem (system: let pkgs = nixpkgsFor system; diff --git a/packages.dhall b/packages.dhall index 7c91355..0be8df2 100644 --- a/packages.dhall +++ b/packages.dhall @@ -584,7 +584,7 @@ let additions = , "web-storage" ] , repo = "https://github.com/Plutonomicon/cardano-transaction-lib.git" - , version = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94" + , version = "4bae6a202f3c77952d6067f94d8ae63cb74f3c0f" } , errors = { dependencies = diff --git a/protocol-parameters.json b/protocol-parameters.json index 8a808d7..3c987dd 100644 --- a/protocol-parameters.json +++ b/protocol-parameters.json @@ -6,615 +6,625 @@ "priceSteps": 0 }, "collateralPercentage": 150, - "committeeMaxTermLength": 200, - "committeeMinSize": 0, + "committeeMaxTermLength": 146, + "committeeMinSize": 7, "costModels": { "PlutusV1": [ - 205665, - 812, + 100788, + 420, 1, 1, 1000, - 571, + 173, 0, 1, 1000, - 24177, + 59957, 4, 1, - 1000, + 11183, 32, - 117366, - 10475, + 201305, + 8356, 4, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, 100, 100, - 23000, + 16000, 100, - 19537, + 94375, 32, - 175354, + 132994, 32, - 46417, + 61462, 4, - 221973, - 511, + 72010, + 178, 0, 1, - 89141, + 22151, 32, - 497525, - 14068, + 91189, + 769, 4, 2, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, 1000, - 28662, + 42921, 4, 2, - 245000, - 216773, - 62, + 24548, + 29498, + 38, 1, - 1060367, - 12586, + 898148, + 27279, 1, - 208512, - 421, + 51775, + 558, 1, - 187000, + 39184, 1000, - 52998, + 60594, 1, - 80436, + 141895, 32, - 43249, + 83150, 32, - 1000, + 15299, 32, - 80556, + 76049, 1, - 57667, + 13169, 4, - 1000, + 22100, 10, - 197145, - 156, + 28999, + 74, 1, - 197145, - 156, + 28999, + 74, 1, - 204924, - 473, + 43285, + 552, 1, - 208896, - 511, + 44749, + 541, 1, - 52467, + 33852, 32, - 64832, + 68246, 32, - 65493, + 72362, 32, - 22558, + 7243, 32, - 16563, + 7391, 32, - 76511, + 11546, 32, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 69522, - 11687, + 90434, + 519, 0, 1, - 60091, + 74433, 32, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 806990, - 30482, + 270652, + 22588, 4, - 1927926, - 82523, + 1457325, + 64566, 4, - 265318, - 0, + 20467, + 1, 4, 0, - 85931, + 141992, 32, - 205665, - 812, + 100788, + 420, 1, 1, - 41182, + 81663, 32, - 212342, + 59498, 32, - 31220, + 20142, 32, - 32696, + 24588, 32, - 43357, + 20744, 32, - 32247, + 25933, 32, - 38314, + 24623, 32, - 57996947, - 18975, + 53384111, + 14333, 10 ], "PlutusV2": [ - 205665, - 812, + 100788, + 420, 1, 1, 1000, - 571, + 173, 0, 1, 1000, - 24177, + 59957, 4, 1, - 1000, + 11183, 32, - 117366, - 10475, + 201305, + 8356, 4, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, - 23000, + 16000, 100, 100, 100, - 23000, + 16000, 100, - 19537, + 94375, 32, - 175354, + 132994, 32, - 46417, + 61462, 4, - 221973, - 511, + 72010, + 178, 0, 1, - 89141, + 22151, 32, - 497525, - 14068, + 91189, + 769, 4, 2, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, 1000, - 28662, + 42921, 4, 2, - 245000, - 216773, - 62, + 24548, + 29498, + 38, 1, - 1060367, - 12586, + 898148, + 27279, 1, - 208512, - 421, + 51775, + 558, 1, - 187000, + 39184, 1000, - 52998, + 60594, 1, - 80436, + 141895, 32, - 43249, + 83150, 32, - 1000, + 15299, 32, - 80556, + 76049, 1, - 57667, + 13169, 4, - 1000, + 22100, 10, - 197145, - 156, + 28999, + 74, 1, - 197145, - 156, + 28999, + 74, 1, - 204924, - 473, + 43285, + 552, 1, - 208896, - 511, + 44749, + 541, 1, - 52467, + 33852, 32, - 64832, + 68246, 32, - 65493, + 72362, 32, - 22558, + 7243, 32, - 16563, + 7391, 32, - 76511, + 11546, 32, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 69522, - 11687, + 90434, + 519, 0, 1, - 60091, + 74433, 32, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 196500, - 453240, - 220, + 85848, + 228465, + 122, 0, 1, 1, - 1159724, - 392670, + 955506, + 213312, 0, 2, - 806990, - 30482, + 270652, + 22588, 4, - 1927926, - 82523, + 1457325, + 64566, 4, - 265318, - 0, + 20467, + 1, 4, 0, - 85931, + 141992, 32, - 205665, - 812, + 100788, + 420, 1, 1, - 41182, + 81663, 32, - 212342, + 59498, 32, - 31220, + 20142, 32, - 32696, + 24588, 32, - 43357, + 20744, 32, - 32247, + 25933, 32, - 38314, + 24623, 32, - 35892428, + 43053543, 10, - 9462713, - 1021, + 53384111, + 14333, 10, - 38887044, - 32947, - 10, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807, - 9223372036854775807 + 43574283, + 26308, + 10 ], "PlutusV3": [ + 100788, + 420, + 1, + 1, + 1000, + 173, 0, + 1, + 1000, + 59957, + 4, + 1, + 11183, + 32, + 201305, + 8356, + 4, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 16000, + 100, + 100, + 100, + 16000, + 100, + 94375, + 32, + 132994, + 32, + 61462, + 4, + 72010, + 178, 0, + 1, + 22151, + 32, + 91189, + 769, + 4, + 2, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, 0, + 1, + 1, + 1000, + 42921, + 4, + 2, + 24548, + 29498, + 38, + 1, + 898148, + 27279, + 1, + 51775, + 558, + 1, + 39184, + 1000, + 60594, + 1, + 141895, + 32, + 83150, + 32, + 15299, + 32, + 76049, + 1, + 13169, + 4, + 22100, + 10, + 28999, + 74, + 1, + 28999, + 74, + 1, + 43285, + 552, + 1, + 44749, + 541, + 1, + 33852, + 32, + 68246, + 32, + 72362, + 32, + 7243, + 32, + 7391, + 32, + 11546, + 32, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, 0, + 1, + 90434, + 519, 0, + 1, + 74433, + 32, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, 0, + 1, + 1, + 85848, + 123203, + 7305, + -900, + 1716, + 549, + 57, + 85848, 0, + 1, + 955506, + 213312, 0, + 2, + 270652, + 22588, + 4, + 1457325, + 64566, + 4, + 20467, + 1, + 4, 0, + 141992, + 32, + 100788, + 420, + 1, + 1, + 81663, + 32, + 59498, + 32, + 20142, + 32, + 24588, + 32, + 20744, + 32, + 25933, + 32, + 24623, + 32, + 43053543, + 10, + 53384111, + 14333, + 10, + 43574283, + 26308, + 10, + 16000, + 100, + 16000, + 100, + 962335, + 18, + 2780678, + 6, + 442008, + 1, + 52538055, + 3756, + 18, + 267929, + 18, + 76433006, + 8868, + 18, + 52948122, + 18, + 1995836, + 36, + 3227919, + 12, + 901022, + 1, + 166917843, + 4307, + 36, + 284546, + 36, + 158221314, + 26549, + 36, + 74698472, + 36, + 333849714, + 1, + 254006273, + 72, + 2174038, + 72, + 2261318, + 64571, + 4, + 207616, + 8310, + 4, + 1293828, + 28716, + 63, 0, + 1, + 1006041, + 43623, + 251, 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 + 1 ] }, - "dRepActivity": 100, - "dRepDeposit": 1000000, + "dRepActivity": 20, + "dRepDeposit": 500000000, "dRepVotingThresholds": { - "committeeNoConfidence": 0, - "committeeNormal": 0.5, - "hardForkInitiation": 0.5, - "motionNoConfidence": 0, - "ppEconomicGroup": 0.5, - "ppGovGroup": 0.5, - "ppNetworkGroup": 0.5, - "ppTechnicalGroup": 0.5, - "treasuryWithdrawal": 0.5, - "updateToConstitution": 0 + "committeeNoConfidence": 0.6, + "committeeNormal": 0.67, + "hardForkInitiation": 0.6, + "motionNoConfidence": 0.67, + "ppEconomicGroup": 0.67, + "ppGovGroup": 0.75, + "ppNetworkGroup": 0.67, + "ppTechnicalGroup": 0.67, + "treasuryWithdrawal": 0.67, + "updateToConstitution": 0.75 }, - "govActionDeposit": 1000000, - "govActionLifetime": 1, - "maxBlockBodySize": 65536, + "govActionDeposit": 100000000000, + "govActionLifetime": 6, + "maxBlockBodySize": 90112, "maxBlockExecutionUnits": { "memory": 62000000, "steps": 20000000000 @@ -622,30 +632,30 @@ "maxBlockHeaderSize": 1100, "maxCollateralInputs": 3, "maxTxExecutionUnits": { - "memory": 140000000, + "memory": 14000000, "steps": 10000000000 }, "maxTxSize": 16384, "maxValueSize": 5000, - "minFeeRefScriptCostPerByte": 0, - "minPoolCost": 0, - "monetaryExpansion": 0.1, - "poolPledgeInfluence": 0, + "minFeeRefScriptCostPerByte": 15, + "minPoolCost": 170000000, + "monetaryExpansion": 3.0e-3, + "poolPledgeInfluence": 0.3, "poolRetireMaxEpoch": 18, "poolVotingThresholds": { - "committeeNoConfidence": 0.5, - "committeeNormal": 0.5, - "hardForkInitiation": 0.5, - "motionNoConfidence": 0.5, - "ppSecurityGroup": 0.5 + "committeeNoConfidence": 0.51, + "committeeNormal": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "protocolVersion": { - "major": 10, + "major": 9, "minor": 0 }, - "stakeAddressDeposit": 0, - "stakePoolDeposit": 0, - "stakePoolTargetNum": 100, - "treasuryCut": 0.1, + "stakeAddressDeposit": 2000000, + "stakePoolDeposit": 500000000, + "stakePoolTargetNum": 500, + "treasuryCut": 0.2, "utxoCostPerByte": 4310 } diff --git a/spago-packages.nix b/spago-packages.nix index ec48120..3887d19 100644 --- a/spago-packages.nix +++ b/spago-packages.nix @@ -295,11 +295,11 @@ let "cardano-transaction-lib" = pkgs.stdenv.mkDerivation { name = "cardano-transaction-lib"; - version = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; + version = "4bae6a202f3c77952d6067f94d8ae63cb74f3c0f"; src = pkgs.fetchgit { url = "https://github.com/Plutonomicon/cardano-transaction-lib.git"; - rev = "566e7153c88fdab7005a3b4b02e6fec41c7d5c94"; - sha256 = "0d3n3r37cxl83sxdzi9aigc2b2fph6kbmyf2kh0rhzq4rixsim76"; + rev = "4bae6a202f3c77952d6067f94d8ae63cb74f3c0f"; + sha256 = "0xcv67567b7xj74lzba9iqnyzwq5xwggdpyyivkbj2jxs23xcbxc"; }; phases = "installPhase"; installPhase = "ln -s $src $out"; diff --git a/src/Contract.purs b/src/Contract.purs index c913aa7..28be54e 100644 --- a/src/Contract.purs +++ b/src/Contract.purs @@ -181,7 +181,7 @@ import HydraAuctionOffchain.Contract.QueryStandingBidState import HydraAuctionOffchain.Contract.StartBidding ( StartBiddingContractError ( StartBidding_Error_InvalidAuctionTerms - , StartBidding_Error_CouldNotGetOwnAddress + , StartBidding_Error_CouldNotGetOwnPkh , StartBidding_Error_ContractNotInitiatedBySeller , StartBidding_Error_CurrentTimeBeforeBiddingStart , StartBidding_Error_CurrentTimeAfterBiddingEnd diff --git a/src/Contract/AnnounceAuction.purs b/src/Contract/AnnounceAuction.purs index 3dd925c..57de683 100644 --- a/src/Contract/AnnounceAuction.purs +++ b/src/Contract/AnnounceAuction.purs @@ -77,7 +77,7 @@ import Ctl.Internal.BalanceTx.CoinSelection ) import Ctl.Internal.CoinSelection.UtxoIndex (buildUtxoIndex) import Ctl.Internal.Types.Val (fromValue) as Val -import Data.Array (cons, head) as Array +import Data.Array (cons, head, uncons) as Array import Data.Bifunctor (lmap) import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Compat (maybe) as CA @@ -86,7 +86,7 @@ import Data.Either (hush) import Data.List (fromFoldable) as List import Data.Map (fromFoldable, isEmpty, keys, toUnfoldable, union) as Map import Data.Profunctor (wrapIso) -import Data.Set (empty, findMin, intersection) as Set +import Data.Set (findMin, intersection) as Set import Data.UUID (UUID) import Data.Validation.Semigroup (validation) import DelegateServer.AppManager.Types (AuctionSlot) @@ -95,6 +95,7 @@ import DelegateServer.Handlers.ReserveSlot (ReserveSlotError) import DelegateServer.Types.ServerResponse ( ServerResponse(ServerResponseSuccess, ServerResponseError) ) +import Effect.Aff.Class (liftAff) import HydraAuctionOffchain.Codec (orefCodec, txHashCodec) import HydraAuctionOffchain.Contract.MintingPolicies ( auctionEscrowTokenName @@ -484,8 +485,10 @@ getDelegateGroupSlot :: Array String -> Aff (Either ServiceError (Maybe AuctionS getDelegateGroupSlot httpServers = runExceptT do sets <- parTraverse (ExceptT <<< getAvailableSlotsRequest) httpServers - let availableSlots = foldl Set.intersection Set.empty sets - pure $ Set.findMin availableSlots + pure $ maybe + Nothing + (\{ head, tail } -> Set.findMin $ foldl Set.intersection head tail) + (Array.uncons sets) ---------------------------------------------------------------------- -- Errors diff --git a/src/Contract/AuthorizeBidders.purs b/src/Contract/AuthorizeBidders.purs index 4c33397..d7a399b 100644 --- a/src/Contract/AuthorizeBidders.purs +++ b/src/Contract/AuthorizeBidders.purs @@ -11,7 +11,8 @@ module HydraAuctionOffchain.Contract.AuthorizeBidders import Contract.Prelude -import Cardano.Types (PlutusData, ScriptHash, Value) +import Cardano.AsCbor (encodeCbor) +import Cardano.Types (PlutusData, PublicKey, ScriptHash, Value) import Cardano.Types.BigNum (one) as BigNum import Cardano.Types.Int (one) as Cardano.Int import Contract.Address (getNetworkId) @@ -28,7 +29,7 @@ import Data.Array (nub, null) as Array import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Profunctor (wrapIso) -import HydraAuctionOffchain.Codec (scriptHashCodec) +import HydraAuctionOffchain.Codec (publicKeyCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.PersonalOracle (PersonalOracle, mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -49,7 +50,7 @@ import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) newtype AuthBiddersContractParams = AuthBiddersContractParams { auctionCs :: ScriptHash - , biddersToAuthorize :: Array VerificationKey + , biddersToAuthorize :: Array PublicKey } derive instance Generic AuthBiddersContractParams _ @@ -67,7 +68,7 @@ authBiddersContractParamsCodec = wrapIso AuthBiddersContractParams $ CA.object "AuthBiddersContractParams" $ CAR.record { auctionCs: scriptHashCodec - , biddersToAuthorize: CA.array vkeyCodec + , biddersToAuthorize: CA.array publicKeyCodec } authorizeBiddersContract @@ -96,10 +97,10 @@ mkAuthorizeBiddersContractWithErrors (AuthBiddersContractParams params) = do -- Generate signatures: signatures <- for biddersToAuthorize $ \bidderVk -> do - let payload = sellerSignatureMessage auctionCs $ vkeyBytes bidderVk + let payload = sellerSignatureMessage auctionCs bidderVk { signature } <- withExceptT (AuthBidders_Error_CouldNotSignSellerMessage bidderVk) $ signMessage payload - pure $ bidderVk /\ signature + pure $ bidderVk /\ unwrap (encodeCbor signature) let sellerOracle :: PersonalOracle @@ -132,7 +133,7 @@ mkAuthorizeBiddersContractWithErrors (AuthBiddersContractParams params) = do data AuthBiddersContractError = AuthBidders_Error_NoBiddersToAuthorize | AuthBidders_Error_CouldNotGetOwnPubKeyHash - | AuthBidders_Error_CouldNotSignSellerMessage VerificationKey SignMessageError + | AuthBidders_Error_CouldNotSignSellerMessage PublicKey SignMessageError derive instance Generic AuthBiddersContractError _ derive instance Eq AuthBiddersContractError diff --git a/src/Contract/DiscoverSellerSignature.purs b/src/Contract/DiscoverSellerSignature.purs index 766711c..a98974a 100644 --- a/src/Contract/DiscoverSellerSignature.purs +++ b/src/Contract/DiscoverSellerSignature.purs @@ -10,7 +10,7 @@ module HydraAuctionOffchain.Contract.DiscoverSellerSignature import Contract.Prelude -import Cardano.Types (Address, Ed25519KeyHash, ScriptHash) +import Cardano.Types (Address, Ed25519KeyHash, PublicKey, ScriptHash) import Contract.Address (getNetworkId) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray) @@ -28,7 +28,7 @@ import Data.Map (toUnfoldable) as Map import Data.Newtype (class Newtype) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (addressCodec, scriptHashCodec) +import HydraAuctionOffchain.Codec (addressCodec, publicKeyCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.PersonalOracle (mkPersonalOracle) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -46,7 +46,7 @@ import HydraAuctionOffchain.Wallet (SignMessageError, askWalletVk) newtype DiscoverSellerSigContractParams = DiscoverSellerSigContractParams { auctionCs :: ScriptHash , sellerAddress :: Address - , bidderVk :: Maybe VerificationKey + , bidderVk :: Maybe PublicKey } derive instance Generic DiscoverSellerSigContractParams _ @@ -65,7 +65,7 @@ discoverSellerSigContractParamsCodec = CAR.record { auctionCs: scriptHashCodec , sellerAddress: addressCodec - , bidderVk: CA.maybe vkeyCodec + , bidderVk: CA.maybe publicKeyCodec } discoverSellerSignature @@ -93,7 +93,7 @@ discoverSellerSignatureWithErrors (DiscoverSellerSigContractParams params) = do lift $ findSignature sellerPkh params.auctionCs bidderVk -findSignature :: Ed25519KeyHash -> ScriptHash -> VerificationKey -> Contract (Maybe ByteArray) +findSignature :: Ed25519KeyHash -> ScriptHash -> PublicKey -> Contract (Maybe ByteArray) findSignature sellerPkh auctionCs bidderVk = do network <- getNetworkId let sellerOracle = mkPersonalOracle network $ wrap sellerPkh diff --git a/src/Contract/GetWalletVk.purs b/src/Contract/GetWalletVk.purs index 5992cf3..92fd81f 100644 --- a/src/Contract/GetWalletVk.purs +++ b/src/Contract/GetWalletVk.purs @@ -6,6 +6,7 @@ module HydraAuctionOffchain.Contract.GetWalletVk import Contract.Prelude +import Cardano.Types (PublicKey) import Contract.Monad (Contract) import Control.Monad.Except (ExceptT, withExceptT) import HydraAuctionOffchain.Contract.Types @@ -16,10 +17,10 @@ import HydraAuctionOffchain.Contract.Types ) import HydraAuctionOffchain.Wallet (SignMessageError, askWalletVk) -getWalletVk :: Contract (ContractOutput VerificationKey) +getWalletVk :: Contract (ContractOutput PublicKey) getWalletVk = mkContractOutput identity getWalletVkWithErrors -getWalletVkWithErrors :: ExceptT GetWalletVkContractError Contract VerificationKey +getWalletVkWithErrors :: ExceptT GetWalletVkContractError Contract PublicKey getWalletVkWithErrors = _.vkey <$> withExceptT GetWalletVk_Error_CouldNotGetWalletVk diff --git a/src/Contract/MoveBid.purs b/src/Contract/MoveBid.purs index c85edbc..5b25edd 100644 --- a/src/Contract/MoveBid.purs +++ b/src/Contract/MoveBid.purs @@ -13,23 +13,17 @@ module HydraAuctionOffchain.Contract.MoveBid import Contract.Prelude -import Affjax (Error, Response, defaultRequest) as Affjax -import Affjax.ResponseFormat (string) as Affjax.ResponseFormat -import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax import Cardano.Types (NetworkId, ScriptHash) import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) import Control.Monad.Except (ExceptT(ExceptT), throwError, withExceptT) import Control.Monad.Trans.Class (lift) -import Ctl.Internal.Affjax (request) as Affjax -import Data.Bifunctor (lmap) import Data.Codec.Argonaut (JsonCodec, object) as CA import Data.Codec.Argonaut.Record (record) as CAR -import Data.HTTP.Method (Method(POST)) import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidResponseCodec) +import DelegateServer.Handlers.MoveBid (MoveBidResponse) import HydraAuctionOffchain.Codec (scriptHashCodec) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -46,10 +40,8 @@ import HydraAuctionOffchain.Contract.Types , validateDelegateInfo ) import HydraAuctionOffchain.Lib.Codec (class HasJson) -import HydraAuctionOffchain.Lib.Json (caDecodeString) -import HydraAuctionOffchain.Service.Common - ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) - ) +import HydraAuctionOffchain.Service.Common (ServiceError) +import HydraAuctionOffchain.Service.DelegateServer (moveBidRequest) newtype MoveBidContractParams = MoveBidContractParams { auctionCs :: ScriptHash @@ -86,7 +78,7 @@ mkMoveBidContractWithErrors -> ExceptT MoveBidContractError Contract MoveBidResponse mkMoveBidContractWithErrors (MoveBidContractParams params) = do let - _auctionCs = params.auctionCs + auctionCs = params.auctionCs auctionTerms@(AuctionTerms auctionTermsRec) = params.auctionTerms delegateInfo = params.delegateInfo @@ -106,36 +98,10 @@ mkMoveBidContractWithErrors (MoveBidContractParams params) = do throwError MoveBid_Error_CurrentTimeAfterBiddingEnd -- Send `moveBid` request to a randomly picked delegate: - delegateHttpServer <- randomHttpServer delegateInfo + httpServer <- randomHttpServer delegateInfo network <- lift getNetworkId - let moveBidRequest' = ExceptT $ liftAff $ moveBidRequest network delegateHttpServer - withExceptT MoveBid_Error_MoveBidRequestServiceError - moveBidRequest' - -moveBidRequest :: NetworkId -> String -> Aff (Either ServiceError MoveBidResponse) -moveBidRequest network httpServer = do - handleResponse network <$> Affjax.request - ( Affjax.defaultRequest - { method = Left POST - , url = httpServer <> "/moveBid" - , responseFormat = Affjax.ResponseFormat.string - } - ) - -handleResponse - :: NetworkId - -> Either Affjax.Error (Affjax.Response String) - -> Either ServiceError MoveBidResponse -handleResponse network = case _ of - Left affjaxError -> - Left $ ServiceHttpError $ wrap affjaxError - Right { status, body } -> - case status of - Affjax.StatusCode statusCode | statusCode == 201 || statusCode == 400 -> - lmap (ServiceDecodeJsonError body) $ - caDecodeString (moveBidResponseCodec network) body - _ -> - Left $ ServiceHttpResponseError status body + withExceptT MoveBid_Error_MoveBidRequestServiceError $ ExceptT $ liftAff $ + moveBidRequest httpServer network auctionCs ---------------------------------------------------------------------- -- Errors diff --git a/src/Contract/PlaceBid.purs b/src/Contract/PlaceBid.purs index 10ea075..ef6038a 100644 --- a/src/Contract/PlaceBid.purs +++ b/src/Contract/PlaceBid.purs @@ -20,6 +20,7 @@ module HydraAuctionOffchain.Contract.PlaceBid import Contract.Prelude +import Cardano.AsCbor (encodeCbor) import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address import Cardano.Types ( BigNum @@ -176,7 +177,7 @@ mkPlaceBidContractWithErrors (PlaceBidContractParams params) = do newBidState = wrap $ Just $ BidTerms { bidder: BidderInfo { bidderAddress: bidderAddressPlutus, bidderVk } , price: params.bidAmount - , bidderSignature + , bidderSignature: unwrap $ encodeCbor bidderSignature , sellerSignature: params.sellerSignature } network <- lift getNetworkId diff --git a/src/Contract/SendBid.purs b/src/Contract/SendBid.purs index 93acc92..e4338c6 100644 --- a/src/Contract/SendBid.purs +++ b/src/Contract/SendBid.purs @@ -16,10 +16,7 @@ module HydraAuctionOffchain.Contract.SendBid import Contract.Prelude -import Affjax (Error, Response, defaultRequest) as Affjax -import Affjax.RequestBody (RequestBody(Json)) as Affjax -import Affjax.ResponseFormat (string) as Affjax.ResponseFormat -import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax +import Cardano.AsCbor (encodeCbor) import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address import Cardano.Types (BigNum, NetworkId, ScriptHash) import Contract.Address (getNetworkId) @@ -30,14 +27,11 @@ import Contract.Wallet (ownPaymentPubKeyHash) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT(ExceptT), throwError, withExceptT) import Control.Monad.Trans.Class (lift) -import Ctl.Internal.Affjax (request) as Affjax -import Data.Bifunctor (lmap) -import Data.Codec.Argonaut (JsonCodec, encode, object) as CA +import Data.Codec.Argonaut (JsonCodec, object) as CA import Data.Codec.Argonaut.Record (record) as CAR -import Data.HTTP.Method (Method(POST)) import Data.Profunctor (wrapIso) import Data.Validation.Semigroup (validation) -import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidResponseCodec) +import DelegateServer.Handlers.PlaceBid (PlaceBidResponse) import HydraAuctionOffchain.Codec (bigNumCodec, byteArrayCodec, scriptHashCodec) import HydraAuctionOffchain.Contract.Types ( class ToContractError @@ -49,7 +43,6 @@ import HydraAuctionOffchain.Contract.Types , DelegateInfo , DelegateInfoValidationError , auctionTermsCodec - , bidTermsCodec , bidderSignatureMessage , delegateInfoCodec , mkContractOutput @@ -58,10 +51,8 @@ import HydraAuctionOffchain.Contract.Types , validateDelegateInfo ) import HydraAuctionOffchain.Lib.Codec (class HasJson) -import HydraAuctionOffchain.Lib.Json (caDecodeString) -import HydraAuctionOffchain.Service.Common - ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) - ) +import HydraAuctionOffchain.Service.Common (ServiceError) +import HydraAuctionOffchain.Service.DelegateServer (placeBidRequest) import HydraAuctionOffchain.Wallet (SignMessageError, signMessage) newtype SendBidContractParams = SendBidContractParams @@ -138,43 +129,14 @@ mkSendBidContractWithErrors (SendBidContractParams params) = do bidTerms = BidTerms { bidder: BidderInfo { bidderAddress: bidderAddressPlutus, bidderVk } , price: params.bidAmount - , bidderSignature + , bidderSignature: unwrap $ encodeCbor bidderSignature , sellerSignature: params.sellerSignature } - delegateHttpServer <- randomHttpServer delegateInfo + httpServer <- randomHttpServer delegateInfo network <- lift getNetworkId - let - sendBidToDelegate' = ExceptT $ liftAff $ sendBidToDelegate network delegateHttpServer - bidTerms - withExceptT SendBid_Error_PlaceBidRequestServiceError - sendBidToDelegate' - -sendBidToDelegate - :: NetworkId -> String -> BidTerms -> Aff (Either ServiceError PlaceBidResponse) -sendBidToDelegate network httpServer bidTerms = do - handleResponse <$> Affjax.request - ( Affjax.defaultRequest - { method = Left POST - , url = httpServer <> "/placeBid" - , content = Just $ Affjax.Json $ CA.encode (bidTermsCodec network) bidTerms - , responseFormat = Affjax.ResponseFormat.string - } - ) - -handleResponse - :: Either Affjax.Error (Affjax.Response String) - -> Either ServiceError PlaceBidResponse -handleResponse = case _ of - Left affjaxError -> - Left $ ServiceHttpError $ wrap affjaxError - Right { status, body } -> - case status of - Affjax.StatusCode statusCode | statusCode == 201 || statusCode == 400 -> - lmap (ServiceDecodeJsonError body) $ - caDecodeString placeBidResponseCodec body - _ -> - Left $ ServiceHttpResponseError status body + withExceptT SendBid_Error_PlaceBidRequestServiceError $ ExceptT $ liftAff $ + placeBidRequest httpServer network bidTerms auctionCs ---------------------------------------------------------------------- -- Errors diff --git a/src/Contract/StartBidding.purs b/src/Contract/StartBidding.purs index 2c2331c..9ac6ae8 100644 --- a/src/Contract/StartBidding.purs +++ b/src/Contract/StartBidding.purs @@ -1,7 +1,7 @@ module HydraAuctionOffchain.Contract.StartBidding ( StartBiddingContractError ( StartBidding_Error_InvalidAuctionTerms - , StartBidding_Error_CouldNotGetOwnAddress + , StartBidding_Error_CouldNotGetOwnPkh , StartBidding_Error_ContractNotInitiatedBySeller , StartBidding_Error_CurrentTimeBeforeBiddingStart , StartBidding_Error_CurrentTimeAfterBiddingEnd @@ -19,8 +19,16 @@ import Contract.Prelude import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address import Cardano.Plutus.Types.Value (toCardano) as Plutus.Value -import Cardano.Types (NetworkId, PaymentPubKeyHash, PlutusData, RedeemerDatum) +import Cardano.Types + ( Credential(PubKeyHashCredential) + , NetworkId + , PaymentPubKeyHash + , PlutusData + , RedeemerDatum + ) +import Cardano.Types.Address (mkPaymentAddress) import Cardano.Types.BigNum (one) as BigNum +import Contract.Address (getNetworkId) import Contract.Chain (currentTime) import Contract.Monad (Contract) import Contract.PlutusData (toData) @@ -38,10 +46,11 @@ import Contract.TxConstraints ) as Constraints import Contract.Value (TokenName, Value) import Contract.Value (singleton) as Value -import Contract.Wallet (getWalletAddress) +import Contract.Wallet (ownPaymentPubKeyHashes) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, throwError, withExceptT) import Control.Monad.Trans.Class (lift) +import Data.Array (head) as Array import Data.Codec.Argonaut (JsonCodec, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Map (singleton) as Map @@ -122,7 +131,10 @@ mkStartBiddingContractWithErrors (StartBiddingContractParams params) = do ?? StartBidding_Error_AuctionLotValueConversionFailure -- Check that the contract is initiated by the seller: - ownAddress <- getWalletAddress !? StartBidding_Error_CouldNotGetOwnAddress + network <- lift getNetworkId + ownPkh <- (map unwrap <<< Array.head <$> ownPaymentPubKeyHashes) + !? StartBidding_Error_CouldNotGetOwnPkh + let ownAddress = mkPaymentAddress network (wrap $ PubKeyHashCredential ownPkh) Nothing when (Plutus.Address.fromCardano ownAddress /= Just auctionTermsRec.sellerAddress) $ throwError StartBidding_Error_ContractNotInitiatedBySeller @@ -225,7 +237,7 @@ mkStartBiddingContractWithErrors (StartBiddingContractParams params) = do data StartBiddingContractError = StartBidding_Error_InvalidAuctionTerms (Array AuctionTermsValidationError) - | StartBidding_Error_CouldNotGetOwnAddress + | StartBidding_Error_CouldNotGetOwnPkh | StartBidding_Error_ContractNotInitiatedBySeller | StartBidding_Error_CurrentTimeBeforeBiddingStart | StartBidding_Error_CurrentTimeAfterBiddingEnd @@ -246,7 +258,7 @@ instance ToContractError StartBiddingContractError where StartBidding_Error_InvalidAuctionTerms errors -> "Invalid auction terms, errors: " <> show errors <> "." - StartBidding_Error_CouldNotGetOwnAddress -> + StartBidding_Error_CouldNotGetOwnPkh -> "Could not get own address." StartBidding_Error_ContractNotInitiatedBySeller -> diff --git a/src/Contract/Types/Plutus/AuctionAuth.purs b/src/Contract/Types/Plutus/AuctionAuth.purs index e6a8778..bd0dcc4 100644 --- a/src/Contract/Types/Plutus/AuctionAuth.purs +++ b/src/Contract/Types/Plutus/AuctionAuth.purs @@ -5,6 +5,7 @@ module HydraAuctionOffchain.Contract.Types.Plutus.AuctionAuth import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude +import Cardano.Types (PublicKey) import Contract.Numeric.BigNum (zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Prim.ByteArray (ByteArray) @@ -20,7 +21,7 @@ import Type.Proxy (Proxy(Proxy)) newtype AuctionAuth = AuctionAuth { auctionCs :: CurrencySymbol - , signatures :: Array (Tuple VerificationKey ByteArray) + , signatures :: Array (Tuple PublicKey ByteArray) } derive instance Generic AuctionAuth _ @@ -32,7 +33,7 @@ instance Show AuctionAuth where type AuctionAuthSchema = ("auctionCs" :~: CurrencySymbol) - :$: ("signatures" :~: Array (Tuple VerificationKey ByteArray)) + :$: ("signatures" :~: Array (Tuple PublicKey ByteArray)) :$: Nil auctionAuthSchema :: Proxy AuctionAuthSchema diff --git a/src/Contract/Types/Plutus/AuctionTerms.purs b/src/Contract/Types/Plutus/AuctionTerms.purs index 60283bb..f98288e 100644 --- a/src/Contract/Types/Plutus/AuctionTerms.purs +++ b/src/Contract/Types/Plutus/AuctionTerms.purs @@ -28,7 +28,8 @@ import Prelude import Cardano.Plutus.Types.Address (Address) as Plutus import Cardano.Plutus.Types.Value (Value) as Plutus import Cardano.Plutus.Types.Value (gt, valueToCoin) as Plutus.Value -import Cardano.Types (BigNum, Ed25519KeyHash, NetworkId) +import Cardano.Types (BigNum, Ed25519KeyHash, NetworkId, PublicKey) +import Cardano.Types.PublicKey (hash) as PublicKey import Contract.Numeric.BigNum (fromInt, mul, zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Time (POSIXTime) @@ -37,7 +38,7 @@ import Data.Codec.Argonaut (JsonCodec, array, object) as CA import Data.Codec.Argonaut.Record (record) as CAR import Data.Foldable (fold, length) import Data.Generic.Rep (class Generic) -import Data.Maybe (Maybe(Nothing), isJust, maybe) +import Data.Maybe (Maybe(Just, Nothing), isJust, maybe) import Data.Newtype (class Newtype, unwrap, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) @@ -48,6 +49,7 @@ import HydraAuctionOffchain.Codec , plutusAddressCodec , plutusValueCodec , posixTimeCodec + , publicKeyCodec ) import HydraAuctionOffchain.Contract.Types.VerificationKey ( VerificationKey @@ -55,7 +57,6 @@ import HydraAuctionOffchain.Contract.Types.VerificationKey , vkeyCodec ) import HydraAuctionOffchain.Helpers (errV) -import HydraAuctionOffchain.Lib.Crypto (hashVk) import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import Type.Proxy (Proxy(Proxy)) @@ -96,7 +97,7 @@ auctionTermsInputCodec = CA.object "AuctionTerms" $ CAR.record mkAuctionTerms :: AuctionTermsInput -> Plutus.Address - -> VerificationKey + -> PublicKey -> Array Ed25519KeyHash -> AuctionTerms mkAuctionTerms rec sellerAddress sellerVk delegates = wrap @@ -120,7 +121,7 @@ mkAuctionTerms rec sellerAddress sellerVk delegates = wrap type AuctionTermsRec = AuctionTermsInputRec ( sellerAddress :: Plutus.Address - , sellerVk :: VerificationKey + , sellerVk :: PublicKey ) newtype AuctionTerms = AuctionTerms (Record AuctionTermsRec) @@ -135,7 +136,7 @@ instance Show AuctionTerms where type AuctionTermsSchema = ("auctionLot" :~: Plutus.Value) :$: ("sellerAddress" :~: Plutus.Address) - :$: ("sellerVk" :~: VerificationKey) + :$: ("sellerVk" :~: PublicKey) :$: ("delegates" :~: Array Ed25519KeyHash) :$: ("biddingStart" :~: POSIXTime) :$: ("biddingEnd" :~: POSIXTime) @@ -164,7 +165,7 @@ auctionTermsCodec network = wrapIso AuctionTerms $ CA.object "AuctionTerms" $ CAR.record { auctionLot: plutusValueCodec , sellerAddress: plutusAddressCodec network - , sellerVk: vkeyCodec + , sellerVk: publicKeyCodec , delegates: CA.array ed25519KeyHashCodec , biddingStart: posixTimeCodec , biddingEnd: posixTimeCodec @@ -215,7 +216,7 @@ validateAuctionTerms auctionTerms@(AuctionTerms rec) = fold `errV` NonPositiveAuctionLotValueError , (isJust sellerPkh) `errV` SellerAddressLacksPubKeyCredentialError - , (sellerPkh == hashVk (vkeyBytes rec.sellerVk)) + , (sellerPkh == Just (PublicKey.hash rec.sellerVk)) `errV` SellerVkPkhMismatchError , (rec.biddingStart < rec.biddingEnd) `errV` BiddingStartNotBeforeBiddingEndError diff --git a/src/Contract/Types/Plutus/BidTerms.purs b/src/Contract/Types/Plutus/BidTerms.purs index 92528c4..176fe74 100644 --- a/src/Contract/Types/Plutus/BidTerms.purs +++ b/src/Contract/Types/Plutus/BidTerms.purs @@ -10,15 +10,19 @@ module HydraAuctionOffchain.Contract.Types.Plutus.BidTerms import HydraAuctionOffchain.Contract.Types.Plutus.Extra.TypeLevel import Prelude +import Cardano.AsCbor (decodeCbor) import Cardano.Plutus.Types.PubKeyHash (PubKeyHash(PubKeyHash)) as Plutus import Cardano.Types ( BigNum , Credential(PubKeyHashCredential) , Ed25519KeyHash , NetworkId + , PublicKey + , RawBytes(RawBytes) , ScriptHash ) import Cardano.Types.Address (mkPaymentAddress) +import Cardano.Types.PublicKey (verify) as PublicKey import Contract.Numeric.BigNum (sub, zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Contract.Prim.ByteArray (ByteArray, byteLength, hexToByteArrayUnsafe) @@ -42,7 +46,6 @@ import HydraAuctionOffchain.Contract.Types.Plutus.BidderInfo (BidderInfo, bidder import HydraAuctionOffchain.Contract.Types.VerificationKey (vkeyBytes) import HydraAuctionOffchain.Lib.Codec (class HasJson) import HydraAuctionOffchain.Lib.Cose (mkSigStructure) -import HydraAuctionOffchain.Lib.Crypto (verifySignature) import HydraAuctionOffchain.Lib.Plutus.Address (toPubKeyHash) import HydraAuctionOffchain.Lib.ToData (serializeData) import Type.Proxy (Proxy(Proxy)) @@ -108,25 +111,25 @@ validateBidTerms network auctionCs (AuctionTerms auctionTerms) (BidTerms bidTerm verifyBidderSignature :: Effect Boolean verifyBidderSignature = - case toPubKeyHash bidderInfo.bidderAddress of - Just (Plutus.PubKeyHash bidderPkh) -> do + case toPubKeyHash bidderInfo.bidderAddress, decodeCbor (wrap bidTerms.bidderSignature) of + Just (Plutus.PubKeyHash bidderPkh), Just bidderSignature -> do let addr = mkPaymentAddress network (wrap $ PubKeyHashCredential bidderPkh) Nothing payload = bidderSignatureMessage auctionCs bidderPkh bidTerms.price - sigStruct <- mkSigStructure addr payload - verifySignature (vkeyBytes bidderInfo.bidderVk) sigStruct bidTerms.bidderSignature - Nothing -> pure false + sigStruct <- RawBytes <$> mkSigStructure addr payload + pure $ PublicKey.verify bidderInfo.bidderVk sigStruct bidderSignature + _, _ -> pure false verifySellerSignature :: Effect Boolean verifySellerSignature = - case toPubKeyHash auctionTerms.sellerAddress of - Just (Plutus.PubKeyHash sellerPkh) -> do + case toPubKeyHash auctionTerms.sellerAddress, decodeCbor (wrap bidTerms.sellerSignature) of + Just (Plutus.PubKeyHash sellerPkh), Just sellerSignature -> do let addr = mkPaymentAddress network (wrap $ PubKeyHashCredential sellerPkh) Nothing - payload = sellerSignatureMessage auctionCs $ vkeyBytes bidderInfo.bidderVk - sigStruct <- mkSigStructure addr payload - verifySignature (vkeyBytes auctionTerms.sellerVk) sigStruct bidTerms.sellerSignature - Nothing -> pure false + payload = sellerSignatureMessage auctionCs bidderInfo.bidderVk + sigStruct <- RawBytes <$> mkSigStructure addr payload + pure $ PublicKey.verify auctionTerms.sellerVk sigStruct sellerSignature + _, _ -> pure false -- Maximum (reasonable) size of the bidder signature message where -- bidPrice is set to the total supply of ADA (45 billion). @@ -142,7 +145,7 @@ bidderSignatureMessage auctionCs bidderPkh bidPrice = padMessage bidderSignatureMessageSize $ unwrap (serializeData auctionCs <> serializeData bidderPkh <> serializeData bidPrice) -sellerSignatureMessage :: ScriptHash -> ByteArray -> ByteArray +sellerSignatureMessage :: ScriptHash -> PublicKey -> ByteArray sellerSignatureMessage auctionCs bidderVk = unwrap $ serializeData auctionCs <> serializeData bidderVk diff --git a/src/Contract/Types/Plutus/BidderInfo.purs b/src/Contract/Types/Plutus/BidderInfo.purs index 8113d34..681c93e 100644 --- a/src/Contract/Types/Plutus/BidderInfo.purs +++ b/src/Contract/Types/Plutus/BidderInfo.purs @@ -8,7 +8,8 @@ import Prelude import Cardano.Plutus.Types.Address (Address) as Plutus import Cardano.Plutus.Types.Address (pubKeyHashAddress) as Plutus.Address -import Cardano.Types (NetworkId) +import Cardano.Types (NetworkId, PublicKey) +import Cardano.Types.PublicKey (fromRawBytes, hash) as PublicKey import Contract.Numeric.BigNum (zero) as BigNum import Contract.PlutusData (class FromData, class ToData, PlutusData(Constr)) import Data.Codec.Argonaut (JsonCodec, object) as CA @@ -19,21 +20,20 @@ import Data.Maybe (Maybe(Nothing), fromJust) import Data.Newtype (class Newtype, wrap) import Data.Profunctor (wrapIso) import Data.Show.Generic (genericShow) -import HydraAuctionOffchain.Codec (plutusAddressCodec) +import HydraAuctionOffchain.Codec (plutusAddressCodec, publicKeyCodec) import HydraAuctionOffchain.Contract.Types.VerificationKey ( VerificationKey , vkeyBytes , vkeyCodec ) import HydraAuctionOffchain.Lib.Codec (class HasJson) -import HydraAuctionOffchain.Lib.Crypto (hashVk) import Partial.Unsafe (unsafePartial) import Test.QuickCheck (class Arbitrary, arbitrary) import Type.Proxy (Proxy(Proxy)) newtype BidderInfo = BidderInfo { bidderAddress :: Plutus.Address - , bidderVk :: VerificationKey + , bidderVk :: PublicKey } derive instance Generic BidderInfo _ @@ -45,7 +45,7 @@ instance Show BidderInfo where type BidderInfoSchema = ("bidderAddress" :~: Plutus.Address) - :$: ("bidderVk" :~: VerificationKey) + :$: ("bidderVk" :~: PublicKey) :$: Nil bidderInfoSchema :: Proxy BidderInfoSchema @@ -67,13 +67,18 @@ bidderInfoCodec :: NetworkId -> CA.JsonCodec BidderInfo bidderInfoCodec network = wrapIso BidderInfo $ CA.object "BidderInfo" $ CAR.record { bidderAddress: plutusAddressCodec network - , bidderVk: vkeyCodec + , bidderVk: publicKeyCodec } instance Arbitrary BidderInfo where arbitrary = do - bidderVk <- arbitrary + bidderVk <- + arbitrary <#> + unsafePartial fromJust + <<< PublicKey.fromRawBytes + <<< wrap + <<< vkeyBytes let - bidderPkh = unsafePartial fromJust $ hashVk $ vkeyBytes bidderVk + bidderPkh = PublicKey.hash bidderVk bidderAddress = Plutus.Address.pubKeyHashAddress (wrap $ wrap bidderPkh) Nothing pure $ wrap { bidderAddress, bidderVk } diff --git a/src/Lib/Codec.purs b/src/Lib/Codec.purs index 379f186..114314a 100644 --- a/src/Lib/Codec.purs +++ b/src/Lib/Codec.purs @@ -13,7 +13,7 @@ module HydraAuctionOffchain.Lib.Codec import Prelude -import Cardano.Types (AssetName, BigNum) +import Cardano.Types (AssetName, BigNum, PublicKey) import Contract.Prim.ByteArray (ByteArray) import Contract.Transaction (TransactionHash) import Control.Alt ((<|>)) @@ -57,6 +57,7 @@ import HydraAuctionOffchain.Codec , bigIntCodec , bigNumCodec , byteArrayCodec + , publicKeyCodec , txHashCodec ) import HydraAuctionOffchain.Helpers (fromJustWithErr) @@ -209,3 +210,6 @@ instance HasJson TransactionHash anyParams where instance HasJson AssetName anyParams where jsonCodec _ = const assetNameCodec + +instance HasJson PublicKey anyParams where + jsonCodec _ = const publicKeyCodec diff --git a/src/Lib/Crypto.js b/src/Lib/Crypto.js deleted file mode 100644 index 81928ac..0000000 --- a/src/Lib/Crypto.js +++ /dev/null @@ -1,15 +0,0 @@ -/* global BROWSER_RUNTIME */ - -let csl; -if (typeof BROWSER_RUNTIME != "undefined" && BROWSER_RUNTIME) { - csl = await import("@emurgo/cardano-serialization-lib-browser"); -} else { - csl = await import("@emurgo/cardano-serialization-lib-nodejs"); -} - -// verifySignature :: ByteArray -> ByteArray -> ByteArray -> Effect Boolean -export const verifySignature = (vkeyBytes) => (message) => (signatureBytes) => () => { - const publicKey = csl.PublicKey.from_bytes(vkeyBytes); - const signature = csl.Ed25519Signature.from_bytes(signatureBytes); - return publicKey.verify(message, signature); -}; diff --git a/src/Lib/Crypto.purs b/src/Lib/Crypto.purs deleted file mode 100644 index d8b5c21..0000000 --- a/src/Lib/Crypto.purs +++ /dev/null @@ -1,18 +0,0 @@ -module HydraAuctionOffchain.Lib.Crypto - ( hashVk - , verifySignature - ) where - -import Prelude - -import Cardano.Types (Ed25519KeyHash) -import Cardano.Types.PublicKey (fromRawBytes, hash) as PublicKey -import Contract.Prim.ByteArray (ByteArray) -import Data.Maybe (Maybe) -import Data.Newtype (wrap) -import Effect (Effect) - -foreign import verifySignature :: ByteArray -> ByteArray -> ByteArray -> Effect Boolean - -hashVk :: ByteArray -> Maybe Ed25519KeyHash -hashVk = map PublicKey.hash <<< PublicKey.fromRawBytes <<< wrap diff --git a/src/Service/DelegateServer.purs b/src/Service/DelegateServer.purs index e8e4dcb..405cea6 100644 --- a/src/Service/DelegateServer.purs +++ b/src/Service/DelegateServer.purs @@ -1,45 +1,44 @@ module HydraAuctionOffchain.Service.DelegateServer ( getAvailableSlotsRequest , hostAuctionRequest + , moveBidRequest + , placeBidRequest , reserveSlotRequest ) where import Prelude -import Affjax (Error, URL, Response, defaultRequest) as Affjax -import Affjax.RequestBody (RequestBody(Json)) as Affjax -import Affjax.ResponseFormat (string) as Affjax.ResponseFormat -import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax -import Ctl.Internal.Affjax (request) as Affjax +import Cardano.Types (NetworkId, ScriptHash) import Ctl.Internal.Helpers ((<>)) -import Data.Argonaut (Json) -import Data.Bifunctor (lmap) -import Data.Codec.Argonaut (JsonCodec, encode) as CA -import Data.Either (Either(Left, Right)) -import Data.HTTP.Method (Method(GET, POST)) +import Data.Array (singleton) as Array +import Data.Codec.Argonaut (encode) as CA +import Data.Either (Either) import Data.Maybe (Maybe(Just, Nothing)) -import Data.Newtype (wrap) import Data.Set (Set) import DelegateServer.AppManager.Types (AuctionSlot) -import DelegateServer.Handler.GetAvailableSlots (availableSlotsCodec) +import DelegateServer.Handlers.GetAvailableSlots (availableSlotsCodec) import DelegateServer.Handlers.HostAuction - ( HostAuctionError - , HostAuctionRequest + ( HostAuctionRequest + , HostAuctionResponse , hostAuctionRequestCodec , hostAuctionResponseCodec ) +import DelegateServer.Handlers.MoveBid (MoveBidResponse, moveBidResponseCodec) +import DelegateServer.Handlers.PlaceBid (PlaceBidResponse, placeBidResponseCodec) import DelegateServer.Handlers.ReserveSlot - ( ReserveSlotError - , ReserveSlotSuccess - , ReserveSlotRequest + ( ReserveSlotRequest + , ReserveSlotResponse , reserveSlotRequestCodec , reserveSlotResponseCodec ) -import DelegateServer.Types.ServerResponse (ServerResponse) import Effect.Aff (Aff) -import HydraAuctionOffchain.Lib.Json (caDecodeString) -import HydraAuctionOffchain.Service.Common - ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) +import HydraAuctionOffchain.Contract.Types (BidTerms, bidTermsCodec) +import HydraAuctionOffchain.Service.Common (ServiceError) +import HydraAuctionOffchain.Service.DelegateServer.Http + ( getRequest + , handleResponse + , mkAuctionCsHeader + , postRequest ) getAvailableSlotsRequest :: String -> Aff (Either ServiceError (Set AuctionSlot)) @@ -50,54 +49,50 @@ getAvailableSlotsRequest httpServer = reserveSlotRequest :: String -> ReserveSlotRequest - -> Aff (Either ServiceError (ServerResponse ReserveSlotSuccess ReserveSlotError)) + -> Aff (Either ServiceError ReserveSlotResponse) reserveSlotRequest httpServer reqBody = handleResponse reserveSlotResponseCodec <$> postRequest - (httpServer <> "reserveSlot") - (CA.encode reserveSlotRequestCodec reqBody) + { url: httpServer <> "reserveSlot" + , content: Just $ CA.encode reserveSlotRequestCodec reqBody + , headers: mempty + } hostAuctionRequest :: String -> HostAuctionRequest - -> Aff (Either ServiceError (ServerResponse Unit HostAuctionError)) + -> Aff (Either ServiceError HostAuctionResponse) hostAuctionRequest httpServer reqBody = handleResponse hostAuctionResponseCodec <$> postRequest - (httpServer <> "hostAuction") - (CA.encode hostAuctionRequestCodec reqBody) + { url: httpServer <> "hostAuction" + , content: Just $ CA.encode hostAuctionRequestCodec reqBody + , headers: mempty + } -getRequest :: Affjax.URL -> Aff (Either Affjax.Error (Affjax.Response String)) -getRequest = affjaxRequest GET Nothing - -postRequest :: Affjax.URL -> Json -> Aff (Either Affjax.Error (Affjax.Response String)) -postRequest url content = affjaxRequest POST (Just content) url - -affjaxRequest - :: Method - -> Maybe Json - -> Affjax.URL - -> Aff (Either Affjax.Error (Affjax.Response String)) -affjaxRequest method content url = - Affjax.request $ Affjax.defaultRequest - { method = Left method - , url = url - , responseFormat = Affjax.ResponseFormat.string - , content = Affjax.Json <$> content - } +moveBidRequest + :: String + -> NetworkId + -> ScriptHash + -> Aff (Either ServiceError MoveBidResponse) +moveBidRequest httpServer network auctionCs = + handleResponse (moveBidResponseCodec network) <$> + postRequest + { url: httpServer <> "moveBid" + , content: Nothing + , headers: Array.singleton $ mkAuctionCsHeader auctionCs + } -handleResponse - :: forall (a :: Type) - . CA.JsonCodec a - -> Either Affjax.Error (Affjax.Response String) - -> Either ServiceError a -handleResponse respCodec = case _ of - Left affjaxErr -> - Left $ ServiceHttpError $ wrap affjaxErr - Right { status, body } -> - case status of - Affjax.StatusCode statusCode | statusCode >= 200 && statusCode <= 299 -> - lmap (ServiceDecodeJsonError body) $ - caDecodeString respCodec body - _ -> - Left $ ServiceHttpResponseError status body +placeBidRequest + :: String + -> NetworkId + -> BidTerms + -> ScriptHash + -> Aff (Either ServiceError PlaceBidResponse) +placeBidRequest httpServer network bidTerms auctionCs = + handleResponse placeBidResponseCodec <$> + postRequest + { url: httpServer <> "placeBid" + , content: Just $ CA.encode (bidTermsCodec network) bidTerms + , headers: Array.singleton $ mkAuctionCsHeader auctionCs + } diff --git a/src/Service/DelegateServer/Http.purs b/src/Service/DelegateServer/Http.purs new file mode 100644 index 0000000..ac64df5 --- /dev/null +++ b/src/Service/DelegateServer/Http.purs @@ -0,0 +1,75 @@ +module HydraAuctionOffchain.Service.DelegateServer.Http + ( getRequest + , handleResponse + , mkAuctionCsHeader + , postRequest + ) where + +import Prelude + +import Affjax (Error, Response, URL, defaultRequest) as Affjax +import Affjax.RequestBody (RequestBody(Json)) as Affjax +import Affjax.RequestHeader (RequestHeader(RequestHeader)) as Affjax +import Affjax.ResponseFormat (string) as Affjax.ResponseFormat +import Affjax.StatusCode (StatusCode(StatusCode)) as Affjax +import Cardano.AsCbor (encodeCbor) +import Cardano.Types (ScriptHash) +import Contract.CborBytes (cborBytesToHex) +import Ctl.Internal.Affjax (request) as Affjax +import Data.Argonaut (Json) +import Data.Bifunctor (lmap) +import Data.Codec.Argonaut (JsonCodec) as CA +import Data.Either (Either(Left, Right)) +import Data.HTTP.Method (Method(GET, POST)) +import Data.Maybe (Maybe) +import Data.Newtype (wrap) +import Effect.Aff (Aff) +import HydraAuctionOffchain.Lib.Json (caDecodeString) +import HydraAuctionOffchain.Service.Common + ( ServiceError(ServiceDecodeJsonError, ServiceHttpError, ServiceHttpResponseError) + ) + +mkAuctionCsHeader :: ScriptHash -> Affjax.RequestHeader +mkAuctionCsHeader = + Affjax.RequestHeader "Auction-Cs" + <<< cborBytesToHex + <<< encodeCbor + +getRequest :: Affjax.URL -> Aff (Either Affjax.Error (Affjax.Response String)) +getRequest url = + Affjax.request $ Affjax.defaultRequest + { method = Left GET + , url = url + , responseFormat = Affjax.ResponseFormat.string + } + +postRequest + :: { url :: Affjax.URL + , content :: Maybe Json + , headers :: Array Affjax.RequestHeader + } + -> Aff (Either Affjax.Error (Affjax.Response String)) +postRequest { url, content, headers } = + Affjax.request $ Affjax.defaultRequest + { method = Left POST + , url = url + , headers = headers + , responseFormat = Affjax.ResponseFormat.string + , content = Affjax.Json <$> content + } + +handleResponse + :: forall (a :: Type) + . CA.JsonCodec a + -> Either Affjax.Error (Affjax.Response String) + -> Either ServiceError a +handleResponse respCodec = case _ of + Left affjaxErr -> + Left $ ServiceHttpError $ wrap affjaxErr + Right { status, body } -> + case status of + Affjax.StatusCode statusCode | statusCode >= 200 && statusCode <= 299 -> + lmap (ServiceDecodeJsonError body) $ + caDecodeString respCodec body + _ -> + Left $ ServiceHttpResponseError status body diff --git a/src/Wallet.purs b/src/Wallet.purs index 9e1759c..f236aea 100644 --- a/src/Wallet.purs +++ b/src/Wallet.purs @@ -1,13 +1,12 @@ module HydraAuctionOffchain.Wallet ( SignMessageError - ( CouldNotGetWalletAddressError + ( CouldNotGetWalletPkhError , CouldNotGetSigFromCoseSign1Error + , CouldNotDecodeEd25519Signature , CouldNotDecodeCoseKeyError , CouldNotGetPubKeyFromCoseKeyError - , CouldNotGetWalletPubKeyHashError , VkPkhMismatchError , CouldNotBuildSigStructError - , CouldNotVerifySignatureError , InvalidSignatureError ) , SignMessageResult @@ -18,48 +17,56 @@ module HydraAuctionOffchain.Wallet import Prelude -import Cardano.Types (Address, Ed25519KeyHash) -import Cardano.Types.Address (getPaymentCredential) +import Cardano.AsCbor (decodeCbor) +import Cardano.Types + ( Address + , Credential(PubKeyHashCredential) + , Ed25519KeyHash + , Ed25519Signature + , PublicKey + , RawBytes + ) +import Cardano.Types.Address (getPaymentCredential, mkPaymentAddress) import Cardano.Types.Credential (asPubKeyHash) +import Cardano.Types.PublicKey (fromRawBytes, hash, toRawBytes, verify) as PublicKey +import Contract.Address (getNetworkId) import Contract.Monad (Contract) import Contract.Prim.ByteArray (ByteArray, CborBytes, byteArrayFromAscii) -import Contract.Wallet (getWalletAddress, signData) +import Contract.Wallet (getWalletAddress, ownPaymentPubKeyHashes, signData) import Control.Error.Util ((!?), (??)) import Control.Monad.Except (ExceptT, throwError) import Control.Monad.State.Trans (lift) import Ctl.Internal.FfiHelpers (MaybeFfiHelper, maybeFfiHelper) +import Data.Array (head) as Array import Data.Generic.Rep (class Generic) -import Data.Maybe (Maybe(Just), fromJust) +import Data.Maybe (Maybe(Just, Nothing), fromJust) import Data.Newtype (unwrap, wrap) import Data.Show.Generic (genericShow) import Effect (Effect) import Effect.Class (liftEffect) -import HydraAuctionOffchain.Contract.Types (VerificationKey, vkeyBytes, vkeyFromBytes) import HydraAuctionOffchain.Helpers ((!*)) import HydraAuctionOffchain.Lib.Cose (getCoseSign1Signature, mkSigStructure) -import HydraAuctionOffchain.Lib.Crypto (hashVk, verifySignature) import Partial.Unsafe (unsafePartial) foreign import data CoseKey :: Type foreign import fromBytesCoseKey :: CborBytes -> Effect CoseKey -foreign import getCoseKeyHeaderX :: MaybeFfiHelper -> CoseKey -> Maybe ByteArray +foreign import getCoseKeyHeaderX :: MaybeFfiHelper -> CoseKey -> Maybe RawBytes type SignMessageResult = - { signature :: ByteArray -- actual signature, not COSESign1 structure - , vkey :: VerificationKey + { signature :: Ed25519Signature -- actual signature, not COSESign1 structure + , vkey :: PublicKey , address :: Address , pkh :: Ed25519KeyHash } data SignMessageError - = CouldNotGetWalletAddressError + = CouldNotGetWalletPkhError | CouldNotGetSigFromCoseSign1Error + | CouldNotDecodeEd25519Signature | CouldNotDecodeCoseKeyError | CouldNotGetPubKeyFromCoseKeyError - | CouldNotGetWalletPubKeyHashError | VkPkhMismatchError | CouldNotBuildSigStructError - | CouldNotVerifySignatureError | InvalidSignatureError derive instance Generic SignMessageError _ @@ -85,28 +92,27 @@ askWalletVk' extraMessage = signMessage :: ByteArray -> ExceptT SignMessageError Contract SignMessageResult signMessage payload = do - -- Get wallet address: - address <- getWalletAddress !? CouldNotGetWalletAddressError + -- Get wallet payment public key hash: + pkh <- (map unwrap <<< Array.head <$> ownPaymentPubKeyHashes) !? CouldNotGetWalletPkhError + network <- lift getNetworkId + let address = mkPaymentAddress network (wrap $ PubKeyHashCredential pkh) Nothing -- Sign data, extract vkey and signature: { key, signature: coseSign1 } <- lift $ signData address (wrap payload) - signature <- liftEffect (getCoseSign1Signature $ unwrap coseSign1) + signatureBytes <- liftEffect (getCoseSign1Signature $ unwrap coseSign1) !* CouldNotGetSigFromCoseSign1Error + signature <- decodeCbor (wrap signatureBytes) ?? CouldNotDecodeEd25519Signature coseKey <- liftEffect (fromBytesCoseKey key) !* CouldNotDecodeCoseKeyError - vkey <- (vkeyFromBytes =<< getCoseKeyHeaderX maybeFfiHelper coseKey) + vkey <- (PublicKey.fromRawBytes =<< getCoseKeyHeaderX maybeFfiHelper coseKey) ?? CouldNotGetPubKeyFromCoseKeyError - let vkeyBytes' = vkeyBytes vkey -- Check `pkh == hash vkey`: - pkh <- (asPubKeyHash <<< unwrap =<< getPaymentCredential address) - ?? CouldNotGetWalletPubKeyHashError - when (Just pkh /= hashVk vkeyBytes') $ throwError VkPkhMismatchError + when (pkh /= PublicKey.hash vkey) $ throwError VkPkhMismatchError -- Verify signature: sigStruct <- liftEffect (mkSigStructure address payload) !* CouldNotBuildSigStructError - success <- liftEffect (verifySignature vkeyBytes' sigStruct signature) - !* CouldNotVerifySignatureError + let success = PublicKey.verify vkey (wrap sigStruct) signature unless success $ throwError InvalidSignatureError pure diff --git a/test/Contract/DelegateServer.purs b/test/Contract/DelegateServer.purs index 67e8dad..8d07b80 100644 --- a/test/Contract/DelegateServer.purs +++ b/test/Contract/DelegateServer.purs @@ -4,6 +4,7 @@ module Test.Contract.DelegateServer import Contract.Prelude +import Cardano.AsCbor (encodeCbor) import Cardano.Plutus.Types.Address (fromCardano) as Plutus.Address import Cardano.Types (BigNum) import Cardano.Types.BigNum (fromInt) as BigNum @@ -213,7 +214,7 @@ mkBidTerms auctionInfo bidAmount = do pure $ BidTerms { bidder: BidderInfo { bidderAddress, bidderVk: vkey } , price: bidAmount - , bidderSignature: signature + , bidderSignature: unwrap $ encodeCbor signature , sellerSignature } diff --git a/test/Contract/PlaceBid.purs b/test/Contract/PlaceBid.purs index 8478633..db833dd 100644 --- a/test/Contract/PlaceBid.purs +++ b/test/Contract/PlaceBid.purs @@ -6,6 +6,7 @@ module Test.Contract.PlaceBid import Contract.Prelude import Cardano.Plutus.Types.Address (toCardano) as Plutus.Address +import Cardano.Types (PublicKey) import Contract.Address (getNetworkId) import Contract.Monad (Contract, liftContractM, liftedE) import Contract.Prim.ByteArray (ByteArray) @@ -77,7 +78,7 @@ initAuction seller bidder = do pure auctionInfo -discoverSellerSignature :: AuctionInfoExtended -> Maybe VerificationKey -> Contract ByteArray +discoverSellerSignature :: AuctionInfoExtended -> Maybe PublicKey -> Contract ByteArray discoverSellerSignature (AuctionInfoExtended auctionInfo) bidderVk = do network <- getNetworkId sellerAddress <- diff --git a/test/Gen.purs b/test/Gen.purs index 6a8a4fb..c014222 100644 --- a/test/Gen.purs +++ b/test/Gen.purs @@ -10,10 +10,12 @@ import Prelude import Cardano.Plutus.Types.Address (Address) as Plutus import Cardano.Plutus.Types.Address (pubKeyHashAddress) import Cardano.Types.BigNum (fromInt) as BigNum +import Cardano.Types.PublicKey (fromRawBytes) as PublicKey import Control.Monad.Gen.Common (genMaybe) -import Data.Maybe (Maybe(Nothing)) +import Data.Maybe (Maybe(Nothing), fromJust) import Data.Newtype (wrap) -import HydraAuctionOffchain.Contract.Types (BidTerms, BidderInfo, StandingBidState) +import HydraAuctionOffchain.Contract.Types (BidTerms, BidderInfo, StandingBidState, vkeyBytes) +import Partial.Unsafe (unsafePartial) import Test.QuickCheck (arbitrary) import Test.QuickCheck.Gen (Gen, chooseInt) @@ -36,7 +38,12 @@ genBidTerms = do genBidderInfo :: Gen BidderInfo genBidderInfo = do bidderAddress <- genPubKeyHashAddress - bidderVk <- arbitrary + bidderVk <- + arbitrary <#> + unsafePartial fromJust + <<< PublicKey.fromRawBytes + <<< wrap + <<< vkeyBytes pure $ wrap { bidderAddress , bidderVk