diff --git a/dist/services/pricer.service.js b/dist/services/pricer.service.js index 0d81872..4b40ede 100644 --- a/dist/services/pricer.service.js +++ b/dist/services/pricer.service.js @@ -197,10 +197,10 @@ class Pricer { let maxProfitRateBaselineBN; try { minProfitRateBaseline = (parseFloat(strategy.minProfitRate.toString()) * parseFloat(balance.toString())) / 100; - // BigNumber fails for fixed point numbers - minProfitRateBaseline = Math.floor(minProfitRateBaseline); maxProfitRateBaseline = (parseFloat(strategy.maxShareOfMyBalancePerOrder.toString()) * parseFloat(balance.toString())) / 100; + // BigNumber fails for fixed point numbers + minProfitRateBaseline = Math.floor(minProfitRateBaseline); maxProfitRateBaseline = Math.ceil(maxProfitRateBaseline); maxProfitRateBaselineBN = ethers_1.BigNumber.from(this.floatToBigIntString(maxProfitRateBaseline)); minProfitRateBaselineBN = ethers_1.BigNumber.from(this.floatToBigIntString(minProfitRateBaseline)); @@ -357,14 +357,14 @@ class Pricer { if (!this.ethersProvider && !fromChainProvider) { throw new Error('No provider URL for the source network was provided.'); } - // Retrieve the pricing information for converting fromAsset to toAsset. + // FIXME: this (often?) returns zero when fromAsset=DOT, toAsset=TRN, making (most?) erc20-erc20 transfers not possible. + // But maybe it's only for certain networks. const pricing = yield this.retrieveAssetPricing(fromAsset, toAsset, fromChain, toChain); // Convert the maxReward from its Wei representation to the equivalent amount in toAsset, considering the current market price. const maxRewardInToAsset = maxRewardWei.mul(pricing.priceAinB).div(ethers_1.BigNumber.from(10).pow(18)); if (!this.ethersProvider) { this.ethersProvider = new ethers_1.ethers.providers.JsonRpcProvider(fromChainProvider); } - // Estimate the gas price on the source network. const estGasPriceOnNativeInWei = yield this.ethersProvider.getGasPrice(); // Calculate the transaction cost in the fromAsset. const transactionCostData = yield this.retrieveCostInAsset(fromAsset, fromChain, toAsset, toChain, estGasPriceOnNativeInWei, ethers_1.ethers.constants.AddressZero); diff --git a/dist/services/pricer.service.js.map b/dist/services/pricer.service.js.map index d77eab0..baa94fc 100644 --- a/dist/services/pricer.service.js.map +++ b/dist/services/pricer.service.js.map @@ -1 +1 @@ -{"version":3,"file":"pricer.service.js","sourceRoot":"","sources":["../../src/services/pricer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"pricer.service.js","sourceRoot":"","sources":["../../src/services/pricer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/services/pricer.service.ts b/src/services/pricer.service.ts index 297650f..9cf7658 100644 --- a/src/services/pricer.service.ts +++ b/src/services/pricer.service.ts @@ -273,11 +273,10 @@ export class Pricer { try { minProfitRateBaseline = (parseFloat(strategy.minProfitRate.toString()) * parseFloat(balance.toString())) / 100 - // BigNumber fails for fixed point numbers - minProfitRateBaseline = Math.floor(minProfitRateBaseline) - maxProfitRateBaseline = (parseFloat(strategy.maxShareOfMyBalancePerOrder.toString()) * parseFloat(balance.toString())) / 100 + // BigNumber fails for fixed point numbers + minProfitRateBaseline = Math.floor(minProfitRateBaseline) maxProfitRateBaseline = Math.ceil(maxProfitRateBaseline) maxProfitRateBaselineBN = BigNumber.from(this.floatToBigIntString(maxProfitRateBaseline)) @@ -482,7 +481,8 @@ export class Pricer { if (!this.ethersProvider && !fromChainProvider) { throw new Error('No provider URL for the source network was provided.') } - // Retrieve the pricing information for converting fromAsset to toAsset. + // FIXME: this (often?) returns zero when fromAsset=DOT, toAsset=TRN, making (most?) erc20-erc20 transfers not possible. + // But maybe it's only for certain networks. const pricing = await this.retrieveAssetPricing(fromAsset, toAsset, fromChain, toChain) // Convert the maxReward from its Wei representation to the equivalent amount in toAsset, considering the current market price. @@ -492,7 +492,6 @@ export class Pricer { this.ethersProvider = new ethers.providers.JsonRpcProvider(fromChainProvider) } - // Estimate the gas price on the source network. const estGasPriceOnNativeInWei = await this.ethersProvider.getGasPrice() // Calculate the transaction cost in the fromAsset. diff --git a/test/services/pricer-service.test.ts b/test/services/pricer-service.test.ts index 42c2c89..391ad3d 100644 --- a/test/services/pricer-service.test.ts +++ b/test/services/pricer-service.test.ts @@ -6,6 +6,7 @@ import { CostResult, networkNameCircuitToPriceProvider, NetworkNameOnCircuit, + NetworkNameOnPriceProvider, OrderArbitrageStrategy, OverpayRatio, Pricer, @@ -519,13 +520,58 @@ describe('Pricer', () => { priceBInUsd: '0.1', } - // Evaluate the deal const result = pricer.evaluateDeal(myBalance, costOfExecutionOnTarget, strategy, order, pricing) - // Assertions expect(result.isProfitable).to.be.false expect(result.profit.toString()).to.equal('0') expect(result.loss.toString()).to.equal('97') }) + + it.only('should evaluate a non-profitable deal from realistic values', () => { + const balance = BigNumber.from('26335629951215233423') + const costOnTarget = { + costInWei: BigNumber.from('63000010584000'), + costInEth: '0.000063000010584000', + costInUsd: 0.000063000010584, + costInAsset: BigNumber.from('20444946515'), + asset: 'eth', + } + const strategy = { + minProfitPerOrder: BigNumber.from('10000000000000'), + minProfitRate: 0.00001, + maxAmountPerOrder: BigNumber.from('1000000000000000000'), + minAmountPerOrder: BigNumber.from('100000000000000'), + maxShareOfMyBalancePerOrder: 25, + } + const order = { + id: '0x49415234575cd97e98be39fe4e61c787b19cb136482b1e0c7b02fd0b81b1c88d', + asset: 0, + assetAddress: '0x0000000000000000000000000000000000000000', + assetNative: true, + targetAccount: '0xc447247a786f6ff2e2e6e55d31214bafe2c630b4', + amount: BigNumber.from('238134552669580'), + rewardAsset: '0xfF3f18A66bB4Bd68079b93f70F7F7bE752986Ce8', + insurance: BigNumber.from('0'), + maxReward: BigNumber.from('733652187564595749'), + nonce: 8788344, + destination: 'opsp', + source: 'bssp', + txHash: '0xbd4e0c766ae689996292e89bd48031df39b2fbf563e612410c3009adbe2cf1d6', + } as Order + const pricing = { + assetA: 'eth', + assetB: 'trn', + priceAinB: BigNumber.from('3081446583312169400000'), + priceAInUsd: '3081.4465833121694', + priceBInUsd: '0', + } + + const result = pricer.evaluateDeal(balance, costOnTarget, strategy, order, pricing) + + expect(result.isProfitable).to.be.false + expect(result.profit.toString()).to.equal('0') + console.log(result.loss.toString()) + // expect(result.loss.toString()).to.equal('97') + }) }) describe('assessDealForPublication', () => { @@ -921,7 +967,6 @@ describe('Pricer', () => { const toChain = 'eth' const maxReward = ethers.utils.parseEther('1') // 1 ETH - // Mock the price fetch and gas estimation pricer.receiveAssetPriceWithCache = async () => BigNumber.from(ethers.utils.parseUnits('1', 'ether')) // Simplified 1:1 conversion for simplicity pricer.retrieveCostInAsset = async () => ({ costInWei: ethers.utils.parseUnits('21000', 'wei'), // Mocked gas used @@ -931,7 +976,6 @@ describe('Pricer', () => { asset: fromAsset, }) - // Action const estimatedReceivedAmount = await pricer.estimateReceivedAmount( fromAsset, toAsset, @@ -941,12 +985,10 @@ describe('Pricer', () => { maxReward, ) - // Assert expect(ethers.utils.formatEther(estimatedReceivedAmount)).to.equal('0.99') }) it('should correctly estimate the received amount for different assets across chains', async () => { - // Setup const fromAsset = SupportedAssetPriceProvider.ETH // Sending ETH const toAsset = SupportedAssetPriceProvider.DOT // Receiving DOT const fromChain = 'eth' @@ -963,7 +1005,6 @@ describe('Pricer', () => { asset: fromAsset, }) - // Action const estimatedReceivedAmount = await pricer.estimateReceivedAmount( fromAsset, toAsset, @@ -973,11 +1014,31 @@ describe('Pricer', () => { maxReward, ) - // Assert const expectedAmount = ethers.utils.parseUnits('0.99', 'ether') expect(estimatedReceivedAmount.toString()).to.equal(expectedAmount.toString()) }) + it.only('should correctly estimate received amount for a realistic scenario', async () => { + const fromAsset = SupportedAssetPriceProvider.DOT + const toAsset = SupportedAssetPriceProvider.TRN + const fromChain: NetworkNameOnPriceProvider = 'optimism' + const fromChainProvider = + 'https://wandering-patient-patron.optimism-sepolia.quiknode.pro/007f4491c04820fa756d0539c4916579eec3d509/' + const toChain: NetworkNameOnPriceProvider = 'base' + const amountWei = BigNumber.from('239562101995192') + const maxRewardWei = BigNumber.from('289331314549183') + + const estimatedReceivedAmount = await pricer.estimateReceivedAmount( + fromAsset, + toAsset, + fromChain, + fromChainProvider, + toChain, + amountWei, + ) + console.log(estimatedReceivedAmount.toString()) + }) + // describe('conversion tests', function () { // let pricer: Pricer // let mockJsonRpcProvider: any