PluginManager

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2024 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PluginManagerABI = PluginManagerMetaData.ABI

PluginManagerABI is the input ABI used to generate the binding from. Deprecated: Use PluginManagerMetaData.ABI instead.

View Source
var PluginManagerBin = PluginManagerMetaData.Bin

PluginManagerBin is the compiled bytecode used for deploying new contracts. Deprecated: Use PluginManagerMetaData.Bin instead.

View Source
var PluginManagerMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"function\",\"name\":\"install\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"manifestHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"pluginInstallData\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"dependencies\",\"type\":\"tuple[]\",\"internalType\":\"structFunctionReference[]\",\"components\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"functionId\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"msca\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"uninstall\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"config\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"pluginUninstallData\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"AddressAdded\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"AddressRemoved\",\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"ExecuteFromPluginExternalAlreadySet\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"externalAddress\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ExecuteFromPluginExternalAlreadyUnset\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"externalAddress\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ExecutionDetailAlreadySet\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}]},{\"type\":\"error\",\"name\":\"FailToCallOnInstall\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"revertReason\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"HookDependencyNotPermitted\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidExecutionSelector\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}]},{\"type\":\"error\",\"name\":\"InvalidFunctionReference\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidLimit\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidPluginDependency\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"InvalidPluginManifest\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidPluginManifestHash\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ItemAlreadyExists\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ItemDoesNotExist\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OnlyDelegated\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"PluginNotImplementInterface\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"PluginUsedByOthers\",\"inputs\":[{\"name\":\"plugin\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ValidationFunctionAlreadySet\",\"inputs\":[{\"name\":\"selector\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}]}]",
	Bin: "0x60a080604052346100295730608052612fbe908161002f823960805181818160a001526112d50152f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c928363b58bb5cb1461003f5750505063c877ea631461003a57600080fd5b61085b565b346106e15760603660031901126106e157823561005b816106e4565b6001600160401b03936024358581116102d05761007b90369083016107f2565b946044359081116102d05761009390369083016107f2565b946001600160a01b0390307f00000000000000000000000000000000000000000000000000000000000000008316146106d1576100cf84611b37565b506100d8610950565b5080511561068057806020806100f393518301019101610c95565b600290600261010186610e16565b015491875192602093602081019061012b8161011d8785611085565b03601f198101835282610789565b51902003610670576001928361014088610e16565b015461064b5761014f87611c3a565b61017261016e608085016101638151151590565b61063a575b51151590565b1590565b6104db575b6060830180515190858a5b838110610464575050505061019561121a565b610140840180515190868b5b838110610432575050505061012084019182515193868b5b8b8782106103f35750505050505050506101d16121d6565b61010082018051519084895b8381106103d4575050505060e08201908151519184895b84811061037057505050505061020f61016082015186612269565b8681018051519083885b83811061033f57505050508051519082875b8381106102d4575050505061025a61024285610e16565b60056000918281558260018201558260028201550155565b921690813b156102d0576102ab95610288928592838851809681958294638a91b0e360e01b845283016112b2565b03925af190816102b7575b506102af5750905b5190151581529081906020820190565b0390f35b91905061029b565b806102c46102ca9261071f565b80611267565b85610293565b8380fd5b61032b6102f36102e583865161119f565b516001600160e01b03191690565b63ffffffff60e01b166000527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfce602052604060002090565b6103358154611253565b905501839061022b565b6103686103586103536102e584875161119f565b6111c9565b80546001600160a01b0319169055565b018490610219565b6103cc848361039561035361038686895161119f565b51516001600160e01b03191690565b018151815460209093015160ff60a01b60a09190911b166001600160a81b03199093166001600160a01b0390911617919091179055565b0185906101f4565b6103eb85600761039561035361038686895161119f565b0185906101dd565b61042990610423878661040d610353610386888e5161119f565b01928861041b878d5161119f565b510151611d0d565b90611fc6565b500187906101b9565b61045b8c61042387600861044d610353610386888b5161119f565b01928a61041b878a5161119f565b500187906101a1565b6001600160a01b038b1660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcc602052604090206104d3906104c9905b6104b26102e585885161119f565b63ffffffff60e01b16600052602052604060002090565b805460ff19169055565b018690610182565b60c0830180515190895b8281106104f457505050610177565b6104ff81835161119f565b516001600160a01b038b1660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcd60205260409020610559905b82516001600160a01b031660009081526020919091526040902090565b9061056861016e835460ff1690565b6105f457908c8e8a94936105808460ff198154169055565b808901511561059d575050815461ff001916909155505b016104e5565b01805151928501915b8381106105b65750505050610597565b6105e86104c96105cf6102e584869798999a965161119f565b869063ffffffff60e01b16600052602052604060002090565b01908a949392916105a6565b8a6106368f61060a8f945160018060a01b031690565b9051630861b85160e01b81526001600160a01b0394851693810193845293166020830152829160400190565b0390fd5b6106466104c98b610e16565b610168565b8851637572accb60e11b81526001600160a01b03881681880190815281906020010390fd5b875163202b168f60e21b81528590fd5b508451630c77631360e41b8152848184818786165afa9081156106cc5785916106aa575b506100f3565b6106c691503d8087833e6106be8183610789565b810190610c95565b876106a4565b610e0a565b85516353980bdb60e11b81528390fd5b80fd5b6001600160a01b038116036106f557565b600080fd5b60843590610707826106e4565b565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161073257604052565b610709565b604081019081106001600160401b0382111761073257604052565b606081019081106001600160401b0382111761073257604052565b610ca081019081106001600160401b0382111761073257604052565b90601f801991011681019081106001600160401b0382111761073257604052565b6040519061018082018281106001600160401b0382111761073257604052565b6040519061070782610737565b6001600160401b03811161073257601f01601f191660200190565b81601f820112156106f557803590610809826107d7565b926108176040519485610789565b828452602083830101116106f557816000926020809301838601378301015290565b6001600160401b0381116107325760051b60200190565b60ff8116036106f557565b346106f55760a03660031901126106f557600435610878816106e4565b6001600160401b03906044358281116106f5576108999036906004016107f2565b916064359081116106f557366023820112156106f5578060040135926108be84610839565b916040946108cf6040519485610789565b8084526020906024602086019160061b840101923684116106f557602401905b8382106109105761090e8787876109046106fa565b92602435906112c3565b005b87823603126106f557828891825161092781610737565b8435610932816106e4565b81528285013561094181610850565b838201528152019101906108ef565b6040519061018082018281106001600160401b038211176107325760405281610160606091828152826020820152826040820152828082015260006080820152600060a08201528260c08201528260e08201528261010082015282610120820152826101408201520152565b51906001600160e01b0319821682036106f557565b9080601f830112156106f5578151906020916109ec81610839565b936109fa6040519586610789565b81855260208086019260051b8201019283116106f557602001905b828210610a23575050505090565b838091610a2f846109bc565b815201910190610a15565b519081151582036106f557565b81601f820112156106f557805191602091610a6184610839565b93604092610a726040519687610789565b818652848087019260051b840101938185116106f557858401925b858410610a9e575050505050505090565b83516001600160401b03908181116106f557860191606080601f1985880301126106f557845190610ace82610752565b8a850151610adb816106e4565b8252610ae8868601610a3a565b8b8301528401519283116106f557610b07868b809695819601016109d1565b85820152815201930192610a8d565b91908260609103126106f557604051610b2e81610752565b8092805160058110156106f557604091829184526020810151610b5081610850565b60208501520151910152565b9080601f830112156106f5578151916020610b7684610839565b93604093610b876040519687610789565b818652828087019260071b850101938185116106f5578301915b848310610bb15750505050505090565b6080838303126106f557836080918751610bca81610737565b610bd3866109bc565b8152610be185848801610b16565b83820152815201920191610ba1565b81601f820112156106f5578051906020610c0983610839565b93604090610c1a6040519687610789565b848652828601918360e0809702860101948286116106f5578401925b858410610c47575050505050505090565b86848403126106f5578487918351610c5e81610752565b610c67876109bc565b8152610c7586848901610b16565b83820152610c868660808901610b16565b85820152815201930192610c36565b6020818303126106f55780516001600160401b03918282116106f55701610180818403126106f557610cc56107aa565b9281518381116106f55781610cdb9184016109d1565b845260208201518381116106f55781610cf59184016109d1565b602085015260408201518381116106f55781610d129184016109d1565b604085015260608201518381116106f55781610d2f9184016109d1565b6060850152610d4060808301610a3a565b6080850152610d5160a08301610a3a565b60a085015260c08201518381116106f55781610d6e918401610a47565b60c085015260e08201518381116106f55781610d8b918401610b5c565b60e0850152610100808301518481116106f55782610daa918501610b5c565b90850152610120808301518481116106f55782610dc8918501610b5c565b90850152610140808301518481116106f55782610de6918501610b5c565b9085015261016092838301519081116106f557610e039201610bf0565b9082015290565b6040513d6000823e3d90fd5b6001600160a01b031660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcb6020526040902090565b6001600160a01b031660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc86020526040902090565b6001600160a01b031660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc96020526040902090565b90815180825260208080930193019160005b828110610ee1575050505090565b83516001600160e01b03191685529381019392810192600101610ed3565b908082519081815260208091019281808460051b8301019501936000915b848310610f2d5750505050505090565b9091929394958480610f71600193601f198682030187528a5190606090868060a01b0383511681528483015115158582015281604080940151938201520190610ec1565b9801930193019194939290610f1d565b634e487b7160e01b600052602160045260246000fd5b60051115610fa157565b610f81565b80516005811015610fa1576040918291845260ff60208201511660208501520151910152565b90815180825260208080930193019160005b828110610fec575050505090565b9091929382608060019261101483895163ffffffff60e01b8151168452015184830190610fa6565b01950193929101610fde565b90815180825260208080930193019160005b828110611040575050505090565b909192938260e06001926110796040895163ffffffff851b815116845261106d8682015187860190610fa6565b01516080830190610fa6565b01950193929101611032565b9061119c91602081528151906110a9610180928360208401526101a0830190610ec1565b916111236110f76110e36110cf602088015196601f199788888303016040890152610ec1565b604088015187878303016060880152610ec1565b606087015186868303016080870152610ec1565b6080860151151560a085015260a0860151151560c085015260c0860151858583030160e0860152610eff565b61118c61117561115e61114760e089015194610100958989830301878a0152610fcc565b938801519361012094888883030186890152610fcc565b928701519261014093878783030185880152610fcc565b918601519161016092868683030184870152610fcc565b9401519282850301910152611020565b90565b80518210156111b35760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b63ffffffff60e01b166000527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcf602052604060002090565b6040519061120e82610737565b60006020838281520152565b604051602081018181106001600160401b03821117610732576040526000815290565b634e487b7160e01b600052601160045260246000fd5b60001981019190821161126257565b61123d565b60009103126106f557565b919082519283825260005b84811061129e575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161127d565b90602061119c928181520190611272565b946001600160a01b03949092909190307f0000000000000000000000000000000000000000000000000000000000000000871614611a9d5761130761016e8861236f565b611a8b5761131487612459565b5060408051630c77631360e41b815260049791966000958a8416959387848c818a5afa9384156106cc578894611a6f575b508951946020958681019061135e8161011d8985611085565b5190208103611a5f5760026113728e610e16565b0155835151885b818110611a39575050825190858501908151518303611a1457895b83811061194b5750505050506113ad60a0830151151590565b61192b575b87820180515190875b8281106118145750505061016082018051519082885b8d878d8684106117bd575050505050505060e0820180515190875b82811061176b5750505061010082019081515191875b8381106116d35750505050610120810180515161141d61121a565b918b885b83811061169f57505050506101408201805151918b885b84811061166557505050505060608101805151908a875b83811061161a57505050506080810151156114f657505061147f61147288610e16565b805460ff19166001179055565b813b156114f25782916114a69186519485809481936306d61fe760e41b83528b83016112b2565b03925af190816114df575b506114d95750610636906114c3611ae5565b9051633355f52760e21b81529384938401611b15565b92505050565b806102c46114ec9261071f565b386114b1565b8280fd5b60c0019081515191855b838110611510575050505061147f565b61151b81835161119f565b516001600160a01b038c1660009081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcd6020526040902061155c9061053c565b90611568825460ff1690565b6115d957815460ff191660011782558a90808601511561159b575050805461ff0019166101001790556001905b01611500565b018051519089906001809401915b8381106115bd575050505050600190611595565b806115d36114726105cf6102e58995875161119f565b016115a9565b80518d908d90610636908e906001600160a01b03169051635c43279160e11b81526001600160a01b0394851693810193845293166020830152829160400190565b61165d6114726104a460019460018060a01b03166000527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfcc602052604060002090565b018b9061144f565b611696600192611690856008611682610353610386888c5161119f565b01928b61041b878b5161119f565b90612b48565b50018c90611438565b6116ca6001926116908760026116bc610353610386888b5161119f565b01928b61041b878a5161119f565b50018c90611421565b6116e161038682845161119f565b600761170e6117016116fc836116f6866111c9565b01611abd565b612b21565b6001600160581b03191690565b6117435782918f916103956117378861173d958d61172f60019a8c5161119f565b510151611f33565b926111c9565b01611402565b508b516328fbab7760e11b81526001600160e01b0319909116818e0190815281906020010390fd5b61177961038682845161119f565b600161178e6117016116fc836116f6866111c9565b6117435782918f91610395611737896117b7958d6117af60019a8c5161119f565b510151611f1b565b016113ec565b600d61180661180087866117ec60019a61180c998d9961041b8d6117e5610386828f5161119f565b9c5161119f565b956117f88a8d5161119f565b510151611e37565b936111c9565b01612a9b565b0183906113d1565b8c6118236102e583855161119f565b61184b61183f611832836111c9565b546001600160a01b031690565b6001600160a01b031690565b6118f45761185881612747565b80156118e5575b80156118d6575b61189f576001929161187a611899926111c9565b80546001600160a01b0319166001600160a01b03909216919091179055565b016113bb565b8c51631ef19fa360e31b81526001600160a01b03909216828f019081526001600160e01b0319909116602082015281906040010390fd5b506118e0816129af565b611866565b506118ef8161293b565b61185f565b8c51634c5f65e960e11b81526001600160a01b03909216828f019081526001600160e01b0319909116602082015281906040010390fd5b6119466119378b610e16565b805461ff001916610100179055565b6113b2565b611966611958828861119f565b51516001600160a01b031690565b82861683821614611a0b5761198b61016e6119856102e585885161119f565b836123f9565b6119e25761199b61016e826125c0565b6119e257908f6119ce6001936119c860036119b68795610e16565b016119c1868d61119f565b519061267d565b50610e16565b016119d98154611aaf565b90555b01611394565b8e6106368f51928392630d24182f60e01b84528301919091602081019260018060a01b03169052565b506001906119dc565b8b51630d24182f60e01b81526001600160a01b038f16818f0190815281906020010390fd5b80611a4d6102f36102e56001948a5161119f565b611a578154611aaf565b905501611379565b8a5163202b168f60e21b81528c90fd5b611a849194503d808a833e6106be8183610789565b9238611345565b6040516349ad710360e11b8152600490fd5b6040516353980bdb60e11b8152600490fd5b906001820180921161126257565b90604051611aca81610737565b91546001600160a01b038116835260a01c60ff166020830152565b3d15611b10573d90611af6826107d7565b91611b046040519384610789565b82523d6000602084013e565b606090565b6001600160a01b03909116815260406020820181905261119c92910190611272565b6001600160a01b0381811691908215611c1b57611b53826125c0565b15611c095781611b838261187a61035894611b70611bb297610e4f565b541691611b7c85610e88565b5416610e4f565b611ba6611b9261183283610e88565b61187a611ba161183285610e4f565b610e88565b611ba161035882610e4f565b7fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfca611bdd8154611c2d565b90557f24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb600080a2600190565b604051639a749d8160e01b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b8015611262576000190190565b611c4381610e16565b600360056003830192015492611c576121d6565b6000946000915b818310611c6f575b50505050505050565b611c7e90869798949596612c67565b9690978792815b8a51811015611cdb5780611cd48c611ccd838d611cc68e6001611cb4611caf611958839c8a61119f565b610e16565b01611cbf8154611253565b9055610e16565b019261119f565b5190612d5f565b5001611c85565b509593919850959396611701611cf091612b21565b15611d05576001019192939096949596611c5e565b869750611c66565b9091611d17611201565b5060028251611d2581610f97565b611d2e81610f97565b14611e255760018251611d4081610f97565b611d4981610f97565b03611d7f57506020015161119c9060ff165b611d75611d666107ca565b6001600160a01b039094168452565b60ff166020830152565b915060028151611d8e81610f97565b611d9781610f97565b03611dcb5760400190815181511115611db957611db591519061119f565b5190565b604051635f1b910f60e11b8152600490fd5b905060038151611dda81610f97565b611de381610f97565b03611dfa57604051635f1b910f60e11b8152600490fd5b60049051611e0781610f97565b611e1081610f97565b03611e1d5761119c6121f9565b61119c6121d6565b6040516358cb286b60e01b8152600490fd5b9091611e41611201565b5060028251611e4f81610f97565b611e5881610f97565b14611e255760018251611e6a81610f97565b611e7381610f97565b03611e8957506020015161119c9060ff16611d5b565b915060028151611e9881610f97565b611ea181610f97565b03611ebf5760400190815181511115611db957611db591519061119f565b905060038151611ece81610f97565b611ed781610f97565b03611eee57604051635f1b910f60e11b8152600490fd5b60049051611efb81610f97565b611f0481610f97565b03611e1d57604051635f1b910f60e11b8152600490fd5b9091611f25611201565b5060018251611e6a81610f97565b9091611f3d611201565b5060018251611f4b81610f97565b611f5481610f97565b03611f6a57506020015161119c9060ff16611d5b565b915060028151611f7981610f97565b611f8281610f97565b03611fa05760400190815181511115611db957611db591519061119f565b905060038151611faf81610f97565b611fb881610f97565b03611eee575061119c61221c565b906001600160581b0319611fd982612b21565b16156121c457611fe98183612e57565b908115611c0957612195926001612001600293612b21565b93036121995761213f6121168461203661202f8286906001600160581b031916600052602052604060002090565b5460581b90565b612093600186019161207c61206261202f8686906001600160581b031916600052602052604060002090565b88906001600160581b031916600052602052604060002090565b9060581c6001600160581b0360a81b825416179055565b6120f56120b761202f8484906001600160581b031916600052602052604060002090565b61207c6120db61202f868a906001600160581b031916600052602052604060002090565b84906001600160581b031916600052602052604060002090565b6121266121168387906001600160581b031916600052602052604060002090565b80546001600160a81b0319169055565b906001600160581b031916600052602052604060002090565b6001600160581b0319831660009081528183016020526040812055600381016121688154611c2d565b90555b600481016121798154611c2d565b905501906001600160581b031916600052602052604060002090565b5490565b6001600160581b031983166000908152818301602052604090206121bd8154611c2d565b905561216b565b60405163062eecfd60e41b8152600490fd5b6121de611201565b506040516121eb81610737565b600081526000602082015290565b612201611201565b5060405161220e81610737565b600081526002602082015290565b612224611201565b5060405161223181610737565b600081526001602082015290565b612247611201565b5060ff6040519161225783610737565b8060601c835260581c16602082015290565b9080519161227561121a565b9060005b848110612287575050505050565b6001906001600160e01b031961229d828761119f565b5151166122b18585602061041b868b61119f565b906122cc6122c6878760406117f8888d61119f565b916111c9565b916122d681612b21565b6001600160581b0319918183166123155750506122f282612b21565b16612301575b50505b01612279565b601361230d9201611fc6565b5038806122f8565b61232590600d8694939601611fc6565b5061232f83612b21565b1661233d575b5050506122fb565b6123669260126123619201906001600160581b031916600052602052604060002090565b611fc6565b50388080612335565b61237881612e98565b90816123e7575b81612388575090565b60209150600090604051838101906301ffc9a760e01b825263043140ed60e01b6024820152602481526123ba81610752565b5191617530fa6000513d826123db575b50816123d4575090565b9050151590565b602011159150386123ca565b90506123f281612ec1565b159061237f565b61240281612e98565b9182612447575b8261241357505090565b6020925090600091604051848101916301ffc9a760e01b835263ffffffff60e01b166024820152602481526123ba81610752565b915061245281612ec1565b1591612409565b6001600160a01b0381811691908215611c1b57612475826125c0565b6125a0577fe4e858e4eda86ec57944d84330bd8c1255924cac192d7f288fdd9d4f8b81e380541660008181527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc86020526040812080546001600160a01b0319166001600160a01b0385161790557fa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f92909161256c9161187a9061251a61035882610e4f565b600080527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc9602052611ba1817fe4e858e4eda86ec57944d84330bd8c1255924cac192d7f288fdd9d4f8b81e38061187a565b7fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfca61259781546125b1565b905580a2600190565b6040516250f12f60e11b8152600490fd5b60001981146112625760010190565b60008080527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc86020527fd594a02d3fda915a830c228e795b44eb4af5dfc9cc085b4c42f40bccd958a910546001600160a01b039283169083168114929190831561266a575b8315612632575b50505090565b604092935081527fc6a0cc20c824c4eecc4b0fbb7fb297d07492a7bd12c83d4fa4d27b4249f9bfc9602052205416151538808061262c565b8082526040822054831615159350612625565b906001600160581b031961269082612b21565b16156121c45761269f90612b21565b906126aa8282612ef1565b6125a05761273560029261207c6001840191600080528260205260406000205460581b926126f08261207c8689906001600160581b031916600052602052604060002090565b61270e8287906001600160581b031916600052602052604060002090565b6001600160581b0360a81b81541690556121268261207c8360008052602052604060002090565b0161274081546125b1565b9055600190565b63ffffffff60e01b16635b0e93fb60e11b811490811561292a575b8115612919575b8115612908575b81156128f7575b81156128e6575b81156128d5575b81156128c4575b81156128b3575b81156128a2575b8115612891575b8115612880575b811561286f575b811561285e575b811561284d575b811561283c575b811561282b575b811561281a575b8115612809575b81156127f8575b81156127ea575090565b63335a353d60e11b14919050565b6327729e3b60e11b811491506127e0565b630f95d04b60e41b811491506127d9565b6336cf06ff60e01b811491506127d2565b6370c321eb60e01b811491506127cb565b631a10fa5160e31b811491506127c4565b6344ab613f60e01b811491506127bd565b637437e28f60e11b811491506127b6565b631d06562b60e11b811491506127af565b63ceaf130960e01b811491506127a8565b63190be77560e21b811491506127a1565b632344486160e21b8114915061279a565b6338997b1160e01b81149150612793565b6394ed11e760e01b8114915061278c565b6301ffc9a760e01b81149150612785565b6352d1902d60e01b8114915061277e565b63278f794360e11b81149150612777565b63c1a221f360e01b81149150612770565b633e15cc3d60e21b81149150612769565b631a7e6adf60e11b81149150612762565b63ffffffff60e01b16632dd8113360e01b811490811561299e575b811561298d575b811561297c575b811561296e575090565b637c627b2160e01b14919050565b6314add44b60e21b81149150612964565b63ae574a4360e01b8114915061295d565b63062a422b60e01b81149150612956565b63ffffffff60e01b166306d61fe760e41b8114908115612a8a575b8115612a79575b8115612a68575b8115612a57575b8115612a46575b8115612a35575b8115612a24575b8115612a13575b8115612a05575090565b63118a538960e01b14919050565b630c77631360e41b811491506129fb565b631128186d60e01b811491506129f4565b63236b075960e11b811491506129ed565b63bfd151c160e01b811491506129e6565b63031fb36160e21b811491506129df565b63c4db8dd960e01b811491506129d8565b63056ddae160e21b811491506129d1565b638a91b0e360e01b811491506129ca565b9190612aa681612b21565b6001600160581b031991818316612ad7575050612ac282612b21565b16156121c4576006612ad49201612b48565b50565b612ae49085939295612b48565b50612aee83612b21565b16612af857505050565b612ad4926005612b1c9201906001600160581b031916600052602052604060002090565b612b48565b6bffffffffffffffffffffffff19815160601b1690602060ff60581b91015160581b161790565b906001600160581b0319612b5b82612b21565b16156121c45761219591612b78612b7183612b21565b9282612e57565b15612bd5575b60046002820191612ba38484906001600160581b031916600052602052604060002090565b612bad81546125b1565b905501612bba81546125b1565b9055906001600160581b031916600052602052604060002090565b612c526001820161207c84612bf38360008052602052604060002090565b5460581b92612c1a8261207c8689906001600160581b031916600052602052604060002090565b612c3b6121168388906001600160581b031916600052602052604060002090565b6121268261207c8360008052602052604060002090565b60038101612c6081546125b1565b9055612b7e565b9190612c7b90612c75611201565b50612b21565b60405192612c888461076d565b6064926064855260005b610c808110612d4857506001600160581b031980841615612d2a575b6000935b85851080612d1f575b15612d0f57612d0361202f82612cd3612d099461223f565b612cdd898c61119f565b52612ce8888b61119f565b5086906001600160581b031916600052602052604060002090565b946125b1565b93612cb2565b925050925061119c91845261223f565b508181161515612cbb565b9250612d4261202f8360008052602052604060002090565b92612cae565b602090612d53611201565b82828901015201612c92565b906001600160581b0319612d7282612b21565b16156121c457612d8190612b21565b90612d8c8282612ef1565b15611c0957612e4c61211683612db860029585906001600160581b031916600052602052604060002090565b54612e03600186019160581b61207c612de58585906001600160581b031916600052602052604060002090565b5460581b88906001600160581b031916600052602052604060002090565b6120f5612e248383906001600160581b031916600052602052604060002090565b5460581b61207c6120db61202f868a906001600160581b031916600052602052604060002090565b016127408154611c2d565b90612e6190612b21565b6001600160581b0319811615612e915760026121959201906001600160581b031916600052602052604060002090565b5050600190565b6000602091604051838101906301ffc9a760e01b8083526024820152602481526123ba81610752565b6000602091604051838101906301ffc9a760e01b825263ffffffff60e01b6024820152602481526123ba81610752565b906000805281602052604060002054906001600160581b031991828083169160581b1614928315612f5a575b8315612f295750505090565b612f4b929350600101906001600160581b031916600052602052604060002090565b5460581b16151538808061262c565b925081612f7b8285906001600160581b031916600052602052604060002090565b5460581b16151592612f1d56fea2646970667358221220e358ecaa378b3a0d9f063ea6a80a7450b047a6258aa2d93ac7eb88edf49cc11964736f6c63430008180033",
}

