2020-06-03 10:23:21 +00:00
|
|
|
/* Generated by ts-generator ver. 0.0.8 */
|
|
|
|
/* tslint:disable */
|
|
|
|
|
|
|
|
import { Contract, ContractFactory, Signer } from "ethers";
|
|
|
|
import { Provider } from "ethers/providers";
|
|
|
|
import { UnsignedTransaction } from "ethers/utils/transaction";
|
|
|
|
|
|
|
|
import { TransactionOverrides } from ".";
|
|
|
|
import { LendingPoolAddressesProvider } from "./LendingPoolAddressesProvider";
|
|
|
|
|
|
|
|
export class LendingPoolAddressesProviderFactory extends ContractFactory {
|
|
|
|
constructor(signer?: Signer) {
|
|
|
|
super(_abi, _bytecode, signer);
|
|
|
|
}
|
|
|
|
|
|
|
|
deploy(
|
|
|
|
overrides?: TransactionOverrides
|
|
|
|
): Promise<LendingPoolAddressesProvider> {
|
|
|
|
return super.deploy(overrides) as Promise<LendingPoolAddressesProvider>;
|
|
|
|
}
|
|
|
|
getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction {
|
|
|
|
return super.getDeployTransaction(overrides);
|
|
|
|
}
|
|
|
|
attach(address: string): LendingPoolAddressesProvider {
|
|
|
|
return super.attach(address) as LendingPoolAddressesProvider;
|
|
|
|
}
|
|
|
|
connect(signer: Signer): LendingPoolAddressesProviderFactory {
|
|
|
|
return super.connect(signer) as LendingPoolAddressesProviderFactory;
|
|
|
|
}
|
|
|
|
static connect(
|
|
|
|
address: string,
|
|
|
|
signerOrProvider: Signer | Provider
|
|
|
|
): LendingPoolAddressesProvider {
|
|
|
|
return new Contract(
|
|
|
|
address,
|
|
|
|
_abi,
|
|
|
|
signerOrProvider
|
|
|
|
) as LendingPoolAddressesProvider;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const _abi = [
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "EthereumAddressUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "FeeProviderUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolConfiguratorUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolCoreUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolDataProviderUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolLiquidationManagerUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolManagerUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolParametersProviderUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingPoolUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "LendingRateOracleUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "previousOwner",
|
|
|
|
type: "address"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newOwner",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "OwnershipTransferred",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "PriceOracleUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: false,
|
|
|
|
internalType: "bytes32",
|
|
|
|
name: "id",
|
|
|
|
type: "bytes32"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "ProxyCreated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
anonymous: false,
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
indexed: true,
|
|
|
|
internalType: "address",
|
|
|
|
name: "newAddress",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "TokenDistributorUpdated",
|
|
|
|
type: "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "bytes32",
|
|
|
|
name: "_key",
|
|
|
|
type: "bytes32"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "getAddress",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getFeeProvider",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPool",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolConfigurator",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolCore",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address payable",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolDataProvider",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolLiquidationManager",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolManager",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingPoolParametersProvider",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getLendingRateOracle",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getPriceOracle",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "getTokenDistributor",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "owner",
|
|
|
|
outputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
stateMutability: "view",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [],
|
|
|
|
name: "renounceOwnership",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_feeProvider",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setFeeProviderImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_configurator",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolConfiguratorImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_lendingPoolCore",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolCoreImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_provider",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolDataProviderImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_pool",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_manager",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolLiquidationManager",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_lendingPoolManager",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolManager",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_parametersProvider",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingPoolParametersProviderImpl",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_lendingRateOracle",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setLendingRateOracle",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_priceOracle",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setPriceOracle",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "_tokenDistributor",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "setTokenDistributor",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
inputs: [
|
|
|
|
{
|
|
|
|
internalType: "address",
|
|
|
|
name: "newOwner",
|
|
|
|
type: "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: "transferOwnership",
|
|
|
|
outputs: [],
|
|
|
|
stateMutability: "nonpayable",
|
|
|
|
type: "function"
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
const _bytecode =
|
2020-06-08 12:03:40 +00:00
|
|
|
"0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b611bbd806100866000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80635aef021f116100de578063bfedc10311610097578063ee89129611610071578063ee891296146103c0578063f2fde38b146103c8578063fbeefc3c146103ee578063fca513a8146103f65761018e565b8063bfedc1031461036c578063c12542df14610392578063ed6ff760146103b85761018e565b80635aef021f146102e2578063715018a614610308578063820d12741461031057806385c858b1146103365780638da5cb5b1461033e578063a5eface2146103465761018e565b806333128d591161014b57806340fdcadc1161012557806340fdcadc1461026857806344ce375b1461028e578063530e784f146102b45780635834eb9a146102da5761018e565b806333128d59146102325780633618abba1461023a57806338280e6b146102425761018e565b80630261bf8b1461019357806304061d8e146101b75780631c827204146101bf57806321f8a721146101e75780632a62c636146102045780632f58b80d1461022a575b600080fd5b61019b6103fe565b604080516001600160a01b039092168252519081900360200190f35b61019b61041d565b6101e5600480360360208110156101d557600080fd5b50356001600160a01b031661043e565b005b61019b600480360360208110156101fd57600080fd5b50356104eb565b6101e56004803603602081101561021a57600080fd5b50356001600160a01b0316610506565b61019b6105ae565b61019b6105c9565b61019b6105eb565b6101e56004803603602081101561025857600080fd5b50356001600160a01b031661060c565b6101e56004803603602081101561027e57600080fd5b50356001600160a01b03166106b9565b6101e5600480360360208110156102a457600080fd5b50356001600160a01b0316610769565b6101e5600480360360208110156102ca57600080fd5b50356001600160a01b0316610818565b61019b6108c0565b6101e5600480360360208110156102f857600080fd5b50356001600160a01b03166108e1565b6101e5610989565b6101e56004803603602081101561032657600080fd5b50356001600160a01b0316610a2b565b61019b610ada565b61019b610b01565b6101e56004803603602081101561035c57600080fd5b50356001600160a01b0316610b10565b6101e56004803603602081101561038257600080fd5b50356001600160a01b0316610bbf565b6101e5600480360360208110156103a857600080fd5b50356001600160a01b0316610c68565b61019b610d1d565b61019b610d43565b6101e5600480360360208110156103de57600080fd5b50356001600160a01b0316610d62565b61019b610e5a565b61019b610e74565b60006104186b13115391125391d7d413d3d360a21b6104eb565b905090565b6000610418722820a920a6a2aa22a929afa82927ab24a222a960691b6104eb565b610446610e8e565b6000546001600160a01b03908116911614610496576040805162461bcd60e51b81526020600482018190526024820152600080516020611b68833981519152604482015290519081900360640190fd5b6104b4704c454e44494e475f504f4f4c5f434f524560781b82610e92565b6040516001600160a01b038216907f71c226bb2879778ca1298196bf7cc1256baee9d05b496c31ee627d35a471b5b790600090a250565b6000908152600160205260409020546001600160a01b031690565b61050e610e8e565b6000546001600160a01b0390811691161461055e576040805162461bcd60e51b81526020600482018190526024820152600080516020611b68833981519152604482015290519081900360640190fd5b6105776b2322a2afa82927ab24a222a960a11b82610e92565b6040516001600160a01b038216907f18e1a55b8eff9c93921eecfa1462d6a8cbb80b3988db3eb14c039e43fdb2266190600090a250565b60006104186c2220aa20afa82927ab24a222a960991b6104eb565b6000610418732622a72224a723afa827a7a62fa6a0a720a3a2a960611b6104eb565b6000610418724c454e44494e475f524154455f4f5241434c4560681b6104eb565b610614610e8e565b6000546001600160a01b03908116911614610664576040805162461bcd60e51b81526020600482018190526024820152600080516020611b68833981519152604482015290519081900360640190fd5b610682702a27a5a2a72fa224a9aa2924a12aaa27a960791b8261112b565b6040516001600160a01b038216907fa8b48a56ec01f81c3615a21ec43e16b925c26293e0801cf6330427f2a687f05390600090a250565b6106c1610e8e565b6000546001600160a01b03908116911614610711576040805162461bcd60e51b81526020600482018190526024820152600080516020611b68833981519152604482015290519081900360640190fd5b610732732622a72224a723afa827a7a62fa6a0a720a3a2a960611b8261112b565b6040516001600160a01b038216907fd5280c51185a38d36f7a0f5e56cac6248312bb70d0974782fa5a595127e0e08e90600090a250565b610771610e8e565b6000546001
|