UNPKG

@credenza-web3/contracts

Version:

Credenza Contracts

273 lines (272 loc) 20.9 kB
{ "_format": "hh-sol-artifact-1", "contractName": "MetadataMembershipContract", "sourceName": "contracts/membership/MetadataMembershipContract.sol", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" } ], "name": "MembershipAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" } ], "name": "MembershipRemoved", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "customerAddress", "type": "address" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "name": "addMembership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "addOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "clearOwners", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "customerAddress", "type": "address" } ], "name": "confirmMembership", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDescription", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "customerAddress", "type": "address" } ], "name": "getMembershipMetadata", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwners", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTrustedForwarder", "outputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVersion", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "isTrustedForwarder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "customerAddress", "type": "address" } ], "name": "removeMembership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "removeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "description", "type": "string" } ], "name": "setDescription", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_forwarder", "type": "address" } ], "name": "setTrustedForwarder", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561000f575f80fd5b5061002061001b610025565b610058565b610169565b5f6014361080159061004157506003546001600160a01b031633145b15610053575060131936013560601c90565b503390565b600154158061008a575061008a61006d610025565b6001600160a01b03165f9081526020819052604090205460ff1690565b6100e55760405162461bcd60e51b815260206004820152602260248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604482015261371760f11b606482015260840160405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff16610166576001600160a01b0381165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191690911790555b50565b610e26806101765f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80635b64bed011610093578063b3d6818111610063578063b3d68181146101f5578063ce1b815f14610208578063da74222814610223578063f17fa44e14610236575f80fd5b80635b64bed0146101a75780637065cb48146101ba57806390c3f38f146101cd578063a0e67e2b146101e0575f80fd5b80632f54bf6e116100ce5780632f54bf6e1461012f578063502ccb091461016a5780635260f5e61461017d578063572b6c0514610185575f80fd5b80630d8e6e2c146100f4578063173825d9146101125780631a09254114610127575b5f80fd5b6100fc610261565b60405161010991906109cb565b60405180910390f35b610125610120366004610a31565b610281565b005b6100fc61034f565b61015a61013d366004610a31565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610109565b610125610178366004610aee565b6103df565b610125610480565b61015a610193366004610a31565b6003546001600160a01b0391821691161490565b6100fc6101b5366004610a31565b610526565b6101256101c8366004610a31565b61064b565b6101256101db366004610b39565b6106fd565b6101e861073e565b6040516101099190610b73565b610125610203366004610a31565b61079d565b6003546040516001600160a01b039091168152602001610109565b610125610231366004610a31565b610817565b61015a610244366004610a31565b6001600160a01b03165f9081526004602052604090205460ff1690565b6060604051806060016040528060228152602001610dcf60229139905090565b6001541580610296575061029661013d610866565b6102bb5760405162461bcd60e51b81526004016102b290610bbf565b60405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff166103225760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e6572000060448201526064016102b2565b6001600160a01b0381165f908152602081905260409020805460ff1916905561034c600182610899565b50565b60606002805461035e90610c01565b80601f016020809104026020016040519081016040528092919081815260200182805461038a90610c01565b80156103d55780601f106103ac576101008083540402835291602001916103d5565b820191905f5260205f20905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b60015415806103f457506103f461013d610866565b6104105760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0382165f908152600460209081526040808320805460ff19166001179055600590915290206104468282610c86565b506040516001600160a01b0383169033907fce83807ca74d689869c29adbce77172c8a762f90e26450adebe0a2ec29c80c2b905f90a35050565b6001541580610495575061049561013d610866565b6104b15760405162461bcd60e51b81526004016102b290610bbf565b5f5b600154811015610518575f805f600184815481106104d3576104d3610d42565b5f918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790558061051081610d6a565b9150506104b3565b5061052460015f61099d565b565b6040516378bfd22760e11b81526001600160a01b0382166004820152606090309063f17fa44e90602401602060405180830381865afa15801561056b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058f9190610d82565b6105a657505060408051602081019091525f815290565b6001600160a01b0382165f90815260056020526040902080546105c890610c01565b80601f01602080910402602001604051908101604052809291908181526020018280546105f490610c01565b801561063f5780601f106106165761010080835404028352916020019161063f565b820191905f5260205f20905b81548152906001019060200180831161062257829003601f168201915b50505050509050919050565b6001541580610660575061066061013d610866565b61067c5760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0381165f9081526020819052604090205460ff1661034c576001600160a01b03165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055565b6001541580610712575061071261013d610866565b61072e5760405162461bcd60e51b81526004016102b290610bbf565b600261073a8282610c86565b5050565b606060018054806020026020016040519081016040528092919081815260200182805480156103d557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610776575050505050905090565b60015415806107b257506107b261013d610866565b6107ce5760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0381165f81815260046020526040808220805460ff191690555133917f153a07e9ccc07353bbcd9c48710cd8ff1be4828e16589d8aa5f708d24ba1954691a350565b600154158061082c575061082c61013d610866565b6108485760405162461bcd60e51b81526004016102b290610bbf565b600380546001600160a01b0319166001600160a01b03831617905550565b5f6014361080159061088257506003546001600160a01b031633145b15610894575060131936013560601c90565b503390565b5f5b825481101561099857816001600160a01b03168382815481106108c0576108c0610d42565b5f918252602090912001546001600160a01b03160361098657825483906108e990600190610da1565b815481106108f9576108f9610d42565b905f5260205f20015f9054906101000a90046001600160a01b031683828154811061092657610926610d42565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508280548061096157610961610dba565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b8061099081610d6a565b91505061089b565b505050565b5080545f8255905f5260205f209081019061034c91905b808211156109c7575f81556001016109b4565b5090565b5f6020808352835180828501525f5b818110156109f6578581018301518582016040015282016109da565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2c575f80fd5b919050565b5f60208284031215610a41575f80fd5b610a4a82610a16565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a74575f80fd5b813567ffffffffffffffff80821115610a8f57610a8f610a51565b604051601f8301601f19908116603f01168101908282118183101715610ab757610ab7610a51565b81604052838152866020858801011115610acf575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215610aff575f80fd5b610b0883610a16565b9150602083013567ffffffffffffffff811115610b23575f80fd5b610b2f85828601610a65565b9150509250929050565b5f60208284031215610b49575f80fd5b813567ffffffffffffffff811115610b5f575f80fd5b610b6b84828501610a65565b949350505050565b602080825282518282018190525f9190848201906040850190845b81811015610bb35783516001600160a01b031683529284019291840191600101610b8e565b50909695505050505050565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b600181811c90821680610c1557607f821691505b602082108103610c3357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610998575f81815260208120601f850160051c81016020861015610c5f5750805b601f850160051c820191505b81811015610c7e57828155600101610c6b565b505050505050565b815167ffffffffffffffff811115610ca057610ca0610a51565b610cb481610cae8454610c01565b84610c39565b602080601f831160018114610ce7575f8415610cd05750858301515b5f19600386901b1c1916600185901b178555610c7e565b5f85815260208120601f198616915b82811015610d1557888601518255948401946001909101908401610cf6565b5085821015610d3257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d7b57610d7b610d56565b5060010190565b5f60208284031215610d92575f80fd5b81518015158114610a4a575f80fd5b81810381811115610db457610db4610d56565b92915050565b634e487b7160e01b5f52603160045260245ffdfe4d657461646174614d656d62657273686970436f6e7472616374207620302e312e30a2646970667358221220194ff5b33f9cf15d7542faae6442857509319619cf06f9f8ec7f35a35bdba71464736f6c63430008140033", "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80635b64bed011610093578063b3d6818111610063578063b3d68181146101f5578063ce1b815f14610208578063da74222814610223578063f17fa44e14610236575f80fd5b80635b64bed0146101a75780637065cb48146101ba57806390c3f38f146101cd578063a0e67e2b146101e0575f80fd5b80632f54bf6e116100ce5780632f54bf6e1461012f578063502ccb091461016a5780635260f5e61461017d578063572b6c0514610185575f80fd5b80630d8e6e2c146100f4578063173825d9146101125780631a09254114610127575b5f80fd5b6100fc610261565b60405161010991906109cb565b60405180910390f35b610125610120366004610a31565b610281565b005b6100fc61034f565b61015a61013d366004610a31565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610109565b610125610178366004610aee565b6103df565b610125610480565b61015a610193366004610a31565b6003546001600160a01b0391821691161490565b6100fc6101b5366004610a31565b610526565b6101256101c8366004610a31565b61064b565b6101256101db366004610b39565b6106fd565b6101e861073e565b6040516101099190610b73565b610125610203366004610a31565b61079d565b6003546040516001600160a01b039091168152602001610109565b610125610231366004610a31565b610817565b61015a610244366004610a31565b6001600160a01b03165f9081526004602052604090205460ff1690565b6060604051806060016040528060228152602001610dcf60229139905090565b6001541580610296575061029661013d610866565b6102bb5760405162461bcd60e51b81526004016102b290610bbf565b60405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff166103225760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e6572000060448201526064016102b2565b6001600160a01b0381165f908152602081905260409020805460ff1916905561034c600182610899565b50565b60606002805461035e90610c01565b80601f016020809104026020016040519081016040528092919081815260200182805461038a90610c01565b80156103d55780601f106103ac576101008083540402835291602001916103d5565b820191905f5260205f20905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b60015415806103f457506103f461013d610866565b6104105760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0382165f908152600460209081526040808320805460ff19166001179055600590915290206104468282610c86565b506040516001600160a01b0383169033907fce83807ca74d689869c29adbce77172c8a762f90e26450adebe0a2ec29c80c2b905f90a35050565b6001541580610495575061049561013d610866565b6104b15760405162461bcd60e51b81526004016102b290610bbf565b5f5b600154811015610518575f805f600184815481106104d3576104d3610d42565b5f918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790558061051081610d6a565b9150506104b3565b5061052460015f61099d565b565b6040516378bfd22760e11b81526001600160a01b0382166004820152606090309063f17fa44e90602401602060405180830381865afa15801561056b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058f9190610d82565b6105a657505060408051602081019091525f815290565b6001600160a01b0382165f90815260056020526040902080546105c890610c01565b80601f01602080910402602001604051908101604052809291908181526020018280546105f490610c01565b801561063f5780601f106106165761010080835404028352916020019161063f565b820191905f5260205f20905b81548152906001019060200180831161062257829003601f168201915b50505050509050919050565b6001541580610660575061066061013d610866565b61067c5760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0381165f9081526020819052604090205460ff1661034c576001600160a01b03165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055565b6001541580610712575061071261013d610866565b61072e5760405162461bcd60e51b81526004016102b290610bbf565b600261073a8282610c86565b5050565b606060018054806020026020016040519081016040528092919081815260200182805480156103d557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610776575050505050905090565b60015415806107b257506107b261013d610866565b6107ce5760405162461bcd60e51b81526004016102b290610bbf565b6001600160a01b0381165f81815260046020526040808220805460ff191690555133917f153a07e9ccc07353bbcd9c48710cd8ff1be4828e16589d8aa5f708d24ba1954691a350565b600154158061082c575061082c61013d610866565b6108485760405162461bcd60e51b81526004016102b290610bbf565b600380546001600160a01b0319166001600160a01b03831617905550565b5f6014361080159061088257506003546001600160a01b031633145b15610894575060131936013560601c90565b503390565b5f5b825481101561099857816001600160a01b03168382815481106108c0576108c0610d42565b5f918252602090912001546001600160a01b03160361098657825483906108e990600190610da1565b815481106108f9576108f9610d42565b905f5260205f20015f9054906101000a90046001600160a01b031683828154811061092657610926610d42565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508280548061096157610961610dba565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b8061099081610d6a565b91505061089b565b505050565b5080545f8255905f5260205f209081019061034c91905b808211156109c7575f81556001016109b4565b5090565b5f6020808352835180828501525f5b818110156109f6578581018301518582016040015282016109da565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2c575f80fd5b919050565b5f60208284031215610a41575f80fd5b610a4a82610a16565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a74575f80fd5b813567ffffffffffffffff80821115610a8f57610a8f610a51565b604051601f8301601f19908116603f01168101908282118183101715610ab757610ab7610a51565b81604052838152866020858801011115610acf575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215610aff575f80fd5b610b0883610a16565b9150602083013567ffffffffffffffff811115610b23575f80fd5b610b2f85828601610a65565b9150509250929050565b5f60208284031215610b49575f80fd5b813567ffffffffffffffff811115610b5f575f80fd5b610b6b84828501610a65565b949350505050565b602080825282518282018190525f9190848201906040850190845b81811015610bb35783516001600160a01b031683529284019291840191600101610b8e565b50909695505050505050565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b600181811c90821680610c1557607f821691505b602082108103610c3357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610998575f81815260208120601f850160051c81016020861015610c5f5750805b601f850160051c820191505b81811015610c7e57828155600101610c6b565b505050505050565b815167ffffffffffffffff811115610ca057610ca0610a51565b610cb481610cae8454610c01565b84610c39565b602080601f831160018114610ce7575f8415610cd05750858301515b5f19600386901b1c1916600185901b178555610c7e565b5f85815260208120601f198616915b82811015610d1557888601518255948401946001909101908401610cf6565b5085821015610d3257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d7b57610d7b610d56565b5060010190565b5f60208284031215610d92575f80fd5b81518015158114610a4a575f80fd5b81810381811115610db457610db4610d56565b92915050565b634e487b7160e01b5f52603160045260245ffdfe4d657461646174614d656d62657273686970436f6e7472616374207620302e312e30a2646970667358221220194ff5b33f9cf15d7542faae6442857509319619cf06f9f8ec7f35a35bdba71464736f6c63430008140033", "linkReferences": {}, "deployedLinkReferences": {} }