PluginManagerMetaData contains all meta data concerning the PluginManager contract.

Functions

This section is empty.

Types

type FunctionReference

type FunctionReference struct {
	Plugin     common.Address
	FunctionId uint8
}

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

type PluginManager

type PluginManager struct {
	PluginManagerCaller     // Read-only binding to the contract
	PluginManagerTransactor // Write-only binding to the contract
	PluginManagerFilterer   // Log filterer for contract events
}

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

func DeployPluginManager

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

DeployPluginManager deploys a new Ethereum contract, binding an instance of PluginManager to it.

func NewPluginManager

func NewPluginManager(address common.Address, backend bind.ContractBackend) (*PluginManager, error)

NewPluginManager creates a new instance of PluginManager, bound to a specific deployed contract.

type PluginManagerAddressAdded

type PluginManagerAddressAdded struct {
	Addr common.Address
	Raw  types.Log // Blockchain specific contextual infos
}

PluginManagerAddressAdded represents a AddressAdded event raised by the PluginManager contract.

type PluginManagerAddressAddedIterator

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

PluginManagerAddressAddedIterator is returned from FilterAddressAdded and is used to iterate over the raw logs and unpacked data for AddressAdded events raised by the PluginManager contract.

func (*PluginManagerAddressAddedIterator) Close

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

