@venusprotocol/protocol-reserve 1.5.0 → 1.6.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.dbg.json +1 -1
- package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
- package/artifacts/build-info/{edc419076b46914ce81b28cdf6fbe9e4.json → d1fcd0a2f344488c087ed41d687ed735.json} +1 -1
- package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IIncomeDestination.sol/IIncomeDestination.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IPoolRegistry.sol/IPoolRegistry.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IRiskFundConverter.sol/IRiskFundConverter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
- package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.dbg.json +1 -1
- package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.json +50 -2
- package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.dbg.json +1 -1
- package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.dbg.json +1 -1
- package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.dbg.json +1 -1
- package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +1 -1
- package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.dbg.json +1 -1
- package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.dbg.json +1 -1
- package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.dbg.json +1 -1
- package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.dbg.json +1 -1
- package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.dbg.json +1 -1
- package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.dbg.json +1 -1
- package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.dbg.json +1 -1
- package/contracts/ProtocolReserve/XVSVaultTreasury.sol +26 -0
- package/deployments/bscmainnet/XVSVaultTreasury_Implementation.json +91 -27
- package/deployments/bscmainnet/solcInputs/f56c48e0e517617d548c496f99aa8709.json +237 -0
- package/deployments/bscmainnet.json +49 -1
- package/deployments/bscmainnet_addresses.json +1 -1
- package/deployments/bsctestnet/XVSVaultTreasury_Implementation.json +91 -27
- package/deployments/bsctestnet/solcInputs/f56c48e0e517617d548c496f99aa8709.json +237 -0
- package/deployments/bsctestnet.json +49 -1
- package/deployments/bsctestnet_addresses.json +1 -1
- package/dist/hardhat.config.d.ts.map +1 -1
- package/dist/hardhat.config.js +1 -0
- package/dist/hardhat.config.js.map +1 -1
- package/dist/typechain/factories/XVSVaultTreasury__factory.d.ts +1 -1
- package/dist/typechain/factories/XVSVaultTreasury__factory.d.ts.map +1 -1
- package/dist/typechain/factories/XVSVaultTreasury__factory.js +49 -1
- package/dist/typechain/factories/XVSVaultTreasury__factory.js.map +1 -1
- package/package.json +4 -2
- package/typechain/AbstractTokenConverter.d.ts +1775 -0
- package/typechain/AccessControl.d.ts +388 -0
- package/typechain/AccessControlledV8.d.ts +341 -0
- package/typechain/BeaconProxy.d.ts +126 -0
- package/typechain/BoundValidatorInterface.d.ts +126 -0
- package/typechain/ContextUpgradeable.d.ts +92 -0
- package/typechain/ConverterNetwork.d.ts +723 -0
- package/typechain/ERC165.d.ts +116 -0
- package/typechain/ERC1967Proxy.d.ts +126 -0
- package/typechain/ERC1967Upgrade.d.ts +126 -0
- package/typechain/ERC20.d.ts +441 -0
- package/typechain/IAbstractTokenConverter.d.ts +773 -0
- package/typechain/IAccessControl.d.ts +333 -0
- package/typechain/IAccessControlManagerV8.d.ts +504 -0
- package/typechain/IBeacon.d.ts +101 -0
- package/typechain/IComptroller.d.ts +136 -0
- package/typechain/IConverterNetwork.d.ts +292 -0
- package/typechain/IERC165.d.ts +116 -0
- package/typechain/IERC1822Proxiable.d.ts +101 -0
- package/typechain/IERC1967.d.ts +126 -0
- package/typechain/IERC20.d.ts +324 -0
- package/typechain/IERC20Metadata.d.ts +363 -0
- package/typechain/IERC20PermitUpgradeable.d.ts +187 -0
- package/typechain/IERC20Upgradeable.d.ts +324 -0
- package/typechain/IIncomeDestination.d.ts +122 -0
- package/typechain/IPoolRegistry.d.ts +155 -0
- package/typechain/IProtocolShareReserve.d.ts +127 -0
- package/typechain/IRiskFund.d.ts +200 -0
- package/typechain/IRiskFundConverter.d.ts +138 -0
- package/typechain/IRiskFundGetters.d.ts +103 -0
- package/typechain/IShortfall.d.ts +110 -0
- package/typechain/ITransparentUpgradeableProxy.d.ts +256 -0
- package/typechain/IVToken.d.ts +98 -0
- package/typechain/IXVSVault.d.ts +95 -0
- package/typechain/Initializable.d.ts +92 -0
- package/typechain/MaxLoopsLimitHelper.d.ts +128 -0
- package/typechain/MaxLoopsLimitHelpersStorage.d.ts +101 -0
- package/typechain/MockACM.d.ts +615 -0
- package/typechain/MockArraySorter.d.ts +118 -0
- package/typechain/MockConverter.d.ts +1969 -0
- package/typechain/MockDeflatingToken.d.ts +486 -0
- package/typechain/MockRiskFundConverter.d.ts +2479 -0
- package/typechain/MockToken.d.ts +505 -0
- package/typechain/OracleInterface.d.ts +98 -0
- package/typechain/Ownable.d.ts +181 -0
- package/typechain/Ownable2StepUpgradeable.d.ts +261 -0
- package/typechain/OwnableUpgradeable.d.ts +193 -0
- package/typechain/PausableUpgradeable.d.ts +129 -0
- package/typechain/ProtocolShareReserve.d.ts +1214 -0
- package/typechain/Proxy.d.ts +78 -0
- package/typechain/ProxyAdmin.d.ts +357 -0
- package/typechain/ReentrancyGuardUpgradeable.d.ts +92 -0
- package/typechain/ReserveHelpersStorage.d.ts +300 -0
- package/typechain/ResilientOracle.d.ts +1034 -0
- package/typechain/ResilientOracleInterface.d.ts +192 -0
- package/typechain/RiskFundConverter.d.ts +2235 -0
- package/typechain/RiskFundV1Storage.d.ts +353 -0
- package/typechain/RiskFundV2.d.ts +965 -0
- package/typechain/RiskFundV2Storage.d.ts +372 -0
- package/typechain/SingleTokenConverter.d.ts +1944 -0
- package/typechain/TransparentUpgradeableProxy.d.ts +126 -0
- package/typechain/TwapInterface.d.ts +124 -0
- package/typechain/UpgradeableBeacon.d.ts +240 -0
- package/typechain/VBep20Interface.d.ts +379 -0
- package/typechain/XVSVaultTreasury.d.ts +580 -0
- package/typechain/common.d.ts +35 -0
- package/typechain/factories/AbstractTokenConverter__factory.ts +1297 -0
- package/typechain/factories/AccessControl__factory.ts +227 -0
- package/typechain/factories/AccessControlledV8__factory.ts +196 -0
- package/typechain/factories/BeaconProxy__factory.ts +133 -0
- package/typechain/factories/BoundValidatorInterface__factory.ts +59 -0
- package/typechain/factories/ContextUpgradeable__factory.ts +39 -0
- package/typechain/factories/ConverterNetwork__factory.ts +502 -0
- package/typechain/factories/ERC165__factory.ts +39 -0
- package/typechain/factories/ERC1967Proxy__factory.ts +137 -0
- package/typechain/factories/ERC1967Upgrade__factory.ts +71 -0
- package/typechain/factories/ERC20__factory.ts +340 -0
- package/typechain/factories/IAbstractTokenConverter__factory.ts +466 -0
- package/typechain/factories/IAccessControlManagerV8__factory.ts +301 -0
- package/typechain/factories/IAccessControl__factory.ts +198 -0
- package/typechain/factories/IBeacon__factory.ts +36 -0
- package/typechain/factories/IComptroller__factory.ts +68 -0
- package/typechain/factories/IConverterNetwork__factory.ts +142 -0
- package/typechain/factories/IERC165__factory.ts +42 -0
- package/typechain/factories/IERC1822Proxiable__factory.ts +39 -0
- package/typechain/factories/IERC1967__factory.ts +68 -0
- package/typechain/factories/IERC20Metadata__factory.ts +248 -0
- package/typechain/factories/IERC20PermitUpgradeable__factory.ts +105 -0
- package/typechain/factories/IERC20Upgradeable__factory.ts +209 -0
- package/typechain/factories/IERC20__factory.ts +203 -0
- package/typechain/factories/IIncomeDestination__factory.ts +44 -0
- package/typechain/factories/IPoolRegistry__factory.ts +66 -0
- package/typechain/factories/IProtocolShareReserve__factory.ts +53 -0
- package/typechain/factories/IRiskFundConverter__factory.ts +63 -0
- package/typechain/factories/IRiskFundGetters__factory.ts +39 -0
- package/typechain/factories/IRiskFund__factory.ts +89 -0
- package/typechain/factories/IShortfall__factory.ts +36 -0
- package/typechain/factories/ITransparentUpgradeableProxy__factory.ts +145 -0
- package/typechain/factories/IVToken__factory.ts +36 -0
- package/typechain/factories/IXVSVault__factory.ts +36 -0
- package/typechain/factories/Initializable__factory.ts +36 -0
- package/typechain/factories/MaxLoopsLimitHelper__factory.ts +74 -0
- package/typechain/factories/MaxLoopsLimitHelpersStorage__factory.ts +75 -0
- package/typechain/factories/MockACM__factory.ts +411 -0
- package/typechain/factories/MockArraySorter__factory.ts +85 -0
- package/typechain/factories/MockConverter__factory.ts +1439 -0
- package/typechain/factories/MockDeflatingToken__factory.ts +389 -0
- package/typechain/factories/MockRiskFundConverter__factory.ts +1828 -0
- package/typechain/factories/MockToken__factory.ts +398 -0
- package/typechain/factories/OracleInterface__factory.ts +45 -0
- package/typechain/factories/Ownable2StepUpgradeable__factory.ts +134 -0
- package/typechain/factories/OwnableUpgradeable__factory.ts +91 -0
- package/typechain/factories/Ownable__factory.ts +75 -0
- package/typechain/factories/PausableUpgradeable__factory.ts +78 -0
- package/typechain/factories/ProtocolShareReserve__factory.ts +874 -0
- package/typechain/factories/ProxyAdmin__factory.ts +202 -0
- package/typechain/factories/Proxy__factory.ts +28 -0
- package/typechain/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
- package/typechain/factories/ReserveHelpersStorage__factory.ts +188 -0
- package/typechain/factories/ResilientOracleInterface__factory.ts +94 -0
- package/typechain/factories/ResilientOracle__factory.ts +710 -0
- package/typechain/factories/RiskFundConverter__factory.ts +1694 -0
- package/typechain/factories/RiskFundV1Storage__factory.ts +223 -0
- package/typechain/factories/RiskFundV2Storage__factory.ts +236 -0
- package/typechain/factories/RiskFundV2__factory.ts +672 -0
- package/typechain/factories/SingleTokenConverter__factory.ts +1441 -0
- package/typechain/factories/TransparentUpgradeableProxy__factory.ts +152 -0
- package/typechain/factories/TwapInterface__factory.ts +61 -0
- package/typechain/factories/UpgradeableBeacon__factory.ts +163 -0
- package/typechain/factories/VBep20Interface__factory.ts +261 -0
- package/typechain/factories/XVSVaultTreasury__factory.ts +413 -0
- package/typechain/index.ts +134 -0
|
@@ -139,6 +139,31 @@
|
|
|
139
139
|
"name": "OwnershipTransferred",
|
|
140
140
|
"type": "event"
|
|
141
141
|
},
|
|
142
|
+
{
|
|
143
|
+
"anonymous": false,
|
|
144
|
+
"inputs": [
|
|
145
|
+
{
|
|
146
|
+
"indexed": true,
|
|
147
|
+
"internalType": "address",
|
|
148
|
+
"name": "token",
|
|
149
|
+
"type": "address"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"indexed": true,
|
|
153
|
+
"internalType": "address",
|
|
154
|
+
"name": "to",
|
|
155
|
+
"type": "address"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"indexed": false,
|
|
159
|
+
"internalType": "uint256",
|
|
160
|
+
"name": "amount",
|
|
161
|
+
"type": "uint256"
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
"name": "SweepToken",
|
|
165
|
+
"type": "event"
|
|
166
|
+
},
|
|
142
167
|
{
|
|
143
168
|
"anonymous": false,
|
|
144
169
|
"inputs": [
|
|
@@ -281,6 +306,29 @@
|
|
|
281
306
|
"stateMutability": "nonpayable",
|
|
282
307
|
"type": "function"
|
|
283
308
|
},
|
|
309
|
+
{
|
|
310
|
+
"inputs": [
|
|
311
|
+
{
|
|
312
|
+
"internalType": "address",
|
|
313
|
+
"name": "tokenAddress",
|
|
314
|
+
"type": "address"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"internalType": "address",
|
|
318
|
+
"name": "to",
|
|
319
|
+
"type": "address"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"internalType": "uint256",
|
|
323
|
+
"name": "amount",
|
|
324
|
+
"type": "uint256"
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"name": "sweepToken",
|
|
328
|
+
"outputs": [],
|
|
329
|
+
"stateMutability": "nonpayable",
|
|
330
|
+
"type": "function"
|
|
331
|
+
},
|
|
284
332
|
{
|
|
285
333
|
"inputs": [
|
|
286
334
|
{
|
|
@@ -308,8 +356,8 @@
|
|
|
308
356
|
"type": "function"
|
|
309
357
|
}
|
|
310
358
|
],
|
|
311
|
-
"bytecode": "0x60a06040523480156200001157600080fd5b506040516200165738038062001657833981016040819052620000349162000149565b6200003f816200005d565b6001600160a01b0381166080526200005662000088565b506200017b565b6001600160a01b03811662000085576040516342bcdf7f60e11b815260040160405180910390fd5b50565b600054610100900460ff1615620000f55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000147576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015c57600080fd5b81516001600160a01b03811681146200017457600080fd5b9392505050565b6080516114b2620001a560003960008181610162015281816104f6015261066b01526114b26000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806379ba509711610081578063b4a0bdf31161005b578063b4a0bdf3146101c5578063e30c3978146101e3578063f2fde38b1461020157600080fd5b806379ba50971461018c5780638da5cb5b146101945780639a02c39a146101b257600080fd5b8063485cc955116100b2578063485cc9551461014a57806354a617ed1461015d578063715018a61461018457600080fd5b80630e32cb86146100d957806314d35a63146100ee5780631b9ce57514610101575b600080fd5b6100ec6100e7366004611294565b610214565b005b6100ec6100fc366004611294565b610228565b60fb546101219073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ec6101583660046112b8565b610239565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6103ca565b6100ec6103de565b60335473ffffffffffffffffffffffffffffffffffffffff16610121565b6100ec6101c03660046112f1565b610476565b60975473ffffffffffffffffffffffffffffffffffffffff16610121565b60655473ffffffffffffffffffffffffffffffffffffffff16610121565b6100ec61020f366004611294565b6106ee565b61021c61079e565b61022581610805565b50565b61023061079e565b61022581610914565b600054610100900460ff16158080156102595750600054600160ff909116105b806102735750303b158015610273575060005460ff166001145b6102ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561034857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610351836109ab565b610359610a39565b61036282610914565b80156103c557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6103d261079e565b6103dc6000610abe565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461046d5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016102e1565b61022581610abe565b61047e610aef565b6104bc6040518060400160405280601581526020017f66756e645856535661756c742875696e74323536290000000000000000000000815250610b48565b6104c581610c25565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610576919061130a565b9050818110156105b2576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54604080517f24f52bbf000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916324f52bbf9160048083019260209291908290030181865afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190611323565b905061065181610c5f565b61069273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168285610cac565b8073ffffffffffffffffffffffffffffffffffffffff167f15daab32014613a1f6e3f4500519c6ae9f7b172530faeac09157815d4f395381846040516106da91815260200190565b60405180910390a25050610225600160c955565b6106f661079e565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561075960335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102e1565b73ffffffffffffffffffffffffffffffffffffffff811661088e5760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016102e1565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b61091d81610c5f565b60fb5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3bf9abe00ba7558b8031adf12ba72290510a001068b251cd4931a4199a78068a90600090a360fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16610a285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b610a30610d40565b61022581610dc5565b600054610100900460ff16610ab65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc610e42565b606580547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561022581610ebf565b600260c95403610b415760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102e1565b600260c955565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab90610ba190339086906004016113ba565b602060405180830381865afa158015610bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be291906113e9565b905080610c21573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016102e19392919061140b565b5050565b80600003610225576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610225576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103c5908490610f36565b600160c955565b600054610100900460ff16610dbd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc61102b565b600054610100900460ff1661021c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b600054610100900460ff16610d395760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610f98826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110b19092919063ffffffff16565b9050805160001480610fb9575080806020019051810190610fb991906113e9565b6103c55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102e1565b600054610100900460ff166110a85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc33610abe565b60606110c084846000856110c8565b949350505050565b6060824710156111405760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102e1565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611169919061144d565b60006040518083038185875af1925050503d80600081146111a6576040519150601f19603f3d011682016040523d82523d6000602084013e6111ab565b606091505b50915091506111bc878383876111c7565b979650505050505050565b6060831561124357825160000361123c5773ffffffffffffffffffffffffffffffffffffffff85163b61123c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102e1565b50816110c0565b6110c083838151156112585781518083602001fd5b8060405162461bcd60e51b81526004016102e19190611469565b73ffffffffffffffffffffffffffffffffffffffff8116811461022557600080fd5b6000602082840312156112a657600080fd5b81356112b181611272565b9392505050565b600080604083850312156112cb57600080fd5b82356112d681611272565b915060208301356112e681611272565b809150509250929050565b60006020828403121561130357600080fd5b5035919050565b60006020828403121561131c57600080fd5b5051919050565b60006020828403121561133557600080fd5b81516112b181611272565b60005b8381101561135b578181015183820152602001611343565b8381111561136a576000848401525b50505050565b60008151808452611388816020860160208601611340565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006110c06040830184611370565b6000602082840312156113fb57600080fd5b815180151581146112b157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8086168352808516602084015250606060408301526114446060830184611370565b95945050505050565b6000825161145f818460208701611340565b9190910192915050565b6020815260006112b1602083018461137056fea26469706673582212208096a2f599f35293c5f19ed2d249b14d665c7fe0b66fa63c5fe6cf35720e1b0a64736f6c634300080d0033",
|
|
312
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c806379ba509711610081578063b4a0bdf31161005b578063b4a0bdf3146101c5578063e30c3978146101e3578063f2fde38b1461020157600080fd5b806379ba50971461018c5780638da5cb5b146101945780639a02c39a146101b257600080fd5b8063485cc955116100b2578063485cc9551461014a57806354a617ed1461015d578063715018a61461018457600080fd5b80630e32cb86146100d957806314d35a63146100ee5780631b9ce57514610101575b600080fd5b6100ec6100e7366004611294565b610214565b005b6100ec6100fc366004611294565b610228565b60fb546101219073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ec6101583660046112b8565b610239565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6103ca565b6100ec6103de565b60335473ffffffffffffffffffffffffffffffffffffffff16610121565b6100ec6101c03660046112f1565b610476565b60975473ffffffffffffffffffffffffffffffffffffffff16610121565b60655473ffffffffffffffffffffffffffffffffffffffff16610121565b6100ec61020f366004611294565b6106ee565b61021c61079e565b61022581610805565b50565b61023061079e565b61022581610914565b600054610100900460ff16158080156102595750600054600160ff909116105b806102735750303b158015610273575060005460ff166001145b6102ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561034857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610351836109ab565b610359610a39565b61036282610914565b80156103c557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6103d261079e565b6103dc6000610abe565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461046d5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016102e1565b61022581610abe565b61047e610aef565b6104bc6040518060400160405280601581526020017f66756e645856535661756c742875696e74323536290000000000000000000000815250610b48565b6104c581610c25565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610576919061130a565b9050818110156105b2576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54604080517f24f52bbf000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916324f52bbf9160048083019260209291908290030181865afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190611323565b905061065181610c5f565b61069273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168285610cac565b8073ffffffffffffffffffffffffffffffffffffffff167f15daab32014613a1f6e3f4500519c6ae9f7b172530faeac09157815d4f395381846040516106da91815260200190565b60405180910390a25050610225600160c955565b6106f661079e565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561075960335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102e1565b73ffffffffffffffffffffffffffffffffffffffff811661088e5760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016102e1565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b61091d81610c5f565b60fb5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3bf9abe00ba7558b8031adf12ba72290510a001068b251cd4931a4199a78068a90600090a360fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16610a285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b610a30610d40565b61022581610dc5565b600054610100900460ff16610ab65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc610e42565b606580547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561022581610ebf565b600260c95403610b415760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102e1565b600260c955565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab90610ba190339086906004016113ba565b602060405180830381865afa158015610bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be291906113e9565b905080610c21573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016102e19392919061140b565b5050565b80600003610225576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610225576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103c5908490610f36565b600160c955565b600054610100900460ff16610dbd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc61102b565b600054610100900460ff1661021c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b600054610100900460ff16610d395760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610f98826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110b19092919063ffffffff16565b9050805160001480610fb9575080806020019051810190610fb991906113e9565b6103c55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102e1565b600054610100900460ff166110a85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e1565b6103dc33610abe565b60606110c084846000856110c8565b949350505050565b6060824710156111405760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102e1565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611169919061144d565b60006040518083038185875af1925050503d80600081146111a6576040519150601f19603f3d011682016040523d82523d6000602084013e6111ab565b606091505b50915091506111bc878383876111c7565b979650505050505050565b6060831561124357825160000361123c5773ffffffffffffffffffffffffffffffffffffffff85163b61123c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102e1565b50816110c0565b6110c083838151156112585781518083602001fd5b8060405162461bcd60e51b81526004016102e19190611469565b73ffffffffffffffffffffffffffffffffffffffff8116811461022557600080fd5b6000602082840312156112a657600080fd5b81356112b181611272565b9392505050565b600080604083850312156112cb57600080fd5b82356112d681611272565b915060208301356112e681611272565b809150509250929050565b60006020828403121561130357600080fd5b5035919050565b60006020828403121561131c57600080fd5b5051919050565b60006020828403121561133557600080fd5b81516112b181611272565b60005b8381101561135b578181015183820152602001611343565b8381111561136a576000848401525b50505050565b60008151808452611388816020860160208601611340565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006110c06040830184611370565b6000602082840312156113fb57600080fd5b815180151581146112b157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8086168352808516602084015250606060408301526114446060830184611370565b95945050505050565b6000825161145f818460208701611340565b9190910192915050565b6020815260006112b1602083018461137056fea26469706673582212208096a2f599f35293c5f19ed2d249b14d665c7fe0b66fa63c5fe6cf35720e1b0a64736f6c634300080d0033",
|
|
359
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b506040516200177538038062001775833981016040819052620000349162000149565b6200003f816200005d565b6001600160a01b0381166080526200005662000088565b506200017b565b6001600160a01b03811662000085576040516342bcdf7f60e11b815260040160405180910390fd5b50565b600054610100900460ff1615620000f55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000147576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200015c57600080fd5b81516001600160a01b03811681146200017457600080fd5b9392505050565b6080516115d0620001a56000396000818161016d015281816105d3015261074801526115d06000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c8063715018a61161008c5780639a02c39a116100665780639a02c39a146101d0578063b4a0bdf3146101e3578063e30c397814610201578063f2fde38b1461021f57600080fd5b8063715018a6146101a257806379ba5097146101aa5780638da5cb5b146101b257600080fd5b8063485cc955116100bd578063485cc9551461015557806354a617ed1461016857806364aff9ec1461018f57600080fd5b80630e32cb86146100e457806314d35a63146100f95780631b9ce5751461010c575b600080fd5b6100f76100f2366004611371565b610232565b005b6100f7610107366004611371565b610246565b60fb5461012c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100f7610163366004611395565b610257565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100f761019d3660046113ce565b6103e8565b6100f76104a7565b6100f76104bb565b60335473ffffffffffffffffffffffffffffffffffffffff1661012c565b6100f76101de36600461140f565b610553565b60975473ffffffffffffffffffffffffffffffffffffffff1661012c565b60655473ffffffffffffffffffffffffffffffffffffffff1661012c565b6100f761022d366004611371565b6107cb565b61023a61087b565b610243816108e2565b50565b61024e61087b565b610243816109f1565b600054610100900460ff16158080156102775750600054600160ff909116105b806102915750303b158015610291575060005460ff166001145b6103085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561036657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61036f83610a88565b610377610b16565b610380826109f1565b80156103e357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6103f061087b565b6103f8610b9b565b61040183610bf4565b61040a82610bf4565b61041381610c41565b8261043573ffffffffffffffffffffffffffffffffffffffff82168484610c7b565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161049491815260200190565b60405180910390a3506103e3600160c955565b6104af61087b565b6104b96000610d0f565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461054a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016102ff565b61024381610d0f565b61055b610b9b565b6105996040518060400160405280601581526020017f66756e645856535661756c742875696e74323536290000000000000000000000815250610d40565b6105a281610c41565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106539190611428565b90508181101561068f576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54604080517f24f52bbf000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916324f52bbf9160048083019260209291908290030181865afa1580156106ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107239190611441565b905061072e81610bf4565b61076f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168285610c7b565b8073ffffffffffffffffffffffffffffffffffffffff167f15daab32014613a1f6e3f4500519c6ae9f7b172530faeac09157815d4f395381846040516107b791815260200190565b60405180910390a25050610243600160c955565b6107d361087b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561083660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff1633146104b95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ff565b73ffffffffffffffffffffffffffffffffffffffff811661096b5760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016102ff565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6109fa81610bf4565b60fb5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3bf9abe00ba7558b8031adf12ba72290510a001068b251cd4931a4199a78068a90600090a360fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16610b055760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b610b0d610e1d565b61024381610ea2565b600054610100900460ff16610b935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b9610f1f565b600260c95403610bed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ff565b600260c955565b73ffffffffffffffffffffffffffffffffffffffff8116610243576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610243576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103e3908490610f9c565b600160c955565b606580547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561024381611091565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab90610d9990339086906004016114d8565b602060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190611507565b905080610e19573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016102ff93929190611529565b5050565b600054610100900460ff16610e9a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b9611108565b600054610100900460ff1661023a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b600054610100900460ff16610d085760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6000610ffe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661118e9092919063ffffffff16565b905080516000148061101f57508080602001905181019061101f9190611507565b6103e35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ff565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111855760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b933610d0f565b606061119d84846000856111a5565b949350505050565b60608247101561121d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ff565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611246919061156b565b60006040518083038185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b5091509150611299878383876112a4565b979650505050505050565b606083156113205782516000036113195773ffffffffffffffffffffffffffffffffffffffff85163b6113195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ff565b508161119d565b61119d83838151156113355781518083602001fd5b8060405162461bcd60e51b81526004016102ff9190611587565b73ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b60006020828403121561138357600080fd5b813561138e8161134f565b9392505050565b600080604083850312156113a857600080fd5b82356113b38161134f565b915060208301356113c38161134f565b809150509250929050565b6000806000606084860312156113e357600080fd5b83356113ee8161134f565b925060208401356113fe8161134f565b929592945050506040919091013590565b60006020828403121561142157600080fd5b5035919050565b60006020828403121561143a57600080fd5b5051919050565b60006020828403121561145357600080fd5b815161138e8161134f565b60005b83811015611479578181015183820152602001611461565b83811115611488576000848401525b50505050565b600081518084526114a681602086016020860161145e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061119d604083018461148e565b60006020828403121561151957600080fd5b8151801515811461138e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611562606083018461148e565b95945050505050565b6000825161157d81846020870161145e565b9190910192915050565b60208152600061138e602083018461148e56fea264697066735822122086db21bb77db83ed7a594742e2ce93e5f4e6f5d391fde1aaf720a5089ff26dfb64736f6c634300080d0033",
|
|
360
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c8063715018a61161008c5780639a02c39a116100665780639a02c39a146101d0578063b4a0bdf3146101e3578063e30c397814610201578063f2fde38b1461021f57600080fd5b8063715018a6146101a257806379ba5097146101aa5780638da5cb5b146101b257600080fd5b8063485cc955116100bd578063485cc9551461015557806354a617ed1461016857806364aff9ec1461018f57600080fd5b80630e32cb86146100e457806314d35a63146100f95780631b9ce5751461010c575b600080fd5b6100f76100f2366004611371565b610232565b005b6100f7610107366004611371565b610246565b60fb5461012c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100f7610163366004611395565b610257565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100f761019d3660046113ce565b6103e8565b6100f76104a7565b6100f76104bb565b60335473ffffffffffffffffffffffffffffffffffffffff1661012c565b6100f76101de36600461140f565b610553565b60975473ffffffffffffffffffffffffffffffffffffffff1661012c565b60655473ffffffffffffffffffffffffffffffffffffffff1661012c565b6100f761022d366004611371565b6107cb565b61023a61087b565b610243816108e2565b50565b61024e61087b565b610243816109f1565b600054610100900460ff16158080156102775750600054600160ff909116105b806102915750303b158015610291575060005460ff166001145b6103085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561036657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61036f83610a88565b610377610b16565b610380826109f1565b80156103e357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6103f061087b565b6103f8610b9b565b61040183610bf4565b61040a82610bf4565b61041381610c41565b8261043573ffffffffffffffffffffffffffffffffffffffff82168484610c7b565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d58460405161049491815260200190565b60405180910390a3506103e3600160c955565b6104af61087b565b6104b96000610d0f565b565b606554339073ffffffffffffffffffffffffffffffffffffffff16811461054a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016102ff565b61024381610d0f565b61055b610b9b565b6105996040518060400160405280601581526020017f66756e645856535661756c742875696e74323536290000000000000000000000815250610d40565b6105a281610c41565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106539190611428565b90508181101561068f576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54604080517f24f52bbf000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916324f52bbf9160048083019260209291908290030181865afa1580156106ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107239190611441565b905061072e81610bf4565b61076f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168285610c7b565b8073ffffffffffffffffffffffffffffffffffffffff167f15daab32014613a1f6e3f4500519c6ae9f7b172530faeac09157815d4f395381846040516107b791815260200190565b60405180910390a25050610243600160c955565b6107d361087b565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561083660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60335473ffffffffffffffffffffffffffffffffffffffff1633146104b95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ff565b73ffffffffffffffffffffffffffffffffffffffff811661096b5760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016102ff565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0910160405180910390a15050565b6109fa81610bf4565b60fb5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3bf9abe00ba7558b8031adf12ba72290510a001068b251cd4931a4199a78068a90600090a360fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16610b055760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b610b0d610e1d565b61024381610ea2565b600054610100900460ff16610b935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b9610f1f565b600260c95403610bed5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ff565b600260c955565b73ffffffffffffffffffffffffffffffffffffffff8116610243576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610243576040517f9cf8540c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526103e3908490610f9c565b600160c955565b606580547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561024381611091565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab90610d9990339086906004016114d8565b602060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190611507565b905080610e19573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016102ff93929190611529565b5050565b600054610100900460ff16610e9a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b9611108565b600054610100900460ff1661023a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b600054610100900460ff16610d085760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6000610ffe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661118e9092919063ffffffff16565b905080516000148061101f57508080602001905181019061101f9190611507565b6103e35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ff565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111855760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ff565b6104b933610d0f565b606061119d84846000856111a5565b949350505050565b60608247101561121d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ff565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611246919061156b565b60006040518083038185875af1925050503d8060008114611283576040519150601f19603f3d011682016040523d82523d6000602084013e611288565b606091505b5091509150611299878383876112a4565b979650505050505050565b606083156113205782516000036113195773ffffffffffffffffffffffffffffffffffffffff85163b6113195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ff565b508161119d565b61119d83838151156113355781518083602001fd5b8060405162461bcd60e51b81526004016102ff9190611587565b73ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b60006020828403121561138357600080fd5b813561138e8161134f565b9392505050565b600080604083850312156113a857600080fd5b82356113b38161134f565b915060208301356113c38161134f565b809150509250929050565b6000806000606084860312156113e357600080fd5b83356113ee8161134f565b925060208401356113fe8161134f565b929592945050506040919091013590565b60006020828403121561142157600080fd5b5035919050565b60006020828403121561143a57600080fd5b5051919050565b60006020828403121561145357600080fd5b815161138e8161134f565b60005b83811015611479578181015183820152602001611461565b83811115611488576000848401525b50505050565b600081518084526114a681602086016020860161145e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061119d604083018461148e565b60006020828403121561151957600080fd5b8151801515811461138e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611562606083018461148e565b95945050505050565b6000825161157d81846020870161145e565b9190910192915050565b60208152600061138e602083018461148e56fea264697066735822122086db21bb77db83ed7a594742e2ce93e5f4e6f5d391fde1aaf720a5089ff26dfb64736f6c634300080d0033",
|
|
313
361
|
"linkReferences": {},
|
|
314
362
|
"deployedLinkReferences": {}
|
|
315
363
|
}
|
|
@@ -29,6 +29,9 @@ contract XVSVaultTreasury is AccessControlledV8, ReentrancyGuardUpgradeable {
|
|
|
29
29
|
/// @notice Emitted when funds transferred to XVSStore address
|
|
30
30
|
event FundsTransferredToXVSStore(address indexed xvsStore, uint256 amountMantissa);
|
|
31
31
|
|
|
32
|
+
/// @notice Event emitted when tokens are swept
|
|
33
|
+
event SweepToken(address indexed token, address indexed to, uint256 amount);
|
|
34
|
+
|
|
32
35
|
/// @notice Thrown when given input amount is zero
|
|
33
36
|
error InsufficientBalance();
|
|
34
37
|
|
|
@@ -83,6 +86,29 @@ contract XVSVaultTreasury is AccessControlledV8, ReentrancyGuardUpgradeable {
|
|
|
83
86
|
emit FundsTransferredToXVSStore(xvsStore, amountMantissa);
|
|
84
87
|
}
|
|
85
88
|
|
|
89
|
+
/// @notice Function to sweep tokens from the contract
|
|
90
|
+
/// @param tokenAddress Address of the asset(token)
|
|
91
|
+
/// @param to Address to which assets will be transferred
|
|
92
|
+
/// @param amount Amount need to sweep from the contract
|
|
93
|
+
/// @custom:event Emits SweepToken event on success
|
|
94
|
+
/// @custom:error ZeroAddressNotAllowed is thrown when tokenAddress/to address is zero
|
|
95
|
+
/// @custom:error ZeroValueNotAllowed is thrown when amount is zero
|
|
96
|
+
/// @custom:access Only Governance
|
|
97
|
+
function sweepToken(
|
|
98
|
+
address tokenAddress,
|
|
99
|
+
address to,
|
|
100
|
+
uint256 amount
|
|
101
|
+
) external onlyOwner nonReentrant {
|
|
102
|
+
ensureNonzeroAddress(tokenAddress);
|
|
103
|
+
ensureNonzeroAddress(to);
|
|
104
|
+
ensureNonzeroValue(amount);
|
|
105
|
+
|
|
106
|
+
IERC20Upgradeable token = IERC20Upgradeable(tokenAddress);
|
|
107
|
+
token.safeTransfer(to, amount);
|
|
108
|
+
|
|
109
|
+
emit SweepToken(tokenAddress, to, amount);
|
|
110
|
+
}
|
|
111
|
+
|
|
86
112
|
/// @dev XVS vault setter
|
|
87
113
|
/// @param xvsVault_ Address of the XVS vault
|
|
88
114
|
/// @custom:event XVSVaultUpdated emits on success
|