@augumented-finance/protocol-v1
Version:
Augmented Protocol smart contracts
889 lines • 46.2 kB
JavaScript
"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.DelegationAwareDepositTokenFactory = void 0;
const contracts_1 = require("@ethersproject/contracts");
class DelegationAwareDepositTokenFactory extends contracts_1.ContractFactory {
constructor(signer) {
super(_abi, _bytecode, signer);
}
deploy(overrides) {
return super.deploy(overrides || {});
}
getDeployTransaction(overrides) {
return super.getDeployTransaction(overrides || {});
}
attach(address) {
return super.attach(address);
}
connect(signer) {
return super.connect(signer);
}
static connect(address, signerOrProvider) {
return new contracts_1.Contract(address, _abi, signerOrProvider);
}
}
exports.DelegationAwareDepositTokenFactory = DelegationAwareDepositTokenFactory;
const _abi = [
{
anonymous: false,
inputs: [
{
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: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "BalanceTransfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "target",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "Burn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "underlyingAsset",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "pool",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "treasury",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "aTokenName",
type: "string",
},
{
indexed: false,
internalType: "string",
name: "aTokenSymbol",
type: "string",
},
{
indexed: false,
internalType: "uint8",
name: "aTokenDecimals",
type: "uint8",
},
{
indexed: false,
internalType: "bytes",
name: "params",
type: "bytes",
},
],
name: "Initialized",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "Mint",
type: "event",
},
{
anonymous: false,
inputs: [
{
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: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "EIP712_REVISION",
outputs: [
{
internalType: "bytes",
name: "",
type: "bytes",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "PERMIT_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "POOL",
outputs: [
{
internalType: "contract ILendingPool",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "RESERVE_TREASURY_ADDRESS",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "REVISION",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "UNDERLYING_ASSET_ADDRESS",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "_nonces",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
{
internalType: "address",
name: "receiverOfUnderlying",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "subtractedValue",
type: "uint256",
},
],
name: "decreaseAllowance",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "delegatee",
type: "address",
},
],
name: "delegateUnderlyingTo",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "getIncentivesController",
outputs: [
{
internalType: "contract IBalanceHook",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getScaledUserBalanceAndSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "handleRepayment",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "addedValue",
type: "uint256",
},
],
name: "increaseAllowance",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "contract ILendingPool",
name: "pool",
type: "address",
},
{
internalType: "address",
name: "treasury",
type: "address",
},
{
internalType: "address",
name: "underlyingAsset",
type: "address",
},
],
internalType: "struct PoolTokenConfig",
name: "config",
type: "tuple",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "symbol",
type: "string",
},
{
internalType: "uint8",
name: "decimals",
type: "uint8",
},
{
internalType: "bytes",
name: "params",
type: "bytes",
},
],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "mint",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "mintToTreasury",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "permit",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "scaledBalanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "scaledTotalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "hook",
type: "address",
},
],
name: "setIncentivesController",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "treasury",
type: "address",
},
],
name: "setTreasury",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferOnLiquidation",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "transferUnderlyingTo",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode = "0x60806040526000600c556000600d553480156200001b57600080fd5b50604080518082018252600c8082526b2222a827a9a4aa2fa9aa2aa160a11b6020808401828152855180870190965292855284015281519192916000916200006691839190620001f6565b5081516200007c906001906020850190620001f6565b506002805460ff191660ff92909216919091179055506200009e9050620000a4565b620002be565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000d062000140565b805160209182012060408051808201825260018152603160f81b90840152516200012293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691869130910162000292565b60408051601f19818403018152919052805160209091012060085550565b6060620001576200015c60201b6200045c1760201c565b905090565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620001ec5780601f10620001c057610100808354040283529160200191620001ec565b820191906000526020600020905b815481529060010190602001808311620001ce57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023957805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002695782518255916020019190600101906200024c565b50620002779291506200027b565b5090565b5b808211156200027757600081556001016200027c565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b612d4280620002ce6000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80637df5bd3b1161011a578063b1bf962d116100ad578063dd62ed3e1161007c578063dd62ed3e14610408578063dde43cba1461041b578063e655dbd814610423578063f0f4426014610436578063f866c3191461044957610206565b8063b1bf962d146103c7578063b9844d8d146103cf578063d505accf146103e2578063d7020d0a146103f557610206565b8063a457c2d7116100e9578063a457c2d714610391578063a9059cbb146103a4578063ae167335146103b7578063b16a19de146103bf57610206565b80637df5bd3b1461035057806388dd91a1146103635780638bd3a60d1461037657806395d89b411461038957610206565b806330adf81f1161019d5780634efecaa51161016c5780634efecaa51461030557806370a08231146103185780637535d2461461032b57806375d2641314610340578063781603761461034857610206565b806330adf81f146102cd578063313ce567146102d55780633644e515146102ea57806339509351146102f257610206565b806318160ddd116101d957806318160ddd1461027d5780631da24f3e1461029257806323b872dd146102a55780632f114618146102b857610206565b806306fdde031461020b578063095ea7b3146102295780630afbcdc914610249578063156e29f61461026a575b600080fd5b61021361045c565b60405161022091906127f2565b60405180910390f35b61023c6102373660046123e3565b6104f3565b6040516102209190612760565b61025c610257366004612295565b610511565b604051610220929190612bfa565b61023c61027836600461240e565b61052e565b610285610678565b604051610220919061276b565b6102856102a0366004612295565b61072a565b61023c6102b33660046122e9565b610735565b6102cb6102c6366004612295565b6107f7565b005b61028561091b565b6102dd61093f565b6040516102209190612c08565b610285610948565b61023c6103003660046123e3565b61094e565b6102856103133660046123e3565b61099c565b610285610326366004612295565b610a14565b610333610aad565b604051610220919061264e565b610333610abc565b610213610acb565b6102cb61035e3660046125ca565b610ae8565b6102cb6103713660046123e3565b610bed565b6102cb61038436600461247e565b610c49565b610213610ebc565b61023c61039f3660046123e3565b610f1c565b61023c6103b23660046123e3565b610f84565b610333610fe3565b610333610ff2565b610285611001565b6102856103dd366004612295565b611010565b6102cb6103f036600461236e565b611022565b6102cb610403366004612329565b6111b4565b6102856104163660046122b1565b611303565b61028561132e565b6102cb610431366004612295565b611338565b6102cb610444366004612295565b61140b565b6102cb6104573660046122e9565b611485565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104e85780601f106104bd576101008083540402835291602001916104e8565b820191906000526020600020905b8154815290600101906020018083116104cb57829003601f168201915b505050505090505b90565b6000610507610500611528565b848461152c565b5060015b92915050565b60008061051d836115d3565b6105256115ee565b91509150915091565b6005546000906001600160a01b0316610545611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906105915760405162461bcd60e51b815260040161058891906127f2565b60405180910390fd5b50600061059d856115d3565b905060006105ab85856115f4565b6040805180820190915260028152611a9b60f11b6020820152909150816105e55760405162461bcd60e51b815260040161058891906127f2565b506105f186828661169f565b856001600160a01b031660006001600160a01b0316600080516020612cc883398151915287604051610623919061276b565b60405180910390a3856001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8686604051610666929190612bfa565b60405180910390a25015949350505050565b6000806106836115ee565b9050806106945760009150506104f0565b60055460065460405163d15e005360e01b8152610724926001600160a01b039081169263d15e0053926106cd929091169060040161264e565b60206040518083038186803b1580156106e557600080fd5b505afa1580156106f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071d91906125b2565b829061173b565b91505090565b600061050b826115d3565b600061074484848460016117cb565b6107b484610750611528565b6107af85604051806060016040528060288152602001612ca0602891396001600160a01b038a166000908152600a602052604081209061078e611528565b6001600160a01b031681526020810191909152604001600020549190611957565b61152c565b826001600160a01b0316846001600160a01b0316600080516020612cc8833981519152846040516107e5919061276b565b60405180910390a35060019392505050565b6005546001600160a01b0316637be53ca1610810611528565b6040518263ffffffff1660e01b815260040161082c919061264e565b60206040518083038186803b15801561084457600080fd5b505afa158015610858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087c9190612442565b60405180604001604052806002815260200161333360f01b815250906108b55760405162461bcd60e51b815260040161058891906127f2565b506006546040516317066a5760e21b81526001600160a01b0390911690635c19a95c906108e690849060040161264e565b600060405180830381600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1690565b60085481565b600061050761095b611528565b846107af85600a600061096c611528565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611983565b6005546000906001600160a01b03166109b3611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906109f65760405162461bcd60e51b815260040161058891906127f2565b50600654610a0e906001600160a01b031684846119af565b50919050565b60055460065460405163d15e005360e01b815260009261050b926001600160a01b039182169263d15e005392610a4e92169060040161264e565b60206040518083038186803b158015610a6657600080fd5b505afa158015610a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9e91906125b2565b610aa7846115d3565b9061173b565b6005546001600160a01b031690565b6007546001600160a01b031690565b604051806040016040528060018152602001603160f81b81525081565b6005546001600160a01b0316610afc611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b81525090610b3f5760405162461bcd60e51b815260040161058891906127f2565b5081610b4a57610be9565b600b546001600160a01b0316610b6a81610b6485856115f4565b8461169f565b806001600160a01b031660006001600160a01b0316600080516020612cc883398151915285604051610b9c919061276b565b60405180910390a3806001600160a01b03167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8484604051610bdf929190612bfa565b60405180910390a2505b5050565b6005546001600160a01b0316610c01611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b81525090610c445760405162461bcd60e51b815260040161058891906127f2565b505050565b60016000610c55611a05565b9050600080610c648484611a0a565b91509150610cdd8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c9250611ae8915050565b610ce76001611b28565b610cf357610cf3611b30565b610d0360408d0160208e01612295565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610dbb610d35368e90038e018e612545565b8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c91508b9050611bc8565b80610dc657600d8490555b610e3b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284376000920191909152508c9250611ae8915050565b610e456001611b28565b610e5157610e51611b30565b610e6160408d0160208e01612295565b600b80546001600160a01b0319166001600160a01b0392909216919091179055610e93610d35368e90038e018e612545565b80610e9e57600c8490555b81610eae57600c8390556000600d555b505050505050505050505050565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104e85780601f106104bd576101008083540402835291602001916104e8565b6000610507610f29611528565b846107af85604051806060016040528060258152602001612ce860259139600a6000610f53611528565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611957565b6000610f9a610f91611528565b848460016117cb565b826001600160a01b0316610fac611528565b6001600160a01b0316600080516020612cc883398151915284604051610fd2919061276b565b60405180910390a350600192915050565b600b546001600160a01b031690565b6006546001600160a01b031690565b600061100b6115ee565b905090565b60096020526000908152604090205481565b6001600160a01b0387166110485760405162461bcd60e51b8152600401610588906129d2565b834211156110685760405162461bcd60e51b8152600401610588906129a6565b6001600160a01b03871660009081526009602090815260408083205460085491519093926110c2917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918d918d918d9189918e9101612774565b604051602081830303815290604052805190602001206040516020016110e9929190612633565b6040516020818303038152906040528051906020012090506001818686866040516000815260200160405260405161112494939291906127d4565b6020604051602081039080840390855afa158015611146573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b0316146111805760405162461bcd60e51b81526004016105889061292d565b6001600160a01b03891660009081526009602052604090206001830190556111a9898989611c4f565b505050505050505050565b6005546001600160a01b03166111c8611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b8152509061120b5760405162461bcd60e51b815260040161058891906127f2565b50600061121883836115f4565b60408051808201909152600281526106a760f31b6020820152909150816112525760405162461bcd60e51b815260040161058891906127f2565b5061125e858284611c5a565b600654611275906001600160a01b031685856119af565b60006001600160a01b0316856001600160a01b0316600080516020612cc8833981519152856040516112a7919061276b565b60405180910390a3836001600160a01b0316856001600160a01b03167f5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa285856040516112f4929190612bfa565b60405180910390a35050505050565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b600061100b611a05565b60055460408051630b6b5afb60e11b815290516113c5926001600160a01b0316916316d6b5f6916004808301926020929190829003018186803b15801561137e57600080fd5b505afa158015611392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b69190612462565b6113be611528565b6008611ce3565b60405180604001604052806002815260200161383160f01b815250906113fe5760405162461bcd60e51b815260040161058891906127f2565b5061140881611d02565b50565b6005546001600160a01b031661141f611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906114625760405162461bcd60e51b815260040161058891906127f2565b50600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316611499611528565b6001600160a01b03161460405180604001604052806002815260200161323960f01b815250906114dc5760405162461bcd60e51b815260040161058891906127f2565b506114ea83838360006117cb565b816001600160a01b0316836001600160a01b0316600080516020612cc88339815191528360405161151b919061276b565b60405180910390a3505050565b3390565b6001600160a01b0383166115525760405162461bcd60e51b815260040161058890612afe565b6001600160a01b0382166115785760405162461bcd60e51b81526004016105889061287f565b6001600160a01b038084166000818152600a602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061151b90859061276b565b6001600160a01b031660009081526003602052604090205490565b60045490565b604080518082019091526002815261035360f41b60208201526000908261162e5760405162461bcd60e51b815260040161058891906127f2565b5060408051808201909152600280825261068760f31b60208301528304906b033b2e3c9fd0803ce800000082190485111561167c5760405162461bcd60e51b815260040161058891906127f2565b5082816b033b2e3c9fd0803ce80000008602018161169657fe5b04949350505050565b6001600160a01b0383166116c55760405162461bcd60e51b815260040161058890612bc3565b6116d160008484610c44565b6004546116de8184611983565b60048190556001600160a01b0385166000908152600360205260408120549192506117098286611983565b6001600160a01b038716600090815260036020526040902081905590506117338683838688611d24565b505050505050565b6000821580611748575081155b156117555750600061050b565b816b019d971e4fe8401e74000000198161176b57fe5b0483111560405180604001604052806002815260200161068760f31b815250906117a85760405162461bcd60e51b815260040161058891906127f2565b50506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60065460055460405163d15e005360e01b81526001600160a01b039283169290911690600090829063d15e00539061180790869060040161264e565b60206040518083038186803b15801561181f57600080fd5b505afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185791906125b2565b9050600061186882610aa78a6115d3565b9050600061187983610aa78a6115d3565b9050611890898961188a8a876115f4565b86611db2565b85156118ff5760405163d5ed393360e01b81526001600160a01b0385169063d5ed3933906118cc9088908d908d908d9089908990600401612662565b600060405180830381600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050505b876001600160a01b0316896001600160a01b03167f4beccb90f994c31aced7a23b5611020728a23d8ec5cddd1a3e9d97b96fda86668986604051611944929190612bfa565b60405180910390a3505050505050505050565b6000818484111561197b5760405162461bcd60e51b815260040161058891906127f2565b505050900390565b6000828201838110156119a85760405162461bcd60e51b8152600401610588906128c1565b9392505050565b610c448363a9059cbb60e01b84846040516024016119ce929190612747565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611fc0565b600190565b60008060008411611a2d5760405162461bcd60e51b815260040161058890612848565b82841115611a4d5760405162461bcd60e51b815260040161058890612a3a565b6000600d54118015611a60575082600c54105b91508180611a715750611a716120ab565b80611a7d5750600c5483115b611a995760405162461bcd60e51b815260040161058890612958565b8115611ac05783600d5411611ac05760405162461bcd60e51b815260040161058890612ab6565b600c548411611add578115611ad5576001600d555b506001611ae1565b5060005b9250929050565b8251611afb9060009060208601906121c2565b508151611b0f9060019060208501906121c2565b506002805460ff191660ff929092169190911790555050565b600c54101590565b467f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b5a6120b1565b805160209182012060408051808201825260018152603160f81b9084015251611baa93927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69186913091016127a8565b60408051601f19818403018152919052805160209091012060085550565b8551600580546001600160a01b039283166001600160a01b031991821681179092556040808a015160068054919095169216821790935560208901519251919290917f2bb6ce244a49e83b442fa9c0617811f0929cb9961fd5ce013ebf708dc4d8bf0291611c3f918a908a908a908a908a906126d1565b60405180910390a3505050505050565b610c4483838361152c565b6001600160a01b038316611c805760405162461bcd60e51b8152600401610588906129f9565b611c8c83600084610c44565b600454611c9981846120bb565b60048190556001600160a01b0385166000908152600360209081526040808320548151606081019092526022808352949550936117099288929190612c5890830139849190611957565b6000611cfa82611cf48686866120fd565b9061217e565b949350505050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031680611d3b5750610914565b806001600160a01b031663de95ce03611d52612185565b88888888886040518763ffffffff1660e01b8152600401611d789695949392919061269b565b600060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b038416611dd85760405162461bcd60e51b815260040161058890612a71565b6001600160a01b038316611dfe5760405162461bcd60e51b815260040161058890612805565b611e09848484610c44565b600060036000866001600160a01b03166001600160a01b031681526020019081526020016000205490506000611e5a84604051806060016040528060268152602001612c7a60269139849190611957565b6001600160a01b03808816600090815260036020526040808220849055918816815290812054919250611e8d8287611983565b6001600160a01b0380891660009081526003602052604090208290556007549192501680156111a9576000611ec0612185565b905060006004549050826001600160a01b031663de95ce03838d8a8a868e6040518763ffffffff1660e01b8152600401611eff9695949392919061269b565b600060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b031614611fb357826001600160a01b031663de95ce03838c8888868e6040518763ffffffff1660e01b8152600401611f809695949392919061269b565b600060405180830381600087803b158015611f9a57600080fd5b505af1158015611fae573d6000803e3d6000fd5b505050505b5050505050505050505050565b611fd2826001600160a01b0316612189565b611fee5760405162461bcd60e51b815260040161058890612b8c565b60006060836001600160a01b03168360405161200a9190612617565b6000604051808303816000865af19150503d8060008114612047576040519150601f19603f3d011682016040523d82523d6000602084013e61204c565b606091505b50915091508161206e5760405162461bcd60e51b8152600401610588906128f8565b8051156120a557808060200190518101906120899190612442565b6120a55760405162461bcd60e51b815260040161058890612b42565b50505050565b303b1590565b606061100b61045c565b60006119a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611957565b60405163cc8b29c160e01b81526000906001600160a01b0385169063cc8b29c19061212e9086908690600401612747565b60206040518083038186803b15801561214657600080fd5b505afa15801561215a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfa91906125b2565b9081161490565b3090565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611cfa575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061220357805160ff1916838001178555612230565b82800160010185558215612230579182015b82811115612230578251825591602001919060010190612215565b5061223c929150612240565b5090565b5b8082111561223c5760008155600101612241565b60008083601f840112612266578182fd5b50813567ffffffffffffffff81111561227d578182fd5b602083019150836020828501011115611ae157600080fd5b6000602082840312156122a6578081fd5b81356119a881612c42565b600080604083850312156122c3578081fd5b82356122ce81612c42565b915060208301356122de81612c42565b809150509250929050565b6000806000606084860312156122fd578081fd5b833561230881612c42565b9250602084013561231881612c42565b929592945050506040919091013590565b6000806000806080858703121561233e578081fd5b843561234981612c42565b9350602085013561235981612c42565b93969395505050506040820135916060013590565b600080600080600080600060e0888a031215612388578283fd5b873561239381612c42565b965060208801356123a381612c42565b95506040880135945060608801359350608088013560ff811681146123c6578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156123f5578182fd5b823561240081612c42565b946020939093013593505050565b600080600060608486031215612422578283fd5b833561242d81612c42565b95602085013595506040909401359392505050565b600060208284031215612453578081fd5b815180151581146119a8578182fd5b600060208284031215612473578081fd5b81516119a881612c42565b600080600080600080600080888a0360e081121561249a578283fd5b60608112156124a7578283fd5b50889750606089013567ffffffffffffffff808211156124c5578384fd5b6124d18c838d01612255565b909950975060808b01359150808211156124e9578384fd5b6124f58c838d01612255565b909750955060a08b0135915060ff8216821461250f578384fd5b90935060c08a01359080821115612524578384fd5b506125318b828c01612255565b999c989b5096995094979396929594505050565b600060608284031215612556578081fd5b6040516060810181811067ffffffffffffffff82111715612575578283fd5b604052823561258381612c42565b8152602083013561259381612c42565b602082015260408301356125a681612c42565b60408201529392505050565b6000602082840312156125c3578081fd5b5051919050565b600080604083850312156125dc578182fd5b50508035926020909101359150565b60008151808452612603816020860160208601612c16565b601f01601f19169290920160200192915050565b60008251612629818460208701612c16565b9190910192915050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925260a081019190915260c00190565b6001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b6001600160a01b038716815260a0602082018190526000906126f5908301886125eb565b828103604084015261270781886125eb565b905060ff8616606084015282810360808401528381528385602083013781602085830101526020601f19601f860116820101915050979650505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526119a860208301846125eb565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252601e908201527f696e636f727265637420696e697469616c697a6572207265766973696f6e0000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b602080825260119082015270494e56414c49445f5349474e415455524560781b604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526012908201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601b908201527f696e636f727265637420636f6e7472616374207265766973696f6e0000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526028908201527f696e636f7272656374206f72646572206f662063616c6c7320746f20696e697460408201526769616c697a65727360c01b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b60ff91909116815260200190565b60005b83811015612c31578181015183820152602001612c19565b838111156120a55750506000910152565b6001600160a01b038116811461140857600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205fc4ccf764572fffd4053a5263f0fa00e546415ef3dd8c641b98fe2e7975f32a64736f6c634300060c0033";
//# sourceMappingURL=DelegationAwareDepositTokenFactory.js.map