Hierarchy

  • ContractFactory
    • SuperfluidGovernanceIIUpgradabilityTester__factory

Constructors

Properties

abi: readonly [{
    inputs: readonly [];
    name: "SF_GOV_II_ONLY_OWNER";
    type: "error";
}, {
    inputs: readonly [];
    name: "SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD";
    type: "error";
}, {
    inputs: readonly [];
    name: "SF_GOV_MUST_BE_CONTRACT";
    type: "error";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "factory";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "authorized";
        type: "bool";
    }];
    name: "AppFactoryAuthorizationChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "deployer";
        type: "address";
    }, {
        indexed: false;
        internalType: "string";
        name: "appRegistrationKey";
        type: "string";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "expirationTs";
        type: "uint256";
    }];
    name: "AppRegistrationKeyChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidationPeriod";
        type: "uint256";
    }];
    name: "CFAv1LiquidationPeriodChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: false;
        internalType: "bytes32";
        name: "uuid";
        type: "bytes32";
    }, {
        indexed: false;
        internalType: "address";
        name: "codeAddress";
        type: "address";
    }];
    name: "CodeUpdated";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "ConfigChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: false;
        internalType: "uint8";
        name: "version";
        type: "uint8";
    }];
    name: "Initialized";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "previousOwner";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "newOwner";
        type: "address";
    }];
    name: "OwnershipTransferred";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidationPeriod";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "patricianPeriod";
        type: "uint256";
    }];
    name: "PPPConfigurationChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "address";
        name: "rewardAddress";
        type: "address";
    }];
    name: "RewardAddressChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "minimumDeposit";
        type: "uint256";
    }];
    name: "SuperTokenMinimumDepositChanged";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "isKeySet";
        type: "bool";
    }, {
        indexed: false;
        internalType: "address";
        name: "forwarder";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "enabled";
        type: "bool";
    }];
    name: "TrustedForwarderChanged";
    type: "event";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "factory";
        type: "address";
    }];
    name: "authorizeAppFactory";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken[]";
        name: "token";
        type: "address[]";
    }, {
        internalType: "address[]";
        name: "newAdmins";
        type: "address[]";
    }];
    name: "batchChangeSuperTokenAdmin";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken[]";
        name: "tokens";
        type: "address[]";
    }];
    name: "batchUpdateSuperTokenLogic";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken[]";
        name: "tokens";
        type: "address[]";
    }, {
        internalType: "address[]";
        name: "tokenLogics";
        type: "address[]";
    }];
    name: "batchUpdateSuperTokenLogic";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken[]";
        name: "tokens";
        type: "address[]";
    }, {
        internalType: "uint256[]";
        name: "minimumDeposits";
        type: "uint256[]";
    }];
    name: "batchUpdateSuperTokenMinimumDeposit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "castrate";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken";
        name: "token";
        type: "address";
    }, {
        internalType: "address";
        name: "newAdmin";
        type: "address";
    }];
    name: "changeSuperTokenAdmin";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "deployer";
        type: "address";
    }, {
        internalType: "string";
        name: "registrationKey";
        type: "string";
    }];
    name: "clearAppRegistrationKey";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }];
    name: "clearConfig";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }];
    name: "clearPPPConfig";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }];
    name: "clearRewardAddress";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperToken";
        name: "superToken";
        type: "address";
    }];
    name: "clearSuperTokenMinimumDeposit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "address";
        name: "forwarder";
        type: "address";
    }];
    name: "disableTrustedForwarder";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "address";
        name: "forwarder";
        type: "address";
    }];
    name: "enableTrustedForwarder";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "getCodeAddress";
    outputs: readonly [{
        internalType: "address";
        name: "codeAddress";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }];
    name: "getConfigAsAddress";
    outputs: readonly [{
        internalType: "address";
        name: "value";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }];
    name: "getConfigAsUint256";
    outputs: readonly [{
        internalType: "uint256";
        name: "period";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }];
    name: "getPPPConfig";
    outputs: readonly [{
        internalType: "uint256";
        name: "liquidationPeriod";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "patricianPeriod";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }];
    name: "getRewardAddress";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }];
    name: "getSuperTokenMinimumDeposit";
    outputs: readonly [{
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "factory";
        type: "address";
    }];
    name: "isAuthorizedAppFactory";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "address";
        name: "forwarder";
        type: "address";
    }];
    name: "isTrustedForwarder";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "owner";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "proxiableUUID";
    outputs: readonly [{
        internalType: "bytes32";
        name: "";
        type: "bytes32";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "agreementClass";
        type: "address";
    }];
    name: "registerAgreementClass";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "renounceOwnership";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "newGov";
        type: "address";
    }];
    name: "replaceGovernance";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "deployer";
        type: "address";
    }, {
        internalType: "string";
        name: "registrationKey";
        type: "string";
    }, {
        internalType: "uint256";
        name: "expirationTs";
        type: "uint256";
    }];
    name: "setAppRegistrationKey";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }, {
        internalType: "address";
        name: "value";
        type: "address";
    }];
    name: "setConfig";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
    }, {
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "setConfig";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "uint256";
        name: "liquidationPeriod";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "patricianPeriod";
        type: "uint256";
    }];
    name: "setPPPConfig";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "address";
        name: "rewardAddress";
        type: "address";
    }];
    name: "setRewardAddress";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken";
        type: "address";
    }, {
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "setSuperTokenMinimumDeposit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "newOwner";
        type: "address";
    }];
    name: "transferOwnership";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "factory";
        type: "address";
    }];
    name: "unauthorizeAppFactory";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "newAddress";
        type: "address";
    }];
    name: "updateCode";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "hostNewLogic";
        type: "address";
    }, {
        internalType: "address[]";
        name: "agreementClassNewLogics";
        type: "address[]";
    }, {
        internalType: "address";
        name: "superTokenFactoryNewLogic";
        type: "address";
    }, {
        internalType: "address";
        name: "poolBeaconNewLogic";
        type: "address";
    }];
    name: "updateContracts";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "validateStorageLayout";
    outputs: readonly [];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract ISuperfluid";
        name: "host";
        type: "address";
    }, {
        internalType: "address";
        name: "deployer";
        type: "address";
    }, {
        internalType: "string";
        name: "registrationKey";
        type: "string";
    }];
    name: "verifyAppRegistrationKey";
    outputs: readonly [{
        internalType: "bool";
        name: "validNow";
        type: "bool";
    }, {
        internalType: "uint256";
        name: "expirationTs";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}]