func (*PluginManagerAddressAddedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PluginManagerAddressAddedIterator) 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 PluginManagerAddressRemoved

type PluginManagerAddressRemoved struct {
	Addr common.Address
	Raw  types.Log // Blockchain specific contextual infos
}

PluginManagerAddressRemoved represents a AddressRemoved event raised by the PluginManager contract.

type PluginManagerAddressRemovedIterator

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

PluginManagerAddressRemovedIterator is returned from FilterAddressRemoved and is used to iterate over the raw logs and unpacked data for AddressRemoved events raised by the PluginManager contract.

func (*PluginManagerAddressRemovedIterator) Close

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

func (*PluginManagerAddressRemovedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PluginManagerAddressRemovedIterator) 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 PluginManagerCaller

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

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

func NewPluginManagerCaller

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

NewPluginManagerCaller creates a new read-only instance of PluginManager, bound to a specific deployed contract.

type PluginManagerCallerRaw

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

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

func (*PluginManagerCallerRaw) Call

func (_PluginManager *PluginManagerCallerRaw) 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 PluginManagerCallerSession

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

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

type PluginManagerFilterer

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

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

func NewPluginManagerFilterer

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

NewPluginManagerFilterer creates a new log filterer instance of PluginManager, bound to a specific deployed contract.

