contract

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ContractABI = ContractMetaData.ABI

ContractABI is the input ABI used to generate the binding from. Deprecated: Use ContractMetaData.ABI instead.

View Source
var ContractBin = ContractMetaData.Bin

ContractBin is the compiled bytecode used for deploying new contracts. Deprecated: Use ContractMetaData.Bin instead.

View Source
var ContractMetaData = &bind.MetaData{
	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"}],\"name\":\"PostPublished\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getAllPosts\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllUsers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getPostByID\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getPostByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getPostsPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUsersPost\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getUsersPostPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"tags\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"media_urls\",\"type\":\"string[]\"}],\"internalType\":\"structPostStorage.Post[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_content\",\"type\":\"string\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"_category\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"_tags\",\"type\":\"string[]\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"_media_names\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"_media_urls\",\"type\":\"string[]\"}],\"name\":\"post\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"postCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userPosts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"enumPostStorage.Category\",\"name\":\"category\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"users\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
	Bin: "0x608060405234801561001057600080fd5b50614326806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80634b9ce4a5116100715780634b9ce4a51461017a5780635645c1e7146101965780637c7bf4df146101c65780638064d149146101f6578063e2842d791461022b578063fd78a37514610249576100a9565b806309b3d75e146100ae57806330561100146100cc578063365b98b2146100ea5780633aa5cc941461011a5780633e92733e1461014a575b600080fd5b6100b6610279565b6040516100c39190613d7c565b60405180910390f35b6100d461027f565b6040516100e19190613cb8565b60405180910390f35b61010460048036038101906100ff9190613665565b610a56565b6040516101119190613c7b565b60405180910390f35b610134600480360381019061012f919061349b565b610a95565b6040516101419190613cb8565b60405180910390f35b610164600480360381019061015f919061368e565b610fd3565b6040516101719190613cb8565b60405180910390f35b610194600480360381019061018f919061354f565b611866565b005b6101b060048036038101906101ab9190613665565b611d6f565b6040516101bd9190613d5a565b60405180910390f35b6101e060048036038101906101db91906134c4565b612297565b6040516101ed9190613d5a565b60405180910390f35b610210600480360381019061020b91906134c4565b61285a565b60405161022296959493929190613d97565b60405180910390f35b6102336129f0565b6040516102409190613c96565b60405180910390f35b610263600480360381019061025e9190613500565b612a7e565b6040516102709190613cb8565b60405180910390f35b60035481565b60606000805b60028054905081101561035857600080600283815481106102cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050826103439190613fcf565b9150808061035090614188565b915050610285565b5060008167ffffffffffffffff81111561039b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156103d457816020015b6103c161316c565b8152602001906001900390816103b95790505b5090506000805b600280549050811015610a4c57600080600060028481548110610427577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561097f578382906000526020600020906009020160405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461054090614156565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90614156565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b505050505081526020016003820180546105d290614156565b80601f01602080910402602001604051908101604052809291908181526020018280546105fe90614156565b801561064b5780601f106106205761010080835404028352916020019161064b565b820191906000526020600020905b81548152906001019060200180831161062e57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101561072557838290600052602060002001805461069890614156565b80601f01602080910402602001604051908101604052809291908181526020018280546106c490614156565b80156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b505050505081526020019060010190610679565b505050508152602001600582015481526020016006820160009054906101000a900460ff166002811115610782577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028111156107ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b8282101561088f57838290600052602060002001805461080290614156565b80601f016020809104026020016040519081016040528092919081815260200182805461082e90614156565b801561087b5780601f106108505761010080835404028352916020019161087b565b820191906000526020600020905b81548152906001019060200180831161085e57829003601f168201915b5050505050815260200190600101906107e3565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b828210156109685783829060005260206000200180546108db90614156565b80601f016020809104026020016040519081016040528092919081815260200182805461090790614156565b80156109545780601f1061092957610100808354040283529160200191610954565b820191906000526020600020905b81548152906001019060200180831161093757829003601f168201915b5050505050815260200190600101906108bc565b5050505081525050815260200190600101906104ac565b50505050905060005b8151811015610a37578181815181106109ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151858581518110610a0b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052508380610a2190614188565b9450508080610a2f90614188565b915050610988565b50508080610a4490614188565b9150506103db565b5081935050505090565b60028181548110610a6657600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015610fc8578382906000526020600020906009020160405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054610b8990614156565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb590614156565b8015610c025780601f10610bd757610100808354040283529160200191610c02565b820191906000526020600020905b815481529060010190602001808311610be557829003601f168201915b50505050508152602001600382018054610c1b90614156565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4790614156565b8015610c945780601f10610c6957610100808354040283529160200191610c94565b820191906000526020600020905b815481529060010190602001808311610c7757829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610d6e578382906000526020600020018054610ce190614156565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0d90614156565b8015610d5a5780601f10610d2f57610100808354040283529160200191610d5a565b820191906000526020600020905b815481529060010190602001808311610d3d57829003601f168201915b505050505081526020019060010190610cc2565b505050508152602001600582015481526020016006820160009054906101000a900460ff166002811115610dcb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b82821015610ed8578382906000526020600020018054610e4b90614156565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7790614156565b8015610ec45780601f10610e9957610100808354040283529160200191610ec4565b820191906000526020600020905b815481529060010190602001808311610ea757829003601f168201915b505050505081526020019060010190610e2c565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b82821015610fb1578382906000526020600020018054610f2490614156565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5090614156565b8015610f9d5780601f10610f7257610100808354040283529160200191610f9d565b820191906000526020600020905b815481529060010190602001808311610f8057829003601f168201915b505050505081526020019060010190610f05565b505050508152505081526020019060010190610af5565b505050509050919050565b60606000805b6002805490508110156110ac5760008060028381548110611023577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050826110979190613fcf565b915080806110a490614188565b915050610fd9565b508083856110ba9190614025565b106110fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f190613d3a565b60405180910390fd5b600083856111089190614025565b905060008285836111199190613fcf565b1161112f57848261112a9190613fcf565b611131565b825b905060008282611141919061407f565b67ffffffffffffffff811115611180577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156111b957816020015b6111a661316c565b81526020019060019003908161119e5790505b50905060008060005b6002805490508110156118565760008060006002848154811061120e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015611766578382906000526020600020906009020160405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461132790614156565b80601f016020809104026020016040519081016040528092919081815260200182805461135390614156565b80156113a05780601f10611375576101008083540402835291602001916113a0565b820191906000526020600020905b81548152906001019060200180831161138357829003601f168201915b505050505081526020016003820180546113b990614156565b80601f01602080910402602001604051908101604052809291908181526020018280546113e590614156565b80156114325780601f1061140757610100808354040283529160200191611432565b820191906000526020600020905b81548152906001019060200180831161141557829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101561150c57838290600052602060002001805461147f90614156565b80601f01602080910402602001604051908101604052809291908181526020018280546114ab90614156565b80156114f85780601f106114cd576101008083540402835291602001916114f8565b820191906000526020600020905b8154815290600101906020018083116114db57829003601f168201915b505050505081526020019060010190611460565b505050508152602001600582015481526020016006820160009054906101000a900460ff166002811115611569577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028111156115a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b828210156116765783829060005260206000200180546115e990614156565b80601f016020809104026020016040519081016040528092919081815260200182805461161590614156565b80156116625780601f1061163757610100808354040283529160200191611662565b820191906000526020600020905b81548152906001019060200180831161164557829003601f168201915b5050505050815260200190600101906115ca565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b8282101561174f5783829060005260206000200180546116c290614156565b80601f01602080910402602001604051908101604052809291908181526020018280546116ee90614156565b801561173b5780601f106117105761010080835404028352916020019161173b565b820191906000526020600020905b81548152906001019060200180831161171e57829003601f168201915b5050505050815260200190600101906116a3565b505050508152505081526020019060010190611293565b50505050905060005b81518110156118415787841015801561178757508684105b15611820578181815181106117c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151868681518110611806577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250848061181c90614188565b9550505b838061182b90614188565b945050808061183990614188565b91505061176f565b5050808061184e90614188565b9150506111c2565b5082965050505050505092915050565b80518251146118aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a190613cda565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501415611958576002839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6003600081548092919061196b90614188565b91905055506000600354905060006040518061012001604052808381526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020018981526020018781526020014281526020018860028111156119f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018581526020018481525090506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002090600902016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019080519060200190611ade929190613206565b506060820151816003019080519060200190611afb929190613206565b506080820151816004019080519060200190611b1892919061328c565b5060a0820151816005015560c08201518160060160006101000a81548160ff02191690836002811115611b74577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060e0820151816007019080519060200190611b9592919061328c565b50610100820151816008019080519060200190611bb392919061328c565b50505080600160008481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019080519060200190611c37929190613206565b506060820151816003019080519060200190611c54929190613206565b506080820151816004019080519060200190611c7192919061328c565b5060a0820151816005015560c08201518160060160006101000a81548160ff02191690836002811115611ccd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060e0820151816007019080519060200190611cee92919061328c565b50610100820151816008019080519060200190611d0c92919061328c565b509050508473ffffffffffffffffffffffffffffffffffffffff167f87b51da9bcc29a9d1a8655f5b4551037df9275c98217a4fba832a0b9e3c07e6d838b898b604051611d5c9493929190613e06565b60405180910390a2505050505050505050565b611d7761316c565b600060016000848152602001908152602001600020600001541415611dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc890613cfa565b60405180910390fd5b6001600083815260200190815260200160002060405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054611e6090614156565b80601f0160208091040260200160405190810160405280929190818152602001828054611e8c90614156565b8015611ed95780601f10611eae57610100808354040283529160200191611ed9565b820191906000526020600020905b815481529060010190602001808311611ebc57829003601f168201915b50505050508152602001600382018054611ef290614156565b80601f0160208091040260200160405190810160405280929190818152602001828054611f1e90614156565b8015611f6b5780601f10611f4057610100808354040283529160200191611f6b565b820191906000526020600020905b815481529060010190602001808311611f4e57829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015612045578382906000526020600020018054611fb890614156565b80601f0160208091040260200160405190810160405280929190818152602001828054611fe490614156565b80156120315780601f1061200657610100808354040283529160200191612031565b820191906000526020600020905b81548152906001019060200180831161201457829003601f168201915b505050505081526020019060010190611f99565b505050508152602001600582015481526020016006820160009054906101000a900460ff1660028111156120a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028111156120da577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b828210156121af57838290600052602060002001805461212290614156565b80601f016020809104026020016040519081016040528092919081815260200182805461214e90614156565b801561219b5780601f106121705761010080835404028352916020019161219b565b820191906000526020600020905b81548152906001019060200180831161217e57829003601f168201915b505050505081526020019060010190612103565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b828210156122885783829060005260206000200180546121fb90614156565b80601f016020809104026020016040519081016040528092919081815260200182805461222790614156565b80156122745780601f1061224957610100808354040283529160200191612274565b820191906000526020600020905b81548152906001019060200180831161225757829003601f168201915b5050505050815260200190600101906121dc565b50505050815250509050919050565b61229f61316c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508210612322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231990613d1a565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612398577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461242290614156565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614156565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016003820180546124b490614156565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614156565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101561260757838290600052602060002001805461257a90614156565b80601f01602080910402602001604051908101604052809291908181526020018280546125a690614156565b80156125f35780601f106125c8576101008083540402835291602001916125f3565b820191906000526020600020905b8154815290600101906020018083116125d657829003601f168201915b50505050508152602001906001019061255b565b505050508152602001600582015481526020016006820160009054906101000a900460ff166002811115612664577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281111561269c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b828210156127715783829060005260206000200180546126e490614156565b80601f016020809104026020016040519081016040528092919081815260200182805461271090614156565b801561275d5780601f106127325761010080835404028352916020019161275d565b820191906000526020600020905b81548152906001019060200180831161274057829003601f168201915b5050505050815260200190600101906126c5565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b8282101561284a5783829060005260206000200180546127bd90614156565b80601f01602080910402602001604051908101604052809291908181526020018280546127e990614156565b80156128365780601f1061280b57610100808354040283529160200191612836565b820191906000526020600020905b81548152906001019060200180831161281957829003601f168201915b50505050508152602001906001019061279e565b5050505081525050905092915050565b6000602052816000526040600020818154811061287657600080fd5b9060005260206000209060090201600091509150508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020180546128c690614156565b80601f01602080910402602001604051908101604052809291908181526020018280546128f290614156565b801561293f5780601f106129145761010080835404028352916020019161293f565b820191906000526020600020905b81548152906001019060200180831161292257829003601f168201915b50505050509080600301805461295490614156565b80601f016020809104026020016040519081016040528092919081815260200182805461298090614156565b80156129cd5780601f106129a2576101008083540402835291602001916129cd565b820191906000526020600020905b8154815290600101906020018083116129b057829003601f168201915b5050505050908060050154908060060160009054906101000a900460ff16905086565b60606002805480602002602001604051908101604052809291908181526020018280548015612a7457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612a2a575b5050505050905090565b606060008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008385612ad49190614025565b905060008482612ae49190613fcf565b905082811115612af2578290505b828210612b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2b90613d3a565b60405180910390fd5b60008282612b42919061407f565b67ffffffffffffffff811115612b81577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612bba57816020015b612ba761316c565b815260200190600190039081612b9f5790505b50905060008390505b8281101561315d576000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612c41577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610120016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054612ccb90614156565b80601f0160208091040260200160405190810160405280929190818152602001828054612cf790614156565b8015612d445780601f10612d1957610100808354040283529160200191612d44565b820191906000526020600020905b815481529060010190602001808311612d2757829003601f168201915b50505050508152602001600382018054612d5d90614156565b80601f0160208091040260200160405190810160405280929190818152602001828054612d8990614156565b8015612dd65780601f10612dab57610100808354040283529160200191612dd6565b820191906000526020600020905b815481529060010190602001808311612db957829003601f168201915b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015612eb0578382906000526020600020018054612e2390614156565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4f90614156565b8015612e9c5780601f10612e7157610100808354040283529160200191612e9c565b820191906000526020600020905b815481529060010190602001808311612e7f57829003601f168201915b505050505081526020019060010190612e04565b505050508152602001600582015481526020016006820160009054906101000a900460ff166002811115612f0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115612f45577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160078201805480602002602001604051908101604052809291908181526020016000905b8282101561301a578382906000526020600020018054612f8d90614156565b80601f0160208091040260200160405190810160405280929190818152602001828054612fb990614156565b80156130065780601f10612fdb57610100808354040283529160200191613006565b820191906000526020600020905b815481529060010190602001808311612fe957829003601f168201915b505050505081526020019060010190612f6e565b50505050815260200160088201805480602002602001604051908101604052809291908181526020016000905b828210156130f357838290600052602060002001805461306690614156565b80601f016020809104026020016040519081016040528092919081815260200182805461309290614156565b80156130df5780601f106130b4576101008083540402835291602001916130df565b820191906000526020600020905b8154815290600101906020018083116130c257829003601f168201915b505050505081526020019060010190613047565b5050505081525050828583613108919061407f565b8151811061313f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250808061315590614188565b915050612bc3565b50809450505050509392505050565b60405180610120016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081526020016060815260200160008152602001600060028111156131f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260200160608152602001606081525090565b82805461321290614156565b90600052602060002090601f016020900481019282613234576000855561327b565b82601f1061324d57805160ff191683800117855561327b565b8280016001018555821561327b579182015b8281111561327a57825182559160200191906001019061325f565b5b50905061328891906132ec565b5090565b8280548282559060005260206000209081019282156132db579160200282015b828111156132da5782518290805190602001906132ca929190613206565b50916020019190600101906132ac565b5b5090506132e89190613309565b5090565b5b808211156133055760008160009055506001016132ed565b5090565b5b808211156133295760008181613320919061332d565b5060010161330a565b5090565b50805461333990614156565b6000825580601f1061334b575061336a565b601f01602090049060005260206000209081019061336991906132ec565b5b50565b600061338061337b84613e8a565b613e59565b9050808382526020820190508260005b858110156133c057813585016133a6888261345c565b845260208401935060208301925050600181019050613390565b5050509392505050565b60006133dd6133d884613eb6565b613e59565b9050828152602081018484840111156133f557600080fd5b613400848285614114565b509392505050565b600081359050613417816142b2565b92915050565b600082601f83011261342e57600080fd5b813561343e84826020860161336d565b91505092915050565b600081359050613456816142c9565b92915050565b600082601f83011261346d57600080fd5b813561347d8482602086016133ca565b91505092915050565b600081359050613495816142d9565b92915050565b6000602082840312156134ad57600080fd5b60006134bb84828501613408565b91505092915050565b600080604083850312156134d757600080fd5b60006134e585828601613408565b92505060206134f685828601613486565b9150509250929050565b60008060006060848603121561351557600080fd5b600061352386828701613408565b935050602061353486828701613486565b925050604061354586828701613486565b9150509250925092565b600080600080600080600060e0888a03121561356a57600080fd5b600088013567ffffffffffffffff81111561358457600080fd5b6135908a828b0161345c565b975050602088013567ffffffffffffffff8111156135ad57600080fd5b6135b98a828b0161345c565b96505060406135ca8a828b01613447565b955050606088013567ffffffffffffffff8111156135e757600080fd5b6135f38a828b0161341d565b94505060806136048a828b01613408565b93505060a088013567ffffffffffffffff81111561362157600080fd5b61362d8a828b0161341d565b92505060c088013567ffffffffffffffff81111561364a57600080fd5b6136568a828b0161341d565b91505092959891949750929550565b60006020828403121561367757600080fd5b600061368584828501613486565b91505092915050565b600080604083850312156136a157600080fd5b60006136af85828601613486565b92505060206136c085828601613486565b9150509250929050565b60006136d6838361370a565b60208301905092915050565b60006136ee8383613903565b905092915050565b60006137028383613a9b565b905092915050565b613713816140b3565b82525050565b613722816140b3565b82525050565b600061373382613f16565b61373d8185613f69565b935061374883613ee6565b8060005b8381101561377957815161376088826136ca565b975061376b83613f42565b92505060018101905061374c565b5085935050505092915050565b600061379182613f21565b61379b8185613f7a565b9350836020820285016137ad85613ef6565b8060005b858110156137e957848403895281516137ca85826136e2565b94506137d583613f4f565b925060208a019950506001810190506137b1565b50829750879550505050505092915050565b600061380682613f21565b6138108185613f8b565b93508360208202850161382285613ef6565b8060005b8581101561385e578484038952815161383f85826136e2565b945061384a83613f4f565b925060208a01995050600181019050613826565b50829750879550505050505092915050565b600061387b82613f2c565b6138858185613f9c565b93508360208202850161389785613f06565b8060005b858110156138d357848403895281516138b485826136f6565b94506138bf83613f5c565b925060208a0199505060018101905061389b565b50829750879550505050505092915050565b6138ee81614102565b82525050565b6138fd81614102565b82525050565b600061390e82613f37565b6139188185613fad565b9350613928818560208601614123565b6139318161428d565b840191505092915050565b600061394782613f37565b6139518185613fbe565b9350613961818560208601614123565b61396a8161428d565b840191505092915050565b6000613982602a83613fbe565b91507f4d65646961206e616d657320616e642055524c73206172726179206c656e677460008301527f68206d69736d61746368000000000000000000000000000000000000000000006020830152604082019050919050565b60006139e8602083613fbe565b91507f506f73742077697468207468697320494420646f6573206e6f742065786973746000830152602082019050919050565b6000613a28601383613fbe565b91507f506f737420646f6573206e6f74206578697374000000000000000000000000006000830152602082019050919050565b6000613a68601183613fbe565b91507f50616765206f7574206f662072616e67650000000000000000000000000000006000830152602082019050919050565b600061012083016000830151613ab46000860182613c5d565b506020830151613ac7602086018261370a565b5060408301518482036040860152613adf8282613903565b91505060608301518482036060860152613af98282613903565b91505060808301518482036080860152613b138282613786565b91505060a0830151613b2860a0860182613c5d565b5060c0830151613b3b60c08601826138e5565b5060e083015184820360e0860152613b538282613786565b915050610100830151848203610100860152613b6f8282613786565b9150508091505092915050565b600061012083016000830151613b956000860182613c5d565b506020830151613ba8602086018261370a565b5060408301518482036040860152613bc08282613903565b91505060608301518482036060860152613bda8282613903565b91505060808301518482036080860152613bf48282613786565b91505060a0830151613c0960a0860182613c5d565b5060c0830151613c1c60c08601826138e5565b5060e083015184820360e0860152613c348282613786565b915050610100830151848203610100860152613c508282613786565b9150508091505092915050565b613c66816140f8565b82525050565b613c75816140f8565b82525050565b6000602082019050613c906000830184613719565b92915050565b60006020820190508181036000830152613cb08184613728565b905092915050565b60006020820190508181036000830152613cd28184613870565b905092915050565b60006020820190508181036000830152613cf381613975565b9050919050565b60006020820190508181036000830152613d13816139db565b9050919050565b60006020820190508181036000830152613d3381613a1b565b9050919050565b60006020820190508181036000830152613d5381613a5b565b9050919050565b60006020820190508181036000830152613d748184613b7c565b905092915050565b6000602082019050613d916000830184613c6c565b92915050565b600060c082019050613dac6000830189613c6c565b613db96020830188613719565b8181036040830152613dcb818761393c565b90508181036060830152613ddf818661393c565b9050613dee6080830185613c6c565b613dfb60a08301846138f4565b979650505050505050565b6000608082019050613e1b6000830187613c6c565b8181036020830152613e2d818661393c565b90508181036040830152613e4181856137fb565b9050613e5060608301846138f4565b95945050505050565b6000604051905081810181811067ffffffffffffffff82111715613e8057613e7f61425e565b5b8060405250919050565b600067ffffffffffffffff821115613ea557613ea461425e565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613ed157613ed061425e565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fda826140f8565b9150613fe5836140f8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561401a576140196141d1565b5b828201905092915050565b6000614030826140f8565b915061403b836140f8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614074576140736141d1565b5b828202905092915050565b600061408a826140f8565b9150614095836140f8565b9250828210156140a8576140a76141d1565b5b828203905092915050565b60006140be826140d8565b9050919050565b60008190506140d38261429e565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061410d826140c5565b9050919050565b82818337600083830152505050565b60005b83811015614141578082015181840152602081019050614126565b83811115614150576000848401525b50505050565b6000600282049050600182168061416e57607f821691505b602082108114156141825761418161422f565b5b50919050565b6000614193826140f8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141c6576141c56141d1565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b600381106142af576142ae614200565b5b50565b6142bb816140b3565b81146142c657600080fd5b50565b600381106142d657600080fd5b50565b6142e2816140f8565b81146142ed57600080fd5b5056fea2646970667358221220263c0f00cda061afddf9a4ebbc2ee83d3c73d86b00ad6380b485ca0a38e41e9a64736f6c63430008000033",
}

