controller

package
v0.0.1-08ac6ae4e4e0776... Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ControllerABI = ControllerMetaData.ABI

ControllerABI is the input ABI used to generate the binding from. Deprecated: Use ControllerMetaData.ABI instead.

View Source
var ControllerBin = ControllerMetaData.Bin

ControllerBin is the compiled bytecode used for deploying new contracts. Deprecated: Use ControllerMetaData.Bin instead.

View Source
var ControllerMetaData = &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\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"acceptResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"resultsId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"instructionCount\",\"type\":\"uint256\"}],\"name\":\"addResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"jobCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resourceProvider\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"mediators\",\"type\":\"address[]\"}],\"internalType\":\"structSharedStructs.DealMembers\",\"name\":\"members\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.DealTimeout\",\"name\":\"agree\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.DealTimeout\",\"name\":\"submitResults\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.DealTimeout\",\"name\":\"judgeResults\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.DealTimeout\",\"name\":\"mediateResults\",\"type\":\"tuple\"}],\"internalType\":\"structSharedStructs.DealTimeouts\",\"name\":\"timeouts\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"instructionPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymentCollateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"resultsCollateralMultiple\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mediationFee\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.DealPricing\",\"name\":\"pricing\",\"type\":\"tuple\"}],\"name\":\"agree\",\"outputs\":[{\"components\":[{\"internalType\":\"enumSharedStructs.AgreementState\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"resourceProviderAgreedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobCreatorAgreedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dealCreatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dealAgreedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"resultsSubmittedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"resultsAcceptedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"resultsCheckedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mediationAcceptedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mediationRejectedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeoutAgreeAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeoutSubmitResultsAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeoutJudgeResultsAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeoutMediateResultsAt\",\"type\":\"uint256\"}],\"internalType\":\"structSharedStructs.Agreement\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"checkResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMediationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPaymentsAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUsersAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_storageAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_usersAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_paymentsAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mediationAddress\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"mediationAcceptResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"mediationRejectResult\",\"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\":\"_mediationAddress\",\"type\":\"address\"}],\"name\":\"setMediationAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_paymentsAddress\",\"type\":\"address\"}],\"name\":\"setPaymentsAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_storageAddress\",\"type\":\"address\"}],\"name\":\"setStorageAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_usersAddress\",\"type\":\"address\"}],\"name\":\"setUsersAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"timeoutAgree\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"timeoutJudgeResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"timeoutMediateResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dealId\",\"type\":\"string\"}],\"name\":\"timeoutSubmitResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
	Bin: "0x608060405234801562000010575f80fd5b5062000031620000256200003760201b60201c565b6200003e60201b60201c565b620000ff565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61555a806200010d5f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c8063822f80c5116100b6578063d48b10841161007a578063d48b1084146102fa578063e7b957d114610318578063e850be3714610334578063f2fde38b14610350578063f583b1251461036c578063f8c8765e1461039c57610140565b8063822f80c51461026a578063824518aa146102865780638da5cb5b146102a257806393dbed3e146102c0578063bbfff47d146102de57610140565b8063511a9f6811610108578063511a9f68146101d457806359b910d6146101f0578063640e570f1461020c578063715018a614610228578063795f9abf1461023257806380ffdfe01461024e57610140565b8063155329ea14610144578063297f9e5514610162578063393a4d341461017e57806343391cca1461019c57806346834d1e146101b8575b5f80fd5b61014c6103b8565b6040516101599190613665565b60405180910390f35b61017c600480360381019061017791906137cb565b6103e0565b005b610186610850565b6040516101939190613665565b60405180910390f35b6101b660048036038101906101b1919061383c565b610878565b005b6101d260048036038101906101cd91906137cb565b610971565b005b6101ee60048036038101906101e991906137cb565b610d1e565b005b61020a6004803603810190610205919061383c565b6110d7565b005b6102266004803603810190610221919061383c565b6111f1565b005b6102306112ea565b005b61024c600480360381019061024791906137cb565b6112fd565b005b610268600480360381019061026391906137cb565b6117a6565b005b610284600480360381019061027f919061389a565b611afe565b005b6102a0600480360381019061029b91906137cb565b611ed7565b005b6102aa6122cf565b6040516102b79190613665565b60405180910390f35b6102c86122f6565b6040516102d59190613665565b60405180910390f35b6102f860048036038101906102f3919061383c565b61231e565b005b6103026123d7565b60405161030f9190613665565b60405180910390f35b610332600480360381019061032d91906137cb565b6123ff565b005b61034e600480360381019061034991906137cb565b612892565b005b61036a6004803603810190610365919061383c565b612ce1565b005b61038660048036038101906103819190613bb7565b612d63565b6040516103939190613df5565b60405180910390f35b6103b660048036038101906103b19190613e0f565b613208565b005b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b050e74b8260026040518363ffffffff1660e01b815260040161043d929190613efc565b6020604051808303815f875af1158015610459573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047d9190613f5f565b6104bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b390613fd4565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b81526004016105179190613ff2565b5f604051808303815f875af1158015610532573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061055a91906143b5565b90503273ffffffffffffffffffffffffffffffffffffffff1681602001516020015173ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c990614446565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373db5c6a846040518263ffffffff1660e01b815260040161062d9190613ff2565b6020604051808303815f875af1158015610649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066d9190614464565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f856040518263ffffffff1660e01b81526004016106ca9190613ff2565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a9190614464565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663297f9e55856040518263ffffffff1660e01b81526004016107669190613ff2565b5f604051808303815f87803b15801561077d575f80fd5b505af115801561078f573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b13567148585602001516040015186602001516020015186886060015160200151878a6040015160400151602001516040518863ffffffff1660e01b815260040161081d979695949392919061449e565b5f604051808303815f87803b158015610834575f80fd5b505af1158015610846573d5f803e3d5ffd5b5050505050505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610880613365565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e59061455c565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b050e74b8260026040518363ffffffff1660e01b81526004016109ce929190613efc565b6020604051808303815f875af11580156109ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0e9190613f5f565b610a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4490613fd4565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b8152600401610aa89190613ff2565b5f604051808303815f875af1158015610ac3573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610aeb91906143b5565b90503273ffffffffffffffffffffffffffffffffffffffff1681602001516020015173ffffffffffffffffffffffffffffffffffffffff1614610b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5a90614446565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346834d1e836040518263ffffffff1660e01b8152600401610bbd9190613ff2565b5f604051808303815f87803b158015610bd4575f80fd5b505af1158015610be6573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aea3825183836020015160200151846040015160400151602001518560600151606001516040518563ffffffff1660e01b8152600401610c66949392919061457a565b5f604051808303815f87803b158015610c7d575f80fd5b505af1158015610c8f573d5f803e3d5ffd5b5050505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370bea207826040518263ffffffff1660e01b8152600401610ced9190614860565b5f604051808303815f87803b158015610d04575f80fd5b505af1158015610d16573d5f803e3d5ffd5b505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b8152600401610d799190613ff2565b5f604051808303815f875af1158015610d94573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610dbc91906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdd82d1d846040518263ffffffff1660e01b8152600401610e199190613ff2565b6101c0604051808303815f875af1158015610e36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5a91906149ee565b90503273ffffffffffffffffffffffffffffffffffffffff1682602001516020015173ffffffffffffffffffffffffffffffffffffffff1614610ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec990614446565b60405180910390fd5b6001600a811115610ee657610ee5613c55565b5b815f0151600a811115610efc57610efb613c55565b5b14610f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3390614a64565b60405180910390fd5b8160400151602001515f01518160800151610f579190614aaf565b4211610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f90614b2c565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663511a9f68846040518263ffffffff1660e01b8152600401610ff29190613ff2565b5f604051808303815f87803b158015611009575f80fd5b505af115801561101b573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d31a11584846020015160400151856020015160200151866060015160200151876040015160200151602001516040518663ffffffff1660e01b81526004016110a5959493929190614b4a565b5f604051808303815f87803b1580156110bc575f80fd5b505af11580156110ce573d5f803e3d5ffd5b50505050505050565b6110df613365565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114490614bec565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111f9613365565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e90614c54565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112f2613365565b6112fb5f6133e3565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b81526004016113589190613ff2565b5f604051808303815f875af1158015611373573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061139b91906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdd82d1d846040518263ffffffff1660e01b81526004016113f89190613ff2565b6101c0604051808303815f875af1158015611415573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143991906149ee565b90503273ffffffffffffffffffffffffffffffffffffffff1682602001516020015173ffffffffffffffffffffffffffffffffffffffff1614806114b057503273ffffffffffffffffffffffffffffffffffffffff1682602001516040015173ffffffffffffffffffffffffffffffffffffffff16145b6114ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e690614cbc565b60405180910390fd5b5f600a81111561150257611501613c55565b5b815f0151600a81111561151857611517613c55565b5b14611558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154f90614a64565b60405180910390fd5b81604001515f01515f015181606001516115729190614aaf565b42116115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90614b2c565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663795f9abf846040518263ffffffff1660e01b815260040161160d9190613ff2565b5f604051808303815f87803b158015611624575f80fd5b505af1158015611636573d5f803e3d5ffd5b505050505f816020015111156116ea5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ef0d89e84846020015160400151856040015160200151602001516040518463ffffffff1660e01b81526004016116b893929190614cda565b5f604051808303815f87803b1580156116cf575f80fd5b505af11580156116e1573d5f803e3d5ffd5b505050506117a1565b5f816040015111156117a05760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afe1dff784846020015160200151856060015160200151866040015160200151602001516040518563ffffffff1660e01b8152600401611772949392919061457a565b5f604051808303815f87803b158015611789575f80fd5b505af115801561179b573d5f803e3d5ffd5b505050505b5b505050565b6117ae6134a4565b73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183390614d60565b60405180910390fd5b611845816134ab565b611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b90614dc8565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b81526004016118df9190613ff2565b5f604051808303815f875af11580156118fa573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061192291906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f846040518263ffffffff1660e01b815260040161197f9190613ff2565b6020604051808303815f875af115801561199b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119bf9190614464565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380ffdfe0846040518263ffffffff1660e01b8152600401611a1b9190613ff2565b5f604051808303815f87803b158015611a32575f80fd5b505af1158015611a44573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2485cce84846020015160400151856020015160200151866060015160200151868860600151606001516040518763ffffffff1660e01b8152600401611acc96959493929190614de6565b5f604051808303815f87803b158015611ae3575f80fd5b505af1158015611af5573d5f803e3d5ffd5b50505050505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b050e74b8460016040518363ffffffff1660e01b8152600401611b5b929190613efc565b6020604051808303815f875af1158015611b77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9b9190613f5f565b611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190614e96565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180856040518263ffffffff1660e01b8152600401611c359190613ff2565b5f604051808303815f875af1158015611c50573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611c7891906143b5565b90503273ffffffffffffffffffffffffffffffffffffffff1681602001516040015173ffffffffffffffffffffffffffffffffffffffff1614611cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce790614efe565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663822f80c58585856040518463ffffffff1660e01b8152600401611d4e93929190614f1c565b5f604051808303815f875af1158015611d69573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611d919190614ff8565b505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f866040518263ffffffff1660e01b8152600401611ded9190613ff2565b6020604051808303815f875af1158015611e09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2d9190614464565b905060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309cab5108684602001516040015184866040015160200151602001516040518563ffffffff1660e01b8152600401611ea3949392919061457a565b5f604051808303815f87803b158015611eba575f80fd5b505af1158015611ecc573d5f803e3d5ffd5b505050505050505050565b611edf6134a4565b73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6490614d60565b60405180910390fd5b611f76816134ab565b611fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fac90614dc8565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b81526004016120109190613ff2565b5f604051808303815f875af115801561202b573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061205391906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373db5c6a846040518263ffffffff1660e01b81526004016120b09190613ff2565b6020604051808303815f875af11580156120cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f09190614464565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f856040518263ffffffff1660e01b815260040161214d9190613ff2565b6020604051808303815f875af1158015612169573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218d9190614464565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663824518aa856040518263ffffffff1660e01b81526004016121e99190613ff2565b5f604051808303815f87803b158015612200575f80fd5b505af1158015612212573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a1f90728585602001516040015186602001516020015186886060015160200151878a60600151606001516040518863ffffffff1660e01b815260040161229c979695949392919061449e565b5f604051808303815f87803b1580156122b3575f80fd5b505af11580156122c5573d5f803e3d5ffd5b5050505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612326613365565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238b90615089565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b815260040161245a9190613ff2565b5f604051808303815f875af1158015612475573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061249d91906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdd82d1d846040518263ffffffff1660e01b81526004016124fa9190613ff2565b6101c0604051808303815f875af1158015612517573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061253b91906149ee565b90503273ffffffffffffffffffffffffffffffffffffffff1682602001516040015173ffffffffffffffffffffffffffffffffffffffff1614806125b257503273ffffffffffffffffffffffffffffffffffffffff1682602001516020015173ffffffffffffffffffffffffffffffffffffffff16145b6125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e8906150f1565b60405180910390fd5b6004600a81111561260557612604613c55565b5b815f0151600a81111561261b5761261a613c55565b5b1461265b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265290614a64565b60405180910390fd5b8160400151604001515f01518160a001516126769190614aaf565b42116126b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ae90614b2c565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f856040518263ffffffff1660e01b81526004016127129190613ff2565b6020604051808303815f875af115801561272e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127529190614464565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7b957d1856040518263ffffffff1660e01b81526004016127ae9190613ff2565b5f604051808303815f87803b1580156127c5575f80fd5b505af11580156127d7573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663823f3de185856020015160400151866020015160200151876060015160200151868960600151606001516040518763ffffffff1660e01b815260040161285f96959493929190614de6565b5f604051808303815f87803b158015612876575f80fd5b505af1158015612888573d5f803e3d5ffd5b5050505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7079180836040518263ffffffff1660e01b81526004016128ed9190613ff2565b5f604051808303815f875af1158015612908573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061293091906143b5565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdd82d1d846040518263ffffffff1660e01b815260040161298d9190613ff2565b6101c0604051808303815f875af11580156129aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ce91906149ee565b90503273ffffffffffffffffffffffffffffffffffffffff1682602001516040015173ffffffffffffffffffffffffffffffffffffffff1614612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614efe565b60405180910390fd5b6002600a811115612a5a57612a59613c55565b5b815f0151600a811115612a7057612a6f613c55565b5b14612ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa790614a64565b60405180910390fd5b8160400151604001515f01518160a00151612acb9190614aaf565b4211612b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0390614b2c565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638224ce5f856040518263ffffffff1660e01b8152600401612b679190613ff2565b6020604051808303815f875af1158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba79190614464565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e850be37856040518263ffffffff1660e01b8152600401612c039190613ff2565b5f604051808303815f87803b158015612c1a575f80fd5b505af1158015612c2c573d5f803e3d5ffd5b5050505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a6726b58585602001516040015186602001516020015185886040015160400151602001516040518663ffffffff1660e01b8152600401612cae959493929190614b4a565b5f604051808303815f87803b158015612cc5575f80fd5b505af1158015612cd7573d5f803e3d5ffd5b5050505050505050565b612ce9613365565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4e9061517f565b60405180910390fd5b612d60816133e3565b50565b612d6b6135b3565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6370b0e878787876040518563ffffffff1660e01b8152600401612dcc94939291906152a4565b5f604051808303815f875af1158015612de7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612e0f91906143b5565b90505f81602001516040015173ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161490505f82602001516020015173ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161490508180612e8e5750805b612ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ec490615341565b60405180910390fd5b81156130135760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ec95b967896040518263ffffffff1660e01b8152600401612f2d9190613ff2565b6101c0604051808303815f875af1158015612f4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f6e91906149ee565b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3868dc89856020015160400151866040015160200151602001516040518463ffffffff1660e01b8152600401612fe193929190614cda565b5f604051808303815f87803b158015612ff8575f80fd5b505af115801561300a573d5f803e3d5ffd5b50505050613160565b801561315f5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c4135da896040518263ffffffff1660e01b81526004016130739190613ff2565b6101c0604051808303815f875af1158015613090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130b491906149ee565b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b918803589856020015160200151866060015160200151876040015160400151602001516040518563ffffffff1660e01b8152600401613131949392919061457a565b5f604051808303815f87803b158015613148575f80fd5b505af115801561315a573d5f803e3d5ffd5b505050505b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdd82d1d896040518263ffffffff1660e01b81526004016131ba9190613ff2565b6101c0604051808303815f875af11580156131d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131fb91906149ee565b9350505050949350505050565b5f8060159054906101000a900460ff16159050808015613239575060015f60149054906101000a900460ff1660ff16105b80613267575061324830613591565b158015613266575060015f60149054906101000a900460ff1660ff16145b5b6132a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329d906153cf565b60405180910390fd5b60015f60146101000a81548160ff021916908360ff16021790555080156132e25760015f60156101000a81548160ff0219169083151502179055505b6132eb856110d7565b6132f48461231e565b6132fd836111f1565b61330682610878565b801561335e575f8060156101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051613355919061543b565b60405180910390a15b5050505050565b61336d6134a4565b73ffffffffffffffffffffffffffffffffffffffff1661338b6122cf565b73ffffffffffffffffffffffffffffffffffffffff16146133e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d89061549e565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b050e74b8360046040518363ffffffff1660e01b8152600401613509929190613efc565b6020604051808303815f875af1158015613525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135499190613f5f565b613588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161357f90615506565b60405180910390fd5b60019050919050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b604051806101c001604052805f600a8111156135d2576135d1613c55565b5b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61364f82613626565b9050919050565b61365f81613645565b82525050565b5f6020820190506136785f830184613656565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6136dd82613697565b810181811067ffffffffffffffff821117156136fc576136fb6136a7565b5b80604052505050565b5f61370e61367e565b905061371a82826136d4565b919050565b5f67ffffffffffffffff821115613739576137386136a7565b5b61374282613697565b9050602081019050919050565b828183375f83830152505050565b5f61376f61376a8461371f565b613705565b90508281526020810184848401111561378b5761378a613693565b5b61379684828561374f565b509392505050565b5f82601f8301126137b2576137b161368f565b5b81356137c284826020860161375d565b91505092915050565b5f602082840312156137e0576137df613687565b5b5f82013567ffffffffffffffff8111156137fd576137fc61368b565b5b6138098482850161379e565b91505092915050565b61381b81613645565b8114613825575f80fd5b50565b5f8135905061383681613812565b92915050565b5f6020828403121561385157613850613687565b5b5f61385e84828501613828565b91505092915050565b5f819050919050565b61387981613867565b8114613883575f80fd5b50565b5f8135905061389481613870565b92915050565b5f805f606084860312156138b1576138b0613687565b5b5f84013567ffffffffffffffff8111156138ce576138cd61368b565b5b6138da8682870161379e565b935050602084013567ffffffffffffffff8111156138fb576138fa61368b565b5b6139078682870161379e565b925050604061391886828701613886565b9150509250925092565b5f80fd5b5f80fd5b5f67ffffffffffffffff821115613944576139436136a7565b5b602082029050602081019050919050565b5f80fd5b5f61396b6139668461392a565b613705565b9050808382526020820190506020840283018581111561398e5761398d613955565b5b835b818110156139b757806139a38882613828565b845260208401935050602081019050613990565b5050509392505050565b5f82601f8301126139d5576139d461368f565b5b81356139e5848260208601613959565b91505092915050565b5f60808284031215613a0357613a02613922565b5b613a0d6080613705565b90505f613a1c84828501613828565b5f830152506020613a2f84828501613828565b6020830152506040613a4384828501613828565b604083015250606082013567ffffffffffffffff811115613a6757613a66613926565b5b613a73848285016139c1565b60608301525092915050565b5f60408284031215613a9457613a93613922565b5b613a9e6040613705565b90505f613aad84828501613886565b5f830152506020613ac084828501613886565b60208301525092915050565b5f6101008284031215613ae257613ae1613922565b5b613aec6080613705565b90505f613afb84828501613a7f565b5f830152506040613b0e84828501613a7f565b6020830152506080613b2284828501613a7f565b60408301525060c0613b3684828501613a7f565b60608301525092915050565b5f60808284031215613b5757613b56613922565b5b613b616080613705565b90505f613b7084828501613886565b5f830152506020613b8384828501613886565b6020830152506040613b9784828501613886565b6040830152506060613bab84828501613886565b60608301525092915050565b5f805f806101c08587031215613bd057613bcf613687565b5b5f85013567ffffffffffffffff811115613bed57613bec61368b565b5b613bf98782880161379e565b945050602085013567ffffffffffffffff811115613c1a57613c1961368b565b5b613c26878288016139ee565b9350506040613c3787828801613acc565b925050610140613c4987828801613b42565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600b8110613c9357613c92613c55565b5b50565b5f819050613ca382613c82565b919050565b5f613cb282613c96565b9050919050565b613cc281613ca8565b82525050565b613cd181613867565b82525050565b6101c082015f820151613cec5f850182613cb9565b506020820151613cff6020850182613cc8565b506040820151613d126040850182613cc8565b506060820151613d256060850182613cc8565b506080820151613d386080850182613cc8565b5060a0820151613d4b60a0850182613cc8565b5060c0820151613d5e60c0850182613cc8565b5060e0820151613d7160e0850182613cc8565b50610100820151613d86610100850182613cc8565b50610120820151613d9b610120850182613cc8565b50610140820151613db0610140850182613cc8565b50610160820151613dc5610160850182613cc8565b50610180820151613dda610180850182613cc8565b506101a0820151613def6101a0850182613cc8565b50505050565b5f6101c082019050613e095f830184613cd7565b92915050565b5f805f8060808587031215613e2757613e26613687565b5b5f613e3487828801613828565b9450506020613e4587828801613828565b9350506040613e5687828801613828565b9250506060613e6787828801613828565b91505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613eaa578082015181840152602081019050613e8f565b5f8484015250505050565b5f613ebf82613e73565b613ec98185613e7d565b9350613ed9818560208601613e8d565b613ee281613697565b840191505092915050565b613ef681613ca8565b82525050565b5f6040820190508181035f830152613f148185613eb5565b9050613f236020830184613eed565b9392505050565b5f8115159050919050565b613f3e81613f2a565b8114613f48575f80fd5b50565b5f81519050613f5981613f35565b92915050565b5f60208284031215613f7457613f73613687565b5b5f613f8184828501613f4b565b91505092915050565b7f526573756c74735375626d6974746564000000000000000000000000000000005f82015250565b5f613fbe601083613e7d565b9150613fc982613f8a565b602082019050919050565b5f6020820190508181035f830152613feb81613fb2565b9050919050565b5f6020820190508181035f83015261400a8184613eb5565b905092915050565b5f61402461401f8461371f565b613705565b9050828152602081018484840111156140405761403f613693565b5b61404b848285613e8d565b509392505050565b5f82601f8301126140675761406661368f565b5b8151614077848260208601614012565b91505092915050565b5f8151905061408e81613812565b92915050565b5f6140a66140a18461392a565b613705565b905080838252602082019050602084028301858111156140c9576140c8613955565b5b835b818110156140f257806140de8882614080565b8452602084019350506020810190506140cb565b5050509392505050565b5f82601f8301126141105761410f61368f565b5b8151614120848260208601614094565b91505092915050565b5f6080828403121561413e5761413d613922565b5b6141486080613705565b90505f61415784828501614080565b5f83015250602061416a84828501614080565b602083015250604061417e84828501614080565b604083015250606082015167ffffffffffffffff8111156141a2576141a1613926565b5b6141ae848285016140fc565b60608301525092915050565b5f815190506141c881613870565b92915050565b5f604082840312156141e3576141e2613922565b5b6141ed6040613705565b90505f6141fc848285016141ba565b5f83015250602061420f848285016141ba565b60208301525092915050565b5f610100828403121561423157614230613922565b5b61423b6080613705565b90505f61424a848285016141ce565b5f83015250604061425d848285016141ce565b6020830152506080614271848285016141ce565b60408301525060c0614285848285016141ce565b60608301525092915050565b5f608082840312156142a6576142a5613922565b5b6142b06080613705565b90505f6142bf848285016141ba565b5f8301525060206142d2848285016141ba565b60208301525060406142e6848285016141ba565b60408301525060606142fa848285016141ba565b60608301525092915050565b5f6101c0828403121561431c5761431b613922565b5b6143266080613705565b90505f82015167ffffffffffffffff81111561434557614344613926565b5b61435184828501614053565b5f83015250602082015167ffffffffffffffff81111561437457614373613926565b5b61438084828501614129565b60208301525060406143948482850161421b565b6040830152506101406143a984828501614291565b60608301525092915050565b5f602082840312156143ca576143c9613687565b5b5f82015167ffffffffffffffff8111156143e7576143e661368b565b5b6143f384828501614306565b91505092915050565b7f4f6e6c79204a43000000000000000000000000000000000000000000000000005f82015250565b5f614430600783613e7d565b915061443b826143fc565b602082019050919050565b5f6020820190508181035f83015261445d81614424565b9050919050565b5f6020828403121561447957614478613687565b5b5f614486848285016141ba565b91505092915050565b61449881613867565b82525050565b5f60e0820190508181035f8301526144b6818a613eb5565b90506144c56020830189613656565b6144d26040830188613656565b6144df606083018761448f565b6144ec608083018661448f565b6144f960a083018561448f565b61450660c083018461448f565b98975050505050505050565b7f4d6564696174696f6e20616464726573730000000000000000000000000000005f82015250565b5f614546601183613e7d565b915061455182614512565b602082019050919050565b5f6020820190508181035f8301526145738161453a565b9050919050565b5f6080820190508181035f8301526145928187613eb5565b90506145a16020830186613656565b6145ae604083018561448f565b6145bb606083018461448f565b95945050505050565b5f82825260208201905092915050565b5f6145de82613e73565b6145e881856145c4565b93506145f8818560208601613e8d565b61460181613697565b840191505092915050565b61461581613645565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61464f838361460c565b60208301905092915050565b5f602082019050919050565b5f6146718261461b565b61467b8185614625565b935061468683614635565b805f5b838110156146b657815161469d8882614644565b97506146a88361465b565b925050600181019050614689565b5085935050505092915050565b5f608083015f8301516146d85f86018261460c565b5060208301516146eb602086018261460c565b5060408301516146fe604086018261460c565b50606083015184820360608601526147168282614667565b9150508091505092915050565b604082015f8201516147375f850182613cc8565b50602082015161474a6020850182613cc8565b50505050565b61010082015f8201516147655f850182614723565b5060208201516147786040850182614723565b50604082015161478b6080850182614723565b50606082015161479e60c0850182614723565b50505050565b608082015f8201516147b85f850182613cc8565b5060208201516147cb6020850182613cc8565b5060408201516147de6040850182613cc8565b5060608201516147f16060850182613cc8565b50505050565b5f6101c083015f8301518482035f86015261481282826145d4565b9150506020830151848203602086015261482c82826146c3565b91505060408301516148416040860182614750565b5060608301516148556101408601826147a4565b508091505092915050565b5f6020820190508181035f83015261487881846147f7565b905092915050565b600b811061488c575f80fd5b50565b5f8151905061489d81614880565b92915050565b5f6101c082840312156148b9576148b8613922565b5b6148c46101c0613705565b90505f6148d38482850161488f565b5f8301525060206148e6848285016141ba565b60208301525060406148fa848285016141ba565b604083015250606061490e848285016141ba565b6060830152506080614922848285016141ba565b60808301525060a0614936848285016141ba565b60a08301525060c061494a848285016141ba565b60c08301525060e061495e848285016141ba565b60e083015250610100614973848285016141ba565b61010083015250610120614989848285016141ba565b6101208301525061014061499f848285016141ba565b610140830152506101606149b5848285016141ba565b610160830152506101806149cb848285016141ba565b610180830152506101a06149e1848285016141ba565b6101a08301525092915050565b5f6101c08284031215614a0457614a03613687565b5b5f614a11848285016148a3565b91505092915050565b7f4e6f7420636f72726563742073746174650000000000000000000000000000005f82015250565b5f614a4e601183613e7d565b9150614a5982614a1a565b602082019050919050565b5f6020820190508181035f830152614a7b81614a42565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614ab982613867565b9150614ac483613867565b9250828201905080821115614adc57614adb614a82565b5b92915050565b7f4e6f742074696d6564206f7574000000000000000000000000000000000000005f82015250565b5f614b16600d83613e7d565b9150614b2182614ae2565b602082019050919050565b5f6020820190508181035f830152614b4381614b0a565b9050919050565b5f60a0820190508181035f830152614b628188613eb5565b9050614b716020830187613656565b614b7e6040830186613656565b614b8b606083018561448f565b614b98608083018461448f565b9695505050505050565b7f53746f72616765206164647265737300000000000000000000000000000000005f82015250565b5f614bd6600f83613e7d565b9150614be182614ba2565b602082019050919050565b5f6020820190508181035f830152614c0381614bca565b9050919050565b7f5061796d656e74732061646472657373000000000000000000000000000000005f82015250565b5f614c3e601083613e7d565b9150614c4982614c0a565b602082019050919050565b5f6020820190508181035f830152614c6b81614c32565b9050919050565b7f4f6e6c79204a43206f72205250000000000000000000000000000000000000005f82015250565b5f614ca6600d83613e7d565b9150614cb182614c72565b602082019050919050565b5f6020820190508181035f830152614cd381614c9a565b9050919050565b5f6060820190508181035f830152614cf28186613eb5565b9050614d016020830185613656565b614d0e604083018461448f565b949350505050565b7f4f6e6c79206d6564696174696f6e0000000000000000000000000000000000005f82015250565b5f614d4a600e83613e7d565b9150614d5582614d16565b602082019050919050565b5f6020820190508181035f830152614d7781614d3e565b9050919050565b7f43616e6e6f74206d6564696174650000000000000000000000000000000000005f82015250565b5f614db2600e83613e7d565b9150614dbd82614d7e565b602082019050919050565b5f6020820190508181035f830152614ddf81614da6565b9050919050565b5f60c0820190508181035f830152614dfe8189613eb5565b9050614e0d6020830188613656565b614e1a6040830187613656565b614e27606083018661448f565b614e34608083018561448f565b614e4160a083018461448f565b979650505050505050565b7f4465616c416772656564000000000000000000000000000000000000000000005f82015250565b5f614e80600a83613e7d565b9150614e8b82614e4c565b602082019050919050565b5f6020820190508181035f830152614ead81614e74565b9050919050565b7f4f6e6c79205250000000000000000000000000000000000000000000000000005f82015250565b5f614ee8600783613e7d565b9150614ef382614eb4565b602082019050919050565b5f6020820190508181035f830152614f1581614edc565b9050919050565b5f6060820190508181035f830152614f348186613eb5565b90508181036020830152614f488185613eb5565b9050614f57604083018461448f565b949350505050565b5f60608284031215614f7457614f73613922565b5b614f7e6060613705565b90505f82015167ffffffffffffffff811115614f9d57614f9c613926565b5b614fa984828501614053565b5f83015250602082015167ffffffffffffffff811115614fcc57614fcb613926565b5b614fd884828501614053565b6020830152506040614fec848285016141ba565b60408301525092915050565b5f6020828403121561500d5761500c613687565b5b5f82015167ffffffffffffffff81111561502a5761502961368b565b5b61503684828501614f5f565b91505092915050565b7f55736572732061646472657373000000000000000000000000000000000000005f82015250565b5f615073600d83613e7d565b915061507e8261503f565b602082019050919050565b5f6020820190508181035f8301526150a081615067565b9050919050565b7f4f6e6c79205250206f72204a43000000000000000000000000000000000000005f82015250565b5f6150db600d83613e7d565b91506150e6826150a7565b602082019050919050565b5f6020820190508181035f830152615108816150cf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f615169602683613e7d565b91506151748261510f565b604082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b5f608083015f8301516151b25f86018261460c565b5060208301516151c5602086018261460c565b5060408301516151d8604086018261460c565b50606083015184820360608601526151f08282614667565b9150508091505092915050565b61010082015f8201516152125f850182614723565b5060208201516152256040850182614723565b5060408201516152386080850182614723565b50606082015161524b60c0850182614723565b50505050565b608082015f8201516152655f850182613cc8565b5060208201516152786020850182613cc8565b50604082015161528b6040850182613cc8565b50606082015161529e6060850182613cc8565b50505050565b5f6101c0820190508181035f8301526152bd8187613eb5565b905081810360208301526152d1818661519d565b90506152e060408301856151fd565b6152ee610140830184615251565b95945050505050565b7f4f6e6c79205250202f204a4300000000000000000000000000000000000000005f82015250565b5f61532b600c83613e7d565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c7265615f8201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b5f6153b9602e83613e7d565b91506153c48261535f565b604082019050919050565b5f6020820190508181035f8301526153e6816153ad565b9050919050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61542561542061541b846153ed565b615402565b6153f6565b9050919050565b6154358161540b565b82525050565b5f60208201905061544e5f83018461542c565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f615488602083613e7d565b915061549382615454565b602082019050919050565b5f6020820190508181035f8301526154b58161547c565b9050919050565b7f526573756c7473436865636b65640000000000000000000000000000000000005f82015250565b5f6154f0600e83613e7d565b91506154fb826154bc565b602082019050919050565b5f6020820190508181035f83015261551d816154e4565b905091905056fea26469706673582212203ae6a0d0e818b4ac5a89596d8ace8bf1eb3627bbcc74a1cd93784eaadb14129064736f6c63430008150033",
}

