rationale:
- ethereum addresses are derived from a public key (the last 20 bytes). The network accepts any case insensitive address as long as it is a 40 char alphanumeric (When the last 20 bytes are converted to hex). It is 0x prefixed so that it becomes 42 in length, hence the current eth_addr implementation is modified to reflect this.
- Checksum-ing is optional on ethereum and is a way of typo checking the address hence this is introduced as a new validation i.e. eth_addr_checksum.
refs:
- https://github.com/ethereum/go-ethereum/blob/master/crypto/crypto.go#L275
- https://goethereumbook.org/en/wallet-generate/
- https://goethereumbook.org/en/address-check/
Fixed README.md. Added missing tags.
Fixed function names in comments in baked_in.go.
Fixed error strings in validator_instance.go (should not be
capitalized).
Fixed twice imported assert package in validator_test.go.
This fixes an issue where if the param of a time.Durtion type is specified
as an integer, denoting nanosecond precision, instead of time duration
string the validation would panic.
the fixes ensures it falls back to the previous expected behaviour.
Fixes Or Enhances https://github.com/go-playground/validator/issues/525.
**Make sure that you've checked the boxes below before you submit PR:**
- [x] Tests exist or have been written that cover this particular change.
Change Details:
* Adds the ability to match on space separated strings when using the
`oneof` validation. Space separted strings must be surrounded by single
quotes to be validated as one string. For example:
```
oneof='Awaiting Verification' 'Verified' 'Failed Verification'
```
passes validation for a field that is exactly `Failed Verification`
(though just `Failed` would...fail).
@go-playground/admins