aboutsummaryrefslogtreecommitdiffstats
path: root/accounts/abi/bind
diff options
context:
space:
mode:
authorMatt K <1036969+mkrump@users.noreply.github.com>2018-12-29 18:32:58 +0800
committerGuillaume Ballet <gballet@gmail.com>2018-12-29 18:32:58 +0800
commita4af734328d50b9ea89405c7e5050065a8087946 (patch)
tree5741ded89a84cef4ca38faf10b5cc9094a1c7529 /accounts/abi/bind
parent735343430dec74a340f5c9a18822537e18165caa (diff)
downloaddexon-a4af734328d50b9ea89405c7e5050065a8087946.tar
dexon-a4af734328d50b9ea89405c7e5050065a8087946.tar.gz
dexon-a4af734328d50b9ea89405c7e5050065a8087946.tar.bz2
dexon-a4af734328d50b9ea89405c7e5050065a8087946.tar.lz
dexon-a4af734328d50b9ea89405c7e5050065a8087946.tar.xz
dexon-a4af734328d50b9ea89405c7e5050065a8087946.tar.zst
dexon-a4af734328d50b9ea89405c7e5050065a8087946.zip
accounts/abi: change unpacking of abi fields w/ underscores (#16513)
* accounts/abi: fix name styling when unpacking abi fields w/ underscores ABI fields with underscores that are being unpacked into structs expect structs with following form: int_one -> Int_one whereas in abigen the generated structs are camelcased int_one -> IntOne so updated the unpack method to expect camelcased structs as well.
Diffstat (limited to 'accounts/abi/bind')
-rw-r--r--accounts/abi/bind/bind.go41
1 files changed, 4 insertions, 37 deletions
diff --git a/accounts/abi/bind/bind.go b/accounts/abi/bind/bind.go
index 4dca4b4ea..21e16060c 100644
--- a/accounts/abi/bind/bind.go
+++ b/accounts/abi/bind/bind.go
@@ -387,48 +387,15 @@ var methodNormalizer = map[Lang]func(string) string{
// capitalise makes a camel-case string which starts with an upper case character.
func capitalise(input string) string {
- for len(input) > 0 && input[0] == '_' {
- input = input[1:]
- }
- if len(input) == 0 {
- return ""
- }
- return toCamelCase(strings.ToUpper(input[:1]) + input[1:])
+ return abi.ToCamelCase(input)
}
// decapitalise makes a camel-case string which starts with a lower case character.
func decapitalise(input string) string {
- for len(input) > 0 && input[0] == '_' {
- input = input[1:]
- }
- if len(input) == 0 {
- return ""
- }
- return toCamelCase(strings.ToLower(input[:1]) + input[1:])
-}
-
-// toCamelCase converts an under-score string to a camel-case string
-func toCamelCase(input string) string {
- toupper := false
+ // NOTE: This is the current behavior, it doesn't match the comment
+ // above and needs to be investigated.
+ return abi.ToCamelCase(input)
- result := ""
- for k, v := range input {
- switch {
- case k == 0:
- result = strings.ToUpper(string(input[0]))
-
- case toupper:
- result += strings.ToUpper(string(v))
- toupper = false
-
- case v == '_':
- toupper = true
-
- default:
- result += string(v)
- }
- }
- return result
}
// structured checks whether a list of ABI data types has enough information to