ControllerMetaData contains all meta data concerning the Controller contract.

Functions

This section is empty.

Types

type Controller

type Controller struct {
	ControllerCaller     // Read-only binding to the contract
	ControllerTransactor // Write-only binding to the contract
	ControllerFilterer   // Log filterer for contract events
}

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

func DeployController

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

DeployController deploys a new Ethereum contract, binding an instance of Controller to it.

func NewController

func NewController(address common.Address, backend bind.ContractBackend) (*Controller, error)

NewController creates a new instance of Controller, bound to a specific deployed contract.

type ControllerCaller

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

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

func NewControllerCaller

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

NewControllerCaller creates a new read-only instance of Controller, bound to a specific deployed contract.

func (*ControllerCaller) GetMediationAddress

func (_Controller *ControllerCaller) GetMediationAddress(opts *bind.CallOpts) (common.Address, error)

GetMediationAddress is a free data retrieval call binding the contract method 0x155329ea.

Solidity: function getMediationAddress() view returns(address)

func (*ControllerCaller) GetPaymentsAddress

func (_Controller *ControllerCaller) GetPaymentsAddress(opts *bind.CallOpts) (common.Address, error)

GetPaymentsAddress is a free data retrieval call binding the contract method 0xd48b1084.

Solidity: function getPaymentsAddress() view returns(address)

