web3-solidity-1.0.0.0: Solidity language for Haskell Web3 library.
CopyrightAleksandr Krupenkin 2016-2021
LicenseApache-2.0
Maintainermail@akru.me
Stabilityexperimental
Portabilitynoportable
Safe HaskellNone
LanguageHaskell2010

Data.Solidity.Prim.List

Description

Ethereum Abi dynamic and static size vectors based on linked lists.

Synopsis

Fixed size linked list

data ListN (n :: Nat) a #

A Typed-level sized List equivalent to [a]

Instances

Instances details
(NatWithinBound Int n, KnownNat n) => IsList (ListN n a) Source # 
Instance details

Defined in Data.Solidity.Prim.List

Associated Types

type Item (ListN n a) #

Methods

fromList :: [Item (ListN n a)] -> ListN n a #

fromListN :: Int -> [Item (ListN n a)] -> ListN n a #

toList :: ListN n a -> [Item (ListN n a)] #

Eq a => Eq (ListN n a) 
Instance details

Defined in Basement.Sized.List

Methods

(==) :: ListN n a -> ListN n a -> Bool #

(/=) :: ListN n a -> ListN n a -> Bool #

Ord a => Ord (ListN n a) 
Instance details

Defined in Basement.Sized.List

Methods

compare :: ListN n a -> ListN n a -> Ordering #

(<) :: ListN n a -> ListN n a -> Bool #

(<=) :: ListN n a -> ListN n a -> Bool #

(>) :: ListN n a -> ListN n a -> Bool #

(>=) :: ListN n a -> ListN n a -> Bool #

max :: ListN n a -> ListN n a -> ListN n a #

min :: ListN n a -> ListN n a -> ListN n a #

Show a => Show (ListN n a) 
Instance details

Defined in Basement.Sized.List

Methods

showsPrec :: Int -> ListN n a -> ShowS #

show :: ListN n a -> String #

showList :: [ListN n a] -> ShowS #

Generic (ListN n a) 
Instance details

Defined in Basement.Sized.List

Associated Types

type Rep (ListN n a) :: Type -> Type #

Methods

from :: ListN n a -> Rep (ListN n a) x #

to :: Rep (ListN n a) x -> ListN n a #

NormalForm a => NormalForm (ListN n a) 
Instance details

Defined in Basement.Sized.List

Methods

toNormalForm :: ListN n a -> () #

(NatWithinBound Int n, KnownNat n, AbiGet a) => AbiGet (ListN n a) Source # 
Instance details

Defined in Data.Solidity.Prim.List

Methods

abiGet :: Get (ListN n a) Source #

AbiPut a => AbiPut (ListN n a) Source # 
Instance details

Defined in Data.Solidity.Prim.List

Methods

abiPut :: Putter (ListN n a) Source #

AbiType (ListN n a) Source # 
Instance details

Defined in Data.Solidity.Prim.List

Methods

isDynamic :: Proxy (ListN n a) -> Bool Source #

type Rep (ListN n a) 
Instance details

Defined in Basement.Sized.List

type Rep (ListN n a) = D1 ('MetaData "ListN" "Basement.Sized.List" "basement-0.0.12-5npdMLTFbggC6Tq5xCCXFT" 'True) (C1 ('MetaCons "ListN" 'PrefixI 'True) (S1 ('MetaSel ('Just "unListN") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))
type Item (ListN n a) Source # 
Instance details

Defined in Data.Solidity.Prim.List

type Item (ListN n a) = a

Orphan instances

AbiGet a => AbiGet [a] Source # 
Instance details

Methods

abiGet :: Get [a] Source #

AbiPut a => AbiPut [a] Source # 
Instance details

Methods

abiPut :: Putter [a] Source #

AbiType [a] Source # 
Instance details

Methods

isDynamic :: Proxy [a] -> Bool Source #

(NatWithinBound Int n, KnownNat n) => IsList (ListN n a) Source # 
Instance details

Associated Types

type Item (ListN n a) #

Methods

fromList :: [Item (ListN n a)] -> ListN n a #

fromListN :: Int -> [Item (ListN n a)] -> ListN n a #

toList :: ListN n a -> [Item (ListN n a)] #

(NatWithinBound Int n, KnownNat n, AbiGet a) => AbiGet (ListN n a) Source # 
Instance details

Methods

abiGet :: Get (ListN n a) Source #

AbiPut a => AbiPut (ListN n a) Source # 
Instance details

Methods

abiPut :: Putter (ListN n a) Source #

AbiType (ListN n a) Source # 
Instance details

Methods

isDynamic :: Proxy (ListN n a) -> Bool Source #