This commit is contained in:
PedroCailleret committed 2023-05-15 00:16:36 -03:00
1 parent d8147bd58e
commit 545887baec
16 files changed
+55 -209

No files matched your search

+1
View File
@@ -19,6 +19,7 @@
│ │ └── ERC20.sol
│ └── utils
│ ├── MerkleProofLib.sol
│ ├── Multicall.sol
│ ├── ReentrancyGuard.sol
│ └── SafeTransferLib.sol
├── p2pix.sol
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/cec3ec245aa8292dcd32990ec72987ab.json"
"buildInfo": "../../build-info/906fc0dd8b27e18481e135d1f328d0ae.json"
}
@@ -8,25 +8,6 @@
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerUpdated",
"type": "event"
},
{
"inputs": [
{
@@ -71,36 +52,10 @@
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "setOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6080806040523461004f57600080546001600160a01b031916339081178255907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a361043e90816100558239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826313af4035146102f6575081631a861d26146102ba5781634d2b1791146100ec575080638da5cb5b1461009c5763a4b345571461005c57600080fd5b3461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051643a352944008152f35b5080fd5b503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b8383346100985760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009857823591620f4240838102908104840361028e578380029380850481149015171561028e57643a3529440093840180941161028e5760b58471010000000000000000000000000000000000811015610277575b8069010000000000000000006201000092101561026b575b6501000000000081101561025e575b6301000000811015610251575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146102255703900483018093116101f9576020838351908152f35b806011857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b6024846012897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b916101a3565b60201c9160101b91610196565b851c9160201b91610187565b5068b500000000000000009050608085901c61016f565b6024826011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051620f42408152f35b8491346104045760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104045780359173ffffffffffffffffffffffffffffffffffffffff9182841680940361040057845492831633036103a55750507fffffffffffffffffffffffff00000000000000000000000000000000000000001681178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b9060206064927f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b8480fd5b8280fdfea2646970667358221220ebc26f1432d13f128c50ef3a8297ef65a17fc376c17056b77b447e21b462442464736f6c63430008130033",
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826313af4035146102f6575081631a861d26146102ba5781634d2b1791146100ec575080638da5cb5b1461009c5763a4b345571461005c57600080fd5b3461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051643a352944008152f35b5080fd5b503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b8383346100985760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009857823591620f4240838102908104840361028e578380029380850481149015171561028e57643a3529440093840180941161028e5760b58471010000000000000000000000000000000000811015610277575b8069010000000000000000006201000092101561026b575b6501000000000081101561025e575b6301000000811015610251575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146102255703900483018093116101f9576020838351908152f35b806011857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b6024846012897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b916101a3565b60201c9160101b91610196565b851c9160201b91610187565b5068b500000000000000009050608085901c61016f565b6024826011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051620f42408152f35b8491346104045760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104045780359173ffffffffffffffffffffffffffffffffffffffff9182841680940361040057845492831633036103a55750507fffffffffffffffffffffffff00000000000000000000000000000000000000001681178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b9060206064927f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b8480fd5b8280fdfea2646970667358221220ebc26f1432d13f128c50ef3a8297ef65a17fc376c17056b77b447e21b462442464736f6c63430008130033",
"bytecode": "0x60808060405234610016576102c9908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c9182631a861d2614610254575081634d2b179114610085575063a4b345571461004557600080fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610082576020604051643a352944008152f35b80fd5b82346100825760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257813591620f42408381029081048403610228578380029380850481149015171561022857643a352944009384018094116102285760b58471010000000000000000000000000000000000811015610211575b80690100000000000000000062010000921015610204575b650100000000008110156101f7575b63010000008110156101ea575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146101be57039004830180931161019257602083604051908152f35b9060116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856012867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b9161013b565b60201c9160101b9161012e565b60401c9160201b9161011f565b5068b500000000000000009050608085901c610107565b6024836011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83903461028f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028f5780620f424060209252f35b5080fdfea26469706673582212201f57ae0c5884bdde41f85c3510ca33502ea7408e92d2669d2cb4da374119f5e064736f6c63430008130033",
"deployedBytecode": "0x6080806040526004908136101561001557600080fd5b600091823560e01c9182631a861d2614610254575081634d2b179114610085575063a4b345571461004557600080fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610082576020604051643a352944008152f35b80fd5b82346100825760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257813591620f42408381029081048403610228578380029380850481149015171561022857643a352944009384018094116102285760b58471010000000000000000000000000000000000811015610211575b80690100000000000000000062010000921015610204575b650100000000008110156101f7575b63010000008110156101ea575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146101be57039004830180931161019257602083604051908152f35b9060116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856012867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b9161013b565b60201c9160101b9161012e565b60401c9160201b9161011f565b5068b500000000000000009050608085901c610107565b6024836011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83903461028f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028f5780620f424060209252f35b5080fdfea26469706673582212201f57ae0c5884bdde41f85c3510ca33502ea7408e92d2669d2cb4da374119f5e064736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/cec3ec245aa8292dcd32990ec72987ab.json"
"buildInfo": "../../../../build-info/b608b6eb28957aeb71328924500ce935.json"
}
@@ -3,6 +3,11 @@
"contractName": "Owned",
"sourceName": "contracts/lib/auth/Owned.sol",
"abi": [
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
+1 -1
View File
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/cec3ec245aa8292dcd32990ec72987ab.json"
"buildInfo": "../../build-info/b608b6eb28957aeb71328924500ce935.json"
}
+7 -2
View File
@@ -134,6 +134,11 @@
"name": "TxAlreadyUsed",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
@@ -1069,8 +1074,8 @@
"type": "receive"
}
],
"bytecode": "0x608060405262002a8a803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516126279081620004638239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a1620003af565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b156200037b57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b90600090620003c960018060a01b03835416331462000373565b82519182156200045557815183036200044857602092919284818080970195019360051b0101925b83810362000400575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003f1565b63ff633a3890526004601cfd5b63df95788390526004601cfdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e57611594565b611522565b611477565b61145e565b6113bc565b610f2d565b610ef9565b610ebf565b610e69565b610e29565b610811565b610e0b565b610ded565b610db9565b610d20565b610cb9565b610ca0565b610c4f565b610c17565b610b06565b610ae3565b610aa3565b610a1c565b6109b5565b61098b565b6108f4565b610762565b610532565b61047f565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b73ffffffffffffffffffffffffffffffffffffffff6103d1816000541633146116ad565b8151828401939060051b830181013d1515855b811561044b575b50505060405192818401908285525180915260408401949160005b828110610435577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610406565b90838260018298969499979951600c1b550190838210156104735791509593959492946103e4565b509593959492946103eb565b346102425760206003193601126102425760043561049c816102f5565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060009182549073ffffffffffffffffffffffffffffffffffffffff906104e682841633146116ad565b1691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a06003193601126102425760043561054f816102f5565b6024356bffffffffLine truncated
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e57611594565b611522565b611477565b61145e565b6113bc565b610f2d565b610ef9565b610ebf565b610e69565b610e29565b610811565b610e0b565b610ded565b610db9565b610d20565b610cb9565b610ca0565b610c4f565b610c17565b610b06565b610ae3565b610aa3565b610a1c565b6109b5565b61098b565b6108f4565b610762565b610532565b61047f565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b73ffffffffffffffffffffffffffffffffffffffff6103d1816000541633146116ad565b8151828401939060051b830181013d1515855b811561044b575b50505060405192818401908285525180915260408401949160005b828110610435577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610406565b90838260018298969499979951600c1b550190838210156104735791509593959492946103e4565b509593959492946103eb565b346102425760206003193601126102425760043561049c816102f5565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060009182549073ffffffffffffffffffffffffffffffffffffffff906104e682841633146116ad565b1691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a06003193601126102425760043561054f816102f5565b6024356bffffffffffffffffffffffff8116908181036102425760443590610576826102f5565b61057e610516565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b90861615610738576105c66105c28363cbc9d1c4600c526000526020600c205490565b1590565b61070e576b3fffffffffffffffffffffff6105f783839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e400000061060f8584611754565b116106e457826106cf976106899661065b89610680967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d61064f611761565b806106d4575b50611754565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b3090339061179c565b61069260018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6106de9033611e9d565b38610655565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610852575050505090565b835185529381019392810192600101610844565b9061087990604083526040830190610832565b81810360209283015282518082529082019282019160009190825b8281106108a357505050505090565b909192939485516004808210156108c857508152820194820193929190600101610894565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610932826102dd565b916109406040519384610276565b80835260248484019160051b8301019136831161024257602401905b82821061097c5761096c846124ab565b9061080d60405192839283610866565b8135815290840190840161095c565b346102425760206003193601126102425760206004356109aa816102f5565b60405190600c1b8152f35b34Line truncated
"bytecode": "0x608060405262002a0f803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516125d99081620004368239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a162000373565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b60008054919290916001600160a01b03163303620004245782519182156200041757815183036200040a57602092919284818080970195019360051b0101925b838103620003c2575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003b3565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b6040516282b42960e81b8152600490fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e576115af565b61153f565b611494565b61147b565b6113d9565b610f4a565b610f16565b610edc565b610e86565b610e46565b610835565b610e28565b610e0a565b610dd6565b610d3d565b610cd6565b610cbd565b610c6c565b610c34565b610b23565b610b00565b610ac0565b610a3d565b6109d9565b6109af565b610918565b610786565b610556565b6104a8565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361047e57805181830192849160051b830181013d1515855b811561044a575b50505060405192818401908285525180915260408401949160005b828110610434577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610405565b90838260018298969499979951600c1b550190838210156104725791509593959492946103e3565b509593959492946103ea565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576004356104c5816102f5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361047e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a060031936011261024257600435610573816102f5565b6024356bffffffffffffffffffffffff81Line truncated
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e576115af565b61153f565b611494565b61147b565b6113d9565b610f4a565b610f16565b610edc565b610e86565b610e46565b610835565b610e28565b610e0a565b610dd6565b610d3d565b610cd6565b610cbd565b610c6c565b610c34565b610b23565b610b00565b610ac0565b610a3d565b6109d9565b6109af565b610918565b610786565b610556565b6104a8565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361047e57805181830192849160051b830181013d1515855b811561044a575b50505060405192818401908285525180915260408401949160005b828110610434577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610405565b90838260018298969499979951600c1b550190838210156104725791509593959492946103e3565b509593959492946103ea565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576004356104c5816102f5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361047e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a060031936011261024257600435610573816102f5565b6024356bffffffffffffffffffffffff811690818103610242576044359061059a826102f5565b6105a261053a565b6084359373ffffffffffffffffffffffffffffffffffffffff8087169033600c1b9086161561075c576105ea6105e68363cbc9d1c4600c526000526020600c205490565b1590565b610732576b3fffffffffffffffffffffff61061b83839060205263739094b1600c52600c1c6000526034600c205490565b16906a52b7d2dcc80cd2e4000000610633858461170a565b1161070857826106f3976106ad9661067f896106a4967f63d8d7d5e63e9840ec91a12a160d27b7cfab294f6ba070b7359692acfe6b03bf9d610673611717565b806106f8575b5061170a565b9060ff1b91605f1b1717919060205263739094b1600c52600c1c6000526034600c2055565b30903390611752565b6106b660018055565b6040805173ffffffffffffffffffffffffffffffffffffffff90951685526bffffffffffffffffffffffff90911660208501523393918291820190565b0390a2005b6107029033611e53565b38610679565b60046040517ff3fb0eb9000000000000000000000000000000000000000000000000000000008152fd5b60046040517f1578328e000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6a3bc53e000000000000000000000000000000000000000000000000000000008152fd5b3461024257602060031936011261024257600480356000908152600560208181526040928390208054600182015460028301546003840154978401549584015460068501546007860154600890960154895195865296850193909352968301526060820196909652608081019390935273ffffffffffffffffffffffffffffffffffffffff93841660a084015293831660c083015292821660e0820152911661010082015261012090f35b0390f35b34610242576020600319360112610242576020600435546040519015158152f35b90815180825260208080930193019160005b828110610876575050505090565b835185529381019392810192600101610868565b9061089d90604083526040830190610856565b81810360209283015282518082529082019282019160009190825b8281106108c757505050505090565b909192939485516004808210156108ec575081528201948201939291906001016108b8565b8660216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b34610242576020806003193601126102425760043567ffffffffffffffff8111610242573660238201121561024257806004013590610956826102dd565b916109646040519384610276565b80835260248484019160051b8301019136831161024257602401905b8282106109a0576109908461245d565b906108316040519283928361088a565b81358152908401908401610980565b34610242576020Line truncated
"linkReferences": {},
"deployedLinkReferences": {}
}
+1 -2
View File
@@ -2,9 +2,8 @@
pragma solidity 0.8.19;
import { IReputation } from "./lib/interfaces/IReputation.sol";
import { Owned } from "./lib/auth/Owned.sol";
contract Reputation is IReputation, Owned(msg.sender) {
contract Reputation is IReputation {
/// @dev Asymptote numerator constant value for the `limiter` fx.
uint256 public constant maxLimit = 1e6;
/// @dev Denominator's constant operand for the `limiter` fx.
+3 -1
View File
@@ -4,6 +4,8 @@ pragma solidity >=0.8.4;
/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
error Unauthorized();
/*//////////////////////////////////////////////////////////////
EVENTS
//////////////////////////////////////////////////////////////*/
@@ -20,7 +22,7 @@ abstract contract Owned {
address public owner;
modifier onlyOwner() virtual {
require(msg.sender == owner, "UNAUTHORIZED");
if (msg.sender != owner) revert Unauthorized();
_;
}
-11
View File
@@ -74,17 +74,6 @@ const config: HardhatUserConfig = {
goerli: process.env.ETHERSCAN_API_KEY || "",
polygonMumbai: process.env.POLYGONSCAN_API_KEY || "",
},
// customChains: [
// {
// // network: {INSERT_NAME},
// // chainId: {INSERT_ID},
// // urls: {
// // apiURL:
// // "{INSERT_URL}",
// // browserURL: "{INSERT_URL}",
// // },
// },
// ],
},
gasReporter: {
enabled: !!(
+4 -83
View File
@@ -7,17 +7,11 @@ import type {
BigNumberish,
BytesLike,
CallOverrides,
ContractTransaction,
Overrides,
PopulatedTransaction,
Signer,
utils,
} from "ethers";
import type {
FunctionFragment,
Result,
EventFragment,
} from "@ethersproject/abi";
import type { FunctionFragment, Result } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type {
TypedEventFilter,
@@ -32,17 +26,10 @@ export interface ReputationInterface extends utils.Interface {
"limiter(uint256)": FunctionFragment;
"magicValue()": FunctionFragment;
"maxLimit()": FunctionFragment;
"owner()": FunctionFragment;
"setOwner(address)": FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| "limiter"
| "magicValue"
| "maxLimit"
| "owner"
| "setOwner"
nameOrSignatureOrTopic: "limiter" | "magicValue" | "maxLimit"
): FunctionFragment;
encodeFunctionData(
@@ -54,36 +41,14 @@ export interface ReputationInterface extends utils.Interface {
values?: undefined
): string;
encodeFunctionData(functionFragment: "maxLimit", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(
functionFragment: "setOwner",
values: [PromiseOrValue<string>]
): string;
decodeFunctionResult(functionFragment: "limiter", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "magicValue", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "maxLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result;
events: {
"OwnerUpdated(address,address)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "OwnerUpdated"): EventFragment;
events: {};
}
export interface OwnerUpdatedEventObject {
user: string;
newOwner: string;
}
export type OwnerUpdatedEvent = TypedEvent<
[string, string],
OwnerUpdatedEventObject
>;
export type OwnerUpdatedEventFilter = TypedEventFilter<OwnerUpdatedEvent>;
export interface Reputation extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
@@ -119,13 +84,6 @@ export interface Reputation extends BaseContract {
magicValue(overrides?: CallOverrides): Promise<[BigNumber]>;
maxLimit(overrides?: CallOverrides): Promise<[BigNumber]>;
owner(overrides?: CallOverrides): Promise<[string]>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
limiter(
@@ -137,13 +95,6 @@ export interface Reputation extends BaseContract {
maxLimit(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
limiter(
_userCredit: PromiseOrValue<BigNumberish>,
@@ -153,25 +104,9 @@ export interface Reputation extends BaseContract {
magicValue(overrides?: CallOverrides): Promise<BigNumber>;
maxLimit(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
};
filters: {
"OwnerUpdated(address,address)"(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
OwnerUpdated(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
};
filters: {};
estimateGas: {
limiter(
@@ -182,13 +117,6 @@ export interface Reputation extends BaseContract {
magicValue(overrides?: CallOverrides): Promise<BigNumber>;
maxLimit(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
@@ -200,12 +128,5 @@ export interface Reputation extends BaseContract {
magicValue(overrides?: CallOverrides): Promise<PopulatedTransaction>;
maxLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}
+1 -46
View File
@@ -12,25 +12,6 @@ const _abi = [
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "user",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnerUpdated",
type: "event",
},
{
inputs: [
{
@@ -76,36 +57,10 @@ const _abi = [
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "setOwner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode =
"0x6080806040523461004f57600080546001600160a01b031916339081178255907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a361043e90816100558239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826313af4035146102f6575081631a861d26146102ba5781634d2b1791146100ec575080638da5cb5b1461009c5763a4b345571461005c57600080fd5b3461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051643a352944008152f35b5080fd5b503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b8383346100985760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009857823591620f4240838102908104840361028e578380029380850481149015171561028e57643a3529440093840180941161028e5760b58471010000000000000000000000000000000000811015610277575b8069010000000000000000006201000092101561026b575b6501000000000081101561025e575b6301000000811015610251575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146102255703900483018093116101f9576020838351908152f35b806011857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b6024846012897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b916101a3565b60201c9160101b91610196565b851c9160201b91610187565b5068b500000000000000009050608085901c61016f565b6024826011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50503461009857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100985760209051620f42408152f35b8491346104045760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104045780359173ffffffffffffffffffffffffffffffffffffffff9182841680940361040057845492831633036103a55750507fffffffffffffffffffffffff00000000000000000000000000000000000000001681178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b9060206064927f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b8480fd5b8280fdfea2646970667358221220ebc26f1432d13f128c50ef3a8297ef65a17fc376c17056b77b447e21b462442464736f6c63430008130033";
"0x60808060405234610016576102c9908161001c8239f35b600080fdfe6080806040526004908136101561001557600080fd5b600091823560e01c9182631a861d2614610254575081634d2b179114610085575063a4b345571461004557600080fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610082576020604051643a352944008152f35b80fd5b82346100825760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257813591620f42408381029081048403610228578380029380850481149015171561022857643a352944009384018094116102285760b58471010000000000000000000000000000000000811015610211575b80690100000000000000000062010000921015610204575b650100000000008110156101f7575b63010000008110156101ea575b010260121c9360019480820401851c80820401851c80820401851c80820401851c80820401851c80820401851c80820401851c8080920410908181146101be57039004830180931161019257602083604051908152f35b9060116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856012867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60101c9160081b9161013b565b60201c9160101b9161012e565b60401c9160201b9161011f565b5068b500000000000000009050608085901c610107565b6024836011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83903461028f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028f5780620f424060209252f35b5080fdfea26469706673582212201f57ae0c5884bdde41f85c3510ca33502ea7408e92d2669d2cb4da374119f5e064736f6c63430008130033";
type ReputationConstructorParams =
| [signer?: Signer]
@@ -7,6 +7,11 @@ import type { Provider } from "@ethersproject/providers";
import type { Owned, OwnedInterface } from "../../../lib/auth/Owned";
const _abi = [
{
inputs: [],
name: "Unauthorized",
type: "error",
},
{
anonymous: false,
inputs: [
@@ -145,6 +145,11 @@ const _abi = [
name: "TxAlreadyUsed",
type: "error",
},
{
inputs: [],
name: "Unauthorized",
type: "error",
},
{
anonymous: false,
inputs: [
@@ -1082,7 +1087,7 @@ const _abi = [
];
const _bytecode =
"0x608060405262002a8a803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516126279081620004638239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a1620003af565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b156200037b57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b90600090620003c960018060a01b03835416331462000373565b82519182156200045557815183036200044857602092919284818080970195019360051b0101925b83810362000400575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003f1565b63ff633a3890526004601cfd5b63df95788390526004601cfdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e57611594565b611522565b611477565b61145e565b6113bc565b610f2d565b610ef9565b610ebf565b610e69565b610e29565b610811565b610e0b565b610ded565b610db9565b610d20565b610cb9565b610ca0565b610c4f565b610c17565b610b06565b610ae3565b610aa3565b610a1c565b6109b5565b61098b565b6108f4565b610762565b610532565b61047f565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b73ffffffffffffffffffffffffffffffffffffffff6103d1816000541633146116ad565b8151828401939060051b830181013d1515855b811561044b575b50505060405192818401908285525180915260408401949160005b828110610435577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610406565b90838260018298969499979951600c1b550190838210156104735791509593959492946103e4565b509593959492946103eb565b346102425760206003193601126102425760043561049c816102f5565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060009182549073ffffffffffffffffffffffffffffffffffffffff906104e682841633146116ad565b1691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a06003193601126102425760043561054f816102f5565b6024356bffffffffffffffffffffLine truncated
"0x608060405262002a0f803803806200001781620000ce565b928339810160a082820312620000b357815160208301516001600160401b039391929190848111620000b357826200005191830162000124565b604082015191620000628362000112565b6060810151868111620000b357846200007d91830162000124565b936080820151968711620000b357620000a3966200009c920162000193565b93620001fa565b6040516125d99081620004368239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b03811183821017620000f457604052565b620000b8565b6001600160401b038111620000f45760051b60200190565b6001600160a01b03811603620000b357565b9080601f83011215620000b357815190620001496200014383620000fa565b620000ce565b9182938184526020808095019260051b820101928311620000b3578301905b82821062000177575050505090565b8380918351620001878162000112565b81520191019062000168565b9080601f83011215620000b357815190620001b26200014383620000fa565b9182938184526020808095019260051b820101928311620000b3578301905b828210620001e0575050505090565b81518015158103620000b3578152908301908301620001d1565b600080546001600160a01b03191633908117825591969594939291817f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768180a3600191828055876003556040519788527f70fa43ca70216ad905ade86b9e650a691b2ce5a01980d0a81bdd8324141b851160208099a160028490556040516001600160a01b0394851681527fe127cf589a3879da0156d4a24f43b44f65cfa3570de594806b0bfa2fcf06884f908990a18051818901989060051b820181013d15158a5b811562000339575b505050604051948186019282875251809352604086019993905b8382106200032157505050505050807f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d7916200031f95960390a162000373565b565b845181168b52998201999382019390850190620002df565b908382600182979896949e999e51600c1b55019083821015620003655791509a959a94939294620002bd565b509a959a94939294620002c5565b60008054919290916001600160a01b03163303620004245782519182156200041757815183036200040a57602092919284818080970195019360051b0101925b838103620003c2575050505050565b84809181600c63cbc9d1c48152825186528651918291205581517f5d6e86e5341d57a92c49934296c51542a25015c9b1782a1c2722a940131c3d9a8680a301920191620003b3565b63ff633a3890526004601cfd5b63df95788390526004601cfd5b6040516282b42960e81b8152600490fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806304937320146102165780630d2a2d441461021157806313af40351461020c578063328a718114610207578063367821f014610202578063461f3120146101b257806349ef8448146101fd5780634b2ae980146101f8578063574983c8146101f35780635fd8c710146101ee57806369cc6af4146101e95780636a146024146101e45780636d82d9e0146101df57806377cd38a4146101da5780637f94f65d146101d557806380e1d302146101d057806384ab1d28146101cb5780638a006225146101c65780638da5cb5b146101c15780638db564c2146101bc5780639872dbfe146101b757806398a26871146101b25780639eee8d4b146101ad578063ad8f2eed146101a8578063b0983d39146101a3578063c52164c61461019e578063c593dfd814610199578063d1c0702814610194578063d4fac45d1461018f578063d6e8b9731461018a578063f7d0e04b146101855763fb8c5ef00361000e576115af565b61153f565b611494565b61147b565b6113d9565b610f4a565b610f16565b610edc565b610e86565b610e46565b610835565b610e28565b610e0a565b610dd6565b610d3d565b610cd6565b610cbd565b610c6c565b610c34565b610b23565b610b00565b610ac0565b610a3d565b6109d9565b6109af565b610918565b610786565b610556565b6104a8565b61037b565b346102425760206003193601126102425760043560005260066020526020604060002054604051908152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102b757604052565b610247565b60405190610120820182811067ffffffffffffffff8211176102b757604052565b67ffffffffffffffff81116102b75760051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81160361024257565b81601f820112156102425780359161032a836102dd565b926103386040519485610276565b808452602092838086019260051b820101928311610242578301905b828210610362575050505090565b8380918335610370816102f5565b815201910190610354565b34610242576020806003193601126102425760043567ffffffffffffffff8111610242576103ad903690600401610313565b9073ffffffffffffffffffffffffffffffffffffffff918260005416330361047e57805181830192849160051b830181013d1515855b811561044a575b50505060405192818401908285525180915260408401949160005b828110610434577f14a422d2412784a5749d03da98921fe468c98577b767851389a9f58ea5a363d786880387a1005b8351851687529581019592810192600101610405565b90838260018298969499979951600c1b550190838210156104725791509593959492946103e3565b509593959492946103ea565b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b34610242576020600319360112610242576004356104c5816102f5565b600090815473ffffffffffffffffffffffffffffffffffffffff808216330361047e577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d768380a380f35b60643590811515820361024257565b3590811515820361024257565b346102425760a060031936011261024257600435610573816102f5565b6024356bffffffffffffffffffffffff81169081810361Line truncated
type P2PIXConstructorParams =
| [signer?: Signer]
+16 -12
View File
@@ -179,7 +179,7 @@ describe("P2PIX", () => {
await expect(
p2pix.connect(acc01).withdrawBalance(),
).to.be.revertedWith(P2PixErrors.UNAUTHORIZED);
).to.be.revertedWithCustomError(p2pix, P2PixErrors.Unauthorized);
});
it("should allow owner to change reputation instance", async () => {
const tx = await p2pix.setReputation(acc03.address);
@@ -193,8 +193,9 @@ describe("P2PIX", () => {
.to.emit(p2pix, "ReputationUpdated")
.withArgs(acc03.address);
expect(newRep).to.eq(acc03.address);
await expect(fail).to.be.revertedWith(
P2PixErrors.UNAUTHORIZED,
await expect(fail).to.be.revertedWithCustomError(
p2pix,
P2PixErrors.Unauthorized,
);
});
it("should allow owner to change defaultLockBlocks ", async () => {
@@ -211,8 +212,9 @@ describe("P2PIX", () => {
.to.emit(p2pix, "LockBlocksUpdated")
.withArgs(magicVal);
expect(newVal).to.eq(magicVal);
await expect(fail).to.be.revertedWith(
P2PixErrors.UNAUTHORIZED,
await expect(fail).to.be.revertedWithCustomError(
p2pix,
P2PixErrors.Unauthorized,
);
});
it("should allow owner to add valid Bacen signers", async () => {
@@ -236,8 +238,9 @@ describe("P2PIX", () => {
await expect(tx)
.to.emit(p2pix, "ValidSignersUpdated")
.withArgs([bob, alice]);
await expect(fail).to.be.revertedWith(
P2PixErrors.UNAUTHORIZED,
await expect(fail).to.be.revertedWithCustomError(
p2pix,
P2PixErrors.Unauthorized,
);
});
it("should allow owner to adjust tokenSettings", async () => {
@@ -274,11 +277,13 @@ describe("P2PIX", () => {
.withArgs(owner.address, true);
expect(newTokenState1).to.eq(false);
expect(newTokenState2).to.eq(true);
await expect(fail).to.be.revertedWith(
P2PixErrors.UNAUTHORIZED,
await expect(fail).to.be.revertedWithCustomError(
p2pix,
P2PixErrors.Unauthorized,
);
await expect(fail).to.be.revertedWith(
P2PixErrors.UNAUTHORIZED,
await expect(fail).to.be.revertedWithCustomError(
p2pix,
P2PixErrors.Unauthorized,
);
await expect(fail2).to.be.revertedWithCustomError(
p2pix,
@@ -293,7 +298,6 @@ describe("P2PIX", () => {
multicall,
P2PixErrors.CallFailed,
)
.withArgs(P2PixErrors.UNAUTHORIZED);
});
});
describe("Deposit", async () => {
+1 -1
View File
@@ -7,7 +7,7 @@ export enum P2PixErrors {
AlreadyReleased = "AlreadyReleased",
TxAlreadyUsed = "TxAlreadyUsed",
InvalidSigner = "InvalidSigner",
UNAUTHORIZED = "UNAUTHORIZED",
Unauthorized = "Unauthorized",
TokenDenied = "TokenDenied",
NoTokens = "NoTokens",
LengthMismatch = "LengthMismatch",