ContractMetaData contains all meta data concerning the Contract contract.

Functions

func GetAddress

func GetAddress(name string) (string, error)

GetAddress returns the address for the given name

func LoadConfig

func LoadConfig(filePath string) error

LoadConfig loads the JSON configuration from a file

Types

type AddressConfig

type AddressConfig map[string]struct {
	Address string `json:"address"`
}

AddressConfig represents a mapping of names to their respective addresses

type Contract

type Contract struct {
	ContractCaller     // Read-only binding to the contract
	ContractTransactor // Write-only binding to the contract
	ContractFilterer   // Log filterer for contract events
}

Contract is an auto generated Go binding around an Ethereum contract.

func DeployContract

func DeployContract(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Contract, error)

DeployContract deploys a new Ethereum contract, binding an instance of Contract to it.

func NewContract

func NewContract(address common.Address, backend bind.ContractBackend) (*Contract, error)

NewContract creates a new instance of Contract, bound to a specific deployed contract.

type ContractCaller

type ContractCaller struct {
	// contains filtered or unexported fields
}

ContractCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewContractCaller

func NewContractCaller(address common.Address, caller bind.ContractCaller) (*ContractCaller, error)

NewContractCaller creates a new read-only instance of Contract, bound to a specific deployed contract.

func (*ContractCaller) GetAllPosts

