From db89fda0286114a11c05cb9b8ea8e21c46656b33 Mon Sep 17 00:00:00 2001 From: Luke Date: Tue, 13 Dec 2022 19:45:18 +0100 Subject: [PATCH] sdk: fix DLOB.updateOrder (#290) * Fix for "readonly" bug when DLOB tries to update nodelist with new events * fix test * have updateOrder match other update order implementations * update CHANGELOG Co-authored-by: Chris Heaney --- CHANGELOG.md | 1 + sdk/src/dlob/DLOB.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f2cee2d7..614bdbe77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixes +- ts-sdk: fix DLOB.updateOrder ([#290](https://github.com/drift-labs/protocol-v2/pull/290)) - ts-sdk: make calculateClaimablePnl mirror on-chain logic ([#291](https://github.com/drift-labs/protocol-v2/pull/291)) - ts-sdk: add margin trading toggle field to user accounts, update toggle margin trading function to add ability to toggle for any subaccount rather than just the active ([#285](https://github.com/drift-labs/protocol-v2/pull/285)) diff --git a/sdk/src/dlob/DLOB.ts b/sdk/src/dlob/DLOB.ts index 97172ad27..2a1de0701 100644 --- a/sdk/src/dlob/DLOB.ts +++ b/sdk/src/dlob/DLOB.ts @@ -270,8 +270,12 @@ export class DLOB { return; } - order.baseAssetAmountFilled = cumulativeBaseAssetAmountFilled; - this.getListForOrder(order)?.update(order, userAccount); + const newOrder = { + ...order, + }; + newOrder.baseAssetAmountFilled = cumulativeBaseAssetAmountFilled; + + this.getListForOrder(order)?.update(newOrder, userAccount); if (onUpdate) { onUpdate();