func (*ControllerCaller) GetStorageAddress

func (_Controller *ControllerCaller) GetStorageAddress(opts *bind.CallOpts) (common.Address, error)

GetStorageAddress is a free data retrieval call binding the contract method 0x393a4d34.

Solidity: function getStorageAddress() view returns(address)

func (*ControllerCaller) GetUsersAddress

func (_Controller *ControllerCaller) GetUsersAddress(opts *bind.CallOpts) (common.Address, error)

GetUsersAddress is a free data retrieval call binding the contract method 0x93dbed3e.

Solidity: function getUsersAddress() view returns(address)

func (*ControllerCaller) Owner

func (_Controller *ControllerCaller) 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)

type ControllerCallerRaw

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

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

func (*ControllerCallerRaw) Call

func (_Controller *ControllerCallerRaw) 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 ControllerCallerSession

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

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

func (*ControllerCallerSession) GetMediationAddress

func (_Controller *ControllerCallerSession) GetMediationAddress() (common.Address, error)

GetMediationAddress is a free data retrieval call binding the contract method 0x155329ea.

Solidity: function getMediationAddress() view returns(address)

func (*ControllerCallerSession) GetPaymentsAddress

func (_Controller *ControllerCallerSession) GetPaymentsAddress() (common.Address, error)