func (_Contract *ContractCaller) GetAllPosts(opts *bind.CallOpts) ([]PostStoragePost, error)

GetAllPosts is a free data retrieval call binding the contract method 0x30561100.

Solidity: function getAllPosts() view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCaller) GetAllUsers

func (_Contract *ContractCaller) GetAllUsers(opts *bind.CallOpts) ([]common.Address, error)

GetAllUsers is a free data retrieval call binding the contract method 0xe2842d79.

Solidity: function getAllUsers() view returns(address[])

func (*ContractCaller) GetPostByID

func (_Contract *ContractCaller) GetPostByID(opts *bind.CallOpts, id *big.Int) (PostStoragePost, error)

GetPostByID is a free data retrieval call binding the contract method 0x5645c1e7.

Solidity: function getPostByID(uint256 id) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractCaller) GetPostByIndex

func (_Contract *ContractCaller) GetPostByIndex(opts *bind.CallOpts, user common.Address, index *big.Int) (PostStoragePost, error)

GetPostByIndex is a free data retrieval call binding the contract method 0x7c7bf4df.

Solidity: function getPostByIndex(address user, uint256 index) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractCaller) GetPostsPaginated

func (_Contract *ContractCaller) GetPostsPaginated(opts *bind.CallOpts, page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetPostsPaginated is a free data retrieval call binding the contract method 0x3e92733e.

Solidity: function getPostsPaginated(uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCaller) GetUsersPost

func (_Contract *ContractCaller) GetUsersPost(opts *bind.CallOpts, user common.Address) ([]PostStoragePost, error)

GetUsersPost is a free data retrieval call binding the contract method 0x3aa5cc94.

Solidity: function getUsersPost(address user) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCaller) GetUsersPostPaginated