func (*PluginManagerFilterer) FilterAddressAdded

func (_PluginManager *PluginManagerFilterer) FilterAddressAdded(opts *bind.FilterOpts, addr []common.Address) (*PluginManagerAddressAddedIterator, error)

FilterAddressAdded is a free log retrieval operation binding the contract event 0xa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f.

Solidity: event AddressAdded(address indexed addr)

func (*PluginManagerFilterer) FilterAddressRemoved

func (_PluginManager *PluginManagerFilterer) FilterAddressRemoved(opts *bind.FilterOpts, addr []common.Address) (*PluginManagerAddressRemovedIterator, error)

FilterAddressRemoved is a free log retrieval operation binding the contract event 0x24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb.

Solidity: event AddressRemoved(address indexed addr)

func (*PluginManagerFilterer) ParseAddressAdded

func (_PluginManager *PluginManagerFilterer) ParseAddressAdded(log types.Log) (*PluginManagerAddressAdded, error)

ParseAddressAdded is a log parse operation binding the contract event 0xa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f.

Solidity: event AddressAdded(address indexed addr)

func (*PluginManagerFilterer) ParseAddressRemoved

func (_PluginManager *PluginManagerFilterer) ParseAddressRemoved(log types.Log) (*PluginManagerAddressRemoved, error)

