| Copyright | (c) 2023 GYELD GMBH |
|---|---|
| License | Apache 2.0 |
| Maintainer | [email protected] |
| Stability | develop |
| Safe Haskell | None |
| Language | GHC2021 |
GeniusYield.Types.Address
Description
Synopsis
- data GYAddress
- addressToApi :: GYAddress -> AddressAny
- addressToApi' :: GYAddress -> AddressInEra ApiEra
- addressFromApi :: AddressAny -> GYAddress
- addressFromApi' :: AddressInEra era -> GYAddress
- addressToPlutus :: GYAddress -> Address
- addressFromPlutus :: GYNetworkId -> Address -> Either PlutusToCardanoError GYAddress
- addressToPaymentCredential :: GYAddress -> Maybe GYPaymentCredential
- addressToStakeCredential :: GYAddress -> Maybe GYStakeCredential
- addressFromPubKeyHash :: GYNetworkId -> GYPubKeyHash -> GYAddress
- addressFromPaymentKeyHash :: GYNetworkId -> GYPaymentKeyHash -> GYAddress
- addressFromScript :: forall (v :: PlutusVersion). GYNetworkId -> GYScript v -> GYAddress
- addressFromValidator :: forall (v :: PlutusVersion). GYNetworkId -> GYScript v -> GYAddress
- addressFromCredential :: GYNetworkId -> GYPaymentCredential -> Maybe GYStakeCredential -> GYAddress
- addressFromValidatorHash :: GYNetworkId -> GYScriptHash -> GYAddress
- addressFromScriptHash :: GYNetworkId -> GYScriptHash -> GYAddress
- addressFromSimpleScript :: GYNetworkId -> GYSimpleScript -> GYAddress
- addressToText :: GYAddress -> Text
- addressFromTextMaybe :: Text -> Maybe GYAddress
- unsafeAddressFromText :: Text -> GYAddress
- addressToPubKeyHash :: GYAddress -> Maybe GYPubKeyHash
- addressToValidatorHash :: GYAddress -> Maybe GYScriptHash
- data GYAddressBech32
- addressToBech32 :: GYAddress -> GYAddressBech32
- addressFromBech32 :: GYAddressBech32 -> GYAddress
- data GYStakeAddress
- stakeAddressFromApi :: StakeAddress -> GYStakeAddress
- stakeAddressToApi :: GYStakeAddress -> StakeAddress
- stakeAddressFromTextMaybe :: Text -> Maybe GYStakeAddress
- unsafeStakeAddressFromText :: Text -> GYStakeAddress
- stakeAddressToText :: GYStakeAddress -> Text
- stakeAddressToLedger :: GYStakeAddress -> RewardAccount
- stakeAddressFromLedger :: RewardAccount -> GYStakeAddress
- stakeAddressCredential :: GYStakeAddress -> GYStakeCredential
- stakeAddressToCredential :: GYStakeAddress -> GYStakeCredential
- stakeAddressFromCredential :: GYNetworkId -> GYStakeCredential -> GYStakeAddress
- type GYStakeKeyHashString = String
- stakeKeyFromAddress :: GYAddress -> Maybe GYStakeKeyHashString
- data GYStakeAddressBech32
- stakeAddressToBech32 :: GYStakeAddress -> GYStakeAddressBech32
- stakeAddressFromBech32 :: GYStakeAddressBech32 -> GYStakeAddress
Documentation
Addresses on the blockchain.
Instances
| FromJSON GYAddress # | In JSON context addresses are represented in hex.
| ||||
Defined in GeniusYield.Types.Address | |||||
| ToJSON GYAddress # |
| ||||
| PrintfArg GYAddress # | This instance is using for logging
| ||||
Defined in GeniusYield.Types.Address | |||||
| FromField GYAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseField :: Field -> Parser GYAddress # | |||||
| FromRecord GYAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseRecord :: Record -> Parser GYAddress # | |||||
| ToField GYAddress # |
| ||||
Defined in GeniusYield.Types.Address | |||||
| ToRecord GYAddress # |
| ||||
Defined in GeniusYield.Types.Address | |||||
| Generic GYAddress # | |||||
Defined in GeniusYield.Types.Address Associated Types
| |||||
| Show GYAddress # |
| ||||
| Eq GYAddress # | |||||
| Ord GYAddress # | |||||
| Hashable GYAddress # | |||||
Defined in GeniusYield.Types.Address | |||||
| FromHttpApiData GYAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseUrlPiece :: Text -> Either Text GYAddress # parseHeader :: ByteString -> Either Text GYAddress # | |||||
| ToHttpApiData GYAddress # | In an HTTP context, addresses are represented in hex.
| ||||
Defined in GeniusYield.Types.Address Methods toUrlPiece :: GYAddress -> Text # toEncodedUrlPiece :: GYAddress -> Builder # toHeader :: GYAddress -> ByteString # toQueryParam :: GYAddress -> Text # toEncodedQueryParam :: GYAddress -> Builder # | |||||
| ToParamSchema GYAddress # | |||||
Defined in GeniusYield.Types.Address Methods toParamSchema :: forall (t :: SwaggerKind Type). Proxy GYAddress -> ParamSchema t # | |||||
| ToSchema GYAddress # | |||||
Defined in GeniusYield.Types.Address Methods declareNamedSchema :: Proxy GYAddress -> Declare (Definitions Schema) NamedSchema # | |||||
| type Rep GYAddress # | |||||
Defined in GeniusYield.Types.Address type Rep GYAddress = D1 ('MetaData "GYAddress" "GeniusYield.Types.Address" "atlas-cardano-0.14.1-inplace" 'True) (C1 ('MetaCons "GYAddress" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AddressAny))) | |||||
addressToApi :: GYAddress -> AddressAny #
>>>addressToApi addrAddressShelley (ShelleyAddress Testnet (KeyHashObj (KeyHash {unKeyHash = "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"})) (StakeRefBase (KeyHashObj (KeyHash {unKeyHash = "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"}))))>>>addressToApi addrByron1AddressByron (ByronAddress (Address {addrRoot = 04865e42d2373addbebd5d2acf81c760c848970142889f7ee763091b, addrAttributes = Attributes { data_ = AddrAttributes {aaVKDerivationPath = Nothing, aaNetworkMagic = NetworkMainOrStage} }, addrType = ATVerKey}))>>>addressToApi addrByron2AddressByron (ByronAddress (Address {addrRoot = 3f04ff82d3008d3a4f3d2be7d66141dcbcbda74d6a805e463895b72a, addrAttributes = Attributes { data_ = AddrAttributes {aaVKDerivationPath = Just (HDAddressPayload {getHDAddressPayload = "\251C\"a\SUB\209\210M\245S\200S\144\160\190\237y[s\176\148\n3!\DLE\147\141\168"}), aaNetworkMagic = NetworkMainOrStage} }, addrType = ATVerKey}))
addressFromApi :: AddressAny -> GYAddress #
addressFromApi' :: AddressInEra era -> GYAddress #
addressToPlutus :: GYAddress -> Address #
>>>addressToPlutus addrAddress {addressCredential = PubKeyCredential e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d, addressStakingCredential = Just (StakingHash (PubKeyCredential 1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616))}
addressFromPlutus :: GYNetworkId -> Address -> Either PlutusToCardanoError GYAddress #
Used to inject wallet pubkeyhashes into addresses.
>>>import GeniusYield.Types.NetworkId
>>>addressFromPlutus GYTestnetPreprod $ addressToPlutus addrRight (unsafeAddressFromText "addr_test1qrsuhwqdhz0zjgnf46unas27h93amfghddnff8lpc2n28rgmjv8f77ka0zshfgssqr5cnl64zdnde5f8q2xt923e7ctqu49mg5")
addressToPaymentCredential :: GYAddress -> Maybe GYPaymentCredential #
If an address is a shelley address, then we'll return payment credential wrapped in Just, Nothing otherwise.
>>>addressToPaymentCredential addrJust (GYCredentialByKey (GYKeyHash (GYKeyRolePayment) "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"))>>>addressToPaymentCredential addrScriptJust (GYCredentialByScript (GYScriptHash "178155803bc461c5b0b371c779cb481ec7420df0c619cd9860e570d2"))>>>addressToPaymentCredential addrByron1Nothing>>>addressToPaymentCredential addrByron2Nothing
addressToStakeCredential :: GYAddress -> Maybe GYStakeCredential #
If an address is a shelley address, then we'll return stake credential, if present, wrapped in Just and Nothing otherwise.
>>>addressToStakeCredential addrJust (GYCredentialByKey (GYKeyHash (GYKeyRoleStaking) "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"))>>>addressToStakeCredential addrScriptNothing>>>addressToStakeCredential addrByron1Nothing>>>addressToStakeCredential addrByron2Nothing
addressFromPubKeyHash :: GYNetworkId -> GYPubKeyHash -> GYAddress #
Deprecated: Use addressFromPaymentKeyHash.
Create address from GYPubKeyHash.
note: no stake credential.
addressFromPaymentKeyHash :: GYNetworkId -> GYPaymentKeyHash -> GYAddress #
Create address from GYPaymentKeyHash.
note: no stake credential.
addressFromScript :: forall (v :: PlutusVersion). GYNetworkId -> GYScript v -> GYAddress #
Create address from GYScript.
note: no stake credential.
addressFromValidator :: forall (v :: PlutusVersion). GYNetworkId -> GYScript v -> GYAddress #
Create address from GYScript.
note: no stake credential.
addressFromCredential :: GYNetworkId -> GYPaymentCredential -> Maybe GYStakeCredential -> GYAddress #
Create an address from payment & optionally, a stake credential.
addressFromValidatorHash :: GYNetworkId -> GYScriptHash -> GYAddress #
Create address from GYScriptHash.
note: no stake credential.
addressFromScriptHash :: GYNetworkId -> GYScriptHash -> GYAddress #
Create address from GYScriptHash.
addressFromSimpleScript :: GYNetworkId -> GYSimpleScript -> GYAddress #
Create address from GYSimpleScript.
addressToText :: GYAddress -> Text #
addressFromTextMaybe :: Text -> Maybe GYAddress #
unsafeAddressFromText :: Text -> GYAddress #
newtype wrapper
data GYAddressBech32 #
GYAddressBech32 which uses "bech32" format
>>>Web.toUrlPiece $ addressToBech32 addr"addr_test1qrsuhwqdhz0zjgnf46unas27h93amfghddnff8lpc2n28rgmjv8f77ka0zshfgssqr5cnl64zdnde5f8q2xt923e7ctqu49mg5"
Instances
Stake address.
data GYStakeAddress #
Stake Address.
Instances
| FromJSON GYStakeAddress # | In JSON context, stake addresses are represented in hex.
| ||||
Defined in GeniusYield.Types.Address Methods parseJSON :: Value -> Parser GYStakeAddress # parseJSONList :: Value -> Parser [GYStakeAddress] # | |||||
| ToJSON GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods toJSON :: GYStakeAddress -> Value # toEncoding :: GYStakeAddress -> Encoding # toJSONList :: [GYStakeAddress] -> Value # toEncodingList :: [GYStakeAddress] -> Encoding # omitField :: GYStakeAddress -> Bool # | |||||
| PrintfArg GYStakeAddress # | This instance is using for logging
| ||||
Defined in GeniusYield.Types.Address Methods | |||||
| FromField GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseField :: Field -> Parser GYStakeAddress # | |||||
| FromRecord GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseRecord :: Record -> Parser GYStakeAddress # | |||||
| ToField GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods toField :: GYStakeAddress -> Field # | |||||
| ToRecord GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods toRecord :: GYStakeAddress -> Record # | |||||
| Generic GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Associated Types
Methods from :: GYStakeAddress -> Rep GYStakeAddress x # to :: Rep GYStakeAddress x -> GYStakeAddress # | |||||
| Show GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Methods showsPrec :: Int -> GYStakeAddress -> ShowS # show :: GYStakeAddress -> String # showList :: [GYStakeAddress] -> ShowS # | |||||
| Eq GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Methods (==) :: GYStakeAddress -> GYStakeAddress -> Bool # (/=) :: GYStakeAddress -> GYStakeAddress -> Bool # | |||||
| Ord GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Methods compare :: GYStakeAddress -> GYStakeAddress -> Ordering # (<) :: GYStakeAddress -> GYStakeAddress -> Bool # (<=) :: GYStakeAddress -> GYStakeAddress -> Bool # (>) :: GYStakeAddress -> GYStakeAddress -> Bool # (>=) :: GYStakeAddress -> GYStakeAddress -> Bool # max :: GYStakeAddress -> GYStakeAddress -> GYStakeAddress # min :: GYStakeAddress -> GYStakeAddress -> GYStakeAddress # | |||||
| Hashable GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address | |||||
| FromHttpApiData GYStakeAddress # |
| ||||
Defined in GeniusYield.Types.Address Methods parseUrlPiece :: Text -> Either Text GYStakeAddress # parseHeader :: ByteString -> Either Text GYStakeAddress # parseQueryParam :: Text -> Either Text GYStakeAddress # | |||||
| ToHttpApiData GYStakeAddress # | In an HTTP context, stake addresses are represented in hex.
| ||||
Defined in GeniusYield.Types.Address Methods toUrlPiece :: GYStakeAddress -> Text # toEncodedUrlPiece :: GYStakeAddress -> Builder # toHeader :: GYStakeAddress -> ByteString # toQueryParam :: GYStakeAddress -> Text # | |||||
| ToParamSchema GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Methods toParamSchema :: forall (t :: SwaggerKind Type). Proxy GYStakeAddress -> ParamSchema t # | |||||
| ToSchema GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address Methods declareNamedSchema :: Proxy GYStakeAddress -> Declare (Definitions Schema) NamedSchema # | |||||
| type Rep GYStakeAddress # | |||||
Defined in GeniusYield.Types.Address type Rep GYStakeAddress = D1 ('MetaData "GYStakeAddress" "GeniusYield.Types.Address" "atlas-cardano-0.14.1-inplace" 'True) (C1 ('MetaCons "GYStakeAddress" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StakeAddress))) | |||||
stakeAddressFromApi :: StakeAddress -> GYStakeAddress #
Get GY type from corresponding type in cardano-api library.
stakeAddressToApi :: GYStakeAddress -> StakeAddress #
Convert GY type to corresponding type in cardano-api library.
stakeAddressFromTextMaybe :: Text -> Maybe GYStakeAddress #
Obtain GYStakeAddress from bech32 encoding of stake address.
>>>stakeAddressFromTextMaybe "stake_test1upa805fqh85x4hw88zxmhvdaydgyjzmazs9tydqrscerxnghfq4t3"Just (unsafeStakeAddressFromText "stake_test1upa805fqh85x4hw88zxmhvdaydgyjzmazs9tydqrscerxnghfq4t3")>>>stakeAddressFromTextMaybe "e07a77d120b9e86addc7388dbbb1bd2350490b7d140ab234038632334d"Nothing
unsafeStakeAddressFromText :: Text -> GYStakeAddress #
Like stakeAddressFromTextMaybe but errors on Nothing case.
stakeAddressToText :: GYStakeAddress -> Text #
Serialises GYStakeAddress to it's bech32 representation.
>>>stakeAddressToText stakeAddr"stake_test1upa805fqh85x4hw88zxmhvdaydgyjzmazs9tydqrscerxnghfq4t3"
stakeAddressCredential :: GYStakeAddress -> GYStakeCredential #
Deprecated: Use stakeAddressToCredential.
Get a stake credential from a stake address. This drops the network information.
stakeAddressToCredential :: GYStakeAddress -> GYStakeCredential #
Get a stake credential from a stake address. This drops the network information.
stakeAddressFromCredential :: GYNetworkId -> GYStakeCredential -> GYStakeAddress #
Get a stake address from a stake credential. This also requires network information.
>>>stakeAddr == stakeAddressFromCredential GYTestnetPreprod (stakeAddressToCredential stakeAddr)True
type GYStakeKeyHashString = String #
stakeKeyFromAddress :: GYAddress -> Maybe GYStakeKeyHashString #
>>>stakeKeyFromAddress addrJust "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"
newtype wrapper
data GYStakeAddressBech32 #
GYStakeAddressBech32 which uses "bech32" format
>>>Web.toUrlPiece $ stakeAddressToBech32 stakeAddr"stake_test1upa805fqh85x4hw88zxmhvdaydgyjzmazs9tydqrscerxnghfq4t3"