github.com/klaytn/klaytn@v1.12.1/accounts/abi/doc.go (about) 1 // Modifications Copyright 2018 The klaytn Authors 2 // Copyright 2015 The go-ethereum Authors 3 // This file is part of the go-ethereum library. 4 // 5 // The go-ethereum library is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Lesser General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // The go-ethereum library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public License 16 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. 17 // 18 // This file is derived from accounts/abi/doc.go (2018/06/04). 19 // Modified and improved for the klaytn development. 20 21 /* 22 Package abi implements the Klaytn ABI (Application Binary 23 Interface). 24 25 The Klaytn ABI is strongly typed, known at compile time 26 and static. This ABI will handle basic type casting; unsigned 27 to signed and visa versa. It does not handle slice casting such 28 as unsigned slice to signed slice. Bit size type casting is also 29 handled. ints with a bit size of 32 will be properly cast to int256, 30 etc. 31 32 Source Files 33 34 Each file provides the following features 35 - abi.go : Provides `ABI` struct which holds information about a contract's context and available invokable methods. It will allow you to type check function calls and packs data accordingly. 36 - argument.go : Provides `Argument` which holds the name of the argument and the corresponding type. 37 - error.go : Provides type check functions 38 - event.go : Provides `Event` struct which is an event potentially triggered by the EVM's LOG mechanism 39 - method.go : Provides `Method` struct which represents a callable given a `Name` and whether the method is a constant. 40 - numbers.go : Provides U256 function which converts a big Int into a 256 bit EVM number. 41 - pack.go : Provides functions which pack bytes slice, element and number 42 - reflect.go : Provides functions to map an ABI to a struct and detect the type and the kind of a field using reflection 43 - type.go : Provides `Type` struct which is the reflection of the supported argument type 44 - unpack.go : Provides functions which read values based on their kind 45 */ 46 package abi