ParseAddressRemoved is a log parse operation binding the contract event 0x24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb.

Solidity: event AddressRemoved(address indexed addr)

func (*PluginManagerFilterer) WatchAddressAdded

func (_PluginManager *PluginManagerFilterer) WatchAddressAdded(opts *bind.WatchOpts, sink chan<- *PluginManagerAddressAdded, addr []common.Address) (event.Subscription, error)

WatchAddressAdded is a free log subscription operation binding the contract event 0xa226db3f664042183ee0281230bba26cbf7b5057e50aee7f25a175ff45ce4d7f.

Solidity: event AddressAdded(address indexed addr)

func (*PluginManagerFilterer) WatchAddressRemoved

func (_PluginManager *PluginManagerFilterer) WatchAddressRemoved(opts *bind.WatchOpts, sink chan<- *PluginManagerAddressRemoved, addr []common.Address) (event.Subscription, error)

WatchAddressRemoved is a free log subscription operation binding the contract event 0x24a12366c02e13fe4a9e03d86a8952e85bb74a456c16e4a18b6d8295700b74bb.

Solidity: event AddressRemoved(address indexed addr)

type PluginManagerRaw

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

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

func (*PluginManagerRaw) Call

func (_PluginManager *PluginManagerRaw) 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 (*PluginManagerRaw) Transact

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

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

