Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions plutus-ledger-api/plutus-ledger-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ library
PlutusLedgerApi.Data.V1
PlutusLedgerApi.Data.V2
PlutusLedgerApi.Data.V3
PlutusLedgerApi.Data.V4
PlutusLedgerApi.Envelope
PlutusLedgerApi.MachineParameters
PlutusLedgerApi.V1
Expand Down Expand Up @@ -97,6 +98,9 @@ library
PlutusLedgerApi.V3.MintValue
PlutusLedgerApi.V3.ParamName
PlutusLedgerApi.V3.Tx
PlutusLedgerApi.V4
PlutusLedgerApi.V4.Contexts
PlutusLedgerApi.V4.Data.Contexts

other-modules:
PlutusLedgerApi.Common.Eval
Expand Down
298 changes: 298 additions & 0 deletions plutus-ledger-api/src/PlutusLedgerApi/Data/V4.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,298 @@
{-# LANGUAGE PatternSynonyms #-}

-- | The data-backed type interface to Plutus V4 for the ledger.
module PlutusLedgerApi.Data.V4
( -- * Accounts
Contexts.AccountId (..)
, Contexts.AccountBalanceInterval
, pattern Contexts.AccountBalanceLowerBound
, pattern Contexts.AccountBalanceUpperBound
, pattern Contexts.AccountBalanceBothBounds
, Contexts.AccountBalanceIntervals (..)

-- * Governance
, Contexts.ColdCommitteeCredential (..)
, Contexts.HotCommitteeCredential (..)
, Contexts.DRepCredential (..)
, Contexts.DRep
, pattern Contexts.DRep
, pattern Contexts.DRepAlwaysAbstain
, pattern Contexts.DRepAlwaysNoConfidence
, Contexts.Delegatee
, pattern Contexts.DelegStake
, pattern Contexts.DelegVote
, pattern Contexts.DelegStakeVote
, Contexts.TxCert
, pattern Contexts.TxCertRegAccount
, pattern Contexts.TxCertUnRegAccount
, pattern Contexts.TxCertDelegAccount
, pattern Contexts.TxCertRegAccountDeleg
, pattern Contexts.TxCertRegDRep
, pattern Contexts.TxCertUpdateDRep
, pattern Contexts.TxCertUnRegDRep
, pattern Contexts.TxCertPoolRegister
, pattern Contexts.TxCertPoolRetire
, pattern Contexts.TxCertAuthHotCommittee
, pattern Contexts.TxCertResignColdCommittee
, Contexts.Voter
, pattern Contexts.CommitteeVoter
, pattern Contexts.DRepVoter
, pattern Contexts.StakePoolVoter
, Contexts.Vote
, pattern Contexts.VoteNo
, pattern Contexts.VoteYes
, pattern Contexts.Abstain
, Contexts.GovernanceActionId
, pattern Contexts.GovernanceActionId
, Contexts.gaidTxId
, Contexts.gaidGovActionIx
, Contexts.Committee
, pattern Contexts.Committee
, Contexts.committeeMembers
, Contexts.committeeQuorum
, Contexts.Constitution (..)
, Contexts.ProtocolVersion
, pattern Contexts.ProtocolVersion
, Contexts.pvMajor
, Contexts.pvMinor
, Contexts.GovernanceAction
, pattern Contexts.ParameterChange
, pattern Contexts.HardForkInitiation
, pattern Contexts.TreasuryWithdrawals
, pattern Contexts.NoConfidence
, pattern Contexts.UpdateCommittee
, pattern Contexts.NewConstitution
, pattern Contexts.InfoAction
, Contexts.ChangedParameters (..)
, Contexts.ProposalProcedure
, pattern Contexts.ProposalProcedure
, Contexts.ppDeposit
, Contexts.ppReturnAddr
, Contexts.ppGovernanceAction

-- * Context types
, Contexts.ScriptContext
, pattern Contexts.ScriptContext
, Contexts.scriptContextTxInfo
, Contexts.scriptContextRedeemer
, Contexts.scriptContextScriptInfo
, Contexts.scriptContextScriptHash
, Contexts.ScriptPurpose
, pattern Contexts.Minting
, pattern Contexts.Spending
, pattern Contexts.Withdrawing
, pattern Contexts.Certifying
, pattern Contexts.Voting
, pattern Contexts.Proposing
, pattern Contexts.Guarding
, Contexts.ScriptInfo
, pattern Contexts.MintingScript
, pattern Contexts.SpendingScript
, pattern Contexts.WithdrawingScript
, pattern Contexts.CertifyingScript
, pattern Contexts.VotingScript
, pattern Contexts.ProposingScript
, pattern Contexts.GuardingScript
, Contexts.TopTxInfo
, pattern Contexts.TopTxInfo
, Contexts.topTxInfoSubTransactions
, Contexts.topTxInfoDatums
, Contexts.topTxInfoStartingBalanceIntervals
, Contexts.topTxInfoSimplified
, Contexts.TopTxInfoSimplified
, pattern Contexts.TopTxInfoSimplified
, Contexts.ttisIds
, Contexts.ttisInputs
, Contexts.ttisReferenceInputs
, Contexts.ttisOutputs
, Contexts.ttisMints
, Contexts.ttisBurns
, Contexts.ttisTxCerts
, Contexts.ttisWithdrawals
, Contexts.ttisDirectDeposits
, Contexts.ttisValidRange
, Contexts.ttisGuards
, Contexts.ttisRequiredTopLevelGuards
, Contexts.ttisScriptPurposes
, Contexts.ttisData
, Contexts.ttisVotes
, Contexts.ttisProposalProcedures
, Contexts.ttisCurrentTreasuryAmount
, Contexts.ttisTreasuryDonations

-- ** Supporting types used in the context types

-- *** Builtins
, Common.BuiltinByteString
, Common.toBuiltin
, Common.fromBuiltin
, Common.toOpaque
, Common.fromOpaque

-- *** Bytes
, V2.LedgerBytes (..)
, V2.fromBytes

-- *** Credentials
, V2.StakingCredential
, pattern V2.StakingHash
, pattern V2.StakingPtr
, V2.Credential
, pattern V2.PubKeyCredential
, pattern V2.ScriptCredential

-- *** Value
, V2.Value (..)
, V2.CurrencySymbol (..)
, V2.TokenName (..)
, V2.singleton
, V2.unionWith
, V2.adaSymbol
, V2.adaToken
, V2.Lovelace (..)
, V2.AssetClass (..)
, V2.assetClass
, V2.assetClassValue
, V2.assetClassValueOf
, V2.currencySymbol
, V2.currencySymbolValueOf
, V2.flattenValue
, V2.geq
, V2.gt
, V2.isZero
, V2.leq
, V2.lovelaceValue
, V2.lovelaceValueOf
, V2.lt
, V2.scale
, V2.split
, V2.symbols
, V2.tokenName
, V2.unsafeLovelaceValueOf
, V2.valueOf
, V2.withCurrencySymbol

-- *** Mint Value
, MintValue.MintValue
, MintValue.emptyMintValue
, MintValue.mintValueToMap
, MintValue.mintValueMinted
, MintValue.mintValueBurned

-- *** Time
, V2.POSIXTime (..)
, V2.POSIXTimeRange

-- *** Types for representing transactions
, V2.Address
, pattern V2.Address
, V2.addressCredential
, V2.addressStakingCredential
, V2.PubKeyHash (..)
, Tx.TxId (..)
, Contexts.TxInfo
, pattern Contexts.TxInfo
, Contexts.txInfoId
, Contexts.txInfoSubTxIx
, Contexts.txInfoInputs
, Contexts.txInfoReferenceInputs
, Contexts.txInfoOutputs
, Contexts.txInfoFee
, Contexts.txInfoMint
, Contexts.txInfoTxCerts
, Contexts.txInfoWithdrawals
, Contexts.txInfoDirectDeposits
, Contexts.txInfoAccountBalanceIntervals
, Contexts.txInfoValidRange
, Contexts.txInfoGuards
, Contexts.txInfoRequiredTopLevelGuards
, Contexts.txInfoRedeemers
, Contexts.txInfoData
, Contexts.txInfoVotes
, Contexts.txInfoProposalProcedures
, Contexts.txInfoCurrentTreasuryAmount
, Contexts.txInfoTreasuryDonation
, V2.TxOut
, pattern V2.TxOut
, V2.txOutAddress
, V2.txOutValue
, V2.txOutDatum
, V2.txOutReferenceScript
, Tx.TxOutRef
, pattern Tx.TxOutRef
, Tx.txOutRefId
, Tx.txOutRefIdx
, Contexts.TxInInfo
, pattern Contexts.TxInInfo
, Contexts.txInInfoOutRef
, Contexts.txInInfoResolved
, V2.OutputDatum
, pattern V2.NoOutputDatum
, pattern V2.OutputDatum
, pattern V2.OutputDatumHash

-- *** Intervals
, V2.Interval
, pattern V2.Interval
, V2.ivFrom
, V2.ivTo
, V2.Extended
, pattern V2.NegInf
, pattern V2.PosInf
, pattern V2.Finite
, V2.Closure
, V2.UpperBound
, pattern V2.UpperBound
, V2.LowerBound
, pattern V2.LowerBound
, V2.always
, V2.from
, V2.to
, V2.lowerBound
, V2.upperBound
, V2.strictLowerBound
, V2.strictUpperBound
, V2.inclusiveLowerBound
, V2.inclusiveUpperBound

-- *** Ratio
, Ratio.Rational
, Ratio.ratio
, Ratio.unsafeRatio
, Ratio.numerator
, Ratio.denominator
, Ratio.fromHaskellRatio
, Ratio.toHaskellRatio
, Ratio.fromGHC
, Ratio.toGHC

-- *** Association maps
, V2.Map
, V2.unsafeFromSOPList

-- *** Newtypes and hash types
, V2.ScriptHash (..)
, V2.Redeemer (..)
, V2.RedeemerHash (..)
, V2.Datum (..)
, V2.DatumHash (..)

-- * Data
, V2.Data (..)
, V2.BuiltinData (..)
, V2.ToData (..)
, V2.FromData (..)
, V2.UnsafeFromData (..)
, V2.toData
, V2.fromData
, V2.unsafeFromData
, V2.dataToBuiltinData
, V2.builtinDataToData
) where

import PlutusLedgerApi.Common qualified as Common
import PlutusLedgerApi.Data.V2 qualified as V2
import PlutusLedgerApi.V3.Data.MintValue qualified as MintValue
import PlutusLedgerApi.V3.Data.Tx qualified as Tx
import PlutusLedgerApi.V4.Data.Contexts qualified as Contexts
import PlutusTx.Ratio qualified as Ratio
Loading
Loading