Module
Network.Ethereum.Web3.Solidity.Generic
- Package
- purescript-web3
- Repository
- f-o-a-m/purescript-web3
#GenericABIEncode Source
class GenericABIEncode a where
A class for encoding generically composed datatypes to their abi encoding
Members
genericToDataBuilder :: a -> HexString
Instances
(ABIData a) => GenericABIEncode (Constructor name a)
#GenericABIDecode Source
class GenericABIDecode a where
A class for decoding generically composed datatypes from their abi encoding
Members
Instances
(EncodingType a, ABIDecode a) => GenericABIDecode (Argument a)
GenericABIDecode NoArguments
(EncodingType b, ABIDecode b, GenericABIDecode a) => GenericABIDecode (Product (Argument b) a)
(GenericABIDecode a) => GenericABIDecode (Constructor name a)
#ABIData Source
class ABIData a where
An internally used class for encoding
Members
_serialize :: Array EncodedValue -> a -> Array EncodedValue
Instances
ABIData NoArguments
(EncodingType b, ABIEncode b) => ABIData (Argument b)
(EncodingType b, ABIEncode b, ABIData a) => ABIData (Product (Argument b) a)
#genericABIEncode Source
genericABIEncode :: forall rep a. Generic a rep => GenericABIEncode rep => a -> HexString
Encode a generic type into its abi encoding, works only for types of the form
Constructor name (Product (Argument a1) (Product ... (Argument an)))
#genericABIDecode Source
genericABIDecode :: forall rep a. Generic a rep => GenericABIDecode rep => Parser String a
Encode a generic type into its abi encoding, works only for types of the form
Constructor name (Product (Argument a1) (Product ... (Argument an)))
#genericFromData Source
genericFromData :: forall rep a. Generic a rep => GenericABIDecode rep => HexString -> Either ParseError a
#ToRecordFields Source
class ToRecordFields args fields (rowList :: RowList) | args -> rowList, rowList -> args fields where
Members
toRecordFields :: RLProxy rowList -> args -> Record fields
Instances
(IsSymbol s, RowCons s a () r, RowLacks s ()) => ToRecordFields (Argument (Tagged (SProxy s) a)) r (Cons s a Nil)
ToRecordFields NoArguments () Nil
(ToRecordFields as r1 (Cons ls la ll), RowCons s a r1 r2, RowLacks s r1, IsSymbol s, ListToRow (Cons ls la ll) r1) => ToRecordFields (Product (Argument (Tagged (SProxy s) a)) as) r2 (Cons s a (Cons ls la ll))
#genericToRecordFields Source
genericToRecordFields :: forall name a l fields args. ToRecordFields args fields l => Generic a (Constructor name args) => ArgsToRowListProxy args l => ListToRow l fields => a -> Record fields
#ArgsToRowListProxy Source
class ArgsToRowListProxy args (l :: RowList) | args -> l, l -> args where
Members
argsToRowListProxy :: Proxy args -> RLProxy l
Instances
ArgsToRowListProxy NoArguments Nil
ArgsToRowListProxy (Argument (Tagged (SProxy s) a)) (Cons s a Nil)
(ArgsToRowListProxy as l) => ArgsToRowListProxy (Product (Argument (Tagged (SProxy s) a)) as) (Cons s a l)
- Modules
- Network.
Ethereum. Web3 - Network.
Ethereum. Web3. Api - Network.
Ethereum. Web3. Contract - Network.
Ethereum. Web3. Contract. Internal - Network.
Ethereum. Web3. JsonRPC - Network.
Ethereum. Web3. Solidity - Network.
Ethereum. Web3. Solidity. AbiEncoding - Network.
Ethereum. Web3. Solidity. Bytes - Network.
Ethereum. Web3. Solidity. EncodingType - Network.
Ethereum. Web3. Solidity. Event - Network.
Ethereum. Web3. Solidity. Generic - Network.
Ethereum. Web3. Solidity. Int - Network.
Ethereum. Web3. Solidity. Size - Network.
Ethereum. Web3. Solidity. Tuple - Network.
Ethereum. Web3. Solidity. UInt - Network.
Ethereum. Web3. Solidity. Vector - Network.
Ethereum. Web3. Types - Network.
Ethereum. Web3. Types. BigNumber - Network.
Ethereum. Web3. Types. EtherUnit - Network.
Ethereum. Web3. Types. Provider - Network.
Ethereum. Web3. Types. Sha3 - Network.
Ethereum. Web3. Types. Types - Network.
Ethereum. Web3. Types. Utils