shrub/pkg/arvo/tests/sys/zuse/ethereum/encoding.hoon
Jared Tobin b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00

44 lines
2.0 KiB
Plaintext

/+ *test
|%
::TODO copy this:
:: https://github.com/ethereum/web3.js/blob/master/test/coder.encodeParam.js
::
++ test-static-args
%+ expect-eq
!> %- encode-args:abi:ethereum
:~ [%string "dave"]
[%bool &]
[%array [%uint 1] [%uint 2] [%uint 3] ~]
==
!> %- zing
:~ "0000000000000000000000000000000000000000000000000000000000000060"
"0000000000000000000000000000000000000000000000000000000000000001"
"00000000000000000000000000000000000000000000000000000000000000a0"
"0000000000000000000000000000000000000000000000000000000000000004"
"6461766500000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000003"
"0000000000000000000000000000000000000000000000000000000000000001"
"0000000000000000000000000000000000000000000000000000000000000002"
"0000000000000000000000000000000000000000000000000000000000000003"
==
::
++ test-dynamic-args
%+ expect-eq
!> %- encode-args:abi:ethereum
:~ [%uint `@ud`0x123]
[%array [%uint `@ud`0x456] [%uint `@ud`0x789] ~]
[%bytes-n (as-octt:mimes:html (flop "1234567890"))]
[%bytes (as-octt:mimes:html (flop "Hello, world!"))]
==
!> %- zing
:~ "0000000000000000000000000000000000000000000000000000000000000123"
"0000000000000000000000000000000000000000000000000000000000000080"
"3132333435363738393000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000e0"
"0000000000000000000000000000000000000000000000000000000000000002"
"0000000000000000000000000000000000000000000000000000000000000456"
"0000000000000000000000000000000000000000000000000000000000000789"
"000000000000000000000000000000000000000000000000000000000000000d"
"48656c6c6f2c20776f726c642100000000000000000000000000000000000000"
==
--