GetPaymentsAddress is a free data retrieval call binding the contract method 0xd48b1084.

Solidity: function getPaymentsAddress() view returns(address)

func (*ControllerCallerSession) GetStorageAddress

func (_Controller *ControllerCallerSession) GetStorageAddress() (common.Address, error)

GetStorageAddress is a free data retrieval call binding the contract method 0x393a4d34.

Solidity: function getStorageAddress() view returns(address)

func (*ControllerCallerSession) GetUsersAddress

func (_Controller *ControllerCallerSession) GetUsersAddress() (common.Address, error)

GetUsersAddress is a free data retrieval call binding the contract method 0x93dbed3e.

Solidity: function getUsersAddress() view returns(address)

func (*ControllerCallerSession) Owner

func (_Controller *ControllerCallerSession) Owner() (common.Address, error)

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

Solidity: function owner() view returns(address)

type ControllerFilterer

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

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

func NewControllerFilterer

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

NewControllerFilterer creates a new log filterer instance of Controller, bound to a specific deployed contract.

func (*ControllerFilterer) FilterInitialized

func (_Controller *ControllerFilterer) FilterInitialized(opts *bind.FilterOpts) (*ControllerInitializedIterator, error)

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

Solidity: event Initialized(uint8 version)

func (*ControllerFilterer) FilterOwnershipTransferred

