c_polygonid

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2023 License: AGPL-3.0 Imports: 31 Imported by: 0

README

c-polygonid

C wrapper for polygonid libraries.

Build on macos M1

make darwin-arm64

Run tests

The library build be built with previous command.

mkdir examples/build
cd examples/build
cmake ..
cmake --build .
make test ARGS="--rerun-failed --output-on-failure"

Run example on Darwin M1

brew install cjson
make darwin-arm64
cd examples
clang -L../ios -lpolygonid-darwin-arm64 \
        -framework CoreFoundation \
        -framework Security \
        -framework CoreServices \
        `pkg-config --libs --cflags libcjson` \
        json_functions_tests.c && ./a.out

Generate StateV2 contract ABI

The contract can be found in a different repository located at https://github.com/iden3/contracts. To generate the StateV2.go file again, you need abigen command installed from https://github.com/ethereum/go-ethereum/tree/master/cmd/abigen. Then it is required to run following commands from contracts repository

npm install
# Compile the contracts. After this command file
# artifacts/contracts/state/StateV2.sol/StateV2.json should appear.
# E2E_PUBLISHING_KEY env is required but not used, so we can put anything
# in it.
E2E_PUBLISHING_KEY=1111111111111111111111111111111111111111111111111111111111111111 npm run compile
# Extract bytecode from compiled artifacts to StateV2.bcode file
jq -r .bytecode artifacts/contracts/state/StateV2.sol/StateV2.json > StateV2.bcode
# Extract ABI from compiled artifacts to StateV2.abi file
jq .abi artifacts/contracts/state/StateV2.sol/StateV2.json > StateV2.abi
# Generate Go package from ABI.
`go env GOPATH`/bin/abigen --bin=StateV2.bcode --abi=StateV2.abi --pkg=c_polygonid --out=../c-polygonid/StateV2.go

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CPolygonidABI = CPolygonidMetaData.ABI

CPolygonidABI is the input ABI used to generate the binding from. Deprecated: Use CPolygonidMetaData.ABI instead.

View Source
var CPolygonidBin = CPolygonidMetaData.Bin

CPolygonidBin is the compiled bytecode used for deploying new contracts. Deprecated: Use CPolygonidMetaData.Bin instead.

