fix(TickLib): eslint disable no namespace (#1591) #600
GitHub Actions / Test Report
succeeded
Nov 14, 2023 in 0s
Test Report ✅
✅ coverage-tests-report.json
366 tests were completed in 170s with 366 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test/integration/cleaner.integration.test.ts | 4✅ | 2s | ||
test/integration/mangrove.integration.test.ts | 4✅ | 10s | ||
test/integration/mangroveToyENS.integration.test.ts | 2✅ | 55s | ||
test/integration/market.integration.test.ts | 48✅ | 9s | ||
test/integration/mgvtoken.integration.test.ts | 12✅ | 477ms | ||
test/integration/offermaker.integration.test.ts | 16✅ | 2s | ||
test/integration/restingOrder.integration.test.ts | 8✅ | 3s | ||
test/integration/semibook.integration.test.ts | 44✅ | 10s | ||
test/unit/configuration.unit.test.ts | 4✅ | 3ms | ||
test/unit/densityLib.unit.test.ts | 5✅ | 233ms | ||
test/unit/liquidityProvider.unit.test.ts | 23✅ | 122ms | ||
test/unit/market.unit.test.ts | 21✅ | 62ms | ||
test/unit/prettyPrint.unit.test.ts | 3✅ | 39ms | ||
test/unit/semibook.unit.test.ts | 27✅ | 7ms | ||
test/unit/tickLib.unit.test.ts | 43✅ | 111ms | ||
test/unit/tickPriceHelper.unit.test.ts | 66✅ | 497ms | ||
test/unit/trade.unit.test.ts | 24✅ | 104ms | ||
test/unit/tradeEventManagement.unit.test.ts | 8✅ | 42ms | ||
test/unit/unitCalculations.unit.test.ts | 4✅ | 0ms |
✅ test/integration/cleaner.integration.test.ts
Cleaner integration tests suite
✅ clean asks book, offer is successfully taken, therefore cannot clean it
✅ clean failing offers collects bounty
✅ clean using different takers funds
✅ clean via callStatic for failing offers returns bounty
✅ test/integration/mangrove.integration.test.ts
Mangrove integration tests suite getMarkets
✅ gets correct market info and updates with cashness
✅ has reverse lookup of address
✅ updates with mgvReader
Mangrove integration tests suite node utils
✅ can deal a test token
✅ test/integration/mangroveToyENS.integration.test.ts
Mangrove functionality watch local addresses
✅ can start watching after ToyENS has been created
✅ can start watching before ToyENS has been created
✅ test/integration/market.integration.test.ts
Market integration tests suite
✅ buying uses best price, with forceRoutingToMangroveOrder:false
✅ buying uses best price, with no forceRoutingToMangroveOrder
✅ crudely simulates market buy
✅ get minimum volume
✅ getOfferProvision agrees with calculateOfferProvision for asks with gasprice=100
✅ getOfferProvision agrees with calculateOfferProvision for asks with gasprice=undefined
✅ getOfferProvision agrees with calculateOfferProvision for bids with gasprice=100
✅ getOfferProvision agrees with calculateOfferProvision for bids with gasprice=undefined
✅ gets config
✅ gets OB
✅ max gasreq is added to gas estimates
✅ max gasreq returns a BigNumber, even if the book is empty
✅ mgvIntegrationTestUtils can post offers for asks
✅ mgvIntegrationTestUtils can post offers for bids
✅ returns correct data when taking offers
✅ selling uses best price
✅ subscribes
✅ updates OB
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=42 and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=42 and gasLimit=undefined
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=7000000 and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=7000000 and gasLimit=undefined
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=undefined and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=false with gasLowerBound=undefined and gasLimit=undefined
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=42 and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=42 and gasLimit=undefined
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=7000000 and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=7000000 and gasLimit=undefined
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=undefined and gasLimit=6500000
✅ uses expected gasLimit and forceRoutingToMangroveOrder=true with gasLowerBound=undefined and gasLimit=undefined
Market integration tests suite estimateVolumeTest
✅ return estimate value for buy
✅ return estimate value for sell
✅ return estimate value for sell
Market integration tests suite getMissingProvision
✅ can miss some provision
Market integration tests suite getOutboundInbound
✅ returns base as inbound and quote as outbound, when bids
✅ returns base as outbound and quote as inbound, when asks
✅ returns this.base as inbound and this.quote as outbound, when bids
✅ returns this.base as outbound and this.quote as inbound, when asks
Market integration tests suite isActive
✅ returns false, when asks and bids both not active
✅ returns false, when asks is active and bids is not active
✅ returns false, when asks is not active and bids is active
✅ returns true, when asks and bids are active
Market integration tests suite isLive
✅ returns false, when gives is less than 1
✅ returns true, when gives is positive
Market integration tests suite offerInfo
✅ return offer from ba semi book
✅ returns asks offer info
✅ returns bids offer info
Market integration tests suite Readonly mode
✅ can read book updates in readonly mode
✅ test/integration/mgvtoken.integration.test.ts
MGV Token integration tests suite
✅ allowanceInfinite is false if allowance is 2^200
✅ allowanceInfinite is true if allowance is 2^200 + 1
✅ allowanceInfinite is true if infinite allowance
✅ approve can be set to 0
✅ approve sets approved amount
✅ approveIfHigher sets when higher but not when lower
✅ approveIfNotInfinite creates approval TX only if finite
✅ converts
✅ get token from address
✅ has checksum addresses
✅ increaseApproval increases except when at max
✅ reads allowance and sets
✅ test/integration/offermaker.integration.test.ts
OfferMaker integration test suite
✅ checks allowance for EOA provider
✅ checks allowance for onchain logic
✅ checks provision for EOA provider
✅ checks provision for onchain logic
✅ checks provision for onchain logic by calling provisionOf
✅ gets missing provision for eoa logic
✅ gets missing provision for onchain logic
OfferMaker integration test suite After setup
✅ approves signer for base transfer
✅ cancels offer
✅ fails, when trying to cancel a non-existing offer
✅ fails, when trying to create an offer on a closed market
✅ fails, when trying to push new offer without sufficient provision
✅ fails, when trying to update on a closed market
✅ OfferMaker updates offer
✅ pushes a new offer
✅ withdraws
✅ test/integration/restingOrder.integration.test.ts
RestingOrder Resting order integration tests suite
✅ no resting order params, with forceRoutingToMangroveOrder:true
✅ no resting order params, with forceRoutingToMangroveOrder:true
✅ resting order with deadline and custom gasreq
✅ resting order, using existing offer
✅ simple resting order, with forceRoutingToMangroveOrder:false
✅ simple resting order, with forceRoutingToMangroveOrder:true
✅ simple resting order, with no forceRoutingToMangroveOrder
RestingOrder RestingOrder connectivity
✅ deploys and connects
✅ test/integration/semibook.integration.test.ts
Semibook integration tests suite estimateVolume estimateVolume({to: buy}) - cache tests
✅ returns all given as residue when cache and offer list is empty
✅ returns correct estimate and residue when cache is empty and offer list is not
✅ returns correct estimate and residue when cache is partial and insufficient while offer list is sufficient
✅ returns correct estimate and residue when cache is partial and offer list is insufficient
Semibook integration tests suite estimateVolume estimateVolume({to: buy}) - calculation tests
✅ estimates all available volume when offer list has 1 offer with insufficient volume
✅ estimates all available volume when offer list has multiple offers with insufficient volume
✅ estimates volume and no residue when offer list has 1 offer with sufficient volume
✅ estimates volume and no residue when offer list has multiple offers which together have sufficient volume
✅ returns zero when given is zero
Semibook integration tests suite estimateVolume estimateVolume({to: sell}) - cache tests
✅ returns all given as residue when cache and offer list is empty
✅ returns correct estimate and residue when cache is empty and offer list is not
✅ returns correct estimate and residue when cache is partial and insufficient while offer list is sufficient
✅ returns correct estimate and residue when cache is partial and offer list is insufficient
Semibook integration tests suite estimateVolume estimateVolume({to: sell}) - calculation tests
✅ estimates all available volume when offer list has 1 offer with insufficient volume
✅ estimates all available volume when offer list has multiple offers with insufficient volume
✅ estimates volume and no residue when offer list has 1 offer with sufficient volume
✅ estimates volume and no residue when offer list has multiple offers which together have sufficient volume
✅ returns zero when given is zero
Semibook integration tests suite getBestInCache
✅ returns offer id 1, because cache gets synced even though market is created before offer
✅ returns offer id 1, because market made after offer
Semibook integration tests suite getConfig
✅ returns the config of a block as Mangrove.LocalConfig, when given blocknumber
✅ returns the config of a block, when given blocknumber
✅ returns the config of the latest block as Mangrove.LocalConfig, when given no blocknumber
✅ returns the config of the latest block as Mangrove.RawConfig, when given no blocknumber
Semibook integration tests suite getMaxGasReq
✅ finds max gasreq on both asks and bids side of market
✅ returns `undefined` when the semibook is empty
Semibook integration tests suite getMinimumVolume
✅ gets 1 unit if density is 0
✅ gets minimum volume
Semibook integration tests suite initialization options Option.desiredPrice
✅ does not fail if offer list is empty
✅ fetches all offers if all have a better price
✅ fetches only one chunk if no offers have a better price
✅ stops fetching when a chunk with a worse price has been fetched
Semibook integration tests suite initialization options Option.desiredVolume {to: buy}
✅ does not fail if offer list is empty
✅ fetches all offers if offer list has insufficient volume
✅ fetches only one chunk if it has sufficient volume
✅ stops fetching when sufficient volume has been fetched
Semibook integration tests suite initialization options Option.desiredVolume {to: sell}
✅ does not fail if offer list is empty
✅ fetches all offers if offer list has insufficient volume
✅ fetches only one chunk if it has sufficient volume
✅ stops fetching when sufficient volume has been fetched
Semibook integration tests suite offerInfo
✅ returns offer from cache, when offer is in cache
✅ returns offer from cache, when offer is in cache
✅ returns offer from contract, when offer is not in cache
✅ returns offer from contract, when offer is not in cache
✅ test/unit/configuration.unit.test.ts
Configuration unit tests suite
✅ Adding token config does not affect existing config
✅ Can add token config of unknown token
✅ can read mangroveOrder config
✅ Reset of configuration reverts additions and changes
✅ test/unit/densityLib.unit.test.ts
Density unit test suite
✅ test_density_convert_auto
✅ test_density_manual
✅ test_density_multiply_auto
✅ test_multiply_manual
✅ test_paramsTo96X32
✅ test/unit/liquidityProvider.unit.test.ts
Liquidity provider unit tests suite
✅ normalizeOfferParams, ask tick = 0 price = 10 different decimals
✅ normalizeOfferParams, ask tick = 0 price = 10 different decimals
✅ normalizeOfferParams, ask tick = 0 same decimals
✅ normalizeOfferParams, ask with tick = -1 different decimals
✅ normalizeOfferParams, ask with tick = -1 different decimals
✅ normalizeOfferParams, ask with tick = -1 same decimals
✅ normalizeOfferParams, ask with tick = -1 same decimals
✅ normalizeOfferParams, ask with tick = 1 different decimals
✅ normalizeOfferParams, ask with tick = 1 different decimals
✅ normalizeOfferParams, ask with tick = 1 same decimals
✅ normalizeOfferParams, ask with tick = 1 same decimals
✅ normalizeOfferParams, bid tick = 0 different decimals
✅ normalizeOfferParams, bid tick = 0 same decimals
✅ normalizeOfferParams, with big gives and wants, as asks
✅ normalizeOfferParams, with gives and wants, as asks
✅ normalizeOfferParams, with gives and wants, as bids
✅ normalizeOfferParams, with gives, tick, asks and funding
✅ normalizeOfferParams, with gives, tick, bids and no funding
✅ normalizeOfferParams, with non-equal decimals gives, tick, bids and no funding
✅ normalizeOfferParams, with volume and price 1, as asks
✅ normalizeOfferParams, with volume and price 1, as bids
✅ normalizeOfferParams, with volume and price 2, as asks
✅ normalizeOfferParams, with volume and price 2, as bids
✅ test/unit/market.unit.test.ts
Market unit tests suite getBaseQuoteVolumes
✅ returns gives as baseVolume and wants as quoteVolume
✅ returns gives as quoteVolume and wants as baseVolume
Market unit tests suite getDisplayDecimalsForPriceDifferences
✅ returns 7 decimals when difference is 1e-7
✅ returns 7 decimals when difference is 9e-7
✅ returns 7 decimals when difference is 9e-7
✅ returns no decimals for empty list
✅ returns no decimals for list with offers with same price
✅ returns no decimals for list with one offer
✅ returns no decimals when price differences are integers
✅ returns one decimal when difference is -0.1
✅ returns one decimal when difference is -0.9999999
✅ returns one decimal when difference is 0.1
✅ returns one decimal when difference is 0.9999999
✅ returns the decimals for the first difference when that is smallest
✅ returns the decimals for the last difference when that is smallest
Market unit tests suite getGivesForPrice
✅ returns wants divided by price
✅ returns wants multiplied by price
Market unit tests suite getGivesWantsForVolumeAtPrice
✅ return gives = volume && wants = volume*price for undefined type
✅ return gives = volume*price && wants = volume for undefined type
Market unit tests suite getWantsForPrice
✅ returns gives multiplied by price
✅ returns wants divided by price
✅ test/unit/prettyPrint.unit.test.ts
PrettyPrint Unit test suite consoleOffers
✅ should use default filter
✅ should use given filter
PrettyPrint Unit test suite prettyPrint
✅ prints the offers using the given filter
✅ test/unit/semibook.unit.test.ts
Semibook unit test suite getIsVolumeDesiredForAsks
✅ returns false, when desiredVolume is undefined
✅ returns false, when what is base and to is sell
✅ returns false, when what is quote and to is buy
✅ returns true, when what is base and to is buy
✅ returns true, when what is quote and to is sell
Semibook unit test suite getIsVolumeDesiredForBids
✅ returns false, when desiredVolume is undefined
✅ returns false, when what is base and to is buy
✅ returns false, when what is quote and to is sell
✅ returns true, when what is base and to is sell
✅ returns true, when what is quote and to is buy
Semibook unit test suite getOfferFromCacheOrFail
✅ returns offer when offer is in cache
✅ throws error when offer is not in cache
Semibook unit test suite insertOffer
✅ inserting offer exceeds maxOffer size, offer is not worst offer
✅ inserting offer exceeds maxOffer size, offer is worst offer
✅ inserts offer in empty book
✅ inserts offer in non empty book, offer is at a better tick, tick already exist
✅ inserts offer in non empty book, offer is at worse tick, tick already exist
✅ inserts offer in non empty book, offer is better
✅ inserts offer in non empty book, offer is in the middle
✅ inserts offer in non empty book, offer is in the middle at an already existing tick
✅ inserts offer in non empty book, offer is worse
Semibook unit test suite removeOffer
✅ removes last offer in book
✅ removes offer from empty book
✅ removes offer from non empty book, offer is best offer, does not have others at same tick
✅ removes offer from non empty book, offer is best offer, has others at same tick
✅ removes offer from non empty book, offer is worst offer, has others at same tick
✅ removes offer from non empty book, offer is worst offer, has others at same tick
✅ test/unit/tickLib.unit.test.ts
TickLib unit test suite divExpUp
✅ a==0 then rem == 0, should return (a >> e) + rem
✅ e<256 and a > 0
✅ e>255 then rem == 1, should return (a >> e) + rem
TickLib unit test suite floatLt
✅ returns false when exp_a < exp_b
✅ returns false when exp_a == exp_b and mantissa_a >= mantissa_b
✅ returns true when exp_a == exp_b and mantissa_a < mantissa_b
✅ returns true when exp_a > exp_b and mantissa_a < mantissa_b
TickLib unit test suite getTickFromPrice
✅ should return the correct tick for price, MAX_TICK
TickLib unit test suite inboundFromOutbound
✅ should return the correct value of inbound from outbound based on tick
TickLib unit test suite inboundFromOutboundUp
✅ should return the correct rounded up value of inbound from outbound based on tick
TickLib unit test suite inRange
✅ should return false if tick is outside the range
✅ should return true if tick is within the range
TickLib unit test suite nonNormalizedPriceFromTick
✅ Test with maximum tick
✅ Test with minimum tick
✅ Test with negative tick
✅ Test with positive tick
✅ Test with tick exceeding MAX_TICK
TickLib unit test suite normalizePrice
✅ should handle negative shift correctly
✅ should handle positive shift correctly
✅ should throw an error if exp is less than 0 after normalization
✅ should throw an error if mantissa is zero
TickLib unit test suite outboundFromInbound
✅ should return the correct value of outbound from inbound based on tick
TickLib unit test suite outboundFromInboundUp
✅ should return the correct rounded up value of outbound from inbound based on tick
TickLib unit test suite priceFromTick
✅ should return the correct price for tick, 0
✅ should return the correct price for tick, 1
✅ should return the correct price for tick, MAX_TICK
✅ should return the correct price for tick, MIN_TICK
TickLib unit test suite priceFromVolumes
✅ should return the correct mantissa and exp for non-zero inboundAmt and outboundAmt
✅ should return the correct mantissa and exp when inboundAmt is 0
✅ should return the correct mantissa and exp when outboundAmt is 0
TickLib unit test suite priceToMantissaAndExponent
✅ should return the correct mantissa and exponent for price, MAX_TICK
✅ should return the correct mantissa and exponent for price, MIN_TICK
✅ should return the correct mantissa and exponent for price, tick = -1
✅ should return the correct mantissa and exponent for price, tick = -1000
✅ should return the correct mantissa and exponent for price, tick = 0
✅ should return the correct mantissa and exponent for price, tick = 1
✅ should return the correct mantissa and exponent for price, tick = 1000
TickLib unit test suite ratioFromTick
✅ test_ratioFromTick
TickLib unit test suite tickFromNormalizedPrice
✅ should return the correct tick for normalizedPrice
✅ should revert with mgv/tickFromRatio/tooHigh
✅ should revert with mgv/tickFromRatio/tooLow
TickLib unit test suite tickFromRatio
✅ should return the correct tick for price
TickLib unit test suite tickFromVolumes
✅ should return tick
✅ test/unit/tickPriceHelper.unit.test.ts
TickPriceHelper unit tests suite
✅ manual calculation
✅ manual calculation inverse decimals
TickPriceHelper unit tests suite inboundFromOutbound
✅ inboundFromOutbound ba=asks base=1 quote=2 price=2
✅ inboundFromOutbound ba=asks base=1 quote=2 price=2
✅ inboundFromOutbound ba=asks base=2 quote=1 price=0.5
✅ inboundFromOutbound ba=asks base=2 quote=1 price=0.5
✅ inboundFromOutbound ba=asks base=6 quote=3 price=0.5
✅ inboundFromOutbound ba=asks base=6 quote=3 price=0.5
✅ inboundFromOutbound ba=bids base=1 quote=2 price=2
✅ inboundFromOutbound ba=bids base=1 quote=2 price=2
✅ inboundFromOutbound ba=bids base=2 quote=1 price=0.5
✅ inboundFromOutbound ba=bids base=2 quote=1 price=0.5
✅ inboundFromOutbound ba=bids base=6 quote=3 price=0.5
✅ inboundFromOutbound ba=bids base=6 quote=3 price=0.5
✅ outboundFromInbound ba=asks base=1 quote=2 price=2
✅ outboundFromInbound ba=asks base=1 quote=2 price=2
✅ outboundFromInbound ba=asks base=2 quote=1 price=0.5
✅ outboundFromInbound ba=asks base=2 quote=1 price=0.5
✅ outboundFromInbound ba=asks base=6 quote=3 price=0.5
✅ outboundFromInbound ba=asks base=6 quote=3 price=0.5
✅ outboundFromInbound ba=bids base=1 quote=2 price=2
✅ outboundFromInbound ba=bids base=1 quote=2 price=2
✅ outboundFromInbound ba=bids base=2 quote=1 price=0.5
✅ outboundFromInbound ba=bids base=2 quote=1 price=0.5
✅ outboundFromInbound ba=bids base=6 quote=3 price=0.5
✅ outboundFromInbound ba=bids base=6 quote=3 price=0.5
TickPriceHelper unit tests suite priceFromTick
✅ returns price=1 for tick 0 with base decimals: 6, quote decimals: 6 (asks semibook)
✅ returns price=1 for tick 0 with base decimals: 6, quote decimals: 6 (bids semibook)
✅ returns price=1.00000396574 for tick 414486 with base decimals: 18, quote decimals: 0 (bids semibook)
✅ returns price=1.000096 for tick -414487 with base decimals: 0, quote decimals: 18 (bids semibook)
✅ returns price=100 for tick 0 with base decimals: 2, quote decimals: 0 (asks semibook)
✅ returns price=100 for tick 0 with base decimals: 2, quote decimals: 0 (bids semibook)
✅ returns price=1838.53469156 for tick -75171 with base decimals: 18, quote decimals: 18 (bids semibook)
✅ returns price=1838.534691561 for tick 75171 with base decimals: 18, quote decimals: 18 (asks semibook)
✅ returns price=1e-12 for tick 0 with base decimals: 6, quote decimals: 18 (asks semibook)
✅ returns price=1e-12 for tick 0 with base decimals: 6, quote decimals: 18 (bids semibook)
TickPriceHelper unit tests suite priceFromTick is inverse of tickFromPrice (up to tick-step)
✅ returns price=1 for tickFromPrice(..., tickFromPrice(..., 1))) with base decimals: 6, quote decimals: 6 for asks semibook
✅ returns price=1 for tickFromPrice(..., tickFromPrice(..., 1))) with base decimals: 6, quote decimals: 6 for bids semibook
✅ returns price=1.00000396574 for tickFromPrice(..., tickFromPrice(..., 1.00000396574))) with base decimals: 18, quote decimals: 0 for bids semibook
✅ returns price=1.000096 for tickFromPrice(..., tickFromPrice(..., 1.000096))) with base decimals: 0, quote decimals: 18 for bids semibook
✅ returns price=100 for tickFromPrice(..., tickFromPrice(..., 100))) with base decimals: 2, quote decimals: 0 for asks semibook
✅ returns price=100 for tickFromPrice(..., tickFromPrice(..., 100))) with base decimals: 2, quote decimals: 0 for bids semibook
✅ returns price=1838.53469156 for tickFromPrice(..., tickFromPrice(..., 1838.53469156))) with base decimals: 18, quote decimals: 18 for bids semibook
✅ returns price=1838.534691561 for tickFromPrice(..., tickFromPrice(..., 1838.534691561))) with base decimals: 18, quote decimals: 18 for asks semibook
✅ returns price=1e-12 for tickFromPrice(..., tickFromPrice(..., 1e-12))) with base decimals: 6, quote decimals: 18 for asks semibook
✅ returns price=1e-12 for tickFromPrice(..., tickFromPrice(..., 1e-12))) with base decimals: 6, quote decimals: 18 for bids semibook
TickPriceHelper unit tests suite tickFromPrice
✅ returns tick=-414487 for price 1.000096 with base decimals: 0, quote decimals: 18 (bids semibook))
✅ returns tick=-75171 for price 1838.53469156 with base decimals: 18, quote decimals: 18 (bids semibook))
✅ returns tick=0 for price 1 with base decimals: 6, quote decimals: 6 (asks semibook))
✅ returns tick=0 for price 1 with base decimals: 6, quote decimals: 6 (bids semibook))
✅ returns tick=0 for price 100 with base decimals: 2, quote decimals: 0 (asks semibook))
✅ returns tick=0 for price 100 with base decimals: 2, quote decimals: 0 (bids semibook))
✅ returns tick=0 for price 1e-12 with base decimals: 6, quote decimals: 18 (asks semibook))
✅ returns tick=0 for price 1e-12 with base decimals: 6, quote decimals: 18 (bids semibook))
✅ returns tick=414486 for price 1.00000396574 with base decimals: 18, quote decimals: 0 (bids semibook))
✅ returns tick=75171 for price 1838.534691561 with base decimals: 18, quote decimals: 18 (asks semibook))
TickPriceHelper unit tests suite tickFromPrice is inverse of priceFromTick (up to tick-step)
✅ returns tick=-414487 for priceFromTick(..., priceFromTick(..., -414487))) with base decimals: 0, quote decimals: 18 for bids semibook
✅ returns tick=-75171 for priceFromTick(..., priceFromTick(..., -75171))) with base decimals: 18, quote decimals: 18 for bids semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 2, quote decimals: 0 for asks semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 2, quote decimals: 0 for bids semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 6, quote decimals: 18 for asks semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 6, quote decimals: 18 for bids semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 6, quote decimals: 6 for asks semibook
✅ returns tick=0 for priceFromTick(..., priceFromTick(..., 0))) with base decimals: 6, quote decimals: 6 for bids semibook
✅ returns tick=414486 for priceFromTick(..., priceFromTick(..., 414486))) with base decimals: 18, quote decimals: 0 for bids semibook
✅ returns tick=75171 for priceFromTick(..., priceFromTick(..., 75171))) with base decimals: 18, quote decimals: 18 for asks semibook
✅ test/unit/trade.unit.test.ts
Trade unit tests suite comparePrices
✅ returns false, when price = referencePrice and compare is “gt“
✅ returns false, when price = referencePrice and compare is “lt“
✅ returns false, when price > referencePrice and compare is “gt“
✅ returns false, when price > referencePrice and compare is “lt“
✅ returns true, when price < referencePrice and compare is “gt“
✅ returns true, when price < referencePrice and compare is “lt“
Trade unit tests suite getParamsForBuy
✅ returns fillVolume as fillVolume, tick as tick and fillWants as fillWants, when params has tick, fillVolume and fillWants
✅ returns fillVolume as fillVolume, tick as tick and fillWants as true, when params has fillVolume and tick, but no fillWants
✅ returns fillVolume as gives, tick as TickLib.fromVolume(gives,wants) and fillWants as fillWants, when params has gives, wants and fillWants
✅ returns fillVolume as total, tick as tick(price) and fillWants false, when params has price!=null and total
✅ returns fillVolume as volume, tick as -1*tick(price) and fillWants true, when params has price!=null and volume
Trade unit tests suite getParamsForSell
✅ returns fillVolume as fillVolume, tick as tick and fillWants false, when params has wants and gives, but no fillWants
✅ returns fillVolume as gives, tick as TickLib.fromVolume(gives,wants) and fillWants as fillWants, when params has gives, wants and fillWants
✅ returns fillVolume as total, tick as tick(price) and fillWants true, when params has price!=null and total
✅ returns fillVolume as volume, tick as tick(price) and fillWants false, when params has price!=null and volume
✅ returns wants as wants, gives as gives and fillWants as fillWants, when params has wants, gives and fillWants
Trade unit tests suite isPriceBetter
✅ Uses “gt“ when ba = bids
✅ Uses “lt“ when ba = asks
Trade unit tests suite isPriceWorse
✅ Uses “gt“ when ba = bids
✅ Uses “lt“ when ba = asks
Trade unit tests suite validateSlippage
✅ return given slippage, when it is valid
✅ returns 0, when slippage is undefined
✅ throw error, when slippage is above 100
✅ throw error, when slippage is lower than 0
✅ test/unit/tradeEventManagement.unit.test.ts
TradeEventManagement unit tests suite createPosthookFailure
✅ returns posthookFailure object, always
TradeEventManagement unit tests suite createSuccess
✅ returns Success object, always
TradeEventManagement unit tests suite createSummary
✅ return summary with partialFill as true, when partialFill func returns true
TradeEventManagement unit tests suite createSummaryForOrderComplete
✅ returns createSummary, always
TradeEventManagement unit tests suite createSummaryForOrderSummary
✅ returns createSummary with offerId, always
TradeEventManagement unit tests suite createTradeFailure
✅ returns TradeFailure object, always
TradeEventManagement unit tests suite rawOfferToOffer
✅ returns offer with correct values for asks
✅ returns offer with correct values for bids
✅ test/unit/unitCalculations.unit.test.ts
UnitCalculations unit tests suite fromUnits
✅ returns Big number, amount is BigNumber and nameOrDecimal is number
✅ returns Big number, amount is number and nameOrDecimal is number
✅ returns Big number, amount is number and nameOrDecimal is string
✅ returns Big number, amount is string and nameOrDecimal is number
Loading