func (_Controller *ControllerFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ControllerOwnershipTransferredIterator, error)

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

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

func (*ControllerFilterer) ParseInitialized

func (_Controller *ControllerFilterer) ParseInitialized(log types.Log) (*ControllerInitialized, error)

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

Solidity: event Initialized(uint8 version)

func (*ControllerFilterer) ParseOwnershipTransferred

func (_Controller *ControllerFilterer) ParseOwnershipTransferred(log types.Log) (*ControllerOwnershipTransferred, error)

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

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

func (*ControllerFilterer) WatchInitialized

func (_Controller *ControllerFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *ControllerInitialized) (event.Subscription, error)

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

Solidity: event Initialized(uint8 version)

func (*ControllerFilterer) WatchOwnershipTransferred

func (_Controller *ControllerFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ControllerOwnershipTransferred, 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)

type ControllerInitialized

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

ControllerInitialized represents a Initialized event raised by the Controller contract.

type ControllerInitializedIterator

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

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

func (*ControllerInitializedIterator) Close

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

func (*ControllerInitializedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ControllerInitializedIterator) 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 ControllerOwnershipTransferred

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

ControllerOwnershipTransferred represents a OwnershipTransferred event raised by the Controller contract.

type ControllerOwnershipTransferredIterator

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

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