View Source
var CPolygonidMetaData = &bind.MetaData{
	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockN\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"}],\"name\":\"StateUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ID_HISTORY_RETURN_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getGISTProof\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"existence\",\"type\":\"bool\"},{\"internalType\":\"uint256[64]\",\"name\":\"siblings\",\"type\":\"uint256[64]\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"auxExistence\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"auxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auxValue\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.Proof\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getGISTProofByBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"existence\",\"type\":\"bool\"},{\"internalType\":\"uint256[64]\",\"name\":\"siblings\",\"type\":\"uint256[64]\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"auxExistence\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"auxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auxValue\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.Proof\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"}],\"name\":\"getGISTProofByRoot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"existence\",\"type\":\"bool\"},{\"internalType\":\"uint256[64]\",\"name\":\"siblings\",\"type\":\"uint256[64]\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"auxExistence\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"auxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auxValue\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.Proof\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"getGISTProofByTime\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"existence\",\"type\":\"bool\"},{\"internalType\":\"uint256[64]\",\"name\":\"siblings\",\"type\":\"uint256[64]\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"auxExistence\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"auxIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auxValue\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.Proof\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGISTRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getGISTRootHistory\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.RootInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGISTRootHistoryLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"}],\"name\":\"getGISTRootInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.RootInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getGISTRootInfoByBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.RootInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"getGISTRootInfoByTime\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structSmt.RootInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getStateInfoById\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByState\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structStateV2.StateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"}],\"name\":\"getStateInfoByState\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByState\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structStateV2.StateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStateInfoHistoryById\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedByState\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAtBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"replacedAtBlock\",\"type\":\"uint256\"}],\"internalType\":\"structStateV2.StateInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getStateInfoHistoryLengthById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVerifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"idExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIVerifier\",\"name\":\"verifierContractAddr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newVerifierAddr\",\"type\":\"address\"}],\"name\":\"setVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"state\",\"type\":\"uint256\"}],\"name\":\"stateExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oldState\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newState\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isOldStateGenesis\",\"type\":\"bool\"},{\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"b\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"c\",\"type\":\"uint256[2]\"}],\"name\":\"transitState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
	Bin: "0x608060405234801561001057600080fd5b506138e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063676d5b5a116100c3578063d51afebf1161007c578063d51afebf14610425578063dccbd57a14610455578063e12a36c014610473578063e99858fe146104a3578063eaa6b26c146104d3578063f2fde38b146104f157610158565b8063676d5b5a14610351578063715018a6146103815780637c1a66de1461038b5780638da5cb5b146103bb578063b4bdea55146103d9578063c4d66de81461040957610158565b80632f7670e4116101155780632f7670e4146102575780633025bb8c146102875780633622b0bc146102b757806346657fe9146102e75780635437988d146103055780635845e5301461032157610158565b8063046ff1401461015d57806308fd3b761461018d5780630b8a295a146101bd5780630ef6e65b146101ed5780632439e3a61461021d57806328f88a651461023b575b600080fd5b61017760048036038101906101729190611caa565b61050d565b6040516101849190611e57565b60405180910390f35b6101a760048036038101906101a29190611e73565b610622565b6040516101b49190611eaf565b60405180910390f35b6101d760048036038101906101d29190611e73565b610648565b6040516101e49190611eaf565b60405180910390f35b61020760048036038101906102029190611e73565b61066d565b6040516102149190611f45565b60405180910390f35b6102256106f9565b6040516102329190611f6f565b60405180910390f35b610255600480360381019061025091906121ae565b61077b565b005b610271600480360381019061026c9190611caa565b610d0e565b60405161027e919061237c565b60405180910390f35b6102a1600480360381019061029c9190611e73565b610d9c565b6040516102ae9190611e57565b60405180910390f35b6102d160048036038101906102cc9190611e73565b610eae565b6040516102de919061242c565b60405180910390f35b6102ef610f10565b6040516102fc9190612488565b60405180910390f35b61031f600480360381019061031a91906124cf565b610f3a565b005b61033b60048036038101906103369190611e73565b610f86565b6040516103489190611f45565b60405180910390f35b61036b60048036038101906103669190611e73565b611012565b6040516103789190611f6f565b60405180910390f35b61038961107f565b005b6103a560048036038101906103a09190611e73565b611093565b6040516103b29190611f45565b60405180910390f35b6103c361111f565b6040516103d09190612488565b60405180910390f35b6103f360048036038101906103ee9190611e73565b611149565b604051610400919061242c565b60405180910390f35b610423600480360381019061041e919061253a565b611202565b005b61043f600480360381019061043a9190611caa565b611382565b60405161044c9190611e57565b60405180910390f35b61045d611497565b60405161046a9190611f6f565b60405180910390f35b61048d60048036038101906104889190611caa565b6114a7565b60405161049a9190611e57565b60405180910390f35b6104bd60048036038101906104b89190612567565b6115bc565b6040516104ca91906126f7565b60405180910390f35b6104db6117eb565b6040516104e89190611f6f565b60405180910390f35b61050b600480360381019061050691906124cf565b6117f1565b005b610515611b7b565b609a73__$6fe561209a168e1d8413362e2be9418f00$__63acbc7222909173__$bb862b2a7c85b89a310c80dce8aa59aaa7$__631caab9a76040518060200160405280898152506040518263ffffffff1660e01b815260040161057891906127c4565b602060405180830381865af4158015610595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b991906127f4565b856040518463ffffffff1660e01b81526004016105d893929190612837565b6108e060405180830381865af41580156105f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061a9190612a08565b905092915050565b600080606660010160008481526020019081526020016000206000015414159050919050565b6000806066600001600084815260200190815260200160002080549050119050919050565b610675611bca565b609a73__$6fe561209a168e1d8413362e2be9418f00$__6399d37cba9091846040518363ffffffff1660e01b81526004016106b1929190612a36565b60c060405180830381865af41580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190612aff565b9050919050565b6000609a73__$6fe561209a168e1d8413362e2be9418f00$__6309f9f46090916040518263ffffffff1660e01b81526004016107359190612b2c565b602060405180830381865af4158015610752573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077691906127f4565b905090565b83156108735761078a87610648565b156107ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c190612bca565b60405180910390fd5b6107d386610622565b15610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080a90612c36565b60405180910390fd5b866066600101600088815260200190815260200160002060000181905550606660000160008881526020019081526020016000208690806001815401808255809150506001900390600052602060002001600090919091909150556109b6565b61087c87610648565b6108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290612cc8565b60405180910390fd5b6000606660000160008981526020019081526020016000206001606660000160008b8152602001908152602001600020805490506108f99190612d17565b8154811061090a57610909612d4b565b5b9060005260206000200154905043606660010160008381526020019081526020016000206002015403610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990612dec565b60405180910390fd5b8681146109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ab90612e7e565b60405180910390fd5b505b6109bf85610622565b156109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612eea565b60405180910390fd5b6000604051806080016040528089815260200188815260200187815260200186610a2a576000610a2d565b60015b60ff168152509050606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fe8c13b858585856040518563ffffffff1660e01b8152600401610a969493929190613110565b602060405180830381865afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad79190613157565b610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d906131f6565b60405180910390fd5b60666000016000898152602001908152602001600020869080600181540180825580915050600190039060005260206000200160009091909190915055604051806080016040528089815260200142815260200143815260200160008152506066600101600088815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155905050856066600101600089815260200190815260200160002060030181905550609a73__$6fe561209a168e1d8413362e2be9418f00$__636cbbcddf909173__$bb862b2a7c85b89a310c80dce8aa59aaa7$__631caab9a760405180602001604052808e8152506040518263ffffffff1660e01b8152600401610c3791906127c4565b602060405180830381865af4158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7891906127f4565b896040518463ffffffff1660e01b8152600401610c9793929190612837565b60006040518083038186803b158015610caf57600080fd5b505af4158015610cc3573d6000803e3d6000fd5b505050507f88aef4d78ad30d12a12a98e96007f5b09c1610b5364b2b99960b7d07e00a883888434289604051610cfc9493929190613216565b60405180910390a15050505050505050565b6060609a73__$6fe561209a168e1d8413362e2be9418f00$__6373725a5d909185856040518463ffffffff1660e01b8152600401610d4e93929190612837565b600060405180830381865af4158015610d6b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610d94919061331e565b905092915050565b610da4611b7b565b609a73__$6fe561209a168e1d8413362e2be9418f00$__63b3f22774909173__$bb862b2a7c85b89a310c80dce8aa59aaa7$__631caab9a76040518060200160405280888152506040518263ffffffff1660e01b8152600401610e0791906127c4565b602060405180830381865af4158015610e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4891906127f4565b6040518363ffffffff1660e01b8152600401610e65929190612a36565b6108e060405180830381865af4158015610e83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea79190612a08565b9050919050565b610eb6611c00565b81610ec081610622565b610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef6906133b3565b60405180910390fd5b610f0883611874565b915050919050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f42611952565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610f8e611bca565b609a73__$6fe561209a168e1d8413362e2be9418f00$__63c4bab6ec9091846040518363ffffffff1660e01b8152600401610fca929190612a36565b60c060405180830381865af4158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b9190612aff565b9050919050565b60008161101e81610648565b61105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110549061341f565b60405180910390fd5b6066600001600084815260200190815260200160002080549050915050919050565b611087611952565b61109160006119d0565b565b61109b611bca565b609a73__$6fe561209a168e1d8413362e2be9418f00$__63897b3e1d9091846040518363ffffffff1660e01b81526004016110d7929190612a36565b60c060405180830381865af41580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612aff565b9050919050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611151611c00565b8161115b81610648565b61119a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111919061341f565b60405180910390fd5b6111fa60666000016000858152602001908152602001600020600160666000016000878152602001908152602001600020805490506111d99190612d17565b815481106111ea576111e9612d4b565b5b9060005260206000200154611874565b915050919050565b60008060019054906101000a900460ff161590508080156112335750600160008054906101000a900460ff1660ff16105b80611260575061124230611a96565b15801561125f5750600160008054906101000a900460ff1660ff16145b5b61129f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611296906134b1565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156112dc576001600060016101000a81548160ff0219169083151502179055505b81606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611325611ab9565b801561137e5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516113759190613523565b60405180910390a15b5050565b61138a611b7b565b609a73__$6fe561209a168e1d8413362e2be9418f00$__63c56ff288909173__$bb862b2a7c85b89a310c80dce8aa59aaa7$__631caab9a76040518060200160405280898152506040518263ffffffff1660e01b81526004016113ed91906127c4565b602060405180830381865af415801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e91906127f4565b856040518463ffffffff1660e01b815260040161144d93929190612837565b6108e060405180830381865af415801561146b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148f9190612a08565b905092915050565b6000609a60010180549050905090565b6114af611b7b565b609a73__$6fe561209a168e1d8413362e2be9418f00$__637a746715909173__$bb862b2a7c85b89a310c80dce8aa59aaa7$__631caab9a76040518060200160405280898152506040518263ffffffff1660e01b815260040161151291906127c4565b602060405180830381865af415801561152f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155391906127f4565b856040518463ffffffff1660e01b815260040161157293929190612837565b6108e060405180830381865af4158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b49190612a08565b905092915050565b6060836115c881610648565b611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061341f565b60405180910390fd5b6000831161164a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116419061358a565b60405180910390fd5b6103e883111561168f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611686906135f6565b60405180910390fd5b6000838561169d9190613616565b905060666000016000878152602001908152602001600020805490508111156116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f2906136b8565b60405180910390fd5b60008467ffffffffffffffff81111561171757611716611fcc565b5b60405190808252806020026020018201604052801561175057816020015b61173d611c00565b8152602001906001900390816117355790505b5090506000808790505b838110156117dc5761179d606660000160008b8152602001908152602001600020828154811061178d5761178c612d4b565b5b9060005260206000200154611874565b8383815181106117b0576117af612d4b565b5b602002602001018190525081806117c6906136d8565b92505080806117d4906136d8565b91505061175a565b50819450505050509392505050565b6103e881565b6117f9611952565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f90613792565b60405180910390fd5b611871816119d0565b50565b61187c611c00565b6000606660010160008481526020019081526020016000206003015490506040518060e00160405280606660010160008681526020019081526020016000206000015481526020018481526020018281526020016066600101600086815260200190815260200160002060010154815260200160666001016000848152602001908152602001600020600101548152602001606660010160008681526020019081526020016000206002015481526020016066600101600084815260200190815260200160002060020154815250915050919050565b61195a611b12565b73ffffffffffffffffffffffffffffffffffffffff1661197861111f565b73ffffffffffffffffffffffffffffffffffffffff16146119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c5906137fe565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aff90613890565b60405180910390fd5b611b10611b1a565b565b600033905090565b600060019054906101000a900460ff16611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090613890565b60405180910390fd5b611b79611b74611b12565b6119d0565b565b60405180610100016040528060008152602001600015158152602001611b9f611c3d565b8152602001600081526020016000815260200160001515815260200160008152602001600081525090565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806108000160405280604090602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611c8781611c74565b8114611c9257600080fd5b50565b600081359050611ca481611c7e565b92915050565b60008060408385031215611cc157611cc0611c6a565b5b6000611ccf85828601611c95565b9250506020611ce085828601611c95565b9150509250929050565b611cf381611c74565b82525050565b60008115159050919050565b611d0e81611cf9565b82525050565b600060409050919050565b600081905092915050565b6000819050919050565b6000611d408383611cea565b60208301905092915050565b6000602082019050919050565b611d6281611d14565b611d6c8184611d1f565b9250611d7782611d2a565b8060005b83811015611da8578151611d8f8782611d34565b9650611d9a83611d4c565b925050600181019050611d7b565b505050505050565b6108e082016000820151611dc76000850182611cea565b506020820151611dda6020850182611d05565b506040820151611ded6040850182611d59565b506060820151611e01610840850182611cea565b506080820151611e15610860850182611cea565b5060a0820151611e29610880850182611d05565b5060c0820151611e3d6108a0850182611cea565b5060e0820151611e516108c0850182611cea565b50505050565b60006108e082019050611e6d6000830184611db0565b92915050565b600060208284031215611e8957611e88611c6a565b5b6000611e9784828501611c95565b91505092915050565b611ea981611cf9565b82525050565b6000602082019050611ec46000830184611ea0565b92915050565b60c082016000820151611ee06000850182611cea565b506020820151611ef36020850182611cea565b506040820151611f066040850182611cea565b506060820151611f196060850182611cea565b506080820151611f2c6080850182611cea565b5060a0820151611f3f60a0850182611cea565b50505050565b600060c082019050611f5a6000830184611eca565b92915050565b611f6981611c74565b82525050565b6000602082019050611f846000830184611f60565b92915050565b611f9381611cf9565b8114611f9e57600080fd5b50565b600081359050611fb081611f8a565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61200482611fbb565b810181811067ffffffffffffffff8211171561202357612022611fcc565b5b80604052505050565b6000612036611c60565b90506120428282611ffb565b919050565b600067ffffffffffffffff82111561206257612061611fcc565b5b602082029050919050565b600080fd5b600061208561208084612047565b61202c565b9050806020840283018581111561209f5761209e61206d565b5b835b818110156120c857806120b48882611c95565b8452602084019350506020810190506120a1565b5050509392505050565b600082601f8301126120e7576120e6611fb6565b5b60026120f4848285612072565b91505092915050565b600067ffffffffffffffff82111561211857612117611fcc565b5b602082029050919050565b6000612136612131846120fd565b61202c565b905080604084028301858111156121505761214f61206d565b5b835b81811015612179578061216588826120d2565b845260208401935050604081019050612152565b5050509392505050565b600082601f83011261219857612197611fb6565b5b60026121a5848285612123565b91505092915050565b6000806000806000806000610180888a0312156121ce576121cd611c6a565b5b60006121dc8a828b01611c95565b97505060206121ed8a828b01611c95565b96505060406121fe8a828b01611c95565b955050606061220f8a828b01611fa1565b94505060806122208a828b016120d2565b93505060c06122318a828b01612183565b9250506101406122438a828b016120d2565b91505092959891949750929550565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c0820160008201516122946000850182611cea565b5060208201516122a76020850182611cea565b5060408201516122ba6040850182611cea565b5060608201516122cd6060850182611cea565b5060808201516122e06080850182611cea565b5060a08201516122f360a0850182611cea565b50505050565b6000612305838361227e565b60c08301905092915050565b6000602082019050919050565b600061232982612252565b612333818561225d565b935061233e8361226e565b8060005b8381101561236f57815161235688826122f9565b975061236183612311565b925050600181019050612342565b5085935050505092915050565b60006020820190508181036000830152612396818461231e565b905092915050565b60e0820160008201516123b46000850182611cea565b5060208201516123c76020850182611cea565b5060408201516123da6040850182611cea565b5060608201516123ed6060850182611cea565b5060808201516124006080850182611cea565b5060a082015161241360a0850182611cea565b5060c082015161242660c0850182611cea565b50505050565b600060e082019050612441600083018461239e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061247282612447565b9050919050565b61248281612467565b82525050565b600060208201905061249d6000830184612479565b92915050565b6124ac81612467565b81146124b757600080fd5b50565b6000813590506124c9816124a3565b92915050565b6000602082840312156124e5576124e4611c6a565b5b60006124f3848285016124ba565b91505092915050565b600061250782612467565b9050919050565b612517816124fc565b811461252257600080fd5b50565b6000813590506125348161250e565b92915050565b6000602082840312156125505761254f611c6a565b5b600061255e84828501612525565b91505092915050565b6000806000606084860312156125805761257f611c6a565b5b600061258e86828701611c95565b935050602061259f86828701611c95565b92505060406125b086828701611c95565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60e0820160008201516125fc6000850182611cea565b50602082015161260f6020850182611cea565b5060408201516126226040850182611cea565b5060608201516126356060850182611cea565b5060808201516126486080850182611cea565b5060a082015161265b60a0850182611cea565b5060c082015161266e60c0850182611cea565b50505050565b600061268083836125e6565b60e08301905092915050565b6000602082019050919050565b60006126a4826125ba565b6126ae81856125c5565b93506126b9836125d6565b8060005b838110156126ea5781516126d18882612674565b97506126dc8361268c565b9250506001810190506126bd565b5085935050505092915050565b600060208201905081810360008301526127118184612699565b905092915050565b600060019050919050565b600081905092915050565b6000819050919050565b61274281611c74565b82525050565b60006127548383612739565b60208301905092915050565b6000602082019050919050565b61277681612719565b6127808184612724565b925061278b8261272f565b8060005b838110156127bc5781516127a38782612748565b96506127ae83612760565b92505060018101905061278f565b505050505050565b60006020820190506127d9600083018461276d565b92915050565b6000815190506127ee81611c7e565b92915050565b60006020828403121561280a57612809611c6a565b5b6000612818848285016127df565b91505092915050565b8082525050565b61283181611c74565b82525050565b600060608201905061284c6000830186612821565b6128596020830185612828565b6128666040830184612828565b949350505050565b600080fd5b60008151905061288281611f8a565b92915050565b600067ffffffffffffffff8211156128a3576128a2611fcc565b5b602082029050919050565b60006128c16128bc84612888565b61202c565b905080602084028301858111156128db576128da61206d565b5b835b8181101561290457806128f088826127df565b8452602084019350506020810190506128dd565b5050509392505050565b600082601f83011261292357612922611fb6565b5b60406129308482856128ae565b91505092915050565b60006108e082840312156129505761294f61286e565b5b61295b61010061202c565b9050600061296b848285016127df565b600083015250602061297f84828501612873565b60208301525060406129938482850161290e565b6040830152506108406129a8848285016127df565b6060830152506108606129bd848285016127df565b6080830152506108806129d284828501612873565b60a0830152506108a06129e7848285016127df565b60c0830152506108c06129fc848285016127df565b60e08301525092915050565b60006108e08284031215612a1f57612a1e611c6a565b5b6000612a2d84828501612939565b91505092915050565b6000604082019050612a4b6000830185612821565b612a586020830184612828565b9392505050565b600060c08284031215612a7557612a7461286e565b5b612a7f60c061202c565b90506000612a8f848285016127df565b6000830152506020612aa3848285016127df565b6020830152506040612ab7848285016127df565b6040830152506060612acb848285016127df565b6060830152506080612adf848285016127df565b60808301525060a0612af3848285016127df565b60a08301525092915050565b600060c08284031215612b1557612b14611c6a565b5b6000612b2384828501612a5f565b91505092915050565b6000602082019050612b416000830184612821565b92915050565b600082825260208201905092915050565b7f4f6c642073746174652069732067656e6573697320627574206964656e74697460008201527f7920616c72656164792065786973747300000000000000000000000000000000602082015250565b6000612bb4603083612b47565b9150612bbf82612b58565b604082019050919050565b60006020820190508181036000830152612be381612ba7565b9050919050565b7f47656e6573697320737461746520616c72656164792065786973747300000000600082015250565b6000612c20601c83612b47565b9150612c2b82612bea565b602082019050919050565b60006020820190508181036000830152612c4f81612c13565b9050919050565b7f4f6c64207374617465206973206e6f742067656e65736973206275742069646560008201527f6e7469747920646f6573206e6f74207965742065786973740000000000000000602082015250565b6000612cb2603883612b47565b9150612cbd82612c56565b604082019050919050565b60006020820190508181036000830152612ce181612ca5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d2282611c74565b9150612d2d83611c74565b925082821015612d4057612d3f612ce8565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e6f206d756c7469706c652073657420696e207468652073616d6520626c6f6360008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd6602183612b47565b9150612de182612d7a565b604082019050919050565b60006020820190508181036000830152612e0581612dc9565b9050919050565b7f4f6c6420737461746520646f6573206e6f74206d6174636820746865206c617460008201527f6573742073746174650000000000000000000000000000000000000000000000602082015250565b6000612e68602983612b47565b9150612e7382612e0c565b604082019050919050565b60006020820190508181036000830152612e9781612e5b565b9050919050565b7f4e65772073746174652073686f756c64206e6f74206578697374000000000000600082015250565b6000612ed4601a83612b47565b9150612edf82612e9e565b602082019050919050565b60006020820190508181036000830152612f0381612ec7565b9050919050565b600060029050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b612f4081612f0a565b612f4a8184612f15565b9250612f5582612f20565b8060005b83811015612f86578151612f6d8782611d34565b9650612f7883612f2a565b925050600181019050612f59565b505050505050565b600060029050919050565b600081905092915050565b6000819050919050565b600081905092915050565b612fc281612f0a565b612fcc8184612fae565b9250612fd782612f20565b8060005b83811015613008578151612fef8782611d34565b9650612ffa83612f2a565b925050600181019050612fdb565b505050505050565b600061301c8383612fb9565b60408301905092915050565b6000602082019050919050565b61303e81612f8e565b6130488184612f99565b925061305382612fa4565b8060005b8381101561308457815161306b8782613010565b965061307683613028565b925050600181019050613057565b505050505050565b600060049050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6130c28161308c565b6130cc8184613097565b92506130d7826130a2565b8060005b838110156131085781516130ef8782611d34565b96506130fa836130ac565b9250506001810190506130db565b505050505050565b6000610180820190506131266000830187612f37565b6131336040830186613035565b61314060c0830185612f37565b61314e6101008301846130b9565b95945050505050565b60006020828403121561316d5761316c611c6a565b5b600061317b84828501612873565b91505092915050565b7f5a65726f2d6b6e6f776c656467652070726f6f66206f6620737461746520747260008201527f616e736974696f6e206973206e6f742076616c69642000000000000000000000602082015250565b60006131e0603683612b47565b91506131eb82613184565b604082019050919050565b6000602082019050818103600083015261320f816131d3565b9050919050565b600060808201905061322b6000830187611f60565b6132386020830186611f60565b6132456040830185611f60565b6132526060830184611f60565b95945050505050565b600067ffffffffffffffff82111561327657613275611fcc565b5b602082029050602081019050919050565b600061329a6132958461325b565b61202c565b90508083825260208201905060c084028301858111156132bd576132bc61206d565b5b835b818110156132e657806132d28882612a5f565b84526020840193505060c0810190506132bf565b5050509392505050565b600082601f83011261330557613304611fb6565b5b8151613315848260208601613287565b91505092915050565b60006020828403121561333457613333611c6a565b5b600082015167ffffffffffffffff81111561335257613351611c6f565b5b61335e848285016132f0565b91505092915050565b7f537461746520646f6573206e6f74206578697374000000000000000000000000600082015250565b600061339d601483612b47565b91506133a882613367565b602082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f4964656e7469747920646f6573206e6f74206578697374000000000000000000600082015250565b6000613409601783612b47565b9150613414826133d3565b602082019050919050565b60006020820190508181036000830152613438816133fc565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061349b602e83612b47565b91506134a68261343f565b604082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b600061350d613508613503846134d1565b6134e8565b6134db565b9050919050565b61351d816134f2565b82525050565b60006020820190506135386000830184613514565b92915050565b7f4c656e6774682073686f756c642062652067726561746572207468616e203000600082015250565b6000613574601f83612b47565b915061357f8261353e565b602082019050919050565b600060208201905081810360008301526135a381613567565b9050919050565b7f486973746f7279206c656e677468206c696d6974206578636565646564000000600082015250565b60006135e0601d83612b47565b91506135eb826135aa565b602082019050919050565b6000602082019050818103600083015261360f816135d3565b9050919050565b600061362182611c74565b915061362c83611c74565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561366157613660612ce8565b5b828201905092915050565b7f4f7574206f6620626f756e6473206f6620737461746520686973746f72790000600082015250565b60006136a2601e83612b47565b91506136ad8261366c565b602082019050919050565b600060208201905081810360008301526136d181613695565b9050919050565b60006136e382611c74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361371557613714612ce8565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061377c602683612b47565b915061378782613720565b604082019050919050565b600060208201905081810360008301526137ab8161376f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137e8602083612b47565b91506137f3826137b2565b602082019050919050565b60006020820190508181036000830152613817816137db565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061387a602b83612b47565b91506138858261381e565b604082019050919050565b600060208201905081810360008301526138a98161386d565b905091905056fea2646970667358221220424701a1738f4f347400ecd2bcc1341abb7f809ae44f4c5c4b4e94d6bd6dc62d64736f6c634300080f0033",
}

