mirror of
https://github.com/logos-storage/nim-contract-abi.git
synced 2026-01-05 23:23:13 +00:00
Merge pull request #1 from status-im/fix-bytes-n
Fix selector for larger byte arrays
This commit is contained in:
commit
fd377e59da
@ -1 +0,0 @@
|
|||||||
nim 1.6.0
|
|
||||||
@ -11,7 +11,7 @@ Use the [Nimble][2] package manager to add `contractabi` to an existing project.
|
|||||||
Add the following to its .nimble file:
|
Add the following to its .nimble file:
|
||||||
|
|
||||||
```nim
|
```nim
|
||||||
requires "contractabi >= 0.4.2 & < 0.5.0"
|
requires "contractabi >= 0.4.3 & < 0.5.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
version = "0.4.2"
|
version = "0.4.3"
|
||||||
author = "Contract ABI Authors"
|
author = "Contract ABI Authors"
|
||||||
description = "ABI Encoding for Ethereum contracts"
|
description = "ABI Encoding for Ethereum contracts"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@ -40,7 +40,10 @@ solidityType Address, "address"
|
|||||||
|
|
||||||
func solidityType*[N: static int, T](_: type array[N, T]): string =
|
func solidityType*[N: static int, T](_: type array[N, T]): string =
|
||||||
when T is byte:
|
when T is byte:
|
||||||
"bytes" & $N
|
when 0 < N and N <= 32:
|
||||||
|
"bytes" & $N
|
||||||
|
else:
|
||||||
|
"bytes1[" & $N & "]"
|
||||||
else:
|
else:
|
||||||
solidityType(T) & "[" & $N & "]"
|
solidityType(T) & "[" & $N & "]"
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,9 @@ suite "function selector":
|
|||||||
check solidityType(Address) == "address"
|
check solidityType(Address) == "address"
|
||||||
check solidityType(array[4, byte]) == "bytes4"
|
check solidityType(array[4, byte]) == "bytes4"
|
||||||
check solidityType(array[16, byte]) == "bytes16"
|
check solidityType(array[16, byte]) == "bytes16"
|
||||||
|
check solidityType(array[32, byte]) == "bytes32"
|
||||||
|
check solidityType(array[0, byte]) == "bytes1[0]"
|
||||||
|
check solidityType(array[33, byte]) == "bytes1[33]"
|
||||||
check solidityType(seq[byte]) == "bytes"
|
check solidityType(seq[byte]) == "bytes"
|
||||||
check solidityType(array[4, string]) == "string[4]"
|
check solidityType(array[4, string]) == "string[4]"
|
||||||
check solidityType(seq[string]) == "string[]"
|
check solidityType(seq[string]) == "string[]"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user