diff options
author | Jacob Evans <jacob@dekz.net> | 2018-08-13 10:23:29 +0800 |
---|---|---|
committer | Jacob Evans <jacob@dekz.net> | 2018-08-15 11:06:32 +0800 |
commit | 622509c508272790e3e69c09cf1a1f9696815147 (patch) | |
tree | 0a86370cc0e02a2ede06e48baa5ad123d0617276 /packages/contracts/test/exchange | |
parent | f9f232f5d9527926cd64027f69491b0bc6e58894 (diff) | |
download | dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar.gz dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar.bz2 dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar.lz dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar.xz dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.tar.zst dexon-sol-tools-622509c508272790e3e69c09cf1a1f9696815147.zip |
[Order-utils] Order is valid when maker amount is very small
Previously our min fillable calculation would throw a rounding error
when encountering a valid order (with a small maker amount). This was
inconsistent with the on-chain logic which allowed this order to be
filled.
Diffstat (limited to 'packages/contracts/test/exchange')
-rw-r--r-- | packages/contracts/test/exchange/fill_order.ts | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/contracts/test/exchange/fill_order.ts b/packages/contracts/test/exchange/fill_order.ts index 1494fe093..e79e2239e 100644 --- a/packages/contracts/test/exchange/fill_order.ts +++ b/packages/contracts/test/exchange/fill_order.ts @@ -104,6 +104,17 @@ describe('FillOrder Tests', () => { }; await fillOrderCombinatorialUtils.testFillOrderScenarioAsync(provider, fillScenario); }); + it('should transfer the correct amounts when makerAssetAmount < takerAssetAmount with zero decimals', async () => { + const fillScenario = { + ...defaultFillScenario, + orderScenario: { + ...defaultFillScenario.orderScenario, + makerAssetAmountScenario: OrderAssetAmountScenario.Small, + makerAssetDataScenario: AssetDataScenario.ERC20ZeroDecimals, + }, + }; + await fillOrderCombinatorialUtils.testFillOrderScenarioAsync(provider, fillScenario); + }); it('should transfer the correct amounts when taker is specified and order is claimed by taker', async () => { const fillScenario = { ...defaultFillScenario, |