CPolygonidMetaData contains all meta data concerning the CPolygonid contract.

Functions

func ProofFromSmartContract

func ProofFromSmartContract(
	scProof SmartContractProof) (*merkletree.Proof, *merkletree.Hash, error)

Types

type AtomicQueryInputsResponse

type AtomicQueryInputsResponse struct {
	Inputs                 circuits.InputsMarshaller
	VerifiablePresentation map[string]any
}

func AtomicQueryMtpV2InputsFromJson

func AtomicQueryMtpV2InputsFromJson(ctx context.Context, cfg EnvConfig,
	in []byte) (AtomicQueryInputsResponse, error)

func AtomicQueryMtpV2OnChainInputsFromJson

func AtomicQueryMtpV2OnChainInputsFromJson(ctx context.Context, cfg EnvConfig,
	in []byte) (AtomicQueryInputsResponse, error)

func AtomicQuerySigV2InputsFromJson

func AtomicQuerySigV2InputsFromJson(ctx context.Context, cfg EnvConfig,
	in []byte) (AtomicQueryInputsResponse, error)

func AtomicQuerySigV2OnChainInputsFromJson

func AtomicQuerySigV2OnChainInputsFromJson(ctx context.Context, cfg EnvConfig,
	in []byte) (AtomicQueryInputsResponse, error)