func (*PluginManagerRaw) Transfer

func (_PluginManager *PluginManagerRaw) 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 PluginManagerSession

type PluginManagerSession struct {
	Contract     *PluginManager    // 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
}

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

func (*PluginManagerSession) Install

func (_PluginManager *PluginManagerSession) Install(plugin common.Address, manifestHash [32]byte, pluginInstallData []byte, dependencies []FunctionReference, msca common.Address) (*types.Transaction, error)

Install is a paid mutator transaction binding the contract method 0xc877ea63.

Solidity: function install(address plugin, bytes32 manifestHash, bytes pluginInstallData, (address,uint8)[] dependencies, address msca) returns()

func (*PluginManagerSession) Uninstall

func (_PluginManager *PluginManagerSession) Uninstall(plugin common.Address, config []byte, pluginUninstallData []byte) (*types.Transaction, error)

Uninstall is a paid mutator transaction binding the contract method 0xb58bb5cb.

Solidity: function uninstall(address plugin, bytes config, bytes pluginUninstallData) returns(bool)

type PluginManagerTransactor

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

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

func NewPluginManagerTransactor

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

NewPluginManagerTransactor creates a new write-only instance of PluginManager, bound to a specific deployed contract.

func (*PluginManagerTransactor) Install

func (_PluginManager *PluginManagerTransactor) Install(opts *bind.TransactOpts, plugin common.Address, manifestHash [32]byte, pluginInstallData []byte, dependencies []FunctionReference, msca common.Address) (*types.Transaction, error)