func (_Contract *ContractCaller) GetUsersPostPaginated(opts *bind.CallOpts, user common.Address, page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetUsersPostPaginated is a free data retrieval call binding the contract method 0xfd78a375.

Solidity: function getUsersPostPaginated(address user, uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCaller) PostCounter

func (_Contract *ContractCaller) PostCounter(opts *bind.CallOpts) (*big.Int, error)

PostCounter is a free data retrieval call binding the contract method 0x09b3d75e.

Solidity: function postCounter() view returns(uint256)

func (*ContractCaller) UserPosts

func (_Contract *ContractCaller) UserPosts(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (struct {
	Id        *big.Int
	Author    common.Address
	Title     string
	Content   string
	Timestamp *big.Int
	Category  uint8
}, error)

UserPosts is a free data retrieval call binding the contract method 0x8064d149.

Solidity: function userPosts(address , uint256 ) view returns(uint256 id, address author, string title, string content, uint256 timestamp, uint8 category)

func (*ContractCaller) Users

func (_Contract *ContractCaller) Users(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error)

Users is a free data retrieval call binding the contract method 0x365b98b2.

Solidity: function users(uint256 ) view returns(address)

type ContractCallerRaw

type ContractCallerRaw struct {
	Contract *ContractCaller // Generic read-only contract binding to access the raw methods on
}

ContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*ContractCallerRaw) Call

func (_Contract *ContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type ContractCallerSession

type ContractCallerSession struct {
	Contract *ContractCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts   // Call options to use throughout this session
}

ContractCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*ContractCallerSession) GetAllPosts

func (_Contract *ContractCallerSession) GetAllPosts() ([]PostStoragePost, error)

GetAllPosts is a free data retrieval call binding the contract method 0x30561100.

Solidity: function getAllPosts() view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCallerSession) GetAllUsers

