Support enums in a function signature
This commit is contained in:
parent
b111c27b61
commit
f4ea25cb57
|
@ -37,6 +37,7 @@ solidityType Int256, "int256"
|
|||
solidityType bool, "bool"
|
||||
solidityType string, "string"
|
||||
solidityType Address, "address"
|
||||
solidityType enum, "uint8"
|
||||
|
||||
func solidityType*[N: static int, T](_: type array[N, T]): string =
|
||||
when T is byte:
|
||||
|
|
|
@ -4,6 +4,10 @@ import pkg/contractabi
|
|||
|
||||
suite "function selector":
|
||||
|
||||
type SomeEnum = enum
|
||||
One
|
||||
Two
|
||||
|
||||
test "translates nim types into solidity types":
|
||||
check solidityType(uint8) == "uint8"
|
||||
check solidityType(uint16) == "uint16"
|
||||
|
@ -29,6 +33,7 @@ suite "function selector":
|
|||
check solidityType(array[4, string]) == "string[4]"
|
||||
check solidityType(seq[string]) == "string[]"
|
||||
check solidityType((Address, string, bool)) == "(address,string,bool)"
|
||||
check solidityType(SomeEnum) == "uint8"
|
||||
|
||||
test "calculates solidity function selector":
|
||||
check $selector("transfer", (Address, UInt256)) == "0xa9059cbb"
|
||||
|
|
Loading…
Reference in New Issue