type CPolygonid

type CPolygonid struct {
	CPolygonidCaller     // Read-only binding to the contract
	CPolygonidTransactor // Write-only binding to the contract
	CPolygonidFilterer   // Log filterer for contract events
}

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

func DeployCPolygonid

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

DeployCPolygonid deploys a new Ethereum contract, binding an instance of CPolygonid to it.

func NewCPolygonid

func NewCPolygonid(address common.Address, backend bind.ContractBackend) (*CPolygonid, error)

NewCPolygonid creates a new instance of CPolygonid, bound to a specific deployed contract.

type CPolygonidCaller

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

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

func NewCPolygonidCaller

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

NewCPolygonidCaller creates a new read-only instance of CPolygonid, bound to a specific deployed contract.

func (*CPolygonidCaller) GetGISTProof

func (_CPolygonid *CPolygonidCaller) GetGISTProof(opts *bind.CallOpts, id *big.Int) (SmtProof, error)

GetGISTProof is a free data retrieval call binding the contract method 0x3025bb8c.

Solidity: function getGISTProof(uint256 id) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCaller) GetGISTProofByBlock

func (_CPolygonid *CPolygonidCaller) GetGISTProofByBlock(opts *bind.CallOpts, id *big.Int, blockNumber *big.Int) (SmtProof, error)