bytecode: "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122558061007e6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6b565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e19565b610718565b6102546102e4366004611e9c565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611e9c565b61085a565b61025461031d366004611ee7565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f3c565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f59565b610a8a565b610254610a9a565b6102546103d1366004611f9a565b610aae565b6102546103e4366004611e9c565b610ac0565b6102546103f7366004611f59565b610b20565b61039a61040a366004611f59565b610b93565b6102ab61040a366004611f59565b61025461042b366004611e19565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611fed565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6b565b61113e565b6102546111ac565b6102546104d9366004611e9c565b6112d5565b6102546104ec366004611e19565b611331565b6102546104ff366004611c8f565b61141d565b61025461051236600461207b565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611e9c565b611526565b61025461054b366004611f3c565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120e5565b60005b818110156107835761077b86868684818110610748576107486120fb565b905060200201602081019061075d9190611f3c565b85858581811061076f5761076f6120fb565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d6120fb565b90506020020160208101906109229190611f3c565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120e5565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c496120fb565b9050602002016020810190610c5e9190611f3c565b868685818110610c7057610c706120fb565b9050602002016020810190610c859190611f3c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf6120fb565b9050602002016020810190610ec49190611f3c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f6120fb565b9050602002016020810190610f449190611f3c565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e929190612157565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120e5565b60005b848110156109f657866001600160a01b0316630c565075878784818110611376576113766120fb565b905060200201602081019061138b9190611f3c565b86868581811061139d5761139d6120fb565b90506020020160208101906113b29190611f3c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc8585604051610621929190612157565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612179565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190612206565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff80821115611d0a57611d0a611cc8565b604051601f8301601f19908116603f01168101908282118183101715611d3257611d32611cc8565b81604052838152866020858801011115611d4b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d8057600080fd5b8335611d8b81611c34565b92506020840135611d9b81611c34565b9150604084013567ffffffffffffffff811115611db757600080fd5b611dc386828701611cde565b9150509250925092565b60008083601f840112611ddf57600080fd5b50813567ffffffffffffffff811115611df757600080fd5b6020830191508360208260051b8501011115611e1257600080fd5b9250929050565b600080600080600060608688031215611e3157600080fd5b8535611e3c81611c34565b9450602086013567ffffffffffffffff80821115611e5957600080fd5b611e6589838a01611dcd565b90965094506040880135915080821115611e7e57600080fd5b50611e8b88828901611dcd565b969995985093965092949392505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611c34565b92506020840135611ecc81611c34565b91506040840135611edc81611c34565b809150509250925092565b600080600060408486031215611efc57600080fd5b8335611f0781611c34565b9250602084013567ffffffffffffffff811115611f2357600080fd5b611f2f86828701611dcd565b9497909650939450505050565b600060208284031215611f4e57600080fd5b813561071181611c34565b600080600060608486031215611f6e57600080fd5b8335611f7981611c34565b92506020840135611f8981611c34565b929592945050506040919091013590565b60008060008060808587031215611fb057600080fd5b8435611fbb81611c34565b93506020850135611fcb81611c34565b9250604085013591506060850135611fe281611c34565b939692955090935050565b60008060008060008060a0878903121561200657600080fd5b863561201181611c34565b9550602087013561202181611c34565b9450604087013567ffffffffffffffff81111561203d57600080fd5b61204989828a01611dcd565b909550935050606087013561205d81611c34565b9150608087013561206d81611c34565b809150509295509295509295565b6000806000806080858703121561209157600080fd5b843561209c81611c34565b935060208501356120ac81611c34565b9250604085013567ffffffffffffffff8111156120c857600080fd5b6120d487828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156121375760208185018101518683018201520161211b565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061216a6040830185612111565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121fe60e0830184612111565b949350505050565b60006020828403121561221857600080fd5b505191905056fea2646970667358221220e94eb3273577e620bc66fed00726d90f908a0398bdbba6e1129a3e180ba09cbb64736f6c63430008170033" = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122558061007e6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6b565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e19565b610718565b6102546102e4366004611e9c565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611e9c565b61085a565b61025461031d366004611ee7565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f3c565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f59565b610a8a565b610254610a9a565b6102546103d1366004611f9a565b610aae565b6102546103e4366004611e9c565b610ac0565b6102546103f7366004611f59565b610b20565b61039a61040a366004611f59565b610b93565b6102ab61040a366004611f59565b61025461042b366004611e19565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611fed565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6b565b61113e565b6102546111ac565b6102546104d9366004611e9c565b6112d5565b6102546104ec366004611e19565b611331565b6102546104ff366004611c8f565b61141d565b61025461051236600461207b565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611e9c565b611526565b61025461054b366004611f3c565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120e5565b60005b818110156107835761077b86868684818110610748576107486120fb565b905060200201602081019061075d9190611f3c565b85858581811061076f5761076f6120fb565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d6120fb565b90506020020160208101906109229190611f3c565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120e5565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c496120fb565b9050602002016020810190610c5e9190611f3c565b868685818110610c7057610c706120fb565b9050602002016020810190610c859190611f3c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf6120fb565b9050602002016020810190610ec49190611f3c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f6120fb565b9050602002016020810190610f449190611f3c565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e929190612157565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120e5565b60005b848110156109f657866001600160a01b0316630c565075878784818110611376576113766120fb565b905060200201602081019061138b9190611f3c565b86868581811061139d5761139d6120fb565b90506020020160208101906113b29190611f3c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc8585604051610621929190612157565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612179565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190612206565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff80821115611d0a57611d0a611cc8565b604051601f8301601f19908116603f01168101908282118183101715611d3257611d32611cc8565b81604052838152866020858801011115611d4b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d8057600080fd5b8335611d8b81611c34565b92506020840135611d9b81611c34565b9150604084013567ffffffffffffffff811115611db757600080fd5b611dc386828701611cde565b9150509250925092565b60008083601f840112611ddf57600080fd5b50813567ffffffffffffffff811115611df757600080fd5b6020830191508360208260051b8501011115611e1257600080fd5b9250929050565b600080600080600060608688031215611e3157600080fd5b8535611e3c81611c34565b9450602086013567ffffffffffffffff80821115611e5957600080fd5b611e6589838a01611dcd565b90965094506040880135915080821115611e7e57600080fd5b50611e8b88828901611dcd565b969995985093965092949392505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611c34565b92506020840135611ecc81611c34565b91506040840135611edc81611c34565b809150509250925092565b600080600060408486031215611efc57600080fd5b8335611f0781611c34565b9250602084013567ffffffffffffffff811115611f2357600080fd5b611f2f86828701611dcd565b9497909650939450505050565b600060208284031215611f4e57600080fd5b813561071181611c34565b600080600060608486031215611f6e57600080fd5b8335611f7981611c34565b92506020840135611f8981611c34565b929592945050506040919091013590565b60008060008060808587031215611fb057600080fd5b8435611fbb81611c34565b93506020850135611fcb81611c34565b9250604085013591506060850135611fe281611c34565b939692955090935050565b60008060008060008060a0878903121561200657600080fd5b863561201181611c34565b9550602087013561202181611c34565b9450604087013567ffffffffffffffff81111561203d57600080fd5b61204989828a01611dcd565b909550935050606087013561205d81611c34565b9150608087013561206d81611c34565b809150509295509295509295565b6000806000806080858703121561209157600080fd5b843561209c81611c34565b935060208501356120ac81611c34565b9250604085013567ffffffffffffffff8111156120c857600080fd5b6120d487828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156121375760208185018101518683018201520161211b565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061216a6040830185612111565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121fe60e0830184612111565b949350505050565b60006020828403121561221857600080fd5b505191905056fea2646970667358221220e94eb3273577e620bc66fed00726d90f908a0398bdbba6e1129a3e180ba09cbb64736f6c63430008170033"

Methods

  • Parameters

    • Optional overrides: Overrides & {
          from?: string;
      }

    Returns TransactionRequest

  • Returns SuperfluidGovernanceIIUpgradabilityTesterInterface

Generated using TypeDoc