@ -108,9 +108,9 @@ struct WorkChannel: public LogChannel { static const char* name() { return "-W-"
# define cworkout dev::LogOutputStream<dev::eth::WorkOutChannel, true>()
template < class T > struct ABISerialiser { } ;
template < unsigned N > struct ABISerialiser < FixedHash < N > > { static bytes serialise ( FixedHash < N > const & _t ) { return _t . asBytes ( ) ; } } ;
template < unsigned N > struct ABISerialiser < FixedHash < N > > { static bytes serialise ( FixedHash < N > const & _t ) { static_assert ( N < 32 , " Parameter sizes must be at most 32 bytes. " ) ; return bytes ( 32 - N , 0 ) + _t . asBytes ( ) ; } } ;
template < > struct ABISerialiser < u256 > { static bytes serialise ( u256 const & _t ) { return h256 ( _t ) . asBytes ( ) ; } } ;
template < > struct ABISerialiser < u160 > { static bytes serialise ( u160 const & _t ) { return h160 ( _t ) . asBytes ( ) ; } } ;
template < > struct ABISerialiser < u160 > { static bytes serialise ( u160 const & _t ) { return bytes ( 12 , 0 ) + h160 ( _t ) . asBytes ( ) ; } } ;
template < > struct ABISerialiser < string32 > { static bytes serialise ( string32 const & _t ) { return bytesConstRef ( ( byte const * ) _t . data ( ) , 32 ) . toBytes ( ) ; } } ;
inline bytes abiInAux ( ) { return { } ; }
@ -125,9 +125,9 @@ template <class ... T> bytes abiIn(std::string _id, T const& ... _t)
}
template < class T > struct ABIDeserialiser { } ;
template < unsigned N > struct ABIDeserialiser < FixedHash < N > > { static FixedHash < N > deserialise ( bytesConstRef & io_t ) { FixedHash < N > ret ; io_t . cropped ( 0 , N ) . populate ( ret . ref ( ) ) ; return ret ; } } ;
template < unsigned N > struct ABIDeserialiser < FixedHash < N > > { static FixedHash < N > deserialise ( bytesConstRef & io_t ) { static_assert ( N < 32 , " Parameter sizes must be at most 32 bytes. " ) ; FixedHash < N > ret ; io_t . cropped ( 32 - N , N ) . populate ( ret . ref ( ) ) ; io_t = io_t . cropped ( 32 ) ; return ret ; } } ;
template < > struct ABIDeserialiser < u256 > { static u256 deserialise ( bytesConstRef & io_t ) { u256 ret = fromBigEndian < u256 > ( io_t . cropped ( 0 , 32 ) ) ; io_t = io_t . cropped ( 32 ) ; return ret ; } } ;
template < > struct ABIDeserialiser < u160 > { static u256 deserialise ( bytesConstRef & io_t ) { u160 ret = fromBigEndian < u160 > ( io_t . cropped ( 0 , 20 ) ) ; io_t = io_t . cropped ( 20 ) ; return ret ; } } ;
template < > struct ABIDeserialiser < u160 > { static u256 deserialise ( bytesConstRef & io_t ) { u160 ret = fromBigEndian < u160 > ( io_t . cropped ( 12 , 20 ) ) ; io_t = io_t . cropped ( 3 2) ; return ret ; } } ;
template < > struct ABIDeserialiser < string32 > { static string32 deserialise ( bytesConstRef & io_t ) { string32 ret ; io_t . cropped ( 0 , 32 ) . populate ( vector_ref < char > ( ret . data ( ) , 32 ) ) ; io_t = io_t . cropped ( 32 ) ; return ret ; } } ;
template < class T > T abiOut ( bytes const & _data )