func (*ControllerOwnershipTransferredIterator) Close

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

func (*ControllerOwnershipTransferredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ControllerOwnershipTransferredIterator) 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 ControllerRaw

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

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

func (*ControllerRaw) Call

func (_Controller *ControllerRaw) 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 (*ControllerRaw) Transact

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

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

func (*ControllerRaw) Transfer

func (_Controller *ControllerRaw) 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 ControllerSession

type ControllerSession struct {
	Contract     *Controller       // 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
}

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

func (*ControllerSession) AcceptResult

func (_Controller *ControllerSession) AcceptResult(dealId string) (*types.Transaction, error)

AcceptResult is a paid mutator transaction binding the contract method 0x297f9e55.

Solidity: function acceptResult(string dealId) returns()

func (*ControllerSession) AddResult

func (_Controller *ControllerSession) AddResult(dealId string, resultsId string, instructionCount *big.Int) (*types.Transaction, error)

AddResult is a paid mutator transaction binding the contract method 0x822f80c5.

Solidity: function addResult(string dealId, string resultsId, uint256 instructionCount) returns()

func (*ControllerSession) Agree

Agree is a paid mutator transaction binding the contract method 0xf583b125.

Solidity: function agree(string dealId, (address,address,address,address[]) members, ((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256)) timeouts, (uint256,uint256,uint256,uint256) pricing) returns((uint8,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*ControllerSession) CheckResult

func (_Controller *ControllerSession) CheckResult(dealId string) (*types.Transaction, error)

CheckResult is a paid mutator transaction binding the contract method 0x46834d1e.

Solidity: function checkResult(string dealId) returns()

func (*ControllerSession) GetMediationAddress

func (_Controller *ControllerSession) GetMediationAddress() (common.Address, error)

GetMediationAddress is a free data retrieval call binding the contract method 0x155329ea.

Solidity: function getMediationAddress() view returns(address)

func (*ControllerSession) GetPaymentsAddress

func (_Controller *ControllerSession) GetPaymentsAddress() (common.Address, error)

GetPaymentsAddress is a free data retrieval call binding the contract method 0xd48b1084.

Solidity: function getPaymentsAddress() view returns(address)

func (*ControllerSession) GetStorageAddress

func (_Controller *ControllerSession) GetStorageAddress() (common.Address, error)

GetStorageAddress is a free data retrieval call binding the contract method 0x393a4d34.

Solidity: function getStorageAddress() view returns(address)

func (*ControllerSession) GetUsersAddress

func (_Controller *ControllerSession) GetUsersAddress() (common.Address, error)

GetUsersAddress is a free data retrieval call binding the contract method 0x93dbed3e.

Solidity: function getUsersAddress() view returns(address)

func (*ControllerSession) Initialize

func (_Controller *ControllerSession) Initialize(_storageAddress common.Address, _usersAddress common.Address, _paymentsAddress common.Address, _mediationAddress common.Address) (*types.Transaction, error)

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

Solidity: function initialize(address _storageAddress, address _usersAddress, address _paymentsAddress, address _mediationAddress) returns()

func (*ControllerSession) MediationAcceptResult

func (_Controller *ControllerSession) MediationAcceptResult(dealId string) (*types.Transaction, error)

MediationAcceptResult is a paid mutator transaction binding the contract method 0x824518aa.

Solidity: function mediationAcceptResult(string dealId) returns()

func (*ControllerSession) MediationRejectResult

func (_Controller *ControllerSession) MediationRejectResult(dealId string) (*types.Transaction, error)

MediationRejectResult is a paid mutator transaction binding the contract method 0x80ffdfe0.

Solidity: function mediationRejectResult(string dealId) returns()

func (*ControllerSession) Owner

func (_Controller *ControllerSession) Owner() (common.Address, error)

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

Solidity: function owner() view returns(address)

func (*ControllerSession) RenounceOwnership

func (_Controller *ControllerSession) RenounceOwnership() (*types.Transaction, error)

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

Solidity: function renounceOwnership() returns()

func (*ControllerSession) SetMediationAddress

func (_Controller *ControllerSession) SetMediationAddress(_mediationAddress common.Address) (*types.Transaction, error)

SetMediationAddress is a paid mutator transaction binding the contract method 0x43391cca.

Solidity: function setMediationAddress(address _mediationAddress) returns()

func (*ControllerSession) SetPaymentsAddress

func (_Controller *ControllerSession) SetPaymentsAddress(_paymentsAddress common.Address) (*types.Transaction, error)

SetPaymentsAddress is a paid mutator transaction binding the contract method 0x640e570f.

Solidity: function setPaymentsAddress(address _paymentsAddress) returns()

func (*ControllerSession) SetStorageAddress

func (_Controller *ControllerSession) SetStorageAddress(_storageAddress common.Address) (*types.Transaction, error)

SetStorageAddress is a paid mutator transaction binding the contract method 0x59b910d6.

Solidity: function setStorageAddress(address _storageAddress) returns()

func (*ControllerSession) SetUsersAddress

func (_Controller *ControllerSession) SetUsersAddress(_usersAddress common.Address) (*types.Transaction, error)

SetUsersAddress is a paid mutator transaction binding the contract method 0xbbfff47d.

Solidity: function setUsersAddress(address _usersAddress) returns()

func (*ControllerSession) TimeoutAgree

func (_Controller *ControllerSession) TimeoutAgree(dealId string) (*types.Transaction, error)

TimeoutAgree is a paid mutator transaction binding the contract method 0x795f9abf.

Solidity: function timeoutAgree(string dealId) returns()

func (*ControllerSession) TimeoutJudgeResult

func (_Controller *ControllerSession) TimeoutJudgeResult(dealId string) (*types.Transaction, error)

TimeoutJudgeResult is a paid mutator transaction binding the contract method 0xe850be37.

Solidity: function timeoutJudgeResult(string dealId) returns()

func (*ControllerSession) TimeoutMediateResult

func (_Controller *ControllerSession) TimeoutMediateResult(dealId string) (*types.Transaction, error)

TimeoutMediateResult is a paid mutator transaction binding the contract method 0xe7b957d1.

Solidity: function timeoutMediateResult(string dealId) returns()

func (*ControllerSession) TimeoutSubmitResult

func (_Controller *ControllerSession) TimeoutSubmitResult(dealId string) (*types.Transaction, error)

TimeoutSubmitResult is a paid mutator transaction binding the contract method 0x511a9f68.

Solidity: function timeoutSubmitResult(string dealId) returns()

func (*ControllerSession) TransferOwnership

func (_Controller *ControllerSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

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

Solidity: function transferOwnership(address newOwner) returns()

type ControllerTransactor

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

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

func NewControllerTransactor

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

NewControllerTransactor creates a new write-only instance of Controller, bound to a specific deployed contract.

func (*ControllerTransactor) AcceptResult

func (_Controller *ControllerTransactor) AcceptResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

AcceptResult is a paid mutator transaction binding the contract method 0x297f9e55.

Solidity: function acceptResult(string dealId) returns()

func (*ControllerTransactor) AddResult

func (_Controller *ControllerTransactor) AddResult(opts *bind.TransactOpts, dealId string, resultsId string, instructionCount *big.Int) (*types.Transaction, error)

AddResult is a paid mutator transaction binding the contract method 0x822f80c5.

Solidity: function addResult(string dealId, string resultsId, uint256 instructionCount) returns()

func (*ControllerTransactor) Agree

Agree is a paid mutator transaction binding the contract method 0xf583b125.

Solidity: function agree(string dealId, (address,address,address,address[]) members, ((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256)) timeouts, (uint256,uint256,uint256,uint256) pricing) returns((uint8,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*ControllerTransactor) CheckResult

func (_Controller *ControllerTransactor) CheckResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

CheckResult is a paid mutator transaction binding the contract method 0x46834d1e.

Solidity: function checkResult(string dealId) returns()

func (*ControllerTransactor) Initialize

func (_Controller *ControllerTransactor) Initialize(opts *bind.TransactOpts, _storageAddress common.Address, _usersAddress common.Address, _paymentsAddress common.Address, _mediationAddress common.Address) (*types.Transaction, error)

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

Solidity: function initialize(address _storageAddress, address _usersAddress, address _paymentsAddress, address _mediationAddress) returns()

func (*ControllerTransactor) MediationAcceptResult

func (_Controller *ControllerTransactor) MediationAcceptResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

MediationAcceptResult is a paid mutator transaction binding the contract method 0x824518aa.

Solidity: function mediationAcceptResult(string dealId) returns()

func (*ControllerTransactor) MediationRejectResult

func (_Controller *ControllerTransactor) MediationRejectResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

MediationRejectResult is a paid mutator transaction binding the contract method 0x80ffdfe0.

Solidity: function mediationRejectResult(string dealId) returns()

func (*ControllerTransactor) RenounceOwnership

func (_Controller *ControllerTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

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

Solidity: function renounceOwnership() returns()

func (*ControllerTransactor) SetMediationAddress

func (_Controller *ControllerTransactor) SetMediationAddress(opts *bind.TransactOpts, _mediationAddress common.Address) (*types.Transaction, error)

SetMediationAddress is a paid mutator transaction binding the contract method 0x43391cca.

Solidity: function setMediationAddress(address _mediationAddress) returns()

func (*ControllerTransactor) SetPaymentsAddress

func (_Controller *ControllerTransactor) SetPaymentsAddress(opts *bind.TransactOpts, _paymentsAddress common.Address) (*types.Transaction, error)

SetPaymentsAddress is a paid mutator transaction binding the contract method 0x640e570f.

Solidity: function setPaymentsAddress(address _paymentsAddress) returns()

func (*ControllerTransactor) SetStorageAddress

func (_Controller *ControllerTransactor) SetStorageAddress(opts *bind.TransactOpts, _storageAddress common.Address) (*types.Transaction, error)

SetStorageAddress is a paid mutator transaction binding the contract method 0x59b910d6.

Solidity: function setStorageAddress(address _storageAddress) returns()

func (*ControllerTransactor) SetUsersAddress

func (_Controller *ControllerTransactor) SetUsersAddress(opts *bind.TransactOpts, _usersAddress common.Address) (*types.Transaction, error)

SetUsersAddress is a paid mutator transaction binding the contract method 0xbbfff47d.

Solidity: function setUsersAddress(address _usersAddress) returns()

func (*ControllerTransactor) TimeoutAgree

func (_Controller *ControllerTransactor) TimeoutAgree(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

TimeoutAgree is a paid mutator transaction binding the contract method 0x795f9abf.

Solidity: function timeoutAgree(string dealId) returns()

func (*ControllerTransactor) TimeoutJudgeResult

func (_Controller *ControllerTransactor) TimeoutJudgeResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

TimeoutJudgeResult is a paid mutator transaction binding the contract method 0xe850be37.

Solidity: function timeoutJudgeResult(string dealId) returns()

func (*ControllerTransactor) TimeoutMediateResult

func (_Controller *ControllerTransactor) TimeoutMediateResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

TimeoutMediateResult is a paid mutator transaction binding the contract method 0xe7b957d1.

Solidity: function timeoutMediateResult(string dealId) returns()

func (*ControllerTransactor) TimeoutSubmitResult

func (_Controller *ControllerTransactor) TimeoutSubmitResult(opts *bind.TransactOpts, dealId string) (*types.Transaction, error)

TimeoutSubmitResult is a paid mutator transaction binding the contract method 0x511a9f68.

Solidity: function timeoutSubmitResult(string dealId) returns()

func (*ControllerTransactor) TransferOwnership

func (_Controller *ControllerTransactor) 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()

type ControllerTransactorRaw

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

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

func (*ControllerTransactorRaw) Transact

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

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

func (*ControllerTransactorRaw) Transfer

func (_Controller *ControllerTransactorRaw) 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 ControllerTransactorSession

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

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

func (*ControllerTransactorSession) AcceptResult

func (_Controller *ControllerTransactorSession) AcceptResult(dealId string) (*types.Transaction, error)

AcceptResult is a paid mutator transaction binding the contract method 0x297f9e55.

Solidity: function acceptResult(string dealId) returns()

func (*ControllerTransactorSession) AddResult

func (_Controller *ControllerTransactorSession) AddResult(dealId string, resultsId string, instructionCount *big.Int) (*types.Transaction, error)

AddResult is a paid mutator transaction binding the contract method 0x822f80c5.

Solidity: function addResult(string dealId, string resultsId, uint256 instructionCount) returns()

func (*ControllerTransactorSession) Agree

Agree is a paid mutator transaction binding the contract method 0xf583b125.

Solidity: function agree(string dealId, (address,address,address,address[]) members, ((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256)) timeouts, (uint256,uint256,uint256,uint256) pricing) returns((uint8,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))

func (*ControllerTransactorSession) CheckResult

func (_Controller *ControllerTransactorSession) CheckResult(dealId string) (*types.Transaction, error)

CheckResult is a paid mutator transaction binding the contract method 0x46834d1e.

Solidity: function checkResult(string dealId) returns()

func (*ControllerTransactorSession) Initialize

func (_Controller *ControllerTransactorSession) Initialize(_storageAddress common.Address, _usersAddress common.Address, _paymentsAddress common.Address, _mediationAddress common.Address) (*types.Transaction, error)

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

Solidity: function initialize(address _storageAddress, address _usersAddress, address _paymentsAddress, address _mediationAddress) returns()

func (*ControllerTransactorSession) MediationAcceptResult

func (_Controller *ControllerTransactorSession) MediationAcceptResult(dealId string) (*types.Transaction, error)

MediationAcceptResult is a paid mutator transaction binding the contract method 0x824518aa.

Solidity: function mediationAcceptResult(string dealId) returns()

func (*ControllerTransactorSession) MediationRejectResult

func (_Controller *ControllerTransactorSession) MediationRejectResult(dealId string) (*types.Transaction, error)

MediationRejectResult is a paid mutator transaction binding the contract method 0x80ffdfe0.

Solidity: function mediationRejectResult(string dealId) returns()

func (*ControllerTransactorSession) RenounceOwnership

func (_Controller *ControllerTransactorSession) RenounceOwnership() (*types.Transaction, error)

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

Solidity: function renounceOwnership() returns()

func (*ControllerTransactorSession) SetMediationAddress

func (_Controller *ControllerTransactorSession) SetMediationAddress(_mediationAddress common.Address) (*types.Transaction, error)

SetMediationAddress is a paid mutator transaction binding the contract method 0x43391cca.

Solidity: function setMediationAddress(address _mediationAddress) returns()

func (*ControllerTransactorSession) SetPaymentsAddress

func (_Controller *ControllerTransactorSession) SetPaymentsAddress(_paymentsAddress common.Address) (*types.Transaction, error)

SetPaymentsAddress is a paid mutator transaction binding the contract method 0x640e570f.

Solidity: function setPaymentsAddress(address _paymentsAddress) returns()

func (*ControllerTransactorSession) SetStorageAddress

func (_Controller *ControllerTransactorSession) SetStorageAddress(_storageAddress common.Address) (*types.Transaction, error)

SetStorageAddress is a paid mutator transaction binding the contract method 0x59b910d6.

Solidity: function setStorageAddress(address _storageAddress) returns()

func (*ControllerTransactorSession) SetUsersAddress

func (_Controller *ControllerTransactorSession) SetUsersAddress(_usersAddress common.Address) (*types.Transaction, error)

SetUsersAddress is a paid mutator transaction binding the contract method 0xbbfff47d.

Solidity: function setUsersAddress(address _usersAddress) returns()

func (*ControllerTransactorSession) TimeoutAgree

func (_Controller *ControllerTransactorSession) TimeoutAgree(dealId string) (*types.Transaction, error)

TimeoutAgree is a paid mutator transaction binding the contract method 0x795f9abf.

Solidity: function timeoutAgree(string dealId) returns()

func (*ControllerTransactorSession) TimeoutJudgeResult

func (_Controller *ControllerTransactorSession) TimeoutJudgeResult(dealId string) (*types.Transaction, error)

TimeoutJudgeResult is a paid mutator transaction binding the contract method 0xe850be37.

Solidity: function timeoutJudgeResult(string dealId) returns()

func (*ControllerTransactorSession) TimeoutMediateResult

func (_Controller *ControllerTransactorSession) TimeoutMediateResult(dealId string) (*types.Transaction, error)

TimeoutMediateResult is a paid mutator transaction binding the contract method 0xe7b957d1.

Solidity: function timeoutMediateResult(string dealId) returns()

func (*ControllerTransactorSession) TimeoutSubmitResult

func (_Controller *ControllerTransactorSession) TimeoutSubmitResult(dealId string) (*types.Transaction, error)

TimeoutSubmitResult is a paid mutator transaction binding the contract method 0x511a9f68.

Solidity: function timeoutSubmitResult(string dealId) returns()

func (*ControllerTransactorSession) TransferOwnership

func (_Controller *ControllerTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error)

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

Solidity: function transferOwnership(address newOwner) returns()

type SharedStructsAgreement

type SharedStructsAgreement struct {
	State                    uint8
	ResourceProviderAgreedAt *big.Int
	JobCreatorAgreedAt       *big.Int
	DealCreatedAt            *big.Int
	DealAgreedAt             *big.Int
	ResultsSubmittedAt       *big.Int
	ResultsAcceptedAt        *big.Int
	ResultsCheckedAt         *big.Int
	MediationAcceptedAt      *big.Int
	MediationRejectedAt      *big.Int
	TimeoutAgreeAt           *big.Int
	TimeoutSubmitResultsAt   *big.Int
	TimeoutJudgeResultsAt    *big.Int
	TimeoutMediateResultsAt  *big.Int
}

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

type SharedStructsDealMembers

type SharedStructsDealMembers struct {
	Solver           common.Address
	JobCreator       common.Address
	ResourceProvider common.Address
	Mediators        []common.Address
}

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

type SharedStructsDealPricing

type SharedStructsDealPricing struct {
	InstructionPrice          *big.Int
	PaymentCollateral         *big.Int
	ResultsCollateralMultiple *big.Int
	MediationFee              *big.Int
}

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

type SharedStructsDealTimeout

type SharedStructsDealTimeout struct {
	Timeout    *big.Int
	Collateral *big.Int
}

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

type SharedStructsDealTimeouts

type SharedStructsDealTimeouts struct {
	Agree          SharedStructsDealTimeout
	SubmitResults  SharedStructsDealTimeout
	JudgeResults   SharedStructsDealTimeout
	MediateResults SharedStructsDealTimeout
}

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

Jump to

Keyboard shortcuts

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