github.com/aidoskuneen/adk-node@v0.0.0-20220315131952-2e32567cb7f4/adkgo-GENESIS/ADKToken.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package main
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/aidoskuneen/adk-node"
    12  	"github.com/aidoskuneen/adk-node/accounts/abi"
    13  	"github.com/aidoskuneen/adk-node/accounts/abi/bind"
    14  	"github.com/aidoskuneen/adk-node/common"
    15  	"github.com/aidoskuneen/adk-node/core/types"
    16  	"github.com/aidoskuneen/adk-node/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  )
    30  
    31  // ADKTokenMetaData contains all meta data concerning the ADKToken contract.
    32  var ADKTokenMetaData = &bind.MetaData{
    33  	ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"AZ9Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"GENESISTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"ethAddr\",\"type\":\"address\"}],\"name\":\"ADDR_TO_AZ9\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ADKTransactionsContract\",\"outputs\":[{\"internalType\":\"contractADKTransactions\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"AGSBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"AGSClaimContract\",\"outputs\":[{\"internalType\":\"contractAGSClaim\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"adkString\",\"type\":\"string\"}],\"name\":\"AZ9_TO_ADDR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_adkAddr\",\"type\":\"string\"}],\"name\":\"AZ9balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ethAddr\",\"type\":\"bytes\"}],\"name\":\"BADDR_TO_AZ9\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adkgo_genesis_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"genesisTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"known_addresses\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"linked_list_all_balances\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"meshTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"}],\"name\":\"registerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
    34  	Sigs: map[string]string{
    35  		"b79c88ec": "ADDR_TO_AZ9(address)",
    36  		"8ab04a78": "ADKTransactionsContract()",
    37  		"c977acd9": "AGSBalanceOf(address)",
    38  		"41ef2686": "AGSClaimContract()",
    39  		"a205a8a9": "AZ9_TO_ADDR(string)",
    40  		"0e7fdbb1": "AZ9balanceOf(string)",
    41  		"78f7c041": "BADDR_TO_AZ9(bytes)",
    42  		"c4c7e151": "adkgo_genesis_address()",
    43  		"dd62ed3e": "allowance(address,address)",
    44  		"5c658165": "allowed(address,address)",
    45  		"095ea7b3": "approve(address,uint256)",
    46  		"70a08231": "balanceOf(address)",
    47  		"27e235e3": "balances(address)",
    48  		"313ce567": "decimals()",
    49  		"a85cfb66": "genesisTransaction(string,int256)",
    50  		"3f43347a": "known_addresses(address)",
    51  		"2a5d2cf7": "linked_list_all_balances(address)",
    52  		"8756ee19": "meshTransaction(string,int256)",
    53  		"06fdde03": "name()",
    54  		"bb1bd28f": "registerAddress(string)",
    55  		"95d89b41": "symbol()",
    56  		"18160ddd": "totalSupply()",
    57  		"a9059cbb": "transfer(address,uint256)",
    58  		"23b872dd": "transferFrom(address,address,uint256)",
    59  	},
    60  	Bin: "0x60806040523480156200001157600080fd5b50600980546001600160a01b0319163390811790915560405130906200003790620001bb565b6001600160a01b03928316815291166020820152604001604051809103906000f0801580156200006b573d6000803e3d6000fd5b50600b80546001600160a01b0319166001600160a01b0392831617905560095460405191169030906200009e90620001c9565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620000d2573d6000803e3d6000fd5b50600a80546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260038082526241444b60e81b60209092019182526200011f91600691620001d7565b506007805460ff191660089081179091556040805180820190915260038082526271495b60e91b60209092019182526200015b929190620001d7565b50336000908152600160209081526040808320839055828055600a80546001600160a01b039081168086526002855283862080546001600160a01b03199081169092179055915416808552600390935292208054909216179055620002ba565b611bab8062001c3a83390190565b61267480620037e583390190565b828054620001e5906200027d565b90600052602060002090601f01602090048101928262000209576000855562000254565b82601f106200022457805160ff191683800117855562000254565b8280016001018555821562000254579182015b828111156200025457825182559160200191906001019062000237565b506200026292915062000266565b5090565b5b8082111562000262576000815560010162000267565b600181811c908216806200029257607f821691505b60208210811415620002b457634e487b7160e01b600052602260045260246000fd5b50919050565b61197080620002ca6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806378f7c041116100c3578063a9059cbb1161007c578063a9059cbb1461017b578063b79c88ec14610339578063bb1bd28f1461034c578063c4c7e1511461035f578063c977acd914610372578063dd62ed3e1461038d57600080fd5b806378f7c041146102d05780638756ee19146102e35780638ab04a78146102f857806395d89b411461030b578063a205a8a914610313578063a85cfb661461032657600080fd5b80632a5d2cf7116101155780632a5d2cf7146101f6578063313ce567146102375780633f43347a1461025657806341ef2686146102695780635c6581651461027c57806370a08231146102a757600080fd5b806306fdde031461015d578063095ea7b31461017b5780630e7fdbb11461019e57806318160ddd146101bf57806323b872dd146101c857806327e235e3146101d6575b600080fd5b6101656103c6565b60405161017291906116db565b60405180910390f35b61018e6101893660046115ca565b610454565b6040519015158152602001610172565b6101b16101ac366004611645565b6104a4565b604051908152602001610172565b6101b160005481565b61018e61018936600461158e565b6101b16101e4366004611540565b60016020526000908152604090205481565b61021f610204366004611540565b6002602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610172565b6007546102449060ff1681565b60405160ff9091168152602001610172565b610165610264366004611540565b6104d3565b600b5461021f906001600160a01b031681565b6101b161028a36600461155b565b600460209081526000928352604080842090915290825290205481565b6101b16102b5366004611540565b6001600160a01b031660009081526001602052604090205490565b6101656102de3660046115f4565b6104ec565b6102f66102f136600461167a565b61075c565b005b600a5461021f906001600160a01b031681565b6101656109d3565b61021f610321366004611645565b6109e0565b6102f661033436600461167a565b610f0d565b610165610347366004611540565b6110d5565b6102f661035a366004611645565b611113565b60095461021f906001600160a01b031681565b6101b1610380366004611540565b6001600160a01b03163190565b6101b161039b36600461155b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b600680546103d3906118a2565b80601f01602080910402602001604051908101604052809291908181526020018280546103ff906118a2565b801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b505050505081565b60405162461bcd60e51b815260206004820152601860248201527f66756e6374696f6e206e6f7420696d706c656d656e746564000000000000000060448201526000906064015b60405180910390fd5b6000600160006104b3846109e0565b6001600160a01b0316815260208101919091526040016000205492915050565b600560205260009081526040902080546103d3906118a2565b60408051808201909152601081526f23a424a525a626a727a820a121a222a360811b602082015281516060919060141461052557600080fd5b604080516051808252608082019092526000916020820181803683370190505060408051808201909152600e81526d5a45524f5841444452455353393960901b60208201529091508060005b81518110156105d25781818151811061058c5761058c61190e565b602001015160f81c60f81b8482815181106105a9576105a961190e565b60200101906001600160f81b031916908160001a905350806105ca816118dd565b915050610571565b5060075b601b8110156107045784876105ec600784611838565b815181106105fc576105fc61190e565b602091010151815160f89190911c600f1690811061061c5761061c61190e565b01602001516001600160f81b031916846106378360026117f0565b6106429060016117b3565b815181106106525761065261190e565b60200101906001600160f81b031916908160001a90535084600488610678600785611838565b815181106106885761068861190e565b016020015182516001600160f81b031990911690911c60f81c9081106106b0576106b061190e565b01602001516001600160f81b031916846106cb8360026117f0565b815181106106db576106db61190e565b60200101906001600160f81b031916908160001a905350806106fc816118dd565b9150506105d6565b5060365b605181101561075157603960f81b8482815181106107285761072861190e565b60200101906001600160f81b031916908160001a90535080610749816118dd565b915050610708565b509195945050505050565b600a546001600160a01b031633146107a95760405162461bcd60e51b815260206004820152601060248201526f1393d508105112c810d3d395149050d560821b604482015260640161049b565b8151829060019082906051146107be57600080fd5b60005b815181101561084d578181815181106107dc576107dc61190e565b60209101015160f81c60391480610832575060418282815181106108025761080261190e565b016020015160f81c108015906108325750605a8282815181106108275761082761190e565b016020015160f81c11155b61083b57600092505b80610845816118dd565b9150506107c1565b508161086b5760405162461bcd60e51b815260040161049b9061170e565b6000610876866109e0565b6001600160a01b038116600090815260056020908152604090912088519293506108a49290918901906113f5565b506001600160a01b0381166000908152600160205260408120546108c9908790611772565b12156109325760405162461bcd60e51b815260206004820152603260248201527f437269746963616c3a20496e76616c6964207472616e73616374696f6e2c20696044820152711b9cdd59999a58da595b9d08185b5bdd5b9d60721b606482015260840161049b565b6001600160a01b038116600090815260016020526040902054610956908690611772565b6001600160a01b03821660009081526001602052604090205561097881611216565b806001600160a01b03168660405161099091906116bf565b604051908190038120878252907fa93369924490bc7698b9d289925c432d4f16b9465c1590324916dba7ed166246906020015b60405180910390a3505050505050565b600880546103d3906118a2565b8051600090829060019082906051146109f857600080fd5b60005b8151811015610a8757818181518110610a1657610a1661190e565b60209101015160f81c60391480610a6c57506041828281518110610a3c57610a3c61190e565b016020015160f81c10801590610a6c5750605a828281518110610a6157610a6161190e565b016020015160f81c11155b610a7557600092505b80610a7f816118dd565b9150506109fb565b5081610aa55760405162461bcd60e51b815260040161049b9061170e565b604080518082018252600e81526d5a45524f5841444452455353393960901b60208201528151601480825281840190935290918291889160019160009160208201818036833701905050905060005b828015610b015750845181105b15610b6a57848181518110610b1857610b1861190e565b602001015160f81c60f81b6001600160f81b031916848281518110610b3f57610b3f61190e565b01602001516001600160f81b03191614610b5857600092505b80610b62816118dd565b915050610af4565b508115610ef55760075b601b811015610e7c57604160f81b84610b8e8360026117f0565b610b999060016117b3565b81518110610ba957610ba961190e565b01602001516001600160f81b03191610801590610bff5750600560fc1b84610bd28360026117f0565b610bdd9060016117b3565b81518110610bed57610bed61190e565b01602001516001600160f81b03191611155b610c1b5760405162461bcd60e51b815260040161049b9061173b565b604160f81b84610c2c8360026117f0565b81518110610c3c57610c3c61190e565b01602001516001600160f81b03191610801590610c875750600560fc1b84610c658360026117f0565b81518110610c7557610c7561190e565b01602001516001600160f81b03191611155b610ca35760405162461bcd60e51b815260040161049b9061173b565b600080602360f91b86610cb78560026117f0565b610cc29060016117b3565b81518110610cd257610cd261190e565b01602001516001600160f81b03191611610d3357604186610cf48560026117f0565b610cff9060016117b3565b81518110610d0f57610d0f61190e565b0160200151610d21919060f81c61184f565b610d2c90600a6117cb565b9150610d71565b604786610d418560026117f0565b610d4c9060016117b3565b81518110610d5c57610d5c61190e565b0160200151610d6e919060f81c61184f565b91505b602360f91b86610d828560026117f0565b81518110610d9257610d9261190e565b01602001516001600160f81b03191611610de857604186610db48560026117f0565b81518110610dc457610dc461190e565b0160200151610dd6919060f81c61184f565b610de190600a6117cb565b9050610e1b565b604786610df68560026117f0565b81518110610e0657610e0661190e565b0160200151610e18919060f81c61184f565b90505b81610e2782601061180f565b610e3191906117cb565b60f81b84610e40600786611838565b81518110610e5057610e5061190e565b60200101906001600160f81b031916908160001a90535050508080610e74906118dd565b915050610b74565b5060365b6051811015610edf57838181518110610e9b57610e9b61190e565b6020910101516001600160f81b031916603960f81b14610ecd5760405162461bcd60e51b815260040161049b9061173b565b80610ed7816118dd565b915050610e80565b50610ee98161134b565b98505050505050610f05565b610ee98380519060200120611363565b505050919050565b6009546001600160a01b03163314610f535760405162461bcd60e51b81526020600482015260096024820152682727aa1027aba722a960b91b604482015260640161049b565b815182906001908290605114610f6857600080fd5b60005b8151811015610ff757818181518110610f8657610f8661190e565b60209101015160f81c60391480610fdc57506041828281518110610fac57610fac61190e565b016020015160f81c10801590610fdc5750605a828281518110610fd157610fd161190e565b016020015160f81c11155b610fe557600092505b80610fef816118dd565b915050610f6b565b50816110155760405162461bcd60e51b815260040161049b9061170e565b6000611020866109e0565b6001600160a01b0381166000908152600560209081526040909120885192935061104e9290918901906113f5565b506001600160a01b038116600090815260016020526040902054611073908690611772565b6001600160a01b0382166000818152600160205260409081902092909255905161109e9088906116bf565b604051908190038120878252907f32ac6262ad9a118aca2d9d65c3cfb1c88b8d120f8a750a635168ba94fcf6e164906020016109c3565b604051606082811b6bffffffffffffffffffffffff191660208301529061110d906034016040516020818303038152906040526104ec565b92915050565b80518190600190829060511461112857600080fd5b60005b81518110156111b7578181815181106111465761114661190e565b60209101015160f81c6039148061119c5750604182828151811061116c5761116c61190e565b016020015160f81c1080159061119c5750605a8282815181106111915761119161190e565b016020015160f81c11155b6111a557600092505b806111af816118dd565b91505061112b565b50816111d55760405162461bcd60e51b815260040161049b9061170e565b60006111e0856109e0565b6001600160a01b0381166000908152600560209081526040909120875192935061120e9290918801906113f5565b505050505050565b600a546001600160a01b038281169116141561122f5750565b6001600160a01b0381811660009081526002602090815260408083205460019092529091205491161515906112d55780156112d1576001600160a01b0382811660008181526002602081815260408084208054600380855283872080548a16808952968652848820805493909a166001600160a01b03199384168117909a55988752909352908420805483169093179092559290915280548216905581541690555b5050565b806112d157600a80546001600160a01b03908116600090815260026020908152604080832080548886166001600160a01b03198083168217909355808652838620805484169288169283179055908552600390935281842080548216841790559454918352909120805490931691161790555050565b6000815160141461135b57600080fd5b506014015190565b60408051601480825281830190925260009182919060208201818036833701905050905060005b60148110156113e4578381602081106113a5576113a561190e565b1a60f81b8282815181106113bb576113bb61190e565b60200101906001600160f81b031916908160001a905350806113dc816118dd565b91505061138a565b506113ee8161134b565b9392505050565b828054611401906118a2565b90600052602060002090601f0160209004810192826114235760008555611469565b82601f1061143c57805160ff1916838001178555611469565b82800160010185558215611469579182015b8281111561146957825182559160200191906001019061144e565b50611475929150611479565b5090565b5b80821115611475576000815560010161147a565b600067ffffffffffffffff808411156114a9576114a9611924565b604051601f8501601f19908116603f011681019082821181831017156114d1576114d1611924565b816040528093508581528686860111156114ea57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461151b57600080fd5b919050565b600082601f83011261153157600080fd5b6113ee8383356020850161148e565b60006020828403121561155257600080fd5b6113ee82611504565b6000806040838503121561156e57600080fd5b61157783611504565b915061158560208401611504565b90509250929050565b6000806000606084860312156115a357600080fd5b6115ac84611504565b92506115ba60208501611504565b9150604084013590509250925092565b600080604083850312156115dd57600080fd5b6115e683611504565b946020939093013593505050565b60006020828403121561160657600080fd5b813567ffffffffffffffff81111561161d57600080fd5b8201601f8101841361162e57600080fd5b61163d8482356020840161148e565b949350505050565b60006020828403121561165757600080fd5b813567ffffffffffffffff81111561166e57600080fd5b61163d84828501611520565b6000806040838503121561168d57600080fd5b823567ffffffffffffffff8111156116a457600080fd5b6116b085828601611520565b95602094909401359450505050565b600082516116d1818460208701611872565b9190910192915050565b60208152600082518060208401526116fa816040850160208701611872565b601f01601f19169190910160400192915050565b602080825260139082015272494e56414c49442041444b204144445245535360681b604082015260600190565b60208082526018908201527f4d414c464f524d454420307820415a3920414444524553530000000000000000604082015260600190565b600080821280156001600160ff1b0384900385131615611794576117946118f8565b600160ff1b83900384128116156117ad576117ad6118f8565b50500190565b600082198211156117c6576117c66118f8565b500190565b600060ff821660ff84168060ff038211156117e8576117e86118f8565b019392505050565b600081600019048311821515161561180a5761180a6118f8565b500290565b600060ff821660ff84168160ff0481118215151615611830576118306118f8565b029392505050565b60008282101561184a5761184a6118f8565b500390565b600060ff821660ff841680821015611869576118696118f8565b90039392505050565b60005b8381101561188d578181015183820152602001611875565b8381111561189c576000848401525b50505050565b600181811c908216806118b657607f821691505b602082108114156118d757634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156118f1576118f16118f8565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220bdba9f8548f4897b63ef196a6250966a12043e2c91151cc5b703e5655a98b60864736f6c6343000807003360806040526006805460ff191690553480156200001b57600080fd5b5060405162001bab38038062001bab8339810160408190526200003e9162000095565b600080546001600160a01b039283166001600160a01b03199182161790915560018054939092169216919091179055600f600255620000cd565b80516001600160a01b03811681146200009057600080fd5b919050565b60008060408385031215620000a957600080fd5b620000b48362000078565b9150620000c46020840162000078565b90509250929050565b611ace80620000dd6000396000f3fe6080604052600436106100bc5760003560e01c8063a9c02d4911610079578063d48a1ce511610056578063d48a1ce514610224578063f1e13cfe14610244578063f5702e4e14610264578063f7509c521461028457005b8063a9c02d49146101ac578063af7f893b146101cc578063c4c7e1511461020457005b8063016d1c68146100be57806303f390c1146100f45780632076e79614610111578063402914f5146101275780637fa5e24214610154578063a91fa7cb14610174575b005b3480156100ca57600080fd5b506100de6100d9366004611624565b61029a565b6040516100eb919061185e565b60405180910390f35b34801561010057600080fd5b50475b6040519081526020016100eb565b34801561011d57600080fd5b5061010360025481565b34801561013357600080fd5b506101036101423660046115e3565b60036020526000908152604090205481565b34801561016057600080fd5b506100de61016f366004611624565b61047d565b34801561018057600080fd5b50600054610194906001600160a01b031681565b6040516001600160a01b0390911681526020016100eb565b3480156101b857600080fd5b506100bc6101c736600461173a565b610ebe565b3480156101d857600080fd5b506101036101e7366004611624565b805160208183018101805160048252928201919093012091525481565b34801561021057600080fd5b50600154610194906001600160a01b031681565b34801561023057600080fd5b506100bc61023f3660046115e3565b610f19565b34801561025057600080fd5b506100bc61025f3660046116a6565b610f65565b34801561027057600080fd5b506100bc61027f366004611661565b611194565b34801561029057600080fd5b5061010360055481565b6040516060906000906102b59082908190869060200161179e565b60408051601f19818403018152919052805160208201819020919250600160fd1b908390600a9081106102ea576102ea611a54565b60200101906001600160f81b031916908160001a90535081516020830181902090600160fe1b908490600a90811061032457610324611a54565b60200101906001600160f81b031916908160001a905350825160208401206040805160518082526080820190925260009160208201818036833701905050905060005b602081101561040a5784816020811061038257610382611a54565b1a60f81b82828151811061039857610398611a54565b60200101906001600160f81b031916908160001a9053508381602081106103c1576103c1611a54565b1a60f81b826103d18360206118b9565b815181106103e1576103e1611a54565b60200101906001600160f81b031916908160001a90535080610402816119df565b915050610367565b5060005b60118110156104725782816020811061042957610429611a54565b1a60f81b826104398360406118b9565b8151811061044957610449611a54565b60200101906001600160f81b031916908160001a9053508061046a816119df565b91505061040e565b509695505050505050565b606081600081905060018151101561049457600080fd5b600160005b8251811015610525578281815181106104b4576104b4611a54565b60209101015160f81c6039148061050a575060418382815181106104da576104da611a54565b016020015160f81c1080159061050a5750605a8382815181106104ff576104ff611a54565b016020015160f81c11155b61051357600091505b8061051d816119df565b915050610499565b50806105695760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064015b60405180910390fd5b60065460ff16156105b15760405162461bcd60e51b81526020600482015260126024820152717265656e7472792070726576656e7465642160701b6044820152606401610560565b6006805460ff19166001179055845185906105cf90610a7190611a14565b1580156105dd575060008151115b6106295760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207472616e73616374696f6e287329206c656e6774680000006044820152606401610560565b6000610a71825161063a91906118f0565b90508061ffff166003146106905760405162461bcd60e51b815260206004820152601860248201527f6d75737420686176652033207472616e73616374696f6e7300000000000000006044820152606401610560565b600061069d8260a2611904565b61ffff1667ffffffffffffffff8111156106b9576106b9611a6a565b6040519080825280601f01601f1916602001820160405280156106e3576020820181803683370190505b50604080516020810190915260008082529192509060608181815b8761ffff168163ffffffff161015610ce8576107616040518061010001604052806060815260200160608152602001606081526020016060815260200160608152602001600063ffffffff16815260200160008019168152602001606081525090565b61076d82610a7161192e565b8160a0019063ffffffff16908163ffffffff16815250506107a48f8260a001518360a00151610a7161079f91906118d1565b6112e1565b602082018190526107b49061029a565b60e082015260005b60036002546107cb91906118f0565b81101561086c5760006107df826050611951565b90508260e0015181815181106107f7576107f7611a54565b6020910101516001600160f81b031916603960f81b146108595760405162461bcd60e51b815260206004820152601d60248201527f5452414e53414354494f4e20504f57204e4f5420434f4d504c455445440000006044820152606401610560565b5080610864816119df565b9150506107bc565b5060e0810151805160209091012060c082015260005b60a28161ffff161015610930578a8161ffff168360a0015161088b6108a791906118d1565b6108b191906118d1565b63ffffffff16815181106108c7576108c7611a54565b01602001516001600160f81b0319168961ffff83166108e78660a261192e565b6108f191906118d1565b63ffffffff168151811061090757610907611a54565b60200101906001600160f81b031916908160001a90535080610928816119bd565b915050610882565b50610944816020015161088b6108dc6112e1565b815260a081015161098b908b9061095d9061092d6118d1565b63ffffffff168360a0015161092d61097591906118d1565b6109809060516118d1565b63ffffffff166113cc565b608082015263ffffffff8216610a3557806080015196506109e46109b68260200151600060106112e1565b6040518060400160405280601081526020016f21a620a4a6aa2920a729a0a1aa24a7a760811b815250611497565b610a305760405162461bcd60e51b815260206004820152601760248201527f6e6f74206120636c61696d207472616e73636174696f6e0000000000000000006044820152606401610560565b610a87565b610a43878260800151611497565b610a875760405162461bcd60e51b8152602060048201526015602482015274189d5b991b19481b9bdd0818dbdb9cda5cdd195b9d605a1b6044820152606401610560565b63ffffffff8216610b1a57600054815160405163a205a8a960e01b81526001600160a01b039092169163a205a8a991610ac29160040161185e565b60206040518083038186803b158015610ada57600080fd5b505afa158015610aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b129190611607565b815190965094505b8163ffffffff1660011415610cd557600054815160405163a205a8a960e01b81526001600160a01b039092169163a205a8a991610b599160040161185e565b60206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba99190611607565b9350610bea8f8260a00151610a71610bc191906118d1565b610bcd9061088b6118d1565b60a0840151610bde90610a716118d1565b61079f906108dc6118d1565b9250610bfa816000015184611497565b610c505760405162461bcd60e51b815260206004820152602160248201527f326e64207369676e61747572652068617320696e76616c6964206164647265736044820152607360f81b6064820152608401610560565b610c5f8f610a716112fc6112e1565b6040820152610c738f6114e2611d6d6112e1565b6060820181905281516040830151610c9592610c8f91906114f0565b8961151c565b610cd55760405162461bcd60e51b8152602060048201526011602482015270494e56414c4944205349474e415455524560781b6044820152606401610560565b5080610ce0816119fa565b9150506106fe565b506000610cf48761029a565b9050610d008682611497565b610d4c5760405162461bcd60e51b815260206004820152601960248201527f43414c43554c415445442042554e444c452044494646455253000000000000006044820152606401610560565b6001600160a01b0383166000908152600360205260408082208054908390559051909190600490610d7e908690611753565b9081526040519081900360200190205580610dce5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b6044820152606401610560565b6040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610e04573d6000803e3d6000fd5b50604080516001600160a01b038881168252602082018490528616917f02d9abd938722d4f865e2c1c5fff05ec645e6bcba75a96962997202a849a6bd4910160405180910390a282604051610e599190611753565b604080519182900382206001600160a01b038916835260208301849052917f18abcea8c2c342fa3e8280c1656dec133251e3559c581f356b2b12b30bed722d910160405180910390a2506006805460ff191690559d9c50505050505050505050505050565b6001546001600160a01b03163314610ee85760405162461bcd60e51b815260040161056090611891565b604051339082156108fc029083906000818181858888f19350505050158015610f15573d6000803e3d6000fd5b5050565b6001546001600160a01b03163314610f435760405162461bcd60e51b815260040161056090611891565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610f8f5760405162461bcd60e51b815260040161056090611891565b60008b5161032a146110175760405162461bcd60e51b815260206004820152604560248201527f537472696e67206d75737420636f6e7461696e2031302061646472657373657360448201527f20776974686f757420636865636b73756d20666f722062756c6b2070726f63656064820152647373696e6760d81b608482015260a401610560565b61103061102a8d8361079f8160516118d1565b8c611194565b61103b6051826118d1565b90506110566110508d8361079f8160516118d1565b8b611194565b6110616051826118d1565b905061107c6110768d8361079f8160516118d1565b8a611194565b6110876051826118d1565b90506110a261109c8d8361079f8160516118d1565b89611194565b6110ad6051826118d1565b90506110c86110c28d8361079f8160516118d1565b88611194565b6110d36051826118d1565b90506110ee6110e88d8361079f8160516118d1565b87611194565b6110f96051826118d1565b905061111461110e8d8361079f8160516118d1565b86611194565b61111f6051826118d1565b905061113a6111348d8361079f8160516118d1565b85611194565b6111456051826118d1565b905061116061115a8d8361079f8160516118d1565b84611194565b61116b6051826118d1565b90506111866111808d8361079f8160516118d1565b83611194565b505050505050505050505050565b6001546001600160a01b031633146111be5760405162461bcd60e51b815260040161056090611891565b81516051146112015760405162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b6044820152606401610560565b6000805460405163a205a8a960e01b81526001600160a01b039091169063a205a8a99061123290869060040161185e565b60206040518083038186803b15801561124a57600080fd5b505afa15801561125e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112829190611607565b6001600160a01b038116600090815260036020526040908190208490555190915082906004906112b3908690611753565b90815260200160405180910390208190555081600560008282546112d791906118b9565b9091555050505050565b60608360006112f08585611968565b63ffffffff1667ffffffffffffffff81111561130e5761130e611a6a565b6040519080825280601f01601f191660200182016040528015611338576020820181803683370190505b509050845b8463ffffffff168163ffffffff1610156113c257828163ffffffff168151811061136957611369611a54565b01602001516001600160f81b031916826113838884611968565b63ffffffff168151811061139957611399611a54565b60200101906001600160f81b031916908160001a905350806113ba816119fa565b91505061133d565b5095945050505050565b606060006113da8484611951565b67ffffffffffffffff8111156113f2576113f2611a6a565b6040519080825280601f01601f19166020018201604052801561141c576020820181803683370190505b509050835b8381101561148e5785818151811061143b5761143b611a54565b01602001516001600160f81b031916826114558784611951565b8151811061146557611465611a54565b60200101906001600160f81b031916908160001a90535080611486816119df565b915050611421565b50949350505050565b6000816040516020016114aa9190611753565b60405160208183030381529060405280519060200120836040516020016114d19190611753565b6040516020818303038152906040528051906020012014905092915050565b6060828260405160200161150592919061176f565b604051602081830303815290604052905092915050565b600080848484604051602001611534939291906117f4565b60408051808303601f1901815291905280516020909101201595945050505050565b600082601f83011261156757600080fd5b813567ffffffffffffffff8082111561158257611582611a6a565b604051601f8301601f19908116603f011681019082821181831017156115aa576115aa611a6a565b816040528381528660208588010111156115c357600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156115f557600080fd5b813561160081611a80565b9392505050565b60006020828403121561161957600080fd5b815161160081611a80565b60006020828403121561163657600080fd5b813567ffffffffffffffff81111561164d57600080fd5b61165984828501611556565b949350505050565b6000806040838503121561167457600080fd5b823567ffffffffffffffff81111561168b57600080fd5b61169785828601611556565b95602094909401359450505050565b60008060008060008060008060008060006101608c8e0312156116c857600080fd5b8b3567ffffffffffffffff8111156116df57600080fd5b6116eb8e828f01611556565b9e60208e01359e5060408e01359d60608101359d5060808101359c5060a08101359b5060c08101359a5060e0810135995061010081013598506101208101359750610140013595509350505050565b60006020828403121561174c57600080fd5b5035919050565b6000825161176581846020870161198d565b9190910192915050565b6000835161178181846020880161198d565b83519083019061179581836020880161198d565b01949350505050565b657b4355524c7d60d01b81526309082a6960e31b60068201526001600160f81b0319848116600a8301528316600b82015281516000906117e581600c85016020870161198d565b91909101600c01949350505050565b657b4355524c7d60d01b81526556414c53494760d01b60068201526000845161182481600c85016020890161198d565b84519083019061183b81600c84016020890161198d565b845191019061185181600c84016020880161198d565b01600c0195945050505050565b602081526000825180602084015261187d81604085016020870161198d565b601f01601f19169190910160400192915050565b6020808252600e908201526d1393d5081055551213d49256915160921b604082015260600190565b600082198211156118cc576118cc611a28565b500190565b600063ffffffff80831681851680830382111561179557611795611a28565b6000826118ff576118ff611a3e565b500490565b600061ffff8083168185168183048111821515161561192557611925611a28565b02949350505050565b600063ffffffff8083168185168183048111821515161561192557611925611a28565b60008282101561196357611963611a28565b500390565b600063ffffffff8381169083168181101561198557611985611a28565b039392505050565b60005b838110156119a8578181015183820152602001611990565b838111156119b7576000848401525b50505050565b600061ffff808316818114156119d5576119d5611a28565b6001019392505050565b60006000198214156119f3576119f3611a28565b5060010190565b600063ffffffff808316818114156119d5576119d5611a28565b600082611a2357611a23611a3e565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611a9557600080fd5b5056fea26469706673582212203d877ded1dfeaa5ecadeeabd38f739d05f32ffa58c426bfbe5ecb8580478e33064736f6c6343000807003360806040526001805460ff60a01b191690556014805461ffff191690553480156200002957600080fd5b5060405162002674380380620026748339810160408190526200004c9162000367565b600080546001600160a01b038084166001600160a01b0319928316179092556001805492851692909116919091179055600f6011556200008b62000093565b5050620004c0565b600154600160a01b900460ff1615620000ab57600080fd5b6001805460ff60a01b1916600160a01b179055604080516080810190915260518082526200262360208301398051620000ed91600d9160209091019062000220565b5060408051610a71808252610aa0820190925260009160208201818036833701905050905060005b610a718110156200016657603960f81b8282815181106200013a576200013a620004aa565b60200101906001600160f81b031916908160001a905350806200015d8162000480565b91505062000115565b5080516200017c90600c90602084019062000220565b506000600d6040516200019091906200039f565b60405180910390209050600c60026000838152602001908152602001600020908054620001bd9062000443565b620001ca929190620002af565b506000818152600360205260409020600d8054620001e89062000443565b620001f5929190620002af565b5060108190556000818152600e60209081526040808320849055600f909152812091909155600b5550565b8280546200022e9062000443565b90600052602060002090601f0160209004810192826200025257600085556200029d565b82601f106200026d57805160ff19168380011785556200029d565b828001600101855582156200029d579182015b828111156200029d57825182559160200191906001019062000280565b50620002ab92915062000333565b5090565b828054620002bd9062000443565b90600052602060002090601f016020900481019282620002e157600085556200029d565b82601f10620002f457805485556200029d565b828001600101855582156200029d57600052602060002091601f016020900482015b828111156200029d57825482559160010191906001019062000316565b5b80821115620002ab576000815560010162000334565b80516001600160a01b03811681146200036257600080fd5b919050565b600080604083850312156200037b57600080fd5b62000386836200034a565b915062000396602084016200034a565b90509250929050565b600080835481600182811c915080831680620003bc57607f831692505b6020808410821415620003dd57634e487b7160e01b86526022600452602486fd5b818015620003f45760018114620004065762000435565b60ff1986168952848901965062000435565b60008a81526020902060005b868110156200042d5781548b82015290850190830162000412565b505084890196505b509498975050505050505050565b600181811c908216806200045857607f821691505b602082108114156200047a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415620004a357634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b61215380620004d06000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063a91fa7cb11610104578063d45c0ebc116100a2578063de5ed77711610071578063de5ed77714610463578063f306787214610496578063f7a8ffd7146104b6578063fc74fa69146104c957600080fd5b8063d45c0ebc146103ef578063d48a1ce514610402578063d9fc544814610415578063dcb711ff1461042857600080fd5b8063ad69e6a0116100de578063ad69e6a01461037c578063b1406a641461039c578063c1cba762146103bc578063c4c7e151146103dc57600080fd5b8063a91fa7cb14610335578063aa21064f14610360578063ab815b021461036957600080fd5b806350e6b3841161017c578063642f2eaf1161014b578063642f2eaf146102dc5780636a82351e146102ef5780637fa5e2421461030257806391da69af1461031557600080fd5b806350e6b38414610290578063510bcf5f146102a357806355b6193c146102b657806364180204146102c957600080fd5b80632076e796116101b85780632076e79614610234578063428a4e9c1461023d5780634893b64e1461025d57806349607e7d1461027d57600080fd5b8063016d1c68146101df578063018e39981461020857806311cf02ec1461021d575b600080fd5b6101f26101ed366004611bbf565b6104ef565b6040516101ff9190611dc0565b60405180910390f35b61021b610216366004611b55565b6106d2565b005b61022660105481565b6040519081526020016101ff565b61022660115481565b61022661024b366004611b55565b600a6020526000908152604090205481565b61022661026b366004611b55565b600f6020526000908152604090205481565b6101f261028b366004611bf4565b61070a565b61021b61029e366004611bbf565b6107f0565b6102266102b1366004611b6e565b610ba9565b6102266102c4366004611bbf565b610c5f565b61021b6102d7366004611bf4565b610ce0565b6101f26102ea366004611b55565b610d72565b61021b6102fd366004611c39565b610e0c565b6101f2610310366004611bbf565b6113cb565b610226610323366004611b55565b60066020526000908152604090205481565b600054610348906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b610226600b5481565b61021b610377366004611b2c565b6114fa565b61022661038a366004611b55565b600e6020526000908152604090205481565b6102266103aa366004611b55565b60056020526000908152604090205481565b6102266103ca366004611b55565b60096020526000908152604090205481565b600154610348906001600160a01b031681565b61021b6103fd366004611b55565b611546565b61021b610410366004611b2c565b611575565b6101f2610423366004611bf4565b6115c1565b61044e610436366004611b55565b60076020526000908152604090205463ffffffff1681565b60405163ffffffff90911681526020016101ff565b610486610471366004611b55565b60046020526000908152604090205460ff1681565b60405190151581526020016101ff565b6104a96104a4366004611ccd565b611605565b6040516101ff9190611d8c565b6101f26104c4366004611b55565b611735565b61044e6104d7366004611b55565b60086020526000908152604090205463ffffffff1681565b60405160609060009061050a90829081908690602001611d36565b60408051601f19818403018152919052805160208201819020919250600160fd1b908390600a90811061053f5761053f6120f1565b60200101906001600160f81b031916908160001a90535081516020830181902090600160fe1b908490600a908110610579576105796120f1565b60200101906001600160f81b031916908160001a905350825160208401206040805160518082526080820190925260009160208201818036833701905050905060005b602081101561065f578481602081106105d7576105d76120f1565b1a60f81b8282815181106105ed576105ed6120f1565b60200101906001600160f81b031916908160001a905350838160208110610616576106166120f1565b1a60f81b82610626836020611e84565b81518110610636576106366120f1565b60200101906001600160f81b031916908160001a9053508061065781612065565b9150506105bc565b5060005b60118110156106c75782816020811061067e5761067e6120f1565b1a60f81b8261068e836040611e84565b8151811061069e5761069e6120f1565b60200101906001600160f81b031916908160001a905350806106bf81612065565b915050610663565b509695505050505050565b6001546001600160a01b031633146107055760405162461bcd60e51b81526004016106fc90611df5565b60405180910390fd5b601055565b8151602083012060609061071e8382611e84565b6000818152600660205260409020549091508061074e5760405180602001604052806000815250925050506107ea565b600081815260036020526040902080546107679061202a565b80601f01602080910402602001604051908101604052809291908181526020018280546107939061202a565b80156107e05780601f106107b5576101008083540402835291602001916107e0565b820191906000526020600020905b8154815290600101906020018083116107c357829003601f168201915b5050505050925050505b92915050565b80600081905060018151101561080557600080fd5b600160005b825181101561089657828181518110610825576108256120f1565b60209101015160f81c6039148061087b5750604183828151811061084b5761084b6120f1565b016020015160f81c1080159061087b5750605a838281518110610870576108706120f1565b016020015160f81c11155b61088457600091505b8061088e81612065565b91505061080a565b50806108d55760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064016106fc565b6001546001600160a01b031633146108ff5760405162461bcd60e51b81526004016106fc90611df5565b83518490610a71146109535760405162461bcd60e51b815260206004820152601a60248201527f494e56414c4944205452414e53414354494f4e204c454e47544800000000000060448201526064016106fc565b6109e26040518061020001604052806060815260200160608152602001600081526020016060815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160008152602001600063ffffffff168152602001600080191681526020016060815260200160008019168152602001600080191681525090565b602081018690526109f2866104ef565b6101a08201819052805160209182012061018083018190528183015160009182526002835260409091208151610a2d939192909101906119d8565b506101a081015161018082015160009081526003602090815260409091208251610a5c939192909101906119d8565b50610a6c8261097e6109cf61174e565b80516020909101206101c0820152610a89826109cf610a2061174e565b80516020918201206101e083019081526101c0830151610180840180516000908152600e8552604080822093909355925190518352600f8452912055810151610ad79061088b6108dc611819565b8152610ae88261092d61097e61174e565b6101008201819052815180516020918201208251919092012061018083015160405182917fa551994b821690876343950f8de610eb0796baaded797266283c842d257dea9f91610b3a91815260200190565b60405180910390a2817f3a3fefec9be0b15f11bf30dc166021af2910538b9322c12e44963bbbe72f7d7b846101800151604051610b7991815260200190565b60405180910390a2610b9081846101800151611904565b610b9f8284610180015161196e565b5050505050505050565b805160009081905b8015610c58576000610be585610bc8600185611fa7565b81518110610bd857610bd86120f1565b016020015160f81c611605565b604081015190915060010b610bfb846003611edc565b610c059190611e1d565b602082015190935060010b610c1b846003611edc565b610c259190611e1d565b815190935060010b610c38846003611edc565b610c429190611e1d565b9250508080610c5090612013565b915050610bb1565b5092915050565b60008054604051630e7fdbb160e01b81526001600160a01b0390911690630e7fdbb190610c90908590600401611dc0565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ea9190611cf1565b6001546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016106fc90611df5565b600054604051638756ee1960e01b81526001600160a01b0390911690638756ee1990610d3c9085908590600401611dd3565b600060405180830381600087803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b505050505050565b60026020526000908152604090208054610d8b9061202a565b80601f0160208091040260200160405190810160405280929190818152602001828054610db79061202a565b8015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b505050505081565b6001546001600160a01b03163314610e365760405162461bcd60e51b81526004016106fc90611df5565b60008b5161032a14610ebe5760405162461bcd60e51b815260206004820152604560248201527f537472696e67206d75737420636f6e7461696e2031302061646472657373657360448201527f20776974686f757420636865636b73756d20666f722062756c6b2070726f63656064820152647373696e6760d81b608482015260a4016106fc565b6000546001600160a01b0316638756ee19610ee48e84610edf816051611e9c565b611819565b8d6040518363ffffffff1660e01b8152600401610f02929190611dd3565b600060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b50505050605181610f419190611e9c565b6000549091506001600160a01b0316638756ee19610f658e84610edf816051611e9c565b8c6040518363ffffffff1660e01b8152600401610f83929190611dd3565b600060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b50505050605181610fc29190611e9c565b6000549091506001600160a01b0316638756ee19610fe68e84610edf816051611e9c565b8b6040518363ffffffff1660e01b8152600401611004929190611dd3565b600060405180830381600087803b15801561101e57600080fd5b505af1158015611032573d6000803e3d6000fd5b505050506051816110439190611e9c565b6000549091506001600160a01b0316638756ee196110678e84610edf816051611e9c565b8a6040518363ffffffff1660e01b8152600401611085929190611dd3565b600060405180830381600087803b15801561109f57600080fd5b505af11580156110b3573d6000803e3d6000fd5b505050506051816110c49190611e9c565b6000549091506001600160a01b0316638756ee196110e88e84610edf816051611e9c565b896040518363ffffffff1660e01b8152600401611106929190611dd3565b600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050506051816111459190611e9c565b6000549091506001600160a01b0316638756ee196111698e84610edf816051611e9c565b886040518363ffffffff1660e01b8152600401611187929190611dd3565b600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b505050506051816111c69190611e9c565b6000549091506001600160a01b0316638756ee196111ea8e84610edf816051611e9c565b876040518363ffffffff1660e01b8152600401611208929190611dd3565b600060405180830381600087803b15801561122257600080fd5b505af1158015611236573d6000803e3d6000fd5b505050506051816112479190611e9c565b6000549091506001600160a01b0316638756ee1961126b8e84610edf816051611e9c565b866040518363ffffffff1660e01b8152600401611289929190611dd3565b600060405180830381600087803b1580156112a357600080fd5b505af11580156112b7573d6000803e3d6000fd5b505050506051816112c89190611e9c565b6000549091506001600160a01b0316638756ee196112ec8e84610edf816051611e9c565b856040518363ffffffff1660e01b815260040161130a929190611dd3565b600060405180830381600087803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b505050506051816113499190611e9c565b6000549091506001600160a01b0316638756ee1961136d8e84610edf816051611e9c565b846040518363ffffffff1660e01b815260040161138b929190611dd3565b600060405180830381600087803b1580156113a557600080fd5b505af11580156113b9573d6000803e3d6000fd5b50505050505050505050505050505050565b60608160008190506001815110156113e257600080fd5b600160005b825181101561147357828181518110611402576114026120f1565b60209101015160f81c6039148061145857506041838281518110611428576114286120f1565b016020015160f81c108015906114585750605a83828151811061144d5761144d6120f1565b016020015160f81c11155b61146157600091505b8061146b81612065565b9150506113e7565b50806114b25760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064016106fc565b60405162461bcd60e51b815260206004820152601860248201527f66756e6374696f6e206e6f7420696d706c656d656e746564000000000000000060448201526064016106fc565b6001546001600160a01b031633146115245760405162461bcd60e51b81526004016106fc90611df5565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146115705760405162461bcd60e51b81526004016106fc90611df5565b601155565b6001546001600160a01b0316331461159f5760405162461bcd60e51b81526004016106fc90611df5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b815160208301206060906115d58382611e84565b6000818152600560205260409020549091508061074e5760405180602001604052806000815250925050506107ea565b61160d611a5c565b8161ffff166039141561163c575050604080516060810182526000808252602082018190529181019190915290565b60418261ffff16101580156116565750605a8261ffff1611155b6116925760405162461bcd60e51b815260206004820152600d60248201526c494e56414c494420545259544560981b60448201526064016106fc565b600061169f836003611e5e565b9050604051806060016040528060016003846116bb91906120a4565b6116c59190611f61565b60010b60010b81526020016001600380856116e09190611ebb565b6116ea91906120a4565b6116f49190611f61565b60010b60010b8152602001600160036009856117109190611ebb565b61171a91906120a4565b6117249190611f61565b60010b60010b815250915050919050565b60036020526000908152604090208054610d8b9061202a565b6060600061175c8484611fa7565b67ffffffffffffffff81111561177457611774612107565b6040519080825280601f01601f19166020018201604052801561179e576020820181803683370190505b509050835b83811015611810578581815181106117bd576117bd6120f1565b01602001516001600160f81b031916826117d78784611fa7565b815181106117e7576117e76120f1565b60200101906001600160f81b031916908160001a9053508061180881612065565b9150506117a3565b50949350505050565b60608360006118288585611fbe565b63ffffffff1667ffffffffffffffff81111561184657611846612107565b6040519080825280601f01601f191660200182016040528015611870576020820181803683370190505b509050845b8463ffffffff168163ffffffff1610156118fa57828163ffffffff16815181106118a1576118a16120f1565b01602001516001600160f81b031916826118bb8884611fbe565b63ffffffff16815181106118d1576118d16120f1565b60200101906001600160f81b031916908160001a905350806118f281612080565b915050611875565b5095945050505050565b60008281526008602052604081205463ffffffff16906119248285611e84565b600081815260066020526040902084905590508161194181612080565b600095865260086020526040909520805463ffffffff191663ffffffff9096169590951790945550505050565b60008281526007602052604081205463ffffffff169061198e8285611e84565b60008181526005602052604090208490559050816119ab81612080565b600095865260076020526040909520805463ffffffff191663ffffffff9096169590951790945550505050565b8280546119e49061202a565b90600052602060002090601f016020900481019282611a065760008555611a4c565b82601f10611a1f57805160ff1916838001178555611a4c565b82800160010185558215611a4c579182015b82811115611a4c578251825591602001919060010190611a31565b50611a58929150611a7a565b5090565b60405180606001604052806003906020820280368337509192915050565b5b80821115611a585760008155600101611a7b565b600067ffffffffffffffff80841115611aaa57611aaa612107565b604051601f8501601f19908116603f01168101908282118183101715611ad257611ad2612107565b81604052809350858152868686011115611aeb57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611b1657600080fd5b611b2583833560208501611a8f565b9392505050565b600060208284031215611b3e57600080fd5b81356001600160a01b0381168114611b2557600080fd5b600060208284031215611b6757600080fd5b5035919050565b600060208284031215611b8057600080fd5b813567ffffffffffffffff811115611b9757600080fd5b8201601f81018413611ba857600080fd5b611bb784823560208401611a8f565b949350505050565b600060208284031215611bd157600080fd5b813567ffffffffffffffff811115611be857600080fd5b611bb784828501611b05565b60008060408385031215611c0757600080fd5b823567ffffffffffffffff811115611c1e57600080fd5b611c2a85828601611b05565b95602094909401359450505050565b60008060008060008060008060008060006101608c8e031215611c5b57600080fd5b8b3567ffffffffffffffff811115611c7257600080fd5b611c7e8e828f01611b05565b9e60208e01359e5060408e01359d60608101359d5060808101359c5060a08101359b5060c08101359a5060e0810135995061010081013598506101208101359750610140013595509350505050565b600060208284031215611cdf57600080fd5b813561ffff81168114611b2557600080fd5b600060208284031215611d0357600080fd5b5051919050565b60008151808452611d22816020860160208601611fe3565b601f01601f19169290920160200192915050565b657b4355524c7d60d01b81526309082a6960e31b60068201526001600160f81b0319848116600a8301528316600b8201528151600090611d7d81600c850160208701611fe3565b91909101600c01949350505050565b60608101818360005b6003811015611db7578151600190810b84526020938401939092019101611d95565b50505092915050565b602081526000611b256020830184611d0a565b604081526000611de66040830185611d0a565b90508260208301529392505050565b6020808252600e908201526d1393d5081055551213d49256915160921b604082015260600190565b600080821280156001600160ff1b0384900385131615611e3f57611e3f6120c5565b600160ff1b8390038412811615611e5857611e586120c5565b50500190565b600061ffff808316818516808303821115611e7b57611e7b6120c5565b01949350505050565b60008219821115611e9757611e976120c5565b500190565b600063ffffffff808316818516808303821115611e7b57611e7b6120c5565b600061ffff80841680611ed057611ed06120db565b92169190910492915050565b60006001600160ff1b0381841382841380821686840486111615611f0257611f026120c5565b600160ff1b6000871282811687830589121615611f2157611f216120c5565b60008712925087820587128484161615611f3d57611f3d6120c5565b87850587128184161615611f5357611f536120c5565b505050929093029392505050565b60008160010b8360010b6000811281617fff1901831281151615611f8757611f876120c5565b81617fff018313811615611f9d57611f9d6120c5565b5090039392505050565b600082821015611fb957611fb96120c5565b500390565b600063ffffffff83811690831681811015611fdb57611fdb6120c5565b039392505050565b60005b83811015611ffe578181015183820152602001611fe6565b8381111561200d576000848401525b50505050565b600081612022576120226120c5565b506000190190565b600181811c9082168061203e57607f821691505b6020821081141561205f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612079576120796120c5565b5060010190565b600063ffffffff8083168181141561209a5761209a6120c5565b6001019392505050565b600061ffff808416806120b9576120b96120db565b92169190910692915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122077f6146a739251a90e211580067af49d3278b1df2d04c6bf91b01a9f41a3f4f664736f6c63430008070033393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939",
    61  }
    62  
    63  // ADKTokenABI is the input ABI used to generate the binding from.
    64  // Deprecated: Use ADKTokenMetaData.ABI instead.
    65  var ADKTokenABI = ADKTokenMetaData.ABI
    66  
    67  // Deprecated: Use ADKTokenMetaData.Sigs instead.
    68  // ADKTokenFuncSigs maps the 4-byte function signature to its string representation.
    69  var ADKTokenFuncSigs = ADKTokenMetaData.Sigs
    70  
    71  // ADKTokenBin is the compiled bytecode used for deploying new contracts.
    72  // Deprecated: Use ADKTokenMetaData.Bin instead.
    73  var ADKTokenBin = ADKTokenMetaData.Bin
    74  
    75  // DeployADKToken deploys a new Ethereum contract, binding an instance of ADKToken to it.
    76  func DeployADKToken(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ADKToken, error) {
    77  	parsed, err := ADKTokenMetaData.GetAbi()
    78  	if err != nil {
    79  		return common.Address{}, nil, nil, err
    80  	}
    81  	if parsed == nil {
    82  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
    83  	}
    84  
    85  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ADKTokenBin), backend)
    86  	if err != nil {
    87  		return common.Address{}, nil, nil, err
    88  	}
    89  	return address, tx, &ADKToken{ADKTokenCaller: ADKTokenCaller{contract: contract}, ADKTokenTransactor: ADKTokenTransactor{contract: contract}, ADKTokenFilterer: ADKTokenFilterer{contract: contract}}, nil
    90  }
    91  
    92  // ADKToken is an auto generated Go binding around an Ethereum contract.
    93  type ADKToken struct {
    94  	ADKTokenCaller     // Read-only binding to the contract
    95  	ADKTokenTransactor // Write-only binding to the contract
    96  	ADKTokenFilterer   // Log filterer for contract events
    97  }
    98  
    99  // ADKTokenCaller is an auto generated read-only Go binding around an Ethereum contract.
   100  type ADKTokenCaller struct {
   101  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   102  }
   103  
   104  // ADKTokenTransactor is an auto generated write-only Go binding around an Ethereum contract.
   105  type ADKTokenTransactor struct {
   106  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   107  }
   108  
   109  // ADKTokenFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
   110  type ADKTokenFilterer struct {
   111  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   112  }
   113  
   114  // ADKTokenSession is an auto generated Go binding around an Ethereum contract,
   115  // with pre-set call and transact options.
   116  type ADKTokenSession struct {
   117  	Contract     *ADKToken         // Generic contract binding to set the session for
   118  	CallOpts     bind.CallOpts     // Call options to use throughout this session
   119  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
   120  }
   121  
   122  // ADKTokenCallerSession is an auto generated read-only Go binding around an Ethereum contract,
   123  // with pre-set call options.
   124  type ADKTokenCallerSession struct {
   125  	Contract *ADKTokenCaller // Generic contract caller binding to set the session for
   126  	CallOpts bind.CallOpts   // Call options to use throughout this session
   127  }
   128  
   129  // ADKTokenTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   130  // with pre-set transact options.
   131  type ADKTokenTransactorSession struct {
   132  	Contract     *ADKTokenTransactor // Generic contract transactor binding to set the session for
   133  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
   134  }
   135  
   136  // ADKTokenRaw is an auto generated low-level Go binding around an Ethereum contract.
   137  type ADKTokenRaw struct {
   138  	Contract *ADKToken // Generic contract binding to access the raw methods on
   139  }
   140  
   141  // ADKTokenCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   142  type ADKTokenCallerRaw struct {
   143  	Contract *ADKTokenCaller // Generic read-only contract binding to access the raw methods on
   144  }
   145  
   146  // ADKTokenTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   147  type ADKTokenTransactorRaw struct {
   148  	Contract *ADKTokenTransactor // Generic write-only contract binding to access the raw methods on
   149  }
   150  
   151  // NewADKToken creates a new instance of ADKToken, bound to a specific deployed contract.
   152  func NewADKToken(address common.Address, backend bind.ContractBackend) (*ADKToken, error) {
   153  	contract, err := bindADKToken(address, backend, backend, backend)
   154  	if err != nil {
   155  		return nil, err
   156  	}
   157  	return &ADKToken{ADKTokenCaller: ADKTokenCaller{contract: contract}, ADKTokenTransactor: ADKTokenTransactor{contract: contract}, ADKTokenFilterer: ADKTokenFilterer{contract: contract}}, nil
   158  }
   159  
   160  // NewADKTokenCaller creates a new read-only instance of ADKToken, bound to a specific deployed contract.
   161  func NewADKTokenCaller(address common.Address, caller bind.ContractCaller) (*ADKTokenCaller, error) {
   162  	contract, err := bindADKToken(address, caller, nil, nil)
   163  	if err != nil {
   164  		return nil, err
   165  	}
   166  	return &ADKTokenCaller{contract: contract}, nil
   167  }
   168  
   169  // NewADKTokenTransactor creates a new write-only instance of ADKToken, bound to a specific deployed contract.
   170  func NewADKTokenTransactor(address common.Address, transactor bind.ContractTransactor) (*ADKTokenTransactor, error) {
   171  	contract, err := bindADKToken(address, nil, transactor, nil)
   172  	if err != nil {
   173  		return nil, err
   174  	}
   175  	return &ADKTokenTransactor{contract: contract}, nil
   176  }
   177  
   178  // NewADKTokenFilterer creates a new log filterer instance of ADKToken, bound to a specific deployed contract.
   179  func NewADKTokenFilterer(address common.Address, filterer bind.ContractFilterer) (*ADKTokenFilterer, error) {
   180  	contract, err := bindADKToken(address, nil, nil, filterer)
   181  	if err != nil {
   182  		return nil, err
   183  	}
   184  	return &ADKTokenFilterer{contract: contract}, nil
   185  }
   186  
   187  // bindADKToken binds a generic wrapper to an already deployed contract.
   188  func bindADKToken(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   189  	parsed, err := abi.JSON(strings.NewReader(ADKTokenABI))
   190  	if err != nil {
   191  		return nil, err
   192  	}
   193  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   194  }
   195  
   196  // Call invokes the (constant) contract method with params as input values and
   197  // sets the output to result. The result type might be a single field for simple
   198  // returns, a slice of interfaces for anonymous returns and a struct for named
   199  // returns.
   200  func (_ADKToken *ADKTokenRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   201  	return _ADKToken.Contract.ADKTokenCaller.contract.Call(opts, result, method, params...)
   202  }
   203  
   204  // Transfer initiates a plain transaction to move funds to the contract, calling
   205  // its default method if one is available.
   206  func (_ADKToken *ADKTokenRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   207  	return _ADKToken.Contract.ADKTokenTransactor.contract.Transfer(opts)
   208  }
   209  
   210  // Transact invokes the (paid) contract method with params as input values.
   211  func (_ADKToken *ADKTokenRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   212  	return _ADKToken.Contract.ADKTokenTransactor.contract.Transact(opts, method, params...)
   213  }
   214  
   215  // Call invokes the (constant) contract method with params as input values and
   216  // sets the output to result. The result type might be a single field for simple
   217  // returns, a slice of interfaces for anonymous returns and a struct for named
   218  // returns.
   219  func (_ADKToken *ADKTokenCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   220  	return _ADKToken.Contract.contract.Call(opts, result, method, params...)
   221  }
   222  
   223  // Transfer initiates a plain transaction to move funds to the contract, calling
   224  // its default method if one is available.
   225  func (_ADKToken *ADKTokenTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   226  	return _ADKToken.Contract.contract.Transfer(opts)
   227  }
   228  
   229  // Transact invokes the (paid) contract method with params as input values.
   230  func (_ADKToken *ADKTokenTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   231  	return _ADKToken.Contract.contract.Transact(opts, method, params...)
   232  }
   233  
   234  // ADDRTOAZ9 is a free data retrieval call binding the contract method 0xb79c88ec.
   235  //
   236  // Solidity: function ADDR_TO_AZ9(address ethAddr) pure returns(string)
   237  func (_ADKToken *ADKTokenCaller) ADDRTOAZ9(opts *bind.CallOpts, ethAddr common.Address) (string, error) {
   238  	var out []interface{}
   239  	err := _ADKToken.contract.Call(opts, &out, "ADDR_TO_AZ9", ethAddr)
   240  
   241  	if err != nil {
   242  		return *new(string), err
   243  	}
   244  
   245  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   246  
   247  	return out0, err
   248  
   249  }
   250  
   251  // ADDRTOAZ9 is a free data retrieval call binding the contract method 0xb79c88ec.
   252  //
   253  // Solidity: function ADDR_TO_AZ9(address ethAddr) pure returns(string)
   254  func (_ADKToken *ADKTokenSession) ADDRTOAZ9(ethAddr common.Address) (string, error) {
   255  	return _ADKToken.Contract.ADDRTOAZ9(&_ADKToken.CallOpts, ethAddr)
   256  }
   257  
   258  // ADDRTOAZ9 is a free data retrieval call binding the contract method 0xb79c88ec.
   259  //
   260  // Solidity: function ADDR_TO_AZ9(address ethAddr) pure returns(string)
   261  func (_ADKToken *ADKTokenCallerSession) ADDRTOAZ9(ethAddr common.Address) (string, error) {
   262  	return _ADKToken.Contract.ADDRTOAZ9(&_ADKToken.CallOpts, ethAddr)
   263  }
   264  
   265  // ADKTransactionsContract is a free data retrieval call binding the contract method 0x8ab04a78.
   266  //
   267  // Solidity: function ADKTransactionsContract() view returns(address)
   268  func (_ADKToken *ADKTokenCaller) ADKTransactionsContract(opts *bind.CallOpts) (common.Address, error) {
   269  	var out []interface{}
   270  	err := _ADKToken.contract.Call(opts, &out, "ADKTransactionsContract")
   271  
   272  	if err != nil {
   273  		return *new(common.Address), err
   274  	}
   275  
   276  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   277  
   278  	return out0, err
   279  
   280  }
   281  
   282  // ADKTransactionsContract is a free data retrieval call binding the contract method 0x8ab04a78.
   283  //
   284  // Solidity: function ADKTransactionsContract() view returns(address)
   285  func (_ADKToken *ADKTokenSession) ADKTransactionsContract() (common.Address, error) {
   286  	return _ADKToken.Contract.ADKTransactionsContract(&_ADKToken.CallOpts)
   287  }
   288  
   289  // ADKTransactionsContract is a free data retrieval call binding the contract method 0x8ab04a78.
   290  //
   291  // Solidity: function ADKTransactionsContract() view returns(address)
   292  func (_ADKToken *ADKTokenCallerSession) ADKTransactionsContract() (common.Address, error) {
   293  	return _ADKToken.Contract.ADKTransactionsContract(&_ADKToken.CallOpts)
   294  }
   295  
   296  // AGSBalanceOf is a free data retrieval call binding the contract method 0xc977acd9.
   297  //
   298  // Solidity: function AGSBalanceOf(address _addr) view returns(uint256 balance)
   299  func (_ADKToken *ADKTokenCaller) AGSBalanceOf(opts *bind.CallOpts, _addr common.Address) (*big.Int, error) {
   300  	var out []interface{}
   301  	err := _ADKToken.contract.Call(opts, &out, "AGSBalanceOf", _addr)
   302  
   303  	if err != nil {
   304  		return *new(*big.Int), err
   305  	}
   306  
   307  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   308  
   309  	return out0, err
   310  
   311  }
   312  
   313  // AGSBalanceOf is a free data retrieval call binding the contract method 0xc977acd9.
   314  //
   315  // Solidity: function AGSBalanceOf(address _addr) view returns(uint256 balance)
   316  func (_ADKToken *ADKTokenSession) AGSBalanceOf(_addr common.Address) (*big.Int, error) {
   317  	return _ADKToken.Contract.AGSBalanceOf(&_ADKToken.CallOpts, _addr)
   318  }
   319  
   320  // AGSBalanceOf is a free data retrieval call binding the contract method 0xc977acd9.
   321  //
   322  // Solidity: function AGSBalanceOf(address _addr) view returns(uint256 balance)
   323  func (_ADKToken *ADKTokenCallerSession) AGSBalanceOf(_addr common.Address) (*big.Int, error) {
   324  	return _ADKToken.Contract.AGSBalanceOf(&_ADKToken.CallOpts, _addr)
   325  }
   326  
   327  // AGSClaimContract is a free data retrieval call binding the contract method 0x41ef2686.
   328  //
   329  // Solidity: function AGSClaimContract() view returns(address)
   330  func (_ADKToken *ADKTokenCaller) AGSClaimContract(opts *bind.CallOpts) (common.Address, error) {
   331  	var out []interface{}
   332  	err := _ADKToken.contract.Call(opts, &out, "AGSClaimContract")
   333  
   334  	if err != nil {
   335  		return *new(common.Address), err
   336  	}
   337  
   338  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   339  
   340  	return out0, err
   341  
   342  }
   343  
   344  // AGSClaimContract is a free data retrieval call binding the contract method 0x41ef2686.
   345  //
   346  // Solidity: function AGSClaimContract() view returns(address)
   347  func (_ADKToken *ADKTokenSession) AGSClaimContract() (common.Address, error) {
   348  	return _ADKToken.Contract.AGSClaimContract(&_ADKToken.CallOpts)
   349  }
   350  
   351  // AGSClaimContract is a free data retrieval call binding the contract method 0x41ef2686.
   352  //
   353  // Solidity: function AGSClaimContract() view returns(address)
   354  func (_ADKToken *ADKTokenCallerSession) AGSClaimContract() (common.Address, error) {
   355  	return _ADKToken.Contract.AGSClaimContract(&_ADKToken.CallOpts)
   356  }
   357  
   358  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
   359  //
   360  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
   361  func (_ADKToken *ADKTokenCaller) AZ9TOADDR(opts *bind.CallOpts, adkString string) (common.Address, error) {
   362  	var out []interface{}
   363  	err := _ADKToken.contract.Call(opts, &out, "AZ9_TO_ADDR", adkString)
   364  
   365  	if err != nil {
   366  		return *new(common.Address), err
   367  	}
   368  
   369  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   370  
   371  	return out0, err
   372  
   373  }
   374  
   375  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
   376  //
   377  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
   378  func (_ADKToken *ADKTokenSession) AZ9TOADDR(adkString string) (common.Address, error) {
   379  	return _ADKToken.Contract.AZ9TOADDR(&_ADKToken.CallOpts, adkString)
   380  }
   381  
   382  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
   383  //
   384  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
   385  func (_ADKToken *ADKTokenCallerSession) AZ9TOADDR(adkString string) (common.Address, error) {
   386  	return _ADKToken.Contract.AZ9TOADDR(&_ADKToken.CallOpts, adkString)
   387  }
   388  
   389  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
   390  //
   391  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
   392  func (_ADKToken *ADKTokenCaller) AZ9balanceOf(opts *bind.CallOpts, _adkAddr string) (*big.Int, error) {
   393  	var out []interface{}
   394  	err := _ADKToken.contract.Call(opts, &out, "AZ9balanceOf", _adkAddr)
   395  
   396  	if err != nil {
   397  		return *new(*big.Int), err
   398  	}
   399  
   400  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   401  
   402  	return out0, err
   403  
   404  }
   405  
   406  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
   407  //
   408  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
   409  func (_ADKToken *ADKTokenSession) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
   410  	return _ADKToken.Contract.AZ9balanceOf(&_ADKToken.CallOpts, _adkAddr)
   411  }
   412  
   413  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
   414  //
   415  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
   416  func (_ADKToken *ADKTokenCallerSession) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
   417  	return _ADKToken.Contract.AZ9balanceOf(&_ADKToken.CallOpts, _adkAddr)
   418  }
   419  
   420  // BADDRTOAZ9 is a free data retrieval call binding the contract method 0x78f7c041.
   421  //
   422  // Solidity: function BADDR_TO_AZ9(bytes ethAddr) pure returns(string)
   423  func (_ADKToken *ADKTokenCaller) BADDRTOAZ9(opts *bind.CallOpts, ethAddr []byte) (string, error) {
   424  	var out []interface{}
   425  	err := _ADKToken.contract.Call(opts, &out, "BADDR_TO_AZ9", ethAddr)
   426  
   427  	if err != nil {
   428  		return *new(string), err
   429  	}
   430  
   431  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   432  
   433  	return out0, err
   434  
   435  }
   436  
   437  // BADDRTOAZ9 is a free data retrieval call binding the contract method 0x78f7c041.
   438  //
   439  // Solidity: function BADDR_TO_AZ9(bytes ethAddr) pure returns(string)
   440  func (_ADKToken *ADKTokenSession) BADDRTOAZ9(ethAddr []byte) (string, error) {
   441  	return _ADKToken.Contract.BADDRTOAZ9(&_ADKToken.CallOpts, ethAddr)
   442  }
   443  
   444  // BADDRTOAZ9 is a free data retrieval call binding the contract method 0x78f7c041.
   445  //
   446  // Solidity: function BADDR_TO_AZ9(bytes ethAddr) pure returns(string)
   447  func (_ADKToken *ADKTokenCallerSession) BADDRTOAZ9(ethAddr []byte) (string, error) {
   448  	return _ADKToken.Contract.BADDRTOAZ9(&_ADKToken.CallOpts, ethAddr)
   449  }
   450  
   451  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
   452  //
   453  // Solidity: function adkgo_genesis_address() view returns(address)
   454  func (_ADKToken *ADKTokenCaller) AdkgoGenesisAddress(opts *bind.CallOpts) (common.Address, error) {
   455  	var out []interface{}
   456  	err := _ADKToken.contract.Call(opts, &out, "adkgo_genesis_address")
   457  
   458  	if err != nil {
   459  		return *new(common.Address), err
   460  	}
   461  
   462  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   463  
   464  	return out0, err
   465  
   466  }
   467  
   468  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
   469  //
   470  // Solidity: function adkgo_genesis_address() view returns(address)
   471  func (_ADKToken *ADKTokenSession) AdkgoGenesisAddress() (common.Address, error) {
   472  	return _ADKToken.Contract.AdkgoGenesisAddress(&_ADKToken.CallOpts)
   473  }
   474  
   475  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
   476  //
   477  // Solidity: function adkgo_genesis_address() view returns(address)
   478  func (_ADKToken *ADKTokenCallerSession) AdkgoGenesisAddress() (common.Address, error) {
   479  	return _ADKToken.Contract.AdkgoGenesisAddress(&_ADKToken.CallOpts)
   480  }
   481  
   482  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   483  //
   484  // Solidity: function allowance(address _owner, address _spender) view returns(uint256 remaining)
   485  func (_ADKToken *ADKTokenCaller) Allowance(opts *bind.CallOpts, _owner common.Address, _spender common.Address) (*big.Int, error) {
   486  	var out []interface{}
   487  	err := _ADKToken.contract.Call(opts, &out, "allowance", _owner, _spender)
   488  
   489  	if err != nil {
   490  		return *new(*big.Int), err
   491  	}
   492  
   493  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   494  
   495  	return out0, err
   496  
   497  }
   498  
   499  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   500  //
   501  // Solidity: function allowance(address _owner, address _spender) view returns(uint256 remaining)
   502  func (_ADKToken *ADKTokenSession) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) {
   503  	return _ADKToken.Contract.Allowance(&_ADKToken.CallOpts, _owner, _spender)
   504  }
   505  
   506  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   507  //
   508  // Solidity: function allowance(address _owner, address _spender) view returns(uint256 remaining)
   509  func (_ADKToken *ADKTokenCallerSession) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) {
   510  	return _ADKToken.Contract.Allowance(&_ADKToken.CallOpts, _owner, _spender)
   511  }
   512  
   513  // Allowed is a free data retrieval call binding the contract method 0x5c658165.
   514  //
   515  // Solidity: function allowed(address , address ) view returns(uint256)
   516  func (_ADKToken *ADKTokenCaller) Allowed(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   517  	var out []interface{}
   518  	err := _ADKToken.contract.Call(opts, &out, "allowed", arg0, arg1)
   519  
   520  	if err != nil {
   521  		return *new(*big.Int), err
   522  	}
   523  
   524  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   525  
   526  	return out0, err
   527  
   528  }
   529  
   530  // Allowed is a free data retrieval call binding the contract method 0x5c658165.
   531  //
   532  // Solidity: function allowed(address , address ) view returns(uint256)
   533  func (_ADKToken *ADKTokenSession) Allowed(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   534  	return _ADKToken.Contract.Allowed(&_ADKToken.CallOpts, arg0, arg1)
   535  }
   536  
   537  // Allowed is a free data retrieval call binding the contract method 0x5c658165.
   538  //
   539  // Solidity: function allowed(address , address ) view returns(uint256)
   540  func (_ADKToken *ADKTokenCallerSession) Allowed(arg0 common.Address, arg1 common.Address) (*big.Int, error) {
   541  	return _ADKToken.Contract.Allowed(&_ADKToken.CallOpts, arg0, arg1)
   542  }
   543  
   544  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   545  //
   546  // Solidity: function balanceOf(address _owner) view returns(uint256 balance)
   547  func (_ADKToken *ADKTokenCaller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) {
   548  	var out []interface{}
   549  	err := _ADKToken.contract.Call(opts, &out, "balanceOf", _owner)
   550  
   551  	if err != nil {
   552  		return *new(*big.Int), err
   553  	}
   554  
   555  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   556  
   557  	return out0, err
   558  
   559  }
   560  
   561  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   562  //
   563  // Solidity: function balanceOf(address _owner) view returns(uint256 balance)
   564  func (_ADKToken *ADKTokenSession) BalanceOf(_owner common.Address) (*big.Int, error) {
   565  	return _ADKToken.Contract.BalanceOf(&_ADKToken.CallOpts, _owner)
   566  }
   567  
   568  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   569  //
   570  // Solidity: function balanceOf(address _owner) view returns(uint256 balance)
   571  func (_ADKToken *ADKTokenCallerSession) BalanceOf(_owner common.Address) (*big.Int, error) {
   572  	return _ADKToken.Contract.BalanceOf(&_ADKToken.CallOpts, _owner)
   573  }
   574  
   575  // Balances is a free data retrieval call binding the contract method 0x27e235e3.
   576  //
   577  // Solidity: function balances(address ) view returns(uint256)
   578  func (_ADKToken *ADKTokenCaller) Balances(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
   579  	var out []interface{}
   580  	err := _ADKToken.contract.Call(opts, &out, "balances", arg0)
   581  
   582  	if err != nil {
   583  		return *new(*big.Int), err
   584  	}
   585  
   586  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   587  
   588  	return out0, err
   589  
   590  }
   591  
   592  // Balances is a free data retrieval call binding the contract method 0x27e235e3.
   593  //
   594  // Solidity: function balances(address ) view returns(uint256)
   595  func (_ADKToken *ADKTokenSession) Balances(arg0 common.Address) (*big.Int, error) {
   596  	return _ADKToken.Contract.Balances(&_ADKToken.CallOpts, arg0)
   597  }
   598  
   599  // Balances is a free data retrieval call binding the contract method 0x27e235e3.
   600  //
   601  // Solidity: function balances(address ) view returns(uint256)
   602  func (_ADKToken *ADKTokenCallerSession) Balances(arg0 common.Address) (*big.Int, error) {
   603  	return _ADKToken.Contract.Balances(&_ADKToken.CallOpts, arg0)
   604  }
   605  
   606  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   607  //
   608  // Solidity: function decimals() view returns(uint8)
   609  func (_ADKToken *ADKTokenCaller) Decimals(opts *bind.CallOpts) (uint8, error) {
   610  	var out []interface{}
   611  	err := _ADKToken.contract.Call(opts, &out, "decimals")
   612  
   613  	if err != nil {
   614  		return *new(uint8), err
   615  	}
   616  
   617  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   618  
   619  	return out0, err
   620  
   621  }
   622  
   623  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   624  //
   625  // Solidity: function decimals() view returns(uint8)
   626  func (_ADKToken *ADKTokenSession) Decimals() (uint8, error) {
   627  	return _ADKToken.Contract.Decimals(&_ADKToken.CallOpts)
   628  }
   629  
   630  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   631  //
   632  // Solidity: function decimals() view returns(uint8)
   633  func (_ADKToken *ADKTokenCallerSession) Decimals() (uint8, error) {
   634  	return _ADKToken.Contract.Decimals(&_ADKToken.CallOpts)
   635  }
   636  
   637  // KnownAddresses is a free data retrieval call binding the contract method 0x3f43347a.
   638  //
   639  // Solidity: function known_addresses(address ) view returns(string)
   640  func (_ADKToken *ADKTokenCaller) KnownAddresses(opts *bind.CallOpts, arg0 common.Address) (string, error) {
   641  	var out []interface{}
   642  	err := _ADKToken.contract.Call(opts, &out, "known_addresses", arg0)
   643  
   644  	if err != nil {
   645  		return *new(string), err
   646  	}
   647  
   648  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   649  
   650  	return out0, err
   651  
   652  }
   653  
   654  // KnownAddresses is a free data retrieval call binding the contract method 0x3f43347a.
   655  //
   656  // Solidity: function known_addresses(address ) view returns(string)
   657  func (_ADKToken *ADKTokenSession) KnownAddresses(arg0 common.Address) (string, error) {
   658  	return _ADKToken.Contract.KnownAddresses(&_ADKToken.CallOpts, arg0)
   659  }
   660  
   661  // KnownAddresses is a free data retrieval call binding the contract method 0x3f43347a.
   662  //
   663  // Solidity: function known_addresses(address ) view returns(string)
   664  func (_ADKToken *ADKTokenCallerSession) KnownAddresses(arg0 common.Address) (string, error) {
   665  	return _ADKToken.Contract.KnownAddresses(&_ADKToken.CallOpts, arg0)
   666  }
   667  
   668  // LinkedListAllBalances is a free data retrieval call binding the contract method 0x2a5d2cf7.
   669  //
   670  // Solidity: function linked_list_all_balances(address ) view returns(address)
   671  func (_ADKToken *ADKTokenCaller) LinkedListAllBalances(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) {
   672  	var out []interface{}
   673  	err := _ADKToken.contract.Call(opts, &out, "linked_list_all_balances", arg0)
   674  
   675  	if err != nil {
   676  		return *new(common.Address), err
   677  	}
   678  
   679  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   680  
   681  	return out0, err
   682  
   683  }
   684  
   685  // LinkedListAllBalances is a free data retrieval call binding the contract method 0x2a5d2cf7.
   686  //
   687  // Solidity: function linked_list_all_balances(address ) view returns(address)
   688  func (_ADKToken *ADKTokenSession) LinkedListAllBalances(arg0 common.Address) (common.Address, error) {
   689  	return _ADKToken.Contract.LinkedListAllBalances(&_ADKToken.CallOpts, arg0)
   690  }
   691  
   692  // LinkedListAllBalances is a free data retrieval call binding the contract method 0x2a5d2cf7.
   693  //
   694  // Solidity: function linked_list_all_balances(address ) view returns(address)
   695  func (_ADKToken *ADKTokenCallerSession) LinkedListAllBalances(arg0 common.Address) (common.Address, error) {
   696  	return _ADKToken.Contract.LinkedListAllBalances(&_ADKToken.CallOpts, arg0)
   697  }
   698  
   699  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   700  //
   701  // Solidity: function name() view returns(string)
   702  func (_ADKToken *ADKTokenCaller) Name(opts *bind.CallOpts) (string, error) {
   703  	var out []interface{}
   704  	err := _ADKToken.contract.Call(opts, &out, "name")
   705  
   706  	if err != nil {
   707  		return *new(string), err
   708  	}
   709  
   710  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   711  
   712  	return out0, err
   713  
   714  }
   715  
   716  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   717  //
   718  // Solidity: function name() view returns(string)
   719  func (_ADKToken *ADKTokenSession) Name() (string, error) {
   720  	return _ADKToken.Contract.Name(&_ADKToken.CallOpts)
   721  }
   722  
   723  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   724  //
   725  // Solidity: function name() view returns(string)
   726  func (_ADKToken *ADKTokenCallerSession) Name() (string, error) {
   727  	return _ADKToken.Contract.Name(&_ADKToken.CallOpts)
   728  }
   729  
   730  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   731  //
   732  // Solidity: function symbol() view returns(string)
   733  func (_ADKToken *ADKTokenCaller) Symbol(opts *bind.CallOpts) (string, error) {
   734  	var out []interface{}
   735  	err := _ADKToken.contract.Call(opts, &out, "symbol")
   736  
   737  	if err != nil {
   738  		return *new(string), err
   739  	}
   740  
   741  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   742  
   743  	return out0, err
   744  
   745  }
   746  
   747  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   748  //
   749  // Solidity: function symbol() view returns(string)
   750  func (_ADKToken *ADKTokenSession) Symbol() (string, error) {
   751  	return _ADKToken.Contract.Symbol(&_ADKToken.CallOpts)
   752  }
   753  
   754  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   755  //
   756  // Solidity: function symbol() view returns(string)
   757  func (_ADKToken *ADKTokenCallerSession) Symbol() (string, error) {
   758  	return _ADKToken.Contract.Symbol(&_ADKToken.CallOpts)
   759  }
   760  
   761  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   762  //
   763  // Solidity: function totalSupply() view returns(uint256)
   764  func (_ADKToken *ADKTokenCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
   765  	var out []interface{}
   766  	err := _ADKToken.contract.Call(opts, &out, "totalSupply")
   767  
   768  	if err != nil {
   769  		return *new(*big.Int), err
   770  	}
   771  
   772  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   773  
   774  	return out0, err
   775  
   776  }
   777  
   778  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   779  //
   780  // Solidity: function totalSupply() view returns(uint256)
   781  func (_ADKToken *ADKTokenSession) TotalSupply() (*big.Int, error) {
   782  	return _ADKToken.Contract.TotalSupply(&_ADKToken.CallOpts)
   783  }
   784  
   785  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   786  //
   787  // Solidity: function totalSupply() view returns(uint256)
   788  func (_ADKToken *ADKTokenCallerSession) TotalSupply() (*big.Int, error) {
   789  	return _ADKToken.Contract.TotalSupply(&_ADKToken.CallOpts)
   790  }
   791  
   792  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   793  //
   794  // Solidity: function approve(address _spender, uint256 _value) returns(bool success)
   795  func (_ADKToken *ADKTokenTransactor) Approve(opts *bind.TransactOpts, _spender common.Address, _value *big.Int) (*types.Transaction, error) {
   796  	return _ADKToken.contract.Transact(opts, "approve", _spender, _value)
   797  }
   798  
   799  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   800  //
   801  // Solidity: function approve(address _spender, uint256 _value) returns(bool success)
   802  func (_ADKToken *ADKTokenSession) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
   803  	return _ADKToken.Contract.Approve(&_ADKToken.TransactOpts, _spender, _value)
   804  }
   805  
   806  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   807  //
   808  // Solidity: function approve(address _spender, uint256 _value) returns(bool success)
   809  func (_ADKToken *ADKTokenTransactorSession) Approve(_spender common.Address, _value *big.Int) (*types.Transaction, error) {
   810  	return _ADKToken.Contract.Approve(&_ADKToken.TransactOpts, _spender, _value)
   811  }
   812  
   813  // GenesisTransaction is a paid mutator transaction binding the contract method 0xa85cfb66.
   814  //
   815  // Solidity: function genesisTransaction(string _meshaddr, int256 _value) returns()
   816  func (_ADKToken *ADKTokenTransactor) GenesisTransaction(opts *bind.TransactOpts, _meshaddr string, _value *big.Int) (*types.Transaction, error) {
   817  	return _ADKToken.contract.Transact(opts, "genesisTransaction", _meshaddr, _value)
   818  }
   819  
   820  // GenesisTransaction is a paid mutator transaction binding the contract method 0xa85cfb66.
   821  //
   822  // Solidity: function genesisTransaction(string _meshaddr, int256 _value) returns()
   823  func (_ADKToken *ADKTokenSession) GenesisTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
   824  	return _ADKToken.Contract.GenesisTransaction(&_ADKToken.TransactOpts, _meshaddr, _value)
   825  }
   826  
   827  // GenesisTransaction is a paid mutator transaction binding the contract method 0xa85cfb66.
   828  //
   829  // Solidity: function genesisTransaction(string _meshaddr, int256 _value) returns()
   830  func (_ADKToken *ADKTokenTransactorSession) GenesisTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
   831  	return _ADKToken.Contract.GenesisTransaction(&_ADKToken.TransactOpts, _meshaddr, _value)
   832  }
   833  
   834  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
   835  //
   836  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
   837  func (_ADKToken *ADKTokenTransactor) MeshTransaction(opts *bind.TransactOpts, _meshaddr string, _value *big.Int) (*types.Transaction, error) {
   838  	return _ADKToken.contract.Transact(opts, "meshTransaction", _meshaddr, _value)
   839  }
   840  
   841  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
   842  //
   843  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
   844  func (_ADKToken *ADKTokenSession) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
   845  	return _ADKToken.Contract.MeshTransaction(&_ADKToken.TransactOpts, _meshaddr, _value)
   846  }
   847  
   848  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
   849  //
   850  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
   851  func (_ADKToken *ADKTokenTransactorSession) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
   852  	return _ADKToken.Contract.MeshTransaction(&_ADKToken.TransactOpts, _meshaddr, _value)
   853  }
   854  
   855  // RegisterAddress is a paid mutator transaction binding the contract method 0xbb1bd28f.
   856  //
   857  // Solidity: function registerAddress(string _meshaddr) returns()
   858  func (_ADKToken *ADKTokenTransactor) RegisterAddress(opts *bind.TransactOpts, _meshaddr string) (*types.Transaction, error) {
   859  	return _ADKToken.contract.Transact(opts, "registerAddress", _meshaddr)
   860  }
   861  
   862  // RegisterAddress is a paid mutator transaction binding the contract method 0xbb1bd28f.
   863  //
   864  // Solidity: function registerAddress(string _meshaddr) returns()
   865  func (_ADKToken *ADKTokenSession) RegisterAddress(_meshaddr string) (*types.Transaction, error) {
   866  	return _ADKToken.Contract.RegisterAddress(&_ADKToken.TransactOpts, _meshaddr)
   867  }
   868  
   869  // RegisterAddress is a paid mutator transaction binding the contract method 0xbb1bd28f.
   870  //
   871  // Solidity: function registerAddress(string _meshaddr) returns()
   872  func (_ADKToken *ADKTokenTransactorSession) RegisterAddress(_meshaddr string) (*types.Transaction, error) {
   873  	return _ADKToken.Contract.RegisterAddress(&_ADKToken.TransactOpts, _meshaddr)
   874  }
   875  
   876  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   877  //
   878  // Solidity: function transfer(address _to, uint256 _value) returns(bool success)
   879  func (_ADKToken *ADKTokenTransactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) {
   880  	return _ADKToken.contract.Transact(opts, "transfer", _to, _value)
   881  }
   882  
   883  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   884  //
   885  // Solidity: function transfer(address _to, uint256 _value) returns(bool success)
   886  func (_ADKToken *ADKTokenSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) {
   887  	return _ADKToken.Contract.Transfer(&_ADKToken.TransactOpts, _to, _value)
   888  }
   889  
   890  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   891  //
   892  // Solidity: function transfer(address _to, uint256 _value) returns(bool success)
   893  func (_ADKToken *ADKTokenTransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) {
   894  	return _ADKToken.Contract.Transfer(&_ADKToken.TransactOpts, _to, _value)
   895  }
   896  
   897  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   898  //
   899  // Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success)
   900  func (_ADKToken *ADKTokenTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
   901  	return _ADKToken.contract.Transact(opts, "transferFrom", _from, _to, _value)
   902  }
   903  
   904  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   905  //
   906  // Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success)
   907  func (_ADKToken *ADKTokenSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
   908  	return _ADKToken.Contract.TransferFrom(&_ADKToken.TransactOpts, _from, _to, _value)
   909  }
   910  
   911  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   912  //
   913  // Solidity: function transferFrom(address _from, address _to, uint256 _value) returns(bool success)
   914  func (_ADKToken *ADKTokenTransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) {
   915  	return _ADKToken.Contract.TransferFrom(&_ADKToken.TransactOpts, _from, _to, _value)
   916  }
   917  
   918  // ADKTokenAZ9TransferIterator is returned from FilterAZ9Transfer and is used to iterate over the raw logs and unpacked data for AZ9Transfer events raised by the ADKToken contract.
   919  type ADKTokenAZ9TransferIterator struct {
   920  	Event *ADKTokenAZ9Transfer // Event containing the contract specifics and raw log
   921  
   922  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   923  	event    string              // Event name to use for unpacking event data
   924  
   925  	logs chan types.Log        // Log channel receiving the found contract events
   926  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   927  	done bool                  // Whether the subscription completed delivering logs
   928  	fail error                 // Occurred error to stop iteration
   929  }
   930  
   931  // Next advances the iterator to the subsequent event, returning whether there
   932  // are any more events found. In case of a retrieval or parsing error, false is
   933  // returned and Error() can be queried for the exact failure.
   934  func (it *ADKTokenAZ9TransferIterator) Next() bool {
   935  	// If the iterator failed, stop iterating
   936  	if it.fail != nil {
   937  		return false
   938  	}
   939  	// If the iterator completed, deliver directly whatever's available
   940  	if it.done {
   941  		select {
   942  		case log := <-it.logs:
   943  			it.Event = new(ADKTokenAZ9Transfer)
   944  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   945  				it.fail = err
   946  				return false
   947  			}
   948  			it.Event.Raw = log
   949  			return true
   950  
   951  		default:
   952  			return false
   953  		}
   954  	}
   955  	// Iterator still in progress, wait for either a data or an error event
   956  	select {
   957  	case log := <-it.logs:
   958  		it.Event = new(ADKTokenAZ9Transfer)
   959  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   960  			it.fail = err
   961  			return false
   962  		}
   963  		it.Event.Raw = log
   964  		return true
   965  
   966  	case err := <-it.sub.Err():
   967  		it.done = true
   968  		it.fail = err
   969  		return it.Next()
   970  	}
   971  }
   972  
   973  // Error returns any retrieval or parsing error occurred during filtering.
   974  func (it *ADKTokenAZ9TransferIterator) Error() error {
   975  	return it.fail
   976  }
   977  
   978  // Close terminates the iteration process, releasing any pending underlying
   979  // resources.
   980  func (it *ADKTokenAZ9TransferIterator) Close() error {
   981  	it.sub.Unsubscribe()
   982  	return nil
   983  }
   984  
   985  // ADKTokenAZ9Transfer represents a AZ9Transfer event raised by the ADKToken contract.
   986  type ADKTokenAZ9Transfer struct {
   987  	Meshaddr common.Hash
   988  	Addr     common.Address
   989  	Value    *big.Int
   990  	Raw      types.Log // Blockchain specific contextual infos
   991  }
   992  
   993  // FilterAZ9Transfer is a free log retrieval operation binding the contract event 0xa93369924490bc7698b9d289925c432d4f16b9465c1590324916dba7ed166246.
   994  //
   995  // Solidity: event AZ9Transfer(string indexed _meshaddr, address indexed _addr, int256 _value)
   996  func (_ADKToken *ADKTokenFilterer) FilterAZ9Transfer(opts *bind.FilterOpts, _meshaddr []string, _addr []common.Address) (*ADKTokenAZ9TransferIterator, error) {
   997  
   998  	var _meshaddrRule []interface{}
   999  	for _, _meshaddrItem := range _meshaddr {
  1000  		_meshaddrRule = append(_meshaddrRule, _meshaddrItem)
  1001  	}
  1002  	var _addrRule []interface{}
  1003  	for _, _addrItem := range _addr {
  1004  		_addrRule = append(_addrRule, _addrItem)
  1005  	}
  1006  
  1007  	logs, sub, err := _ADKToken.contract.FilterLogs(opts, "AZ9Transfer", _meshaddrRule, _addrRule)
  1008  	if err != nil {
  1009  		return nil, err
  1010  	}
  1011  	return &ADKTokenAZ9TransferIterator{contract: _ADKToken.contract, event: "AZ9Transfer", logs: logs, sub: sub}, nil
  1012  }
  1013  
  1014  // WatchAZ9Transfer is a free log subscription operation binding the contract event 0xa93369924490bc7698b9d289925c432d4f16b9465c1590324916dba7ed166246.
  1015  //
  1016  // Solidity: event AZ9Transfer(string indexed _meshaddr, address indexed _addr, int256 _value)
  1017  func (_ADKToken *ADKTokenFilterer) WatchAZ9Transfer(opts *bind.WatchOpts, sink chan<- *ADKTokenAZ9Transfer, _meshaddr []string, _addr []common.Address) (event.Subscription, error) {
  1018  
  1019  	var _meshaddrRule []interface{}
  1020  	for _, _meshaddrItem := range _meshaddr {
  1021  		_meshaddrRule = append(_meshaddrRule, _meshaddrItem)
  1022  	}
  1023  	var _addrRule []interface{}
  1024  	for _, _addrItem := range _addr {
  1025  		_addrRule = append(_addrRule, _addrItem)
  1026  	}
  1027  
  1028  	logs, sub, err := _ADKToken.contract.WatchLogs(opts, "AZ9Transfer", _meshaddrRule, _addrRule)
  1029  	if err != nil {
  1030  		return nil, err
  1031  	}
  1032  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1033  		defer sub.Unsubscribe()
  1034  		for {
  1035  			select {
  1036  			case log := <-logs:
  1037  				// New log arrived, parse the event and forward to the user
  1038  				event := new(ADKTokenAZ9Transfer)
  1039  				if err := _ADKToken.contract.UnpackLog(event, "AZ9Transfer", log); err != nil {
  1040  					return err
  1041  				}
  1042  				event.Raw = log
  1043  
  1044  				select {
  1045  				case sink <- event:
  1046  				case err := <-sub.Err():
  1047  					return err
  1048  				case <-quit:
  1049  					return nil
  1050  				}
  1051  			case err := <-sub.Err():
  1052  				return err
  1053  			case <-quit:
  1054  				return nil
  1055  			}
  1056  		}
  1057  	}), nil
  1058  }
  1059  
  1060  // ParseAZ9Transfer is a log parse operation binding the contract event 0xa93369924490bc7698b9d289925c432d4f16b9465c1590324916dba7ed166246.
  1061  //
  1062  // Solidity: event AZ9Transfer(string indexed _meshaddr, address indexed _addr, int256 _value)
  1063  func (_ADKToken *ADKTokenFilterer) ParseAZ9Transfer(log types.Log) (*ADKTokenAZ9Transfer, error) {
  1064  	event := new(ADKTokenAZ9Transfer)
  1065  	if err := _ADKToken.contract.UnpackLog(event, "AZ9Transfer", log); err != nil {
  1066  		return nil, err
  1067  	}
  1068  	event.Raw = log
  1069  	return event, nil
  1070  }
  1071  
  1072  // ADKTokenApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ADKToken contract.
  1073  type ADKTokenApprovalIterator struct {
  1074  	Event *ADKTokenApproval // Event containing the contract specifics and raw log
  1075  
  1076  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1077  	event    string              // Event name to use for unpacking event data
  1078  
  1079  	logs chan types.Log        // Log channel receiving the found contract events
  1080  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1081  	done bool                  // Whether the subscription completed delivering logs
  1082  	fail error                 // Occurred error to stop iteration
  1083  }
  1084  
  1085  // Next advances the iterator to the subsequent event, returning whether there
  1086  // are any more events found. In case of a retrieval or parsing error, false is
  1087  // returned and Error() can be queried for the exact failure.
  1088  func (it *ADKTokenApprovalIterator) Next() bool {
  1089  	// If the iterator failed, stop iterating
  1090  	if it.fail != nil {
  1091  		return false
  1092  	}
  1093  	// If the iterator completed, deliver directly whatever's available
  1094  	if it.done {
  1095  		select {
  1096  		case log := <-it.logs:
  1097  			it.Event = new(ADKTokenApproval)
  1098  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1099  				it.fail = err
  1100  				return false
  1101  			}
  1102  			it.Event.Raw = log
  1103  			return true
  1104  
  1105  		default:
  1106  			return false
  1107  		}
  1108  	}
  1109  	// Iterator still in progress, wait for either a data or an error event
  1110  	select {
  1111  	case log := <-it.logs:
  1112  		it.Event = new(ADKTokenApproval)
  1113  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1114  			it.fail = err
  1115  			return false
  1116  		}
  1117  		it.Event.Raw = log
  1118  		return true
  1119  
  1120  	case err := <-it.sub.Err():
  1121  		it.done = true
  1122  		it.fail = err
  1123  		return it.Next()
  1124  	}
  1125  }
  1126  
  1127  // Error returns any retrieval or parsing error occurred during filtering.
  1128  func (it *ADKTokenApprovalIterator) Error() error {
  1129  	return it.fail
  1130  }
  1131  
  1132  // Close terminates the iteration process, releasing any pending underlying
  1133  // resources.
  1134  func (it *ADKTokenApprovalIterator) Close() error {
  1135  	it.sub.Unsubscribe()
  1136  	return nil
  1137  }
  1138  
  1139  // ADKTokenApproval represents a Approval event raised by the ADKToken contract.
  1140  type ADKTokenApproval struct {
  1141  	Owner   common.Address
  1142  	Spender common.Address
  1143  	Value   *big.Int
  1144  	Raw     types.Log // Blockchain specific contextual infos
  1145  }
  1146  
  1147  // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1148  //
  1149  // Solidity: event Approval(address indexed _owner, address indexed _spender, uint256 _value)
  1150  func (_ADKToken *ADKTokenFilterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _spender []common.Address) (*ADKTokenApprovalIterator, error) {
  1151  
  1152  	var _ownerRule []interface{}
  1153  	for _, _ownerItem := range _owner {
  1154  		_ownerRule = append(_ownerRule, _ownerItem)
  1155  	}
  1156  	var _spenderRule []interface{}
  1157  	for _, _spenderItem := range _spender {
  1158  		_spenderRule = append(_spenderRule, _spenderItem)
  1159  	}
  1160  
  1161  	logs, sub, err := _ADKToken.contract.FilterLogs(opts, "Approval", _ownerRule, _spenderRule)
  1162  	if err != nil {
  1163  		return nil, err
  1164  	}
  1165  	return &ADKTokenApprovalIterator{contract: _ADKToken.contract, event: "Approval", logs: logs, sub: sub}, nil
  1166  }
  1167  
  1168  // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1169  //
  1170  // Solidity: event Approval(address indexed _owner, address indexed _spender, uint256 _value)
  1171  func (_ADKToken *ADKTokenFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ADKTokenApproval, _owner []common.Address, _spender []common.Address) (event.Subscription, error) {
  1172  
  1173  	var _ownerRule []interface{}
  1174  	for _, _ownerItem := range _owner {
  1175  		_ownerRule = append(_ownerRule, _ownerItem)
  1176  	}
  1177  	var _spenderRule []interface{}
  1178  	for _, _spenderItem := range _spender {
  1179  		_spenderRule = append(_spenderRule, _spenderItem)
  1180  	}
  1181  
  1182  	logs, sub, err := _ADKToken.contract.WatchLogs(opts, "Approval", _ownerRule, _spenderRule)
  1183  	if err != nil {
  1184  		return nil, err
  1185  	}
  1186  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1187  		defer sub.Unsubscribe()
  1188  		for {
  1189  			select {
  1190  			case log := <-logs:
  1191  				// New log arrived, parse the event and forward to the user
  1192  				event := new(ADKTokenApproval)
  1193  				if err := _ADKToken.contract.UnpackLog(event, "Approval", log); err != nil {
  1194  					return err
  1195  				}
  1196  				event.Raw = log
  1197  
  1198  				select {
  1199  				case sink <- event:
  1200  				case err := <-sub.Err():
  1201  					return err
  1202  				case <-quit:
  1203  					return nil
  1204  				}
  1205  			case err := <-sub.Err():
  1206  				return err
  1207  			case <-quit:
  1208  				return nil
  1209  			}
  1210  		}
  1211  	}), nil
  1212  }
  1213  
  1214  // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1215  //
  1216  // Solidity: event Approval(address indexed _owner, address indexed _spender, uint256 _value)
  1217  func (_ADKToken *ADKTokenFilterer) ParseApproval(log types.Log) (*ADKTokenApproval, error) {
  1218  	event := new(ADKTokenApproval)
  1219  	if err := _ADKToken.contract.UnpackLog(event, "Approval", log); err != nil {
  1220  		return nil, err
  1221  	}
  1222  	event.Raw = log
  1223  	return event, nil
  1224  }
  1225  
  1226  // ADKTokenGENESISTransactionIterator is returned from FilterGENESISTransaction and is used to iterate over the raw logs and unpacked data for GENESISTransaction events raised by the ADKToken contract.
  1227  type ADKTokenGENESISTransactionIterator struct {
  1228  	Event *ADKTokenGENESISTransaction // Event containing the contract specifics and raw log
  1229  
  1230  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1231  	event    string              // Event name to use for unpacking event data
  1232  
  1233  	logs chan types.Log        // Log channel receiving the found contract events
  1234  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1235  	done bool                  // Whether the subscription completed delivering logs
  1236  	fail error                 // Occurred error to stop iteration
  1237  }
  1238  
  1239  // Next advances the iterator to the subsequent event, returning whether there
  1240  // are any more events found. In case of a retrieval or parsing error, false is
  1241  // returned and Error() can be queried for the exact failure.
  1242  func (it *ADKTokenGENESISTransactionIterator) Next() bool {
  1243  	// If the iterator failed, stop iterating
  1244  	if it.fail != nil {
  1245  		return false
  1246  	}
  1247  	// If the iterator completed, deliver directly whatever's available
  1248  	if it.done {
  1249  		select {
  1250  		case log := <-it.logs:
  1251  			it.Event = new(ADKTokenGENESISTransaction)
  1252  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1253  				it.fail = err
  1254  				return false
  1255  			}
  1256  			it.Event.Raw = log
  1257  			return true
  1258  
  1259  		default:
  1260  			return false
  1261  		}
  1262  	}
  1263  	// Iterator still in progress, wait for either a data or an error event
  1264  	select {
  1265  	case log := <-it.logs:
  1266  		it.Event = new(ADKTokenGENESISTransaction)
  1267  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1268  			it.fail = err
  1269  			return false
  1270  		}
  1271  		it.Event.Raw = log
  1272  		return true
  1273  
  1274  	case err := <-it.sub.Err():
  1275  		it.done = true
  1276  		it.fail = err
  1277  		return it.Next()
  1278  	}
  1279  }
  1280  
  1281  // Error returns any retrieval or parsing error occurred during filtering.
  1282  func (it *ADKTokenGENESISTransactionIterator) Error() error {
  1283  	return it.fail
  1284  }
  1285  
  1286  // Close terminates the iteration process, releasing any pending underlying
  1287  // resources.
  1288  func (it *ADKTokenGENESISTransactionIterator) Close() error {
  1289  	it.sub.Unsubscribe()
  1290  	return nil
  1291  }
  1292  
  1293  // ADKTokenGENESISTransaction represents a GENESISTransaction event raised by the ADKToken contract.
  1294  type ADKTokenGENESISTransaction struct {
  1295  	Meshaddr common.Hash
  1296  	Addr     common.Address
  1297  	Value    *big.Int
  1298  	Raw      types.Log // Blockchain specific contextual infos
  1299  }
  1300  
  1301  // FilterGENESISTransaction is a free log retrieval operation binding the contract event 0x32ac6262ad9a118aca2d9d65c3cfb1c88b8d120f8a750a635168ba94fcf6e164.
  1302  //
  1303  // Solidity: event GENESISTransaction(string indexed _meshaddr, address indexed _addr, int256 _value)
  1304  func (_ADKToken *ADKTokenFilterer) FilterGENESISTransaction(opts *bind.FilterOpts, _meshaddr []string, _addr []common.Address) (*ADKTokenGENESISTransactionIterator, error) {
  1305  
  1306  	var _meshaddrRule []interface{}
  1307  	for _, _meshaddrItem := range _meshaddr {
  1308  		_meshaddrRule = append(_meshaddrRule, _meshaddrItem)
  1309  	}
  1310  	var _addrRule []interface{}
  1311  	for _, _addrItem := range _addr {
  1312  		_addrRule = append(_addrRule, _addrItem)
  1313  	}
  1314  
  1315  	logs, sub, err := _ADKToken.contract.FilterLogs(opts, "GENESISTransaction", _meshaddrRule, _addrRule)
  1316  	if err != nil {
  1317  		return nil, err
  1318  	}
  1319  	return &ADKTokenGENESISTransactionIterator{contract: _ADKToken.contract, event: "GENESISTransaction", logs: logs, sub: sub}, nil
  1320  }
  1321  
  1322  // WatchGENESISTransaction is a free log subscription operation binding the contract event 0x32ac6262ad9a118aca2d9d65c3cfb1c88b8d120f8a750a635168ba94fcf6e164.
  1323  //
  1324  // Solidity: event GENESISTransaction(string indexed _meshaddr, address indexed _addr, int256 _value)
  1325  func (_ADKToken *ADKTokenFilterer) WatchGENESISTransaction(opts *bind.WatchOpts, sink chan<- *ADKTokenGENESISTransaction, _meshaddr []string, _addr []common.Address) (event.Subscription, error) {
  1326  
  1327  	var _meshaddrRule []interface{}
  1328  	for _, _meshaddrItem := range _meshaddr {
  1329  		_meshaddrRule = append(_meshaddrRule, _meshaddrItem)
  1330  	}
  1331  	var _addrRule []interface{}
  1332  	for _, _addrItem := range _addr {
  1333  		_addrRule = append(_addrRule, _addrItem)
  1334  	}
  1335  
  1336  	logs, sub, err := _ADKToken.contract.WatchLogs(opts, "GENESISTransaction", _meshaddrRule, _addrRule)
  1337  	if err != nil {
  1338  		return nil, err
  1339  	}
  1340  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1341  		defer sub.Unsubscribe()
  1342  		for {
  1343  			select {
  1344  			case log := <-logs:
  1345  				// New log arrived, parse the event and forward to the user
  1346  				event := new(ADKTokenGENESISTransaction)
  1347  				if err := _ADKToken.contract.UnpackLog(event, "GENESISTransaction", log); err != nil {
  1348  					return err
  1349  				}
  1350  				event.Raw = log
  1351  
  1352  				select {
  1353  				case sink <- event:
  1354  				case err := <-sub.Err():
  1355  					return err
  1356  				case <-quit:
  1357  					return nil
  1358  				}
  1359  			case err := <-sub.Err():
  1360  				return err
  1361  			case <-quit:
  1362  				return nil
  1363  			}
  1364  		}
  1365  	}), nil
  1366  }
  1367  
  1368  // ParseGENESISTransaction is a log parse operation binding the contract event 0x32ac6262ad9a118aca2d9d65c3cfb1c88b8d120f8a750a635168ba94fcf6e164.
  1369  //
  1370  // Solidity: event GENESISTransaction(string indexed _meshaddr, address indexed _addr, int256 _value)
  1371  func (_ADKToken *ADKTokenFilterer) ParseGENESISTransaction(log types.Log) (*ADKTokenGENESISTransaction, error) {
  1372  	event := new(ADKTokenGENESISTransaction)
  1373  	if err := _ADKToken.contract.UnpackLog(event, "GENESISTransaction", log); err != nil {
  1374  		return nil, err
  1375  	}
  1376  	event.Raw = log
  1377  	return event, nil
  1378  }
  1379  
  1380  // ADKTokenTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ADKToken contract.
  1381  type ADKTokenTransferIterator struct {
  1382  	Event *ADKTokenTransfer // Event containing the contract specifics and raw log
  1383  
  1384  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1385  	event    string              // Event name to use for unpacking event data
  1386  
  1387  	logs chan types.Log        // Log channel receiving the found contract events
  1388  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1389  	done bool                  // Whether the subscription completed delivering logs
  1390  	fail error                 // Occurred error to stop iteration
  1391  }
  1392  
  1393  // Next advances the iterator to the subsequent event, returning whether there
  1394  // are any more events found. In case of a retrieval or parsing error, false is
  1395  // returned and Error() can be queried for the exact failure.
  1396  func (it *ADKTokenTransferIterator) Next() bool {
  1397  	// If the iterator failed, stop iterating
  1398  	if it.fail != nil {
  1399  		return false
  1400  	}
  1401  	// If the iterator completed, deliver directly whatever's available
  1402  	if it.done {
  1403  		select {
  1404  		case log := <-it.logs:
  1405  			it.Event = new(ADKTokenTransfer)
  1406  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1407  				it.fail = err
  1408  				return false
  1409  			}
  1410  			it.Event.Raw = log
  1411  			return true
  1412  
  1413  		default:
  1414  			return false
  1415  		}
  1416  	}
  1417  	// Iterator still in progress, wait for either a data or an error event
  1418  	select {
  1419  	case log := <-it.logs:
  1420  		it.Event = new(ADKTokenTransfer)
  1421  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1422  			it.fail = err
  1423  			return false
  1424  		}
  1425  		it.Event.Raw = log
  1426  		return true
  1427  
  1428  	case err := <-it.sub.Err():
  1429  		it.done = true
  1430  		it.fail = err
  1431  		return it.Next()
  1432  	}
  1433  }
  1434  
  1435  // Error returns any retrieval or parsing error occurred during filtering.
  1436  func (it *ADKTokenTransferIterator) Error() error {
  1437  	return it.fail
  1438  }
  1439  
  1440  // Close terminates the iteration process, releasing any pending underlying
  1441  // resources.
  1442  func (it *ADKTokenTransferIterator) Close() error {
  1443  	it.sub.Unsubscribe()
  1444  	return nil
  1445  }
  1446  
  1447  // ADKTokenTransfer represents a Transfer event raised by the ADKToken contract.
  1448  type ADKTokenTransfer struct {
  1449  	From  common.Address
  1450  	To    common.Address
  1451  	Value *big.Int
  1452  	Raw   types.Log // Blockchain specific contextual infos
  1453  }
  1454  
  1455  // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1456  //
  1457  // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _value)
  1458  func (_ADKToken *ADKTokenFilterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address) (*ADKTokenTransferIterator, error) {
  1459  
  1460  	var _fromRule []interface{}
  1461  	for _, _fromItem := range _from {
  1462  		_fromRule = append(_fromRule, _fromItem)
  1463  	}
  1464  	var _toRule []interface{}
  1465  	for _, _toItem := range _to {
  1466  		_toRule = append(_toRule, _toItem)
  1467  	}
  1468  
  1469  	logs, sub, err := _ADKToken.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule)
  1470  	if err != nil {
  1471  		return nil, err
  1472  	}
  1473  	return &ADKTokenTransferIterator{contract: _ADKToken.contract, event: "Transfer", logs: logs, sub: sub}, nil
  1474  }
  1475  
  1476  // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1477  //
  1478  // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _value)
  1479  func (_ADKToken *ADKTokenFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ADKTokenTransfer, _from []common.Address, _to []common.Address) (event.Subscription, error) {
  1480  
  1481  	var _fromRule []interface{}
  1482  	for _, _fromItem := range _from {
  1483  		_fromRule = append(_fromRule, _fromItem)
  1484  	}
  1485  	var _toRule []interface{}
  1486  	for _, _toItem := range _to {
  1487  		_toRule = append(_toRule, _toItem)
  1488  	}
  1489  
  1490  	logs, sub, err := _ADKToken.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule)
  1491  	if err != nil {
  1492  		return nil, err
  1493  	}
  1494  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1495  		defer sub.Unsubscribe()
  1496  		for {
  1497  			select {
  1498  			case log := <-logs:
  1499  				// New log arrived, parse the event and forward to the user
  1500  				event := new(ADKTokenTransfer)
  1501  				if err := _ADKToken.contract.UnpackLog(event, "Transfer", log); err != nil {
  1502  					return err
  1503  				}
  1504  				event.Raw = log
  1505  
  1506  				select {
  1507  				case sink <- event:
  1508  				case err := <-sub.Err():
  1509  					return err
  1510  				case <-quit:
  1511  					return nil
  1512  				}
  1513  			case err := <-sub.Err():
  1514  				return err
  1515  			case <-quit:
  1516  				return nil
  1517  			}
  1518  		}
  1519  	}), nil
  1520  }
  1521  
  1522  // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  1523  //
  1524  // Solidity: event Transfer(address indexed _from, address indexed _to, uint256 _value)
  1525  func (_ADKToken *ADKTokenFilterer) ParseTransfer(log types.Log) (*ADKTokenTransfer, error) {
  1526  	event := new(ADKTokenTransfer)
  1527  	if err := _ADKToken.contract.UnpackLog(event, "Transfer", log); err != nil {
  1528  		return nil, err
  1529  	}
  1530  	event.Raw = log
  1531  	return event, nil
  1532  }
  1533  
  1534  // ADKTokenInterfaceMetaData contains all meta data concerning the ADKTokenInterface contract.
  1535  var ADKTokenInterfaceMetaData = &bind.MetaData{
  1536  	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"adkString\",\"type\":\"string\"}],\"name\":\"AZ9_TO_ADDR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_adkAddr\",\"type\":\"string\"}],\"name\":\"AZ9balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"meshTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  1537  	Sigs: map[string]string{
  1538  		"a205a8a9": "AZ9_TO_ADDR(string)",
  1539  		"0e7fdbb1": "AZ9balanceOf(string)",
  1540  		"8756ee19": "meshTransaction(string,int256)",
  1541  	},
  1542  }
  1543  
  1544  // ADKTokenInterfaceABI is the input ABI used to generate the binding from.
  1545  // Deprecated: Use ADKTokenInterfaceMetaData.ABI instead.
  1546  var ADKTokenInterfaceABI = ADKTokenInterfaceMetaData.ABI
  1547  
  1548  // Deprecated: Use ADKTokenInterfaceMetaData.Sigs instead.
  1549  // ADKTokenInterfaceFuncSigs maps the 4-byte function signature to its string representation.
  1550  var ADKTokenInterfaceFuncSigs = ADKTokenInterfaceMetaData.Sigs
  1551  
  1552  // ADKTokenInterface is an auto generated Go binding around an Ethereum contract.
  1553  type ADKTokenInterface struct {
  1554  	ADKTokenInterfaceCaller     // Read-only binding to the contract
  1555  	ADKTokenInterfaceTransactor // Write-only binding to the contract
  1556  	ADKTokenInterfaceFilterer   // Log filterer for contract events
  1557  }
  1558  
  1559  // ADKTokenInterfaceCaller is an auto generated read-only Go binding around an Ethereum contract.
  1560  type ADKTokenInterfaceCaller struct {
  1561  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1562  }
  1563  
  1564  // ADKTokenInterfaceTransactor is an auto generated write-only Go binding around an Ethereum contract.
  1565  type ADKTokenInterfaceTransactor struct {
  1566  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1567  }
  1568  
  1569  // ADKTokenInterfaceFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  1570  type ADKTokenInterfaceFilterer struct {
  1571  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1572  }
  1573  
  1574  // ADKTokenInterfaceSession is an auto generated Go binding around an Ethereum contract,
  1575  // with pre-set call and transact options.
  1576  type ADKTokenInterfaceSession struct {
  1577  	Contract     *ADKTokenInterface // Generic contract binding to set the session for
  1578  	CallOpts     bind.CallOpts      // Call options to use throughout this session
  1579  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
  1580  }
  1581  
  1582  // ADKTokenInterfaceCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  1583  // with pre-set call options.
  1584  type ADKTokenInterfaceCallerSession struct {
  1585  	Contract *ADKTokenInterfaceCaller // Generic contract caller binding to set the session for
  1586  	CallOpts bind.CallOpts            // Call options to use throughout this session
  1587  }
  1588  
  1589  // ADKTokenInterfaceTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  1590  // with pre-set transact options.
  1591  type ADKTokenInterfaceTransactorSession struct {
  1592  	Contract     *ADKTokenInterfaceTransactor // Generic contract transactor binding to set the session for
  1593  	TransactOpts bind.TransactOpts            // Transaction auth options to use throughout this session
  1594  }
  1595  
  1596  // ADKTokenInterfaceRaw is an auto generated low-level Go binding around an Ethereum contract.
  1597  type ADKTokenInterfaceRaw struct {
  1598  	Contract *ADKTokenInterface // Generic contract binding to access the raw methods on
  1599  }
  1600  
  1601  // ADKTokenInterfaceCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  1602  type ADKTokenInterfaceCallerRaw struct {
  1603  	Contract *ADKTokenInterfaceCaller // Generic read-only contract binding to access the raw methods on
  1604  }
  1605  
  1606  // ADKTokenInterfaceTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  1607  type ADKTokenInterfaceTransactorRaw struct {
  1608  	Contract *ADKTokenInterfaceTransactor // Generic write-only contract binding to access the raw methods on
  1609  }
  1610  
  1611  // NewADKTokenInterface creates a new instance of ADKTokenInterface, bound to a specific deployed contract.
  1612  func NewADKTokenInterface(address common.Address, backend bind.ContractBackend) (*ADKTokenInterface, error) {
  1613  	contract, err := bindADKTokenInterface(address, backend, backend, backend)
  1614  	if err != nil {
  1615  		return nil, err
  1616  	}
  1617  	return &ADKTokenInterface{ADKTokenInterfaceCaller: ADKTokenInterfaceCaller{contract: contract}, ADKTokenInterfaceTransactor: ADKTokenInterfaceTransactor{contract: contract}, ADKTokenInterfaceFilterer: ADKTokenInterfaceFilterer{contract: contract}}, nil
  1618  }
  1619  
  1620  // NewADKTokenInterfaceCaller creates a new read-only instance of ADKTokenInterface, bound to a specific deployed contract.
  1621  func NewADKTokenInterfaceCaller(address common.Address, caller bind.ContractCaller) (*ADKTokenInterfaceCaller, error) {
  1622  	contract, err := bindADKTokenInterface(address, caller, nil, nil)
  1623  	if err != nil {
  1624  		return nil, err
  1625  	}
  1626  	return &ADKTokenInterfaceCaller{contract: contract}, nil
  1627  }
  1628  
  1629  // NewADKTokenInterfaceTransactor creates a new write-only instance of ADKTokenInterface, bound to a specific deployed contract.
  1630  func NewADKTokenInterfaceTransactor(address common.Address, transactor bind.ContractTransactor) (*ADKTokenInterfaceTransactor, error) {
  1631  	contract, err := bindADKTokenInterface(address, nil, transactor, nil)
  1632  	if err != nil {
  1633  		return nil, err
  1634  	}
  1635  	return &ADKTokenInterfaceTransactor{contract: contract}, nil
  1636  }
  1637  
  1638  // NewADKTokenInterfaceFilterer creates a new log filterer instance of ADKTokenInterface, bound to a specific deployed contract.
  1639  func NewADKTokenInterfaceFilterer(address common.Address, filterer bind.ContractFilterer) (*ADKTokenInterfaceFilterer, error) {
  1640  	contract, err := bindADKTokenInterface(address, nil, nil, filterer)
  1641  	if err != nil {
  1642  		return nil, err
  1643  	}
  1644  	return &ADKTokenInterfaceFilterer{contract: contract}, nil
  1645  }
  1646  
  1647  // bindADKTokenInterface binds a generic wrapper to an already deployed contract.
  1648  func bindADKTokenInterface(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1649  	parsed, err := abi.JSON(strings.NewReader(ADKTokenInterfaceABI))
  1650  	if err != nil {
  1651  		return nil, err
  1652  	}
  1653  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  1654  }
  1655  
  1656  // Call invokes the (constant) contract method with params as input values and
  1657  // sets the output to result. The result type might be a single field for simple
  1658  // returns, a slice of interfaces for anonymous returns and a struct for named
  1659  // returns.
  1660  func (_ADKTokenInterface *ADKTokenInterfaceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1661  	return _ADKTokenInterface.Contract.ADKTokenInterfaceCaller.contract.Call(opts, result, method, params...)
  1662  }
  1663  
  1664  // Transfer initiates a plain transaction to move funds to the contract, calling
  1665  // its default method if one is available.
  1666  func (_ADKTokenInterface *ADKTokenInterfaceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1667  	return _ADKTokenInterface.Contract.ADKTokenInterfaceTransactor.contract.Transfer(opts)
  1668  }
  1669  
  1670  // Transact invokes the (paid) contract method with params as input values.
  1671  func (_ADKTokenInterface *ADKTokenInterfaceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1672  	return _ADKTokenInterface.Contract.ADKTokenInterfaceTransactor.contract.Transact(opts, method, params...)
  1673  }
  1674  
  1675  // Call invokes the (constant) contract method with params as input values and
  1676  // sets the output to result. The result type might be a single field for simple
  1677  // returns, a slice of interfaces for anonymous returns and a struct for named
  1678  // returns.
  1679  func (_ADKTokenInterface *ADKTokenInterfaceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1680  	return _ADKTokenInterface.Contract.contract.Call(opts, result, method, params...)
  1681  }
  1682  
  1683  // Transfer initiates a plain transaction to move funds to the contract, calling
  1684  // its default method if one is available.
  1685  func (_ADKTokenInterface *ADKTokenInterfaceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1686  	return _ADKTokenInterface.Contract.contract.Transfer(opts)
  1687  }
  1688  
  1689  // Transact invokes the (paid) contract method with params as input values.
  1690  func (_ADKTokenInterface *ADKTokenInterfaceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1691  	return _ADKTokenInterface.Contract.contract.Transact(opts, method, params...)
  1692  }
  1693  
  1694  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1695  //
  1696  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1697  func (_ADKTokenInterface *ADKTokenInterfaceCaller) AZ9TOADDR(opts *bind.CallOpts, adkString string) (common.Address, error) {
  1698  	var out []interface{}
  1699  	err := _ADKTokenInterface.contract.Call(opts, &out, "AZ9_TO_ADDR", adkString)
  1700  
  1701  	if err != nil {
  1702  		return *new(common.Address), err
  1703  	}
  1704  
  1705  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1706  
  1707  	return out0, err
  1708  
  1709  }
  1710  
  1711  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1712  //
  1713  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1714  func (_ADKTokenInterface *ADKTokenInterfaceSession) AZ9TOADDR(adkString string) (common.Address, error) {
  1715  	return _ADKTokenInterface.Contract.AZ9TOADDR(&_ADKTokenInterface.CallOpts, adkString)
  1716  }
  1717  
  1718  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1719  //
  1720  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1721  func (_ADKTokenInterface *ADKTokenInterfaceCallerSession) AZ9TOADDR(adkString string) (common.Address, error) {
  1722  	return _ADKTokenInterface.Contract.AZ9TOADDR(&_ADKTokenInterface.CallOpts, adkString)
  1723  }
  1724  
  1725  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1726  //
  1727  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1728  func (_ADKTokenInterface *ADKTokenInterfaceCaller) AZ9balanceOf(opts *bind.CallOpts, _adkAddr string) (*big.Int, error) {
  1729  	var out []interface{}
  1730  	err := _ADKTokenInterface.contract.Call(opts, &out, "AZ9balanceOf", _adkAddr)
  1731  
  1732  	if err != nil {
  1733  		return *new(*big.Int), err
  1734  	}
  1735  
  1736  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1737  
  1738  	return out0, err
  1739  
  1740  }
  1741  
  1742  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1743  //
  1744  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1745  func (_ADKTokenInterface *ADKTokenInterfaceSession) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
  1746  	return _ADKTokenInterface.Contract.AZ9balanceOf(&_ADKTokenInterface.CallOpts, _adkAddr)
  1747  }
  1748  
  1749  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1750  //
  1751  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1752  func (_ADKTokenInterface *ADKTokenInterfaceCallerSession) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
  1753  	return _ADKTokenInterface.Contract.AZ9balanceOf(&_ADKTokenInterface.CallOpts, _adkAddr)
  1754  }
  1755  
  1756  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  1757  //
  1758  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  1759  func (_ADKTokenInterface *ADKTokenInterfaceTransactor) MeshTransaction(opts *bind.TransactOpts, _meshaddr string, _value *big.Int) (*types.Transaction, error) {
  1760  	return _ADKTokenInterface.contract.Transact(opts, "meshTransaction", _meshaddr, _value)
  1761  }
  1762  
  1763  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  1764  //
  1765  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  1766  func (_ADKTokenInterface *ADKTokenInterfaceSession) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
  1767  	return _ADKTokenInterface.Contract.MeshTransaction(&_ADKTokenInterface.TransactOpts, _meshaddr, _value)
  1768  }
  1769  
  1770  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  1771  //
  1772  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  1773  func (_ADKTokenInterface *ADKTokenInterfaceTransactorSession) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
  1774  	return _ADKTokenInterface.Contract.MeshTransaction(&_ADKTokenInterface.TransactOpts, _meshaddr, _value)
  1775  }
  1776  
  1777  // ADKTokenInterface2MetaData contains all meta data concerning the ADKTokenInterface2 contract.
  1778  var ADKTokenInterface2MetaData = &bind.MetaData{
  1779  	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"adkString\",\"type\":\"string\"}],\"name\":\"AZ9_TO_ADDR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_adkAddr\",\"type\":\"string\"}],\"name\":\"AZ9balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_meshaddr\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"meshTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  1780  	Sigs: map[string]string{
  1781  		"a205a8a9": "AZ9_TO_ADDR(string)",
  1782  		"0e7fdbb1": "AZ9balanceOf(string)",
  1783  		"8756ee19": "meshTransaction(string,int256)",
  1784  	},
  1785  }
  1786  
  1787  // ADKTokenInterface2ABI is the input ABI used to generate the binding from.
  1788  // Deprecated: Use ADKTokenInterface2MetaData.ABI instead.
  1789  var ADKTokenInterface2ABI = ADKTokenInterface2MetaData.ABI
  1790  
  1791  // Deprecated: Use ADKTokenInterface2MetaData.Sigs instead.
  1792  // ADKTokenInterface2FuncSigs maps the 4-byte function signature to its string representation.
  1793  var ADKTokenInterface2FuncSigs = ADKTokenInterface2MetaData.Sigs
  1794  
  1795  // ADKTokenInterface2 is an auto generated Go binding around an Ethereum contract.
  1796  type ADKTokenInterface2 struct {
  1797  	ADKTokenInterface2Caller     // Read-only binding to the contract
  1798  	ADKTokenInterface2Transactor // Write-only binding to the contract
  1799  	ADKTokenInterface2Filterer   // Log filterer for contract events
  1800  }
  1801  
  1802  // ADKTokenInterface2Caller is an auto generated read-only Go binding around an Ethereum contract.
  1803  type ADKTokenInterface2Caller struct {
  1804  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1805  }
  1806  
  1807  // ADKTokenInterface2Transactor is an auto generated write-only Go binding around an Ethereum contract.
  1808  type ADKTokenInterface2Transactor struct {
  1809  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1810  }
  1811  
  1812  // ADKTokenInterface2Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  1813  type ADKTokenInterface2Filterer struct {
  1814  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1815  }
  1816  
  1817  // ADKTokenInterface2Session is an auto generated Go binding around an Ethereum contract,
  1818  // with pre-set call and transact options.
  1819  type ADKTokenInterface2Session struct {
  1820  	Contract     *ADKTokenInterface2 // Generic contract binding to set the session for
  1821  	CallOpts     bind.CallOpts       // Call options to use throughout this session
  1822  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
  1823  }
  1824  
  1825  // ADKTokenInterface2CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  1826  // with pre-set call options.
  1827  type ADKTokenInterface2CallerSession struct {
  1828  	Contract *ADKTokenInterface2Caller // Generic contract caller binding to set the session for
  1829  	CallOpts bind.CallOpts             // Call options to use throughout this session
  1830  }
  1831  
  1832  // ADKTokenInterface2TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  1833  // with pre-set transact options.
  1834  type ADKTokenInterface2TransactorSession struct {
  1835  	Contract     *ADKTokenInterface2Transactor // Generic contract transactor binding to set the session for
  1836  	TransactOpts bind.TransactOpts             // Transaction auth options to use throughout this session
  1837  }
  1838  
  1839  // ADKTokenInterface2Raw is an auto generated low-level Go binding around an Ethereum contract.
  1840  type ADKTokenInterface2Raw struct {
  1841  	Contract *ADKTokenInterface2 // Generic contract binding to access the raw methods on
  1842  }
  1843  
  1844  // ADKTokenInterface2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  1845  type ADKTokenInterface2CallerRaw struct {
  1846  	Contract *ADKTokenInterface2Caller // Generic read-only contract binding to access the raw methods on
  1847  }
  1848  
  1849  // ADKTokenInterface2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  1850  type ADKTokenInterface2TransactorRaw struct {
  1851  	Contract *ADKTokenInterface2Transactor // Generic write-only contract binding to access the raw methods on
  1852  }
  1853  
  1854  // NewADKTokenInterface2 creates a new instance of ADKTokenInterface2, bound to a specific deployed contract.
  1855  func NewADKTokenInterface2(address common.Address, backend bind.ContractBackend) (*ADKTokenInterface2, error) {
  1856  	contract, err := bindADKTokenInterface2(address, backend, backend, backend)
  1857  	if err != nil {
  1858  		return nil, err
  1859  	}
  1860  	return &ADKTokenInterface2{ADKTokenInterface2Caller: ADKTokenInterface2Caller{contract: contract}, ADKTokenInterface2Transactor: ADKTokenInterface2Transactor{contract: contract}, ADKTokenInterface2Filterer: ADKTokenInterface2Filterer{contract: contract}}, nil
  1861  }
  1862  
  1863  // NewADKTokenInterface2Caller creates a new read-only instance of ADKTokenInterface2, bound to a specific deployed contract.
  1864  func NewADKTokenInterface2Caller(address common.Address, caller bind.ContractCaller) (*ADKTokenInterface2Caller, error) {
  1865  	contract, err := bindADKTokenInterface2(address, caller, nil, nil)
  1866  	if err != nil {
  1867  		return nil, err
  1868  	}
  1869  	return &ADKTokenInterface2Caller{contract: contract}, nil
  1870  }
  1871  
  1872  // NewADKTokenInterface2Transactor creates a new write-only instance of ADKTokenInterface2, bound to a specific deployed contract.
  1873  func NewADKTokenInterface2Transactor(address common.Address, transactor bind.ContractTransactor) (*ADKTokenInterface2Transactor, error) {
  1874  	contract, err := bindADKTokenInterface2(address, nil, transactor, nil)
  1875  	if err != nil {
  1876  		return nil, err
  1877  	}
  1878  	return &ADKTokenInterface2Transactor{contract: contract}, nil
  1879  }
  1880  
  1881  // NewADKTokenInterface2Filterer creates a new log filterer instance of ADKTokenInterface2, bound to a specific deployed contract.
  1882  func NewADKTokenInterface2Filterer(address common.Address, filterer bind.ContractFilterer) (*ADKTokenInterface2Filterer, error) {
  1883  	contract, err := bindADKTokenInterface2(address, nil, nil, filterer)
  1884  	if err != nil {
  1885  		return nil, err
  1886  	}
  1887  	return &ADKTokenInterface2Filterer{contract: contract}, nil
  1888  }
  1889  
  1890  // bindADKTokenInterface2 binds a generic wrapper to an already deployed contract.
  1891  func bindADKTokenInterface2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1892  	parsed, err := abi.JSON(strings.NewReader(ADKTokenInterface2ABI))
  1893  	if err != nil {
  1894  		return nil, err
  1895  	}
  1896  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  1897  }
  1898  
  1899  // Call invokes the (constant) contract method with params as input values and
  1900  // sets the output to result. The result type might be a single field for simple
  1901  // returns, a slice of interfaces for anonymous returns and a struct for named
  1902  // returns.
  1903  func (_ADKTokenInterface2 *ADKTokenInterface2Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1904  	return _ADKTokenInterface2.Contract.ADKTokenInterface2Caller.contract.Call(opts, result, method, params...)
  1905  }
  1906  
  1907  // Transfer initiates a plain transaction to move funds to the contract, calling
  1908  // its default method if one is available.
  1909  func (_ADKTokenInterface2 *ADKTokenInterface2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1910  	return _ADKTokenInterface2.Contract.ADKTokenInterface2Transactor.contract.Transfer(opts)
  1911  }
  1912  
  1913  // Transact invokes the (paid) contract method with params as input values.
  1914  func (_ADKTokenInterface2 *ADKTokenInterface2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1915  	return _ADKTokenInterface2.Contract.ADKTokenInterface2Transactor.contract.Transact(opts, method, params...)
  1916  }
  1917  
  1918  // Call invokes the (constant) contract method with params as input values and
  1919  // sets the output to result. The result type might be a single field for simple
  1920  // returns, a slice of interfaces for anonymous returns and a struct for named
  1921  // returns.
  1922  func (_ADKTokenInterface2 *ADKTokenInterface2CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1923  	return _ADKTokenInterface2.Contract.contract.Call(opts, result, method, params...)
  1924  }
  1925  
  1926  // Transfer initiates a plain transaction to move funds to the contract, calling
  1927  // its default method if one is available.
  1928  func (_ADKTokenInterface2 *ADKTokenInterface2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1929  	return _ADKTokenInterface2.Contract.contract.Transfer(opts)
  1930  }
  1931  
  1932  // Transact invokes the (paid) contract method with params as input values.
  1933  func (_ADKTokenInterface2 *ADKTokenInterface2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1934  	return _ADKTokenInterface2.Contract.contract.Transact(opts, method, params...)
  1935  }
  1936  
  1937  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1938  //
  1939  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1940  func (_ADKTokenInterface2 *ADKTokenInterface2Caller) AZ9TOADDR(opts *bind.CallOpts, adkString string) (common.Address, error) {
  1941  	var out []interface{}
  1942  	err := _ADKTokenInterface2.contract.Call(opts, &out, "AZ9_TO_ADDR", adkString)
  1943  
  1944  	if err != nil {
  1945  		return *new(common.Address), err
  1946  	}
  1947  
  1948  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1949  
  1950  	return out0, err
  1951  
  1952  }
  1953  
  1954  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1955  //
  1956  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1957  func (_ADKTokenInterface2 *ADKTokenInterface2Session) AZ9TOADDR(adkString string) (common.Address, error) {
  1958  	return _ADKTokenInterface2.Contract.AZ9TOADDR(&_ADKTokenInterface2.CallOpts, adkString)
  1959  }
  1960  
  1961  // AZ9TOADDR is a free data retrieval call binding the contract method 0xa205a8a9.
  1962  //
  1963  // Solidity: function AZ9_TO_ADDR(string adkString) pure returns(address)
  1964  func (_ADKTokenInterface2 *ADKTokenInterface2CallerSession) AZ9TOADDR(adkString string) (common.Address, error) {
  1965  	return _ADKTokenInterface2.Contract.AZ9TOADDR(&_ADKTokenInterface2.CallOpts, adkString)
  1966  }
  1967  
  1968  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1969  //
  1970  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1971  func (_ADKTokenInterface2 *ADKTokenInterface2Caller) AZ9balanceOf(opts *bind.CallOpts, _adkAddr string) (*big.Int, error) {
  1972  	var out []interface{}
  1973  	err := _ADKTokenInterface2.contract.Call(opts, &out, "AZ9balanceOf", _adkAddr)
  1974  
  1975  	if err != nil {
  1976  		return *new(*big.Int), err
  1977  	}
  1978  
  1979  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1980  
  1981  	return out0, err
  1982  
  1983  }
  1984  
  1985  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1986  //
  1987  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1988  func (_ADKTokenInterface2 *ADKTokenInterface2Session) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
  1989  	return _ADKTokenInterface2.Contract.AZ9balanceOf(&_ADKTokenInterface2.CallOpts, _adkAddr)
  1990  }
  1991  
  1992  // AZ9balanceOf is a free data retrieval call binding the contract method 0x0e7fdbb1.
  1993  //
  1994  // Solidity: function AZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  1995  func (_ADKTokenInterface2 *ADKTokenInterface2CallerSession) AZ9balanceOf(_adkAddr string) (*big.Int, error) {
  1996  	return _ADKTokenInterface2.Contract.AZ9balanceOf(&_ADKTokenInterface2.CallOpts, _adkAddr)
  1997  }
  1998  
  1999  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  2000  //
  2001  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  2002  func (_ADKTokenInterface2 *ADKTokenInterface2Transactor) MeshTransaction(opts *bind.TransactOpts, _meshaddr string, _value *big.Int) (*types.Transaction, error) {
  2003  	return _ADKTokenInterface2.contract.Transact(opts, "meshTransaction", _meshaddr, _value)
  2004  }
  2005  
  2006  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  2007  //
  2008  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  2009  func (_ADKTokenInterface2 *ADKTokenInterface2Session) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
  2010  	return _ADKTokenInterface2.Contract.MeshTransaction(&_ADKTokenInterface2.TransactOpts, _meshaddr, _value)
  2011  }
  2012  
  2013  // MeshTransaction is a paid mutator transaction binding the contract method 0x8756ee19.
  2014  //
  2015  // Solidity: function meshTransaction(string _meshaddr, int256 _value) returns()
  2016  func (_ADKTokenInterface2 *ADKTokenInterface2TransactorSession) MeshTransaction(_meshaddr string, _value *big.Int) (*types.Transaction, error) {
  2017  	return _ADKTokenInterface2.Contract.MeshTransaction(&_ADKTokenInterface2.TransactOpts, _meshaddr, _value)
  2018  }
  2019  
  2020  // ADKTransactionsMetaData contains all meta data concerning the ADKTransactions contract.
  2021  var ADKTransactionsMetaData = &bind.MetaData{
  2022  	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_genesis_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ADKTokenContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"info\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"intdata\",\"type\":\"int256\"}],\"name\":\"EventLogInt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"info\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"strdata\",\"type\":\"string\"}],\"name\":\"EventLogString\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"info\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"uintdata\",\"type\":\"uint256\"}],\"name\":\"EventLogUInt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"addressSHA3\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"transactionSHA3\",\"type\":\"bytes32\"}],\"name\":\"transactions_by_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"bundleSHA3\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"transactionSHA3\",\"type\":\"bytes32\"}],\"name\":\"transactions_by_bundle\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ADKTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_address\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"}],\"name\":\"ADM_LoadADKBalances\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_addresses\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"_value1\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value2\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value3\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value4\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value5\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value6\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value7\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value8\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value9\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_value10\",\"type\":\"int256\"}],\"name\":\"ADM_LoadADKBalancesBulk\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_transaction\",\"type\":\"string\"}],\"name\":\"ADM_LoadTransactionsUnchecked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newContract\",\"type\":\"address\"}],\"name\":\"ADM_SetADKTokenContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ClientProofOfWorkRequirement\",\"type\":\"uint256\"}],\"name\":\"ADM_SetDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_genesisAddress\",\"type\":\"address\"}],\"name\":\"ADM_SetGenesisAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_newTip\",\"type\":\"bytes32\"}],\"name\":\"ADM_SetTip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ClientProofOfWorkRequirement\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"CurlHashOP\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_adkAddr\",\"type\":\"string\"}],\"name\":\"GetAZ9balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"addressString\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"numTx\",\"type\":\"uint256\"}],\"name\":\"GetTxByAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bundleString\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"numTx\",\"type\":\"uint256\"}],\"name\":\"GetTxByBundle\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"transactiondata\",\"type\":\"string\"}],\"name\":\"PostTransactions\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"TryteToIntValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"test\",\"type\":\"uint16\"}],\"name\":\"TryteToTrits\",\"outputs\":[{\"internalType\":\"int16[3]\",\"name\":\"\",\"type\":\"int16[3]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adkgo_genesis_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"meshTip\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"spent_addresses\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transaction_branch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transaction_hashes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transaction_index\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transaction_indexed_by_seq\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transaction_trunk\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactionhash_by_address\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactionhash_by_address_count\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactionhash_by_bundle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactionhash_by_bundle_count\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transactions\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tx_count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  2023  	Sigs: map[string]string{
  2024  		"a91fa7cb": "ADKTokenAddress()",
  2025  		"64180204": "ADM_LoadADKBalances(string,int256)",
  2026  		"6a82351e": "ADM_LoadADKBalancesBulk(string,int256,int256,int256,int256,int256,int256,int256,int256,int256,int256)",
  2027  		"50e6b384": "ADM_LoadTransactionsUnchecked(string)",
  2028  		"ab815b02": "ADM_SetADKTokenContract(address)",
  2029  		"d45c0ebc": "ADM_SetDifficulty(uint256)",
  2030  		"d48a1ce5": "ADM_SetGenesisAddress(address)",
  2031  		"018e3998": "ADM_SetTip(bytes32)",
  2032  		"2076e796": "ClientProofOfWorkRequirement()",
  2033  		"016d1c68": "CurlHashOP(string)",
  2034  		"55b6193c": "GetAZ9balanceOf(string)",
  2035  		"d9fc5448": "GetTxByAddress(string,uint256)",
  2036  		"49607e7d": "GetTxByBundle(string,uint256)",
  2037  		"7fa5e242": "PostTransactions(string)",
  2038  		"510bcf5f": "TryteToIntValue(bytes)",
  2039  		"f3067872": "TryteToTrits(uint16)",
  2040  		"c4c7e151": "adkgo_genesis_address()",
  2041  		"11cf02ec": "meshTip()",
  2042  		"de5ed777": "spent_addresses(bytes32)",
  2043  		"4893b64e": "transaction_branch(bytes32)",
  2044  		"f7a8ffd7": "transaction_hashes(bytes32)",
  2045  		"428a4e9c": "transaction_index(bytes32)",
  2046  		"c1cba762": "transaction_indexed_by_seq(uint256)",
  2047  		"ad69e6a0": "transaction_trunk(bytes32)",
  2048  		"b1406a64": "transactionhash_by_address(bytes32)",
  2049  		"dcb711ff": "transactionhash_by_address_count(bytes32)",
  2050  		"91da69af": "transactionhash_by_bundle(bytes32)",
  2051  		"fc74fa69": "transactionhash_by_bundle_count(bytes32)",
  2052  		"642f2eaf": "transactions(bytes32)",
  2053  		"aa21064f": "tx_count()",
  2054  	},
  2055  	Bin: "0x60806040526001805460ff60a01b191690556014805461ffff191690553480156200002957600080fd5b5060405162002674380380620026748339810160408190526200004c9162000367565b600080546001600160a01b038084166001600160a01b0319928316179092556001805492851692909116919091179055600f6011556200008b62000093565b5050620004c0565b600154600160a01b900460ff1615620000ab57600080fd5b6001805460ff60a01b1916600160a01b179055604080516080810190915260518082526200262360208301398051620000ed91600d9160209091019062000220565b5060408051610a71808252610aa0820190925260009160208201818036833701905050905060005b610a718110156200016657603960f81b8282815181106200013a576200013a620004aa565b60200101906001600160f81b031916908160001a905350806200015d8162000480565b91505062000115565b5080516200017c90600c90602084019062000220565b506000600d6040516200019091906200039f565b60405180910390209050600c60026000838152602001908152602001600020908054620001bd9062000443565b620001ca929190620002af565b506000818152600360205260409020600d8054620001e89062000443565b620001f5929190620002af565b5060108190556000818152600e60209081526040808320849055600f909152812091909155600b5550565b8280546200022e9062000443565b90600052602060002090601f0160209004810192826200025257600085556200029d565b82601f106200026d57805160ff19168380011785556200029d565b828001600101855582156200029d579182015b828111156200029d57825182559160200191906001019062000280565b50620002ab92915062000333565b5090565b828054620002bd9062000443565b90600052602060002090601f016020900481019282620002e157600085556200029d565b82601f10620002f457805485556200029d565b828001600101855582156200029d57600052602060002091601f016020900482015b828111156200029d57825482559160010191906001019062000316565b5b80821115620002ab576000815560010162000334565b80516001600160a01b03811681146200036257600080fd5b919050565b600080604083850312156200037b57600080fd5b62000386836200034a565b915062000396602084016200034a565b90509250929050565b600080835481600182811c915080831680620003bc57607f831692505b6020808410821415620003dd57634e487b7160e01b86526022600452602486fd5b818015620003f45760018114620004065762000435565b60ff1986168952848901965062000435565b60008a81526020902060005b868110156200042d5781548b82015290850190830162000412565b505084890196505b509498975050505050505050565b600181811c908216806200045857607f821691505b602082108114156200047a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415620004a357634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b61215380620004d06000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063a91fa7cb11610104578063d45c0ebc116100a2578063de5ed77711610071578063de5ed77714610463578063f306787214610496578063f7a8ffd7146104b6578063fc74fa69146104c957600080fd5b8063d45c0ebc146103ef578063d48a1ce514610402578063d9fc544814610415578063dcb711ff1461042857600080fd5b8063ad69e6a0116100de578063ad69e6a01461037c578063b1406a641461039c578063c1cba762146103bc578063c4c7e151146103dc57600080fd5b8063a91fa7cb14610335578063aa21064f14610360578063ab815b021461036957600080fd5b806350e6b3841161017c578063642f2eaf1161014b578063642f2eaf146102dc5780636a82351e146102ef5780637fa5e2421461030257806391da69af1461031557600080fd5b806350e6b38414610290578063510bcf5f146102a357806355b6193c146102b657806364180204146102c957600080fd5b80632076e796116101b85780632076e79614610234578063428a4e9c1461023d5780634893b64e1461025d57806349607e7d1461027d57600080fd5b8063016d1c68146101df578063018e39981461020857806311cf02ec1461021d575b600080fd5b6101f26101ed366004611bbf565b6104ef565b6040516101ff9190611dc0565b60405180910390f35b61021b610216366004611b55565b6106d2565b005b61022660105481565b6040519081526020016101ff565b61022660115481565b61022661024b366004611b55565b600a6020526000908152604090205481565b61022661026b366004611b55565b600f6020526000908152604090205481565b6101f261028b366004611bf4565b61070a565b61021b61029e366004611bbf565b6107f0565b6102266102b1366004611b6e565b610ba9565b6102266102c4366004611bbf565b610c5f565b61021b6102d7366004611bf4565b610ce0565b6101f26102ea366004611b55565b610d72565b61021b6102fd366004611c39565b610e0c565b6101f2610310366004611bbf565b6113cb565b610226610323366004611b55565b60066020526000908152604090205481565b600054610348906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b610226600b5481565b61021b610377366004611b2c565b6114fa565b61022661038a366004611b55565b600e6020526000908152604090205481565b6102266103aa366004611b55565b60056020526000908152604090205481565b6102266103ca366004611b55565b60096020526000908152604090205481565b600154610348906001600160a01b031681565b61021b6103fd366004611b55565b611546565b61021b610410366004611b2c565b611575565b6101f2610423366004611bf4565b6115c1565b61044e610436366004611b55565b60076020526000908152604090205463ffffffff1681565b60405163ffffffff90911681526020016101ff565b610486610471366004611b55565b60046020526000908152604090205460ff1681565b60405190151581526020016101ff565b6104a96104a4366004611ccd565b611605565b6040516101ff9190611d8c565b6101f26104c4366004611b55565b611735565b61044e6104d7366004611b55565b60086020526000908152604090205463ffffffff1681565b60405160609060009061050a90829081908690602001611d36565b60408051601f19818403018152919052805160208201819020919250600160fd1b908390600a90811061053f5761053f6120f1565b60200101906001600160f81b031916908160001a90535081516020830181902090600160fe1b908490600a908110610579576105796120f1565b60200101906001600160f81b031916908160001a905350825160208401206040805160518082526080820190925260009160208201818036833701905050905060005b602081101561065f578481602081106105d7576105d76120f1565b1a60f81b8282815181106105ed576105ed6120f1565b60200101906001600160f81b031916908160001a905350838160208110610616576106166120f1565b1a60f81b82610626836020611e84565b81518110610636576106366120f1565b60200101906001600160f81b031916908160001a9053508061065781612065565b9150506105bc565b5060005b60118110156106c75782816020811061067e5761067e6120f1565b1a60f81b8261068e836040611e84565b8151811061069e5761069e6120f1565b60200101906001600160f81b031916908160001a905350806106bf81612065565b915050610663565b509695505050505050565b6001546001600160a01b031633146107055760405162461bcd60e51b81526004016106fc90611df5565b60405180910390fd5b601055565b8151602083012060609061071e8382611e84565b6000818152600660205260409020549091508061074e5760405180602001604052806000815250925050506107ea565b600081815260036020526040902080546107679061202a565b80601f01602080910402602001604051908101604052809291908181526020018280546107939061202a565b80156107e05780601f106107b5576101008083540402835291602001916107e0565b820191906000526020600020905b8154815290600101906020018083116107c357829003601f168201915b5050505050925050505b92915050565b80600081905060018151101561080557600080fd5b600160005b825181101561089657828181518110610825576108256120f1565b60209101015160f81c6039148061087b5750604183828151811061084b5761084b6120f1565b016020015160f81c1080159061087b5750605a838281518110610870576108706120f1565b016020015160f81c11155b61088457600091505b8061088e81612065565b91505061080a565b50806108d55760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064016106fc565b6001546001600160a01b031633146108ff5760405162461bcd60e51b81526004016106fc90611df5565b83518490610a71146109535760405162461bcd60e51b815260206004820152601a60248201527f494e56414c4944205452414e53414354494f4e204c454e47544800000000000060448201526064016106fc565b6109e26040518061020001604052806060815260200160608152602001600081526020016060815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160008152602001600063ffffffff168152602001600080191681526020016060815260200160008019168152602001600080191681525090565b602081018690526109f2866104ef565b6101a08201819052805160209182012061018083018190528183015160009182526002835260409091208151610a2d939192909101906119d8565b506101a081015161018082015160009081526003602090815260409091208251610a5c939192909101906119d8565b50610a6c8261097e6109cf61174e565b80516020909101206101c0820152610a89826109cf610a2061174e565b80516020918201206101e083019081526101c0830151610180840180516000908152600e8552604080822093909355925190518352600f8452912055810151610ad79061088b6108dc611819565b8152610ae88261092d61097e61174e565b6101008201819052815180516020918201208251919092012061018083015160405182917fa551994b821690876343950f8de610eb0796baaded797266283c842d257dea9f91610b3a91815260200190565b60405180910390a2817f3a3fefec9be0b15f11bf30dc166021af2910538b9322c12e44963bbbe72f7d7b846101800151604051610b7991815260200190565b60405180910390a2610b9081846101800151611904565b610b9f8284610180015161196e565b5050505050505050565b805160009081905b8015610c58576000610be585610bc8600185611fa7565b81518110610bd857610bd86120f1565b016020015160f81c611605565b604081015190915060010b610bfb846003611edc565b610c059190611e1d565b602082015190935060010b610c1b846003611edc565b610c259190611e1d565b815190935060010b610c38846003611edc565b610c429190611e1d565b9250508080610c5090612013565b915050610bb1565b5092915050565b60008054604051630e7fdbb160e01b81526001600160a01b0390911690630e7fdbb190610c90908590600401611dc0565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ea9190611cf1565b6001546001600160a01b03163314610d0a5760405162461bcd60e51b81526004016106fc90611df5565b600054604051638756ee1960e01b81526001600160a01b0390911690638756ee1990610d3c9085908590600401611dd3565b600060405180830381600087803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b505050505050565b60026020526000908152604090208054610d8b9061202a565b80601f0160208091040260200160405190810160405280929190818152602001828054610db79061202a565b8015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b505050505081565b6001546001600160a01b03163314610e365760405162461bcd60e51b81526004016106fc90611df5565b60008b5161032a14610ebe5760405162461bcd60e51b815260206004820152604560248201527f537472696e67206d75737420636f6e7461696e2031302061646472657373657360448201527f20776974686f757420636865636b73756d20666f722062756c6b2070726f63656064820152647373696e6760d81b608482015260a4016106fc565b6000546001600160a01b0316638756ee19610ee48e84610edf816051611e9c565b611819565b8d6040518363ffffffff1660e01b8152600401610f02929190611dd3565b600060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b50505050605181610f419190611e9c565b6000549091506001600160a01b0316638756ee19610f658e84610edf816051611e9c565b8c6040518363ffffffff1660e01b8152600401610f83929190611dd3565b600060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b50505050605181610fc29190611e9c565b6000549091506001600160a01b0316638756ee19610fe68e84610edf816051611e9c565b8b6040518363ffffffff1660e01b8152600401611004929190611dd3565b600060405180830381600087803b15801561101e57600080fd5b505af1158015611032573d6000803e3d6000fd5b505050506051816110439190611e9c565b6000549091506001600160a01b0316638756ee196110678e84610edf816051611e9c565b8a6040518363ffffffff1660e01b8152600401611085929190611dd3565b600060405180830381600087803b15801561109f57600080fd5b505af11580156110b3573d6000803e3d6000fd5b505050506051816110c49190611e9c565b6000549091506001600160a01b0316638756ee196110e88e84610edf816051611e9c565b896040518363ffffffff1660e01b8152600401611106929190611dd3565b600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050506051816111459190611e9c565b6000549091506001600160a01b0316638756ee196111698e84610edf816051611e9c565b886040518363ffffffff1660e01b8152600401611187929190611dd3565b600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b505050506051816111c69190611e9c565b6000549091506001600160a01b0316638756ee196111ea8e84610edf816051611e9c565b876040518363ffffffff1660e01b8152600401611208929190611dd3565b600060405180830381600087803b15801561122257600080fd5b505af1158015611236573d6000803e3d6000fd5b505050506051816112479190611e9c565b6000549091506001600160a01b0316638756ee1961126b8e84610edf816051611e9c565b866040518363ffffffff1660e01b8152600401611289929190611dd3565b600060405180830381600087803b1580156112a357600080fd5b505af11580156112b7573d6000803e3d6000fd5b505050506051816112c89190611e9c565b6000549091506001600160a01b0316638756ee196112ec8e84610edf816051611e9c565b856040518363ffffffff1660e01b815260040161130a929190611dd3565b600060405180830381600087803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b505050506051816113499190611e9c565b6000549091506001600160a01b0316638756ee1961136d8e84610edf816051611e9c565b846040518363ffffffff1660e01b815260040161138b929190611dd3565b600060405180830381600087803b1580156113a557600080fd5b505af11580156113b9573d6000803e3d6000fd5b50505050505050505050505050505050565b60608160008190506001815110156113e257600080fd5b600160005b825181101561147357828181518110611402576114026120f1565b60209101015160f81c6039148061145857506041838281518110611428576114286120f1565b016020015160f81c108015906114585750605a83828151811061144d5761144d6120f1565b016020015160f81c11155b61146157600091505b8061146b81612065565b9150506113e7565b50806114b25760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064016106fc565b60405162461bcd60e51b815260206004820152601860248201527f66756e6374696f6e206e6f7420696d706c656d656e746564000000000000000060448201526064016106fc565b6001546001600160a01b031633146115245760405162461bcd60e51b81526004016106fc90611df5565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146115705760405162461bcd60e51b81526004016106fc90611df5565b601155565b6001546001600160a01b0316331461159f5760405162461bcd60e51b81526004016106fc90611df5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b815160208301206060906115d58382611e84565b6000818152600560205260409020549091508061074e5760405180602001604052806000815250925050506107ea565b61160d611a5c565b8161ffff166039141561163c575050604080516060810182526000808252602082018190529181019190915290565b60418261ffff16101580156116565750605a8261ffff1611155b6116925760405162461bcd60e51b815260206004820152600d60248201526c494e56414c494420545259544560981b60448201526064016106fc565b600061169f836003611e5e565b9050604051806060016040528060016003846116bb91906120a4565b6116c59190611f61565b60010b60010b81526020016001600380856116e09190611ebb565b6116ea91906120a4565b6116f49190611f61565b60010b60010b8152602001600160036009856117109190611ebb565b61171a91906120a4565b6117249190611f61565b60010b60010b815250915050919050565b60036020526000908152604090208054610d8b9061202a565b6060600061175c8484611fa7565b67ffffffffffffffff81111561177457611774612107565b6040519080825280601f01601f19166020018201604052801561179e576020820181803683370190505b509050835b83811015611810578581815181106117bd576117bd6120f1565b01602001516001600160f81b031916826117d78784611fa7565b815181106117e7576117e76120f1565b60200101906001600160f81b031916908160001a9053508061180881612065565b9150506117a3565b50949350505050565b60608360006118288585611fbe565b63ffffffff1667ffffffffffffffff81111561184657611846612107565b6040519080825280601f01601f191660200182016040528015611870576020820181803683370190505b509050845b8463ffffffff168163ffffffff1610156118fa57828163ffffffff16815181106118a1576118a16120f1565b01602001516001600160f81b031916826118bb8884611fbe565b63ffffffff16815181106118d1576118d16120f1565b60200101906001600160f81b031916908160001a905350806118f281612080565b915050611875565b5095945050505050565b60008281526008602052604081205463ffffffff16906119248285611e84565b600081815260066020526040902084905590508161194181612080565b600095865260086020526040909520805463ffffffff191663ffffffff9096169590951790945550505050565b60008281526007602052604081205463ffffffff169061198e8285611e84565b60008181526005602052604090208490559050816119ab81612080565b600095865260076020526040909520805463ffffffff191663ffffffff9096169590951790945550505050565b8280546119e49061202a565b90600052602060002090601f016020900481019282611a065760008555611a4c565b82601f10611a1f57805160ff1916838001178555611a4c565b82800160010185558215611a4c579182015b82811115611a4c578251825591602001919060010190611a31565b50611a58929150611a7a565b5090565b60405180606001604052806003906020820280368337509192915050565b5b80821115611a585760008155600101611a7b565b600067ffffffffffffffff80841115611aaa57611aaa612107565b604051601f8501601f19908116603f01168101908282118183101715611ad257611ad2612107565b81604052809350858152868686011115611aeb57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611b1657600080fd5b611b2583833560208501611a8f565b9392505050565b600060208284031215611b3e57600080fd5b81356001600160a01b0381168114611b2557600080fd5b600060208284031215611b6757600080fd5b5035919050565b600060208284031215611b8057600080fd5b813567ffffffffffffffff811115611b9757600080fd5b8201601f81018413611ba857600080fd5b611bb784823560208401611a8f565b949350505050565b600060208284031215611bd157600080fd5b813567ffffffffffffffff811115611be857600080fd5b611bb784828501611b05565b60008060408385031215611c0757600080fd5b823567ffffffffffffffff811115611c1e57600080fd5b611c2a85828601611b05565b95602094909401359450505050565b60008060008060008060008060008060006101608c8e031215611c5b57600080fd5b8b3567ffffffffffffffff811115611c7257600080fd5b611c7e8e828f01611b05565b9e60208e01359e5060408e01359d60608101359d5060808101359c5060a08101359b5060c08101359a5060e0810135995061010081013598506101208101359750610140013595509350505050565b600060208284031215611cdf57600080fd5b813561ffff81168114611b2557600080fd5b600060208284031215611d0357600080fd5b5051919050565b60008151808452611d22816020860160208601611fe3565b601f01601f19169290920160200192915050565b657b4355524c7d60d01b81526309082a6960e31b60068201526001600160f81b0319848116600a8301528316600b8201528151600090611d7d81600c850160208701611fe3565b91909101600c01949350505050565b60608101818360005b6003811015611db7578151600190810b84526020938401939092019101611d95565b50505092915050565b602081526000611b256020830184611d0a565b604081526000611de66040830185611d0a565b90508260208301529392505050565b6020808252600e908201526d1393d5081055551213d49256915160921b604082015260600190565b600080821280156001600160ff1b0384900385131615611e3f57611e3f6120c5565b600160ff1b8390038412811615611e5857611e586120c5565b50500190565b600061ffff808316818516808303821115611e7b57611e7b6120c5565b01949350505050565b60008219821115611e9757611e976120c5565b500190565b600063ffffffff808316818516808303821115611e7b57611e7b6120c5565b600061ffff80841680611ed057611ed06120db565b92169190910492915050565b60006001600160ff1b0381841382841380821686840486111615611f0257611f026120c5565b600160ff1b6000871282811687830589121615611f2157611f216120c5565b60008712925087820587128484161615611f3d57611f3d6120c5565b87850587128184161615611f5357611f536120c5565b505050929093029392505050565b60008160010b8360010b6000811281617fff1901831281151615611f8757611f876120c5565b81617fff018313811615611f9d57611f9d6120c5565b5090039392505050565b600082821015611fb957611fb96120c5565b500390565b600063ffffffff83811690831681811015611fdb57611fdb6120c5565b039392505050565b60005b83811015611ffe578181015183820152602001611fe6565b8381111561200d576000848401525b50505050565b600081612022576120226120c5565b506000190190565b600181811c9082168061203e57607f821691505b6020821081141561205f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612079576120796120c5565b5060010190565b600063ffffffff8083168181141561209a5761209a6120c5565b6001019392505050565b600061ffff808416806120b9576120b96120db565b92169190910692915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122077f6146a739251a90e211580067af49d3278b1df2d04c6bf91b01a9f41a3f4f664736f6c63430008070033393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939",
  2056  }
  2057  
  2058  // ADKTransactionsABI is the input ABI used to generate the binding from.
  2059  // Deprecated: Use ADKTransactionsMetaData.ABI instead.
  2060  var ADKTransactionsABI = ADKTransactionsMetaData.ABI
  2061  
  2062  // Deprecated: Use ADKTransactionsMetaData.Sigs instead.
  2063  // ADKTransactionsFuncSigs maps the 4-byte function signature to its string representation.
  2064  var ADKTransactionsFuncSigs = ADKTransactionsMetaData.Sigs
  2065  
  2066  // ADKTransactionsBin is the compiled bytecode used for deploying new contracts.
  2067  // Deprecated: Use ADKTransactionsMetaData.Bin instead.
  2068  var ADKTransactionsBin = ADKTransactionsMetaData.Bin
  2069  
  2070  // DeployADKTransactions deploys a new Ethereum contract, binding an instance of ADKTransactions to it.
  2071  func DeployADKTransactions(auth *bind.TransactOpts, backend bind.ContractBackend, _genesis_account common.Address, _ADKTokenContract common.Address) (common.Address, *types.Transaction, *ADKTransactions, error) {
  2072  	parsed, err := ADKTransactionsMetaData.GetAbi()
  2073  	if err != nil {
  2074  		return common.Address{}, nil, nil, err
  2075  	}
  2076  	if parsed == nil {
  2077  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  2078  	}
  2079  
  2080  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ADKTransactionsBin), backend, _genesis_account, _ADKTokenContract)
  2081  	if err != nil {
  2082  		return common.Address{}, nil, nil, err
  2083  	}
  2084  	return address, tx, &ADKTransactions{ADKTransactionsCaller: ADKTransactionsCaller{contract: contract}, ADKTransactionsTransactor: ADKTransactionsTransactor{contract: contract}, ADKTransactionsFilterer: ADKTransactionsFilterer{contract: contract}}, nil
  2085  }
  2086  
  2087  // ADKTransactions is an auto generated Go binding around an Ethereum contract.
  2088  type ADKTransactions struct {
  2089  	ADKTransactionsCaller     // Read-only binding to the contract
  2090  	ADKTransactionsTransactor // Write-only binding to the contract
  2091  	ADKTransactionsFilterer   // Log filterer for contract events
  2092  }
  2093  
  2094  // ADKTransactionsCaller is an auto generated read-only Go binding around an Ethereum contract.
  2095  type ADKTransactionsCaller struct {
  2096  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2097  }
  2098  
  2099  // ADKTransactionsTransactor is an auto generated write-only Go binding around an Ethereum contract.
  2100  type ADKTransactionsTransactor struct {
  2101  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2102  }
  2103  
  2104  // ADKTransactionsFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  2105  type ADKTransactionsFilterer struct {
  2106  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2107  }
  2108  
  2109  // ADKTransactionsSession is an auto generated Go binding around an Ethereum contract,
  2110  // with pre-set call and transact options.
  2111  type ADKTransactionsSession struct {
  2112  	Contract     *ADKTransactions  // Generic contract binding to set the session for
  2113  	CallOpts     bind.CallOpts     // Call options to use throughout this session
  2114  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2115  }
  2116  
  2117  // ADKTransactionsCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  2118  // with pre-set call options.
  2119  type ADKTransactionsCallerSession struct {
  2120  	Contract *ADKTransactionsCaller // Generic contract caller binding to set the session for
  2121  	CallOpts bind.CallOpts          // Call options to use throughout this session
  2122  }
  2123  
  2124  // ADKTransactionsTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  2125  // with pre-set transact options.
  2126  type ADKTransactionsTransactorSession struct {
  2127  	Contract     *ADKTransactionsTransactor // Generic contract transactor binding to set the session for
  2128  	TransactOpts bind.TransactOpts          // Transaction auth options to use throughout this session
  2129  }
  2130  
  2131  // ADKTransactionsRaw is an auto generated low-level Go binding around an Ethereum contract.
  2132  type ADKTransactionsRaw struct {
  2133  	Contract *ADKTransactions // Generic contract binding to access the raw methods on
  2134  }
  2135  
  2136  // ADKTransactionsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  2137  type ADKTransactionsCallerRaw struct {
  2138  	Contract *ADKTransactionsCaller // Generic read-only contract binding to access the raw methods on
  2139  }
  2140  
  2141  // ADKTransactionsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  2142  type ADKTransactionsTransactorRaw struct {
  2143  	Contract *ADKTransactionsTransactor // Generic write-only contract binding to access the raw methods on
  2144  }
  2145  
  2146  // NewADKTransactions creates a new instance of ADKTransactions, bound to a specific deployed contract.
  2147  func NewADKTransactions(address common.Address, backend bind.ContractBackend) (*ADKTransactions, error) {
  2148  	contract, err := bindADKTransactions(address, backend, backend, backend)
  2149  	if err != nil {
  2150  		return nil, err
  2151  	}
  2152  	return &ADKTransactions{ADKTransactionsCaller: ADKTransactionsCaller{contract: contract}, ADKTransactionsTransactor: ADKTransactionsTransactor{contract: contract}, ADKTransactionsFilterer: ADKTransactionsFilterer{contract: contract}}, nil
  2153  }
  2154  
  2155  // NewADKTransactionsCaller creates a new read-only instance of ADKTransactions, bound to a specific deployed contract.
  2156  func NewADKTransactionsCaller(address common.Address, caller bind.ContractCaller) (*ADKTransactionsCaller, error) {
  2157  	contract, err := bindADKTransactions(address, caller, nil, nil)
  2158  	if err != nil {
  2159  		return nil, err
  2160  	}
  2161  	return &ADKTransactionsCaller{contract: contract}, nil
  2162  }
  2163  
  2164  // NewADKTransactionsTransactor creates a new write-only instance of ADKTransactions, bound to a specific deployed contract.
  2165  func NewADKTransactionsTransactor(address common.Address, transactor bind.ContractTransactor) (*ADKTransactionsTransactor, error) {
  2166  	contract, err := bindADKTransactions(address, nil, transactor, nil)
  2167  	if err != nil {
  2168  		return nil, err
  2169  	}
  2170  	return &ADKTransactionsTransactor{contract: contract}, nil
  2171  }
  2172  
  2173  // NewADKTransactionsFilterer creates a new log filterer instance of ADKTransactions, bound to a specific deployed contract.
  2174  func NewADKTransactionsFilterer(address common.Address, filterer bind.ContractFilterer) (*ADKTransactionsFilterer, error) {
  2175  	contract, err := bindADKTransactions(address, nil, nil, filterer)
  2176  	if err != nil {
  2177  		return nil, err
  2178  	}
  2179  	return &ADKTransactionsFilterer{contract: contract}, nil
  2180  }
  2181  
  2182  // bindADKTransactions binds a generic wrapper to an already deployed contract.
  2183  func bindADKTransactions(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  2184  	parsed, err := abi.JSON(strings.NewReader(ADKTransactionsABI))
  2185  	if err != nil {
  2186  		return nil, err
  2187  	}
  2188  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  2189  }
  2190  
  2191  // Call invokes the (constant) contract method with params as input values and
  2192  // sets the output to result. The result type might be a single field for simple
  2193  // returns, a slice of interfaces for anonymous returns and a struct for named
  2194  // returns.
  2195  func (_ADKTransactions *ADKTransactionsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2196  	return _ADKTransactions.Contract.ADKTransactionsCaller.contract.Call(opts, result, method, params...)
  2197  }
  2198  
  2199  // Transfer initiates a plain transaction to move funds to the contract, calling
  2200  // its default method if one is available.
  2201  func (_ADKTransactions *ADKTransactionsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2202  	return _ADKTransactions.Contract.ADKTransactionsTransactor.contract.Transfer(opts)
  2203  }
  2204  
  2205  // Transact invokes the (paid) contract method with params as input values.
  2206  func (_ADKTransactions *ADKTransactionsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2207  	return _ADKTransactions.Contract.ADKTransactionsTransactor.contract.Transact(opts, method, params...)
  2208  }
  2209  
  2210  // Call invokes the (constant) contract method with params as input values and
  2211  // sets the output to result. The result type might be a single field for simple
  2212  // returns, a slice of interfaces for anonymous returns and a struct for named
  2213  // returns.
  2214  func (_ADKTransactions *ADKTransactionsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2215  	return _ADKTransactions.Contract.contract.Call(opts, result, method, params...)
  2216  }
  2217  
  2218  // Transfer initiates a plain transaction to move funds to the contract, calling
  2219  // its default method if one is available.
  2220  func (_ADKTransactions *ADKTransactionsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2221  	return _ADKTransactions.Contract.contract.Transfer(opts)
  2222  }
  2223  
  2224  // Transact invokes the (paid) contract method with params as input values.
  2225  func (_ADKTransactions *ADKTransactionsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2226  	return _ADKTransactions.Contract.contract.Transact(opts, method, params...)
  2227  }
  2228  
  2229  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  2230  //
  2231  // Solidity: function ADKTokenAddress() view returns(address)
  2232  func (_ADKTransactions *ADKTransactionsCaller) ADKTokenAddress(opts *bind.CallOpts) (common.Address, error) {
  2233  	var out []interface{}
  2234  	err := _ADKTransactions.contract.Call(opts, &out, "ADKTokenAddress")
  2235  
  2236  	if err != nil {
  2237  		return *new(common.Address), err
  2238  	}
  2239  
  2240  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  2241  
  2242  	return out0, err
  2243  
  2244  }
  2245  
  2246  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  2247  //
  2248  // Solidity: function ADKTokenAddress() view returns(address)
  2249  func (_ADKTransactions *ADKTransactionsSession) ADKTokenAddress() (common.Address, error) {
  2250  	return _ADKTransactions.Contract.ADKTokenAddress(&_ADKTransactions.CallOpts)
  2251  }
  2252  
  2253  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  2254  //
  2255  // Solidity: function ADKTokenAddress() view returns(address)
  2256  func (_ADKTransactions *ADKTransactionsCallerSession) ADKTokenAddress() (common.Address, error) {
  2257  	return _ADKTransactions.Contract.ADKTokenAddress(&_ADKTransactions.CallOpts)
  2258  }
  2259  
  2260  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  2261  //
  2262  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  2263  func (_ADKTransactions *ADKTransactionsCaller) ClientProofOfWorkRequirement(opts *bind.CallOpts) (*big.Int, error) {
  2264  	var out []interface{}
  2265  	err := _ADKTransactions.contract.Call(opts, &out, "ClientProofOfWorkRequirement")
  2266  
  2267  	if err != nil {
  2268  		return *new(*big.Int), err
  2269  	}
  2270  
  2271  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2272  
  2273  	return out0, err
  2274  
  2275  }
  2276  
  2277  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  2278  //
  2279  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  2280  func (_ADKTransactions *ADKTransactionsSession) ClientProofOfWorkRequirement() (*big.Int, error) {
  2281  	return _ADKTransactions.Contract.ClientProofOfWorkRequirement(&_ADKTransactions.CallOpts)
  2282  }
  2283  
  2284  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  2285  //
  2286  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  2287  func (_ADKTransactions *ADKTransactionsCallerSession) ClientProofOfWorkRequirement() (*big.Int, error) {
  2288  	return _ADKTransactions.Contract.ClientProofOfWorkRequirement(&_ADKTransactions.CallOpts)
  2289  }
  2290  
  2291  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  2292  //
  2293  // Solidity: function CurlHashOP(string str) pure returns(string)
  2294  func (_ADKTransactions *ADKTransactionsCaller) CurlHashOP(opts *bind.CallOpts, str string) (string, error) {
  2295  	var out []interface{}
  2296  	err := _ADKTransactions.contract.Call(opts, &out, "CurlHashOP", str)
  2297  
  2298  	if err != nil {
  2299  		return *new(string), err
  2300  	}
  2301  
  2302  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2303  
  2304  	return out0, err
  2305  
  2306  }
  2307  
  2308  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  2309  //
  2310  // Solidity: function CurlHashOP(string str) pure returns(string)
  2311  func (_ADKTransactions *ADKTransactionsSession) CurlHashOP(str string) (string, error) {
  2312  	return _ADKTransactions.Contract.CurlHashOP(&_ADKTransactions.CallOpts, str)
  2313  }
  2314  
  2315  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  2316  //
  2317  // Solidity: function CurlHashOP(string str) pure returns(string)
  2318  func (_ADKTransactions *ADKTransactionsCallerSession) CurlHashOP(str string) (string, error) {
  2319  	return _ADKTransactions.Contract.CurlHashOP(&_ADKTransactions.CallOpts, str)
  2320  }
  2321  
  2322  // GetAZ9balanceOf is a free data retrieval call binding the contract method 0x55b6193c.
  2323  //
  2324  // Solidity: function GetAZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  2325  func (_ADKTransactions *ADKTransactionsCaller) GetAZ9balanceOf(opts *bind.CallOpts, _adkAddr string) (*big.Int, error) {
  2326  	var out []interface{}
  2327  	err := _ADKTransactions.contract.Call(opts, &out, "GetAZ9balanceOf", _adkAddr)
  2328  
  2329  	if err != nil {
  2330  		return *new(*big.Int), err
  2331  	}
  2332  
  2333  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2334  
  2335  	return out0, err
  2336  
  2337  }
  2338  
  2339  // GetAZ9balanceOf is a free data retrieval call binding the contract method 0x55b6193c.
  2340  //
  2341  // Solidity: function GetAZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  2342  func (_ADKTransactions *ADKTransactionsSession) GetAZ9balanceOf(_adkAddr string) (*big.Int, error) {
  2343  	return _ADKTransactions.Contract.GetAZ9balanceOf(&_ADKTransactions.CallOpts, _adkAddr)
  2344  }
  2345  
  2346  // GetAZ9balanceOf is a free data retrieval call binding the contract method 0x55b6193c.
  2347  //
  2348  // Solidity: function GetAZ9balanceOf(string _adkAddr) view returns(uint256 balance)
  2349  func (_ADKTransactions *ADKTransactionsCallerSession) GetAZ9balanceOf(_adkAddr string) (*big.Int, error) {
  2350  	return _ADKTransactions.Contract.GetAZ9balanceOf(&_ADKTransactions.CallOpts, _adkAddr)
  2351  }
  2352  
  2353  // GetTxByAddress is a free data retrieval call binding the contract method 0xd9fc5448.
  2354  //
  2355  // Solidity: function GetTxByAddress(string addressString, uint256 numTx) view returns(string)
  2356  func (_ADKTransactions *ADKTransactionsCaller) GetTxByAddress(opts *bind.CallOpts, addressString string, numTx *big.Int) (string, error) {
  2357  	var out []interface{}
  2358  	err := _ADKTransactions.contract.Call(opts, &out, "GetTxByAddress", addressString, numTx)
  2359  
  2360  	if err != nil {
  2361  		return *new(string), err
  2362  	}
  2363  
  2364  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2365  
  2366  	return out0, err
  2367  
  2368  }
  2369  
  2370  // GetTxByAddress is a free data retrieval call binding the contract method 0xd9fc5448.
  2371  //
  2372  // Solidity: function GetTxByAddress(string addressString, uint256 numTx) view returns(string)
  2373  func (_ADKTransactions *ADKTransactionsSession) GetTxByAddress(addressString string, numTx *big.Int) (string, error) {
  2374  	return _ADKTransactions.Contract.GetTxByAddress(&_ADKTransactions.CallOpts, addressString, numTx)
  2375  }
  2376  
  2377  // GetTxByAddress is a free data retrieval call binding the contract method 0xd9fc5448.
  2378  //
  2379  // Solidity: function GetTxByAddress(string addressString, uint256 numTx) view returns(string)
  2380  func (_ADKTransactions *ADKTransactionsCallerSession) GetTxByAddress(addressString string, numTx *big.Int) (string, error) {
  2381  	return _ADKTransactions.Contract.GetTxByAddress(&_ADKTransactions.CallOpts, addressString, numTx)
  2382  }
  2383  
  2384  // GetTxByBundle is a free data retrieval call binding the contract method 0x49607e7d.
  2385  //
  2386  // Solidity: function GetTxByBundle(string bundleString, uint256 numTx) view returns(string)
  2387  func (_ADKTransactions *ADKTransactionsCaller) GetTxByBundle(opts *bind.CallOpts, bundleString string, numTx *big.Int) (string, error) {
  2388  	var out []interface{}
  2389  	err := _ADKTransactions.contract.Call(opts, &out, "GetTxByBundle", bundleString, numTx)
  2390  
  2391  	if err != nil {
  2392  		return *new(string), err
  2393  	}
  2394  
  2395  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2396  
  2397  	return out0, err
  2398  
  2399  }
  2400  
  2401  // GetTxByBundle is a free data retrieval call binding the contract method 0x49607e7d.
  2402  //
  2403  // Solidity: function GetTxByBundle(string bundleString, uint256 numTx) view returns(string)
  2404  func (_ADKTransactions *ADKTransactionsSession) GetTxByBundle(bundleString string, numTx *big.Int) (string, error) {
  2405  	return _ADKTransactions.Contract.GetTxByBundle(&_ADKTransactions.CallOpts, bundleString, numTx)
  2406  }
  2407  
  2408  // GetTxByBundle is a free data retrieval call binding the contract method 0x49607e7d.
  2409  //
  2410  // Solidity: function GetTxByBundle(string bundleString, uint256 numTx) view returns(string)
  2411  func (_ADKTransactions *ADKTransactionsCallerSession) GetTxByBundle(bundleString string, numTx *big.Int) (string, error) {
  2412  	return _ADKTransactions.Contract.GetTxByBundle(&_ADKTransactions.CallOpts, bundleString, numTx)
  2413  }
  2414  
  2415  // TryteToIntValue is a free data retrieval call binding the contract method 0x510bcf5f.
  2416  //
  2417  // Solidity: function TryteToIntValue(bytes data) pure returns(int256)
  2418  func (_ADKTransactions *ADKTransactionsCaller) TryteToIntValue(opts *bind.CallOpts, data []byte) (*big.Int, error) {
  2419  	var out []interface{}
  2420  	err := _ADKTransactions.contract.Call(opts, &out, "TryteToIntValue", data)
  2421  
  2422  	if err != nil {
  2423  		return *new(*big.Int), err
  2424  	}
  2425  
  2426  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2427  
  2428  	return out0, err
  2429  
  2430  }
  2431  
  2432  // TryteToIntValue is a free data retrieval call binding the contract method 0x510bcf5f.
  2433  //
  2434  // Solidity: function TryteToIntValue(bytes data) pure returns(int256)
  2435  func (_ADKTransactions *ADKTransactionsSession) TryteToIntValue(data []byte) (*big.Int, error) {
  2436  	return _ADKTransactions.Contract.TryteToIntValue(&_ADKTransactions.CallOpts, data)
  2437  }
  2438  
  2439  // TryteToIntValue is a free data retrieval call binding the contract method 0x510bcf5f.
  2440  //
  2441  // Solidity: function TryteToIntValue(bytes data) pure returns(int256)
  2442  func (_ADKTransactions *ADKTransactionsCallerSession) TryteToIntValue(data []byte) (*big.Int, error) {
  2443  	return _ADKTransactions.Contract.TryteToIntValue(&_ADKTransactions.CallOpts, data)
  2444  }
  2445  
  2446  // TryteToTrits is a free data retrieval call binding the contract method 0xf3067872.
  2447  //
  2448  // Solidity: function TryteToTrits(uint16 test) pure returns(int16[3])
  2449  func (_ADKTransactions *ADKTransactionsCaller) TryteToTrits(opts *bind.CallOpts, test uint16) ([3]int16, error) {
  2450  	var out []interface{}
  2451  	err := _ADKTransactions.contract.Call(opts, &out, "TryteToTrits", test)
  2452  
  2453  	if err != nil {
  2454  		return *new([3]int16), err
  2455  	}
  2456  
  2457  	out0 := *abi.ConvertType(out[0], new([3]int16)).(*[3]int16)
  2458  
  2459  	return out0, err
  2460  
  2461  }
  2462  
  2463  // TryteToTrits is a free data retrieval call binding the contract method 0xf3067872.
  2464  //
  2465  // Solidity: function TryteToTrits(uint16 test) pure returns(int16[3])
  2466  func (_ADKTransactions *ADKTransactionsSession) TryteToTrits(test uint16) ([3]int16, error) {
  2467  	return _ADKTransactions.Contract.TryteToTrits(&_ADKTransactions.CallOpts, test)
  2468  }
  2469  
  2470  // TryteToTrits is a free data retrieval call binding the contract method 0xf3067872.
  2471  //
  2472  // Solidity: function TryteToTrits(uint16 test) pure returns(int16[3])
  2473  func (_ADKTransactions *ADKTransactionsCallerSession) TryteToTrits(test uint16) ([3]int16, error) {
  2474  	return _ADKTransactions.Contract.TryteToTrits(&_ADKTransactions.CallOpts, test)
  2475  }
  2476  
  2477  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  2478  //
  2479  // Solidity: function adkgo_genesis_address() view returns(address)
  2480  func (_ADKTransactions *ADKTransactionsCaller) AdkgoGenesisAddress(opts *bind.CallOpts) (common.Address, error) {
  2481  	var out []interface{}
  2482  	err := _ADKTransactions.contract.Call(opts, &out, "adkgo_genesis_address")
  2483  
  2484  	if err != nil {
  2485  		return *new(common.Address), err
  2486  	}
  2487  
  2488  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  2489  
  2490  	return out0, err
  2491  
  2492  }
  2493  
  2494  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  2495  //
  2496  // Solidity: function adkgo_genesis_address() view returns(address)
  2497  func (_ADKTransactions *ADKTransactionsSession) AdkgoGenesisAddress() (common.Address, error) {
  2498  	return _ADKTransactions.Contract.AdkgoGenesisAddress(&_ADKTransactions.CallOpts)
  2499  }
  2500  
  2501  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  2502  //
  2503  // Solidity: function adkgo_genesis_address() view returns(address)
  2504  func (_ADKTransactions *ADKTransactionsCallerSession) AdkgoGenesisAddress() (common.Address, error) {
  2505  	return _ADKTransactions.Contract.AdkgoGenesisAddress(&_ADKTransactions.CallOpts)
  2506  }
  2507  
  2508  // MeshTip is a free data retrieval call binding the contract method 0x11cf02ec.
  2509  //
  2510  // Solidity: function meshTip() view returns(bytes32)
  2511  func (_ADKTransactions *ADKTransactionsCaller) MeshTip(opts *bind.CallOpts) ([32]byte, error) {
  2512  	var out []interface{}
  2513  	err := _ADKTransactions.contract.Call(opts, &out, "meshTip")
  2514  
  2515  	if err != nil {
  2516  		return *new([32]byte), err
  2517  	}
  2518  
  2519  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2520  
  2521  	return out0, err
  2522  
  2523  }
  2524  
  2525  // MeshTip is a free data retrieval call binding the contract method 0x11cf02ec.
  2526  //
  2527  // Solidity: function meshTip() view returns(bytes32)
  2528  func (_ADKTransactions *ADKTransactionsSession) MeshTip() ([32]byte, error) {
  2529  	return _ADKTransactions.Contract.MeshTip(&_ADKTransactions.CallOpts)
  2530  }
  2531  
  2532  // MeshTip is a free data retrieval call binding the contract method 0x11cf02ec.
  2533  //
  2534  // Solidity: function meshTip() view returns(bytes32)
  2535  func (_ADKTransactions *ADKTransactionsCallerSession) MeshTip() ([32]byte, error) {
  2536  	return _ADKTransactions.Contract.MeshTip(&_ADKTransactions.CallOpts)
  2537  }
  2538  
  2539  // SpentAddresses is a free data retrieval call binding the contract method 0xde5ed777.
  2540  //
  2541  // Solidity: function spent_addresses(bytes32 ) view returns(bool)
  2542  func (_ADKTransactions *ADKTransactionsCaller) SpentAddresses(opts *bind.CallOpts, arg0 [32]byte) (bool, error) {
  2543  	var out []interface{}
  2544  	err := _ADKTransactions.contract.Call(opts, &out, "spent_addresses", arg0)
  2545  
  2546  	if err != nil {
  2547  		return *new(bool), err
  2548  	}
  2549  
  2550  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2551  
  2552  	return out0, err
  2553  
  2554  }
  2555  
  2556  // SpentAddresses is a free data retrieval call binding the contract method 0xde5ed777.
  2557  //
  2558  // Solidity: function spent_addresses(bytes32 ) view returns(bool)
  2559  func (_ADKTransactions *ADKTransactionsSession) SpentAddresses(arg0 [32]byte) (bool, error) {
  2560  	return _ADKTransactions.Contract.SpentAddresses(&_ADKTransactions.CallOpts, arg0)
  2561  }
  2562  
  2563  // SpentAddresses is a free data retrieval call binding the contract method 0xde5ed777.
  2564  //
  2565  // Solidity: function spent_addresses(bytes32 ) view returns(bool)
  2566  func (_ADKTransactions *ADKTransactionsCallerSession) SpentAddresses(arg0 [32]byte) (bool, error) {
  2567  	return _ADKTransactions.Contract.SpentAddresses(&_ADKTransactions.CallOpts, arg0)
  2568  }
  2569  
  2570  // TransactionBranch is a free data retrieval call binding the contract method 0x4893b64e.
  2571  //
  2572  // Solidity: function transaction_branch(bytes32 ) view returns(bytes32)
  2573  func (_ADKTransactions *ADKTransactionsCaller) TransactionBranch(opts *bind.CallOpts, arg0 [32]byte) ([32]byte, error) {
  2574  	var out []interface{}
  2575  	err := _ADKTransactions.contract.Call(opts, &out, "transaction_branch", arg0)
  2576  
  2577  	if err != nil {
  2578  		return *new([32]byte), err
  2579  	}
  2580  
  2581  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2582  
  2583  	return out0, err
  2584  
  2585  }
  2586  
  2587  // TransactionBranch is a free data retrieval call binding the contract method 0x4893b64e.
  2588  //
  2589  // Solidity: function transaction_branch(bytes32 ) view returns(bytes32)
  2590  func (_ADKTransactions *ADKTransactionsSession) TransactionBranch(arg0 [32]byte) ([32]byte, error) {
  2591  	return _ADKTransactions.Contract.TransactionBranch(&_ADKTransactions.CallOpts, arg0)
  2592  }
  2593  
  2594  // TransactionBranch is a free data retrieval call binding the contract method 0x4893b64e.
  2595  //
  2596  // Solidity: function transaction_branch(bytes32 ) view returns(bytes32)
  2597  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionBranch(arg0 [32]byte) ([32]byte, error) {
  2598  	return _ADKTransactions.Contract.TransactionBranch(&_ADKTransactions.CallOpts, arg0)
  2599  }
  2600  
  2601  // TransactionHashes is a free data retrieval call binding the contract method 0xf7a8ffd7.
  2602  //
  2603  // Solidity: function transaction_hashes(bytes32 ) view returns(string)
  2604  func (_ADKTransactions *ADKTransactionsCaller) TransactionHashes(opts *bind.CallOpts, arg0 [32]byte) (string, error) {
  2605  	var out []interface{}
  2606  	err := _ADKTransactions.contract.Call(opts, &out, "transaction_hashes", arg0)
  2607  
  2608  	if err != nil {
  2609  		return *new(string), err
  2610  	}
  2611  
  2612  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2613  
  2614  	return out0, err
  2615  
  2616  }
  2617  
  2618  // TransactionHashes is a free data retrieval call binding the contract method 0xf7a8ffd7.
  2619  //
  2620  // Solidity: function transaction_hashes(bytes32 ) view returns(string)
  2621  func (_ADKTransactions *ADKTransactionsSession) TransactionHashes(arg0 [32]byte) (string, error) {
  2622  	return _ADKTransactions.Contract.TransactionHashes(&_ADKTransactions.CallOpts, arg0)
  2623  }
  2624  
  2625  // TransactionHashes is a free data retrieval call binding the contract method 0xf7a8ffd7.
  2626  //
  2627  // Solidity: function transaction_hashes(bytes32 ) view returns(string)
  2628  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionHashes(arg0 [32]byte) (string, error) {
  2629  	return _ADKTransactions.Contract.TransactionHashes(&_ADKTransactions.CallOpts, arg0)
  2630  }
  2631  
  2632  // TransactionIndex is a free data retrieval call binding the contract method 0x428a4e9c.
  2633  //
  2634  // Solidity: function transaction_index(bytes32 ) view returns(uint256)
  2635  func (_ADKTransactions *ADKTransactionsCaller) TransactionIndex(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) {
  2636  	var out []interface{}
  2637  	err := _ADKTransactions.contract.Call(opts, &out, "transaction_index", arg0)
  2638  
  2639  	if err != nil {
  2640  		return *new(*big.Int), err
  2641  	}
  2642  
  2643  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2644  
  2645  	return out0, err
  2646  
  2647  }
  2648  
  2649  // TransactionIndex is a free data retrieval call binding the contract method 0x428a4e9c.
  2650  //
  2651  // Solidity: function transaction_index(bytes32 ) view returns(uint256)
  2652  func (_ADKTransactions *ADKTransactionsSession) TransactionIndex(arg0 [32]byte) (*big.Int, error) {
  2653  	return _ADKTransactions.Contract.TransactionIndex(&_ADKTransactions.CallOpts, arg0)
  2654  }
  2655  
  2656  // TransactionIndex is a free data retrieval call binding the contract method 0x428a4e9c.
  2657  //
  2658  // Solidity: function transaction_index(bytes32 ) view returns(uint256)
  2659  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionIndex(arg0 [32]byte) (*big.Int, error) {
  2660  	return _ADKTransactions.Contract.TransactionIndex(&_ADKTransactions.CallOpts, arg0)
  2661  }
  2662  
  2663  // TransactionIndexedBySeq is a free data retrieval call binding the contract method 0xc1cba762.
  2664  //
  2665  // Solidity: function transaction_indexed_by_seq(uint256 ) view returns(bytes32)
  2666  func (_ADKTransactions *ADKTransactionsCaller) TransactionIndexedBySeq(opts *bind.CallOpts, arg0 *big.Int) ([32]byte, error) {
  2667  	var out []interface{}
  2668  	err := _ADKTransactions.contract.Call(opts, &out, "transaction_indexed_by_seq", arg0)
  2669  
  2670  	if err != nil {
  2671  		return *new([32]byte), err
  2672  	}
  2673  
  2674  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2675  
  2676  	return out0, err
  2677  
  2678  }
  2679  
  2680  // TransactionIndexedBySeq is a free data retrieval call binding the contract method 0xc1cba762.
  2681  //
  2682  // Solidity: function transaction_indexed_by_seq(uint256 ) view returns(bytes32)
  2683  func (_ADKTransactions *ADKTransactionsSession) TransactionIndexedBySeq(arg0 *big.Int) ([32]byte, error) {
  2684  	return _ADKTransactions.Contract.TransactionIndexedBySeq(&_ADKTransactions.CallOpts, arg0)
  2685  }
  2686  
  2687  // TransactionIndexedBySeq is a free data retrieval call binding the contract method 0xc1cba762.
  2688  //
  2689  // Solidity: function transaction_indexed_by_seq(uint256 ) view returns(bytes32)
  2690  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionIndexedBySeq(arg0 *big.Int) ([32]byte, error) {
  2691  	return _ADKTransactions.Contract.TransactionIndexedBySeq(&_ADKTransactions.CallOpts, arg0)
  2692  }
  2693  
  2694  // TransactionTrunk is a free data retrieval call binding the contract method 0xad69e6a0.
  2695  //
  2696  // Solidity: function transaction_trunk(bytes32 ) view returns(bytes32)
  2697  func (_ADKTransactions *ADKTransactionsCaller) TransactionTrunk(opts *bind.CallOpts, arg0 [32]byte) ([32]byte, error) {
  2698  	var out []interface{}
  2699  	err := _ADKTransactions.contract.Call(opts, &out, "transaction_trunk", arg0)
  2700  
  2701  	if err != nil {
  2702  		return *new([32]byte), err
  2703  	}
  2704  
  2705  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2706  
  2707  	return out0, err
  2708  
  2709  }
  2710  
  2711  // TransactionTrunk is a free data retrieval call binding the contract method 0xad69e6a0.
  2712  //
  2713  // Solidity: function transaction_trunk(bytes32 ) view returns(bytes32)
  2714  func (_ADKTransactions *ADKTransactionsSession) TransactionTrunk(arg0 [32]byte) ([32]byte, error) {
  2715  	return _ADKTransactions.Contract.TransactionTrunk(&_ADKTransactions.CallOpts, arg0)
  2716  }
  2717  
  2718  // TransactionTrunk is a free data retrieval call binding the contract method 0xad69e6a0.
  2719  //
  2720  // Solidity: function transaction_trunk(bytes32 ) view returns(bytes32)
  2721  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionTrunk(arg0 [32]byte) ([32]byte, error) {
  2722  	return _ADKTransactions.Contract.TransactionTrunk(&_ADKTransactions.CallOpts, arg0)
  2723  }
  2724  
  2725  // TransactionhashByAddress is a free data retrieval call binding the contract method 0xb1406a64.
  2726  //
  2727  // Solidity: function transactionhash_by_address(bytes32 ) view returns(bytes32)
  2728  func (_ADKTransactions *ADKTransactionsCaller) TransactionhashByAddress(opts *bind.CallOpts, arg0 [32]byte) ([32]byte, error) {
  2729  	var out []interface{}
  2730  	err := _ADKTransactions.contract.Call(opts, &out, "transactionhash_by_address", arg0)
  2731  
  2732  	if err != nil {
  2733  		return *new([32]byte), err
  2734  	}
  2735  
  2736  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2737  
  2738  	return out0, err
  2739  
  2740  }
  2741  
  2742  // TransactionhashByAddress is a free data retrieval call binding the contract method 0xb1406a64.
  2743  //
  2744  // Solidity: function transactionhash_by_address(bytes32 ) view returns(bytes32)
  2745  func (_ADKTransactions *ADKTransactionsSession) TransactionhashByAddress(arg0 [32]byte) ([32]byte, error) {
  2746  	return _ADKTransactions.Contract.TransactionhashByAddress(&_ADKTransactions.CallOpts, arg0)
  2747  }
  2748  
  2749  // TransactionhashByAddress is a free data retrieval call binding the contract method 0xb1406a64.
  2750  //
  2751  // Solidity: function transactionhash_by_address(bytes32 ) view returns(bytes32)
  2752  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionhashByAddress(arg0 [32]byte) ([32]byte, error) {
  2753  	return _ADKTransactions.Contract.TransactionhashByAddress(&_ADKTransactions.CallOpts, arg0)
  2754  }
  2755  
  2756  // TransactionhashByAddressCount is a free data retrieval call binding the contract method 0xdcb711ff.
  2757  //
  2758  // Solidity: function transactionhash_by_address_count(bytes32 ) view returns(uint32)
  2759  func (_ADKTransactions *ADKTransactionsCaller) TransactionhashByAddressCount(opts *bind.CallOpts, arg0 [32]byte) (uint32, error) {
  2760  	var out []interface{}
  2761  	err := _ADKTransactions.contract.Call(opts, &out, "transactionhash_by_address_count", arg0)
  2762  
  2763  	if err != nil {
  2764  		return *new(uint32), err
  2765  	}
  2766  
  2767  	out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32)
  2768  
  2769  	return out0, err
  2770  
  2771  }
  2772  
  2773  // TransactionhashByAddressCount is a free data retrieval call binding the contract method 0xdcb711ff.
  2774  //
  2775  // Solidity: function transactionhash_by_address_count(bytes32 ) view returns(uint32)
  2776  func (_ADKTransactions *ADKTransactionsSession) TransactionhashByAddressCount(arg0 [32]byte) (uint32, error) {
  2777  	return _ADKTransactions.Contract.TransactionhashByAddressCount(&_ADKTransactions.CallOpts, arg0)
  2778  }
  2779  
  2780  // TransactionhashByAddressCount is a free data retrieval call binding the contract method 0xdcb711ff.
  2781  //
  2782  // Solidity: function transactionhash_by_address_count(bytes32 ) view returns(uint32)
  2783  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionhashByAddressCount(arg0 [32]byte) (uint32, error) {
  2784  	return _ADKTransactions.Contract.TransactionhashByAddressCount(&_ADKTransactions.CallOpts, arg0)
  2785  }
  2786  
  2787  // TransactionhashByBundle is a free data retrieval call binding the contract method 0x91da69af.
  2788  //
  2789  // Solidity: function transactionhash_by_bundle(bytes32 ) view returns(bytes32)
  2790  func (_ADKTransactions *ADKTransactionsCaller) TransactionhashByBundle(opts *bind.CallOpts, arg0 [32]byte) ([32]byte, error) {
  2791  	var out []interface{}
  2792  	err := _ADKTransactions.contract.Call(opts, &out, "transactionhash_by_bundle", arg0)
  2793  
  2794  	if err != nil {
  2795  		return *new([32]byte), err
  2796  	}
  2797  
  2798  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  2799  
  2800  	return out0, err
  2801  
  2802  }
  2803  
  2804  // TransactionhashByBundle is a free data retrieval call binding the contract method 0x91da69af.
  2805  //
  2806  // Solidity: function transactionhash_by_bundle(bytes32 ) view returns(bytes32)
  2807  func (_ADKTransactions *ADKTransactionsSession) TransactionhashByBundle(arg0 [32]byte) ([32]byte, error) {
  2808  	return _ADKTransactions.Contract.TransactionhashByBundle(&_ADKTransactions.CallOpts, arg0)
  2809  }
  2810  
  2811  // TransactionhashByBundle is a free data retrieval call binding the contract method 0x91da69af.
  2812  //
  2813  // Solidity: function transactionhash_by_bundle(bytes32 ) view returns(bytes32)
  2814  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionhashByBundle(arg0 [32]byte) ([32]byte, error) {
  2815  	return _ADKTransactions.Contract.TransactionhashByBundle(&_ADKTransactions.CallOpts, arg0)
  2816  }
  2817  
  2818  // TransactionhashByBundleCount is a free data retrieval call binding the contract method 0xfc74fa69.
  2819  //
  2820  // Solidity: function transactionhash_by_bundle_count(bytes32 ) view returns(uint32)
  2821  func (_ADKTransactions *ADKTransactionsCaller) TransactionhashByBundleCount(opts *bind.CallOpts, arg0 [32]byte) (uint32, error) {
  2822  	var out []interface{}
  2823  	err := _ADKTransactions.contract.Call(opts, &out, "transactionhash_by_bundle_count", arg0)
  2824  
  2825  	if err != nil {
  2826  		return *new(uint32), err
  2827  	}
  2828  
  2829  	out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32)
  2830  
  2831  	return out0, err
  2832  
  2833  }
  2834  
  2835  // TransactionhashByBundleCount is a free data retrieval call binding the contract method 0xfc74fa69.
  2836  //
  2837  // Solidity: function transactionhash_by_bundle_count(bytes32 ) view returns(uint32)
  2838  func (_ADKTransactions *ADKTransactionsSession) TransactionhashByBundleCount(arg0 [32]byte) (uint32, error) {
  2839  	return _ADKTransactions.Contract.TransactionhashByBundleCount(&_ADKTransactions.CallOpts, arg0)
  2840  }
  2841  
  2842  // TransactionhashByBundleCount is a free data retrieval call binding the contract method 0xfc74fa69.
  2843  //
  2844  // Solidity: function transactionhash_by_bundle_count(bytes32 ) view returns(uint32)
  2845  func (_ADKTransactions *ADKTransactionsCallerSession) TransactionhashByBundleCount(arg0 [32]byte) (uint32, error) {
  2846  	return _ADKTransactions.Contract.TransactionhashByBundleCount(&_ADKTransactions.CallOpts, arg0)
  2847  }
  2848  
  2849  // Transactions is a free data retrieval call binding the contract method 0x642f2eaf.
  2850  //
  2851  // Solidity: function transactions(bytes32 ) view returns(string)
  2852  func (_ADKTransactions *ADKTransactionsCaller) Transactions(opts *bind.CallOpts, arg0 [32]byte) (string, error) {
  2853  	var out []interface{}
  2854  	err := _ADKTransactions.contract.Call(opts, &out, "transactions", arg0)
  2855  
  2856  	if err != nil {
  2857  		return *new(string), err
  2858  	}
  2859  
  2860  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2861  
  2862  	return out0, err
  2863  
  2864  }
  2865  
  2866  // Transactions is a free data retrieval call binding the contract method 0x642f2eaf.
  2867  //
  2868  // Solidity: function transactions(bytes32 ) view returns(string)
  2869  func (_ADKTransactions *ADKTransactionsSession) Transactions(arg0 [32]byte) (string, error) {
  2870  	return _ADKTransactions.Contract.Transactions(&_ADKTransactions.CallOpts, arg0)
  2871  }
  2872  
  2873  // Transactions is a free data retrieval call binding the contract method 0x642f2eaf.
  2874  //
  2875  // Solidity: function transactions(bytes32 ) view returns(string)
  2876  func (_ADKTransactions *ADKTransactionsCallerSession) Transactions(arg0 [32]byte) (string, error) {
  2877  	return _ADKTransactions.Contract.Transactions(&_ADKTransactions.CallOpts, arg0)
  2878  }
  2879  
  2880  // TxCount is a free data retrieval call binding the contract method 0xaa21064f.
  2881  //
  2882  // Solidity: function tx_count() view returns(uint256)
  2883  func (_ADKTransactions *ADKTransactionsCaller) TxCount(opts *bind.CallOpts) (*big.Int, error) {
  2884  	var out []interface{}
  2885  	err := _ADKTransactions.contract.Call(opts, &out, "tx_count")
  2886  
  2887  	if err != nil {
  2888  		return *new(*big.Int), err
  2889  	}
  2890  
  2891  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2892  
  2893  	return out0, err
  2894  
  2895  }
  2896  
  2897  // TxCount is a free data retrieval call binding the contract method 0xaa21064f.
  2898  //
  2899  // Solidity: function tx_count() view returns(uint256)
  2900  func (_ADKTransactions *ADKTransactionsSession) TxCount() (*big.Int, error) {
  2901  	return _ADKTransactions.Contract.TxCount(&_ADKTransactions.CallOpts)
  2902  }
  2903  
  2904  // TxCount is a free data retrieval call binding the contract method 0xaa21064f.
  2905  //
  2906  // Solidity: function tx_count() view returns(uint256)
  2907  func (_ADKTransactions *ADKTransactionsCallerSession) TxCount() (*big.Int, error) {
  2908  	return _ADKTransactions.Contract.TxCount(&_ADKTransactions.CallOpts)
  2909  }
  2910  
  2911  // ADMLoadADKBalances is a paid mutator transaction binding the contract method 0x64180204.
  2912  //
  2913  // Solidity: function ADM_LoadADKBalances(string _address, int256 _value) returns()
  2914  func (_ADKTransactions *ADKTransactionsTransactor) ADMLoadADKBalances(opts *bind.TransactOpts, _address string, _value *big.Int) (*types.Transaction, error) {
  2915  	return _ADKTransactions.contract.Transact(opts, "ADM_LoadADKBalances", _address, _value)
  2916  }
  2917  
  2918  // ADMLoadADKBalances is a paid mutator transaction binding the contract method 0x64180204.
  2919  //
  2920  // Solidity: function ADM_LoadADKBalances(string _address, int256 _value) returns()
  2921  func (_ADKTransactions *ADKTransactionsSession) ADMLoadADKBalances(_address string, _value *big.Int) (*types.Transaction, error) {
  2922  	return _ADKTransactions.Contract.ADMLoadADKBalances(&_ADKTransactions.TransactOpts, _address, _value)
  2923  }
  2924  
  2925  // ADMLoadADKBalances is a paid mutator transaction binding the contract method 0x64180204.
  2926  //
  2927  // Solidity: function ADM_LoadADKBalances(string _address, int256 _value) returns()
  2928  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMLoadADKBalances(_address string, _value *big.Int) (*types.Transaction, error) {
  2929  	return _ADKTransactions.Contract.ADMLoadADKBalances(&_ADKTransactions.TransactOpts, _address, _value)
  2930  }
  2931  
  2932  // ADMLoadADKBalancesBulk is a paid mutator transaction binding the contract method 0x6a82351e.
  2933  //
  2934  // Solidity: function ADM_LoadADKBalancesBulk(string _addresses, int256 _value1, int256 _value2, int256 _value3, int256 _value4, int256 _value5, int256 _value6, int256 _value7, int256 _value8, int256 _value9, int256 _value10) returns()
  2935  func (_ADKTransactions *ADKTransactionsTransactor) ADMLoadADKBalancesBulk(opts *bind.TransactOpts, _addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  2936  	return _ADKTransactions.contract.Transact(opts, "ADM_LoadADKBalancesBulk", _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  2937  }
  2938  
  2939  // ADMLoadADKBalancesBulk is a paid mutator transaction binding the contract method 0x6a82351e.
  2940  //
  2941  // Solidity: function ADM_LoadADKBalancesBulk(string _addresses, int256 _value1, int256 _value2, int256 _value3, int256 _value4, int256 _value5, int256 _value6, int256 _value7, int256 _value8, int256 _value9, int256 _value10) returns()
  2942  func (_ADKTransactions *ADKTransactionsSession) ADMLoadADKBalancesBulk(_addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  2943  	return _ADKTransactions.Contract.ADMLoadADKBalancesBulk(&_ADKTransactions.TransactOpts, _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  2944  }
  2945  
  2946  // ADMLoadADKBalancesBulk is a paid mutator transaction binding the contract method 0x6a82351e.
  2947  //
  2948  // Solidity: function ADM_LoadADKBalancesBulk(string _addresses, int256 _value1, int256 _value2, int256 _value3, int256 _value4, int256 _value5, int256 _value6, int256 _value7, int256 _value8, int256 _value9, int256 _value10) returns()
  2949  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMLoadADKBalancesBulk(_addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  2950  	return _ADKTransactions.Contract.ADMLoadADKBalancesBulk(&_ADKTransactions.TransactOpts, _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  2951  }
  2952  
  2953  // ADMLoadTransactionsUnchecked is a paid mutator transaction binding the contract method 0x50e6b384.
  2954  //
  2955  // Solidity: function ADM_LoadTransactionsUnchecked(string _transaction) returns()
  2956  func (_ADKTransactions *ADKTransactionsTransactor) ADMLoadTransactionsUnchecked(opts *bind.TransactOpts, _transaction string) (*types.Transaction, error) {
  2957  	return _ADKTransactions.contract.Transact(opts, "ADM_LoadTransactionsUnchecked", _transaction)
  2958  }
  2959  
  2960  // ADMLoadTransactionsUnchecked is a paid mutator transaction binding the contract method 0x50e6b384.
  2961  //
  2962  // Solidity: function ADM_LoadTransactionsUnchecked(string _transaction) returns()
  2963  func (_ADKTransactions *ADKTransactionsSession) ADMLoadTransactionsUnchecked(_transaction string) (*types.Transaction, error) {
  2964  	return _ADKTransactions.Contract.ADMLoadTransactionsUnchecked(&_ADKTransactions.TransactOpts, _transaction)
  2965  }
  2966  
  2967  // ADMLoadTransactionsUnchecked is a paid mutator transaction binding the contract method 0x50e6b384.
  2968  //
  2969  // Solidity: function ADM_LoadTransactionsUnchecked(string _transaction) returns()
  2970  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMLoadTransactionsUnchecked(_transaction string) (*types.Transaction, error) {
  2971  	return _ADKTransactions.Contract.ADMLoadTransactionsUnchecked(&_ADKTransactions.TransactOpts, _transaction)
  2972  }
  2973  
  2974  // ADMSetADKTokenContract is a paid mutator transaction binding the contract method 0xab815b02.
  2975  //
  2976  // Solidity: function ADM_SetADKTokenContract(address _newContract) returns()
  2977  func (_ADKTransactions *ADKTransactionsTransactor) ADMSetADKTokenContract(opts *bind.TransactOpts, _newContract common.Address) (*types.Transaction, error) {
  2978  	return _ADKTransactions.contract.Transact(opts, "ADM_SetADKTokenContract", _newContract)
  2979  }
  2980  
  2981  // ADMSetADKTokenContract is a paid mutator transaction binding the contract method 0xab815b02.
  2982  //
  2983  // Solidity: function ADM_SetADKTokenContract(address _newContract) returns()
  2984  func (_ADKTransactions *ADKTransactionsSession) ADMSetADKTokenContract(_newContract common.Address) (*types.Transaction, error) {
  2985  	return _ADKTransactions.Contract.ADMSetADKTokenContract(&_ADKTransactions.TransactOpts, _newContract)
  2986  }
  2987  
  2988  // ADMSetADKTokenContract is a paid mutator transaction binding the contract method 0xab815b02.
  2989  //
  2990  // Solidity: function ADM_SetADKTokenContract(address _newContract) returns()
  2991  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMSetADKTokenContract(_newContract common.Address) (*types.Transaction, error) {
  2992  	return _ADKTransactions.Contract.ADMSetADKTokenContract(&_ADKTransactions.TransactOpts, _newContract)
  2993  }
  2994  
  2995  // ADMSetDifficulty is a paid mutator transaction binding the contract method 0xd45c0ebc.
  2996  //
  2997  // Solidity: function ADM_SetDifficulty(uint256 _ClientProofOfWorkRequirement) returns()
  2998  func (_ADKTransactions *ADKTransactionsTransactor) ADMSetDifficulty(opts *bind.TransactOpts, _ClientProofOfWorkRequirement *big.Int) (*types.Transaction, error) {
  2999  	return _ADKTransactions.contract.Transact(opts, "ADM_SetDifficulty", _ClientProofOfWorkRequirement)
  3000  }
  3001  
  3002  // ADMSetDifficulty is a paid mutator transaction binding the contract method 0xd45c0ebc.
  3003  //
  3004  // Solidity: function ADM_SetDifficulty(uint256 _ClientProofOfWorkRequirement) returns()
  3005  func (_ADKTransactions *ADKTransactionsSession) ADMSetDifficulty(_ClientProofOfWorkRequirement *big.Int) (*types.Transaction, error) {
  3006  	return _ADKTransactions.Contract.ADMSetDifficulty(&_ADKTransactions.TransactOpts, _ClientProofOfWorkRequirement)
  3007  }
  3008  
  3009  // ADMSetDifficulty is a paid mutator transaction binding the contract method 0xd45c0ebc.
  3010  //
  3011  // Solidity: function ADM_SetDifficulty(uint256 _ClientProofOfWorkRequirement) returns()
  3012  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMSetDifficulty(_ClientProofOfWorkRequirement *big.Int) (*types.Transaction, error) {
  3013  	return _ADKTransactions.Contract.ADMSetDifficulty(&_ADKTransactions.TransactOpts, _ClientProofOfWorkRequirement)
  3014  }
  3015  
  3016  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  3017  //
  3018  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  3019  func (_ADKTransactions *ADKTransactionsTransactor) ADMSetGenesisAddress(opts *bind.TransactOpts, _genesisAddress common.Address) (*types.Transaction, error) {
  3020  	return _ADKTransactions.contract.Transact(opts, "ADM_SetGenesisAddress", _genesisAddress)
  3021  }
  3022  
  3023  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  3024  //
  3025  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  3026  func (_ADKTransactions *ADKTransactionsSession) ADMSetGenesisAddress(_genesisAddress common.Address) (*types.Transaction, error) {
  3027  	return _ADKTransactions.Contract.ADMSetGenesisAddress(&_ADKTransactions.TransactOpts, _genesisAddress)
  3028  }
  3029  
  3030  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  3031  //
  3032  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  3033  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMSetGenesisAddress(_genesisAddress common.Address) (*types.Transaction, error) {
  3034  	return _ADKTransactions.Contract.ADMSetGenesisAddress(&_ADKTransactions.TransactOpts, _genesisAddress)
  3035  }
  3036  
  3037  // ADMSetTip is a paid mutator transaction binding the contract method 0x018e3998.
  3038  //
  3039  // Solidity: function ADM_SetTip(bytes32 _newTip) returns()
  3040  func (_ADKTransactions *ADKTransactionsTransactor) ADMSetTip(opts *bind.TransactOpts, _newTip [32]byte) (*types.Transaction, error) {
  3041  	return _ADKTransactions.contract.Transact(opts, "ADM_SetTip", _newTip)
  3042  }
  3043  
  3044  // ADMSetTip is a paid mutator transaction binding the contract method 0x018e3998.
  3045  //
  3046  // Solidity: function ADM_SetTip(bytes32 _newTip) returns()
  3047  func (_ADKTransactions *ADKTransactionsSession) ADMSetTip(_newTip [32]byte) (*types.Transaction, error) {
  3048  	return _ADKTransactions.Contract.ADMSetTip(&_ADKTransactions.TransactOpts, _newTip)
  3049  }
  3050  
  3051  // ADMSetTip is a paid mutator transaction binding the contract method 0x018e3998.
  3052  //
  3053  // Solidity: function ADM_SetTip(bytes32 _newTip) returns()
  3054  func (_ADKTransactions *ADKTransactionsTransactorSession) ADMSetTip(_newTip [32]byte) (*types.Transaction, error) {
  3055  	return _ADKTransactions.Contract.ADMSetTip(&_ADKTransactions.TransactOpts, _newTip)
  3056  }
  3057  
  3058  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  3059  //
  3060  // Solidity: function PostTransactions(string transactiondata) returns(string)
  3061  func (_ADKTransactions *ADKTransactionsTransactor) PostTransactions(opts *bind.TransactOpts, transactiondata string) (*types.Transaction, error) {
  3062  	return _ADKTransactions.contract.Transact(opts, "PostTransactions", transactiondata)
  3063  }
  3064  
  3065  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  3066  //
  3067  // Solidity: function PostTransactions(string transactiondata) returns(string)
  3068  func (_ADKTransactions *ADKTransactionsSession) PostTransactions(transactiondata string) (*types.Transaction, error) {
  3069  	return _ADKTransactions.Contract.PostTransactions(&_ADKTransactions.TransactOpts, transactiondata)
  3070  }
  3071  
  3072  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  3073  //
  3074  // Solidity: function PostTransactions(string transactiondata) returns(string)
  3075  func (_ADKTransactions *ADKTransactionsTransactorSession) PostTransactions(transactiondata string) (*types.Transaction, error) {
  3076  	return _ADKTransactions.Contract.PostTransactions(&_ADKTransactions.TransactOpts, transactiondata)
  3077  }
  3078  
  3079  // ADKTransactionsEventLogIntIterator is returned from FilterEventLogInt and is used to iterate over the raw logs and unpacked data for EventLogInt events raised by the ADKTransactions contract.
  3080  type ADKTransactionsEventLogIntIterator struct {
  3081  	Event *ADKTransactionsEventLogInt // Event containing the contract specifics and raw log
  3082  
  3083  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3084  	event    string              // Event name to use for unpacking event data
  3085  
  3086  	logs chan types.Log        // Log channel receiving the found contract events
  3087  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3088  	done bool                  // Whether the subscription completed delivering logs
  3089  	fail error                 // Occurred error to stop iteration
  3090  }
  3091  
  3092  // Next advances the iterator to the subsequent event, returning whether there
  3093  // are any more events found. In case of a retrieval or parsing error, false is
  3094  // returned and Error() can be queried for the exact failure.
  3095  func (it *ADKTransactionsEventLogIntIterator) Next() bool {
  3096  	// If the iterator failed, stop iterating
  3097  	if it.fail != nil {
  3098  		return false
  3099  	}
  3100  	// If the iterator completed, deliver directly whatever's available
  3101  	if it.done {
  3102  		select {
  3103  		case log := <-it.logs:
  3104  			it.Event = new(ADKTransactionsEventLogInt)
  3105  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3106  				it.fail = err
  3107  				return false
  3108  			}
  3109  			it.Event.Raw = log
  3110  			return true
  3111  
  3112  		default:
  3113  			return false
  3114  		}
  3115  	}
  3116  	// Iterator still in progress, wait for either a data or an error event
  3117  	select {
  3118  	case log := <-it.logs:
  3119  		it.Event = new(ADKTransactionsEventLogInt)
  3120  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3121  			it.fail = err
  3122  			return false
  3123  		}
  3124  		it.Event.Raw = log
  3125  		return true
  3126  
  3127  	case err := <-it.sub.Err():
  3128  		it.done = true
  3129  		it.fail = err
  3130  		return it.Next()
  3131  	}
  3132  }
  3133  
  3134  // Error returns any retrieval or parsing error occurred during filtering.
  3135  func (it *ADKTransactionsEventLogIntIterator) Error() error {
  3136  	return it.fail
  3137  }
  3138  
  3139  // Close terminates the iteration process, releasing any pending underlying
  3140  // resources.
  3141  func (it *ADKTransactionsEventLogIntIterator) Close() error {
  3142  	it.sub.Unsubscribe()
  3143  	return nil
  3144  }
  3145  
  3146  // ADKTransactionsEventLogInt represents a EventLogInt event raised by the ADKTransactions contract.
  3147  type ADKTransactionsEventLogInt struct {
  3148  	Info    common.Hash
  3149  	Intdata *big.Int
  3150  	Raw     types.Log // Blockchain specific contextual infos
  3151  }
  3152  
  3153  // FilterEventLogInt is a free log retrieval operation binding the contract event 0x6308696fb14e1bcd3fcde7330f7607d979f745988c8b9ffaaa407c856e64b8df.
  3154  //
  3155  // Solidity: event EventLogInt(string indexed info, int256 intdata)
  3156  func (_ADKTransactions *ADKTransactionsFilterer) FilterEventLogInt(opts *bind.FilterOpts, info []string) (*ADKTransactionsEventLogIntIterator, error) {
  3157  
  3158  	var infoRule []interface{}
  3159  	for _, infoItem := range info {
  3160  		infoRule = append(infoRule, infoItem)
  3161  	}
  3162  
  3163  	logs, sub, err := _ADKTransactions.contract.FilterLogs(opts, "EventLogInt", infoRule)
  3164  	if err != nil {
  3165  		return nil, err
  3166  	}
  3167  	return &ADKTransactionsEventLogIntIterator{contract: _ADKTransactions.contract, event: "EventLogInt", logs: logs, sub: sub}, nil
  3168  }
  3169  
  3170  // WatchEventLogInt is a free log subscription operation binding the contract event 0x6308696fb14e1bcd3fcde7330f7607d979f745988c8b9ffaaa407c856e64b8df.
  3171  //
  3172  // Solidity: event EventLogInt(string indexed info, int256 intdata)
  3173  func (_ADKTransactions *ADKTransactionsFilterer) WatchEventLogInt(opts *bind.WatchOpts, sink chan<- *ADKTransactionsEventLogInt, info []string) (event.Subscription, error) {
  3174  
  3175  	var infoRule []interface{}
  3176  	for _, infoItem := range info {
  3177  		infoRule = append(infoRule, infoItem)
  3178  	}
  3179  
  3180  	logs, sub, err := _ADKTransactions.contract.WatchLogs(opts, "EventLogInt", infoRule)
  3181  	if err != nil {
  3182  		return nil, err
  3183  	}
  3184  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3185  		defer sub.Unsubscribe()
  3186  		for {
  3187  			select {
  3188  			case log := <-logs:
  3189  				// New log arrived, parse the event and forward to the user
  3190  				event := new(ADKTransactionsEventLogInt)
  3191  				if err := _ADKTransactions.contract.UnpackLog(event, "EventLogInt", log); err != nil {
  3192  					return err
  3193  				}
  3194  				event.Raw = log
  3195  
  3196  				select {
  3197  				case sink <- event:
  3198  				case err := <-sub.Err():
  3199  					return err
  3200  				case <-quit:
  3201  					return nil
  3202  				}
  3203  			case err := <-sub.Err():
  3204  				return err
  3205  			case <-quit:
  3206  				return nil
  3207  			}
  3208  		}
  3209  	}), nil
  3210  }
  3211  
  3212  // ParseEventLogInt is a log parse operation binding the contract event 0x6308696fb14e1bcd3fcde7330f7607d979f745988c8b9ffaaa407c856e64b8df.
  3213  //
  3214  // Solidity: event EventLogInt(string indexed info, int256 intdata)
  3215  func (_ADKTransactions *ADKTransactionsFilterer) ParseEventLogInt(log types.Log) (*ADKTransactionsEventLogInt, error) {
  3216  	event := new(ADKTransactionsEventLogInt)
  3217  	if err := _ADKTransactions.contract.UnpackLog(event, "EventLogInt", log); err != nil {
  3218  		return nil, err
  3219  	}
  3220  	event.Raw = log
  3221  	return event, nil
  3222  }
  3223  
  3224  // ADKTransactionsEventLogStringIterator is returned from FilterEventLogString and is used to iterate over the raw logs and unpacked data for EventLogString events raised by the ADKTransactions contract.
  3225  type ADKTransactionsEventLogStringIterator struct {
  3226  	Event *ADKTransactionsEventLogString // Event containing the contract specifics and raw log
  3227  
  3228  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3229  	event    string              // Event name to use for unpacking event data
  3230  
  3231  	logs chan types.Log        // Log channel receiving the found contract events
  3232  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3233  	done bool                  // Whether the subscription completed delivering logs
  3234  	fail error                 // Occurred error to stop iteration
  3235  }
  3236  
  3237  // Next advances the iterator to the subsequent event, returning whether there
  3238  // are any more events found. In case of a retrieval or parsing error, false is
  3239  // returned and Error() can be queried for the exact failure.
  3240  func (it *ADKTransactionsEventLogStringIterator) Next() bool {
  3241  	// If the iterator failed, stop iterating
  3242  	if it.fail != nil {
  3243  		return false
  3244  	}
  3245  	// If the iterator completed, deliver directly whatever's available
  3246  	if it.done {
  3247  		select {
  3248  		case log := <-it.logs:
  3249  			it.Event = new(ADKTransactionsEventLogString)
  3250  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3251  				it.fail = err
  3252  				return false
  3253  			}
  3254  			it.Event.Raw = log
  3255  			return true
  3256  
  3257  		default:
  3258  			return false
  3259  		}
  3260  	}
  3261  	// Iterator still in progress, wait for either a data or an error event
  3262  	select {
  3263  	case log := <-it.logs:
  3264  		it.Event = new(ADKTransactionsEventLogString)
  3265  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3266  			it.fail = err
  3267  			return false
  3268  		}
  3269  		it.Event.Raw = log
  3270  		return true
  3271  
  3272  	case err := <-it.sub.Err():
  3273  		it.done = true
  3274  		it.fail = err
  3275  		return it.Next()
  3276  	}
  3277  }
  3278  
  3279  // Error returns any retrieval or parsing error occurred during filtering.
  3280  func (it *ADKTransactionsEventLogStringIterator) Error() error {
  3281  	return it.fail
  3282  }
  3283  
  3284  // Close terminates the iteration process, releasing any pending underlying
  3285  // resources.
  3286  func (it *ADKTransactionsEventLogStringIterator) Close() error {
  3287  	it.sub.Unsubscribe()
  3288  	return nil
  3289  }
  3290  
  3291  // ADKTransactionsEventLogString represents a EventLogString event raised by the ADKTransactions contract.
  3292  type ADKTransactionsEventLogString struct {
  3293  	Info    common.Hash
  3294  	Strdata string
  3295  	Raw     types.Log // Blockchain specific contextual infos
  3296  }
  3297  
  3298  // FilterEventLogString is a free log retrieval operation binding the contract event 0xccd963281651b70f9dc4bf799196583260466d9300a1c2431c37e93f40faa616.
  3299  //
  3300  // Solidity: event EventLogString(string indexed info, string strdata)
  3301  func (_ADKTransactions *ADKTransactionsFilterer) FilterEventLogString(opts *bind.FilterOpts, info []string) (*ADKTransactionsEventLogStringIterator, error) {
  3302  
  3303  	var infoRule []interface{}
  3304  	for _, infoItem := range info {
  3305  		infoRule = append(infoRule, infoItem)
  3306  	}
  3307  
  3308  	logs, sub, err := _ADKTransactions.contract.FilterLogs(opts, "EventLogString", infoRule)
  3309  	if err != nil {
  3310  		return nil, err
  3311  	}
  3312  	return &ADKTransactionsEventLogStringIterator{contract: _ADKTransactions.contract, event: "EventLogString", logs: logs, sub: sub}, nil
  3313  }
  3314  
  3315  // WatchEventLogString is a free log subscription operation binding the contract event 0xccd963281651b70f9dc4bf799196583260466d9300a1c2431c37e93f40faa616.
  3316  //
  3317  // Solidity: event EventLogString(string indexed info, string strdata)
  3318  func (_ADKTransactions *ADKTransactionsFilterer) WatchEventLogString(opts *bind.WatchOpts, sink chan<- *ADKTransactionsEventLogString, info []string) (event.Subscription, error) {
  3319  
  3320  	var infoRule []interface{}
  3321  	for _, infoItem := range info {
  3322  		infoRule = append(infoRule, infoItem)
  3323  	}
  3324  
  3325  	logs, sub, err := _ADKTransactions.contract.WatchLogs(opts, "EventLogString", infoRule)
  3326  	if err != nil {
  3327  		return nil, err
  3328  	}
  3329  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3330  		defer sub.Unsubscribe()
  3331  		for {
  3332  			select {
  3333  			case log := <-logs:
  3334  				// New log arrived, parse the event and forward to the user
  3335  				event := new(ADKTransactionsEventLogString)
  3336  				if err := _ADKTransactions.contract.UnpackLog(event, "EventLogString", log); err != nil {
  3337  					return err
  3338  				}
  3339  				event.Raw = log
  3340  
  3341  				select {
  3342  				case sink <- event:
  3343  				case err := <-sub.Err():
  3344  					return err
  3345  				case <-quit:
  3346  					return nil
  3347  				}
  3348  			case err := <-sub.Err():
  3349  				return err
  3350  			case <-quit:
  3351  				return nil
  3352  			}
  3353  		}
  3354  	}), nil
  3355  }
  3356  
  3357  // ParseEventLogString is a log parse operation binding the contract event 0xccd963281651b70f9dc4bf799196583260466d9300a1c2431c37e93f40faa616.
  3358  //
  3359  // Solidity: event EventLogString(string indexed info, string strdata)
  3360  func (_ADKTransactions *ADKTransactionsFilterer) ParseEventLogString(log types.Log) (*ADKTransactionsEventLogString, error) {
  3361  	event := new(ADKTransactionsEventLogString)
  3362  	if err := _ADKTransactions.contract.UnpackLog(event, "EventLogString", log); err != nil {
  3363  		return nil, err
  3364  	}
  3365  	event.Raw = log
  3366  	return event, nil
  3367  }
  3368  
  3369  // ADKTransactionsEventLogUIntIterator is returned from FilterEventLogUInt and is used to iterate over the raw logs and unpacked data for EventLogUInt events raised by the ADKTransactions contract.
  3370  type ADKTransactionsEventLogUIntIterator struct {
  3371  	Event *ADKTransactionsEventLogUInt // Event containing the contract specifics and raw log
  3372  
  3373  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3374  	event    string              // Event name to use for unpacking event data
  3375  
  3376  	logs chan types.Log        // Log channel receiving the found contract events
  3377  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3378  	done bool                  // Whether the subscription completed delivering logs
  3379  	fail error                 // Occurred error to stop iteration
  3380  }
  3381  
  3382  // Next advances the iterator to the subsequent event, returning whether there
  3383  // are any more events found. In case of a retrieval or parsing error, false is
  3384  // returned and Error() can be queried for the exact failure.
  3385  func (it *ADKTransactionsEventLogUIntIterator) Next() bool {
  3386  	// If the iterator failed, stop iterating
  3387  	if it.fail != nil {
  3388  		return false
  3389  	}
  3390  	// If the iterator completed, deliver directly whatever's available
  3391  	if it.done {
  3392  		select {
  3393  		case log := <-it.logs:
  3394  			it.Event = new(ADKTransactionsEventLogUInt)
  3395  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3396  				it.fail = err
  3397  				return false
  3398  			}
  3399  			it.Event.Raw = log
  3400  			return true
  3401  
  3402  		default:
  3403  			return false
  3404  		}
  3405  	}
  3406  	// Iterator still in progress, wait for either a data or an error event
  3407  	select {
  3408  	case log := <-it.logs:
  3409  		it.Event = new(ADKTransactionsEventLogUInt)
  3410  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3411  			it.fail = err
  3412  			return false
  3413  		}
  3414  		it.Event.Raw = log
  3415  		return true
  3416  
  3417  	case err := <-it.sub.Err():
  3418  		it.done = true
  3419  		it.fail = err
  3420  		return it.Next()
  3421  	}
  3422  }
  3423  
  3424  // Error returns any retrieval or parsing error occurred during filtering.
  3425  func (it *ADKTransactionsEventLogUIntIterator) Error() error {
  3426  	return it.fail
  3427  }
  3428  
  3429  // Close terminates the iteration process, releasing any pending underlying
  3430  // resources.
  3431  func (it *ADKTransactionsEventLogUIntIterator) Close() error {
  3432  	it.sub.Unsubscribe()
  3433  	return nil
  3434  }
  3435  
  3436  // ADKTransactionsEventLogUInt represents a EventLogUInt event raised by the ADKTransactions contract.
  3437  type ADKTransactionsEventLogUInt struct {
  3438  	Info     common.Hash
  3439  	Uintdata *big.Int
  3440  	Raw      types.Log // Blockchain specific contextual infos
  3441  }
  3442  
  3443  // FilterEventLogUInt is a free log retrieval operation binding the contract event 0xa579b94ccb4ee3bbc6ce74784fcad38eb022c0e5a7e4cefe1d869dae14f9a0c3.
  3444  //
  3445  // Solidity: event EventLogUInt(string indexed info, uint256 uintdata)
  3446  func (_ADKTransactions *ADKTransactionsFilterer) FilterEventLogUInt(opts *bind.FilterOpts, info []string) (*ADKTransactionsEventLogUIntIterator, error) {
  3447  
  3448  	var infoRule []interface{}
  3449  	for _, infoItem := range info {
  3450  		infoRule = append(infoRule, infoItem)
  3451  	}
  3452  
  3453  	logs, sub, err := _ADKTransactions.contract.FilterLogs(opts, "EventLogUInt", infoRule)
  3454  	if err != nil {
  3455  		return nil, err
  3456  	}
  3457  	return &ADKTransactionsEventLogUIntIterator{contract: _ADKTransactions.contract, event: "EventLogUInt", logs: logs, sub: sub}, nil
  3458  }
  3459  
  3460  // WatchEventLogUInt is a free log subscription operation binding the contract event 0xa579b94ccb4ee3bbc6ce74784fcad38eb022c0e5a7e4cefe1d869dae14f9a0c3.
  3461  //
  3462  // Solidity: event EventLogUInt(string indexed info, uint256 uintdata)
  3463  func (_ADKTransactions *ADKTransactionsFilterer) WatchEventLogUInt(opts *bind.WatchOpts, sink chan<- *ADKTransactionsEventLogUInt, info []string) (event.Subscription, error) {
  3464  
  3465  	var infoRule []interface{}
  3466  	for _, infoItem := range info {
  3467  		infoRule = append(infoRule, infoItem)
  3468  	}
  3469  
  3470  	logs, sub, err := _ADKTransactions.contract.WatchLogs(opts, "EventLogUInt", infoRule)
  3471  	if err != nil {
  3472  		return nil, err
  3473  	}
  3474  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3475  		defer sub.Unsubscribe()
  3476  		for {
  3477  			select {
  3478  			case log := <-logs:
  3479  				// New log arrived, parse the event and forward to the user
  3480  				event := new(ADKTransactionsEventLogUInt)
  3481  				if err := _ADKTransactions.contract.UnpackLog(event, "EventLogUInt", log); err != nil {
  3482  					return err
  3483  				}
  3484  				event.Raw = log
  3485  
  3486  				select {
  3487  				case sink <- event:
  3488  				case err := <-sub.Err():
  3489  					return err
  3490  				case <-quit:
  3491  					return nil
  3492  				}
  3493  			case err := <-sub.Err():
  3494  				return err
  3495  			case <-quit:
  3496  				return nil
  3497  			}
  3498  		}
  3499  	}), nil
  3500  }
  3501  
  3502  // ParseEventLogUInt is a log parse operation binding the contract event 0xa579b94ccb4ee3bbc6ce74784fcad38eb022c0e5a7e4cefe1d869dae14f9a0c3.
  3503  //
  3504  // Solidity: event EventLogUInt(string indexed info, uint256 uintdata)
  3505  func (_ADKTransactions *ADKTransactionsFilterer) ParseEventLogUInt(log types.Log) (*ADKTransactionsEventLogUInt, error) {
  3506  	event := new(ADKTransactionsEventLogUInt)
  3507  	if err := _ADKTransactions.contract.UnpackLog(event, "EventLogUInt", log); err != nil {
  3508  		return nil, err
  3509  	}
  3510  	event.Raw = log
  3511  	return event, nil
  3512  }
  3513  
  3514  // ADKTransactionsTransactionsByAddressIterator is returned from FilterTransactionsByAddress and is used to iterate over the raw logs and unpacked data for TransactionsByAddress events raised by the ADKTransactions contract.
  3515  type ADKTransactionsTransactionsByAddressIterator struct {
  3516  	Event *ADKTransactionsTransactionsByAddress // Event containing the contract specifics and raw log
  3517  
  3518  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3519  	event    string              // Event name to use for unpacking event data
  3520  
  3521  	logs chan types.Log        // Log channel receiving the found contract events
  3522  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3523  	done bool                  // Whether the subscription completed delivering logs
  3524  	fail error                 // Occurred error to stop iteration
  3525  }
  3526  
  3527  // Next advances the iterator to the subsequent event, returning whether there
  3528  // are any more events found. In case of a retrieval or parsing error, false is
  3529  // returned and Error() can be queried for the exact failure.
  3530  func (it *ADKTransactionsTransactionsByAddressIterator) Next() bool {
  3531  	// If the iterator failed, stop iterating
  3532  	if it.fail != nil {
  3533  		return false
  3534  	}
  3535  	// If the iterator completed, deliver directly whatever's available
  3536  	if it.done {
  3537  		select {
  3538  		case log := <-it.logs:
  3539  			it.Event = new(ADKTransactionsTransactionsByAddress)
  3540  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3541  				it.fail = err
  3542  				return false
  3543  			}
  3544  			it.Event.Raw = log
  3545  			return true
  3546  
  3547  		default:
  3548  			return false
  3549  		}
  3550  	}
  3551  	// Iterator still in progress, wait for either a data or an error event
  3552  	select {
  3553  	case log := <-it.logs:
  3554  		it.Event = new(ADKTransactionsTransactionsByAddress)
  3555  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3556  			it.fail = err
  3557  			return false
  3558  		}
  3559  		it.Event.Raw = log
  3560  		return true
  3561  
  3562  	case err := <-it.sub.Err():
  3563  		it.done = true
  3564  		it.fail = err
  3565  		return it.Next()
  3566  	}
  3567  }
  3568  
  3569  // Error returns any retrieval or parsing error occurred during filtering.
  3570  func (it *ADKTransactionsTransactionsByAddressIterator) Error() error {
  3571  	return it.fail
  3572  }
  3573  
  3574  // Close terminates the iteration process, releasing any pending underlying
  3575  // resources.
  3576  func (it *ADKTransactionsTransactionsByAddressIterator) Close() error {
  3577  	it.sub.Unsubscribe()
  3578  	return nil
  3579  }
  3580  
  3581  // ADKTransactionsTransactionsByAddress represents a TransactionsByAddress event raised by the ADKTransactions contract.
  3582  type ADKTransactionsTransactionsByAddress struct {
  3583  	AddressSHA3     [32]byte
  3584  	TransactionSHA3 [32]byte
  3585  	Raw             types.Log // Blockchain specific contextual infos
  3586  }
  3587  
  3588  // FilterTransactionsByAddress is a free log retrieval operation binding the contract event 0x3a3fefec9be0b15f11bf30dc166021af2910538b9322c12e44963bbbe72f7d7b.
  3589  //
  3590  // Solidity: event transactions_by_address(bytes32 indexed addressSHA3, bytes32 transactionSHA3)
  3591  func (_ADKTransactions *ADKTransactionsFilterer) FilterTransactionsByAddress(opts *bind.FilterOpts, addressSHA3 [][32]byte) (*ADKTransactionsTransactionsByAddressIterator, error) {
  3592  
  3593  	var addressSHA3Rule []interface{}
  3594  	for _, addressSHA3Item := range addressSHA3 {
  3595  		addressSHA3Rule = append(addressSHA3Rule, addressSHA3Item)
  3596  	}
  3597  
  3598  	logs, sub, err := _ADKTransactions.contract.FilterLogs(opts, "transactions_by_address", addressSHA3Rule)
  3599  	if err != nil {
  3600  		return nil, err
  3601  	}
  3602  	return &ADKTransactionsTransactionsByAddressIterator{contract: _ADKTransactions.contract, event: "transactions_by_address", logs: logs, sub: sub}, nil
  3603  }
  3604  
  3605  // WatchTransactionsByAddress is a free log subscription operation binding the contract event 0x3a3fefec9be0b15f11bf30dc166021af2910538b9322c12e44963bbbe72f7d7b.
  3606  //
  3607  // Solidity: event transactions_by_address(bytes32 indexed addressSHA3, bytes32 transactionSHA3)
  3608  func (_ADKTransactions *ADKTransactionsFilterer) WatchTransactionsByAddress(opts *bind.WatchOpts, sink chan<- *ADKTransactionsTransactionsByAddress, addressSHA3 [][32]byte) (event.Subscription, error) {
  3609  
  3610  	var addressSHA3Rule []interface{}
  3611  	for _, addressSHA3Item := range addressSHA3 {
  3612  		addressSHA3Rule = append(addressSHA3Rule, addressSHA3Item)
  3613  	}
  3614  
  3615  	logs, sub, err := _ADKTransactions.contract.WatchLogs(opts, "transactions_by_address", addressSHA3Rule)
  3616  	if err != nil {
  3617  		return nil, err
  3618  	}
  3619  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3620  		defer sub.Unsubscribe()
  3621  		for {
  3622  			select {
  3623  			case log := <-logs:
  3624  				// New log arrived, parse the event and forward to the user
  3625  				event := new(ADKTransactionsTransactionsByAddress)
  3626  				if err := _ADKTransactions.contract.UnpackLog(event, "transactions_by_address", log); err != nil {
  3627  					return err
  3628  				}
  3629  				event.Raw = log
  3630  
  3631  				select {
  3632  				case sink <- event:
  3633  				case err := <-sub.Err():
  3634  					return err
  3635  				case <-quit:
  3636  					return nil
  3637  				}
  3638  			case err := <-sub.Err():
  3639  				return err
  3640  			case <-quit:
  3641  				return nil
  3642  			}
  3643  		}
  3644  	}), nil
  3645  }
  3646  
  3647  // ParseTransactionsByAddress is a log parse operation binding the contract event 0x3a3fefec9be0b15f11bf30dc166021af2910538b9322c12e44963bbbe72f7d7b.
  3648  //
  3649  // Solidity: event transactions_by_address(bytes32 indexed addressSHA3, bytes32 transactionSHA3)
  3650  func (_ADKTransactions *ADKTransactionsFilterer) ParseTransactionsByAddress(log types.Log) (*ADKTransactionsTransactionsByAddress, error) {
  3651  	event := new(ADKTransactionsTransactionsByAddress)
  3652  	if err := _ADKTransactions.contract.UnpackLog(event, "transactions_by_address", log); err != nil {
  3653  		return nil, err
  3654  	}
  3655  	event.Raw = log
  3656  	return event, nil
  3657  }
  3658  
  3659  // ADKTransactionsTransactionsByBundleIterator is returned from FilterTransactionsByBundle and is used to iterate over the raw logs and unpacked data for TransactionsByBundle events raised by the ADKTransactions contract.
  3660  type ADKTransactionsTransactionsByBundleIterator struct {
  3661  	Event *ADKTransactionsTransactionsByBundle // Event containing the contract specifics and raw log
  3662  
  3663  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3664  	event    string              // Event name to use for unpacking event data
  3665  
  3666  	logs chan types.Log        // Log channel receiving the found contract events
  3667  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3668  	done bool                  // Whether the subscription completed delivering logs
  3669  	fail error                 // Occurred error to stop iteration
  3670  }
  3671  
  3672  // Next advances the iterator to the subsequent event, returning whether there
  3673  // are any more events found. In case of a retrieval or parsing error, false is
  3674  // returned and Error() can be queried for the exact failure.
  3675  func (it *ADKTransactionsTransactionsByBundleIterator) Next() bool {
  3676  	// If the iterator failed, stop iterating
  3677  	if it.fail != nil {
  3678  		return false
  3679  	}
  3680  	// If the iterator completed, deliver directly whatever's available
  3681  	if it.done {
  3682  		select {
  3683  		case log := <-it.logs:
  3684  			it.Event = new(ADKTransactionsTransactionsByBundle)
  3685  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3686  				it.fail = err
  3687  				return false
  3688  			}
  3689  			it.Event.Raw = log
  3690  			return true
  3691  
  3692  		default:
  3693  			return false
  3694  		}
  3695  	}
  3696  	// Iterator still in progress, wait for either a data or an error event
  3697  	select {
  3698  	case log := <-it.logs:
  3699  		it.Event = new(ADKTransactionsTransactionsByBundle)
  3700  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3701  			it.fail = err
  3702  			return false
  3703  		}
  3704  		it.Event.Raw = log
  3705  		return true
  3706  
  3707  	case err := <-it.sub.Err():
  3708  		it.done = true
  3709  		it.fail = err
  3710  		return it.Next()
  3711  	}
  3712  }
  3713  
  3714  // Error returns any retrieval or parsing error occurred during filtering.
  3715  func (it *ADKTransactionsTransactionsByBundleIterator) Error() error {
  3716  	return it.fail
  3717  }
  3718  
  3719  // Close terminates the iteration process, releasing any pending underlying
  3720  // resources.
  3721  func (it *ADKTransactionsTransactionsByBundleIterator) Close() error {
  3722  	it.sub.Unsubscribe()
  3723  	return nil
  3724  }
  3725  
  3726  // ADKTransactionsTransactionsByBundle represents a TransactionsByBundle event raised by the ADKTransactions contract.
  3727  type ADKTransactionsTransactionsByBundle struct {
  3728  	BundleSHA3      [32]byte
  3729  	TransactionSHA3 [32]byte
  3730  	Raw             types.Log // Blockchain specific contextual infos
  3731  }
  3732  
  3733  // FilterTransactionsByBundle is a free log retrieval operation binding the contract event 0xa551994b821690876343950f8de610eb0796baaded797266283c842d257dea9f.
  3734  //
  3735  // Solidity: event transactions_by_bundle(bytes32 indexed bundleSHA3, bytes32 transactionSHA3)
  3736  func (_ADKTransactions *ADKTransactionsFilterer) FilterTransactionsByBundle(opts *bind.FilterOpts, bundleSHA3 [][32]byte) (*ADKTransactionsTransactionsByBundleIterator, error) {
  3737  
  3738  	var bundleSHA3Rule []interface{}
  3739  	for _, bundleSHA3Item := range bundleSHA3 {
  3740  		bundleSHA3Rule = append(bundleSHA3Rule, bundleSHA3Item)
  3741  	}
  3742  
  3743  	logs, sub, err := _ADKTransactions.contract.FilterLogs(opts, "transactions_by_bundle", bundleSHA3Rule)
  3744  	if err != nil {
  3745  		return nil, err
  3746  	}
  3747  	return &ADKTransactionsTransactionsByBundleIterator{contract: _ADKTransactions.contract, event: "transactions_by_bundle", logs: logs, sub: sub}, nil
  3748  }
  3749  
  3750  // WatchTransactionsByBundle is a free log subscription operation binding the contract event 0xa551994b821690876343950f8de610eb0796baaded797266283c842d257dea9f.
  3751  //
  3752  // Solidity: event transactions_by_bundle(bytes32 indexed bundleSHA3, bytes32 transactionSHA3)
  3753  func (_ADKTransactions *ADKTransactionsFilterer) WatchTransactionsByBundle(opts *bind.WatchOpts, sink chan<- *ADKTransactionsTransactionsByBundle, bundleSHA3 [][32]byte) (event.Subscription, error) {
  3754  
  3755  	var bundleSHA3Rule []interface{}
  3756  	for _, bundleSHA3Item := range bundleSHA3 {
  3757  		bundleSHA3Rule = append(bundleSHA3Rule, bundleSHA3Item)
  3758  	}
  3759  
  3760  	logs, sub, err := _ADKTransactions.contract.WatchLogs(opts, "transactions_by_bundle", bundleSHA3Rule)
  3761  	if err != nil {
  3762  		return nil, err
  3763  	}
  3764  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3765  		defer sub.Unsubscribe()
  3766  		for {
  3767  			select {
  3768  			case log := <-logs:
  3769  				// New log arrived, parse the event and forward to the user
  3770  				event := new(ADKTransactionsTransactionsByBundle)
  3771  				if err := _ADKTransactions.contract.UnpackLog(event, "transactions_by_bundle", log); err != nil {
  3772  					return err
  3773  				}
  3774  				event.Raw = log
  3775  
  3776  				select {
  3777  				case sink <- event:
  3778  				case err := <-sub.Err():
  3779  					return err
  3780  				case <-quit:
  3781  					return nil
  3782  				}
  3783  			case err := <-sub.Err():
  3784  				return err
  3785  			case <-quit:
  3786  				return nil
  3787  			}
  3788  		}
  3789  	}), nil
  3790  }
  3791  
  3792  // ParseTransactionsByBundle is a log parse operation binding the contract event 0xa551994b821690876343950f8de610eb0796baaded797266283c842d257dea9f.
  3793  //
  3794  // Solidity: event transactions_by_bundle(bytes32 indexed bundleSHA3, bytes32 transactionSHA3)
  3795  func (_ADKTransactions *ADKTransactionsFilterer) ParseTransactionsByBundle(log types.Log) (*ADKTransactionsTransactionsByBundle, error) {
  3796  	event := new(ADKTransactionsTransactionsByBundle)
  3797  	if err := _ADKTransactions.contract.UnpackLog(event, "transactions_by_bundle", log); err != nil {
  3798  		return nil, err
  3799  	}
  3800  	event.Raw = log
  3801  	return event, nil
  3802  }
  3803  
  3804  // AGSClaimMetaData contains all meta data concerning the AGSClaim contract.
  3805  var AGSClaimMetaData = &bind.MetaData{
  3806  	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_genesis_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ADKTokenContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"}],\"name\":\"EventClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"addrAZ9\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"}],\"name\":\"EventClaimedAZ9\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"ADKTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_genesisAddress\",\"type\":\"address\"}],\"name\":\"ADM_SetGenesisAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_AZ9addr\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_claimableAmount\",\"type\":\"uint256\"}],\"name\":\"ADM_setClaimableAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_addresses\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_value1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value3\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value4\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value5\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value6\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value7\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value8\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value9\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value10\",\"type\":\"uint256\"}],\"name\":\"ADM_setClaimableAmountBulk\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ClientProofOfWorkRequirement\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"CurlHashOP\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"InitialAGSAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"transactiondata\",\"type\":\"string\"}],\"name\":\"PostTransactions\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adkgo_genesis_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"claimableAZ9\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAGSBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bal\",\"type\":\"uint256\"}],\"name\":\"recoverAGS\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  3807  	Sigs: map[string]string{
  3808  		"a91fa7cb": "ADKTokenAddress()",
  3809  		"d48a1ce5": "ADM_SetGenesisAddress(address)",
  3810  		"f5702e4e": "ADM_setClaimableAmount(string,uint256)",
  3811  		"f1e13cfe": "ADM_setClaimableAmountBulk(string,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)",
  3812  		"2076e796": "ClientProofOfWorkRequirement()",
  3813  		"016d1c68": "CurlHashOP(string)",
  3814  		"f7509c52": "InitialAGSAmount()",
  3815  		"7fa5e242": "PostTransactions(string)",
  3816  		"c4c7e151": "adkgo_genesis_address()",
  3817  		"402914f5": "claimable(address)",
  3818  		"af7f893b": "claimableAZ9(string)",
  3819  		"03f390c1": "getAGSBalance()",
  3820  		"a9c02d49": "recoverAGS(uint256)",
  3821  	},
  3822  	Bin: "0x60806040526006805460ff191690553480156200001b57600080fd5b5060405162001bab38038062001bab8339810160408190526200003e9162000095565b600080546001600160a01b039283166001600160a01b03199182161790915560018054939092169216919091179055600f600255620000cd565b80516001600160a01b03811681146200009057600080fd5b919050565b60008060408385031215620000a957600080fd5b620000b48362000078565b9150620000c46020840162000078565b90509250929050565b611ace80620000dd6000396000f3fe6080604052600436106100bc5760003560e01c8063a9c02d4911610079578063d48a1ce511610056578063d48a1ce514610224578063f1e13cfe14610244578063f5702e4e14610264578063f7509c521461028457005b8063a9c02d49146101ac578063af7f893b146101cc578063c4c7e1511461020457005b8063016d1c68146100be57806303f390c1146100f45780632076e79614610111578063402914f5146101275780637fa5e24214610154578063a91fa7cb14610174575b005b3480156100ca57600080fd5b506100de6100d9366004611624565b61029a565b6040516100eb919061185e565b60405180910390f35b34801561010057600080fd5b50475b6040519081526020016100eb565b34801561011d57600080fd5b5061010360025481565b34801561013357600080fd5b506101036101423660046115e3565b60036020526000908152604090205481565b34801561016057600080fd5b506100de61016f366004611624565b61047d565b34801561018057600080fd5b50600054610194906001600160a01b031681565b6040516001600160a01b0390911681526020016100eb565b3480156101b857600080fd5b506100bc6101c736600461173a565b610ebe565b3480156101d857600080fd5b506101036101e7366004611624565b805160208183018101805160048252928201919093012091525481565b34801561021057600080fd5b50600154610194906001600160a01b031681565b34801561023057600080fd5b506100bc61023f3660046115e3565b610f19565b34801561025057600080fd5b506100bc61025f3660046116a6565b610f65565b34801561027057600080fd5b506100bc61027f366004611661565b611194565b34801561029057600080fd5b5061010360055481565b6040516060906000906102b59082908190869060200161179e565b60408051601f19818403018152919052805160208201819020919250600160fd1b908390600a9081106102ea576102ea611a54565b60200101906001600160f81b031916908160001a90535081516020830181902090600160fe1b908490600a90811061032457610324611a54565b60200101906001600160f81b031916908160001a905350825160208401206040805160518082526080820190925260009160208201818036833701905050905060005b602081101561040a5784816020811061038257610382611a54565b1a60f81b82828151811061039857610398611a54565b60200101906001600160f81b031916908160001a9053508381602081106103c1576103c1611a54565b1a60f81b826103d18360206118b9565b815181106103e1576103e1611a54565b60200101906001600160f81b031916908160001a90535080610402816119df565b915050610367565b5060005b60118110156104725782816020811061042957610429611a54565b1a60f81b826104398360406118b9565b8151811061044957610449611a54565b60200101906001600160f81b031916908160001a9053508061046a816119df565b91505061040e565b509695505050505050565b606081600081905060018151101561049457600080fd5b600160005b8251811015610525578281815181106104b4576104b4611a54565b60209101015160f81c6039148061050a575060418382815181106104da576104da611a54565b016020015160f81c1080159061050a5750605a8382815181106104ff576104ff611a54565b016020015160f81c11155b61051357600091505b8061051d816119df565b915050610499565b50806105695760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49442054525954455360901b60448201526064015b60405180910390fd5b60065460ff16156105b15760405162461bcd60e51b81526020600482015260126024820152717265656e7472792070726576656e7465642160701b6044820152606401610560565b6006805460ff19166001179055845185906105cf90610a7190611a14565b1580156105dd575060008151115b6106295760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207472616e73616374696f6e287329206c656e6774680000006044820152606401610560565b6000610a71825161063a91906118f0565b90508061ffff166003146106905760405162461bcd60e51b815260206004820152601860248201527f6d75737420686176652033207472616e73616374696f6e7300000000000000006044820152606401610560565b600061069d8260a2611904565b61ffff1667ffffffffffffffff8111156106b9576106b9611a6a565b6040519080825280601f01601f1916602001820160405280156106e3576020820181803683370190505b50604080516020810190915260008082529192509060608181815b8761ffff168163ffffffff161015610ce8576107616040518061010001604052806060815260200160608152602001606081526020016060815260200160608152602001600063ffffffff16815260200160008019168152602001606081525090565b61076d82610a7161192e565b8160a0019063ffffffff16908163ffffffff16815250506107a48f8260a001518360a00151610a7161079f91906118d1565b6112e1565b602082018190526107b49061029a565b60e082015260005b60036002546107cb91906118f0565b81101561086c5760006107df826050611951565b90508260e0015181815181106107f7576107f7611a54565b6020910101516001600160f81b031916603960f81b146108595760405162461bcd60e51b815260206004820152601d60248201527f5452414e53414354494f4e20504f57204e4f5420434f4d504c455445440000006044820152606401610560565b5080610864816119df565b9150506107bc565b5060e0810151805160209091012060c082015260005b60a28161ffff161015610930578a8161ffff168360a0015161088b6108a791906118d1565b6108b191906118d1565b63ffffffff16815181106108c7576108c7611a54565b01602001516001600160f81b0319168961ffff83166108e78660a261192e565b6108f191906118d1565b63ffffffff168151811061090757610907611a54565b60200101906001600160f81b031916908160001a90535080610928816119bd565b915050610882565b50610944816020015161088b6108dc6112e1565b815260a081015161098b908b9061095d9061092d6118d1565b63ffffffff168360a0015161092d61097591906118d1565b6109809060516118d1565b63ffffffff166113cc565b608082015263ffffffff8216610a3557806080015196506109e46109b68260200151600060106112e1565b6040518060400160405280601081526020016f21a620a4a6aa2920a729a0a1aa24a7a760811b815250611497565b610a305760405162461bcd60e51b815260206004820152601760248201527f6e6f74206120636c61696d207472616e73636174696f6e0000000000000000006044820152606401610560565b610a87565b610a43878260800151611497565b610a875760405162461bcd60e51b8152602060048201526015602482015274189d5b991b19481b9bdd0818dbdb9cda5cdd195b9d605a1b6044820152606401610560565b63ffffffff8216610b1a57600054815160405163a205a8a960e01b81526001600160a01b039092169163a205a8a991610ac29160040161185e565b60206040518083038186803b158015610ada57600080fd5b505afa158015610aee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b129190611607565b815190965094505b8163ffffffff1660011415610cd557600054815160405163a205a8a960e01b81526001600160a01b039092169163a205a8a991610b599160040161185e565b60206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba99190611607565b9350610bea8f8260a00151610a71610bc191906118d1565b610bcd9061088b6118d1565b60a0840151610bde90610a716118d1565b61079f906108dc6118d1565b9250610bfa816000015184611497565b610c505760405162461bcd60e51b815260206004820152602160248201527f326e64207369676e61747572652068617320696e76616c6964206164647265736044820152607360f81b6064820152608401610560565b610c5f8f610a716112fc6112e1565b6040820152610c738f6114e2611d6d6112e1565b6060820181905281516040830151610c9592610c8f91906114f0565b8961151c565b610cd55760405162461bcd60e51b8152602060048201526011602482015270494e56414c4944205349474e415455524560781b6044820152606401610560565b5080610ce0816119fa565b9150506106fe565b506000610cf48761029a565b9050610d008682611497565b610d4c5760405162461bcd60e51b815260206004820152601960248201527f43414c43554c415445442042554e444c452044494646455253000000000000006044820152606401610560565b6001600160a01b0383166000908152600360205260408082208054908390559051909190600490610d7e908690611753565b9081526040519081900360200190205580610dce5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b6044820152606401610560565b6040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610e04573d6000803e3d6000fd5b50604080516001600160a01b038881168252602082018490528616917f02d9abd938722d4f865e2c1c5fff05ec645e6bcba75a96962997202a849a6bd4910160405180910390a282604051610e599190611753565b604080519182900382206001600160a01b038916835260208301849052917f18abcea8c2c342fa3e8280c1656dec133251e3559c581f356b2b12b30bed722d910160405180910390a2506006805460ff191690559d9c50505050505050505050505050565b6001546001600160a01b03163314610ee85760405162461bcd60e51b815260040161056090611891565b604051339082156108fc029083906000818181858888f19350505050158015610f15573d6000803e3d6000fd5b5050565b6001546001600160a01b03163314610f435760405162461bcd60e51b815260040161056090611891565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610f8f5760405162461bcd60e51b815260040161056090611891565b60008b5161032a146110175760405162461bcd60e51b815260206004820152604560248201527f537472696e67206d75737420636f6e7461696e2031302061646472657373657360448201527f20776974686f757420636865636b73756d20666f722062756c6b2070726f63656064820152647373696e6760d81b608482015260a401610560565b61103061102a8d8361079f8160516118d1565b8c611194565b61103b6051826118d1565b90506110566110508d8361079f8160516118d1565b8b611194565b6110616051826118d1565b905061107c6110768d8361079f8160516118d1565b8a611194565b6110876051826118d1565b90506110a261109c8d8361079f8160516118d1565b89611194565b6110ad6051826118d1565b90506110c86110c28d8361079f8160516118d1565b88611194565b6110d36051826118d1565b90506110ee6110e88d8361079f8160516118d1565b87611194565b6110f96051826118d1565b905061111461110e8d8361079f8160516118d1565b86611194565b61111f6051826118d1565b905061113a6111348d8361079f8160516118d1565b85611194565b6111456051826118d1565b905061116061115a8d8361079f8160516118d1565b84611194565b61116b6051826118d1565b90506111866111808d8361079f8160516118d1565b83611194565b505050505050505050505050565b6001546001600160a01b031633146111be5760405162461bcd60e51b815260040161056090611891565b81516051146112015760405162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b6044820152606401610560565b6000805460405163a205a8a960e01b81526001600160a01b039091169063a205a8a99061123290869060040161185e565b60206040518083038186803b15801561124a57600080fd5b505afa15801561125e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112829190611607565b6001600160a01b038116600090815260036020526040908190208490555190915082906004906112b3908690611753565b90815260200160405180910390208190555081600560008282546112d791906118b9565b9091555050505050565b60608360006112f08585611968565b63ffffffff1667ffffffffffffffff81111561130e5761130e611a6a565b6040519080825280601f01601f191660200182016040528015611338576020820181803683370190505b509050845b8463ffffffff168163ffffffff1610156113c257828163ffffffff168151811061136957611369611a54565b01602001516001600160f81b031916826113838884611968565b63ffffffff168151811061139957611399611a54565b60200101906001600160f81b031916908160001a905350806113ba816119fa565b91505061133d565b5095945050505050565b606060006113da8484611951565b67ffffffffffffffff8111156113f2576113f2611a6a565b6040519080825280601f01601f19166020018201604052801561141c576020820181803683370190505b509050835b8381101561148e5785818151811061143b5761143b611a54565b01602001516001600160f81b031916826114558784611951565b8151811061146557611465611a54565b60200101906001600160f81b031916908160001a90535080611486816119df565b915050611421565b50949350505050565b6000816040516020016114aa9190611753565b60405160208183030381529060405280519060200120836040516020016114d19190611753565b6040516020818303038152906040528051906020012014905092915050565b6060828260405160200161150592919061176f565b604051602081830303815290604052905092915050565b600080848484604051602001611534939291906117f4565b60408051808303601f1901815291905280516020909101201595945050505050565b600082601f83011261156757600080fd5b813567ffffffffffffffff8082111561158257611582611a6a565b604051601f8301601f19908116603f011681019082821181831017156115aa576115aa611a6a565b816040528381528660208588010111156115c357600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156115f557600080fd5b813561160081611a80565b9392505050565b60006020828403121561161957600080fd5b815161160081611a80565b60006020828403121561163657600080fd5b813567ffffffffffffffff81111561164d57600080fd5b61165984828501611556565b949350505050565b6000806040838503121561167457600080fd5b823567ffffffffffffffff81111561168b57600080fd5b61169785828601611556565b95602094909401359450505050565b60008060008060008060008060008060006101608c8e0312156116c857600080fd5b8b3567ffffffffffffffff8111156116df57600080fd5b6116eb8e828f01611556565b9e60208e01359e5060408e01359d60608101359d5060808101359c5060a08101359b5060c08101359a5060e0810135995061010081013598506101208101359750610140013595509350505050565b60006020828403121561174c57600080fd5b5035919050565b6000825161176581846020870161198d565b9190910192915050565b6000835161178181846020880161198d565b83519083019061179581836020880161198d565b01949350505050565b657b4355524c7d60d01b81526309082a6960e31b60068201526001600160f81b0319848116600a8301528316600b82015281516000906117e581600c85016020870161198d565b91909101600c01949350505050565b657b4355524c7d60d01b81526556414c53494760d01b60068201526000845161182481600c85016020890161198d565b84519083019061183b81600c84016020890161198d565b845191019061185181600c84016020880161198d565b01600c0195945050505050565b602081526000825180602084015261187d81604085016020870161198d565b601f01601f19169190910160400192915050565b6020808252600e908201526d1393d5081055551213d49256915160921b604082015260600190565b600082198211156118cc576118cc611a28565b500190565b600063ffffffff80831681851680830382111561179557611795611a28565b6000826118ff576118ff611a3e565b500490565b600061ffff8083168185168183048111821515161561192557611925611a28565b02949350505050565b600063ffffffff8083168185168183048111821515161561192557611925611a28565b60008282101561196357611963611a28565b500390565b600063ffffffff8381169083168181101561198557611985611a28565b039392505050565b60005b838110156119a8578181015183820152602001611990565b838111156119b7576000848401525b50505050565b600061ffff808316818114156119d5576119d5611a28565b6001019392505050565b60006000198214156119f3576119f3611a28565b5060010190565b600063ffffffff808316818114156119d5576119d5611a28565b600082611a2357611a23611a3e565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611a9557600080fd5b5056fea26469706673582212203d877ded1dfeaa5ecadeeabd38f739d05f32ffa58c426bfbe5ecb8580478e33064736f6c63430008070033",
  3823  }
  3824  
  3825  // AGSClaimABI is the input ABI used to generate the binding from.
  3826  // Deprecated: Use AGSClaimMetaData.ABI instead.
  3827  var AGSClaimABI = AGSClaimMetaData.ABI
  3828  
  3829  // Deprecated: Use AGSClaimMetaData.Sigs instead.
  3830  // AGSClaimFuncSigs maps the 4-byte function signature to its string representation.
  3831  var AGSClaimFuncSigs = AGSClaimMetaData.Sigs
  3832  
  3833  // AGSClaimBin is the compiled bytecode used for deploying new contracts.
  3834  // Deprecated: Use AGSClaimMetaData.Bin instead.
  3835  var AGSClaimBin = AGSClaimMetaData.Bin
  3836  
  3837  // DeployAGSClaim deploys a new Ethereum contract, binding an instance of AGSClaim to it.
  3838  func DeployAGSClaim(auth *bind.TransactOpts, backend bind.ContractBackend, _genesis_account common.Address, _ADKTokenContract common.Address) (common.Address, *types.Transaction, *AGSClaim, error) {
  3839  	parsed, err := AGSClaimMetaData.GetAbi()
  3840  	if err != nil {
  3841  		return common.Address{}, nil, nil, err
  3842  	}
  3843  	if parsed == nil {
  3844  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  3845  	}
  3846  
  3847  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AGSClaimBin), backend, _genesis_account, _ADKTokenContract)
  3848  	if err != nil {
  3849  		return common.Address{}, nil, nil, err
  3850  	}
  3851  	return address, tx, &AGSClaim{AGSClaimCaller: AGSClaimCaller{contract: contract}, AGSClaimTransactor: AGSClaimTransactor{contract: contract}, AGSClaimFilterer: AGSClaimFilterer{contract: contract}}, nil
  3852  }
  3853  
  3854  // AGSClaim is an auto generated Go binding around an Ethereum contract.
  3855  type AGSClaim struct {
  3856  	AGSClaimCaller     // Read-only binding to the contract
  3857  	AGSClaimTransactor // Write-only binding to the contract
  3858  	AGSClaimFilterer   // Log filterer for contract events
  3859  }
  3860  
  3861  // AGSClaimCaller is an auto generated read-only Go binding around an Ethereum contract.
  3862  type AGSClaimCaller struct {
  3863  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3864  }
  3865  
  3866  // AGSClaimTransactor is an auto generated write-only Go binding around an Ethereum contract.
  3867  type AGSClaimTransactor struct {
  3868  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3869  }
  3870  
  3871  // AGSClaimFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  3872  type AGSClaimFilterer struct {
  3873  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3874  }
  3875  
  3876  // AGSClaimSession is an auto generated Go binding around an Ethereum contract,
  3877  // with pre-set call and transact options.
  3878  type AGSClaimSession struct {
  3879  	Contract     *AGSClaim         // Generic contract binding to set the session for
  3880  	CallOpts     bind.CallOpts     // Call options to use throughout this session
  3881  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  3882  }
  3883  
  3884  // AGSClaimCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  3885  // with pre-set call options.
  3886  type AGSClaimCallerSession struct {
  3887  	Contract *AGSClaimCaller // Generic contract caller binding to set the session for
  3888  	CallOpts bind.CallOpts   // Call options to use throughout this session
  3889  }
  3890  
  3891  // AGSClaimTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  3892  // with pre-set transact options.
  3893  type AGSClaimTransactorSession struct {
  3894  	Contract     *AGSClaimTransactor // Generic contract transactor binding to set the session for
  3895  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
  3896  }
  3897  
  3898  // AGSClaimRaw is an auto generated low-level Go binding around an Ethereum contract.
  3899  type AGSClaimRaw struct {
  3900  	Contract *AGSClaim // Generic contract binding to access the raw methods on
  3901  }
  3902  
  3903  // AGSClaimCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  3904  type AGSClaimCallerRaw struct {
  3905  	Contract *AGSClaimCaller // Generic read-only contract binding to access the raw methods on
  3906  }
  3907  
  3908  // AGSClaimTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  3909  type AGSClaimTransactorRaw struct {
  3910  	Contract *AGSClaimTransactor // Generic write-only contract binding to access the raw methods on
  3911  }
  3912  
  3913  // NewAGSClaim creates a new instance of AGSClaim, bound to a specific deployed contract.
  3914  func NewAGSClaim(address common.Address, backend bind.ContractBackend) (*AGSClaim, error) {
  3915  	contract, err := bindAGSClaim(address, backend, backend, backend)
  3916  	if err != nil {
  3917  		return nil, err
  3918  	}
  3919  	return &AGSClaim{AGSClaimCaller: AGSClaimCaller{contract: contract}, AGSClaimTransactor: AGSClaimTransactor{contract: contract}, AGSClaimFilterer: AGSClaimFilterer{contract: contract}}, nil
  3920  }
  3921  
  3922  // NewAGSClaimCaller creates a new read-only instance of AGSClaim, bound to a specific deployed contract.
  3923  func NewAGSClaimCaller(address common.Address, caller bind.ContractCaller) (*AGSClaimCaller, error) {
  3924  	contract, err := bindAGSClaim(address, caller, nil, nil)
  3925  	if err != nil {
  3926  		return nil, err
  3927  	}
  3928  	return &AGSClaimCaller{contract: contract}, nil
  3929  }
  3930  
  3931  // NewAGSClaimTransactor creates a new write-only instance of AGSClaim, bound to a specific deployed contract.
  3932  func NewAGSClaimTransactor(address common.Address, transactor bind.ContractTransactor) (*AGSClaimTransactor, error) {
  3933  	contract, err := bindAGSClaim(address, nil, transactor, nil)
  3934  	if err != nil {
  3935  		return nil, err
  3936  	}
  3937  	return &AGSClaimTransactor{contract: contract}, nil
  3938  }
  3939  
  3940  // NewAGSClaimFilterer creates a new log filterer instance of AGSClaim, bound to a specific deployed contract.
  3941  func NewAGSClaimFilterer(address common.Address, filterer bind.ContractFilterer) (*AGSClaimFilterer, error) {
  3942  	contract, err := bindAGSClaim(address, nil, nil, filterer)
  3943  	if err != nil {
  3944  		return nil, err
  3945  	}
  3946  	return &AGSClaimFilterer{contract: contract}, nil
  3947  }
  3948  
  3949  // bindAGSClaim binds a generic wrapper to an already deployed contract.
  3950  func bindAGSClaim(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  3951  	parsed, err := abi.JSON(strings.NewReader(AGSClaimABI))
  3952  	if err != nil {
  3953  		return nil, err
  3954  	}
  3955  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  3956  }
  3957  
  3958  // Call invokes the (constant) contract method with params as input values and
  3959  // sets the output to result. The result type might be a single field for simple
  3960  // returns, a slice of interfaces for anonymous returns and a struct for named
  3961  // returns.
  3962  func (_AGSClaim *AGSClaimRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  3963  	return _AGSClaim.Contract.AGSClaimCaller.contract.Call(opts, result, method, params...)
  3964  }
  3965  
  3966  // Transfer initiates a plain transaction to move funds to the contract, calling
  3967  // its default method if one is available.
  3968  func (_AGSClaim *AGSClaimRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  3969  	return _AGSClaim.Contract.AGSClaimTransactor.contract.Transfer(opts)
  3970  }
  3971  
  3972  // Transact invokes the (paid) contract method with params as input values.
  3973  func (_AGSClaim *AGSClaimRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  3974  	return _AGSClaim.Contract.AGSClaimTransactor.contract.Transact(opts, method, params...)
  3975  }
  3976  
  3977  // Call invokes the (constant) contract method with params as input values and
  3978  // sets the output to result. The result type might be a single field for simple
  3979  // returns, a slice of interfaces for anonymous returns and a struct for named
  3980  // returns.
  3981  func (_AGSClaim *AGSClaimCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  3982  	return _AGSClaim.Contract.contract.Call(opts, result, method, params...)
  3983  }
  3984  
  3985  // Transfer initiates a plain transaction to move funds to the contract, calling
  3986  // its default method if one is available.
  3987  func (_AGSClaim *AGSClaimTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  3988  	return _AGSClaim.Contract.contract.Transfer(opts)
  3989  }
  3990  
  3991  // Transact invokes the (paid) contract method with params as input values.
  3992  func (_AGSClaim *AGSClaimTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  3993  	return _AGSClaim.Contract.contract.Transact(opts, method, params...)
  3994  }
  3995  
  3996  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  3997  //
  3998  // Solidity: function ADKTokenAddress() view returns(address)
  3999  func (_AGSClaim *AGSClaimCaller) ADKTokenAddress(opts *bind.CallOpts) (common.Address, error) {
  4000  	var out []interface{}
  4001  	err := _AGSClaim.contract.Call(opts, &out, "ADKTokenAddress")
  4002  
  4003  	if err != nil {
  4004  		return *new(common.Address), err
  4005  	}
  4006  
  4007  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  4008  
  4009  	return out0, err
  4010  
  4011  }
  4012  
  4013  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  4014  //
  4015  // Solidity: function ADKTokenAddress() view returns(address)
  4016  func (_AGSClaim *AGSClaimSession) ADKTokenAddress() (common.Address, error) {
  4017  	return _AGSClaim.Contract.ADKTokenAddress(&_AGSClaim.CallOpts)
  4018  }
  4019  
  4020  // ADKTokenAddress is a free data retrieval call binding the contract method 0xa91fa7cb.
  4021  //
  4022  // Solidity: function ADKTokenAddress() view returns(address)
  4023  func (_AGSClaim *AGSClaimCallerSession) ADKTokenAddress() (common.Address, error) {
  4024  	return _AGSClaim.Contract.ADKTokenAddress(&_AGSClaim.CallOpts)
  4025  }
  4026  
  4027  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  4028  //
  4029  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  4030  func (_AGSClaim *AGSClaimCaller) ClientProofOfWorkRequirement(opts *bind.CallOpts) (*big.Int, error) {
  4031  	var out []interface{}
  4032  	err := _AGSClaim.contract.Call(opts, &out, "ClientProofOfWorkRequirement")
  4033  
  4034  	if err != nil {
  4035  		return *new(*big.Int), err
  4036  	}
  4037  
  4038  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4039  
  4040  	return out0, err
  4041  
  4042  }
  4043  
  4044  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  4045  //
  4046  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  4047  func (_AGSClaim *AGSClaimSession) ClientProofOfWorkRequirement() (*big.Int, error) {
  4048  	return _AGSClaim.Contract.ClientProofOfWorkRequirement(&_AGSClaim.CallOpts)
  4049  }
  4050  
  4051  // ClientProofOfWorkRequirement is a free data retrieval call binding the contract method 0x2076e796.
  4052  //
  4053  // Solidity: function ClientProofOfWorkRequirement() view returns(uint256)
  4054  func (_AGSClaim *AGSClaimCallerSession) ClientProofOfWorkRequirement() (*big.Int, error) {
  4055  	return _AGSClaim.Contract.ClientProofOfWorkRequirement(&_AGSClaim.CallOpts)
  4056  }
  4057  
  4058  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  4059  //
  4060  // Solidity: function CurlHashOP(string str) pure returns(string)
  4061  func (_AGSClaim *AGSClaimCaller) CurlHashOP(opts *bind.CallOpts, str string) (string, error) {
  4062  	var out []interface{}
  4063  	err := _AGSClaim.contract.Call(opts, &out, "CurlHashOP", str)
  4064  
  4065  	if err != nil {
  4066  		return *new(string), err
  4067  	}
  4068  
  4069  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4070  
  4071  	return out0, err
  4072  
  4073  }
  4074  
  4075  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  4076  //
  4077  // Solidity: function CurlHashOP(string str) pure returns(string)
  4078  func (_AGSClaim *AGSClaimSession) CurlHashOP(str string) (string, error) {
  4079  	return _AGSClaim.Contract.CurlHashOP(&_AGSClaim.CallOpts, str)
  4080  }
  4081  
  4082  // CurlHashOP is a free data retrieval call binding the contract method 0x016d1c68.
  4083  //
  4084  // Solidity: function CurlHashOP(string str) pure returns(string)
  4085  func (_AGSClaim *AGSClaimCallerSession) CurlHashOP(str string) (string, error) {
  4086  	return _AGSClaim.Contract.CurlHashOP(&_AGSClaim.CallOpts, str)
  4087  }
  4088  
  4089  // InitialAGSAmount is a free data retrieval call binding the contract method 0xf7509c52.
  4090  //
  4091  // Solidity: function InitialAGSAmount() view returns(uint256)
  4092  func (_AGSClaim *AGSClaimCaller) InitialAGSAmount(opts *bind.CallOpts) (*big.Int, error) {
  4093  	var out []interface{}
  4094  	err := _AGSClaim.contract.Call(opts, &out, "InitialAGSAmount")
  4095  
  4096  	if err != nil {
  4097  		return *new(*big.Int), err
  4098  	}
  4099  
  4100  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4101  
  4102  	return out0, err
  4103  
  4104  }
  4105  
  4106  // InitialAGSAmount is a free data retrieval call binding the contract method 0xf7509c52.
  4107  //
  4108  // Solidity: function InitialAGSAmount() view returns(uint256)
  4109  func (_AGSClaim *AGSClaimSession) InitialAGSAmount() (*big.Int, error) {
  4110  	return _AGSClaim.Contract.InitialAGSAmount(&_AGSClaim.CallOpts)
  4111  }
  4112  
  4113  // InitialAGSAmount is a free data retrieval call binding the contract method 0xf7509c52.
  4114  //
  4115  // Solidity: function InitialAGSAmount() view returns(uint256)
  4116  func (_AGSClaim *AGSClaimCallerSession) InitialAGSAmount() (*big.Int, error) {
  4117  	return _AGSClaim.Contract.InitialAGSAmount(&_AGSClaim.CallOpts)
  4118  }
  4119  
  4120  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  4121  //
  4122  // Solidity: function adkgo_genesis_address() view returns(address)
  4123  func (_AGSClaim *AGSClaimCaller) AdkgoGenesisAddress(opts *bind.CallOpts) (common.Address, error) {
  4124  	var out []interface{}
  4125  	err := _AGSClaim.contract.Call(opts, &out, "adkgo_genesis_address")
  4126  
  4127  	if err != nil {
  4128  		return *new(common.Address), err
  4129  	}
  4130  
  4131  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  4132  
  4133  	return out0, err
  4134  
  4135  }
  4136  
  4137  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  4138  //
  4139  // Solidity: function adkgo_genesis_address() view returns(address)
  4140  func (_AGSClaim *AGSClaimSession) AdkgoGenesisAddress() (common.Address, error) {
  4141  	return _AGSClaim.Contract.AdkgoGenesisAddress(&_AGSClaim.CallOpts)
  4142  }
  4143  
  4144  // AdkgoGenesisAddress is a free data retrieval call binding the contract method 0xc4c7e151.
  4145  //
  4146  // Solidity: function adkgo_genesis_address() view returns(address)
  4147  func (_AGSClaim *AGSClaimCallerSession) AdkgoGenesisAddress() (common.Address, error) {
  4148  	return _AGSClaim.Contract.AdkgoGenesisAddress(&_AGSClaim.CallOpts)
  4149  }
  4150  
  4151  // Claimable is a free data retrieval call binding the contract method 0x402914f5.
  4152  //
  4153  // Solidity: function claimable(address ) view returns(uint256)
  4154  func (_AGSClaim *AGSClaimCaller) Claimable(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
  4155  	var out []interface{}
  4156  	err := _AGSClaim.contract.Call(opts, &out, "claimable", arg0)
  4157  
  4158  	if err != nil {
  4159  		return *new(*big.Int), err
  4160  	}
  4161  
  4162  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4163  
  4164  	return out0, err
  4165  
  4166  }
  4167  
  4168  // Claimable is a free data retrieval call binding the contract method 0x402914f5.
  4169  //
  4170  // Solidity: function claimable(address ) view returns(uint256)
  4171  func (_AGSClaim *AGSClaimSession) Claimable(arg0 common.Address) (*big.Int, error) {
  4172  	return _AGSClaim.Contract.Claimable(&_AGSClaim.CallOpts, arg0)
  4173  }
  4174  
  4175  // Claimable is a free data retrieval call binding the contract method 0x402914f5.
  4176  //
  4177  // Solidity: function claimable(address ) view returns(uint256)
  4178  func (_AGSClaim *AGSClaimCallerSession) Claimable(arg0 common.Address) (*big.Int, error) {
  4179  	return _AGSClaim.Contract.Claimable(&_AGSClaim.CallOpts, arg0)
  4180  }
  4181  
  4182  // ClaimableAZ9 is a free data retrieval call binding the contract method 0xaf7f893b.
  4183  //
  4184  // Solidity: function claimableAZ9(string ) view returns(uint256)
  4185  func (_AGSClaim *AGSClaimCaller) ClaimableAZ9(opts *bind.CallOpts, arg0 string) (*big.Int, error) {
  4186  	var out []interface{}
  4187  	err := _AGSClaim.contract.Call(opts, &out, "claimableAZ9", arg0)
  4188  
  4189  	if err != nil {
  4190  		return *new(*big.Int), err
  4191  	}
  4192  
  4193  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4194  
  4195  	return out0, err
  4196  
  4197  }
  4198  
  4199  // ClaimableAZ9 is a free data retrieval call binding the contract method 0xaf7f893b.
  4200  //
  4201  // Solidity: function claimableAZ9(string ) view returns(uint256)
  4202  func (_AGSClaim *AGSClaimSession) ClaimableAZ9(arg0 string) (*big.Int, error) {
  4203  	return _AGSClaim.Contract.ClaimableAZ9(&_AGSClaim.CallOpts, arg0)
  4204  }
  4205  
  4206  // ClaimableAZ9 is a free data retrieval call binding the contract method 0xaf7f893b.
  4207  //
  4208  // Solidity: function claimableAZ9(string ) view returns(uint256)
  4209  func (_AGSClaim *AGSClaimCallerSession) ClaimableAZ9(arg0 string) (*big.Int, error) {
  4210  	return _AGSClaim.Contract.ClaimableAZ9(&_AGSClaim.CallOpts, arg0)
  4211  }
  4212  
  4213  // GetAGSBalance is a free data retrieval call binding the contract method 0x03f390c1.
  4214  //
  4215  // Solidity: function getAGSBalance() view returns(uint256)
  4216  func (_AGSClaim *AGSClaimCaller) GetAGSBalance(opts *bind.CallOpts) (*big.Int, error) {
  4217  	var out []interface{}
  4218  	err := _AGSClaim.contract.Call(opts, &out, "getAGSBalance")
  4219  
  4220  	if err != nil {
  4221  		return *new(*big.Int), err
  4222  	}
  4223  
  4224  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4225  
  4226  	return out0, err
  4227  
  4228  }
  4229  
  4230  // GetAGSBalance is a free data retrieval call binding the contract method 0x03f390c1.
  4231  //
  4232  // Solidity: function getAGSBalance() view returns(uint256)
  4233  func (_AGSClaim *AGSClaimSession) GetAGSBalance() (*big.Int, error) {
  4234  	return _AGSClaim.Contract.GetAGSBalance(&_AGSClaim.CallOpts)
  4235  }
  4236  
  4237  // GetAGSBalance is a free data retrieval call binding the contract method 0x03f390c1.
  4238  //
  4239  // Solidity: function getAGSBalance() view returns(uint256)
  4240  func (_AGSClaim *AGSClaimCallerSession) GetAGSBalance() (*big.Int, error) {
  4241  	return _AGSClaim.Contract.GetAGSBalance(&_AGSClaim.CallOpts)
  4242  }
  4243  
  4244  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  4245  //
  4246  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  4247  func (_AGSClaim *AGSClaimTransactor) ADMSetGenesisAddress(opts *bind.TransactOpts, _genesisAddress common.Address) (*types.Transaction, error) {
  4248  	return _AGSClaim.contract.Transact(opts, "ADM_SetGenesisAddress", _genesisAddress)
  4249  }
  4250  
  4251  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  4252  //
  4253  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  4254  func (_AGSClaim *AGSClaimSession) ADMSetGenesisAddress(_genesisAddress common.Address) (*types.Transaction, error) {
  4255  	return _AGSClaim.Contract.ADMSetGenesisAddress(&_AGSClaim.TransactOpts, _genesisAddress)
  4256  }
  4257  
  4258  // ADMSetGenesisAddress is a paid mutator transaction binding the contract method 0xd48a1ce5.
  4259  //
  4260  // Solidity: function ADM_SetGenesisAddress(address _genesisAddress) returns()
  4261  func (_AGSClaim *AGSClaimTransactorSession) ADMSetGenesisAddress(_genesisAddress common.Address) (*types.Transaction, error) {
  4262  	return _AGSClaim.Contract.ADMSetGenesisAddress(&_AGSClaim.TransactOpts, _genesisAddress)
  4263  }
  4264  
  4265  // ADMSetClaimableAmount is a paid mutator transaction binding the contract method 0xf5702e4e.
  4266  //
  4267  // Solidity: function ADM_setClaimableAmount(string _AZ9addr, uint256 _claimableAmount) returns()
  4268  func (_AGSClaim *AGSClaimTransactor) ADMSetClaimableAmount(opts *bind.TransactOpts, _AZ9addr string, _claimableAmount *big.Int) (*types.Transaction, error) {
  4269  	return _AGSClaim.contract.Transact(opts, "ADM_setClaimableAmount", _AZ9addr, _claimableAmount)
  4270  }
  4271  
  4272  // ADMSetClaimableAmount is a paid mutator transaction binding the contract method 0xf5702e4e.
  4273  //
  4274  // Solidity: function ADM_setClaimableAmount(string _AZ9addr, uint256 _claimableAmount) returns()
  4275  func (_AGSClaim *AGSClaimSession) ADMSetClaimableAmount(_AZ9addr string, _claimableAmount *big.Int) (*types.Transaction, error) {
  4276  	return _AGSClaim.Contract.ADMSetClaimableAmount(&_AGSClaim.TransactOpts, _AZ9addr, _claimableAmount)
  4277  }
  4278  
  4279  // ADMSetClaimableAmount is a paid mutator transaction binding the contract method 0xf5702e4e.
  4280  //
  4281  // Solidity: function ADM_setClaimableAmount(string _AZ9addr, uint256 _claimableAmount) returns()
  4282  func (_AGSClaim *AGSClaimTransactorSession) ADMSetClaimableAmount(_AZ9addr string, _claimableAmount *big.Int) (*types.Transaction, error) {
  4283  	return _AGSClaim.Contract.ADMSetClaimableAmount(&_AGSClaim.TransactOpts, _AZ9addr, _claimableAmount)
  4284  }
  4285  
  4286  // ADMSetClaimableAmountBulk is a paid mutator transaction binding the contract method 0xf1e13cfe.
  4287  //
  4288  // Solidity: function ADM_setClaimableAmountBulk(string _addresses, uint256 _value1, uint256 _value2, uint256 _value3, uint256 _value4, uint256 _value5, uint256 _value6, uint256 _value7, uint256 _value8, uint256 _value9, uint256 _value10) returns()
  4289  func (_AGSClaim *AGSClaimTransactor) ADMSetClaimableAmountBulk(opts *bind.TransactOpts, _addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  4290  	return _AGSClaim.contract.Transact(opts, "ADM_setClaimableAmountBulk", _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  4291  }
  4292  
  4293  // ADMSetClaimableAmountBulk is a paid mutator transaction binding the contract method 0xf1e13cfe.
  4294  //
  4295  // Solidity: function ADM_setClaimableAmountBulk(string _addresses, uint256 _value1, uint256 _value2, uint256 _value3, uint256 _value4, uint256 _value5, uint256 _value6, uint256 _value7, uint256 _value8, uint256 _value9, uint256 _value10) returns()
  4296  func (_AGSClaim *AGSClaimSession) ADMSetClaimableAmountBulk(_addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  4297  	return _AGSClaim.Contract.ADMSetClaimableAmountBulk(&_AGSClaim.TransactOpts, _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  4298  }
  4299  
  4300  // ADMSetClaimableAmountBulk is a paid mutator transaction binding the contract method 0xf1e13cfe.
  4301  //
  4302  // Solidity: function ADM_setClaimableAmountBulk(string _addresses, uint256 _value1, uint256 _value2, uint256 _value3, uint256 _value4, uint256 _value5, uint256 _value6, uint256 _value7, uint256 _value8, uint256 _value9, uint256 _value10) returns()
  4303  func (_AGSClaim *AGSClaimTransactorSession) ADMSetClaimableAmountBulk(_addresses string, _value1 *big.Int, _value2 *big.Int, _value3 *big.Int, _value4 *big.Int, _value5 *big.Int, _value6 *big.Int, _value7 *big.Int, _value8 *big.Int, _value9 *big.Int, _value10 *big.Int) (*types.Transaction, error) {
  4304  	return _AGSClaim.Contract.ADMSetClaimableAmountBulk(&_AGSClaim.TransactOpts, _addresses, _value1, _value2, _value3, _value4, _value5, _value6, _value7, _value8, _value9, _value10)
  4305  }
  4306  
  4307  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  4308  //
  4309  // Solidity: function PostTransactions(string transactiondata) returns(string)
  4310  func (_AGSClaim *AGSClaimTransactor) PostTransactions(opts *bind.TransactOpts, transactiondata string) (*types.Transaction, error) {
  4311  	return _AGSClaim.contract.Transact(opts, "PostTransactions", transactiondata)
  4312  }
  4313  
  4314  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  4315  //
  4316  // Solidity: function PostTransactions(string transactiondata) returns(string)
  4317  func (_AGSClaim *AGSClaimSession) PostTransactions(transactiondata string) (*types.Transaction, error) {
  4318  	return _AGSClaim.Contract.PostTransactions(&_AGSClaim.TransactOpts, transactiondata)
  4319  }
  4320  
  4321  // PostTransactions is a paid mutator transaction binding the contract method 0x7fa5e242.
  4322  //
  4323  // Solidity: function PostTransactions(string transactiondata) returns(string)
  4324  func (_AGSClaim *AGSClaimTransactorSession) PostTransactions(transactiondata string) (*types.Transaction, error) {
  4325  	return _AGSClaim.Contract.PostTransactions(&_AGSClaim.TransactOpts, transactiondata)
  4326  }
  4327  
  4328  // RecoverAGS is a paid mutator transaction binding the contract method 0xa9c02d49.
  4329  //
  4330  // Solidity: function recoverAGS(uint256 _bal) returns()
  4331  func (_AGSClaim *AGSClaimTransactor) RecoverAGS(opts *bind.TransactOpts, _bal *big.Int) (*types.Transaction, error) {
  4332  	return _AGSClaim.contract.Transact(opts, "recoverAGS", _bal)
  4333  }
  4334  
  4335  // RecoverAGS is a paid mutator transaction binding the contract method 0xa9c02d49.
  4336  //
  4337  // Solidity: function recoverAGS(uint256 _bal) returns()
  4338  func (_AGSClaim *AGSClaimSession) RecoverAGS(_bal *big.Int) (*types.Transaction, error) {
  4339  	return _AGSClaim.Contract.RecoverAGS(&_AGSClaim.TransactOpts, _bal)
  4340  }
  4341  
  4342  // RecoverAGS is a paid mutator transaction binding the contract method 0xa9c02d49.
  4343  //
  4344  // Solidity: function recoverAGS(uint256 _bal) returns()
  4345  func (_AGSClaim *AGSClaimTransactorSession) RecoverAGS(_bal *big.Int) (*types.Transaction, error) {
  4346  	return _AGSClaim.Contract.RecoverAGS(&_AGSClaim.TransactOpts, _bal)
  4347  }
  4348  
  4349  // Fallback is a paid mutator transaction binding the contract fallback function.
  4350  //
  4351  // Solidity: fallback() payable returns()
  4352  func (_AGSClaim *AGSClaimTransactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error) {
  4353  	return _AGSClaim.contract.RawTransact(opts, calldata)
  4354  }
  4355  
  4356  // Fallback is a paid mutator transaction binding the contract fallback function.
  4357  //
  4358  // Solidity: fallback() payable returns()
  4359  func (_AGSClaim *AGSClaimSession) Fallback(calldata []byte) (*types.Transaction, error) {
  4360  	return _AGSClaim.Contract.Fallback(&_AGSClaim.TransactOpts, calldata)
  4361  }
  4362  
  4363  // Fallback is a paid mutator transaction binding the contract fallback function.
  4364  //
  4365  // Solidity: fallback() payable returns()
  4366  func (_AGSClaim *AGSClaimTransactorSession) Fallback(calldata []byte) (*types.Transaction, error) {
  4367  	return _AGSClaim.Contract.Fallback(&_AGSClaim.TransactOpts, calldata)
  4368  }
  4369  
  4370  // AGSClaimEventClaimedIterator is returned from FilterEventClaimed and is used to iterate over the raw logs and unpacked data for EventClaimed events raised by the AGSClaim contract.
  4371  type AGSClaimEventClaimedIterator struct {
  4372  	Event *AGSClaimEventClaimed // Event containing the contract specifics and raw log
  4373  
  4374  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4375  	event    string              // Event name to use for unpacking event data
  4376  
  4377  	logs chan types.Log        // Log channel receiving the found contract events
  4378  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  4379  	done bool                  // Whether the subscription completed delivering logs
  4380  	fail error                 // Occurred error to stop iteration
  4381  }
  4382  
  4383  // Next advances the iterator to the subsequent event, returning whether there
  4384  // are any more events found. In case of a retrieval or parsing error, false is
  4385  // returned and Error() can be queried for the exact failure.
  4386  func (it *AGSClaimEventClaimedIterator) Next() bool {
  4387  	// If the iterator failed, stop iterating
  4388  	if it.fail != nil {
  4389  		return false
  4390  	}
  4391  	// If the iterator completed, deliver directly whatever's available
  4392  	if it.done {
  4393  		select {
  4394  		case log := <-it.logs:
  4395  			it.Event = new(AGSClaimEventClaimed)
  4396  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4397  				it.fail = err
  4398  				return false
  4399  			}
  4400  			it.Event.Raw = log
  4401  			return true
  4402  
  4403  		default:
  4404  			return false
  4405  		}
  4406  	}
  4407  	// Iterator still in progress, wait for either a data or an error event
  4408  	select {
  4409  	case log := <-it.logs:
  4410  		it.Event = new(AGSClaimEventClaimed)
  4411  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4412  			it.fail = err
  4413  			return false
  4414  		}
  4415  		it.Event.Raw = log
  4416  		return true
  4417  
  4418  	case err := <-it.sub.Err():
  4419  		it.done = true
  4420  		it.fail = err
  4421  		return it.Next()
  4422  	}
  4423  }
  4424  
  4425  // Error returns any retrieval or parsing error occurred during filtering.
  4426  func (it *AGSClaimEventClaimedIterator) Error() error {
  4427  	return it.fail
  4428  }
  4429  
  4430  // Close terminates the iteration process, releasing any pending underlying
  4431  // resources.
  4432  func (it *AGSClaimEventClaimedIterator) Close() error {
  4433  	it.sub.Unsubscribe()
  4434  	return nil
  4435  }
  4436  
  4437  // AGSClaimEventClaimed represents a EventClaimed event raised by the AGSClaim contract.
  4438  type AGSClaimEventClaimed struct {
  4439  	Addr          common.Address
  4440  	To            common.Address
  4441  	ClaimedAmount *big.Int
  4442  	Raw           types.Log // Blockchain specific contextual infos
  4443  }
  4444  
  4445  // FilterEventClaimed is a free log retrieval operation binding the contract event 0x02d9abd938722d4f865e2c1c5fff05ec645e6bcba75a96962997202a849a6bd4.
  4446  //
  4447  // Solidity: event EventClaimed(address indexed addr, address _to, uint256 claimedAmount)
  4448  func (_AGSClaim *AGSClaimFilterer) FilterEventClaimed(opts *bind.FilterOpts, addr []common.Address) (*AGSClaimEventClaimedIterator, error) {
  4449  
  4450  	var addrRule []interface{}
  4451  	for _, addrItem := range addr {
  4452  		addrRule = append(addrRule, addrItem)
  4453  	}
  4454  
  4455  	logs, sub, err := _AGSClaim.contract.FilterLogs(opts, "EventClaimed", addrRule)
  4456  	if err != nil {
  4457  		return nil, err
  4458  	}
  4459  	return &AGSClaimEventClaimedIterator{contract: _AGSClaim.contract, event: "EventClaimed", logs: logs, sub: sub}, nil
  4460  }
  4461  
  4462  // WatchEventClaimed is a free log subscription operation binding the contract event 0x02d9abd938722d4f865e2c1c5fff05ec645e6bcba75a96962997202a849a6bd4.
  4463  //
  4464  // Solidity: event EventClaimed(address indexed addr, address _to, uint256 claimedAmount)
  4465  func (_AGSClaim *AGSClaimFilterer) WatchEventClaimed(opts *bind.WatchOpts, sink chan<- *AGSClaimEventClaimed, addr []common.Address) (event.Subscription, error) {
  4466  
  4467  	var addrRule []interface{}
  4468  	for _, addrItem := range addr {
  4469  		addrRule = append(addrRule, addrItem)
  4470  	}
  4471  
  4472  	logs, sub, err := _AGSClaim.contract.WatchLogs(opts, "EventClaimed", addrRule)
  4473  	if err != nil {
  4474  		return nil, err
  4475  	}
  4476  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4477  		defer sub.Unsubscribe()
  4478  		for {
  4479  			select {
  4480  			case log := <-logs:
  4481  				// New log arrived, parse the event and forward to the user
  4482  				event := new(AGSClaimEventClaimed)
  4483  				if err := _AGSClaim.contract.UnpackLog(event, "EventClaimed", log); err != nil {
  4484  					return err
  4485  				}
  4486  				event.Raw = log
  4487  
  4488  				select {
  4489  				case sink <- event:
  4490  				case err := <-sub.Err():
  4491  					return err
  4492  				case <-quit:
  4493  					return nil
  4494  				}
  4495  			case err := <-sub.Err():
  4496  				return err
  4497  			case <-quit:
  4498  				return nil
  4499  			}
  4500  		}
  4501  	}), nil
  4502  }
  4503  
  4504  // ParseEventClaimed is a log parse operation binding the contract event 0x02d9abd938722d4f865e2c1c5fff05ec645e6bcba75a96962997202a849a6bd4.
  4505  //
  4506  // Solidity: event EventClaimed(address indexed addr, address _to, uint256 claimedAmount)
  4507  func (_AGSClaim *AGSClaimFilterer) ParseEventClaimed(log types.Log) (*AGSClaimEventClaimed, error) {
  4508  	event := new(AGSClaimEventClaimed)
  4509  	if err := _AGSClaim.contract.UnpackLog(event, "EventClaimed", log); err != nil {
  4510  		return nil, err
  4511  	}
  4512  	event.Raw = log
  4513  	return event, nil
  4514  }
  4515  
  4516  // AGSClaimEventClaimedAZ9Iterator is returned from FilterEventClaimedAZ9 and is used to iterate over the raw logs and unpacked data for EventClaimedAZ9 events raised by the AGSClaim contract.
  4517  type AGSClaimEventClaimedAZ9Iterator struct {
  4518  	Event *AGSClaimEventClaimedAZ9 // Event containing the contract specifics and raw log
  4519  
  4520  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4521  	event    string              // Event name to use for unpacking event data
  4522  
  4523  	logs chan types.Log        // Log channel receiving the found contract events
  4524  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  4525  	done bool                  // Whether the subscription completed delivering logs
  4526  	fail error                 // Occurred error to stop iteration
  4527  }
  4528  
  4529  // Next advances the iterator to the subsequent event, returning whether there
  4530  // are any more events found. In case of a retrieval or parsing error, false is
  4531  // returned and Error() can be queried for the exact failure.
  4532  func (it *AGSClaimEventClaimedAZ9Iterator) Next() bool {
  4533  	// If the iterator failed, stop iterating
  4534  	if it.fail != nil {
  4535  		return false
  4536  	}
  4537  	// If the iterator completed, deliver directly whatever's available
  4538  	if it.done {
  4539  		select {
  4540  		case log := <-it.logs:
  4541  			it.Event = new(AGSClaimEventClaimedAZ9)
  4542  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4543  				it.fail = err
  4544  				return false
  4545  			}
  4546  			it.Event.Raw = log
  4547  			return true
  4548  
  4549  		default:
  4550  			return false
  4551  		}
  4552  	}
  4553  	// Iterator still in progress, wait for either a data or an error event
  4554  	select {
  4555  	case log := <-it.logs:
  4556  		it.Event = new(AGSClaimEventClaimedAZ9)
  4557  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4558  			it.fail = err
  4559  			return false
  4560  		}
  4561  		it.Event.Raw = log
  4562  		return true
  4563  
  4564  	case err := <-it.sub.Err():
  4565  		it.done = true
  4566  		it.fail = err
  4567  		return it.Next()
  4568  	}
  4569  }
  4570  
  4571  // Error returns any retrieval or parsing error occurred during filtering.
  4572  func (it *AGSClaimEventClaimedAZ9Iterator) Error() error {
  4573  	return it.fail
  4574  }
  4575  
  4576  // Close terminates the iteration process, releasing any pending underlying
  4577  // resources.
  4578  func (it *AGSClaimEventClaimedAZ9Iterator) Close() error {
  4579  	it.sub.Unsubscribe()
  4580  	return nil
  4581  }
  4582  
  4583  // AGSClaimEventClaimedAZ9 represents a EventClaimedAZ9 event raised by the AGSClaim contract.
  4584  type AGSClaimEventClaimedAZ9 struct {
  4585  	AddrAZ9       common.Hash
  4586  	To            common.Address
  4587  	ClaimedAmount *big.Int
  4588  	Raw           types.Log // Blockchain specific contextual infos
  4589  }
  4590  
  4591  // FilterEventClaimedAZ9 is a free log retrieval operation binding the contract event 0x18abcea8c2c342fa3e8280c1656dec133251e3559c581f356b2b12b30bed722d.
  4592  //
  4593  // Solidity: event EventClaimedAZ9(string indexed addrAZ9, address _to, uint256 claimedAmount)
  4594  func (_AGSClaim *AGSClaimFilterer) FilterEventClaimedAZ9(opts *bind.FilterOpts, addrAZ9 []string) (*AGSClaimEventClaimedAZ9Iterator, error) {
  4595  
  4596  	var addrAZ9Rule []interface{}
  4597  	for _, addrAZ9Item := range addrAZ9 {
  4598  		addrAZ9Rule = append(addrAZ9Rule, addrAZ9Item)
  4599  	}
  4600  
  4601  	logs, sub, err := _AGSClaim.contract.FilterLogs(opts, "EventClaimedAZ9", addrAZ9Rule)
  4602  	if err != nil {
  4603  		return nil, err
  4604  	}
  4605  	return &AGSClaimEventClaimedAZ9Iterator{contract: _AGSClaim.contract, event: "EventClaimedAZ9", logs: logs, sub: sub}, nil
  4606  }
  4607  
  4608  // WatchEventClaimedAZ9 is a free log subscription operation binding the contract event 0x18abcea8c2c342fa3e8280c1656dec133251e3559c581f356b2b12b30bed722d.
  4609  //
  4610  // Solidity: event EventClaimedAZ9(string indexed addrAZ9, address _to, uint256 claimedAmount)
  4611  func (_AGSClaim *AGSClaimFilterer) WatchEventClaimedAZ9(opts *bind.WatchOpts, sink chan<- *AGSClaimEventClaimedAZ9, addrAZ9 []string) (event.Subscription, error) {
  4612  
  4613  	var addrAZ9Rule []interface{}
  4614  	for _, addrAZ9Item := range addrAZ9 {
  4615  		addrAZ9Rule = append(addrAZ9Rule, addrAZ9Item)
  4616  	}
  4617  
  4618  	logs, sub, err := _AGSClaim.contract.WatchLogs(opts, "EventClaimedAZ9", addrAZ9Rule)
  4619  	if err != nil {
  4620  		return nil, err
  4621  	}
  4622  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4623  		defer sub.Unsubscribe()
  4624  		for {
  4625  			select {
  4626  			case log := <-logs:
  4627  				// New log arrived, parse the event and forward to the user
  4628  				event := new(AGSClaimEventClaimedAZ9)
  4629  				if err := _AGSClaim.contract.UnpackLog(event, "EventClaimedAZ9", log); err != nil {
  4630  					return err
  4631  				}
  4632  				event.Raw = log
  4633  
  4634  				select {
  4635  				case sink <- event:
  4636  				case err := <-sub.Err():
  4637  					return err
  4638  				case <-quit:
  4639  					return nil
  4640  				}
  4641  			case err := <-sub.Err():
  4642  				return err
  4643  			case <-quit:
  4644  				return nil
  4645  			}
  4646  		}
  4647  	}), nil
  4648  }
  4649  
  4650  // ParseEventClaimedAZ9 is a log parse operation binding the contract event 0x18abcea8c2c342fa3e8280c1656dec133251e3559c581f356b2b12b30bed722d.
  4651  //
  4652  // Solidity: event EventClaimedAZ9(string indexed addrAZ9, address _to, uint256 claimedAmount)
  4653  func (_AGSClaim *AGSClaimFilterer) ParseEventClaimedAZ9(log types.Log) (*AGSClaimEventClaimedAZ9, error) {
  4654  	event := new(AGSClaimEventClaimedAZ9)
  4655  	if err := _AGSClaim.contract.UnpackLog(event, "EventClaimedAZ9", log); err != nil {
  4656  		return nil, err
  4657  	}
  4658  	event.Raw = log
  4659  	return event, nil
  4660  }