@nadohq/client 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/market/MarketExecuteAPI.cjs +3 -1
- package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -1
- package/dist/apis/market/MarketExecuteAPI.d.cts +1 -0
- package/dist/apis/market/MarketExecuteAPI.d.ts +1 -0
- package/dist/apis/market/MarketExecuteAPI.js +3 -1
- package/dist/apis/market/MarketExecuteAPI.js.map +1 -1
- package/dist/apis/market/types.cjs.map +1 -1
- package/dist/apis/market/types.d.cts +11 -0
- package/dist/apis/market/types.d.ts +11 -0
- package/dist/client.cjs +1 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/context.cjs +2 -1
- package/dist/context.cjs.map +1 -1
- package/dist/context.js +2 -1
- package/dist/context.js.map +1 -1
- package/dist/createNadoClient.d.cts +1 -1
- package/dist/createNadoClient.d.ts +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +6 -6
- package/src/apis/market/MarketExecuteAPI.ts +2 -0
- package/src/apis/market/types.ts +11 -0
- package/src/client.ts +1 -0
- package/src/context.ts +1 -0
|
@@ -108,7 +108,9 @@ var MarketExecuteAPI = class extends import_base.BaseNadoAPI {
|
|
|
108
108
|
productId,
|
|
109
109
|
spotLeverage,
|
|
110
110
|
nonce
|
|
111
|
-
}
|
|
111
|
+
},
|
|
112
|
+
requiredUnfilledAmount: params.requiredUnfilledAmount,
|
|
113
|
+
placeRequiresUnfilled: params.placeRequiresUnfilled
|
|
112
114
|
});
|
|
113
115
|
}
|
|
114
116
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAyC;AACzC,kBAA4B;AAarB,IAAM,mBAAN,cAA+B,wBAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,MAAM,WAAW,QAA0B;AACzC,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,MAAM,IAAI;AAEjD,WAAO,KAAK,QAAQ,aAAa,WAAW;AAAA,MAC1C,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,mBAAe,wCAAyB,OAAO,SAAS;AAAA,MACxD;AAAA,MACA,cAAc,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,YACJ,QAC2D;AAC3D,WAAO,KAAK,QAAQ,aAAa,YAAY;AAAA,MAC3C,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AACtD,eAAO;AAAA,UACL;AAAA,UACA,OAAO;AAAA,YACL,GAAG;AAAA,YACH,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,UACxD;AAAA,UACA,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,mBAAe,wCAAyB,SAAS;AAAA,UACjD;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAA4B;AAC7C,WAAO,KAAK,QAAQ,aAAa,aAAa;AAAA,MAC5C,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAe,QAAmC;AACtD,UAAM,EAAE,WAAW,OAAO,OAAO,aAAa,IAAI,OAAO;AACzD,UAAM,kBAAkB,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,+BAA+B,OAAO,YAAY;AAEvE,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C,cAAc;AAAA,QACZ,GAAG,OAAO;AAAA,QACV;AAAA,QACA,eACE,OAAO,aAAa,iBAAiB,KAAK,mBAAmB;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,QACF;AAAA,QACA,mBAAe,wCAAyB,SAAS;AAAA,QACjD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n requiredUnfilledAmount: params.requiredUnfilledAmount,\n placeRequiresUnfilled: params.placeRequiresUnfilled,\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";AACA,SAAS,gCAAgC;AACzC,SAAS,mBAAmB;AAarB,IAAM,mBAAN,cAA+B,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,MAAM,WAAW,QAA0B;AACzC,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,MAAM,IAAI;AAEjD,WAAO,KAAK,QAAQ,aAAa,WAAW;AAAA,MAC1C,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,yBAAyB,OAAO,SAAS;AAAA,MACxD;AAAA,MACA,cAAc,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,YACJ,QAC2D;AAC3D,WAAO,KAAK,QAAQ,aAAa,YAAY;AAAA,MAC3C,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AACtD,eAAO;AAAA,UACL;AAAA,UACA,OAAO;AAAA,YACL,GAAG;AAAA,YACH,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,UACxD;AAAA,UACA,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,eAAe,yBAAyB,SAAS;AAAA,UACjD;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAA4B;AAC7C,WAAO,KAAK,QAAQ,aAAa,aAAa;AAAA,MAC5C,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAe,QAAmC;AACtD,UAAM,EAAE,WAAW,OAAO,OAAO,aAAa,IAAI,OAAO;AACzD,UAAM,kBAAkB,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,+BAA+B,OAAO,YAAY;AAEvE,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C,cAAc;AAAA,QACZ,GAAG,OAAO;AAAA,QACV;AAAA,QACA,eACE,OAAO,aAAa,iBAAiB,KAAK,mBAAmB;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,QACF;AAAA,QACA,eAAe,yBAAyB,SAAS;AAAA,QACjD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/MarketExecuteAPI.ts"],"sourcesContent":["import { EngineServerExecuteSuccessResult } from '@nadohq/engine-client';\nimport { getOrderVerifyingAddress } from '@nadohq/shared';\nimport { BaseNadoAPI } from '../base';\nimport {\n CancelAndPlaceOrderParams,\n CancelOrdersParams,\n CancelProductOrdersParams,\n CancelTriggerOrdersParams,\n CancelTriggerProductOrdersParams,\n PlaceOrderParams,\n PlaceOrdersParams,\n PlaceTriggerOrderParams,\n PlaceTriggerOrdersParams,\n} from './types';\n\nexport class MarketExecuteAPI extends BaseNadoAPI {\n /**\n * Places an order through the engine\n * @param params\n */\n async placeOrder(params: PlaceOrderParams) {\n const { id: orderId, productId, order, nonce } = params;\n\n return this.context.engineClient.placeOrder({\n id: orderId,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n productId,\n spotLeverage: params.spotLeverage,\n nonce,\n });\n }\n\n /**\n * Places multiple orders through the engine\n * @param params\n */\n async placeOrders(\n params: PlaceOrdersParams,\n ): Promise<EngineServerExecuteSuccessResult<'place_orders'>> {\n return this.context.engineClient.placeOrders({\n orders: params.orders.map((orderParams) => {\n const { id, productId, order, nonce, spotLeverage } = orderParams;\n return {\n id,\n order: {\n ...order,\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n },\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n productId,\n spotLeverage,\n nonce,\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels orders through the engine\n * @param params\n */\n async cancelOrders(params: CancelOrdersParams) {\n return this.context.engineClient.cancelOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels orders through the engine and places a new one\n * @param params\n */\n async cancelAndPlace(params: CancelAndPlaceOrderParams) {\n const { productId, order, nonce, spotLeverage } = params.placeOrder;\n const subaccountOwner = this.getSubaccountOwnerIfNeeded(\n params.cancelOrders,\n );\n const chainId = this.getWalletClientChainIdIfNeeded(params.cancelOrders);\n\n return this.context.engineClient.cancelAndPlace({\n cancelOrders: {\n ...params.cancelOrders,\n subaccountOwner,\n verifyingAddr:\n params.cancelOrders.verifyingAddr ?? this.getEndpointAddress(),\n chainId,\n },\n placeOrder: {\n order: {\n ...order,\n subaccountOwner,\n },\n verifyingAddr: getOrderVerifyingAddress(productId),\n chainId,\n productId,\n spotLeverage,\n nonce,\n },\n requiredUnfilledAmount: params.requiredUnfilledAmount,\n placeRequiresUnfilled: params.placeRequiresUnfilled,\n });\n }\n\n /**\n * Cancels all orders for provided products through the engine.\n * @param params\n */\n async cancelProductOrders(params: CancelProductOrdersParams) {\n return this.context.engineClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: this.getEndpointAddress(),\n });\n }\n\n /**\n * Places a trigger order through the trigger service\n * @param params\n */\n async placeTriggerOrder(params: PlaceTriggerOrderParams) {\n return this.context.triggerClient.placeTriggerOrder({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n verifyingAddr: getOrderVerifyingAddress(params.productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params.order),\n ...params.order,\n },\n });\n }\n\n /**\n * Places multiple trigger orders through the trigger service\n * @param params\n */\n async placeTriggerOrders(params: PlaceTriggerOrdersParams) {\n return this.context.triggerClient.placeTriggerOrders({\n orders: params.orders.map((orderParams) => {\n const { productId, order } = orderParams;\n return {\n ...orderParams,\n chainId: this.getWalletClientChainIdIfNeeded(orderParams),\n verifyingAddr: getOrderVerifyingAddress(productId),\n order: {\n subaccountOwner: this.getSubaccountOwnerIfNeeded(order),\n ...order,\n },\n };\n }),\n stopOnFailure: params.stopOnFailure,\n });\n }\n\n /**\n * Cancels all trigger orders for provided digests through the trigger service.\n * @param params\n */\n async cancelTriggerOrders(params: CancelTriggerOrdersParams) {\n return this.context.triggerClient.cancelTriggerOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n\n /**\n * Cancels all trigger orders for provided products through the trigger service.\n * @param params\n */\n async cancelTriggerProductOrders(params: CancelTriggerProductOrdersParams) {\n return this.context.triggerClient.cancelProductOrders({\n ...params,\n chainId: this.getWalletClientChainIdIfNeeded(params),\n subaccountOwner: this.getSubaccountOwnerIfNeeded(params),\n verifyingAddr: params.verifyingAddr ?? this.getEndpointAddress(),\n });\n }\n}\n"],"mappings":";AACA,SAAS,gCAAgC;AACzC,SAAS,mBAAmB;AAarB,IAAM,mBAAN,cAA+B,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,MAAM,WAAW,QAA0B;AACzC,UAAM,EAAE,IAAI,SAAS,WAAW,OAAO,MAAM,IAAI;AAEjD,WAAO,KAAK,QAAQ,aAAa,WAAW;AAAA,MAC1C,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,MAC/D;AAAA,MACA,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,yBAAyB,OAAO,SAAS;AAAA,MACxD;AAAA,MACA,cAAc,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,YACJ,QAC2D;AAC3D,WAAO,KAAK,QAAQ,aAAa,YAAY;AAAA,MAC3C,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AACtD,eAAO;AAAA,UACL;AAAA,UACA,OAAO;AAAA,YACL,GAAG;AAAA,YACH,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,UACxD;AAAA,UACA,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,eAAe,yBAAyB,SAAS;AAAA,UACjD;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,aAAa,QAA4B;AAC7C,WAAO,KAAK,QAAQ,aAAa,aAAa;AAAA,MAC5C,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAe,QAAmC;AACtD,UAAM,EAAE,WAAW,OAAO,OAAO,aAAa,IAAI,OAAO;AACzD,UAAM,kBAAkB,KAAK;AAAA,MAC3B,OAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,+BAA+B,OAAO,YAAY;AAEvE,WAAO,KAAK,QAAQ,aAAa,eAAe;AAAA,MAC9C,cAAc;AAAA,QACZ,GAAG,OAAO;AAAA,QACV;AAAA,QACA,eACE,OAAO,aAAa,iBAAiB,KAAK,mBAAmB;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,QACF;AAAA,QACA,eAAe,yBAAyB,SAAS;AAAA,QACjD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,wBAAwB,OAAO;AAAA,MAC/B,uBAAuB,OAAO;AAAA,IAChC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,aAAa,oBAAoB;AAAA,MACnD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,kBAAkB,QAAiC;AACvD,WAAO,KAAK,QAAQ,cAAc,kBAAkB;AAAA,MAClD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,eAAe,yBAAyB,OAAO,SAAS;AAAA,MACxD,OAAO;AAAA,QACL,iBAAiB,KAAK,2BAA2B,OAAO,KAAK;AAAA,QAC7D,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,mBAAmB,QAAkC;AACzD,WAAO,KAAK,QAAQ,cAAc,mBAAmB;AAAA,MACnD,QAAQ,OAAO,OAAO,IAAI,CAAC,gBAAgB;AACzC,cAAM,EAAE,WAAW,MAAM,IAAI;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,KAAK,+BAA+B,WAAW;AAAA,UACxD,eAAe,yBAAyB,SAAS;AAAA,UACjD,OAAO;AAAA,YACL,iBAAiB,KAAK,2BAA2B,KAAK;AAAA,YACtD,GAAG;AAAA,UACL;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MACD,eAAe,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB,QAAmC;AAC3D,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,2BAA2B,QAA0C;AACzE,WAAO,KAAK,QAAQ,cAAc,oBAAoB;AAAA,MACpD,GAAG;AAAA,MACH,SAAS,KAAK,+BAA+B,MAAM;AAAA,MACnD,iBAAiB,KAAK,2BAA2B,MAAM;AAAA,MACvD,eAAe,OAAO,iBAAiB,KAAK,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type PlaceOrdersParams = {\n orders: PlaceOrderParams[];\n stopOnFailure?: boolean;\n};\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport interface PlaceTriggerOrdersParams {\n orders: PlaceTriggerOrderParams[];\n stopOnFailure?: boolean;\n}\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/apis/market/types.ts"],"sourcesContent":["import {\n EngineCancelOrdersParams,\n EngineCancelProductOrdersParams,\n EngineOrderParams,\n EnginePlaceOrderParams,\n} from '@nadohq/engine-client';\nimport {\n TriggerCancelOrdersParams,\n TriggerCancelProductOrdersParams,\n TriggerListOrdersParams,\n TriggerPlaceOrderParams,\n} from '@nadohq/trigger-client';\nimport BigNumber from 'bignumber.js';\nimport { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';\n\ntype ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<\n OptionalSignatureParams<T>,\n // Order is overridden to make subaccount owner optional\n | 'order'\n // Verifying address can be derived from product ID\n | 'verifyingAddr'\n> & {\n order: OptionalSubaccountOwner<EngineOrderParams>;\n};\n\nexport type PlaceOrderParams = ClientOrderParams<EnginePlaceOrderParams>;\n\nexport type PlaceOrdersParams = {\n orders: PlaceOrderParams[];\n stopOnFailure?: boolean;\n};\n\nexport type CancelOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelOrdersParams>\n>;\n\nexport type CancelProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<EngineCancelProductOrdersParams>\n>;\n\nexport interface CancelAndPlaceOrderParams {\n placeOrder: PlaceOrderParams;\n cancelOrders: CancelOrdersParams;\n /**\n * The current unfilled amount of the order being cancelled. If provided, the cancel will\n * fail if the order's unfilled amount does not match this value.\n */\n requiredUnfilledAmount?: BigNumber;\n /**\n * If `true`, the cancel_and_place operation will fail if the order being cancelled has been\n * partially filled.\n */\n placeRequiresUnfilled?: boolean;\n}\n\nexport type PlaceTriggerOrderParams =\n ClientOrderParams<TriggerPlaceOrderParams>;\n\nexport interface PlaceTriggerOrdersParams {\n orders: PlaceTriggerOrderParams[];\n stopOnFailure?: boolean;\n}\n\nexport type CancelTriggerOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelOrdersParams>\n>;\n\nexport type CancelTriggerProductOrdersParams = OptionalSignatureParams<\n OptionalSubaccountOwner<TriggerCancelProductOrdersParams>\n>;\n\nexport type GetTriggerOrdersParams =\n OptionalSignatureParams<TriggerListOrdersParams>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EngineOrderParams, EnginePlaceOrderParams, EngineCancelOrdersParams, EngineCancelProductOrdersParams } from '@nadohq/engine-client';
|
|
2
2
|
import { TriggerPlaceOrderParams, TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams } from '@nadohq/trigger-client';
|
|
3
|
+
import BigNumber__default from 'bignumber.js';
|
|
3
4
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types.cjs';
|
|
4
5
|
|
|
5
6
|
type ClientOrderParams<T extends {
|
|
@@ -17,6 +18,16 @@ type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner
|
|
|
17
18
|
interface CancelAndPlaceOrderParams {
|
|
18
19
|
placeOrder: PlaceOrderParams;
|
|
19
20
|
cancelOrders: CancelOrdersParams;
|
|
21
|
+
/**
|
|
22
|
+
* The current unfilled amount of the order being cancelled. If provided, the cancel will
|
|
23
|
+
* fail if the order's unfilled amount does not match this value.
|
|
24
|
+
*/
|
|
25
|
+
requiredUnfilledAmount?: BigNumber__default;
|
|
26
|
+
/**
|
|
27
|
+
* If `true`, the cancel_and_place operation will fail if the order being cancelled has been
|
|
28
|
+
* partially filled.
|
|
29
|
+
*/
|
|
30
|
+
placeRequiresUnfilled?: boolean;
|
|
20
31
|
}
|
|
21
32
|
type PlaceTriggerOrderParams = ClientOrderParams<TriggerPlaceOrderParams>;
|
|
22
33
|
interface PlaceTriggerOrdersParams {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EngineOrderParams, EnginePlaceOrderParams, EngineCancelOrdersParams, EngineCancelProductOrdersParams } from '@nadohq/engine-client';
|
|
2
2
|
import { TriggerPlaceOrderParams, TriggerCancelOrdersParams, TriggerCancelProductOrdersParams, TriggerListOrdersParams } from '@nadohq/trigger-client';
|
|
3
|
+
import BigNumber__default from 'bignumber.js';
|
|
3
4
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types.js';
|
|
4
5
|
|
|
5
6
|
type ClientOrderParams<T extends {
|
|
@@ -17,6 +18,16 @@ type CancelProductOrdersParams = OptionalSignatureParams<OptionalSubaccountOwner
|
|
|
17
18
|
interface CancelAndPlaceOrderParams {
|
|
18
19
|
placeOrder: PlaceOrderParams;
|
|
19
20
|
cancelOrders: CancelOrdersParams;
|
|
21
|
+
/**
|
|
22
|
+
* The current unfilled amount of the order being cancelled. If provided, the cancel will
|
|
23
|
+
* fail if the order's unfilled amount does not match this value.
|
|
24
|
+
*/
|
|
25
|
+
requiredUnfilledAmount?: BigNumber__default;
|
|
26
|
+
/**
|
|
27
|
+
* If `true`, the cancel_and_place operation will fail if the order being cancelled has been
|
|
28
|
+
* partially filled.
|
|
29
|
+
*/
|
|
30
|
+
placeRequiresUnfilled?: boolean;
|
|
20
31
|
}
|
|
21
32
|
type PlaceTriggerOrderParams = ClientOrderParams<TriggerPlaceOrderParams>;
|
|
22
33
|
interface PlaceTriggerOrdersParams {
|
package/dist/client.cjs
CHANGED
|
@@ -40,6 +40,7 @@ var NadoClient = class {
|
|
|
40
40
|
setLinkedSigner(linkedSignerWalletClient) {
|
|
41
41
|
this.context.linkedSignerWalletClient = linkedSignerWalletClient ?? void 0;
|
|
42
42
|
this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);
|
|
43
|
+
this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
43
44
|
this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
44
45
|
}
|
|
45
46
|
/**
|
package/dist/client.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0B;AAC1B,kBAAwB;AACxB,kBAAwB;AACxB,wBAA8B;AAC9B,gBAA6B;AAC7B,qBAAuD;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,iBAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,wBAAU,OAAO;AACnC,SAAK,aAAa,IAAI,gCAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,oBAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,oBAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,uBAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0B;AAC1B,kBAAwB;AACxB,kBAAwB;AACxB,wBAA8B;AAC9B,gBAA6B;AAC7B,qBAAuD;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AACnE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,iBAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,wBAAU,OAAO;AACnC,SAAK,aAAa,IAAI,gCAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,oBAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,oBAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,uBAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
|
package/dist/client.d.cts
CHANGED
|
@@ -11,10 +11,10 @@ import '@nadohq/trigger-client';
|
|
|
11
11
|
import '@nadohq/engine-client';
|
|
12
12
|
import './apis/base.cjs';
|
|
13
13
|
import './apis/market/types.cjs';
|
|
14
|
+
import 'bignumber.js';
|
|
14
15
|
import './apis/types.cjs';
|
|
15
16
|
import './apis/market/MarketQueryAPI.cjs';
|
|
16
17
|
import '@nadohq/indexer-client';
|
|
17
|
-
import 'bignumber.js';
|
|
18
18
|
import './apis/perp/PerpExecuteAPI.cjs';
|
|
19
19
|
import './apis/perp/PerpQueryAPI.cjs';
|
|
20
20
|
import './apis/spot/SpotExecuteAPI.cjs';
|
package/dist/client.d.ts
CHANGED
|
@@ -11,10 +11,10 @@ import '@nadohq/trigger-client';
|
|
|
11
11
|
import '@nadohq/engine-client';
|
|
12
12
|
import './apis/base.js';
|
|
13
13
|
import './apis/market/types.js';
|
|
14
|
+
import 'bignumber.js';
|
|
14
15
|
import './apis/types.js';
|
|
15
16
|
import './apis/market/MarketQueryAPI.js';
|
|
16
17
|
import '@nadohq/indexer-client';
|
|
17
|
-
import 'bignumber.js';
|
|
18
18
|
import './apis/perp/PerpExecuteAPI.js';
|
|
19
19
|
import './apis/perp/PerpQueryAPI.js';
|
|
20
20
|
import './apis/spot/SpotExecuteAPI.js';
|
package/dist/client.js
CHANGED
|
@@ -16,6 +16,7 @@ var NadoClient = class {
|
|
|
16
16
|
setLinkedSigner(linkedSignerWalletClient) {
|
|
17
17
|
this.context.linkedSignerWalletClient = linkedSignerWalletClient ?? void 0;
|
|
18
18
|
this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);
|
|
19
|
+
this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
19
20
|
this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
20
21
|
}
|
|
21
22
|
/**
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";AACA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,2BAA8C;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,aAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,UAAU,OAAO;AACnC,SAAK,aAAa,IAAI,cAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,aAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { WalletClientWithAccount } from '@nadohq/shared';\nimport { MarketAPI } from './apis/market';\nimport { PerpAPI } from './apis/perp';\nimport { SpotAPI } from './apis/spot';\nimport { SubaccountAPI } from './apis/subaccount';\nimport { WebsocketAPI } from './apis/ws';\nimport { createClientContext, NadoClientContext } from './context';\n\n/**\n * Client for querying and executing against Nado Clearinghouse.\n * Usually not instantiated directly. Instead, use {@link createNadoClient:CLIENT}.\n */\nexport class NadoClient {\n context!: NadoClientContext;\n market!: MarketAPI;\n subaccount!: SubaccountAPI;\n spot!: SpotAPI;\n perp!: PerpAPI;\n ws!: WebsocketAPI;\n\n constructor(context: NadoClientContext) {\n this.setupFromContext(context);\n }\n\n /**\n * Sets the linked signer for the client. Set to null to revert to the chain signer.\n * @param linkedSignerWalletClient\n */\n setLinkedSigner(linkedSignerWalletClient: WalletClientWithAccount | null) {\n // This is a bit ugly, but works for now\n this.context.linkedSignerWalletClient =\n linkedSignerWalletClient ?? undefined;\n this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);\n this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);\n }\n\n /**\n * Sets the WalletClient for the client. Will cause a full reload of the current context.\n * @param walletClient\n */\n setWalletClient(walletClient: NadoClientContext['walletClient']) {\n const newContext = createClientContext(\n {\n contractAddresses: this.context.contractAddresses,\n engineEndpoint: this.context.engineClient.opts.url,\n indexerEndpoint: this.context.indexerClient.opts.url,\n triggerEndpoint: this.context.triggerClient.opts.url,\n },\n {\n walletClient,\n // No need to call setLinkedSigner as this property doesn't change\n linkedSignerWalletClient: this.context.linkedSignerWalletClient,\n publicClient: this.context.publicClient,\n },\n );\n this.setupFromContext(newContext);\n }\n\n private setupFromContext(context: NadoClientContext) {\n this.context = context;\n this.market = new MarketAPI(context);\n this.subaccount = new SubaccountAPI(context);\n this.spot = new SpotAPI(context);\n this.perp = new PerpAPI(context);\n this.ws = new WebsocketAPI(context);\n }\n}\n"],"mappings":";AACA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,2BAA8C;AAMhD,IAAM,aAAN,MAAiB;AAAA,EAQtB,YAAY,SAA4B;AACtC,SAAK,iBAAiB,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,0BAA0D;AAExE,SAAK,QAAQ,2BACX,4BAA4B;AAC9B,SAAK,QAAQ,aAAa,gBAAgB,wBAAwB;AAClE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AACnE,SAAK,QAAQ,cAAc,gBAAgB,wBAAwB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,cAAiD;AAC/D,UAAM,aAAa;AAAA,MACjB;AAAA,QACE,mBAAmB,KAAK,QAAQ;AAAA,QAChC,gBAAgB,KAAK,QAAQ,aAAa,KAAK;AAAA,QAC/C,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,QACjD,iBAAiB,KAAK,QAAQ,cAAc,KAAK;AAAA,MACnD;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA,0BAA0B,KAAK,QAAQ;AAAA,QACvC,cAAc,KAAK,QAAQ;AAAA,MAC7B;AAAA,IACF;AACA,SAAK,iBAAiB,UAAU;AAAA,EAClC;AAAA,EAEQ,iBAAiB,SAA4B;AACnD,SAAK,UAAU;AACf,SAAK,SAAS,IAAI,UAAU,OAAO;AACnC,SAAK,aAAa,IAAI,cAAc,OAAO;AAC3C,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,OAAO,IAAI,QAAQ,OAAO;AAC/B,SAAK,KAAK,IAAI,aAAa,OAAO;AAAA,EACpC;AACF;","names":[]}
|
package/dist/context.cjs
CHANGED
|
@@ -97,7 +97,8 @@ function createClientContext(opts, accountOpts) {
|
|
|
97
97
|
}),
|
|
98
98
|
indexerClient: new import_indexer_client.IndexerClient({
|
|
99
99
|
url: indexerEndpoint,
|
|
100
|
-
walletClient
|
|
100
|
+
walletClient,
|
|
101
|
+
linkedSignerWalletClient
|
|
101
102
|
}),
|
|
102
103
|
triggerClient: new import_trigger_client.TriggerClient({
|
|
103
104
|
url: triggerEndpoint,
|
package/dist/context.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAsD;AACtD,4BAGO;AACP,oBAQO;AACP,4BAGO;AACP,kBAA0C;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,+BAAiB,QAAQ;AAAA,MAC5C,gBAAgB,6CAAwB,QAAQ;AAAA,MAChD,iBAAiB,+CAAyB,QAAQ;AAAA,MAClD,iBAAiB,+CAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,kCAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,aAAO,yBAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,wBAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAsD;AACtD,4BAGO;AACP,oBAQO;AACP,4BAGO;AACP,kBAA0C;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,+BAAiB,QAAQ;AAAA,MAC5C,gBAAgB,6CAAwB,QAAQ;AAAA,MAChD,iBAAiB,+CAAyB,QAAQ;AAAA,MAClD,iBAAiB,+CAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,kCAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,oCAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,aAAO,yBAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,wBAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
package/dist/context.js
CHANGED
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";AAAA,SAAS,yBAAyB,oBAAoB;AACtD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP;AAAA,EAEE;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAiC;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,iBAAiB,QAAQ;AAAA,MAC5C,gBAAgB,wBAAwB,QAAQ;AAAA,MAChD,iBAAiB,yBAAyB,QAAQ;AAAA,MAClD,iBAAiB,yBAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,aAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,SAAO,YAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,UAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\nimport {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/shared';\nimport {\n TRIGGER_CLIENT_ENDPOINTS,\n TriggerClient,\n} from '@nadohq/trigger-client';\nimport { getContract, PublicClient } from 'viem';\n\n/**\n * Context required to use the Nado client.\n */\nexport interface NadoClientContext {\n publicClient: PublicClient;\n walletClient?: WalletClientWithAccount;\n // If provided, this is used to sign engine transactions instead of the account associated with walletClient\n linkedSignerWalletClient?: WalletClientWithAccount;\n contracts: NadoContracts;\n contractAddresses: NadoDeploymentAddresses;\n engineClient: EngineClient;\n indexerClient: IndexerClient;\n triggerClient: TriggerClient;\n}\n\n/**\n * Args for creating a context\n */\ninterface NadoClientContextOpts {\n contractAddresses: NadoDeploymentAddresses;\n engineEndpoint: string;\n indexerEndpoint: string;\n triggerEndpoint: string;\n}\n\n/**\n * Args for signing configuration for creating a context\n */\nexport type CreateNadoClientContextAccountOpts = Pick<\n NadoClientContext,\n 'walletClient' | 'linkedSignerWalletClient' | 'publicClient'\n>;\n\nexport type CreateNadoClientContextOpts = NadoClientContextOpts | ChainEnv;\n\n/**\n * Utility function to create client context from options\n *\n * @param opts\n * @param accountOpts\n */\nexport function createClientContext(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClientContext {\n const {\n contractAddresses,\n engineEndpoint,\n indexerEndpoint,\n triggerEndpoint,\n } = ((): NadoClientContextOpts => {\n // Custom options\n if (typeof opts === 'object') {\n return opts;\n }\n\n const chainEnv = opts;\n return {\n contractAddresses: NADO_DEPLOYMENTS[chainEnv],\n engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],\n indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],\n triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv],\n };\n })();\n const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;\n\n return {\n walletClient,\n linkedSignerWalletClient,\n publicClient,\n contracts: {\n querier: getNadoContract({\n contractAddresses,\n contractName: 'querier',\n walletClient,\n publicClient,\n }),\n clearinghouse: getNadoContract({\n contractAddresses,\n contractName: 'clearinghouse',\n walletClient,\n publicClient,\n }),\n endpoint: getNadoContract({\n contractAddresses,\n contractName: 'endpoint',\n walletClient,\n publicClient,\n }),\n spotEngine: getNadoContract({\n contractAddresses,\n contractName: 'spotEngine',\n walletClient,\n publicClient,\n }),\n perpEngine: getNadoContract({\n contractAddresses,\n contractName: 'perpEngine',\n walletClient,\n publicClient,\n }),\n withdrawPool: getNadoContract({\n contractAddresses,\n contractName: 'withdrawPool',\n walletClient,\n publicClient,\n }),\n },\n contractAddresses,\n engineClient: new EngineClient({\n url: engineEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n indexerClient: new IndexerClient({\n url: indexerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n triggerClient: new TriggerClient({\n url: triggerEndpoint,\n walletClient,\n linkedSignerWalletClient,\n }),\n };\n}\n\ninterface GetNadoContractParams<T extends NadoContractName> {\n contractAddresses: NadoDeploymentAddresses;\n contractName: T;\n walletClient?: WalletClientWithAccount;\n publicClient: PublicClient;\n}\n\nfunction getNadoContract<T extends NadoContractName>({\n contractAddresses,\n contractName,\n walletClient,\n publicClient,\n}: GetNadoContractParams<T>): NadoContracts[T] {\n return getContract({\n address: contractAddresses[contractName],\n abi: NADO_ABIS[contractName],\n client: walletClient ?? publicClient,\n }) as NadoContracts[T];\n}\n"],"mappings":";AAAA,SAAS,yBAAyB,oBAAoB;AACtD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP;AAAA,EAEE;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAiC;AA2CnC,SAAS,oBACd,MACA,aACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,KAAK,MAA6B;AAEhC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AACjB,WAAO;AAAA,MACL,mBAAmB,iBAAiB,QAAQ;AAAA,MAC5C,gBAAgB,wBAAwB,QAAQ;AAAA,MAChD,iBAAiB,yBAAyB,QAAQ;AAAA,MAClD,iBAAiB,yBAAyB,QAAQ;AAAA,IACpD;AAAA,EACF,GAAG;AACH,QAAM,EAAE,cAAc,cAAc,yBAAyB,IAAI;AAEjE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,SAAS,gBAAgB;AAAA,QACvB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,eAAe,gBAAgB;AAAA,QAC7B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,gBAAgB;AAAA,QACxB;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,YAAY,gBAAgB;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,cAAc,gBAAgB;AAAA,QAC5B;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA,cAAc,IAAI,aAAa;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,eAAe,IAAI,cAAc;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AASA,SAAS,gBAA4C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,SAAO,YAAY;AAAA,IACjB,SAAS,kBAAkB,YAAY;AAAA,IACvC,KAAK,UAAU,YAAY;AAAA,IAC3B,QAAQ,gBAAgB;AAAA,EAC1B,CAAC;AACH;","names":[]}
|
|
@@ -19,9 +19,9 @@ import './apis/ws/WebSocketQueryAPI.cjs';
|
|
|
19
19
|
import './apis/ws/WebSocketSubscriptionAPI.cjs';
|
|
20
20
|
import 'ts-mixer/dist/types/types';
|
|
21
21
|
import './apis/market/MarketExecuteAPI.cjs';
|
|
22
|
+
import 'bignumber.js';
|
|
22
23
|
import './apis/types.cjs';
|
|
23
24
|
import './apis/market/MarketQueryAPI.cjs';
|
|
24
|
-
import 'bignumber.js';
|
|
25
25
|
import './apis/perp/PerpExecuteAPI.cjs';
|
|
26
26
|
import './apis/perp/PerpQueryAPI.cjs';
|
|
27
27
|
import './apis/spot/SpotExecuteAPI.cjs';
|
|
@@ -19,9 +19,9 @@ import './apis/ws/WebSocketQueryAPI.js';
|
|
|
19
19
|
import './apis/ws/WebSocketSubscriptionAPI.js';
|
|
20
20
|
import 'ts-mixer/dist/types/types';
|
|
21
21
|
import './apis/market/MarketExecuteAPI.js';
|
|
22
|
+
import 'bignumber.js';
|
|
22
23
|
import './apis/types.js';
|
|
23
24
|
import './apis/market/MarketQueryAPI.js';
|
|
24
|
-
import 'bignumber.js';
|
|
25
25
|
import './apis/perp/PerpExecuteAPI.js';
|
|
26
26
|
import './apis/perp/PerpQueryAPI.js';
|
|
27
27
|
import './apis/spot/SpotExecuteAPI.js';
|
package/dist/index.d.cts
CHANGED
|
@@ -20,9 +20,9 @@ import './apis/ws/WebSocketQueryAPI.cjs';
|
|
|
20
20
|
import './apis/ws/WebSocketSubscriptionAPI.cjs';
|
|
21
21
|
import 'ts-mixer/dist/types/types';
|
|
22
22
|
import './apis/market/MarketExecuteAPI.cjs';
|
|
23
|
+
import 'bignumber.js';
|
|
23
24
|
import './apis/types.cjs';
|
|
24
25
|
import './apis/market/MarketQueryAPI.cjs';
|
|
25
|
-
import 'bignumber.js';
|
|
26
26
|
import './apis/perp/PerpExecuteAPI.cjs';
|
|
27
27
|
import './apis/perp/PerpQueryAPI.cjs';
|
|
28
28
|
import './apis/spot/SpotExecuteAPI.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ import './apis/ws/WebSocketQueryAPI.js';
|
|
|
20
20
|
import './apis/ws/WebSocketSubscriptionAPI.js';
|
|
21
21
|
import 'ts-mixer/dist/types/types';
|
|
22
22
|
import './apis/market/MarketExecuteAPI.js';
|
|
23
|
+
import 'bignumber.js';
|
|
23
24
|
import './apis/types.js';
|
|
24
25
|
import './apis/market/MarketQueryAPI.js';
|
|
25
|
-
import 'bignumber.js';
|
|
26
26
|
import './apis/perp/PerpExecuteAPI.js';
|
|
27
27
|
import './apis/perp/PerpQueryAPI.js';
|
|
28
28
|
import './apis/spot/SpotExecuteAPI.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadohq/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Nado SDK client — unified API for trading, market data, and collateral management on Nado",
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"module": "./dist/index.js",
|
|
42
42
|
"types": "./dist/index.d.ts",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@nadohq/engine-client": "^0.
|
|
45
|
-
"@nadohq/indexer-client": "^0.
|
|
46
|
-
"@nadohq/shared": "^0.
|
|
47
|
-
"@nadohq/trigger-client": "^0.
|
|
44
|
+
"@nadohq/engine-client": "^0.13.0",
|
|
45
|
+
"@nadohq/indexer-client": "^0.13.0",
|
|
46
|
+
"@nadohq/shared": "^0.13.0",
|
|
47
|
+
"@nadohq/trigger-client": "^0.13.0",
|
|
48
48
|
"ts-mixer": "6.0.4"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"bignumber.js": "10.0.2",
|
|
56
56
|
"viem": "2.45.3"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "e1ee8f9301cf6bd6b0775d505e7606a80eed1458"
|
|
59
59
|
}
|
package/src/apis/market/types.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
TriggerListOrdersParams,
|
|
11
11
|
TriggerPlaceOrderParams,
|
|
12
12
|
} from '@nadohq/trigger-client';
|
|
13
|
+
import BigNumber from 'bignumber.js';
|
|
13
14
|
import { OptionalSignatureParams, OptionalSubaccountOwner } from '../types';
|
|
14
15
|
|
|
15
16
|
type ClientOrderParams<T extends { order: EngineOrderParams }> = Omit<
|
|
@@ -40,6 +41,16 @@ export type CancelProductOrdersParams = OptionalSignatureParams<
|
|
|
40
41
|
export interface CancelAndPlaceOrderParams {
|
|
41
42
|
placeOrder: PlaceOrderParams;
|
|
42
43
|
cancelOrders: CancelOrdersParams;
|
|
44
|
+
/**
|
|
45
|
+
* The current unfilled amount of the order being cancelled. If provided, the cancel will
|
|
46
|
+
* fail if the order's unfilled amount does not match this value.
|
|
47
|
+
*/
|
|
48
|
+
requiredUnfilledAmount?: BigNumber;
|
|
49
|
+
/**
|
|
50
|
+
* If `true`, the cancel_and_place operation will fail if the order being cancelled has been
|
|
51
|
+
* partially filled.
|
|
52
|
+
*/
|
|
53
|
+
placeRequiresUnfilled?: boolean;
|
|
43
54
|
}
|
|
44
55
|
|
|
45
56
|
export type PlaceTriggerOrderParams =
|
package/src/client.ts
CHANGED
|
@@ -31,6 +31,7 @@ export class NadoClient {
|
|
|
31
31
|
this.context.linkedSignerWalletClient =
|
|
32
32
|
linkedSignerWalletClient ?? undefined;
|
|
33
33
|
this.context.engineClient.setLinkedSigner(linkedSignerWalletClient);
|
|
34
|
+
this.context.indexerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
34
35
|
this.context.triggerClient.setLinkedSigner(linkedSignerWalletClient);
|
|
35
36
|
}
|
|
36
37
|
|