Copyright | (c) 2023 GYELD GMBH |
---|---|
License | Apache 2.0 |
Maintainer | [email protected] |
Stability | develop |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
GeniusYield.Types.Address
Contents
Description
Synopsis
- data GYAddress
- addressToApi ∷ GYAddress → AddressAny
- addressToApi' ∷ GYAddress → AddressInEra BabbageEra
- 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
- addressFromValidator ∷ GYNetworkId → GYValidator v → GYAddress
- addressFromCredential ∷ GYNetworkId → GYPaymentCredential → Maybe GYStakeCredential → GYAddress
- addressFromValidatorHash ∷ GYNetworkId → GYValidatorHash → GYAddress
- addressToText ∷ GYAddress → Text
- addressFromTextMaybe ∷ Text → Maybe GYAddress
- unsafeAddressFromText ∷ Text → GYAddress
- addressToPubKeyHash ∷ GYAddress → Maybe GYPubKeyHash
- addressToValidatorHash ∷ GYAddress → Maybe GYValidatorHash
- 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
- stakeAddressCredential ∷ GYStakeAddress → GYStakeCredential
- type GYStakeKeyHashString = String
- stakeKeyFromAddress ∷ GYAddress → Maybe GYStakeKeyHashString
Documentation
Addresses on the blockchain.
Instances
FromJSON GYAddress # | In JSON context addresses are represented in hex.
|
ToJSON GYAddress # |
|
Generic GYAddress # | |
Show GYAddress # |
|
PrintfArg GYAddress # | This instance is using for logging
|
Defined in GeniusYield.Types.Address Methods | |
FromField GYAddress # |
|
Defined in GeniusYield.Types.Address | |
FromRecord GYAddress # |
|
Defined in GeniusYield.Types.Address | |
ToField GYAddress # |
|
ToRecord GYAddress # |
|
Eq GYAddress # | |
Ord GYAddress # | |
Defined in GeniusYield.Types.Address | |
Hashable GYAddress # | |
FromHttpApiData GYAddress # |
|
Defined in GeniusYield.Types.Address | |
ToHttpApiData GYAddress # | In an HTTP context, addresses are represented in hex.
|
Defined in GeniusYield.Types.Address Methods toUrlPiece ∷ GYAddress → Text Source # toEncodedUrlPiece ∷ GYAddress → Builder Source # toHeader ∷ GYAddress → ByteString Source # toQueryParam ∷ GYAddress → Text Source # | |
ToParamSchema GYAddress # | |
Defined in GeniusYield.Types.Address Methods toParamSchema ∷ ∀ (t ∷ SwaggerKind Type). Proxy GYAddress → ParamSchema t Source # | |
ToSchema GYAddress # | |
Defined in GeniusYield.Types.Address Methods declareNamedSchema ∷ Proxy GYAddress → Declare (Definitions Schema) NamedSchema Source # | |
type Rep GYAddress # | |
Defined in GeniusYield.Types.Address type Rep GYAddress = D1 ('MetaData "GYAddress" "GeniusYield.Types.Address" "atlas-cardano-0.3.0-inplace" 'True) (C1 ('MetaCons "GYAddress" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AddressAny))) |
addressToApi ∷ GYAddress → AddressAny #
>>>
addressToApi addr
AddressShelley (ShelleyAddress Testnet (KeyHashObj (KeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")) (StakeRefBase (KeyHashObj (KeyHash "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"))))>>>
addressToApi addrByron1
AddressByron (ByronAddress (Address {addrRoot = 04865e42d2373addbebd5d2acf81c760c848970142889f7ee763091b, addrAttributes = Attributes { data_ = AddrAttributes {aaVKDerivationPath = Nothing, aaNetworkMagic = NetworkMainOrStage} }, addrType = ATVerKey}))>>>
addressToApi addrByron2
AddressByron (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' ∷ AddressInEra era → GYAddress #
addressToPlutus ∷ GYAddress → Address #
>>>
addressToPlutus addr
Address {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 addr
Right (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 addr
Just (GYPaymentCredentialByKey (GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"))>>>
addressToPaymentCredential addrScript
Just (GYPaymentCredentialByScript (GYValidatorHash "178155803bc461c5b0b371c779cb481ec7420df0c619cd9860e570d2"))>>>
addressToPaymentCredential addrByron1
Nothing>>>
addressToPaymentCredential addrByron2
Nothing
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 addr
Just (GYStakeCredentialByKey (GYStakeKeyHash "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"))>>>
addressToStakeCredential addrScript
Nothing>>>
addressToStakeCredential addrByron1
Nothing>>>
addressToStakeCredential addrByron2
Nothing
addressFromPubKeyHash ∷ GYNetworkId → GYPubKeyHash → GYAddress #
Create address from GYPubKeyHash
.
note: no stake credential.
addressFromValidator ∷ GYNetworkId → GYValidator v → GYAddress #
Create address from GYValidator
.
note: no stake credential.
addressFromCredential ∷ GYNetworkId → GYPaymentCredential → Maybe GYStakeCredential → GYAddress #
Create an address from payment & optionally, a stake credential.
addressFromValidatorHash ∷ GYNetworkId → GYValidatorHash → GYAddress #
Create address from GYValidatorHash
.
note: no stake credential.
addressToText ∷ GYAddress → Text #
newtype wrapper
data GYAddressBech32 #
GYAddress
which uses "serialized" 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 | |
ToJSON GYStakeAddress # |
|
Defined in GeniusYield.Types.Address Methods toJSON ∷ GYStakeAddress → Value Source # toEncoding ∷ GYStakeAddress → Encoding Source # toJSONList ∷ [GYStakeAddress] → Value Source # | |
Generic GYStakeAddress # | |
Defined in GeniusYield.Types.Address Methods from ∷ GYStakeAddress → Rep GYStakeAddress x Source # to ∷ Rep GYStakeAddress x → GYStakeAddress Source # | |
Show GYStakeAddress # | |
Defined in GeniusYield.Types.Address | |
FromField GYStakeAddress # |
|
Defined in GeniusYield.Types.Address Methods | |
FromRecord GYStakeAddress # |
|
Defined in GeniusYield.Types.Address Methods | |
ToField GYStakeAddress # |
|
Defined in GeniusYield.Types.Address Methods | |
ToRecord GYStakeAddress # |
|
Defined in GeniusYield.Types.Address Methods | |
Eq GYStakeAddress # | |
Defined in GeniusYield.Types.Address Methods (==) ∷ GYStakeAddress → GYStakeAddress → Bool Source # (/=) ∷ GYStakeAddress → GYStakeAddress → Bool Source # | |
Ord GYStakeAddress # | |
Defined in GeniusYield.Types.Address Methods compare ∷ GYStakeAddress → GYStakeAddress → Ordering Source # (<) ∷ GYStakeAddress → GYStakeAddress → Bool Source # (<=) ∷ GYStakeAddress → GYStakeAddress → Bool Source # (>) ∷ GYStakeAddress → GYStakeAddress → Bool Source # (>=) ∷ GYStakeAddress → GYStakeAddress → Bool Source # max ∷ GYStakeAddress → GYStakeAddress → GYStakeAddress Source # min ∷ GYStakeAddress → GYStakeAddress → GYStakeAddress Source # | |
Hashable GYStakeAddress # | |
Defined in GeniusYield.Types.Address | |
FromHttpApiData GYStakeAddress # |
|
Defined in GeniusYield.Types.Address | |
ToHttpApiData GYStakeAddress # | In an HTTP context, stake addresses are represented in hex.
|
Defined in GeniusYield.Types.Address Methods toUrlPiece ∷ GYStakeAddress → Text Source # toEncodedUrlPiece ∷ GYStakeAddress → Builder Source # | |
ToParamSchema GYStakeAddress # | |
Defined in GeniusYield.Types.Address Methods toParamSchema ∷ ∀ (t ∷ SwaggerKind Type). Proxy GYStakeAddress → ParamSchema t Source # | |
ToSchema GYStakeAddress # | |
Defined in GeniusYield.Types.Address Methods declareNamedSchema ∷ Proxy GYStakeAddress → Declare (Definitions Schema) NamedSchema Source # | |
type Rep GYStakeAddress # | |
Defined in GeniusYield.Types.Address type Rep GYStakeAddress = D1 ('MetaData "GYStakeAddress" "GeniusYield.Types.Address" "atlas-cardano-0.3.0-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 #
Get a stake credential from a stake address. This drops the network information.
type GYStakeKeyHashString = String #
stakeKeyFromAddress ∷ GYAddress → Maybe GYStakeKeyHashString #
>>>
stakeKeyFromAddress addr
Just "1b930e9f7add78a174a21000e989ff551366dcd127028cb2aa39f616"