func (_Contract *ContractCallerSession) GetAllUsers() ([]common.Address, error)

GetAllUsers is a free data retrieval call binding the contract method 0xe2842d79.

Solidity: function getAllUsers() view returns(address[])

func (*ContractCallerSession) GetPostByID

func (_Contract *ContractCallerSession) GetPostByID(id *big.Int) (PostStoragePost, error)

GetPostByID is a free data retrieval call binding the contract method 0x5645c1e7.

Solidity: function getPostByID(uint256 id) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractCallerSession) GetPostByIndex

func (_Contract *ContractCallerSession) GetPostByIndex(user common.Address, index *big.Int) (PostStoragePost, error)

GetPostByIndex is a free data retrieval call binding the contract method 0x7c7bf4df.

Solidity: function getPostByIndex(address user, uint256 index) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractCallerSession) GetPostsPaginated

func (_Contract *ContractCallerSession) GetPostsPaginated(page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetPostsPaginated is a free data retrieval call binding the contract method 0x3e92733e.

Solidity: function getPostsPaginated(uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCallerSession) GetUsersPost

func (_Contract *ContractCallerSession) GetUsersPost(user common.Address) ([]PostStoragePost, error)

GetUsersPost is a free data retrieval call binding the contract method 0x3aa5cc94.

Solidity: function getUsersPost(address user) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCallerSession) GetUsersPostPaginated

