From 20f3b13fc256332c8f864c1f3baf41a1f53d3784 Mon Sep 17 00:00:00 2001 From: Ewan Sheldon Date: Fri, 20 Dec 2024 18:32:39 +0100 Subject: [PATCH] remove encoding + decoding of collateral value from api response in autoredemption --- contracts/AutoRedemption.sol | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/contracts/AutoRedemption.sol b/contracts/AutoRedemption.sol index 0b6fda3..20a5519 100644 --- a/contracts/AutoRedemption.sol +++ b/contracts/AutoRedemption.sol @@ -36,7 +36,7 @@ contract AutoRedemption is AutomationCompatibleInterface, FunctionsClient, Confi mapping(address => bytes) swapPaths; string private constant source = - "const { ethers } = await import('npm:ethers@6.10.0'); const apiResponse = await Functions.makeHttpRequest({ url: 'https://smart-vault-api.thestandard.io/redemption' }); if (apiResponse.error) { throw Error('Request failed'); } const { data } = apiResponse; const encoded = ethers.AbiCoder.defaultAbiCoder().encode(['uint256', 'address', 'uint256'], [data.tokenID, data.collateral, data.value]); return ethers.getBytes(encoded)"; + "const { ethers } = await import('npm:ethers@6.10.0'); const apiResponse = await Functions.makeHttpRequest({ url: 'https://smart-vault-api.thestandard.io/redemption' }); if (apiResponse.error) { throw Error('Request failed'); } const { data } = apiResponse; const encoded = ethers.AbiCoder.defaultAbiCoder().encode(['uint256', 'address'], [data.tokenID, data.collateral]); return ethers.getBytes(encoded)"; constructor( address _smartVaultManager, @@ -136,8 +136,7 @@ contract AutoRedemption is AutomationCompatibleInterface, FunctionsClient, Confi if (requestId != lastRequestId) revert("wrong request"); if (redemptionRequired()) { uint256 _USDsTargetAmount = calculateUSDsToTargetPrice(); - (uint256 _tokenID, address _token, uint256 _estimatedCollateralValueUSD) = - abi.decode(response, (uint256, address, uint256)); + (uint256 _tokenID, address _token) = abi.decode(response, (uint256, address)); bytes memory _collateralToUSDsPath = swapPaths[_token]; ISmartVaultManager.SmartVaultData memory _vaultData = ISmartVaultManager(smartVaultManager).vaultData(_tokenID); if (_USDsTargetAmount > _vaultData.status.minted) _USDsTargetAmount = _vaultData.status.minted;