UNPKG

@vaimee/my3sec-contracts

Version:

A set of contracts that implements the My3Sec protocol

200 lines (199 loc) 18.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SkillRegistry", "sourceName": "contracts/governance/SkillRegistry.sol", "abi": [ { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InitParamsInvalid", "type": "error" }, { "inputs": [], "name": "SkillNotFound", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [ { "components": [ { "internalType": "string", "name": "metadataURI", "type": "string" } ], "internalType": "struct DataTypes.CreateSkill", "name": "args", "type": "tuple" } ], "name": "createSkill", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBaseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getSkill", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "string", "name": "metadataURI", "type": "string" } ], "internalType": "struct DataTypes.SkillView", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSkillCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "string", "name": "baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "components": [ { "internalType": "string", "name": "metadataURI", "type": "string" } ], "internalType": "struct DataTypes.UpdateSkill", "name": "args", "type": "tuple" } ], "name": "updateSkill", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b5060405162000fbf38038062000fbf8339810160408190526200003491620000e1565b6200003f336200007b565b8060018151101562000064576040516348be0eb360e01b815260040160405180910390fd5b600262000072838262000245565b50505062000311565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215620000f557600080fd5b82516001600160401b03808211156200010d57600080fd5b818501915085601f8301126200012257600080fd5b815181811115620001375762000137620000cb565b604051601f8201601f19908116603f01168101908382118183101715620001625762000162620000cb565b8160405282815288868487010111156200017b57600080fd5b600093505b828410156200019f578484018601518185018701529285019262000180565b600086848301015280965050505050505092915050565b600181811c90821680620001cb57607f821691505b602082108103620001ec57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024057600081815260208120601f850160051c810160208610156200021b5750805b601f850160051c820191505b818110156200023c5782815560010162000227565b5050505b505050565b81516001600160401b03811115620002615762000261620000cb565b6200027981620002728454620001b6565b84620001f2565b602080601f831160018114620002b15760008415620002985750858301515b600019600386901b1c1916600185901b1785556200023c565b600085815260208120601f198616915b82811015620002e257888601518255948401946001909101908401620002c1565b5085821015620003015787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c9e80620003216000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063715018a611610066578063715018a6146100eb5780638c2576b2146100f35780638da5cb5b14610106578063bd880fae14610121578063f2fde38b1461014157600080fd5b806305f53b29146100985780633fa9b1e4146100ae57806355f804b3146100c3578063714c5398146100d6575b600080fd5b6001546040519081526020015b60405180910390f35b6100c16100bc36600461073d565b610154565b005b6100c16100d1366004610790565b6101cb565b6100de610208565b6040516100a59190610891565b6100c161029a565b6100c16101013660046108ab565b6102ae565b6000546040516001600160a01b0390911681526020016100a5565b61013461012f3660046108f2565b61032c565b6040516100a5919061090b565b6100c161014f366004610930565b610497565b61015c610515565b60016101688280610959565b825460018101845560009384526020909320909201916101889183610a29565b506001805460009161019991610aea565b60405190915081907f22b345891f7ed770623196d690a94cfb1906bda0a1a7510e8526979c4792bc7490600090a25050565b6101d3610515565b806001815110156101f7576040516348be0eb360e01b815260040160405180910390fd5b60026102038382610b0b565b505050565b606060028054610217906109a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610243906109a7565b80156102905780601f1061026557610100808354040283529160200191610290565b820191906000526020600020905b81548152906001019060200180831161027357829003601f168201915b5050505050905090565b6102a2610515565b6102ac600061056f565b565b6102b6610515565b60018054839111806102d45750600180546102d19190610aea565b81115b156102f2576040516301f4bca560e01b815260040160405180910390fd5b6102fc8280610959565b6001858154811061030f5761030f610bcb565b906000526020600020019182610326929190610a29565b50505050565b604080518082019091526000815260606020820152600180548391118061035f57506001805461035c9190610aea565b81115b1561037d576040516301f4bca560e01b815260040160405180910390fd5b60006001848154811061039257610392610bcb565b9060005260206000200180546103a7906109a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d3906109a7565b80156104205780601f106103f557610100808354040283529160200191610420565b820191906000526020600020905b81548152906001019060200180831161040357829003601f168201915b5050505050905060018151111561044e57604051806040016040528085815260200182815250925050610491565b6040518060400160405280858152602001600261046a876105bf565b60405160200161047b929190610be1565b6040516020818303038152906040528152509250505b50919050565b61049f610515565b6001600160a01b0381166105095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6105128161056f565b50565b6000546001600160a01b031633146102ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610500565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006105cc83610652565b600101905060008167ffffffffffffffff8111156105ec576105ec61077a565b6040519080825280601f01601f191660200182016040528015610616576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461062057509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106106915772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106106bd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106106db57662386f26fc10000830492506010015b6305f5e10083106106f3576305f5e100830492506008015b612710831061070757612710830492506004015b60648310610719576064830492506002015b600a8310610725576001015b92915050565b60006020828403121561049157600080fd5b60006020828403121561074f57600080fd5b813567ffffffffffffffff81111561076657600080fd5b6107728482850161072b565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107a257600080fd5b813567ffffffffffffffff808211156107ba57600080fd5b818401915084601f8301126107ce57600080fd5b8135818111156107e0576107e061077a565b604051601f8201601f19908116603f011681019083821181831017156108085761080861077a565b8160405282815287602084870101111561082157600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b8381101561085c578181015183820152602001610844565b50506000910152565b6000815180845261087d816020860160208601610841565b601f01601f19169290920160200192915050565b6020815260006108a46020830184610865565b9392505050565b600080604083850312156108be57600080fd5b82359150602083013567ffffffffffffffff8111156108dc57600080fd5b6108e88582860161072b565b9150509250929050565b60006020828403121561090457600080fd5b5035919050565b6020815281516020820152600060208301516040808401526107726060840182610865565b60006020828403121561094257600080fd5b81356001600160a01b03811681146108a457600080fd5b6000808335601e1984360301811261097057600080fd5b83018035915067ffffffffffffffff82111561098b57600080fd5b6020019150368190038213156109a057600080fd5b9250929050565b600181811c908216806109bb57607f821691505b60208210810361049157634e487b7160e01b600052602260045260246000fd5b601f82111561020357600081815260208120601f850160051c81016020861015610a025750805b601f850160051c820191505b81811015610a2157828155600101610a0e565b505050505050565b67ffffffffffffffff831115610a4157610a4161077a565b610a5583610a4f83546109a7565b836109db565b6000601f841160018114610a895760008515610a715750838201355b600019600387901b1c1916600186901b178355610ae3565b600083815260209020601f19861690835b82811015610aba5786850135825560209485019460019092019101610a9a565b5086821015610ad75760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8181038181111561072557634e487b7160e01b600052601160045260246000fd5b815167ffffffffffffffff811115610b2557610b2561077a565b610b3981610b3384546109a7565b846109db565b602080601f831160018114610b6e5760008415610b565750858301515b600019600386901b1c1916600185901b178555610a21565b600085815260208120601f198616915b82811015610b9d57888601518255948401946001909101908401610b7e565b5085821015610bbb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6000808454610bef816109a7565b60018281168015610c075760018114610c1c57610c4b565b60ff1984168752821515830287019450610c4b565b8860005260208060002060005b85811015610c425781548a820152908401908201610c29565b50505082870194505b505050508351610c5f818360208801610841565b0194935050505056fea2646970667358221220fc6eabd59ce3a8f7f7c7e4140fc92068b4346fca8fd774a19dc7bdcc19208af164736f6c63430008110033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063715018a611610066578063715018a6146100eb5780638c2576b2146100f35780638da5cb5b14610106578063bd880fae14610121578063f2fde38b1461014157600080fd5b806305f53b29146100985780633fa9b1e4146100ae57806355f804b3146100c3578063714c5398146100d6575b600080fd5b6001546040519081526020015b60405180910390f35b6100c16100bc36600461073d565b610154565b005b6100c16100d1366004610790565b6101cb565b6100de610208565b6040516100a59190610891565b6100c161029a565b6100c16101013660046108ab565b6102ae565b6000546040516001600160a01b0390911681526020016100a5565b61013461012f3660046108f2565b61032c565b6040516100a5919061090b565b6100c161014f366004610930565b610497565b61015c610515565b60016101688280610959565b825460018101845560009384526020909320909201916101889183610a29565b506001805460009161019991610aea565b60405190915081907f22b345891f7ed770623196d690a94cfb1906bda0a1a7510e8526979c4792bc7490600090a25050565b6101d3610515565b806001815110156101f7576040516348be0eb360e01b815260040160405180910390fd5b60026102038382610b0b565b505050565b606060028054610217906109a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610243906109a7565b80156102905780601f1061026557610100808354040283529160200191610290565b820191906000526020600020905b81548152906001019060200180831161027357829003601f168201915b5050505050905090565b6102a2610515565b6102ac600061056f565b565b6102b6610515565b60018054839111806102d45750600180546102d19190610aea565b81115b156102f2576040516301f4bca560e01b815260040160405180910390fd5b6102fc8280610959565b6001858154811061030f5761030f610bcb565b906000526020600020019182610326929190610a29565b50505050565b604080518082019091526000815260606020820152600180548391118061035f57506001805461035c9190610aea565b81115b1561037d576040516301f4bca560e01b815260040160405180910390fd5b60006001848154811061039257610392610bcb565b9060005260206000200180546103a7906109a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d3906109a7565b80156104205780601f106103f557610100808354040283529160200191610420565b820191906000526020600020905b81548152906001019060200180831161040357829003601f168201915b5050505050905060018151111561044e57604051806040016040528085815260200182815250925050610491565b6040518060400160405280858152602001600261046a876105bf565b60405160200161047b929190610be1565b6040516020818303038152906040528152509250505b50919050565b61049f610515565b6001600160a01b0381166105095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6105128161056f565b50565b6000546001600160a01b031633146102ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610500565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006105cc83610652565b600101905060008167ffffffffffffffff8111156105ec576105ec61077a565b6040519080825280601f01601f191660200182016040528015610616576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461062057509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106106915772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106106bd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106106db57662386f26fc10000830492506010015b6305f5e10083106106f3576305f5e100830492506008015b612710831061070757612710830492506004015b60648310610719576064830492506002015b600a8310610725576001015b92915050565b60006020828403121561049157600080fd5b60006020828403121561074f57600080fd5b813567ffffffffffffffff81111561076657600080fd5b6107728482850161072b565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107a257600080fd5b813567ffffffffffffffff808211156107ba57600080fd5b818401915084601f8301126107ce57600080fd5b8135818111156107e0576107e061077a565b604051601f8201601f19908116603f011681019083821181831017156108085761080861077a565b8160405282815287602084870101111561082157600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b8381101561085c578181015183820152602001610844565b50506000910152565b6000815180845261087d816020860160208601610841565b601f01601f19169290920160200192915050565b6020815260006108a46020830184610865565b9392505050565b600080604083850312156108be57600080fd5b82359150602083013567ffffffffffffffff8111156108dc57600080fd5b6108e88582860161072b565b9150509250929050565b60006020828403121561090457600080fd5b5035919050565b6020815281516020820152600060208301516040808401526107726060840182610865565b60006020828403121561094257600080fd5b81356001600160a01b03811681146108a457600080fd5b6000808335601e1984360301811261097057600080fd5b83018035915067ffffffffffffffff82111561098b57600080fd5b6020019150368190038213156109a057600080fd5b9250929050565b600181811c908216806109bb57607f821691505b60208210810361049157634e487b7160e01b600052602260045260246000fd5b601f82111561020357600081815260208120601f850160051c81016020861015610a025750805b601f850160051c820191505b81811015610a2157828155600101610a0e565b505050505050565b67ffffffffffffffff831115610a4157610a4161077a565b610a5583610a4f83546109a7565b836109db565b6000601f841160018114610a895760008515610a715750838201355b600019600387901b1c1916600186901b178355610ae3565b600083815260209020601f19861690835b82811015610aba5786850135825560209485019460019092019101610a9a565b5086821015610ad75760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8181038181111561072557634e487b7160e01b600052601160045260246000fd5b815167ffffffffffffffff811115610b2557610b2561077a565b610b3981610b3384546109a7565b846109db565b602080601f831160018114610b6e5760008415610b565750858301515b600019600386901b1c1916600185901b178555610a21565b600085815260208120601f198616915b82811015610b9d57888601518255948401946001909101908401610b7e565b5085821015610bbb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6000808454610bef816109a7565b60018281168015610c075760018114610c1c57610c4b565b60ff1984168752821515830287019450610c4b565b8860005260208060002060005b85811015610c425781548a820152908401908201610c29565b50505082870194505b505050508351610c5f818360208801610841565b0194935050505056fea2646970667358221220fc6eabd59ce3a8f7f7c7e4140fc92068b4346fca8fd774a19dc7bdcc19208af164736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} }