func (_Contract *ContractCallerSession) GetUsersPostPaginated(user common.Address, page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetUsersPostPaginated is a free data retrieval call binding the contract method 0xfd78a375.

Solidity: function getUsersPostPaginated(address user, uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractCallerSession) PostCounter

func (_Contract *ContractCallerSession) PostCounter() (*big.Int, error)

PostCounter is a free data retrieval call binding the contract method 0x09b3d75e.

Solidity: function postCounter() view returns(uint256)

func (*ContractCallerSession) UserPosts

func (_Contract *ContractCallerSession) UserPosts(arg0 common.Address, arg1 *big.Int) (struct {
	Id        *big.Int
	Author    common.Address
	Title     string
	Content   string
	Timestamp *big.Int
	Category  uint8
}, error)

UserPosts is a free data retrieval call binding the contract method 0x8064d149.

Solidity: function userPosts(address , uint256 ) view returns(uint256 id, address author, string title, string content, uint256 timestamp, uint8 category)

func (*ContractCallerSession) Users

func (_Contract *ContractCallerSession) Users(arg0 *big.Int) (common.Address, error)

Users is a free data retrieval call binding the contract method 0x365b98b2.

Solidity: function users(uint256 ) view returns(address)

type ContractFilterer

type ContractFilterer struct {
	// contains filtered or unexported fields
}

ContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewContractFilterer

func NewContractFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractFilterer, error)

