YAML spec
- name: "AddressType"
kind: "Parser"
unversioned:
choice:
- sequence:
- reference: "AddressKeyword"
- optional:
reference: "PayableKeyword"
- reference: "PayableKeyword"
DSL v1
parser AddressType = ((AddressKeyword (PayableKeyword ?)) | PayableKeyword) ;
DSL v2
Struct(
name = AddressType,
fields = (
address_keyword = Required(Terminal([AddressKeyword])),
payable_keyword = Optional(kind = Terminal([PayableKeyword]))
)
)
but ElementaryType accepts PayableKeyword alongside AddressType.
The address type should be address (payable). There is also payable(<address>) conversion expression but that should be handled separately, as payable on its own is not an elementary type.
YAML spec
DSL v1
DSL v2
but
ElementaryTypeacceptsPayableKeywordalongsideAddressType.The address type should be
address (payable). There is alsopayable(<address>)conversion expression but that should be handled separately, aspayableon its own is not an elementary type.