From 5a7ad5aee98a30854caf5a78fb4079fb93138da8 Mon Sep 17 00:00:00 2001 From: Jordi Pinyana Date: Mon, 20 Jan 2025 17:15:01 +0000 Subject: [PATCH] go-types: add bytecode for contract deployments --- go_bind.sh | 7 ++++++- golang-types/OrganizationRegistry.go | 22 ++++++++++++++++++++++ golang-types/ProcessRegistry.go | 22 ++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/go_bind.sh b/go_bind.sh index 19fbbb7..3025184 100755 --- a/go_bind.sh +++ b/go_bind.sh @@ -18,16 +18,21 @@ abi() { local json_file="$1" local pkg_name="$2" local output_file="$3" + local bin_file="./golang-types/${pkg_name}.bin" if [[ ! -f "$json_file" ]]; then echo "Error: File '$json_file' does not exist." >&2 exit 1 fi + jq -r '.bytecode' "$json_file" > "$bin_file" + # Generate the Go bindings directly from the JSON ABI - jq -r '.abi' "$json_file" | abigen --abi=/dev/stdin --pkg="$pkg_name" --out="$output_file" + jq -r '.abi' "$json_file" | abigen --abi=/dev/stdin --pkg="$pkg_name" --out="$output_file" --bin="$bin_file" echo "Successfully generated Go bindings for '$pkg_name' contract." + rm -f "$bin_file" + # Replace the package name in the generated file with "contracts" sed_in_place "s/^package $pkg_name/package contracts/" "$output_file" } diff --git a/golang-types/OrganizationRegistry.go b/golang-types/OrganizationRegistry.go index 1c9ac24..6b55501 100644 --- a/golang-types/OrganizationRegistry.go +++ b/golang-types/OrganizationRegistry.go @@ -32,12 +32,34 @@ var ( // OrganizationRegistryMetaData contains all meta data concerning the OrganizationRegistry contract. var OrganizationRegistryMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"OrganizationCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"}],\"name\":\"OrganizationUpdated\",\"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\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"administrator\",\"type\":\"address\"}],\"name\":\"addAdministrator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"administrators\",\"type\":\"address[]\"}],\"name\":\"createOrganization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"}],\"name\":\"deleteOrganization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"}],\"name\":\"getOrganization\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAdministrator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"organizationCount\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"organizations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"processCount\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"administrator\",\"type\":\"address\"}],\"name\":\"removeAdministrator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"id\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"}],\"name\":\"updateOrganization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b50608051612ed761006c600039600081816116d90152818161172e01526118e90152612ed76000f3fe6080604052600436106100f35760003560e01c80638129fc1c1161008a578063c2a950be11610059578063c2a950be146102e3578063d2c30a6d1461030c578063f1c621041461034b578063f2fde38b14610376576100f3565b80638129fc1c146102395780638da5cb5b14610250578063ad3cb1cc1461027b578063c1af6e03146102a6576100f3565b80635a1f7406116100c65780635a1f7406146101915780636cca67bf146101d0578063715018a6146101f95780637acbb8af14610210576100f3565b80631c2e3d82146100f85780633c10eee5146101215780634f1ef2861461014a57806352d1902d14610166575b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a919061202d565b61039f565b005b34801561012d57600080fd5b506101486004803603810190610143919061202d565b610606565b005b610164600480360381019061015f91906121b3565b61086d565b005b34801561017257600080fd5b5061017b61088c565b6040516101889190612228565b60405180910390f35b34801561019d57600080fd5b506101b860048036038101906101b39190612243565b6108bf565b6040516101c79392919061230e565b60405180910390f35b3480156101dc57600080fd5b506101f760048036038101906101f291906123b3565b610a09565b005b34801561020557600080fd5b5061020e610cbe565b005b34801561021c57600080fd5b5061023760048036038101906102329190612243565b610cd2565b005b34801561024557600080fd5b5061024e610e26565b005b34801561025c57600080fd5b50610265610fbc565b6040516102729190612457565b60405180910390f35b34801561028757600080fd5b50610290610ff4565b60405161029d9190612472565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c8919061202d565b61102d565b6040516102da91906124af565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190612520565b6110c3565b005b34801561031857600080fd5b50610333600480360381019061032e9190612243565b6114b1565b6040516103429392919061230e565b60405180910390f35b34801561035757600080fd5b5061036061163b565b60405161036d91906125e9565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612243565b611651565b005b816000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661046b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046290612676565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180546104b9906126c5565b9050116104fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f290612768565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361056a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610561906127fa565b60405180910390fd5b60016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b816000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c990612676565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054610720906126c5565b905011610762576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075990612768565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c8906127fa565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6108756116d7565b61087e826117bd565b61088882826117c8565b5050565b60006108966118e7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60006020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060010180546108f8906126c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610924906126c5565b80156109715780601f1061094657610100808354040283529160200191610971565b820191906000526020600020905b81548152906001019060200180831161095457829003601f168201915b505050505090806002018054610986906126c5565b80601f01602080910402602001604051908101604052809291908181526020018280546109b2906126c5565b80156109ff5780601f106109d4576101008083540402835291602001916109ff565b820191906000526020600020905b8154815290600101906020018083116109e257829003601f168201915b5050505050905083565b846000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc90612676565b60405180910390fd5b60008585905011610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b129061288c565b60405180910390fd5b60008383905011610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b589061291e565b60405180910390fd5b60008060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054610baf906126c5565b905011610bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be890612768565b60405180910390fd5b60008060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508585826001019182610c46929190612aff565b508383826002019182610c5a929190612aff565b503373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fdcd663553eb7f5f57b83637c17d95d22a764affd6dbcc98f8ce9dcbac3e239f660405160405180910390a350505050505050565b610cc661196e565b610cd060006119f5565b565b610cda61196e565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054610d28906126c5565b905011610d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6190612768565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549063ffffffff0219169055600182016000610dd09190611f5e565b600282016000610de09190611f5e565b50506001600081819054906101000a900463ffffffff1680929190610e0490612bfe565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b6000610e30611acc565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015610e7e5750825b9050600060018367ffffffffffffffff16148015610eb3575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610ec1575080155b15610ef8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610f485760018560000160086101000a81548160ff0219169083151502179055505b610f5133611af4565b610f59611b08565b8315610fb55760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051610fac9190612c76565b60405180910390a15b5050505050565b600080610fc7611b12565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990612cdd565b60405180910390fd5b60008686905011611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f9061288c565b60405180910390fd5b60008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180546111c6906126c5565b905014611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff90612d6f565b60405180910390fd5b60008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050868682600101918261125d929190612aff565b508484826002019182611271929190612aff565b5060008383905011156113b25760005b838390508110156113b057600073ffffffffffffffffffffffffffffffffffffffff168484838181106112b7576112b6612d8f565b5b90506020020160208101906112cc9190612243565b73ffffffffffffffffffffffffffffffffffffffff1603611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906127fa565b60405180910390fd5b600182600301600086868581811061133d5761133c612d8f565b5b90506020020160208101906113529190612243565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611281565b505b60018160030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600081819054906101000a900463ffffffff168092919061142e90612dbe565b91906101000a81548163ffffffff021916908363ffffffff160217905550503373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f2725ca0bb6f842da395a595005373aaa8e052b21133359b3c75f59a1247e6e7a60405160405180910390a35050505050505050565b600060608060008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160009054906101000a900463ffffffff168160010182600201818054611521906126c5565b80601f016020809104026020016040519081016040528092919081815260200182805461154d906126c5565b801561159a5780601f1061156f5761010080835404028352916020019161159a565b820191906000526020600020905b81548152906001019060200180831161157d57829003601f168201915b505050505091508080546115ad906126c5565b80601f01602080910402602001604051908101604052809291908181526020018280546115d9906126c5565b80156116265780601f106115fb57610100808354040283529160200191611626565b820191906000526020600020905b81548152906001019060200180831161160957829003601f168201915b50505050509050935093509350509193909250565b600160009054906101000a900463ffffffff1681565b61165961196e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116cb5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016116c29190612457565b60405180910390fd5b6116d4816119f5565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061178457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661176b611b3a565b73ffffffffffffffffffffffffffffffffffffffff1614155b156117bb576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6117c561196e565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561183057506040513d601f19601f8201168201806040525081019061182d9190612e16565b60015b61187157816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016118689190612457565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b81146118d857806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016118cf9190612228565b60405180910390fd5b6118e28383611b91565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461196c576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611976611c04565b73ffffffffffffffffffffffffffffffffffffffff16611994610fbc565b73ffffffffffffffffffffffffffffffffffffffff16146119f3576119b7611c04565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016119ea9190612457565b60405180910390fd5b565b60006119ff611b12565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b611afc611c0c565b611b0581611c4c565b50565b611b10611c0c565b565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b6000611b687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b611cd2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611b9a82611cdc565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115611bf757611bf18282611da9565b50611c00565b611bff611e2d565b5b5050565b600033905090565b611c14611e6a565b611c4a576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611c54611c0c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cc65760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611cbd9190612457565b60405180910390fd5b611ccf816119f5565b50565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03611d3857806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401611d2f9190612457565b60405180910390fd5b80611d657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b611cd2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051611dd39190612e8a565b600060405180830381855af49150503d8060008114611e0e576040519150601f19603f3d011682016040523d82523d6000602084013e611e13565b606091505b5091509150611e23858383611e8a565b9250505092915050565b6000341115611e68576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6000611e74611acc565b60000160089054906101000a900460ff16905090565b606082611e9f57611e9a82611f19565b611f11565b60008251148015611ec7575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15611f0957836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401611f009190612457565b60405180910390fd5b819050611f12565b5b9392505050565b600081511115611f2c5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054611f6a906126c5565b6000825580601f10611f7c5750611f9b565b601f016020900490600052602060002090810190611f9a9190611f9e565b5b50565b5b80821115611fb7576000816000905550600101611f9f565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ffa82611fcf565b9050919050565b61200a81611fef565b811461201557600080fd5b50565b60008135905061202781612001565b92915050565b6000806040838503121561204457612043611fc5565b5b600061205285828601612018565b925050602061206385828601612018565b9150509250929050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6120c082612077565b810181811067ffffffffffffffff821117156120df576120de612088565b5b80604052505050565b60006120f2611fbb565b90506120fe82826120b7565b919050565b600067ffffffffffffffff82111561211e5761211d612088565b5b61212782612077565b9050602081019050919050565b82818337600083830152505050565b600061215661215184612103565b6120e8565b90508281526020810184848401111561217257612171612072565b5b61217d848285612134565b509392505050565b600082601f83011261219a5761219961206d565b5b81356121aa848260208601612143565b91505092915050565b600080604083850312156121ca576121c9611fc5565b5b60006121d885828601612018565b925050602083013567ffffffffffffffff8111156121f9576121f8611fca565b5b61220585828601612185565b9150509250929050565b6000819050919050565b6122228161220f565b82525050565b600060208201905061223d6000830184612219565b92915050565b60006020828403121561225957612258611fc5565b5b600061226784828501612018565b91505092915050565b600063ffffffff82169050919050565b61228981612270565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122c95780820151818401526020810190506122ae565b60008484015250505050565b60006122e08261228f565b6122ea818561229a565b93506122fa8185602086016122ab565b61230381612077565b840191505092915050565b60006060820190506123236000830186612280565b818103602083015261233581856122d5565b9050818103604083015261234981846122d5565b9050949350505050565b600080fd5b600080fd5b60008083601f8401126123735761237261206d565b5b8235905067ffffffffffffffff8111156123905761238f612353565b5b6020830191508360018202830111156123ac576123ab612358565b5b9250929050565b6000806000806000606086880312156123cf576123ce611fc5565b5b60006123dd88828901612018565b955050602086013567ffffffffffffffff8111156123fe576123fd611fca565b5b61240a8882890161235d565b9450945050604086013567ffffffffffffffff81111561242d5761242c611fca565b5b6124398882890161235d565b92509250509295509295909350565b61245181611fef565b82525050565b600060208201905061246c6000830184612448565b92915050565b6000602082019050818103600083015261248c81846122d5565b905092915050565b60008115159050919050565b6124a981612494565b82525050565b60006020820190506124c460008301846124a0565b92915050565b60008083601f8401126124e0576124df61206d565b5b8235905067ffffffffffffffff8111156124fd576124fc612353565b5b60208301915083602082028301111561251957612518612358565b5b9250929050565b60008060008060008060006080888a03121561253f5761253e611fc5565b5b600061254d8a828b01612018565b975050602088013567ffffffffffffffff81111561256e5761256d611fca565b5b61257a8a828b0161235d565b9650965050604088013567ffffffffffffffff81111561259d5761259c611fca565b5b6125a98a828b0161235d565b9450945050606088013567ffffffffffffffff8111156125cc576125cb611fca565b5b6125d88a828b016124ca565b925092505092959891949750929550565b60006020820190506125fe6000830184612280565b92915050565b7f4f7267616e697a6174696f6e52656769737472793a206e6f7420616e2061646d60008201527f696e6973747261746f7200000000000000000000000000000000000000000000602082015250565b6000612660602a8361229a565b915061266b82612604565b604082019050919050565b6000602082019050818103600083015261268f81612653565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126dd57607f821691505b6020821081036126f0576126ef612696565b5b50919050565b7f4f7267616e697a6174696f6e52656769737472793a206f7267616e697a61746960008201527f6f6e20646f6573206e6f74206578697374000000000000000000000000000000602082015250565b600061275260318361229a565b915061275d826126f6565b604082019050919050565b6000602082019050818103600083015261278181612745565b9050919050565b7f4f7267616e697a6174696f6e52656769737472793a20696e76616c696420616460008201527f6d696e6973747261746f72206164647265737300000000000000000000000000602082015250565b60006127e460338361229a565b91506127ef82612788565b604082019050919050565b60006020820190508181036000830152612813816127d7565b9050919050565b7f4f7267616e697a6174696f6e52656769737472793a20696e76616c6964206e6160008201527f6d65000000000000000000000000000000000000000000000000000000000000602082015250565b600061287660228361229a565b91506128818261281a565b604082019050919050565b600060208201905081810360008301526128a581612869565b9050919050565b7f4f7267616e697a6174696f6e52656769737472793a20696e76616c6964206d6560008201527f7461646174615552490000000000000000000000000000000000000000000000602082015250565b600061290860298361229a565b9150612913826128ac565b604082019050919050565b60006020820190508181036000830152612937816128fb565b9050919050565b600082905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026129ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261296e565b6129b5868361296e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006129fc6129f76129f2846129cd565b6129d7565b6129cd565b9050919050565b6000819050919050565b612a16836129e1565b612a2a612a2282612a03565b84845461297b565b825550505050565b600090565b612a3f612a32565b612a4a818484612a0d565b505050565b5b81811015612a6e57612a63600082612a37565b600181019050612a50565b5050565b601f821115612ab357612a8481612949565b612a8d8461295e565b81016020851015612a9c578190505b612ab0612aa88561295e565b830182612a4f565b50505b505050565b600082821c905092915050565b6000612ad660001984600802612ab8565b1980831691505092915050565b6000612aef8383612ac5565b9150826002028217905092915050565b612b09838361293e565b67ffffffffffffffff811115612b2257612b21612088565b5b612b2c82546126c5565b612b37828285612a72565b6000601f831160018114612b665760008415612b54578287013590505b612b5e8582612ae3565b865550612bc6565b601f198416612b7486612949565b60005b82811015612b9c57848901358255600182019150602085019450602081019050612b77565b86831015612bb95784890135612bb5601f891682612ac5565b8355505b6001600288020188555050505b50505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c0982612270565b915060008203612c1c57612c1b612bcf565b5b600182039050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000612c60612c5b612c5684612c27565b6129d7565b612c31565b9050919050565b612c7081612c45565b82525050565b6000602082019050612c8b6000830184612c67565b92915050565b7f4f7267616e697a6174696f6e52656769737472793a20696e76616c6964206964600082015250565b6000612cc760208361229a565b9150612cd282612c91565b602082019050919050565b60006020820190508181036000830152612cf681612cba565b9050919050565b7f4f7267616e697a6174696f6e52656769737472793a206f7267616e697a61746960008201527f6f6e20616c726561647920657869737473000000000000000000000000000000602082015250565b6000612d5960318361229a565b9150612d6482612cfd565b604082019050919050565b60006020820190508181036000830152612d8881612d4c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612dc982612270565b915063ffffffff8203612ddf57612dde612bcf565b5b600182019050919050565b612df38161220f565b8114612dfe57600080fd5b50565b600081519050612e1081612dea565b92915050565b600060208284031215612e2c57612e2b611fc5565b5b6000612e3a84828501612e01565b91505092915050565b600081519050919050565b600081905092915050565b6000612e6482612e43565b612e6e8185612e4e565b9350612e7e8185602086016122ab565b80840191505092915050565b6000612e968284612e59565b91508190509291505056fea2646970667358221220efedc1e47edc7f365186599d3f3f05ab5b0753070549db4703d021df91d55aac64736f6c634300081c0033", } // OrganizationRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use OrganizationRegistryMetaData.ABI instead. var OrganizationRegistryABI = OrganizationRegistryMetaData.ABI +// OrganizationRegistryBin is the compiled bytecode used for deploying new contracts. +// Deprecated: Use OrganizationRegistryMetaData.Bin instead. +var OrganizationRegistryBin = OrganizationRegistryMetaData.Bin + +// DeployOrganizationRegistry deploys a new Ethereum contract, binding an instance of OrganizationRegistry to it. +func DeployOrganizationRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *OrganizationRegistry, error) { + parsed, err := OrganizationRegistryMetaData.GetAbi() + if err != nil { + return common.Address{}, nil, nil, err + } + if parsed == nil { + return common.Address{}, nil, nil, errors.New("GetABI returned nil") + } + + address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(OrganizationRegistryBin), backend) + if err != nil { + return common.Address{}, nil, nil, err + } + return address, tx, &OrganizationRegistry{OrganizationRegistryCaller: OrganizationRegistryCaller{contract: contract}, OrganizationRegistryTransactor: OrganizationRegistryTransactor{contract: contract}, OrganizationRegistryFilterer: OrganizationRegistryFilterer{contract: contract}}, nil +} + // OrganizationRegistry is an auto generated Go binding around an Ethereum contract. type OrganizationRegistry struct { OrganizationRegistryCaller // Read-only binding to the contract diff --git a/golang-types/ProcessRegistry.go b/golang-types/ProcessRegistry.go index 879fa30..4c45a9a 100644 --- a/golang-types/ProcessRegistry.go +++ b/golang-types/ProcessRegistry.go @@ -72,12 +72,34 @@ type ProcessRegistryProcess struct { // ProcessRegistryMetaData contains all meta data concerning the ProcessRegistry contract. var ProcessRegistryMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"processID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"censusRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"censusURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxVotes\",\"type\":\"uint256\"}],\"name\":\"CensusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"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\":true,\"internalType\":\"bytes32\",\"name\":\"processID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"ProcessCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"processID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"ProcessDurationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"processID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"newStateRoot\",\"type\":\"bytes32\"}],\"name\":\"ProcessStateRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"processID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enumProcessRegistry.ProcessStatus\",\"name\":\"newStatus\",\"type\":\"uint8\"}],\"name\":\"ProcessStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chainID\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"}],\"name\":\"endProcess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"}],\"name\":\"getProcess\",\"outputs\":[{\"components\":[{\"internalType\":\"enumProcessRegistry.ProcessStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"organizationId\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.EncryptionKey\",\"name\":\"encryptionKey\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"latestStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"result\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"costFromWeight\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"forceUniqueness\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"maxCount\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"costExponent\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalCost\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.BallotMode\",\"name\":\"ballotMode\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enumProcessRegistry.CensusOrigin\",\"name\":\"censusOrigin\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxVotes\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"censusRoot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"censusURI\",\"type\":\"string\"}],\"internalType\":\"structProcessRegistry.Census\",\"name\":\"census\",\"type\":\"tuple\"}],\"internalType\":\"structProcessRegistry.Process\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_chainID\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_organizationRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumProcessRegistry.ProcessStatus\",\"name\":\"_status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"costFromWeight\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"forceUniqueness\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"maxCount\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"costExponent\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalCost\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.BallotMode\",\"name\":\"_ballotMode\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enumProcessRegistry.CensusOrigin\",\"name\":\"censusOrigin\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxVotes\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"censusRoot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"censusURI\",\"type\":\"string\"}],\"internalType\":\"structProcessRegistry.Census\",\"name\":\"_census\",\"type\":\"tuple\"},{\"internalType\":\"string\",\"name\":\"_metadata\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_organizationID\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.EncryptionKey\",\"name\":\"_encryptionKey\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_initStateRoot\",\"type\":\"bytes32\"}],\"name\":\"newProcess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"organizationRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"processCount\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"processes\",\"outputs\":[{\"internalType\":\"enumProcessRegistry.ProcessStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"organizationId\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.EncryptionKey\",\"name\":\"encryptionKey\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"latestStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"costFromWeight\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"forceUniqueness\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"maxCount\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"costExponent\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalCost\",\"type\":\"uint256\"}],\"internalType\":\"structProcessRegistry.BallotMode\",\"name\":\"ballotMode\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enumProcessRegistry.CensusOrigin\",\"name\":\"censusOrigin\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxVotes\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"censusRoot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"censusURI\",\"type\":\"string\"}],\"internalType\":\"structProcessRegistry.Census\",\"name\":\"census\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"enumProcessRegistry.CensusOrigin\",\"name\":\"censusOrigin\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxVotes\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"censusRoot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"censusURI\",\"type\":\"string\"}],\"internalType\":\"structProcessRegistry.Census\",\"name\":\"_census\",\"type\":\"tuple\"}],\"name\":\"setProcessCensus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"setProcessDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"_result\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"setProcessResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"internalType\":\"enumProcessRegistry.ProcessStatus\",\"name\":\"_newStatus\",\"type\":\"uint8\"}],\"name\":\"setProcessStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_processID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_oldRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_newRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"submitStateTransition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015604257600080fd5b506080516152f761006c600039600081816125ab0152818161260001526127bb01526152f76000f3fe6080604052600436106101145760003560e01c8063848df540116100a0578063adc879e911610064578063adc879e914610372578063b66ba6eb1461039d578063c718c01f146103c6578063ea9bcaf6146103ef578063f2fde38b1461041857610114565b8063848df540146102895780638cafab7f146102b45780638da5cb5b146102df578063992bc45b1461030a578063ad3cb1cc1461034757610114565b806352d1902d116100e757806352d1902d146101cc57806356a6f1e2146101f75780636bae04ea14610220578063715018a6146102495780637ab4339d1461026057610114565b80630535fece14610119578063152f31281461015e57806325402545146101875780634f1ef286146101b0575b600080fd5b34801561012557600080fd5b50610140600480360381019061013b9190613067565b610441565b6040516101559998979695949392919061341f565b60405180910390f35b34801561016a57600080fd5b5061018560048036038101906101809190613600565b6106f0565b005b34801561019357600080fd5b506101ae60048036038101906101a991906137cc565b610ddc565b005b6101ca60048036038101906101c59190613991565b610f73565b005b3480156101d857600080fd5b506101e1610f92565b6040516101ee91906139ed565b60405180910390f35b34801561020357600080fd5b5061021e60048036038101906102199190613a08565b610fc5565b005b34801561022c57600080fd5b5061024760048036038101906102429190613a48565b611278565b005b34801561025557600080fd5b5061025e61169a565b005b34801561026c57600080fd5b5061028760048036038101906102829190613aa4565b6116ae565b005b34801561029557600080fd5b5061029e61189a565b6040516102ab9190613b23565b60405180910390f35b3480156102c057600080fd5b506102c96118b0565b6040516102d69190613b3e565b60405180910390f35b3480156102eb57600080fd5b506102f46118d6565b6040516103019190613b3e565b60405180910390f35b34801561031657600080fd5b50610331600480360381019061032c9190613067565b61190e565b60405161033e9190613e43565b60405180910390f35b34801561035357600080fd5b5061035c611c9e565b6040516103699190613e65565b60405180910390f35b34801561037e57600080fd5b50610387611cd7565b6040516103949190613e65565b60405180910390f35b3480156103a957600080fd5b506103c460048036038101906103bf9190613e87565b611d65565b005b3480156103d257600080fd5b506103ed60048036038101906103e89190613f0f565b611f95565b005b3480156103fb57600080fd5b5061041660048036038101906104119190613067565b6122bd565b005b34801561042457600080fd5b5061043f600480360381019061043a9190613f4f565b612523565b005b60006020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160405180604001604052908160008201548152602001600182015481525050908060030154908060050154908060060154908060070180546104d390613fab565b80601f01602080910402602001604051908101604052809291908181526020018280546104ff90613fab565b801561054c5780601f106105215761010080835404028352916020019161054c565b820191906000526020600020905b81548152906001019060200180831161052f57829003601f168201915b50505050509080600801604051806101000160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a900460ff161515151581526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250509080600d016040518060800160405290816000820160009054906101000a900460ff16600981111561062f5761062e613094565b5b600981111561064157610640613094565b5b8152602001600182015481526020016002820154815260200160038201805461066990613fab565b80601f016020809104026020016040519081016040528092919081815260200182805461069590613fab565b80156106e25780601f106106b7576101008083540402835291602001916106e2565b820191906000526020600020905b8154815290600101906020018083116106c557829003601f168201915b505050505081525050905089565b60008860400160208101906107059190614008565b60ff1611610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f90614081565b60405180910390fd5b87604001602081019061075b9190614008565b60ff168860800135116107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a906140ed565b60405180910390fd5b600060048111156107b7576107b6613094565b5b8b60048111156107ca576107c9613094565b5b14806107fa5750600360048111156107e5576107e4613094565b5b8b60048111156107f8576107f7613094565b5b145b610839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083090614159565b60405180910390fd5b428a1161087b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610872906141c5565b60405180910390fd5b42898b6108889190614214565b116108c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bf90614294565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1af6e0385336040518363ffffffff1660e01b81526004016109259291906142b4565b602060405180830381865afa158015610942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109669190614309565b6109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90614382565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008085815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4090614414565b60405180910390fd5b60006040518061014001604052808d6004811115610a6a57610a69613094565b5b81526020018673ffffffffffffffffffffffffffffffffffffffff16815260200184803603810190610a9c919061448e565b8152602001838152602001600067ffffffffffffffff811115610ac257610ac1613866565b5b604051908082528060200260200182016040528015610af05781602001602082028036833780820191505090505b5081526020018c81526020018b815260200188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020018a803603810190610b5d919061459a565b815260200189610b6c90614722565b81525090508060008086815260200190815260200160002060008201518160000160006101000a81548160ff02191690836004811115610baf57610bae613094565b5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160008201518160000155602082015181600101555050606082015181600301556080820151816004019080519060200190610c40929190612e30565b5060a0820151816005015560c0820151816006015560e0820151816007019081610c6a91906148e1565b506101008201518160080160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055506080820151816001015560a0820151816002015560c0820151816003015560e08201518160040155505061012082015181600d0160008201518160000160006101000a81548160ff02191690836009811115610d5657610d55613094565b5b021790555060208201518160010155604082015181600201556060820151816003019081610d8491906148e1565b5050509050503373ffffffffffffffffffffffffffffffffffffffff16847fada6f87a2a16a0c9c169ca36754c5f33f7c1a973b575d068f888a549ed4faefa60405160405180910390a3505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff1660008087815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e77906149ff565b60405180910390fd5b60016004811115610e9457610e93613094565b5b60008087815260200190815260200160002060000160009054906101000a900460ff166004811115610ec957610ec8613094565b5b14610f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0090614a6b565b60405180910390fd5b83836000808881526020019081526020016000206004019190610f2d929190612e7d565b50600460008087815260200190815260200160002060000160006101000a81548160ff02191690836004811115610f6757610f66613094565b5b02179055505050505050565b610f7b6125a9565b610f848261268f565b610f8e828261269a565b5050565b6000610f9c6127b9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1af6e0360008085815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff1660e01b81526004016110579291906142b4565b602060405180830381865afa158015611074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110989190614309565b6110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce90614afd565b60405180910390fd5b600080600084815260200190815260200160002060000160009054906101000a900460ff1690506000600481111561111257611111613094565b5b81600481111561112557611124613094565b5b1415801561115857506003600481111561114257611141613094565b5b81600481111561115557611154613094565b5b14155b15611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f90614b69565b60405180910390fd5b8060048111156111ab576111aa613094565b5b8260048111156111be576111bd613094565b5b036111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590614bd5565b60405180910390fd5b8160008085815260200190815260200160002060000160006101000a81548160ff0219169083600481111561123657611235613094565b5b0217905550827fac0c4085a30bc70d0d8893ee5d6466ac9c5f03e27fd7292dcef128a610e7c1908360405161126b9190614bf5565b60405180910390a2505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1af6e0360008085815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff1660e01b815260040161130a9291906142b4565b602060405180830381865afa158015611327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134b9190614309565b61138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190614c82565b60405180910390fd5b600081806060019061139c9190614cb1565b9050116113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590614d60565b60405180910390fd5b6000801b816040013503611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e90614dcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c2906149ff565b60405180910390fd5b600060048111156114df576114de613094565b5b60008084815260200190815260200160002060000160009054906101000a900460ff16600481111561151457611513613094565b5b148061156657506003600481111561152f5761152e613094565b5b60008084815260200190815260200160002060000160009054906101000a900460ff16600481111561156457611563613094565b5b145b6115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c90614b69565b60405180910390fd5b8060200135600080848152602001908152602001600020600d016001015410156115eb578060200135600080848152602001908152602001600020600d01600101819055505b8060400135600080848152602001908152602001600020600d016002018190555080806060019061161c9190614cb1565b600080858152602001908152602001600020600d016003019182611641929190614df7565b50817f35947a8913e2156f19b018078c9f0667e49cb3dc24af3434a4d0b16b82675b1b82604001358380606001906116799190614cb1565b856020013560405161168e9493929190614ef4565b60405180910390a25050565b6116a2612840565b6116ac60006128c7565b565b60006116b861299e565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff161480156117065750825b9050600060018367ffffffffffffffff1614801561173b575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015611749575080155b15611780576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083156117d05760018560000160086101000a81548160ff0219169083151502179055505b6117d9336129c6565b6117e16129da565b8787600291826117f2929190614df7565b5085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083156118905760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d260016040516118879190614f83565b60405180910390a15b5050505050505050565b600160149054906101000a900463ffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806118e16129e4565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b611916612eca565b600080838152602001908152602001600020604051806101400160405290816000820160009054906101000a900460ff16600481111561195957611958613094565b5b600481111561196b5761196a613094565b5b81526020016000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182016040518060400160405290816000820154815260200160018201548152505081526020016003820154815260200160048201805480602002602001604051908101604052809291908181526020018280548015611a4657602002820191906000526020600020905b815481526020019060010190808311611a32575b505050505081526020016005820154815260200160068201548152602001600782018054611a7390613fab565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9f90613fab565b8015611aec5780601f10611ac157610100808354040283529160200191611aec565b820191906000526020600020905b815481529060010190602001808311611acf57829003601f168201915b5050505050815260200160088201604051806101000160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a900460ff161515151581526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152602001600d82016040518060800160405290816000820160009054906101000a900460ff166009811115611bd757611bd6613094565b5b6009811115611be957611be8613094565b5b81526020016001820154815260200160028201548152602001600382018054611c1190613fab565b80601f0160208091040260200160405190810160405280929190818152602001828054611c3d90613fab565b8015611c8a5780601f10611c5f57610100808354040283529160200191611c8a565b820191906000526020600020905b815481529060010190602001808311611c6d57829003601f168201915b505050505081525050815250509050919050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60028054611ce490613fab565b80601f0160208091040260200160405190810160405280929190818152602001828054611d1090613fab565b8015611d5d5780601f10611d3257610100808354040283529160200191611d5d565b820191906000526020600020905b815481529060010190602001808311611d4057829003601f168201915b505050505081565b600073ffffffffffffffffffffffffffffffffffffffff1660008087815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e00906149ff565b60405180910390fd5b600480811115611e1c57611e1b613094565b5b60008087815260200190815260200160002060000160009054906101000a900460ff166004811115611e5157611e50613094565b5b14158015611ea6575060026004811115611e6e57611e6d613094565b5b60008087815260200190815260200160002060000160009054906101000a900460ff166004811115611ea357611ea2613094565b5b14155b611ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edc90615010565b60405180910390fd5b836000808781526020019081526020016000206003015414611f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f339061507c565b60405180910390fd5b8260008087815260200190815260200160002060030181905550847f734f931fe7a3776841211722ed18b29fc2947cc7a13e74d15fa612205c022db884604051611f8691906139ed565b60405180910390a25050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1af6e0360008085815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff1660e01b81526004016120279291906142b4565b602060405180830381865afa158015612044573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120689190614309565b6120a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209e9061510e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361214b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612142906149ff565b60405180910390fd5b6000600481111561215f5761215e613094565b5b60008084815260200190815260200160002060000160009054906101000a900460ff16600481111561219457612193613094565b5b14806121e65750600360048111156121af576121ae613094565b5b60008084815260200190815260200160002060000160009054906101000a900460ff1660048111156121e4576121e3613094565b5b145b612225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221c90614b69565b60405180910390fd5b428111612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225e9061517a565b60405180910390fd5b8060008084815260200190815260200160002060060181905550817f0f759826327c668a220d576485ac38ddc4f83fbc414b984c00e79f669b649f46826040516122b1919061519a565b60405180910390a25050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1af6e0360008084815260200190815260200160002060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518363ffffffff1660e01b815260040161234f9291906142b4565b602060405180830381865afa15801561236c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123909190614309565b6123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c690615201565b60405180910390fd5b600060048111156123e3576123e2613094565b5b60008083815260200190815260200160002060000160009054906101000a900460ff16600481111561241857612417613094565b5b148061246a57506003600481111561243357612432613094565b5b60008083815260200190815260200160002060000160009054906101000a900460ff16600481111561246857612467613094565b5b145b6124a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a090614b69565b60405180910390fd5b600160008083815260200190815260200160002060000160006101000a81548160ff021916908360048111156124e2576124e1613094565b5b0217905550807fac0c4085a30bc70d0d8893ee5d6466ac9c5f03e27fd7292dcef128a610e7c19060016040516125189190614bf5565b60405180910390a250565b61252b612840565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361259d5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016125949190613b3e565b60405180910390fd5b6125a6816128c7565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061265657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661263d612a0c565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561268d576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612697612840565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561270257506040513d601f19601f820116820180604052508101906126ff9190615236565b60015b61274357816040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815260040161273a9190613b3e565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b81146127aa57806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016127a191906139ed565b60405180910390fd5b6127b48383612a63565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461283e576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612848612ad6565b73ffffffffffffffffffffffffffffffffffffffff166128666118d6565b73ffffffffffffffffffffffffffffffffffffffff16146128c557612889612ad6565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016128bc9190613b3e565b60405180910390fd5b565b60006128d16129e4565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b6129ce612ade565b6129d781612b1e565b50565b6129e2612ade565b565b60007f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b6000612a3a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612ba4565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612a6c82612bae565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a2600081511115612ac957612ac38282612c7b565b50612ad2565b612ad1612cff565b5b5050565b600033905090565b612ae6612d3c565b612b1c576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612b26612ade565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b985760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612b8f9190613b3e565b60405180910390fd5b612ba1816128c7565b50565b6000819050919050565b60008173ffffffffffffffffffffffffffffffffffffffff163b03612c0a57806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401612c019190613b3e565b60405180910390fd5b80612c377f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612ba4565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051612ca591906152aa565b600060405180830381855af49150503d8060008114612ce0576040519150601f19603f3d011682016040523d82523d6000602084013e612ce5565b606091505b5091509150612cf5858383612d5c565b9250505092915050565b6000341115612d3a576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6000612d4661299e565b60000160089054906101000a900460ff16905090565b606082612d7157612d6c82612deb565b612de3565b60008251148015612d99575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612ddb57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612dd29190613b3e565b60405180910390fd5b819050612de4565b5b9392505050565b600081511115612dfe5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255906000526020600020908101928215612e6c579160200282015b82811115612e6b578251825591602001919060010190612e50565b5b509050612e799190612f5a565b5090565b828054828255906000526020600020908101928215612eb9579160200282015b82811115612eb8578235825591602001919060010190612e9d565b5b509050612ec69190612f5a565b5090565b60405180610140016040528060006004811115612eea57612ee9613094565b5b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001612f14612f77565b81526020016000801916815260200160608152602001600081526020016000815260200160608152602001612f47612f91565b8152602001612f54612fe0565b81525090565b5b80821115612f73576000816000905550600101612f5b565b5090565b604051806040016040528060008152602001600081525090565b604051806101000160405280600015158152602001600015158152602001600060ff168152602001600060ff168152602001600081526020016000815260200160008152602001600081525090565b604051806080016040528060006009811115612fff57612ffe613094565b5b81526020016000815260200160008019168152602001606081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61304481613031565b811461304f57600080fd5b50565b6000813590506130618161303b565b92915050565b60006020828403121561307d5761307c613027565b5b600061308b84828501613052565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600581106130d4576130d3613094565b5b50565b60008190506130e5826130c3565b919050565b60006130f5826130d7565b9050919050565b613105816130ea565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006131368261310b565b9050919050565b6131468161312b565b82525050565b6000819050919050565b61315f8161314c565b82525050565b60408201600082015161317b6000850182613156565b50602082015161318e6020850182613156565b50505050565b61319d81613031565b82525050565b6131ac8161314c565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131ec5780820151818401526020810190506131d1565b60008484015250505050565b6000601f19601f8301169050919050565b6000613214826131b2565b61321e81856131bd565b935061322e8185602086016131ce565b613237816131f8565b840191505092915050565b60008115159050919050565b61325781613242565b82525050565b600060ff82169050919050565b6132738161325d565b82525050565b61010082016000820151613290600085018261324e565b5060208201516132a3602085018261324e565b5060408201516132b6604085018261326a565b5060608201516132c9606085018261326a565b5060808201516132dc6080850182613156565b5060a08201516132ef60a0850182613156565b5060c082015161330260c0850182613156565b5060e082015161331560e0850182613156565b50505050565b600a811061332c5761332b613094565b5b50565b600081905061333d8261331b565b919050565b600061334d8261332f565b9050919050565b61335d81613342565b82525050565b61336c81613031565b82525050565b600082825260208201905092915050565b600061338e826131b2565b6133988185613372565b93506133a88185602086016131ce565b6133b1816131f8565b840191505092915050565b60006080830160008301516133d46000860182613354565b5060208301516133e76020860182613156565b5060408301516133fa6040860182613363565b50606083015184820360608601526134128282613383565b9150508091505092915050565b600061022082019050613435600083018c6130fc565b613442602083018b61313d565b61344f604083018a613165565b61345c6080830189613194565b61346960a08301886131a3565b61347660c08301876131a3565b81810360e08301526134888186613209565b9050613498610100830185613279565b8181036102008301526134ab81846133bc565b90509a9950505050505050505050565b600581106134c857600080fd5b50565b6000813590506134da816134bb565b92915050565b6134e98161314c565b81146134f457600080fd5b50565b600081359050613506816134e0565b92915050565b600080fd5b600061010082840312156135285761352761350c565b5b81905092915050565b6000608082840312156135475761354661350c565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261357557613574613550565b5b8235905067ffffffffffffffff81111561359257613591613555565b5b6020830191508360018202830111156135ae576135ad61355a565b5b9250929050565b6135be8161312b565b81146135c957600080fd5b50565b6000813590506135db816135b5565b92915050565b6000604082840312156135f7576135f661350c565b5b81905092915050565b60008060008060008060008060008060006102408c8e03121561362657613625613027565b5b60006136348e828f016134cb565b9b505060206136458e828f016134f7565b9a505060406136568e828f016134f7565b99505060606136678e828f01613511565b9850506101608c013567ffffffffffffffff8111156136895761368861302c565b5b6136958e828f01613531565b9750506101808c013567ffffffffffffffff8111156136b7576136b661302c565b5b6136c38e828f0161355f565b96509650506101a06136d78e828f016135cc565b9450506101c06136e98e828f01613052565b9350506101e06136fb8e828f016135e1565b92505061022061370d8e828f01613052565b9150509295989b509295989b9093969950565b60008083601f84011261373657613735613550565b5b8235905067ffffffffffffffff81111561375357613752613555565b5b60208301915083602082028301111561376f5761376e61355a565b5b9250929050565b60008083601f84011261378c5761378b613550565b5b8235905067ffffffffffffffff8111156137a9576137a8613555565b5b6020830191508360018202830111156137c5576137c461355a565b5b9250929050565b6000806000806000606086880312156137e8576137e7613027565b5b60006137f688828901613052565b955050602086013567ffffffffffffffff8111156138175761381661302c565b5b61382388828901613720565b9450945050604086013567ffffffffffffffff8111156138465761384561302c565b5b61385288828901613776565b92509250509295509295909350565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61389e826131f8565b810181811067ffffffffffffffff821117156138bd576138bc613866565b5b80604052505050565b60006138d061301d565b90506138dc8282613895565b919050565b600067ffffffffffffffff8211156138fc576138fb613866565b5b613905826131f8565b9050602081019050919050565b82818337600083830152505050565b600061393461392f846138e1565b6138c6565b9050828152602081018484840111156139505761394f613861565b5b61395b848285613912565b509392505050565b600082601f83011261397857613977613550565b5b8135613988848260208601613921565b91505092915050565b600080604083850312156139a8576139a7613027565b5b60006139b6858286016135cc565b925050602083013567ffffffffffffffff8111156139d7576139d661302c565b5b6139e385828601613963565b9150509250929050565b6000602082019050613a026000830184613194565b92915050565b60008060408385031215613a1f57613a1e613027565b5b6000613a2d85828601613052565b9250506020613a3e858286016134cb565b9150509250929050565b60008060408385031215613a5f57613a5e613027565b5b6000613a6d85828601613052565b925050602083013567ffffffffffffffff811115613a8e57613a8d61302c565b5b613a9a85828601613531565b9150509250929050565b600080600060408486031215613abd57613abc613027565b5b600084013567ffffffffffffffff811115613adb57613ada61302c565b5b613ae78682870161355f565b93509350506020613afa868287016135cc565b9150509250925092565b600063ffffffff82169050919050565b613b1d81613b04565b82525050565b6000602082019050613b386000830184613b14565b92915050565b6000602082019050613b53600083018461313d565b92915050565b613b62816130ea565b82525050565b613b718161312b565b82525050565b604082016000820151613b8d6000850182613156565b506020820151613ba06020850182613156565b50505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000613bde8383613156565b60208301905092915050565b6000602082019050919050565b6000613c0282613ba6565b613c0c8185613bb1565b9350613c1783613bc2565b8060005b83811015613c48578151613c2f8882613bd2565b9750613c3a83613bea565b925050600181019050613c1b565b5085935050505092915050565b61010082016000820151613c6c600085018261324e565b506020820151613c7f602085018261324e565b506040820151613c92604085018261326a565b506060820151613ca5606085018261326a565b506080820151613cb86080850182613156565b5060a0820151613ccb60a0850182613156565b5060c0820151613cde60c0850182613156565b5060e0820151613cf160e0850182613156565b50505050565b6000608083016000830151613d0f6000860182613354565b506020830151613d226020860182613156565b506040830151613d356040860182613363565b5060608301518482036060860152613d4d8282613383565b9150508091505092915050565b600061024083016000830151613d736000860182613b59565b506020830151613d866020860182613b68565b506040830151613d996040860182613b77565b506060830151613dac6080860182613363565b50608083015184820360a0860152613dc48282613bf7565b91505060a0830151613dd960c0860182613156565b5060c0830151613dec60e0860182613156565b5060e0830151848203610100860152613e058282613383565b915050610100830151613e1c610120860182613c55565b50610120830151848203610220860152613e368282613cf7565b9150508091505092915050565b60006020820190508181036000830152613e5d8184613d5a565b905092915050565b60006020820190508181036000830152613e7f8184613209565b905092915050565b600080600080600060808688031215613ea357613ea2613027565b5b6000613eb188828901613052565b9550506020613ec288828901613052565b9450506040613ed388828901613052565b935050606086013567ffffffffffffffff811115613ef457613ef361302c565b5b613f0088828901613776565b92509250509295509295909350565b60008060408385031215613f2657613f25613027565b5b6000613f3485828601613052565b9250506020613f45858286016134f7565b9150509250929050565b600060208284031215613f6557613f64613027565b5b6000613f73848285016135cc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613fc357607f821691505b602082108103613fd657613fd5613f7c565b5b50919050565b613fe58161325d565b8114613ff057600080fd5b50565b60008135905061400281613fdc565b92915050565b60006020828403121561401e5761401d613027565b5b600061402c84828501613ff3565b91505092915050565b7f4e657750726f636573733a20696e76616c6964206d6178436f756e7400000000600082015250565b600061406b601c836131bd565b915061407682614035565b602082019050919050565b6000602082019050818103600083015261409a8161405e565b9050919050565b7f4e657750726f636573733a206d6178436f756e74203e206d617856616c756500600082015250565b60006140d7601f836131bd565b91506140e2826140a1565b602082019050919050565b60006020820190508181036000830152614106816140ca565b9050919050565b7f4e657750726f636573733a20696e76616c696420737461747573000000000000600082015250565b6000614143601a836131bd565b915061414e8261410d565b602082019050919050565b6000602082019050818103600083015261417281614136565b9050919050565b7f4e657750726f636573733a20696e76616c696420737461727454696d65000000600082015250565b60006141af601d836131bd565b91506141ba82614179565b602082019050919050565b600060208201905081810360008301526141de816141a2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061421f8261314c565b915061422a8361314c565b9250828201905080821115614242576142416141e5565b5b92915050565b7f4e657750726f636573733a20696e76616c6964206475726174696f6e00000000600082015250565b600061427e601c836131bd565b915061428982614248565b602082019050919050565b600060208201905081810360008301526142ad81614271565b9050919050565b60006040820190506142c9600083018561313d565b6142d6602083018461313d565b9392505050565b6142e681613242565b81146142f157600080fd5b50565b600081519050614303816142dd565b92915050565b60006020828403121561431f5761431e613027565b5b600061432d848285016142f4565b91505092915050565b7f4e657750726f636573733a206e6f7420616e2061646d696e6973747261746f72600082015250565b600061436c6020836131bd565b915061437782614336565b602082019050919050565b6000602082019050818103600083015261439b8161435f565b9050919050565b7f4e657750726f636573733a2070726f6365737320616c7265616479206578697360008201527f7473000000000000000000000000000000000000000000000000000000000000602082015250565b60006143fe6022836131bd565b9150614409826143a2565b604082019050919050565b6000602082019050818103600083015261442d816143f1565b9050919050565b600080fd5b600080fd5b60006040828403121561445457614453614434565b5b61445e60406138c6565b9050600061446e848285016134f7565b6000830152506020614482848285016134f7565b60208301525092915050565b6000604082840312156144a4576144a3613027565b5b60006144b28482850161443e565b91505092915050565b6000813590506144ca816142dd565b92915050565b600061010082840312156144e7576144e6614434565b5b6144f26101006138c6565b90506000614502848285016144bb565b6000830152506020614516848285016144bb565b602083015250604061452a84828501613ff3565b604083015250606061453e84828501613ff3565b6060830152506080614552848285016134f7565b60808301525060a0614566848285016134f7565b60a08301525060c061457a848285016134f7565b60c08301525060e061458e848285016134f7565b60e08301525092915050565b600061010082840312156145b1576145b0613027565b5b60006145bf848285016144d0565b91505092915050565b600a81106145d557600080fd5b50565b6000813590506145e7816145c8565b92915050565b600067ffffffffffffffff82111561460857614607613866565b5b614611826131f8565b9050602081019050919050565b600061463161462c846145ed565b6138c6565b90508281526020810184848401111561464d5761464c613861565b5b614658848285613912565b509392505050565b600082601f83011261467557614674613550565b5b813561468584826020860161461e565b91505092915050565b6000608082840312156146a4576146a3614434565b5b6146ae60806138c6565b905060006146be848285016145d8565b60008301525060206146d2848285016134f7565b60208301525060406146e684828501613052565b604083015250606082013567ffffffffffffffff81111561470a57614709614439565b5b61471684828501614660565b60608301525092915050565b600061472e368361468e565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026147977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261475a565b6147a1868361475a565b95508019841693508086168417925050509392505050565b6000819050919050565b60006147de6147d96147d48461314c565b6147b9565b61314c565b9050919050565b6000819050919050565b6147f8836147c3565b61480c614804826147e5565b848454614767565b825550505050565b600090565b614821614814565b61482c8184846147ef565b505050565b5b8181101561485057614845600082614819565b600181019050614832565b5050565b601f8211156148955761486681614735565b61486f8461474a565b8101602085101561487e578190505b61489261488a8561474a565b830182614831565b50505b505050565b600082821c905092915050565b60006148b86000198460080261489a565b1980831691505092915050565b60006148d183836148a7565b9150826002028217905092915050565b6148ea826131b2565b67ffffffffffffffff81111561490357614902613866565b5b61490d8254613fab565b614918828285614854565b600060209050601f83116001811461494b5760008415614939578287015190505b61494385826148c5565b8655506149ab565b601f19841661495986614735565b60005b828110156149815784890151825560018201915060208501945060208101905061495c565b8683101561499e578489015161499a601f8916826148a7565b8355505b6001600288020188555050505b505050505050565b7f50726f63657373206e6f7420666f756e64000000000000000000000000000000600082015250565b60006149e96011836131bd565b91506149f4826149b3565b602082019050919050565b60006020820190508181036000830152614a18816149dc565b9050919050565b7f50726f63657373206e6f7420656e646564000000000000000000000000000000600082015250565b6000614a556011836131bd565b9150614a6082614a1f565b602082019050919050565b60006020820190508181036000830152614a8481614a48565b9050919050565b7f53657450726f636573735374617475733a206e6f7420616e2061646d696e697360008201527f747261746f720000000000000000000000000000000000000000000000000000602082015250565b6000614ae76026836131bd565b9150614af282614a8b565b604082019050919050565b60006020820190508181036000830152614b1681614ada565b9050919050565b7f50726f63657373207465726d696e617465640000000000000000000000000000600082015250565b6000614b536012836131bd565b9150614b5e82614b1d565b602082019050919050565b60006020820190508181036000830152614b8281614b46565b9050919050565b7f4d75737420646966666572000000000000000000000000000000000000000000600082015250565b6000614bbf600b836131bd565b9150614bca82614b89565b602082019050919050565b60006020820190508181036000830152614bee81614bb2565b9050919050565b6000602082019050614c0a60008301846130fc565b92915050565b7f53657450726f6365737343656e7375733a206e6f7420616e2061646d696e697360008201527f747261746f720000000000000000000000000000000000000000000000000000602082015250565b6000614c6c6026836131bd565b9150614c7782614c10565b604082019050919050565b60006020820190508181036000830152614c9b81614c5f565b9050919050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112614cce57614ccd614ca2565b5b80840192508235915067ffffffffffffffff821115614cf057614cef614ca7565b5b602083019250600182023603831315614d0c57614d0b614cac565b5b509250929050565b7f456d707479205552490000000000000000000000000000000000000000000000600082015250565b6000614d4a6009836131bd565b9150614d5582614d14565b602082019050919050565b60006020820190508181036000830152614d7981614d3d565b9050919050565b7f456d70747920726f6f7400000000000000000000000000000000000000000000600082015250565b6000614db6600a836131bd565b9150614dc182614d80565b602082019050919050565b60006020820190508181036000830152614de581614da9565b9050919050565b600082905092915050565b614e018383614dec565b67ffffffffffffffff811115614e1a57614e19613866565b5b614e248254613fab565b614e2f828285614854565b6000601f831160018114614e5e5760008415614e4c578287013590505b614e5685826148c5565b865550614ebe565b601f198416614e6c86614735565b60005b82811015614e9457848901358255600182019150602085019450602081019050614e6f565b86831015614eb15784890135614ead601f8916826148a7565b8355505b6001600288020188555050505b50505050505050565b6000614ed383856131bd565b9350614ee0838584613912565b614ee9836131f8565b840190509392505050565b6000606082019050614f096000830187613194565b8181036020830152614f1c818587614ec7565b9050614f2b60408301846131a3565b95945050505050565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000614f6d614f68614f6384614f34565b6147b9565b614f3e565b9050919050565b614f7d81614f52565b82525050565b6000602082019050614f986000830184614f74565b92915050565b7f496e76616c69642073746174757320666f72207375626d697474696e6720737460008201527f617465207472616e736974696f6e000000000000000000000000000000000000602082015250565b6000614ffa602e836131bd565b915061500582614f9e565b604082019050919050565b6000602082019050818103600083015261502981614fed565b9050919050565b7f496e76616c6964206f6c6420726f6f7400000000000000000000000000000000600082015250565b60006150666010836131bd565b915061507182615030565b602082019050919050565b6000602082019050818103600083015261509581615059565b9050919050565b7f53657450726f636573734475726174696f6e3a206e6f7420616e2061646d696e60008201527f6973747261746f72000000000000000000000000000000000000000000000000602082015250565b60006150f86028836131bd565b91506151038261509c565b604082019050919050565b60006020820190508181036000830152615127816150eb565b9050919050565b7f496e76616c6964206475726174696f6e00000000000000000000000000000000600082015250565b60006151646010836131bd565b915061516f8261512e565b602082019050919050565b6000602082019050818103600083015261519381615157565b9050919050565b60006020820190506151af60008301846131a3565b92915050565b7f656e6450726f636573733a206e6f7420616e2061646d696e6973747261746f72600082015250565b60006151eb6020836131bd565b91506151f6826151b5565b602082019050919050565b6000602082019050818103600083015261521a816151de565b9050919050565b6000815190506152308161303b565b92915050565b60006020828403121561524c5761524b613027565b5b600061525a84828501615221565b91505092915050565b600081519050919050565b600081905092915050565b600061528482615263565b61528e818561526e565b935061529e8185602086016131ce565b80840191505092915050565b60006152b68284615279565b91508190509291505056fea2646970667358221220c13bad83f8ae21d11e9d37b8a05419be822f4960a3ffd3019df93a454efa453364736f6c634300081c0033", } // ProcessRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use ProcessRegistryMetaData.ABI instead. var ProcessRegistryABI = ProcessRegistryMetaData.ABI +// ProcessRegistryBin is the compiled bytecode used for deploying new contracts. +// Deprecated: Use ProcessRegistryMetaData.Bin instead. +var ProcessRegistryBin = ProcessRegistryMetaData.Bin + +// DeployProcessRegistry deploys a new Ethereum contract, binding an instance of ProcessRegistry to it. +func DeployProcessRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ProcessRegistry, error) { + parsed, err := ProcessRegistryMetaData.GetAbi() + if err != nil { + return common.Address{}, nil, nil, err + } + if parsed == nil { + return common.Address{}, nil, nil, errors.New("GetABI returned nil") + } + + address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ProcessRegistryBin), backend) + if err != nil { + return common.Address{}, nil, nil, err + } + return address, tx, &ProcessRegistry{ProcessRegistryCaller: ProcessRegistryCaller{contract: contract}, ProcessRegistryTransactor: ProcessRegistryTransactor{contract: contract}, ProcessRegistryFilterer: ProcessRegistryFilterer{contract: contract}}, nil +} + // ProcessRegistry is an auto generated Go binding around an Ethereum contract. type ProcessRegistry struct { ProcessRegistryCaller // Read-only binding to the contract