NewContractFilterer creates a new log filterer instance of Contract, bound to a specific deployed contract.

func (*ContractFilterer) FilterPostPublished

func (_Contract *ContractFilterer) FilterPostPublished(opts *bind.FilterOpts, author []common.Address) (*ContractPostPublishedIterator, error)

FilterPostPublished is a free log retrieval operation binding the contract event 0x87b51da9bcc29a9d1a8655f5b4551037df9275c98217a4fba832a0b9e3c07e6d.

Solidity: event PostPublished(uint256 id, address indexed author, string title, string[] tags, uint8 category)

func (*ContractFilterer) ParsePostPublished

func (_Contract *ContractFilterer) ParsePostPublished(log types.Log) (*ContractPostPublished, error)

ParsePostPublished is a log parse operation binding the contract event 0x87b51da9bcc29a9d1a8655f5b4551037df9275c98217a4fba832a0b9e3c07e6d.

Solidity: event PostPublished(uint256 id, address indexed author, string title, string[] tags, uint8 category)

func (*ContractFilterer) WatchPostPublished

func (_Contract *ContractFilterer) WatchPostPublished(opts *bind.WatchOpts, sink chan<- *ContractPostPublished, author []common.Address) (event.Subscription, error)

WatchPostPublished is a free log subscription operation binding the contract event 0x87b51da9bcc29a9d1a8655f5b4551037df9275c98217a4fba832a0b9e3c07e6d.

Solidity: event PostPublished(uint256 id, address indexed author, string title, string[] tags, uint8 category)

type ContractPostPublished

type ContractPostPublished struct {
	Id       *big.Int
	Author   common.Address
	Title    string
	Tags     []string
	Category uint8
	Raw      types.Log // Blockchain specific contextual infos
}

ContractPostPublished represents a PostPublished event raised by the Contract contract.

type ContractPostPublishedIterator

type ContractPostPublishedIterator struct {
	Event *ContractPostPublished // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ContractPostPublishedIterator is returned from FilterPostPublished and is used to iterate over the raw logs and unpacked data for PostPublished events raised by the Contract contract.

func (*ContractPostPublishedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ContractPostPublishedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ContractPostPublishedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ContractRaw

type ContractRaw struct {
	Contract *Contract // Generic contract binding to access the raw methods on
}

ContractRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*ContractRaw) Call

func (_Contract *ContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*ContractRaw) Transact

func (_Contract *ContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ContractRaw) Transfer

func (_Contract *ContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ContractSession

type ContractSession struct {
	Contract     *Contract         // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

ContractSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*ContractSession) GetAllPosts

func (_Contract *ContractSession) GetAllPosts() ([]PostStoragePost, error)

GetAllPosts is a free data retrieval call binding the contract method 0x30561100.

Solidity: function getAllPosts() view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractSession) GetAllUsers

func (_Contract *ContractSession) GetAllUsers() ([]common.Address, error)

GetAllUsers is a free data retrieval call binding the contract method 0xe2842d79.

Solidity: function getAllUsers() view returns(address[])

func (*ContractSession) GetPostByID

func (_Contract *ContractSession) GetPostByID(id *big.Int) (PostStoragePost, error)

GetPostByID is a free data retrieval call binding the contract method 0x5645c1e7.

Solidity: function getPostByID(uint256 id) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractSession) GetPostByIndex