Install is a paid mutator transaction binding the contract method 0xc877ea63.

Solidity: function install(address plugin, bytes32 manifestHash, bytes pluginInstallData, (address,uint8)[] dependencies, address msca) returns()

func (*PluginManagerTransactor) Uninstall

func (_PluginManager *PluginManagerTransactor) Uninstall(opts *bind.TransactOpts, plugin common.Address, config []byte, pluginUninstallData []byte) (*types.Transaction, error)

Uninstall is a paid mutator transaction binding the contract method 0xb58bb5cb.

Solidity: function uninstall(address plugin, bytes config, bytes pluginUninstallData) returns(bool)

type PluginManagerTransactorRaw

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

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

func (*PluginManagerTransactorRaw) Transact

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

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

func (*PluginManagerTransactorRaw) Transfer

func (_PluginManager *PluginManagerTransactorRaw) 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 PluginManagerTransactorSession

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

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

func (*PluginManagerTransactorSession) Install

func (_PluginManager *PluginManagerTransactorSession) Install(plugin common.Address, manifestHash [32]byte, pluginInstallData []byte, dependencies []FunctionReference, msca common.Address) (*types.Transaction, error)

Install is a paid mutator transaction binding the contract method 0xc877ea63.

Solidity: function install(address plugin, bytes32 manifestHash, bytes pluginInstallData, (address,uint8)[] dependencies, address msca) returns()

func (*PluginManagerTransactorSession) Uninstall

func (_PluginManager *PluginManagerTransactorSession) Uninstall(plugin common.Address, config []byte, pluginUninstallData []byte) (*types.Transaction, error)

Uninstall is a paid mutator transaction binding the contract method 0xb58bb5cb.

Solidity: function uninstall(address plugin, bytes config, bytes pluginUninstallData) returns(bool)

Jump to

Keyboard shortcuts

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