GetGISTProofByBlock is a free data retrieval call binding the contract method 0x046ff140.

Solidity: function getGISTProofByBlock(uint256 id, uint256 blockNumber) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCaller) GetGISTProofByRoot

func (_CPolygonid *CPolygonidCaller) GetGISTProofByRoot(opts *bind.CallOpts, id *big.Int, root *big.Int) (SmtProof, error)

GetGISTProofByRoot is a free data retrieval call binding the contract method 0xe12a36c0.

Solidity: function getGISTProofByRoot(uint256 id, uint256 root) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCaller) GetGISTProofByTime

func (_CPolygonid *CPolygonidCaller) GetGISTProofByTime(opts *bind.CallOpts, id *big.Int, timestamp *big.Int) (SmtProof, error)

GetGISTProofByTime is a free data retrieval call binding the contract method 0xd51afebf.

Solidity: function getGISTProofByTime(uint256 id, uint256 timestamp) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCaller) GetGISTRoot

func (_CPolygonid *CPolygonidCaller) GetGISTRoot(opts *bind.CallOpts) (*big.Int, error)

GetGISTRoot is a free data retrieval call binding the contract method 0x2439e3a6.

Solidity: function getGISTRoot() view returns(uint256)

func (*CPolygonidCaller) GetGISTRootHistory

func (_CPolygonid *CPolygonidCaller) GetGISTRootHistory(opts *bind.CallOpts, start *big.Int, length *big.Int) ([]SmtRootInfo, error)

GetGISTRootHistory is a free data retrieval call binding the contract method 0x2f7670e4.

Solidity: function getGISTRootHistory(uint256 start, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidCaller) GetGISTRootHistoryLength

func (_CPolygonid *CPolygonidCaller) GetGISTRootHistoryLength(opts *bind.CallOpts) (*big.Int, error)

GetGISTRootHistoryLength is a free data retrieval call binding the contract method 0xdccbd57a.

Solidity: function getGISTRootHistoryLength() view returns(uint256)

func (*CPolygonidCaller) GetGISTRootInfo

func (_CPolygonid *CPolygonidCaller) GetGISTRootInfo(opts *bind.CallOpts, root *big.Int) (SmtRootInfo, error)

GetGISTRootInfo is a free data retrieval call binding the contract method 0x7c1a66de.

Solidity: function getGISTRootInfo(uint256 root) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCaller) GetGISTRootInfoByBlock

func (_CPolygonid *CPolygonidCaller) GetGISTRootInfoByBlock(opts *bind.CallOpts, blockNumber *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByBlock is a free data retrieval call binding the contract method 0x5845e530.

Solidity: function getGISTRootInfoByBlock(uint256 blockNumber) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCaller) GetGISTRootInfoByTime

func (_CPolygonid *CPolygonidCaller) GetGISTRootInfoByTime(opts *bind.CallOpts, timestamp *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByTime is a free data retrieval call binding the contract method 0x0ef6e65b.

Solidity: function getGISTRootInfoByTime(uint256 timestamp) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCaller) GetStateInfoById

func (_CPolygonid *CPolygonidCaller) GetStateInfoById(opts *bind.CallOpts, id *big.Int) (StateV2StateInfo, error)

GetStateInfoById is a free data retrieval call binding the contract method 0xb4bdea55.

Solidity: function getStateInfoById(uint256 id) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCaller) GetStateInfoByState

func (_CPolygonid *CPolygonidCaller) GetStateInfoByState(opts *bind.CallOpts, state *big.Int) (StateV2StateInfo, error)

GetStateInfoByState is a free data retrieval call binding the contract method 0x3622b0bc.

Solidity: function getStateInfoByState(uint256 state) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCaller) GetStateInfoHistoryById

func (_CPolygonid *CPolygonidCaller) GetStateInfoHistoryById(opts *bind.CallOpts, id *big.Int, startIndex *big.Int, length *big.Int) ([]StateV2StateInfo, error)

GetStateInfoHistoryById is a free data retrieval call binding the contract method 0xe99858fe.

Solidity: function getStateInfoHistoryById(uint256 id, uint256 startIndex, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidCaller) GetStateInfoHistoryLengthById

func (_CPolygonid *CPolygonidCaller) GetStateInfoHistoryLengthById(opts *bind.CallOpts, id *big.Int) (*big.Int, error)

GetStateInfoHistoryLengthById is a free data retrieval call binding the contract method 0x676d5b5a.

Solidity: function getStateInfoHistoryLengthById(uint256 id) view returns(uint256)

func (*CPolygonidCaller) GetVerifier

func (_CPolygonid *CPolygonidCaller) GetVerifier(opts *bind.CallOpts) (common.Address, error)

GetVerifier is a free data retrieval call binding the contract method 0x46657fe9.

Solidity: function getVerifier() view returns(address)

func (*CPolygonidCaller) IDHISTORYRETURNLIMIT

func (_CPolygonid *CPolygonidCaller) IDHISTORYRETURNLIMIT(opts *bind.CallOpts) (*big.Int, error)

IDHISTORYRETURNLIMIT is a free data retrieval call binding the contract method 0xeaa6b26c.

Solidity: function ID_HISTORY_RETURN_LIMIT() view returns(uint256)

func (*CPolygonidCaller) IdExists

func (_CPolygonid *CPolygonidCaller) IdExists(opts *bind.CallOpts, id *big.Int) (bool, error)

IdExists is a free data retrieval call binding the contract method 0x0b8a295a.

Solidity: function idExists(uint256 id) view returns(bool)

func (*CPolygonidCaller) Owner

func (_CPolygonid *CPolygonidCaller) Owner(opts *bind.CallOpts) (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*CPolygonidCaller) StateExists

func (_CPolygonid *CPolygonidCaller) StateExists(opts *bind.CallOpts, state *big.Int) (bool, error)

StateExists is a free data retrieval call binding the contract method 0x08fd3b76.

Solidity: function stateExists(uint256 state) view returns(bool)

type CPolygonidCallerRaw

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

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

func (*CPolygonidCallerRaw) Call

func (_CPolygonid *CPolygonidCallerRaw) 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 CPolygonidCallerSession

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

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

func (*CPolygonidCallerSession) GetGISTProof

func (_CPolygonid *CPolygonidCallerSession) GetGISTProof(id *big.Int) (SmtProof, error)

GetGISTProof is a free data retrieval call binding the contract method 0x3025bb8c.

Solidity: function getGISTProof(uint256 id) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTProofByBlock

func (_CPolygonid *CPolygonidCallerSession) GetGISTProofByBlock(id *big.Int, blockNumber *big.Int) (SmtProof, error)

GetGISTProofByBlock is a free data retrieval call binding the contract method 0x046ff140.

Solidity: function getGISTProofByBlock(uint256 id, uint256 blockNumber) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTProofByRoot

func (_CPolygonid *CPolygonidCallerSession) GetGISTProofByRoot(id *big.Int, root *big.Int) (SmtProof, error)

GetGISTProofByRoot is a free data retrieval call binding the contract method 0xe12a36c0.

Solidity: function getGISTProofByRoot(uint256 id, uint256 root) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTProofByTime

func (_CPolygonid *CPolygonidCallerSession) GetGISTProofByTime(id *big.Int, timestamp *big.Int) (SmtProof, error)

GetGISTProofByTime is a free data retrieval call binding the contract method 0xd51afebf.

Solidity: function getGISTProofByTime(uint256 id, uint256 timestamp) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTRoot

func (_CPolygonid *CPolygonidCallerSession) GetGISTRoot() (*big.Int, error)

GetGISTRoot is a free data retrieval call binding the contract method 0x2439e3a6.

Solidity: function getGISTRoot() view returns(uint256)

func (*CPolygonidCallerSession) GetGISTRootHistory

func (_CPolygonid *CPolygonidCallerSession) GetGISTRootHistory(start *big.Int, length *big.Int) ([]SmtRootInfo, error)

GetGISTRootHistory is a free data retrieval call binding the contract method 0x2f7670e4.

Solidity: function getGISTRootHistory(uint256 start, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidCallerSession) GetGISTRootHistoryLength

func (_CPolygonid *CPolygonidCallerSession) GetGISTRootHistoryLength() (*big.Int, error)

GetGISTRootHistoryLength is a free data retrieval call binding the contract method 0xdccbd57a.

Solidity: function getGISTRootHistoryLength() view returns(uint256)

func (*CPolygonidCallerSession) GetGISTRootInfo

func (_CPolygonid *CPolygonidCallerSession) GetGISTRootInfo(root *big.Int) (SmtRootInfo, error)

GetGISTRootInfo is a free data retrieval call binding the contract method 0x7c1a66de.

Solidity: function getGISTRootInfo(uint256 root) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTRootInfoByBlock

func (_CPolygonid *CPolygonidCallerSession) GetGISTRootInfoByBlock(blockNumber *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByBlock is a free data retrieval call binding the contract method 0x5845e530.

Solidity: function getGISTRootInfoByBlock(uint256 blockNumber) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCallerSession) GetGISTRootInfoByTime

func (_CPolygonid *CPolygonidCallerSession) GetGISTRootInfoByTime(timestamp *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByTime is a free data retrieval call binding the contract method 0x0ef6e65b.

Solidity: function getGISTRootInfoByTime(uint256 timestamp) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCallerSession) GetStateInfoById

func (_CPolygonid *CPolygonidCallerSession) GetStateInfoById(id *big.Int) (StateV2StateInfo, error)

GetStateInfoById is a free data retrieval call binding the contract method 0xb4bdea55.

Solidity: function getStateInfoById(uint256 id) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCallerSession) GetStateInfoByState

func (_CPolygonid *CPolygonidCallerSession) GetStateInfoByState(state *big.Int) (StateV2StateInfo, error)

GetStateInfoByState is a free data retrieval call binding the contract method 0x3622b0bc.

Solidity: function getStateInfoByState(uint256 state) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidCallerSession) GetStateInfoHistoryById

func (_CPolygonid *CPolygonidCallerSession) GetStateInfoHistoryById(id *big.Int, startIndex *big.Int, length *big.Int) ([]StateV2StateInfo, error)

GetStateInfoHistoryById is a free data retrieval call binding the contract method 0xe99858fe.

Solidity: function getStateInfoHistoryById(uint256 id, uint256 startIndex, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidCallerSession) GetStateInfoHistoryLengthById

func (_CPolygonid *CPolygonidCallerSession) GetStateInfoHistoryLengthById(id *big.Int) (*big.Int, error)

GetStateInfoHistoryLengthById is a free data retrieval call binding the contract method 0x676d5b5a.

Solidity: function getStateInfoHistoryLengthById(uint256 id) view returns(uint256)

func (*CPolygonidCallerSession) GetVerifier

func (_CPolygonid *CPolygonidCallerSession) GetVerifier() (common.Address, error)

GetVerifier is a free data retrieval call binding the contract method 0x46657fe9.

Solidity: function getVerifier() view returns(address)

func (*CPolygonidCallerSession) IDHISTORYRETURNLIMIT

func (_CPolygonid *CPolygonidCallerSession) IDHISTORYRETURNLIMIT() (*big.Int, error)

IDHISTORYRETURNLIMIT is a free data retrieval call binding the contract method 0xeaa6b26c.

Solidity: function ID_HISTORY_RETURN_LIMIT() view returns(uint256)

func (*CPolygonidCallerSession) IdExists

func (_CPolygonid *CPolygonidCallerSession) IdExists(id *big.Int) (bool, error)

IdExists is a free data retrieval call binding the contract method 0x0b8a295a.

Solidity: function idExists(uint256 id) view returns(bool)

func (*CPolygonidCallerSession) Owner

func (_CPolygonid *CPolygonidCallerSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*CPolygonidCallerSession) StateExists

func (_CPolygonid *CPolygonidCallerSession) StateExists(state *big.Int) (bool, error)

StateExists is a free data retrieval call binding the contract method 0x08fd3b76.

Solidity: function stateExists(uint256 state) view returns(bool)

type CPolygonidFilterer

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

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

func NewCPolygonidFilterer

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

NewCPolygonidFilterer creates a new log filterer instance of CPolygonid, bound to a specific deployed contract.

func (*CPolygonidFilterer) FilterInitialized

func (_CPolygonid *CPolygonidFilterer) FilterInitialized(opts *bind.FilterOpts) (*CPolygonidInitializedIterator, error)

FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.

Solidity: event Initialized(uint8 version)

func (*CPolygonidFilterer) FilterOwnershipTransferred

func (_CPolygonid *CPolygonidFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*CPolygonidOwnershipTransferredIterator, error)

FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*CPolygonidFilterer) FilterStateUpdated

func (_CPolygonid *CPolygonidFilterer) FilterStateUpdated(opts *bind.FilterOpts) (*CPolygonidStateUpdatedIterator, error)

FilterStateUpdated is a free log retrieval operation binding the contract event 0x88aef4d78ad30d12a12a98e96007f5b09c1610b5364b2b99960b7d07e00a8838.

Solidity: event StateUpdated(uint256 id, uint256 blockN, uint256 timestamp, uint256 state)

func (*CPolygonidFilterer) ParseInitialized

func (_CPolygonid *CPolygonidFilterer) ParseInitialized(log types.Log) (*CPolygonidInitialized, error)

ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.

Solidity: event Initialized(uint8 version)

func (*CPolygonidFilterer) ParseOwnershipTransferred

func (_CPolygonid *CPolygonidFilterer) ParseOwnershipTransferred(log types.Log) (*CPolygonidOwnershipTransferred, error)

ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*CPolygonidFilterer) ParseStateUpdated

func (_CPolygonid *CPolygonidFilterer) ParseStateUpdated(log types.Log) (*CPolygonidStateUpdated, error)

ParseStateUpdated is a log parse operation binding the contract event 0x88aef4d78ad30d12a12a98e96007f5b09c1610b5364b2b99960b7d07e00a8838.

Solidity: event StateUpdated(uint256 id, uint256 blockN, uint256 timestamp, uint256 state)

func (*CPolygonidFilterer) WatchInitialized

func (_CPolygonid *CPolygonidFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *CPolygonidInitialized) (event.Subscription, error)

WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.

Solidity: event Initialized(uint8 version)

func (*CPolygonidFilterer) WatchOwnershipTransferred

func (_CPolygonid *CPolygonidFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *CPolygonidOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error)

WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.

Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

func (*CPolygonidFilterer) WatchStateUpdated

func (_CPolygonid *CPolygonidFilterer) WatchStateUpdated(opts *bind.WatchOpts, sink chan<- *CPolygonidStateUpdated) (event.Subscription, error)

WatchStateUpdated is a free log subscription operation binding the contract event 0x88aef4d78ad30d12a12a98e96007f5b09c1610b5364b2b99960b7d07e00a8838.

Solidity: event StateUpdated(uint256 id, uint256 blockN, uint256 timestamp, uint256 state)

type CPolygonidInitialized

type CPolygonidInitialized struct {
	Version uint8
	Raw     types.Log // Blockchain specific contextual infos
}

CPolygonidInitialized represents a Initialized event raised by the CPolygonid contract.

type CPolygonidInitializedIterator

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

CPolygonidInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the CPolygonid contract.

func (*CPolygonidInitializedIterator) Close

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

func (*CPolygonidInitializedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*CPolygonidInitializedIterator) 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 CPolygonidOwnershipTransferred

type CPolygonidOwnershipTransferred struct {
	PreviousOwner common.Address
	NewOwner      common.Address
	Raw           types.Log // Blockchain specific contextual infos
}

CPolygonidOwnershipTransferred represents a OwnershipTransferred event raised by the CPolygonid contract.

type CPolygonidOwnershipTransferredIterator

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

CPolygonidOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the CPolygonid contract.

func (*CPolygonidOwnershipTransferredIterator) Close

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

func (*CPolygonidOwnershipTransferredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*CPolygonidOwnershipTransferredIterator) 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 CPolygonidRaw

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

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

func (*CPolygonidRaw) Call

func (_CPolygonid *CPolygonidRaw) 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 (*CPolygonidRaw) Transact

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

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

func (*CPolygonidRaw) Transfer

func (_CPolygonid *CPolygonidRaw) 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 CPolygonidSession

type CPolygonidSession struct {
	Contract     *CPolygonid       // 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
}

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

func (*CPolygonidSession) GetGISTProof

func (_CPolygonid *CPolygonidSession) GetGISTProof(id *big.Int) (SmtProof, error)

GetGISTProof is a free data retrieval call binding the contract method 0x3025bb8c.

Solidity: function getGISTProof(uint256 id) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidSession) GetGISTProofByBlock

func (_CPolygonid *CPolygonidSession) GetGISTProofByBlock(id *big.Int, blockNumber *big.Int) (SmtProof, error)

GetGISTProofByBlock is a free data retrieval call binding the contract method 0x046ff140.

Solidity: function getGISTProofByBlock(uint256 id, uint256 blockNumber) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidSession) GetGISTProofByRoot

func (_CPolygonid *CPolygonidSession) GetGISTProofByRoot(id *big.Int, root *big.Int) (SmtProof, error)

GetGISTProofByRoot is a free data retrieval call binding the contract method 0xe12a36c0.

Solidity: function getGISTProofByRoot(uint256 id, uint256 root) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidSession) GetGISTProofByTime

func (_CPolygonid *CPolygonidSession) GetGISTProofByTime(id *big.Int, timestamp *big.Int) (SmtProof, error)

GetGISTProofByTime is a free data retrieval call binding the contract method 0xd51afebf.

Solidity: function getGISTProofByTime(uint256 id, uint256 timestamp) view returns((uint256,bool,uint256[64],uint256,uint256,bool,uint256,uint256))

func (*CPolygonidSession) GetGISTRoot

func (_CPolygonid *CPolygonidSession) GetGISTRoot() (*big.Int, error)

GetGISTRoot is a free data retrieval call binding the contract method 0x2439e3a6.

Solidity: function getGISTRoot() view returns(uint256)

func (*CPolygonidSession) GetGISTRootHistory

func (_CPolygonid *CPolygonidSession) GetGISTRootHistory(start *big.Int, length *big.Int) ([]SmtRootInfo, error)

GetGISTRootHistory is a free data retrieval call binding the contract method 0x2f7670e4.

Solidity: function getGISTRootHistory(uint256 start, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidSession) GetGISTRootHistoryLength

func (_CPolygonid *CPolygonidSession) GetGISTRootHistoryLength() (*big.Int, error)

GetGISTRootHistoryLength is a free data retrieval call binding the contract method 0xdccbd57a.

Solidity: function getGISTRootHistoryLength() view returns(uint256)

func (*CPolygonidSession) GetGISTRootInfo

func (_CPolygonid *CPolygonidSession) GetGISTRootInfo(root *big.Int) (SmtRootInfo, error)

GetGISTRootInfo is a free data retrieval call binding the contract method 0x7c1a66de.

Solidity: function getGISTRootInfo(uint256 root) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidSession) GetGISTRootInfoByBlock

func (_CPolygonid *CPolygonidSession) GetGISTRootInfoByBlock(blockNumber *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByBlock is a free data retrieval call binding the contract method 0x5845e530.

Solidity: function getGISTRootInfoByBlock(uint256 blockNumber) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidSession) GetGISTRootInfoByTime

func (_CPolygonid *CPolygonidSession) GetGISTRootInfoByTime(timestamp *big.Int) (SmtRootInfo, error)

GetGISTRootInfoByTime is a free data retrieval call binding the contract method 0x0ef6e65b.

Solidity: function getGISTRootInfoByTime(uint256 timestamp) view returns((uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidSession) GetStateInfoById

func (_CPolygonid *CPolygonidSession) GetStateInfoById(id *big.Int) (StateV2StateInfo, error)

GetStateInfoById is a free data retrieval call binding the contract method 0xb4bdea55.

Solidity: function getStateInfoById(uint256 id) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidSession) GetStateInfoByState

func (_CPolygonid *CPolygonidSession) GetStateInfoByState(state *big.Int) (StateV2StateInfo, error)

GetStateInfoByState is a free data retrieval call binding the contract method 0x3622b0bc.

Solidity: function getStateInfoByState(uint256 state) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*CPolygonidSession) GetStateInfoHistoryById

func (_CPolygonid *CPolygonidSession) GetStateInfoHistoryById(id *big.Int, startIndex *big.Int, length *big.Int) ([]StateV2StateInfo, error)

GetStateInfoHistoryById is a free data retrieval call binding the contract method 0xe99858fe.

Solidity: function getStateInfoHistoryById(uint256 id, uint256 startIndex, uint256 length) view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256)[])

func (*CPolygonidSession) GetStateInfoHistoryLengthById

func (_CPolygonid *CPolygonidSession) GetStateInfoHistoryLengthById(id *big.Int) (*big.Int, error)

GetStateInfoHistoryLengthById is a free data retrieval call binding the contract method 0x676d5b5a.

Solidity: function getStateInfoHistoryLengthById(uint256 id) view returns(uint256)

func (*CPolygonidSession) GetVerifier

func (_CPolygonid *CPolygonidSession) GetVerifier() (common.Address, error)

GetVerifier is a free data retrieval call binding the contract method 0x46657fe9.

Solidity: function getVerifier() view returns(address)

func (*CPolygonidSession) IDHISTORYRETURNLIMIT

func (_CPolygonid *CPolygonidSession) IDHISTORYRETURNLIMIT() (*big.Int, error)

IDHISTORYRETURNLIMIT is a free data retrieval call binding the contract method 0xeaa6b26c.

Solidity: function ID_HISTORY_RETURN_LIMIT() view returns(uint256)

func (*CPolygonidSession) IdExists

func (_CPolygonid *CPolygonidSession) IdExists(id *big.Int) (bool, error)

IdExists is a free data retrieval call binding the contract method 0x0b8a295a.

Solidity: function idExists(uint256 id) view returns(bool)

func (*CPolygonidSession) Initialize

func (_CPolygonid *CPolygonidSession) Initialize(verifierContractAddr common.Address) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xc4d66de8.

Solidity: function initialize(address verifierContractAddr) returns()

func (*CPolygonidSession) Owner

func (_CPolygonid *CPolygonidSession) Owner() (common.Address, error)

Owner is a free data retrieval call binding the contract method 0x8da5cb5b.

Solidity: function owner() view returns(address)

func (*CPolygonidSession) RenounceOwnership

func (_CPolygonid *CPolygonidSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*CPolygonidSession) SetVerifier

func (_CPolygonid *CPolygonidSession) SetVerifier(newVerifierAddr common.Address) (*types.Transaction, error)

SetVerifier is a paid mutator transaction binding the contract method 0x5437988d.

Solidity: function setVerifier(address newVerifierAddr) returns()

func (*CPolygonidSession) StateExists

func (_CPolygonid *CPolygonidSession) StateExists(state *big.Int) (bool, error)

StateExists is a free data retrieval call binding the contract method 0x08fd3b76.

Solidity: function stateExists(uint256 state) view returns(bool)

func (*CPolygonidSession) TransferOwnership

func (_CPolygonid *CPolygonidSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*CPolygonidSession) TransitState

func (_CPolygonid *CPolygonidSession) TransitState(id *big.Int, oldState *big.Int, newState *big.Int, isOldStateGenesis bool, a [2]*big.Int, b [2][2]*big.Int, c [2]*big.Int) (*types.Transaction, error)

TransitState is a paid mutator transaction binding the contract method 0x28f88a65.

Solidity: function transitState(uint256 id, uint256 oldState, uint256 newState, bool isOldStateGenesis, uint256[2] a, uint256[2][2] b, uint256[2] c) returns()

type CPolygonidStateUpdated

type CPolygonidStateUpdated struct {
	Id        *big.Int
	BlockN    *big.Int
	Timestamp *big.Int
	State     *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

CPolygonidStateUpdated represents a StateUpdated event raised by the CPolygonid contract.

type CPolygonidStateUpdatedIterator

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

CPolygonidStateUpdatedIterator is returned from FilterStateUpdated and is used to iterate over the raw logs and unpacked data for StateUpdated events raised by the CPolygonid contract.

func (*CPolygonidStateUpdatedIterator) Close

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

func (*CPolygonidStateUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*CPolygonidStateUpdatedIterator) 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 CPolygonidTransactor

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

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

func NewCPolygonidTransactor

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

NewCPolygonidTransactor creates a new write-only instance of CPolygonid, bound to a specific deployed contract.

func (*CPolygonidTransactor) Initialize

func (_CPolygonid *CPolygonidTransactor) Initialize(opts *bind.TransactOpts, verifierContractAddr common.Address) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xc4d66de8.

Solidity: function initialize(address verifierContractAddr) returns()

func (*CPolygonidTransactor) RenounceOwnership

func (_CPolygonid *CPolygonidTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*CPolygonidTransactor) SetVerifier

func (_CPolygonid *CPolygonidTransactor) SetVerifier(opts *bind.TransactOpts, newVerifierAddr common.Address) (*types.Transaction, error)

SetVerifier is a paid mutator transaction binding the contract method 0x5437988d.

Solidity: function setVerifier(address newVerifierAddr) returns()

func (*CPolygonidTransactor) TransferOwnership

func (_CPolygonid *CPolygonidTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*CPolygonidTransactor) TransitState

func (_CPolygonid *CPolygonidTransactor) TransitState(opts *bind.TransactOpts, id *big.Int, oldState *big.Int, newState *big.Int, isOldStateGenesis bool, a [2]*big.Int, b [2][2]*big.Int, c [2]*big.Int) (*types.Transaction, error)

TransitState is a paid mutator transaction binding the contract method 0x28f88a65.

Solidity: function transitState(uint256 id, uint256 oldState, uint256 newState, bool isOldStateGenesis, uint256[2] a, uint256[2][2] b, uint256[2] c) returns()

type CPolygonidTransactorRaw

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

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

func (*CPolygonidTransactorRaw) Transact

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

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

func (*CPolygonidTransactorRaw) Transfer

func (_CPolygonid *CPolygonidTransactorRaw) 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 CPolygonidTransactorSession

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

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

func (*CPolygonidTransactorSession) Initialize

func (_CPolygonid *CPolygonidTransactorSession) Initialize(verifierContractAddr common.Address) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xc4d66de8.

Solidity: function initialize(address verifierContractAddr) returns()

func (*CPolygonidTransactorSession) RenounceOwnership

func (_CPolygonid *CPolygonidTransactorSession) RenounceOwnership() (*types.Transaction, error)

RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.

Solidity: function renounceOwnership() returns()

func (*CPolygonidTransactorSession) SetVerifier

func (_CPolygonid *CPolygonidTransactorSession) SetVerifier(newVerifierAddr common.Address) (*types.Transaction, error)

SetVerifier is a paid mutator transaction binding the contract method 0x5437988d.

Solidity: function setVerifier(address newVerifierAddr) returns()

func (*CPolygonidTransactorSession) TransferOwnership

func (_CPolygonid *CPolygonidTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.

Solidity: function transferOwnership(address newOwner) returns()

func (*CPolygonidTransactorSession) TransitState

func (_CPolygonid *CPolygonidTransactorSession) TransitState(id *big.Int, oldState *big.Int, newState *big.Int, isOldStateGenesis bool, a [2]*big.Int, b [2][2]*big.Int, c [2]*big.Int) (*types.Transaction, error)

TransitState is a paid mutator transaction binding the contract method 0x28f88a65.

Solidity: function transitState(uint256 id, uint256 oldState, uint256 newState, bool isOldStateGenesis, uint256[2] a, uint256[2][2] b, uint256[2] c) returns()

type EnvConfig

type EnvConfig struct {
	EthereumURL           string
	StateContractAddr     common.Address
	ReverseHashServiceUrl string
}

type JsonBigInt

type JsonBigInt big.Int

func (*JsonBigInt) BigInt

func (j *JsonBigInt) BigInt() *big.Int

func (*JsonBigInt) MarshalJSON

func (j *JsonBigInt) MarshalJSON() ([]byte, error)

func (*JsonBigInt) UnmarshalJSON

func (j *JsonBigInt) UnmarshalJSON(bytes []byte) error

type SmartContractProof

type SmartContractProof struct {
	Root         *big.Int
	Existence    bool
	Siblings     []*big.Int
	AuxExistence bool
	AuxIndex     *big.Int
	AuxValue     *big.Int
}

func (*SmartContractProof) UnmarshalJSON

func (s *SmartContractProof) UnmarshalJSON(bytes []byte) error

type SmtProof

type SmtProof struct {
	Root         *big.Int
	Existence    bool
	Siblings     [64]*big.Int
	Index        *big.Int
	Value        *big.Int
	AuxExistence bool
	AuxIndex     *big.Int
	AuxValue     *big.Int
}

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

type SmtRootInfo

type SmtRootInfo struct {
	Root                *big.Int
	ReplacedByRoot      *big.Int
	CreatedAtTimestamp  *big.Int
	ReplacedAtTimestamp *big.Int
	CreatedAtBlock      *big.Int
	ReplacedAtBlock     *big.Int
}

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

type StateV2StateInfo

type StateV2StateInfo struct {
	Id                  *big.Int
	State               *big.Int
	ReplacedByState     *big.Int
	CreatedAtTimestamp  *big.Int
	ReplacedAtTimestamp *big.Int
	CreatedAtBlock      *big.Int
	ReplacedAtBlock     *big.Int
}

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

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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