func (_Contract *ContractSession) GetPostByIndex(user common.Address, index *big.Int) (PostStoragePost, error)

GetPostByIndex is a free data retrieval call binding the contract method 0x7c7bf4df.

Solidity: function getPostByIndex(address user, uint256 index) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[]))

func (*ContractSession) GetPostsPaginated

func (_Contract *ContractSession) GetPostsPaginated(page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetPostsPaginated is a free data retrieval call binding the contract method 0x3e92733e.

Solidity: function getPostsPaginated(uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractSession) GetUsersPost

func (_Contract *ContractSession) GetUsersPost(user common.Address) ([]PostStoragePost, error)

GetUsersPost is a free data retrieval call binding the contract method 0x3aa5cc94.

Solidity: function getUsersPost(address user) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractSession) GetUsersPostPaginated

func (_Contract *ContractSession) GetUsersPostPaginated(user common.Address, page *big.Int, pageSize *big.Int) ([]PostStoragePost, error)

GetUsersPostPaginated is a free data retrieval call binding the contract method 0xfd78a375.

Solidity: function getUsersPostPaginated(address user, uint256 page, uint256 pageSize) view returns((uint256,address,string,string,string[],uint256,uint8,string[],string[])[])

func (*ContractSession) Post

func (_Contract *ContractSession) Post(_title string, _content string, _category uint8, _tags []string, author common.Address, _media_names []string, _media_urls []string) (*types.Transaction, error)

Post is a paid mutator transaction binding the contract method 0x4b9ce4a5.

Solidity: function post(string _title, string _content, uint8 _category, string[] _tags, address author, string[] _media_names, string[] _media_urls) returns()

func (*ContractSession) PostCounter

func (_Contract *ContractSession) PostCounter() (*big.Int, error)

PostCounter is a free data retrieval call binding the contract method 0x09b3d75e.

Solidity: function postCounter() view returns(uint256)

func (*ContractSession) UserPosts

func (_Contract *ContractSession) UserPosts(arg0 common.Address, arg1 *big.Int) (struct {
	Id        *big.Int
	Author    common.Address
	Title     string
	Content   string
	Timestamp *big.Int
	Category  uint8
}, error)

UserPosts is a free data retrieval call binding the contract method 0x8064d149.

Solidity: function userPosts(address , uint256 ) view returns(uint256 id, address author, string title, string content, uint256 timestamp, uint8 category)

func (*ContractSession) Users

func (_Contract *ContractSession) Users(arg0 *big.Int) (common.Address, error)

Users is a free data retrieval call binding the contract method 0x365b98b2.

Solidity: function users(uint256 ) view returns(address)

type ContractTransactor

type ContractTransactor struct {
	// contains filtered or unexported fields
}

ContractTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewContractTransactor

func NewContractTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractTransactor, error)

NewContractTransactor creates a new write-only instance of Contract, bound to a specific deployed contract.

func (*ContractTransactor) Post

func (_Contract *ContractTransactor) Post(opts *bind.TransactOpts, _title string, _content string, _category uint8, _tags []string, author common.Address, _media_names []string, _media_urls []string) (*types.Transaction, error)

Post is a paid mutator transaction binding the contract method 0x4b9ce4a5.

Solidity: function post(string _title, string _content, uint8 _category, string[] _tags, address author, string[] _media_names, string[] _media_urls) returns()

type ContractTransactorRaw

type ContractTransactorRaw struct {
	Contract *ContractTransactor // Generic write-only contract binding to access the raw methods on
}

ContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*ContractTransactorRaw) Transact

func (_Contract *ContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ContractTransactorRaw) Transfer

func (_Contract *ContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ContractTransactorSession

type ContractTransactorSession struct {
	Contract     *ContractTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
}

ContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*ContractTransactorSession) Post

func (_Contract *ContractTransactorSession) Post(_title string, _content string, _category uint8, _tags []string, author common.Address, _media_names []string, _media_urls []string) (*types.Transaction, error)

Post is a paid mutator transaction binding the contract method 0x4b9ce4a5.

Solidity: function post(string _title, string _content, uint8 _category, string[] _tags, address author, string[] _media_names, string[] _media_urls) returns()

type PostContract

type PostContract struct {
	Client   *ethclient.Client
	Contract *Contract
}

func NewPostContract

func NewPostContract(client *ethclient.Client, instance *Contract) (*PostContract, error)

type PostStoragePost

type PostStoragePost struct {
	Id         *big.Int
	Author     common.Address
	Title      string
	Content    string
	Tags       []string
	Timestamp  *big.Int
	Category   uint8
	MediaNames []string
	MediaUrls  []string
}

PostStoragePost is an auto generated low-level Go binding around an user-defined struct.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL