599 lines
42 KiB
JSON
599 lines
42 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "ProxyFactory",
|
|
"sourceName": "contracts/upgrades/ProxyFactory.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "beacon",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "BeaconCreated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum ProxyFactory.ProxyType",
|
|
"name": "proxyType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "deployer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ProxyDeployed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEPLOYER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "allProxies",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "beacons",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract UpgradeableBeacon",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "createBeacon",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "beacon",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "beacon",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "initData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "deployBeaconProxy",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "initData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "deployUUPSProxy",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAllProxies",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getProxiesByImplementation",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getProxyCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getProxyInfo",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "enum ProxyFactory.ProxyType",
|
|
"name": "proxyType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "deployedAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "deployer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct ProxyFactory.ProxyInfo",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isProxy",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "proxies",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "proxy",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "enum ProxyFactory.ProxyType",
|
|
"name": "proxyType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "deployedAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "deployer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "proxiesByImplementation",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60803461007257601f611e0b38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072578061005c6100629261008d565b5061010b565b50604051611c3f90816101ac8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff1661010757818052816020526040822081835260205260408220600160ff198254161790553391600080516020611deb8339815191528180a4600190565b5090565b6001600160a01b031660008181527f740c5e3e456bed56f053f960110118ba9b95a1f5359a82283516fb2e81b6e37e60205260408120549091907ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c9060ff166101a657808352826020526040832082845260205260408320600160ff19825416179055600080516020611deb833981519152339380a4600190565b50509056fe60806040818152600491823610156200001757600080fd5b600092833560e01c91826301ffc9a71462000bfa5750816303014cf61462000b9a578163248a9ca31462000b6e578163297103881462000b255781632f2ff15d1462000af457816336568abe1462000aa75781633aebb68214620009925781634548bcb0146200073257816377d764511462000638578163883edfb814620005ab57816391d14854146200056157816399a55b6a14620005405781639cad172a1462000502578163a217fddf14620004e5578163abe3f4c81462000317578163ad14e7d114620002bd578163c45527911462000235578163d475653b14620001a0578163d547741f1462000155575063ecd00261146200011657600080fd5b346200015157816003193601126200015157602090517ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c8152f35b5080fd5b919050346200019c57806003193601126200019c576200019891356200019260016200018062000c6e565b93838752866020528620015462000f0a565b62000fb0565b5080f35b8280fd5b505034620001515760209060206003193601126200019c576001600160a01b039283620001cc62000c52565b16815260036020528181209382519081946020875493848152019684526020842093915b8383106200021b576200021787876200020c828c038362000db5565b519182918262000d3b565b0390f35b8454811688529681019660019485019490920191620001f0565b50503462000151576020366003190112620001515760c0916001600160a01b039160ff918190846200026662000c52565b168152600160205220928084541693620002a46001820154856003600285015494015495805198895285831660208a015288019160a01c1662000cb4565b60608501528116608084015260a01c16151560a0820152f35b9050346200019c5760203660031901126200019c57356002548110156200019c5760026020935260018060a01b03907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0154169051908152f35b83833462000151576200032a3662000cd8565b9390916200033762000e8f565b6001600160a01b0394818616936200035185151562000e0e565b6200035f833b151562000e51565b8551926102d38085019085821067ffffffffffffffff831117620004d25791620003939391869593620010cb873962000dd8565b039082f08015620004c657841693835190620003af8262000d82565b85825260208201848152858301908482526060840192428452608085019433865260a0810194600186528a88526001602052828a89209251166001600160601b0360a01b83541617825582600183019451169380549551956003871015620004b25760209d508c9996937f30ef1553a63105702f882108fa2e5d7a430017dc06b8e110b9be4dd1b54a42299996938d9996936003936affffffffffffffffffffff60a81b968760ff60a01b809a60a01b16921617179055516002820155019451169184549351151560a01b169216171790556200048c8462001026565b84815260038852620004a1848383206200108c565b81519081523388820152a351908152f35b50634e487b7160e01b895260218d52602489fd5b508251903d90823e3d90fd5b634e487b7160e01b875260418b52602487fd5b505034620001515781600319360112620001515751908152602090f35b9050346200019c5760203660031901126200019c576020926001600160a01b0391839190836200053162000c52565b16825285522054169051908152f35b50503462000151578160031936011262000151576020906002549051908152f35b9050346200019c57816003193601126200019c578160209360ff926200058662000c6e565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b82843462000635578060031936011262000635578151918291600254808552602080950194600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace92905b82821062000614576200021786866200020c828b038362000db5565b83546001600160a01b031687529586019560019384019390910190620005f8565b80fd5b8383346200015157602036600319011262000151576200065762000c52565b6200066162000e8f565b6001600160a01b03938185169162000689906200068084151562000e0e565b3b151562000e51565b82516103c48082019082821067ffffffffffffffff8311176200071f578591839162001846833985815230602082015203019085f090811562000712576020957f71a8466bb649fa9952eb7579fd94754b4e4345c604613f39182eff1c30267d6c9184875287528486209216938492836001600160601b0360a01b825416179055519480a38152f35b50505051903d90823e3d90fd5b634e487b7160e01b875260418452602487fd5b8383346200015157620007453662000cd8565b9390946200075262000e8f565b6001600160a01b0383811695909390861562000961578551978897635c60da1b60e01b8952888560209b8c935afa9788156200095757859862000914575b508651926104a88085019085821067ffffffffffffffff831117620009015791620007c593918695936200139e873962000dd8565b039083f08015620008f757831694845191620007e18362000d82565b8683528488840192169485835286840190600182526060850194428652608081019533875260a0820195600187528b895260018d52838b8a209351166001600160601b0360a01b84541617835583600184019151169481549051966003881015620008e45750620008af9996938d9996938d9996936003936affffffffffffffffffffff60a81b968760ff60a01b809a60a01b16921617179055516002820155019451169184549351151560a01b16921617179055620008a18362001026565b84815260038852206200108c565b827f30ef1553a63105702f882108fa2e5d7a430017dc06b8e110b9be4dd1b54a4229838051600181523388820152a351908152f35b634e487b7160e01b8b526021905260248afd5b84513d84823e3d90fd5b634e487b7160e01b885260418752602488fd5b9097508881813d83116200094f575b6200092f818362000db5565b810103126200094b575185811681036200094b57968962000790565b8480fd5b503d62000923565b87513d87823e3d90fd5b855162461bcd60e51b8152602081850152600b60248201526a2d32b937903132b0b1b7b760a91b6044820152606490fd5b828434620006355760203660031901126200063557620009b162000c52565b8160a08451620009c18162000d82565b8281528260208201528286820152826060820152826080820152015260018060a01b03809116825260016020528282209280519362000a008562000d82565b82815416855260018101549160ff6020870193858116855260a01c1681870195600382101562000a94575060c097509062000a7d918652600360028401549360608901948552015495856080890195818916875260ff60a08b019960a01c16151589528184519a51168a5251166020890152519087019062000cb4565b5160608501525116608083015251151560a0820152f35b634e487b7160e01b815260218952602490fd5b838334620001515780600319360112620001515762000ac562000c6e565b90336001600160a01b0383160362000ae557506200019891923562000fb0565b5163334bd91960e11b81528390fd5b919050346200019c57806003193601126200019c5762000198913562000b1f60016200018062000c6e565b62000f31565b50503462000151576020366003190112620001515760209160ff9060039083906001600160a01b0362000b5762000c52565b1681526001865220015460a01c1690519015158152f35b9050346200019c5760203660031901126200019c57816020936001923581528085522001549051908152f35b505034620001515780600319360112620001515762000bb862000c52565b6001600160a01b03908116835260036020528183208054602435949085101562000635575060209362000beb9162000c85565b90549060031b1c169051908152f35b8491346200019c5760203660031901126200019c573563ffffffff60e01b81168091036200019c5760209250637965db0b60e01b811490811562000c40575b5015158152f35b6301ffc9a760e01b1490508362000c39565b600435906001600160a01b038216820362000c6957565b600080fd5b602435906001600160a01b038216820362000c6957565b805482101562000c9e5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600382101562000cc25752565b634e487b7160e01b600052602160045260246000fd5b604060031982011262000c69576004356001600160a01b038116810362000c69579160243567ffffffffffffffff9283821162000c69578060238301121562000c6957816004013593841162000c69576024848301011162000c69576024019190565b602090602060408183019282815285518094520193019160005b82811062000d64575050505090565b83516001600160a01b03168552938101939281019260010162000d55565b60c0810190811067ffffffffffffffff82111762000d9f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000d9f57604052565b9192606093819260018060a01b0316845260406020850152816040850152848401376000828201840152601f01601f1916010190565b1562000e1657565b60405162461bcd60e51b81526020600482015260136024820152722d32b9379034b6b83632b6b2b73a30ba34b7b760691b6044820152606490fd5b1562000e5957565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152606490fd5b3360009081527f740c5e3e456bed56f053f960110118ba9b95a1f5359a82283516fb2e81b6e37e60205260409020547ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c9060ff161562000eec5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff604060002054161562000eec5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001462000fab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541660001462000fab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b600254600160401b81101562000d9f57600181018060025581101562000c9e5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03909216919091179055565b8054600160401b81101562000d9f57620010ac9160018201815562000c85565b60018060a09493941b038084549260031b9316831b921b191617905556fe60806040526102d38038038061001481610194565b92833981019060408183031261018f5780516001600160a01b03811680820361018f5760208381015190936001600160401b03821161018f570184601f8201121561018f5780519061006d610068836101cf565b610194565b9582875285838301011161018f57849060005b83811061017b57505060009186010152813b15610163577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156101455750600080848461012c96519101845af4903d1561013c573d61011c610068826101cf565b908152600081943d92013e6101ea565b505b6040516085908161024e8239f35b606092506101ea565b9250505034610154575061012e565b63b398979f60e01b8152600490fd5b60249060405190634c9c8ce360e01b82526004820152fd5b818101830151888201840152869201610080565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176101b957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101b957601f01601f191660200190565b9061021157508051156101ff57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610244575b610222575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561021a56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54600090819081906001600160a01b0316368280378136915af43d82803e15604b573d90f35b3d90fdfea26469706673582212206a4b026448cb134b4a6b58a87bec82036df2a76f2d05bc80fe8765d80c24bc2164736f6c6343000816003360a06040908082526104a8803803809161001982856102ae565b8339810182828203126101e95761002f826102e7565b60208084015191939091906001600160401b0382116101e9570182601f820112156101e957805190610060826102fb565b9361006d875195866102ae565b8285528383830101116101e957829060005b83811061029a57505060009184010152823b1561027a577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b038581169182179092558551635c60da1b60e01b8082529194928482600481895afa91821561026f57600092610238575b50813b1561021f5750508551847f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a282511561020057508290600487518096819382525afa9283156101f5576000936101b3575b5091600080848461019096519101845af4903d156101aa573d610174816102fb565b90610181885192836102ae565b8152600081943d92013e610316565b505b6080525161012e908161037a82396080518160180152f35b60609250610316565b92508183813d83116101ee575b6101ca81836102ae565b810103126101e9576000806101e1610190956102e7565b945050610152565b600080fd5b503d6101c0565b85513d6000823e3d90fd5b9350505050346102105750610192565b63b398979f60e01b8152600490fd5b8751634c9c8ce360e01b81529116600482015260249150fd5b9091508481813d8311610268575b61025081836102ae565b810103126101e957610261906102e7565b90386100fb565b503d610246565b88513d6000823e3d90fd5b8351631933b43b60e21b81526001600160a01b0384166004820152602490fd5b81810183015186820184015284920161007f565b601f909101601f19168101906001600160401b038211908210176102d157604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101e957565b6001600160401b0381116102d157601f01601f191660200190565b9061033d575080511561032b57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610370575b61034e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561034656fe60806040819052635c60da1b60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811560a9576000916054575b5060da565b905060203d60201160a3575b601f8101601f191682019167ffffffffffffffff831181841017608d576088926040520160b5565b38604f565b634e487b7160e01b600052604160045260246000fd5b503d6060565b6040513d6000823e3d90fd5b602090607f19011260d5576080516001600160a01b038116810360d55790565b600080fd5b6000808092368280378136915af43d82803e1560f4573d90f35b3d90fdfea2646970667358221220022f3bb92a05e9d23fbafb077cf86afa919df8e4559dd93cf6e930d4e7cd05c664736f6c6343000816003360803461012057601f6103c438819003918201601f19168301916001600160401b038311848410176101255780849260409485528339810103126101205760206100488261013b565b916001600160a01b0391829161005e910161013b565b1690811561010757600080546001600160a01b0319808216851783556040519295909490929184167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08780a3813b156100f0575016809160015416176001557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6040519280a261027490816101508239f35b63211eb15960e21b81529082166004820152602490fd5b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101205756fe6080604052600436101561001257600080fd5b6000803560e01c80633659cfe61461018c5780635c60da1b14610163578063715018a6146101095780638da5cb5b146100e25763f2fde38b1461005457600080fd5b346100df5760203660031901126100df576004356001600160a01b03818116918290036100db57610083610212565b81156100c25782546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260048101849052602490fd5b8280fd5b80fd5b50346100df57806003193601126100df57546040516001600160a01b039091168152602090f35b50346100df57806003193601126100df57610122610212565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346100df57806003193601126100df576001546040516001600160a01b039091168152602090f35b50346100df5760203660031901126100df576004356001600160a01b038116908181036100db576101bb610212565b3b156101fa57600180546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8280a280f35b6024906040519063211eb15960e21b82526004820152fd5b6000546001600160a01b0316330361022657565b60405163118cdaa760e01b8152336004820152602490fdfea2646970667358221220f1118b550c4f798f997903e32358e0e4770a4585ef8d5a4752c9afa6605b690564736f6c63430008160033a2646970667358221220d9dd0a47a77ab45b1495f7d2f78ca4cf9a1a6bf7c7147bc5f79bb84471286d9f64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x60806040818152600491823610156200001757600080fd5b600092833560e01c91826301ffc9a71462000bfa5750816303014cf61462000b9a578163248a9ca31462000b6e578163297103881462000b255781632f2ff15d1462000af457816336568abe1462000aa75781633aebb68214620009925781634548bcb0146200073257816377d764511462000638578163883edfb814620005ab57816391d14854146200056157816399a55b6a14620005405781639cad172a1462000502578163a217fddf14620004e5578163abe3f4c81462000317578163ad14e7d114620002bd578163c45527911462000235578163d475653b14620001a0578163d547741f1462000155575063ecd00261146200011657600080fd5b346200015157816003193601126200015157602090517ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c8152f35b5080fd5b919050346200019c57806003193601126200019c576200019891356200019260016200018062000c6e565b93838752866020528620015462000f0a565b62000fb0565b5080f35b8280fd5b505034620001515760209060206003193601126200019c576001600160a01b039283620001cc62000c52565b16815260036020528181209382519081946020875493848152019684526020842093915b8383106200021b576200021787876200020c828c038362000db5565b519182918262000d3b565b0390f35b8454811688529681019660019485019490920191620001f0565b50503462000151576020366003190112620001515760c0916001600160a01b039160ff918190846200026662000c52565b168152600160205220928084541693620002a46001820154856003600285015494015495805198895285831660208a015288019160a01c1662000cb4565b60608501528116608084015260a01c16151560a0820152f35b9050346200019c5760203660031901126200019c57356002548110156200019c5760026020935260018060a01b03907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0154169051908152f35b83833462000151576200032a3662000cd8565b9390916200033762000e8f565b6001600160a01b0394818616936200035185151562000e0e565b6200035f833b151562000e51565b8551926102d38085019085821067ffffffffffffffff831117620004d25791620003939391869593620010cb873962000dd8565b039082f08015620004c657841693835190620003af8262000d82565b85825260208201848152858301908482526060840192428452608085019433865260a0810194600186528a88526001602052828a89209251166001600160601b0360a01b83541617825582600183019451169380549551956003871015620004b25760209d508c9996937f30ef1553a63105702f882108fa2e5d7a430017dc06b8e110b9be4dd1b54a42299996938d9996936003936affffffffffffffffffffff60a81b968760ff60a01b809a60a01b16921617179055516002820155019451169184549351151560a01b169216171790556200048c8462001026565b84815260038852620004a1848383206200108c565b81519081523388820152a351908152f35b50634e487b7160e01b895260218d52602489fd5b508251903d90823e3d90fd5b634e487b7160e01b875260418b52602487fd5b505034620001515781600319360112620001515751908152602090f35b9050346200019c5760203660031901126200019c576020926001600160a01b0391839190836200053162000c52565b16825285522054169051908152f35b50503462000151578160031936011262000151576020906002549051908152f35b9050346200019c57816003193601126200019c578160209360ff926200058662000c6e565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b82843462000635578060031936011262000635578151918291600254808552602080950194600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace92905b82821062000614576200021786866200020c828b038362000db5565b83546001600160a01b031687529586019560019384019390910190620005f8565b80fd5b8383346200015157602036600319011262000151576200065762000c52565b6200066162000e8f565b6001600160a01b03938185169162000689906200068084151562000e0e565b3b151562000e51565b82516103c48082019082821067ffffffffffffffff8311176200071f578591839162001846833985815230602082015203019085f090811562000712576020957f71a8466bb649fa9952eb7579fd94754b4e4345c604613f39182eff1c30267d6c9184875287528486209216938492836001600160601b0360a01b825416179055519480a38152f35b50505051903d90823e3d90fd5b634e487b7160e01b875260418452602487fd5b8383346200015157620007453662000cd8565b9390946200075262000e8f565b6001600160a01b0383811695909390861562000961578551978897635c60da1b60e01b8952888560209b8c935afa9788156200095757859862000914575b508651926104a88085019085821067ffffffffffffffff831117620009015791620007c593918695936200139e873962000dd8565b039083f08015620008f757831694845191620007e18362000d82565b8683528488840192169485835286840190600182526060850194428652608081019533875260a0820195600187528b895260018d52838b8a209351166001600160601b0360a01b84541617835583600184019151169481549051966003881015620008e45750620008af9996938d9996938d9996936003936affffffffffffffffffffff60a81b968760ff60a01b809a60a01b16921617179055516002820155019451169184549351151560a01b16921617179055620008a18362001026565b84815260038852206200108c565b827f30ef1553a63105702f882108fa2e5d7a430017dc06b8e110b9be4dd1b54a4229838051600181523388820152a351908152f35b634e487b7160e01b8b526021905260248afd5b84513d84823e3d90fd5b634e487b7160e01b885260418752602488fd5b9097508881813d83116200094f575b6200092f818362000db5565b810103126200094b575185811681036200094b57968962000790565b8480fd5b503d62000923565b87513d87823e3d90fd5b855162461bcd60e51b8152602081850152600b60248201526a2d32b937903132b0b1b7b760a91b6044820152606490fd5b828434620006355760203660031901126200063557620009b162000c52565b8160a08451620009c18162000d82565b8281528260208201528286820152826060820152826080820152015260018060a01b03809116825260016020528282209280519362000a008562000d82565b82815416855260018101549160ff6020870193858116855260a01c1681870195600382101562000a94575060c097509062000a7d918652600360028401549360608901948552015495856080890195818916875260ff60a08b019960a01c16151589528184519a51168a5251166020890152519087019062000cb4565b5160608501525116608083015251151560a0820152f35b634e487b7160e01b815260218952602490fd5b838334620001515780600319360112620001515762000ac562000c6e565b90336001600160a01b0383160362000ae557506200019891923562000fb0565b5163334bd91960e11b81528390fd5b919050346200019c57806003193601126200019c5762000198913562000b1f60016200018062000c6e565b62000f31565b50503462000151576020366003190112620001515760209160ff9060039083906001600160a01b0362000b5762000c52565b1681526001865220015460a01c1690519015158152f35b9050346200019c5760203660031901126200019c57816020936001923581528085522001549051908152f35b505034620001515780600319360112620001515762000bb862000c52565b6001600160a01b03908116835260036020528183208054602435949085101562000635575060209362000beb9162000c85565b90549060031b1c169051908152f35b8491346200019c5760203660031901126200019c573563ffffffff60e01b81168091036200019c5760209250637965db0b60e01b811490811562000c40575b5015158152f35b6301ffc9a760e01b1490508362000c39565b600435906001600160a01b038216820362000c6957565b600080fd5b602435906001600160a01b038216820362000c6957565b805482101562000c9e5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600382101562000cc25752565b634e487b7160e01b600052602160045260246000fd5b604060031982011262000c69576004356001600160a01b038116810362000c69579160243567ffffffffffffffff9283821162000c69578060238301121562000c6957816004013593841162000c69576024848301011162000c69576024019190565b602090602060408183019282815285518094520193019160005b82811062000d64575050505090565b83516001600160a01b03168552938101939281019260010162000d55565b60c0810190811067ffffffffffffffff82111762000d9f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000d9f57604052565b9192606093819260018060a01b0316845260406020850152816040850152848401376000828201840152601f01601f1916010190565b1562000e1657565b60405162461bcd60e51b81526020600482015260136024820152722d32b9379034b6b83632b6b2b73a30ba34b7b760691b6044820152606490fd5b1562000e5957565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152606490fd5b3360009081527f740c5e3e456bed56f053f960110118ba9b95a1f5359a82283516fb2e81b6e37e60205260409020547ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c9060ff161562000eec5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff604060002054161562000eec5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001462000fab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541660001462000fab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b600254600160401b81101562000d9f57600181018060025581101562000c9e5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03909216919091179055565b8054600160401b81101562000d9f57620010ac9160018201815562000c85565b60018060a09493941b038084549260031b9316831b921b191617905556fe60806040526102d38038038061001481610194565b92833981019060408183031261018f5780516001600160a01b03811680820361018f5760208381015190936001600160401b03821161018f570184601f8201121561018f5780519061006d610068836101cf565b610194565b9582875285838301011161018f57849060005b83811061017b57505060009186010152813b15610163577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156101455750600080848461012c96519101845af4903d1561013c573d61011c610068826101cf565b908152600081943d92013e6101ea565b505b6040516085908161024e8239f35b606092506101ea565b9250505034610154575061012e565b63b398979f60e01b8152600490fd5b60249060405190634c9c8ce360e01b82526004820152fd5b818101830151888201840152869201610080565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176101b957604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101b957601f01601f191660200190565b9061021157508051156101ff57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610244575b610222575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561021a56fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54600090819081906001600160a01b0316368280378136915af43d82803e15604b573d90f35b3d90fdfea26469706673582212206a4b026448cb134b4a6b58a87bec82036df2a76f2d05bc80fe8765d80c24bc2164736f6c6343000816003360a06040908082526104a8803803809161001982856102ae565b8339810182828203126101e95761002f826102e7565b60208084015191939091906001600160401b0382116101e9570182601f820112156101e957805190610060826102fb565b9361006d875195866102ae565b8285528383830101116101e957829060005b83811061029a57505060009184010152823b1561027a577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b038581169182179092558551635c60da1b60e01b8082529194928482600481895afa91821561026f57600092610238575b50813b1561021f5750508551847f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a282511561020057508290600487518096819382525afa9283156101f5576000936101b3575b5091600080848461019096519101845af4903d156101aa573d610174816102fb565b90610181885192836102ae565b8152600081943d92013e610316565b505b6080525161012e908161037a82396080518160180152f35b60609250610316565b92508183813d83116101ee575b6101ca81836102ae565b810103126101e9576000806101e1610190956102e7565b945050610152565b600080fd5b503d6101c0565b85513d6000823e3d90fd5b9350505050346102105750610192565b63b398979f60e01b8152600490fd5b8751634c9c8ce360e01b81529116600482015260249150fd5b9091508481813d8311610268575b61025081836102ae565b810103126101e957610261906102e7565b90386100fb565b503d610246565b88513d6000823e3d90fd5b8351631933b43b60e21b81526001600160a01b0384166004820152602490fd5b81810183015186820184015284920161007f565b601f909101601f19168101906001600160401b038211908210176102d157604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101e957565b6001600160401b0381116102d157601f01601f191660200190565b9061033d575080511561032b57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580610370575b61034e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561034656fe60806040819052635c60da1b60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811560a9576000916054575b5060da565b905060203d60201160a3575b601f8101601f191682019167ffffffffffffffff831181841017608d576088926040520160b5565b38604f565b634e487b7160e01b600052604160045260246000fd5b503d6060565b6040513d6000823e3d90fd5b602090607f19011260d5576080516001600160a01b038116810360d55790565b600080fd5b6000808092368280378136915af43d82803e1560f4573d90f35b3d90fdfea2646970667358221220022f3bb92a05e9d23fbafb077cf86afa919df8e4559dd93cf6e930d4e7cd05c664736f6c6343000816003360803461012057601f6103c438819003918201601f19168301916001600160401b038311848410176101255780849260409485528339810103126101205760206100488261013b565b916001600160a01b0391829161005e910161013b565b1690811561010757600080546001600160a01b0319808216851783556040519295909490929184167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08780a3813b156100f0575016809160015416176001557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6040519280a261027490816101508239f35b63211eb15960e21b81529082166004820152602490fd5b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101205756fe6080604052600436101561001257600080fd5b6000803560e01c80633659cfe61461018c5780635c60da1b14610163578063715018a6146101095780638da5cb5b146100e25763f2fde38b1461005457600080fd5b346100df5760203660031901126100df576004356001600160a01b03818116918290036100db57610083610212565b81156100c25782546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260048101849052602490fd5b8280fd5b80fd5b50346100df57806003193601126100df57546040516001600160a01b039091168152602090f35b50346100df57806003193601126100df57610122610212565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346100df57806003193601126100df576001546040516001600160a01b039091168152602090f35b50346100df5760203660031901126100df576004356001600160a01b038116908181036100db576101bb610212565b3b156101fa57600180546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8280a280f35b6024906040519063211eb15960e21b82526004820152fd5b6000546001600160a01b0316330361022657565b60405163118cdaa760e01b8152336004820152602490fdfea2646970667358221220f1118b550c4f798f997903e32358e0e4770a4585ef8d5a4752c9afa6605b690564736f6c63430008160033a2646970667358221220d9dd0a47a77ab45b1495f7d2f78ca4cf9a1a6bf7c7147bc5f79bb84471286d9f64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|