Hierarchy

  • ContractFactory
    • SuperfluidPoolStorageLayoutMock__factory

Constructors

  • Parameters

    • Rest ...args: SuperfluidPoolStorageLayoutMockConstructorParams

    Returns SuperfluidPoolStorageLayoutMock__factory

Properties

abi: readonly [{
    inputs: readonly [{
        internalType: "contract GeneralDistributionAgreementV1";
        name: "gda_";
        type: "address";
    }];
    stateMutability: "nonpayable";
    type: "constructor";
}, {
    inputs: readonly [];
    name: "OUT_OF_GAS";
    type: "error";
}, {
    inputs: readonly [{
        internalType: "string";
        name: "_name";
        type: "string";
    }];
    name: "STORAGE_LOCATION_CHANGED";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_INVALID_TIME";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_NOT_GDA";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_NOT_POOL_ADMIN_OR_GDA";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_NO_POOL_MEMBERS";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_NO_ZERO_ADDRESS";
    type: "error";
}, {
    inputs: readonly [];
    name: "SUPERFLUID_POOL_TRANSFER_UNITS_NOT_ALLOWED";
    type: "error";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Approval";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "contract ISuperfluidToken";
        name: "token";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "member";
        type: "address";
    }, {
        indexed: false;
        internalType: "int256";
        name: "claimedAmount";
        type: "int256";
    }, {
        indexed: false;
        internalType: "int256";
        name: "totalClaimed";
        type: "int256";
    }];
    name: "DistributionClaimed";
    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: "contract ISuperfluidToken";
        name: "token";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "member";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint128";
        name: "oldUnits";
        type: "uint128";
    }, {
        indexed: false;
        internalType: "uint128";
        name: "newUnits";
        type: "uint128";
    }];
    name: "MemberUnitsUpdated";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "from";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Transfer";
    type: "event";
}, {
    inputs: readonly [];
    name: "GDA";
    outputs: readonly [{
        internalType: "contract GeneralDistributionAgreementV1";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "admin";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        internalType: "address";
        name: "spender";
        type: "address";
    }];
    name: "allowance";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "castrate";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }];
    name: "claimAll";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "claimAll";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "subtractedValue";
        type: "uint256";
    }];
    name: "decreaseAllowance";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "distributionFromAnyAddress";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }, {
        internalType: "uint32";
        name: "time";
        type: "uint32";
    }];
    name: "getClaimable";
    outputs: readonly [{
        internalType: "int256";
        name: "";
        type: "int256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }];
    name: "getClaimableNow";
    outputs: readonly [{
        internalType: "int256";
        name: "claimableBalance";
        type: "int256";
    }, {
        internalType: "uint256";
        name: "timestamp";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint32";
        name: "time";
        type: "uint32";
    }];
    name: "getDisconnectedBalance";
    outputs: readonly [{
        internalType: "int256";
        name: "balance";
        type: "int256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }];
    name: "getMemberFlowRate";
    outputs: readonly [{
        internalType: "int96";
        name: "";
        type: "int96";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }];
    name: "getTotalAmountReceivedByMember";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalConnectedFlowRate";
    outputs: readonly [{
        internalType: "int96";
        name: "";
        type: "int96";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalConnectedUnits";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalDisconnectedFlowRate";
    outputs: readonly [{
        internalType: "int96";
        name: "flowRate";
        type: "int96";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalDisconnectedUnits";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalFlowRate";
    outputs: readonly [{
        internalType: "int96";
        name: "";
        type: "int96";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalUnits";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }];
    name: "getUnits";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "addedValue";
        type: "uint256";
    }];
    name: "increaseAllowance";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "admin_";
        type: "address";
    }, {
        internalType: "contract ISuperfluidToken";
        name: "superToken_";
        type: "address";
    }, {
        internalType: "bool";
        name: "transferabilityForUnitsOwner_";
        type: "bool";
    }, {
        internalType: "bool";
        name: "distributionFromAnyAddress_";
        type: "bool";
    }];
    name: "initialize";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }, {
        internalType: "bool";
        name: "doConnect";
        type: "bool";
    }, {
        internalType: "uint32";
        name: "time";
        type: "uint32";
    }];
    name: "operatorConnectMember";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        components: readonly [{
            internalType: "Unit";
            name: "total_units";
            type: "int128";
        }, {
            components: readonly [{
                internalType: "Time";
                name: "_settled_at";
                type: "uint32";
            }, {
                internalType: "FlowRate";
                name: "_flow_rate";
                type: "int128";
            }, {
                internalType: "Value";
                name: "_settled_value";
                type: "int256";
            }];
            internalType: "struct BasicParticle";
            name: "_wrapped_particle";
            type: "tuple";
        }];
        internalType: "struct PDPoolIndex";
        name: "index";
        type: "tuple";
    }];
    name: "operatorSetIndex";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "poolOperatorGetIndex";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint128";
            name: "totalUnits";
            type: "uint128";
        }, {
            internalType: "uint32";
            name: "wrappedSettledAt";
            type: "uint32";
        }, {
            internalType: "int96";
            name: "wrappedFlowRate";
            type: "int96";
        }, {
            internalType: "int256";
            name: "wrappedSettledValue";
            type: "int256";
        }];
        internalType: "struct SuperfluidPool.PoolIndexData";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "proxiableUUID";
    outputs: readonly [{
        internalType: "bytes32";
        name: "";
        type: "bytes32";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [];
    name: "superToken";
    outputs: readonly [{
        internalType: "contract ISuperfluidToken";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transfer";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "from";
        type: "address";
    }, {
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "transferabilityForUnitsOwner";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "memberAddr";
        type: "address";
    }, {
        internalType: "uint128";
        name: "newUnits";
        type: "uint128";
    }];
    name: "updateMemberUnits";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "validateStorageLayout";
    outputs: readonly [];
    stateMutability: "pure";
    type: "function";
}]
bytecode: "0x60a06040523480156200001157600080fd5b506040516200309e3803806200309e833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051612fd2620000cc60003960008181610566015281816106140152818161081201528181610a5c01528181610fa1015281816111f00152818161149a015281816116b90152611b670152612fd26000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806389287e0a11610125578063d4f0d644116100ad578063df9ad9311161007c578063df9ad9311461054e578063f0ca93a214610561578063f851a44014610588578063f99a38c4146103e4578063fdbd40f41461059b57600080fd5b8063d4f0d64414610446578063d877ec871461044e578063dd62ed3e14610461578063de7b54d91461049a57600080fd5b8063a9059cbb116100f4578063a9059cbb14610409578063a94ff3401461041c578063b3b3f1cc14610424578063cb8599f01461042c578063d1058e591461043e57600080fd5b806389287e0a146103d15780639903ad38146103e6578063a457c2d7146103ee578063a754a7021461040157600080fd5b80634a0d9101116101a857806370a082311161017757806370a082311461038357806377329f3514610396578063785e734c146103a95780637d6c008d146103b15780637e80bd5e146103c457600080fd5b80634a0d91011461031157806352d1902d14610324578063539e8c1c1461034a5780636c0c582a1461037057600080fd5b806321dd5777116101e457806321dd57771461029257806323b872dd146102ba5780632b4116f7146102cd57806339509351146102fe57600080fd5b8063095ea7b3146102165780630fefbc091461023e57806318160ddd146102695780631b1677771461027f575b600080fd5b6102296102243660046128a1565b6105ac565b60405190151581526020015b60405180910390f35b61025161024c3660046128cd565b6105c3565b6040516001600160801b039091168152602001610235565b6102716105ce565b604051908152602001610235565b61022961028d3660046128ff565b6105f0565b6102a56102a03660046128cd565b610669565b60408051928352602083019190915201610235565b6102296102c8366004612938565b610757565b6000546102e6906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610235565b61022961030c3660046128a1565b6107c9565b61022961031f366004612979565b610805565b7fca2aacef54bd44c838311f7274fc12b435395ce38673a3458ccdb318c9e1115f610271565b61035d6103583660046128cd565b6108d2565b604051600b9190910b8152602001610235565b61027161037e3660046129a3565b610932565b6102716103913660046128cd565b610a18565b6102296103a43660046128cd565b610a32565b61035d610bc3565b6102716103bf3660046129c0565b610be4565b600a546102299060ff1681565b6103e46103df3660046129fc565b610d10565b005b6103e4610e3c565b6102296103fc3660046128a1565b610efe565b610251610f35565b6102296104173660046128a1565b610f49565b61035d610f56565b610251610f60565b600a5461022990610100900460ff1681565b610229610f7f565b61035d610f8a565b61022961045c366004612a58565b610f94565b61027161046f366004612aa3565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61050960408051608081018252600080825260208201819052918101829052606081019190915250604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b91810191909152600354606082015290565b604051610235919081516001600160801b0316815260208083015163ffffffff1690820152604080830151600b0b908201526060918201519181019190915260800190565b61027161055c3660046128cd565b611049565b6102e67f000000000000000000000000000000000000000000000000000000000000000081565b6001546102e6906001600160a01b031681565b6005546001600160801b0316610251565b60006105b9338484611139565b5060015b92915050565b60006105bd8261119a565b60006105e26002546001600160801b031690565b6001600160801b0316905090565b6001546000906001600160a01b031633148015906106375750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b1561065557604051631c5fbdcb60e01b815260040160405180910390fd5b61065f83836111be565b5060019392505050565b600080600060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e39190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190612aee565b90506107508382610be4565b9150915091565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001981146107b35761078e8382612b1d565b6001600160a01b03861660009081526009602090815260408083203384529091529020555b6107be8585856117a9565b506001949350505050565b3360008181526009602090815260408083206001600160a01b038716845290915281205490916105b9918590610800908690612b30565b611139565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461085057604051637e5f1fcf60e11b815260040160405180910390fd5b61086761086236849003840184612b89565b61186f565b805160028054602084015160408501516001600160601b0316600160a01b026001600160a01b0363ffffffff909216600160801b026001600160a01b03199093166001600160801b03909516949094179190911716919091179055606001516003555060015b919050565b6000806108de8361119a565b9050806001600160801b03166000036108fa5750600092915050565b61092b61090f826001600160801b0316611905565b6002546109269190600160a01b9004600b0b612c36565b611973565b9392505050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201526000908190610984906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a08201529091506000906109e790611a48565b9050610a1084604051806040016040528085815260200184815250611ab790919063ffffffff16565b949350505050565b6000610a238261119a565b6001600160801b031692915050565b6040516331e0bae760e21b81523060048201526001600160a01b03828116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063c782eb9c90604401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190612c66565b905060008060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190612aee565b90506000610bb08583611b21565b9050826107be576107be60008284611c7a565b6000610bcd611e16565b610bd5611ef1565b610bdf9190612c83565b905090565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b91810191909152600354606082015260009082908290610c38906119d6565b6001600160a01b0386166000908152600460209081526040808320815160c08101835281546001600160801b038116825263ffffffff600160801b82041694820194909452600160a01b909304600b0b9183019190915260018101546060830152600281015460808301526003015460a082015291925090610cb990611a48565b9050610d06610ce584604051806040016040528086815260200185815250611ab790919063ffffffff16565b6001600160a01b038816600090815260046020526040902060030154611f0d565b9695505050505050565b600054610100900460ff1615808015610d305750600054600160ff909116105b80610d4a5750303b158015610d4a575060005460ff166001145b610d6f5760405162461bcd60e51b8152600401610d6690612cba565b60405180910390fd5b6000805460ff191660011790558015610d92576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b03878116919091179091556000805462010000600160b01b0319166201000092871692909202919091179055600a805461ffff191684151561ff00191617610100841515021790558015610e35576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600054610100900460ff1615808015610e5c5750600054600160ff909116105b80610e765750303b158015610e76575060005460ff166001145b610e925760405162461bcd60e51b8152600401610d6690612cba565b6000805460ff191660011790558015610eb5576000805461ff0019166101001790555b8015610efb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b3360008181526009602090815260408083206001600160a01b038716845290915281205490916105b9918590610800908690612b1d565b6000610bdf6002546001600160801b031690565b60006105b93384846117a9565b6000610bdf611e16565b600554600254600091610bdf916001600160801b039182169116612d08565b6000610bdf33610a32565b6000610bdf611ef1565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf57604051637e5f1fcf60e11b815260040160405180910390fd5b6000610feb8584611b21565b9050600061101161100c610ffe8861119a565b6001600160801b0316611905565b611f19565b905084156110315761102c61102582612d2f565b8386611c7a565b61103d565b61103d81600086611c7a565b50600195945050505050565b6001600160a01b0381166000908152600460209081526040808320815160c0808201845282546001600160801b038082168452600160801b80830463ffffffff90811698860198909852600160a01b92839004600b90810b8689015260018701546060808801919091526002808901546080808a01919091526003998a015460a0808b01919091528b519889018c5291549586169a88019a8b52938504909a16908601529290910490910b90820152915493820193909352611129914291908190611113906119d6565b815260200161112185611a48565b905290611f3d565b6020015160200151915050919050565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03166000908152600460205260409020546001600160801b031690565b60008054604051633d96606d60e11b8152620100009091046001600160a01b03908116600483015284811660248301527f00000000000000000000000000000000000000000000000000000000000000001690637b2cc0da90604401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b9190612c66565b1561127957604051637087a02d60e11b815260040160405180910390fd5b6001600160a01b0383166112a057604051632a75b77360e11b815260040160405180910390fd5b60008060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113799190612aee565b905080600061138785611f8d565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201529091506000906113da906119d6565b6001600160a01b0388166000908152600460209081526040808320815160c08101835281546001600160801b038116825263ffffffff600160801b82041694820194909452600160a01b909304600b0b9183019190915260018101546060830152600281015460808301526003015460a082015291925061145a82611a48565b82516040805180820182528681526020810184905290516331e0bae760e21b81523060048201526001600160a01b038d81166024830152939450919290917f00000000000000000000000000000000000000000000000000000000000000009091169063c782eb9c90604401602060405180830381865afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115079190612c66565b6115285761152861152087836020015160000151611fa4565b600089611c7a565b60408051606081018252600080825260208201819052918101919091526115518282898b611fb0565b919750945090506115618661186f565b8051600280546020808501516040808701516001600160601b0316600160a01b026001600160a01b0363ffffffff909316600160801b026001600160a01b03199095166001600160801b0390971696909617939093178116949094179092556060909301516003908155918f16600090815260049091529190912001546115e885826120d1565b6001600160a01b038e811660009081526004602081815260408084208651815488850151898501516001600160601b0316600160a01b0263ffffffff918216600160801b026001600160a01b03199093166001600160801b0390941693909317919091178816919091178255606088015160018301556080880151600283015560a0909701516003909101559254835163fa48736d60e01b815262010000909104851692810192909252865185166024830152860151600f0b6044820152908501516064820152918b1660848301527f0000000000000000000000000000000000000000000000000000000000000000169063fa48736d9060a4016020604051808303816000875af1158015611702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117269190612c66565b61173257611732612d55565b5050600054604080516001600160801b0380861682528d1660208201526001600160a01b038e81169362010000900416917f58b452da1f241e47a4cf34c1a770df2202ae3743eb13aa99f14cc8c7b5c133ba910160405180910390a36117988b8b612180565b5060019a9950505050505050505050565b600a5460ff166117cc57604051631142f7dd60e11b815260040160405180910390fd5b60006117d78461119a565b905060006117e48461119a565b9050611802856117f38561244e565b6117fd9085612d08565b6111be565b5061181a846118108561244e565b6117fd9084612d6b565b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161186091815260200190565b60405180910390a35050505050565b60408051608081018252600080825260208201819052918101829052606081019190915260405180608001604052806118b66118b18560000151600f0b612477565b61244e565b6001600160801b031681526020016118cd846124c9565b63ffffffff1681526020016118ec6118e4856124d7565b600f0b611973565b600b0b8152602093840151604001519301929092525090565b60006001600160ff1b0382111561196f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610d66565b5090565b80600b81900b81146108cd5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610d66565b6119de6127fc565b60405180604001604052806119f68460000151611f8d565b600f0b815260408051606080820183526000808352602080840182905292840152825180820184528783015163ffffffff16815287840151600b0b818401529601519186019190915201929092525090565b611a50612839565b6040518060600160405280611a688460000151611f8d565b600f0b8152602001836080015181526020016040518060600160405280856020015163ffffffff1681526020018560400151600b0b600f0b815260200185606001518152508152509050919050565b600061092b836020015160200151611b1c856020015160000151611b16611aef878960000151602001516124e890919063ffffffff16565b611b11611b028a60200151604001515190565b60208b015160400151906124e8565b611f0d565b90612516565b612526565b6000611b2d8383610be4565b600054604051634543b74560e01b81526001600160a01b0362010000909204821660048201528582166024820152604481018390529192507f00000000000000000000000000000000000000000000000000000000000000001690634543b745906064016020604051808303816000875af1158015611bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd49190612c66565b611be057611be0612d55565b6001600160a01b03831660009081526004602052604081206003018054839290611c0b908490612d8b565b9091555050600080546001600160a01b038581168084526004602090815260409485902060030154855187815291820152909362010000909304909116917f9464bfc300bfd9af903ee21453d885a40d7f96864a3eecc0b8b0faf4ae685fa1910160405180910390a392915050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526003546060820152600090611cca906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a0820152909150600090611d2d90611a48565b6040805180820190915283815260208101829052909150611d4e8185611f3d565b9050611d6281602001516000015187612532565b60208083018051600f9390930b90925290510151611d809086611f0d565b81602001516020018181525050611d9c816020015160006120d1565b805160058054602084015160408501516001600160601b0316600160a01b026001600160a01b0363ffffffff909216600160801b026001600160a01b03199093166001600160801b039095169490941791909117169190911790556060810151600655608081015160075560a00151600855505050505050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201526000908190611e68906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a0820152909150600090611ecb90611a48565b9050611eea6118e48260000151611ee1856124d7565b600f0b9061253e565b9250505090565b600254600090610bdf9061090f906001600160801b0316611905565b600061092b8284612db3565b80600f81900b81146108cd5760405162461bcd60e51b8152600401610d6690612dd3565b611f4561286c565b8251611f51908361254a565b81526020830151611f6190612578565b6020820152611f708383611ab7565b602080830180518201929092528251015190516040015292915050565b60006105bd61100c836001600160801b0316611905565b600061092b8284612e1a565b611fb86127fc565b611fc0612839565b60408051606081018252600080825260208201819052918101919091528651516000611ffa611fef8389612532565b60208b015151611fa4565b905060006120088a88611f3d565b805160209081015101519091506000600f84900b1561203a57612030600f83900b86866125a9565b909250905061204f565b612048600f83900b8661253e565b9050600091505b82516020015161205f90836125d3565b83516020908101919091528351600f86900b90528b0151612094906120849083612532565b61208e8d8c61260a565b906125d3565b8351602080860151600f8e900b8152865190910151919a5098509096506120ba90612650565b876040018190525050505050509450945094915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061211e8560000151600f0b61244e565b6001600160801b0316815260200184604001516000015163ffffffff168152602001612154856040015160200151600f0b611973565b600b0b815260200184604001516040015181526020018460200151815260200183815250905092915050565b6000805461219c906201000090046001600160a01b031661268b565b90506001600160a01b0381161561244957604051635ca1c2af60e11b81523060048201526001600160a01b0384811660248301526000919083169063b943855e90604401602060405180830381865afa1580156121fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122219190612aee565b90506000836001600160801b031660000361232657604051630ef6816560e21b8152600481018390526000906001600160a01b03851690633bda059490602401606060405180830381865afa15801561227e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a29190612e47565b602001516001600160a01b031614612321575a604051635b159b2360e11b81523060048201526001600160a01b0387811660248301529192509084169063b62b3646906044015b600060405180830381600087803b15801561230357600080fd5b505af1925050508015612314575060015b6123215761232181612737565b610e35565b604051630ef6816560e21b8152600481018390526000906001600160a01b03851690633bda059490602401606060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123929190612e47565b602001516001600160a01b0316036123dd575a60405163f1391f7360e01b81523060048201526001600160a01b0387811660248301529192509084169063f1391f73906044016122e9565b5a604051630447a2cd60e01b81523060048201526001600160a01b03878116602483015291925090841690630447a2cd90604401600060405180830381600087803b15801561242b57600080fd5b505af192505050801561243c575060015b610e355761232181612737565b505050565b60006001600160801b0382111561196f5760405162461bcd60e51b8152600401610d6690612dd3565b60008082121561196f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d66565b60006105bd82602001515190565b60006105bd82602001516020015190565b600061092b61250c6124fe84866000015161275e565b6020860151600f0b9061276a565b8460400151612526565b600061092b600f83900b84612c36565b600061092b8284612d8b565b600061092b8284612e9b565b600061092b8284612ec8565b6125526127fc565b61255b83612780565b602081015190915061256d908361260a565b602082015292915050565b612580612839565b8151600f0b815260208083015190820152604082015161259f90612650565b6040820152919050565b6000806125c7836125be600f88900b8761253e565b600f0b906127a7565b91509150935093915050565b60408051606081018252600080825260208201819052918101919091526125f983612650565b600f9290920b602083015250919050565b604080516060810182526000808252602082018190529181019190915261263083612650565b905061263c83836124e8565b604082015263ffffffff9091168152919050565b6040805160608101825260008082526020808301828152838501928352855163ffffffff16845290850151600f0b9052929091015190915290565b60408051600481526024810182526020810180516001600160e01b031663f5a8b4dd60e01b1790529051600091829182916001600160a01b038616916126d19190612ee8565b600060405180830381855afa9150503d806000811461270c576040519150601f19603f3d011682016040523d82523d6000602084013e612711565b606091505b509150915081156127305780806020019051810190610a109190612ad1565b5050919050565b612740816127da565b15610efb576040516320afada560e01b815260040160405180910390fd5b600061092b8284612f17565b600061092b63ffffffff8316600f85900b612c36565b6127886127fc565b8151600f0b8152602082015161279d90612650565b6020820152919050565b6000806127b8600f85900b846127f0565b91506127d1846127cc600f85900b8661253e565b611fa4565b90509250929050565b60006127e7604083612f4a565b5a111592915050565b600061092b8284612f5e565b60405180604001604052806000600f0b8152602001612834604080516060810182526000808252602082018190529181019190915290565b905290565b60408051606080820183526000808352602080840182905284519283018552818352820181905281840152909182015290565b604051806040016040528061287f6127fc565b8152602001612834612839565b6001600160a01b0381168114610efb57600080fd5b600080604083850312156128b457600080fd5b82356128bf8161288c565b946020939093013593505050565b6000602082840312156128df57600080fd5b813561092b8161288c565b6001600160801b0381168114610efb57600080fd5b6000806040838503121561291257600080fd5b823561291d8161288c565b9150602083013561292d816128ea565b809150509250929050565b60008060006060848603121561294d57600080fd5b83356129588161288c565b925060208401356129688161288c565b929592945050506040919091013590565b60006080828403121561298b57600080fd5b50919050565b63ffffffff81168114610efb57600080fd5b6000602082840312156129b557600080fd5b813561092b81612991565b600080604083850312156129d357600080fd5b82356129de8161288c565b9150602083013561292d81612991565b8015158114610efb57600080fd5b60008060008060808587031215612a1257600080fd5b8435612a1d8161288c565b93506020850135612a2d8161288c565b92506040850135612a3d816129ee565b91506060850135612a4d816129ee565b939692955090935050565b600080600060608486031215612a6d57600080fd5b8335612a788161288c565b92506020840135612a88816129ee565b91506040840135612a9881612991565b809150509250925092565b60008060408385031215612ab657600080fd5b8235612ac18161288c565b9150602083013561292d8161288c565b600060208284031215612ae357600080fd5b815161092b8161288c565b600060208284031215612b0057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105bd576105bd612b07565b808201808211156105bd576105bd612b07565b6040516060810167ffffffffffffffff81118282101715612b7457634e487b7160e01b600052604160045260246000fd5b60405290565b80600f0b8114610efb57600080fd5b60008183036080811215612b9c57600080fd5b6040516040810181811067ffffffffffffffff82111715612bcd57634e487b7160e01b600052604160045260246000fd5b6040528335612bdb81612b7a565b81526060601f1983011215612bef57600080fd5b612bf7612b43565b91506020840135612c0781612991565b82526040840135612c1781612b7a565b6020838101919091526060949094013560408301529283015250919050565b80820260008212600160ff1b84141615612c5257612c52612b07565b81810583148215176105bd576105bd612b07565b600060208284031215612c7857600080fd5b815161092b816129ee565b600b82810b9082900b036b7fffffffffffffffffffffff1981126b7fffffffffffffffffffffff821317156105bd576105bd612b07565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160801b03828116828216039080821115612d2857612d28612b07565b5092915050565b600081600f0b60016001607f1b03198103612d4c57612d4c612b07565b60000392915050565b634e487b7160e01b600052600160045260246000fd5b6001600160801b03818116838216019080821115612d2857612d28612b07565b8082018281126000831280158216821582161715612dab57612dab612b07565b505092915050565b8181036000831280158383131683831282161715612d2857612d28612b07565b60208082526027908201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316040820152663238206269747360c81b606082015260800190565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156105bd576105bd612b07565b600060608284031215612e5957600080fd5b612e61612b43565b8251612e6c8161288c565b81526020830151612e7c8161288c565b60208201526040830151612e8f816128ea565b60408201529392505050565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156105bd576105bd612b07565b600082600f0b82600f0b0280600f0b9150808214612d2857612d28612b07565b6000825160005b81811015612f095760208186018101518583015201612eef565b506000920191825250919050565b63ffffffff828116828216039080821115612d2857612d28612b07565b634e487b7160e01b600052601260045260246000fd5b600082612f5957612f59612f34565b500490565b600081600f0b83600f0b80612f7557612f75612f34565b60016001607f1b0319821460001982141615612f9357612f93612b07565b9005939250505056fea2646970667358221220fc2d0a6b62d7496f1045adb1eb2c2a62d66bc1e692ee6295012ff7b8f78ffe3c64736f6c63430008170033" = "0x60a06040523480156200001157600080fd5b506040516200309e3803806200309e833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051612fd2620000cc60003960008181610566015281816106140152818161081201528181610a5c01528181610fa1015281816111f00152818161149a015281816116b90152611b670152612fd26000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806389287e0a11610125578063d4f0d644116100ad578063df9ad9311161007c578063df9ad9311461054e578063f0ca93a214610561578063f851a44014610588578063f99a38c4146103e4578063fdbd40f41461059b57600080fd5b8063d4f0d64414610446578063d877ec871461044e578063dd62ed3e14610461578063de7b54d91461049a57600080fd5b8063a9059cbb116100f4578063a9059cbb14610409578063a94ff3401461041c578063b3b3f1cc14610424578063cb8599f01461042c578063d1058e591461043e57600080fd5b806389287e0a146103d15780639903ad38146103e6578063a457c2d7146103ee578063a754a7021461040157600080fd5b80634a0d9101116101a857806370a082311161017757806370a082311461038357806377329f3514610396578063785e734c146103a95780637d6c008d146103b15780637e80bd5e146103c457600080fd5b80634a0d91011461031157806352d1902d14610324578063539e8c1c1461034a5780636c0c582a1461037057600080fd5b806321dd5777116101e457806321dd57771461029257806323b872dd146102ba5780632b4116f7146102cd57806339509351146102fe57600080fd5b8063095ea7b3146102165780630fefbc091461023e57806318160ddd146102695780631b1677771461027f575b600080fd5b6102296102243660046128a1565b6105ac565b60405190151581526020015b60405180910390f35b61025161024c3660046128cd565b6105c3565b6040516001600160801b039091168152602001610235565b6102716105ce565b604051908152602001610235565b61022961028d3660046128ff565b6105f0565b6102a56102a03660046128cd565b610669565b60408051928352602083019190915201610235565b6102296102c8366004612938565b610757565b6000546102e6906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610235565b61022961030c3660046128a1565b6107c9565b61022961031f366004612979565b610805565b7fca2aacef54bd44c838311f7274fc12b435395ce38673a3458ccdb318c9e1115f610271565b61035d6103583660046128cd565b6108d2565b604051600b9190910b8152602001610235565b61027161037e3660046129a3565b610932565b6102716103913660046128cd565b610a18565b6102296103a43660046128cd565b610a32565b61035d610bc3565b6102716103bf3660046129c0565b610be4565b600a546102299060ff1681565b6103e46103df3660046129fc565b610d10565b005b6103e4610e3c565b6102296103fc3660046128a1565b610efe565b610251610f35565b6102296104173660046128a1565b610f49565b61035d610f56565b610251610f60565b600a5461022990610100900460ff1681565b610229610f7f565b61035d610f8a565b61022961045c366004612a58565b610f94565b61027161046f366004612aa3565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61050960408051608081018252600080825260208201819052918101829052606081019190915250604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b91810191909152600354606082015290565b604051610235919081516001600160801b0316815260208083015163ffffffff1690820152604080830151600b0b908201526060918201519181019190915260800190565b61027161055c3660046128cd565b611049565b6102e67f000000000000000000000000000000000000000000000000000000000000000081565b6001546102e6906001600160a01b031681565b6005546001600160801b0316610251565b60006105b9338484611139565b5060015b92915050565b60006105bd8261119a565b60006105e26002546001600160801b031690565b6001600160801b0316905090565b6001546000906001600160a01b031633148015906106375750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b1561065557604051631c5fbdcb60e01b815260040160405180910390fd5b61065f83836111be565b5060019392505050565b600080600060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e39190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190612aee565b90506107508382610be4565b9150915091565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001981146107b35761078e8382612b1d565b6001600160a01b03861660009081526009602090815260408083203384529091529020555b6107be8585856117a9565b506001949350505050565b3360008181526009602090815260408083206001600160a01b038716845290915281205490916105b9918590610800908690612b30565b611139565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461085057604051637e5f1fcf60e11b815260040160405180910390fd5b61086761086236849003840184612b89565b61186f565b805160028054602084015160408501516001600160601b0316600160a01b026001600160a01b0363ffffffff909216600160801b026001600160a01b03199093166001600160801b03909516949094179190911716919091179055606001516003555060015b919050565b6000806108de8361119a565b9050806001600160801b03166000036108fa5750600092915050565b61092b61090f826001600160801b0316611905565b6002546109269190600160a01b9004600b0b612c36565b611973565b9392505050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201526000908190610984906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a08201529091506000906109e790611a48565b9050610a1084604051806040016040528085815260200184815250611ab790919063ffffffff16565b949350505050565b6000610a238261119a565b6001600160801b031692915050565b6040516331e0bae760e21b81523060048201526001600160a01b03828116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063c782eb9c90604401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190612c66565b905060008060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190612aee565b90506000610bb08583611b21565b9050826107be576107be60008284611c7a565b6000610bcd611e16565b610bd5611ef1565b610bdf9190612c83565b905090565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b91810191909152600354606082015260009082908290610c38906119d6565b6001600160a01b0386166000908152600460209081526040808320815160c08101835281546001600160801b038116825263ffffffff600160801b82041694820194909452600160a01b909304600b0b9183019190915260018101546060830152600281015460808301526003015460a082015291925090610cb990611a48565b9050610d06610ce584604051806040016040528086815260200185815250611ab790919063ffffffff16565b6001600160a01b038816600090815260046020526040902060030154611f0d565b9695505050505050565b600054610100900460ff1615808015610d305750600054600160ff909116105b80610d4a5750303b158015610d4a575060005460ff166001145b610d6f5760405162461bcd60e51b8152600401610d6690612cba565b60405180910390fd5b6000805460ff191660011790558015610d92576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b03878116919091179091556000805462010000600160b01b0319166201000092871692909202919091179055600a805461ffff191684151561ff00191617610100841515021790558015610e35576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600054610100900460ff1615808015610e5c5750600054600160ff909116105b80610e765750303b158015610e76575060005460ff166001145b610e925760405162461bcd60e51b8152600401610d6690612cba565b6000805460ff191660011790558015610eb5576000805461ff0019166101001790555b8015610efb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b3360008181526009602090815260408083206001600160a01b038716845290915281205490916105b9918590610800908690612b1d565b6000610bdf6002546001600160801b031690565b60006105b93384846117a9565b6000610bdf611e16565b600554600254600091610bdf916001600160801b039182169116612d08565b6000610bdf33610a32565b6000610bdf611ef1565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf57604051637e5f1fcf60e11b815260040160405180910390fd5b6000610feb8584611b21565b9050600061101161100c610ffe8861119a565b6001600160801b0316611905565b611f19565b905084156110315761102c61102582612d2f565b8386611c7a565b61103d565b61103d81600086611c7a565b50600195945050505050565b6001600160a01b0381166000908152600460209081526040808320815160c0808201845282546001600160801b038082168452600160801b80830463ffffffff90811698860198909852600160a01b92839004600b90810b8689015260018701546060808801919091526002808901546080808a01919091526003998a015460a0808b01919091528b519889018c5291549586169a88019a8b52938504909a16908601529290910490910b90820152915493820193909352611129914291908190611113906119d6565b815260200161112185611a48565b905290611f3d565b6020015160200151915050919050565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03166000908152600460205260409020546001600160801b031690565b60008054604051633d96606d60e11b8152620100009091046001600160a01b03908116600483015284811660248301527f00000000000000000000000000000000000000000000000000000000000000001690637b2cc0da90604401602060405180830381865afa158015611237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125b9190612c66565b1561127957604051637087a02d60e11b815260040160405180910390fd5b6001600160a01b0383166112a057604051632a75b77360e11b815260040160405180910390fd5b60008060029054906101000a90046001600160a01b03166001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190612ad1565b6001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113799190612aee565b905080600061138785611f8d565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201529091506000906113da906119d6565b6001600160a01b0388166000908152600460209081526040808320815160c08101835281546001600160801b038116825263ffffffff600160801b82041694820194909452600160a01b909304600b0b9183019190915260018101546060830152600281015460808301526003015460a082015291925061145a82611a48565b82516040805180820182528681526020810184905290516331e0bae760e21b81523060048201526001600160a01b038d81166024830152939450919290917f00000000000000000000000000000000000000000000000000000000000000009091169063c782eb9c90604401602060405180830381865afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115079190612c66565b6115285761152861152087836020015160000151611fa4565b600089611c7a565b60408051606081018252600080825260208201819052918101919091526115518282898b611fb0565b919750945090506115618661186f565b8051600280546020808501516040808701516001600160601b0316600160a01b026001600160a01b0363ffffffff909316600160801b026001600160a01b03199095166001600160801b0390971696909617939093178116949094179092556060909301516003908155918f16600090815260049091529190912001546115e885826120d1565b6001600160a01b038e811660009081526004602081815260408084208651815488850151898501516001600160601b0316600160a01b0263ffffffff918216600160801b026001600160a01b03199093166001600160801b0390941693909317919091178816919091178255606088015160018301556080880151600283015560a0909701516003909101559254835163fa48736d60e01b815262010000909104851692810192909252865185166024830152860151600f0b6044820152908501516064820152918b1660848301527f0000000000000000000000000000000000000000000000000000000000000000169063fa48736d9060a4016020604051808303816000875af1158015611702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117269190612c66565b61173257611732612d55565b5050600054604080516001600160801b0380861682528d1660208201526001600160a01b038e81169362010000900416917f58b452da1f241e47a4cf34c1a770df2202ae3743eb13aa99f14cc8c7b5c133ba910160405180910390a36117988b8b612180565b5060019a9950505050505050505050565b600a5460ff166117cc57604051631142f7dd60e11b815260040160405180910390fd5b60006117d78461119a565b905060006117e48461119a565b9050611802856117f38561244e565b6117fd9085612d08565b6111be565b5061181a846118108561244e565b6117fd9084612d6b565b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161186091815260200190565b60405180910390a35050505050565b60408051608081018252600080825260208201819052918101829052606081019190915260405180608001604052806118b66118b18560000151600f0b612477565b61244e565b6001600160801b031681526020016118cd846124c9565b63ffffffff1681526020016118ec6118e4856124d7565b600f0b611973565b600b0b8152602093840151604001519301929092525090565b60006001600160ff1b0382111561196f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610d66565b5090565b80600b81900b81146108cd5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610d66565b6119de6127fc565b60405180604001604052806119f68460000151611f8d565b600f0b815260408051606080820183526000808352602080840182905292840152825180820184528783015163ffffffff16815287840151600b0b818401529601519186019190915201929092525090565b611a50612839565b6040518060600160405280611a688460000151611f8d565b600f0b8152602001836080015181526020016040518060600160405280856020015163ffffffff1681526020018560400151600b0b600f0b815260200185606001518152508152509050919050565b600061092b836020015160200151611b1c856020015160000151611b16611aef878960000151602001516124e890919063ffffffff16565b611b11611b028a60200151604001515190565b60208b015160400151906124e8565b611f0d565b90612516565b612526565b6000611b2d8383610be4565b600054604051634543b74560e01b81526001600160a01b0362010000909204821660048201528582166024820152604481018390529192507f00000000000000000000000000000000000000000000000000000000000000001690634543b745906064016020604051808303816000875af1158015611bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd49190612c66565b611be057611be0612d55565b6001600160a01b03831660009081526004602052604081206003018054839290611c0b908490612d8b565b9091555050600080546001600160a01b038581168084526004602090815260409485902060030154855187815291820152909362010000909304909116917f9464bfc300bfd9af903ee21453d885a40d7f96864a3eecc0b8b0faf4ae685fa1910160405180910390a392915050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526003546060820152600090611cca906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a0820152909150600090611d2d90611a48565b6040805180820190915283815260208101829052909150611d4e8185611f3d565b9050611d6281602001516000015187612532565b60208083018051600f9390930b90925290510151611d809086611f0d565b81602001516020018181525050611d9c816020015160006120d1565b805160058054602084015160408501516001600160601b0316600160a01b026001600160a01b0363ffffffff909216600160801b026001600160a01b03199093166001600160801b039095169490941791909117169190911790556060810151600655608081015160075560a00151600855505050505050565b604080516080810182526002546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b9181019190915260035460608201526000908190611e68906119d6565b6040805160c0810182526005546001600160801b038116825263ffffffff600160801b8204166020830152600160a01b9004600b0b918101919091526006546060820152600754608082015260085460a0820152909150600090611ecb90611a48565b9050611eea6118e48260000151611ee1856124d7565b600f0b9061253e565b9250505090565b600254600090610bdf9061090f906001600160801b0316611905565b600061092b8284612db3565b80600f81900b81146108cd5760405162461bcd60e51b8152600401610d6690612dd3565b611f4561286c565b8251611f51908361254a565b81526020830151611f6190612578565b6020820152611f708383611ab7565b602080830180518201929092528251015190516040015292915050565b60006105bd61100c836001600160801b0316611905565b600061092b8284612e1a565b611fb86127fc565b611fc0612839565b60408051606081018252600080825260208201819052918101919091528651516000611ffa611fef8389612532565b60208b015151611fa4565b905060006120088a88611f3d565b805160209081015101519091506000600f84900b1561203a57612030600f83900b86866125a9565b909250905061204f565b612048600f83900b8661253e565b9050600091505b82516020015161205f90836125d3565b83516020908101919091528351600f86900b90528b0151612094906120849083612532565b61208e8d8c61260a565b906125d3565b8351602080860151600f8e900b8152865190910151919a5098509096506120ba90612650565b876040018190525050505050509450945094915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061211e8560000151600f0b61244e565b6001600160801b0316815260200184604001516000015163ffffffff168152602001612154856040015160200151600f0b611973565b600b0b815260200184604001516040015181526020018460200151815260200183815250905092915050565b6000805461219c906201000090046001600160a01b031661268b565b90506001600160a01b0381161561244957604051635ca1c2af60e11b81523060048201526001600160a01b0384811660248301526000919083169063b943855e90604401602060405180830381865afa1580156121fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122219190612aee565b90506000836001600160801b031660000361232657604051630ef6816560e21b8152600481018390526000906001600160a01b03851690633bda059490602401606060405180830381865afa15801561227e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a29190612e47565b602001516001600160a01b031614612321575a604051635b159b2360e11b81523060048201526001600160a01b0387811660248301529192509084169063b62b3646906044015b600060405180830381600087803b15801561230357600080fd5b505af1925050508015612314575060015b6123215761232181612737565b610e35565b604051630ef6816560e21b8152600481018390526000906001600160a01b03851690633bda059490602401606060405180830381865afa15801561236e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123929190612e47565b602001516001600160a01b0316036123dd575a60405163f1391f7360e01b81523060048201526001600160a01b0387811660248301529192509084169063f1391f73906044016122e9565b5a604051630447a2cd60e01b81523060048201526001600160a01b03878116602483015291925090841690630447a2cd90604401600060405180830381600087803b15801561242b57600080fd5b505af192505050801561243c575060015b610e355761232181612737565b505050565b60006001600160801b0382111561196f5760405162461bcd60e51b8152600401610d6690612dd3565b60008082121561196f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610d66565b60006105bd82602001515190565b60006105bd82602001516020015190565b600061092b61250c6124fe84866000015161275e565b6020860151600f0b9061276a565b8460400151612526565b600061092b600f83900b84612c36565b600061092b8284612d8b565b600061092b8284612e9b565b600061092b8284612ec8565b6125526127fc565b61255b83612780565b602081015190915061256d908361260a565b602082015292915050565b612580612839565b8151600f0b815260208083015190820152604082015161259f90612650565b6040820152919050565b6000806125c7836125be600f88900b8761253e565b600f0b906127a7565b91509150935093915050565b60408051606081018252600080825260208201819052918101919091526125f983612650565b600f9290920b602083015250919050565b604080516060810182526000808252602082018190529181019190915261263083612650565b905061263c83836124e8565b604082015263ffffffff9091168152919050565b6040805160608101825260008082526020808301828152838501928352855163ffffffff16845290850151600f0b9052929091015190915290565b60408051600481526024810182526020810180516001600160e01b031663f5a8b4dd60e01b1790529051600091829182916001600160a01b038616916126d19190612ee8565b600060405180830381855afa9150503d806000811461270c576040519150601f19603f3d011682016040523d82523d6000602084013e612711565b606091505b509150915081156127305780806020019051810190610a109190612ad1565b5050919050565b612740816127da565b15610efb576040516320afada560e01b815260040160405180910390fd5b600061092b8284612f17565b600061092b63ffffffff8316600f85900b612c36565b6127886127fc565b8151600f0b8152602082015161279d90612650565b6020820152919050565b6000806127b8600f85900b846127f0565b91506127d1846127cc600f85900b8661253e565b611fa4565b90509250929050565b60006127e7604083612f4a565b5a111592915050565b600061092b8284612f5e565b60405180604001604052806000600f0b8152602001612834604080516060810182526000808252602082018190529181019190915290565b905290565b60408051606080820183526000808352602080840182905284519283018552818352820181905281840152909182015290565b604051806040016040528061287f6127fc565b8152602001612834612839565b6001600160a01b0381168114610efb57600080fd5b600080604083850312156128b457600080fd5b82356128bf8161288c565b946020939093013593505050565b6000602082840312156128df57600080fd5b813561092b8161288c565b6001600160801b0381168114610efb57600080fd5b6000806040838503121561291257600080fd5b823561291d8161288c565b9150602083013561292d816128ea565b809150509250929050565b60008060006060848603121561294d57600080fd5b83356129588161288c565b925060208401356129688161288c565b929592945050506040919091013590565b60006080828403121561298b57600080fd5b50919050565b63ffffffff81168114610efb57600080fd5b6000602082840312156129b557600080fd5b813561092b81612991565b600080604083850312156129d357600080fd5b82356129de8161288c565b9150602083013561292d81612991565b8015158114610efb57600080fd5b60008060008060808587031215612a1257600080fd5b8435612a1d8161288c565b93506020850135612a2d8161288c565b92506040850135612a3d816129ee565b91506060850135612a4d816129ee565b939692955090935050565b600080600060608486031215612a6d57600080fd5b8335612a788161288c565b92506020840135612a88816129ee565b91506040840135612a9881612991565b809150509250925092565b60008060408385031215612ab657600080fd5b8235612ac18161288c565b9150602083013561292d8161288c565b600060208284031215612ae357600080fd5b815161092b8161288c565b600060208284031215612b0057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105bd576105bd612b07565b808201808211156105bd576105bd612b07565b6040516060810167ffffffffffffffff81118282101715612b7457634e487b7160e01b600052604160045260246000fd5b60405290565b80600f0b8114610efb57600080fd5b60008183036080811215612b9c57600080fd5b6040516040810181811067ffffffffffffffff82111715612bcd57634e487b7160e01b600052604160045260246000fd5b6040528335612bdb81612b7a565b81526060601f1983011215612bef57600080fd5b612bf7612b43565b91506020840135612c0781612991565b82526040840135612c1781612b7a565b6020838101919091526060949094013560408301529283015250919050565b80820260008212600160ff1b84141615612c5257612c52612b07565b81810583148215176105bd576105bd612b07565b600060208284031215612c7857600080fd5b815161092b816129ee565b600b82810b9082900b036b7fffffffffffffffffffffff1981126b7fffffffffffffffffffffff821317156105bd576105bd612b07565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160801b03828116828216039080821115612d2857612d28612b07565b5092915050565b600081600f0b60016001607f1b03198103612d4c57612d4c612b07565b60000392915050565b634e487b7160e01b600052600160045260246000fd5b6001600160801b03818116838216019080821115612d2857612d28612b07565b8082018281126000831280158216821582161715612dab57612dab612b07565b505092915050565b8181036000831280158383131683831282161715612d2857612d28612b07565b60208082526027908201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316040820152663238206269747360c81b606082015260800190565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156105bd576105bd612b07565b600060608284031215612e5957600080fd5b612e61612b43565b8251612e6c8161288c565b81526020830151612e7c8161288c565b60208201526040830151612e8f816128ea565b60408201529392505050565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156105bd576105bd612b07565b600082600f0b82600f0b0280600f0b9150808214612d2857612d28612b07565b6000825160005b81811015612f095760208186018101518583015201612eef565b506000920191825250919050565b63ffffffff828116828216039080821115612d2857612d28612b07565b634e487b7160e01b600052601260045260246000fd5b600082612f5957612f59612f34565b500490565b600081600f0b83600f0b80612f7557612f75612f34565b60016001607f1b0319821460001982141615612f9357612f93612b07565b9005939250505056fea2646970667358221220fc2d0a6b62d7496f1045adb1eb2c2a62d66bc1e692ee6295012ff7b8f78ffe3c64736f6c63430008170033"

Methods

  • Parameters

    • address: string

    Returns SuperfluidPoolStorageLayoutMock

  • Parameters

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

    Returns Promise<SuperfluidPoolStorageLayoutMock>

  • Parameters

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

    Returns TransactionRequest

  • Parameters

    • address: string
    • signerOrProvider: Signer | Provider

    Returns SuperfluidPoolStorageLayoutMock

  • Returns SuperfluidPoolStorageLayoutMockInterface

Generated using TypeDoc