@nadohq/client 0.1.0-alpha.1
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/README.md +3 -0
- package/dist/apis/base.cjs +66 -0
- package/dist/apis/base.cjs.map +1 -0
- package/dist/apis/base.d.cts +23 -0
- package/dist/apis/base.d.ts +23 -0
- package/dist/apis/base.js +41 -0
- package/dist/apis/base.js.map +1 -0
- package/dist/apis/market/MarketExecuteAPI.cjs +169 -0
- package/dist/apis/market/MarketExecuteAPI.cjs.map +1 -0
- package/dist/apis/market/MarketExecuteAPI.d.cts +57 -0
- package/dist/apis/market/MarketExecuteAPI.d.ts +57 -0
- package/dist/apis/market/MarketExecuteAPI.js +144 -0
- package/dist/apis/market/MarketExecuteAPI.js.map +1 -0
- package/dist/apis/market/MarketQueryAPI.cjs +191 -0
- package/dist/apis/market/MarketQueryAPI.cjs.map +1 -0
- package/dist/apis/market/MarketQueryAPI.d.cts +127 -0
- package/dist/apis/market/MarketQueryAPI.d.ts +127 -0
- package/dist/apis/market/MarketQueryAPI.js +166 -0
- package/dist/apis/market/MarketQueryAPI.js.map +1 -0
- package/dist/apis/market/index.cjs +38 -0
- package/dist/apis/market/index.cjs.map +1 -0
- package/dist/apis/market/index.d.cts +18 -0
- package/dist/apis/market/index.d.ts +18 -0
- package/dist/apis/market/index.js +11 -0
- package/dist/apis/market/index.js.map +1 -0
- package/dist/apis/market/types.cjs +19 -0
- package/dist/apis/market/types.cjs.map +1 -0
- package/dist/apis/market/types.d.cts +26 -0
- package/dist/apis/market/types.d.ts +26 -0
- package/dist/apis/market/types.js +1 -0
- package/dist/apis/market/types.js.map +1 -0
- package/dist/apis/perp/PerpExecuteAPI.cjs +36 -0
- package/dist/apis/perp/PerpExecuteAPI.cjs.map +1 -0
- package/dist/apis/perp/PerpExecuteAPI.d.cts +13 -0
- package/dist/apis/perp/PerpExecuteAPI.d.ts +13 -0
- package/dist/apis/perp/PerpExecuteAPI.js +11 -0
- package/dist/apis/perp/PerpExecuteAPI.js.map +1 -0
- package/dist/apis/perp/PerpQueryAPI.cjs +47 -0
- package/dist/apis/perp/PerpQueryAPI.cjs.map +1 -0
- package/dist/apis/perp/PerpQueryAPI.d.cts +23 -0
- package/dist/apis/perp/PerpQueryAPI.d.ts +23 -0
- package/dist/apis/perp/PerpQueryAPI.js +22 -0
- package/dist/apis/perp/PerpQueryAPI.js.map +1 -0
- package/dist/apis/perp/index.cjs +35 -0
- package/dist/apis/perp/index.cjs.map +1 -0
- package/dist/apis/perp/index.d.cts +16 -0
- package/dist/apis/perp/index.d.ts +16 -0
- package/dist/apis/perp/index.js +10 -0
- package/dist/apis/perp/index.js.map +1 -0
- package/dist/apis/spot/BaseSpotAPI.cjs +55 -0
- package/dist/apis/spot/BaseSpotAPI.cjs.map +1 -0
- package/dist/apis/spot/BaseSpotAPI.d.cts +19 -0
- package/dist/apis/spot/BaseSpotAPI.d.ts +19 -0
- package/dist/apis/spot/BaseSpotAPI.js +30 -0
- package/dist/apis/spot/BaseSpotAPI.js.map +1 -0
- package/dist/apis/spot/SpotExecuteAPI.cjs +108 -0
- package/dist/apis/spot/SpotExecuteAPI.cjs.map +1 -0
- package/dist/apis/spot/SpotExecuteAPI.d.cts +28 -0
- package/dist/apis/spot/SpotExecuteAPI.d.ts +28 -0
- package/dist/apis/spot/SpotExecuteAPI.js +88 -0
- package/dist/apis/spot/SpotExecuteAPI.js.map +1 -0
- package/dist/apis/spot/SpotQueryAPI.cjs +74 -0
- package/dist/apis/spot/SpotQueryAPI.cjs.map +1 -0
- package/dist/apis/spot/SpotQueryAPI.d.cts +35 -0
- package/dist/apis/spot/SpotQueryAPI.d.ts +35 -0
- package/dist/apis/spot/SpotQueryAPI.js +49 -0
- package/dist/apis/spot/SpotQueryAPI.js.map +1 -0
- package/dist/apis/spot/index.cjs +38 -0
- package/dist/apis/spot/index.cjs.map +1 -0
- package/dist/apis/spot/index.d.cts +23 -0
- package/dist/apis/spot/index.d.ts +23 -0
- package/dist/apis/spot/index.js +11 -0
- package/dist/apis/spot/index.js.map +1 -0
- package/dist/apis/spot/types.cjs +19 -0
- package/dist/apis/spot/types.cjs.map +1 -0
- package/dist/apis/spot/types.d.cts +23 -0
- package/dist/apis/spot/types.d.ts +23 -0
- package/dist/apis/spot/types.js +1 -0
- package/dist/apis/spot/types.js.map +1 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.cjs +59 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.cjs.map +1 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.cts +26 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.d.ts +26 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.js +34 -0
- package/dist/apis/subaccount/SubaccountExecuteAPI.js.map +1 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.cjs +84 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.cjs.map +1 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.d.cts +51 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.d.ts +51 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.js +61 -0
- package/dist/apis/subaccount/SubaccountQueryAPI.js.map +1 -0
- package/dist/apis/subaccount/index.cjs +68 -0
- package/dist/apis/subaccount/index.cjs.map +1 -0
- package/dist/apis/subaccount/index.d.cts +27 -0
- package/dist/apis/subaccount/index.d.ts +27 -0
- package/dist/apis/subaccount/index.js +41 -0
- package/dist/apis/subaccount/index.js.map +1 -0
- package/dist/apis/subaccount/types.cjs +19 -0
- package/dist/apis/subaccount/types.cjs.map +1 -0
- package/dist/apis/subaccount/types.d.cts +9 -0
- package/dist/apis/subaccount/types.d.ts +9 -0
- package/dist/apis/subaccount/types.js +1 -0
- package/dist/apis/subaccount/types.js.map +1 -0
- package/dist/apis/types.cjs +19 -0
- package/dist/apis/types.cjs.map +1 -0
- package/dist/apis/types.d.cts +9 -0
- package/dist/apis/types.d.ts +9 -0
- package/dist/apis/types.js +1 -0
- package/dist/apis/types.js.map +1 -0
- package/dist/apis/ws/WebSocketExecuteAPI.cjs +73 -0
- package/dist/apis/ws/WebSocketExecuteAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketExecuteAPI.d.cts +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.d.ts +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.js +48 -0
- package/dist/apis/ws/WebSocketExecuteAPI.js.map +1 -0
- package/dist/apis/ws/WebSocketQueryAPI.cjs +42 -0
- package/dist/apis/ws/WebSocketQueryAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketQueryAPI.d.cts +23 -0
- package/dist/apis/ws/WebSocketQueryAPI.d.ts +23 -0
- package/dist/apis/ws/WebSocketQueryAPI.js +17 -0
- package/dist/apis/ws/WebSocketQueryAPI.js.map +1 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.cjs +61 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.cjs.map +1 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.cts +37 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.d.ts +37 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.js +36 -0
- package/dist/apis/ws/WebSocketSubscriptionAPI.js.map +1 -0
- package/dist/apis/ws/index.cjs +42 -0
- package/dist/apis/ws/index.cjs.map +1 -0
- package/dist/apis/ws/index.d.cts +22 -0
- package/dist/apis/ws/index.d.ts +22 -0
- package/dist/apis/ws/index.js +17 -0
- package/dist/apis/ws/index.js.map +1 -0
- package/dist/client.cjs +79 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +57 -0
- package/dist/client.d.ts +57 -0
- package/dist/client.js +54 -0
- package/dist/client.js.map +1 -0
- package/dist/context.cjs +125 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +42 -0
- package/dist/context.d.ts +42 -0
- package/dist/context.js +109 -0
- package/dist/context.js.map +1 -0
- package/dist/createNadoClient.cjs +35 -0
- package/dist/createNadoClient.cjs.map +1 -0
- package/dist/createNadoClient.d.cts +42 -0
- package/dist/createNadoClient.d.ts +42 -0
- package/dist/createNadoClient.js +12 -0
- package/dist/createNadoClient.js.map +1 -0
- package/dist/index.cjs +47 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +32 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
- package/src/apis/base.ts +52 -0
- package/src/apis/market/MarketExecuteAPI.ts +169 -0
- package/src/apis/market/MarketQueryAPI.ts +214 -0
- package/src/apis/market/index.ts +7 -0
- package/src/apis/market/types.ts +58 -0
- package/src/apis/perp/PerpExecuteAPI.ts +8 -0
- package/src/apis/perp/PerpQueryAPI.ts +25 -0
- package/src/apis/perp/index.ts +5 -0
- package/src/apis/spot/BaseSpotAPI.ts +30 -0
- package/src/apis/spot/SpotExecuteAPI.ts +102 -0
- package/src/apis/spot/SpotQueryAPI.ts +53 -0
- package/src/apis/spot/index.ts +10 -0
- package/src/apis/spot/types.ts +44 -0
- package/src/apis/subaccount/SubaccountExecuteAPI.ts +32 -0
- package/src/apis/subaccount/SubaccountQueryAPI.ts +78 -0
- package/src/apis/subaccount/index.ts +44 -0
- package/src/apis/subaccount/types.ts +16 -0
- package/src/apis/types.ts +11 -0
- package/src/apis/ws/WebSocketExecuteAPI.ts +70 -0
- package/src/apis/ws/WebSocketQueryAPI.ts +25 -0
- package/src/apis/ws/WebSocketSubscriptionAPI.ts +62 -0
- package/src/apis/ws/index.ts +21 -0
- package/src/client.ts +67 -0
- package/src/context.ts +165 -0
- package/src/createNadoClient.ts +20 -0
- package/src/index.ts +15 -0
package/dist/context.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// src/context.ts
|
|
2
|
+
import {
|
|
3
|
+
NADO_ABIS,
|
|
4
|
+
NADO_DEPLOYMENTS
|
|
5
|
+
} from "@nadohq/contracts";
|
|
6
|
+
import { ENGINE_CLIENT_ENDPOINTS, EngineClient } from "@nadohq/engine-client";
|
|
7
|
+
import {
|
|
8
|
+
INDEXER_CLIENT_ENDPOINTS,
|
|
9
|
+
IndexerClient
|
|
10
|
+
} from "@nadohq/indexer-client";
|
|
11
|
+
import {
|
|
12
|
+
TRIGGER_CLIENT_ENDPOINTS,
|
|
13
|
+
TriggerClient
|
|
14
|
+
} from "@nadohq/trigger-client";
|
|
15
|
+
import { getContract } from "viem";
|
|
16
|
+
function createClientContext(opts, accountOpts) {
|
|
17
|
+
const {
|
|
18
|
+
contractAddresses,
|
|
19
|
+
engineEndpoint,
|
|
20
|
+
indexerEndpoint,
|
|
21
|
+
triggerEndpoint
|
|
22
|
+
} = (() => {
|
|
23
|
+
if (typeof opts === "object") {
|
|
24
|
+
return opts;
|
|
25
|
+
}
|
|
26
|
+
const chainEnv = opts;
|
|
27
|
+
return {
|
|
28
|
+
contractAddresses: NADO_DEPLOYMENTS[chainEnv],
|
|
29
|
+
engineEndpoint: ENGINE_CLIENT_ENDPOINTS[chainEnv],
|
|
30
|
+
indexerEndpoint: INDEXER_CLIENT_ENDPOINTS[chainEnv],
|
|
31
|
+
triggerEndpoint: TRIGGER_CLIENT_ENDPOINTS[chainEnv]
|
|
32
|
+
};
|
|
33
|
+
})();
|
|
34
|
+
const { publicClient, walletClient, linkedSignerWalletClient } = accountOpts;
|
|
35
|
+
return {
|
|
36
|
+
walletClient,
|
|
37
|
+
linkedSignerWalletClient,
|
|
38
|
+
publicClient,
|
|
39
|
+
contracts: {
|
|
40
|
+
querier: getNadoContract({
|
|
41
|
+
contractAddresses,
|
|
42
|
+
contractName: "querier",
|
|
43
|
+
walletClient,
|
|
44
|
+
publicClient
|
|
45
|
+
}),
|
|
46
|
+
clearinghouse: getNadoContract({
|
|
47
|
+
contractAddresses,
|
|
48
|
+
contractName: "clearinghouse",
|
|
49
|
+
walletClient,
|
|
50
|
+
publicClient
|
|
51
|
+
}),
|
|
52
|
+
endpoint: getNadoContract({
|
|
53
|
+
contractAddresses,
|
|
54
|
+
contractName: "endpoint",
|
|
55
|
+
walletClient,
|
|
56
|
+
publicClient
|
|
57
|
+
}),
|
|
58
|
+
spotEngine: getNadoContract({
|
|
59
|
+
contractAddresses,
|
|
60
|
+
contractName: "spotEngine",
|
|
61
|
+
walletClient,
|
|
62
|
+
publicClient
|
|
63
|
+
}),
|
|
64
|
+
perpEngine: getNadoContract({
|
|
65
|
+
contractAddresses,
|
|
66
|
+
contractName: "perpEngine",
|
|
67
|
+
walletClient,
|
|
68
|
+
publicClient
|
|
69
|
+
}),
|
|
70
|
+
withdrawPool: getNadoContract({
|
|
71
|
+
contractAddresses,
|
|
72
|
+
contractName: "withdrawPool",
|
|
73
|
+
walletClient,
|
|
74
|
+
publicClient
|
|
75
|
+
})
|
|
76
|
+
},
|
|
77
|
+
contractAddresses,
|
|
78
|
+
engineClient: new EngineClient({
|
|
79
|
+
url: engineEndpoint,
|
|
80
|
+
walletClient,
|
|
81
|
+
linkedSignerWalletClient
|
|
82
|
+
}),
|
|
83
|
+
indexerClient: new IndexerClient({
|
|
84
|
+
url: indexerEndpoint,
|
|
85
|
+
walletClient
|
|
86
|
+
}),
|
|
87
|
+
triggerClient: new TriggerClient({
|
|
88
|
+
url: triggerEndpoint,
|
|
89
|
+
walletClient,
|
|
90
|
+
linkedSignerWalletClient
|
|
91
|
+
})
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function getNadoContract({
|
|
95
|
+
contractAddresses,
|
|
96
|
+
contractName,
|
|
97
|
+
walletClient,
|
|
98
|
+
publicClient
|
|
99
|
+
}) {
|
|
100
|
+
return getContract({
|
|
101
|
+
address: contractAddresses[contractName],
|
|
102
|
+
abi: NADO_ABIS[contractName],
|
|
103
|
+
client: walletClient ?? publicClient
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
createClientContext
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import {\n ChainEnv,\n NADO_ABIS,\n NADO_DEPLOYMENTS,\n NadoContractName,\n NadoContracts,\n NadoDeploymentAddresses,\n WalletClientWithAccount,\n} from '@nadohq/contracts';\nimport { ENGINE_CLIENT_ENDPOINTS, EngineClient } from '@nadohq/engine-client';\nimport {\n INDEXER_CLIENT_ENDPOINTS,\n IndexerClient,\n} from '@nadohq/indexer-client';\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,EAEE;AAAA,EACA;AAAA,OAKK;AACP,SAAS,yBAAyB,oBAAoB;AACtD;AAAA,EACE;AAAA,EACA;AAAA,OACK;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":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/createNadoClient.ts
|
|
21
|
+
var createNadoClient_exports = {};
|
|
22
|
+
__export(createNadoClient_exports, {
|
|
23
|
+
createNadoClient: () => createNadoClient
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createNadoClient_exports);
|
|
26
|
+
var import_client = require("./client.cjs");
|
|
27
|
+
var import_context = require("./context.cjs");
|
|
28
|
+
function createNadoClient(opts, accountOpts) {
|
|
29
|
+
return new import_client.NadoClient((0, import_context.createClientContext)(opts, accountOpts));
|
|
30
|
+
}
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
createNadoClient
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=createNadoClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/createNadoClient.ts"],"sourcesContent":["import { NadoClient } from './client';\nimport {\n createClientContext,\n CreateNadoClientContextAccountOpts,\n CreateNadoClientContextOpts,\n} from './context';\n\n/**\n * Creates a Nado client from given options.\n * {@label CLIENT}\n *\n * @param opts\n * @param accountOpts\n */\nexport function createNadoClient(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClient {\n return new NadoClient(createClientContext(opts, accountOpts));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,qBAIO;AASA,SAAS,iBACd,MACA,aACY;AACZ,SAAO,IAAI,6BAAW,oCAAoB,MAAM,WAAW,CAAC;AAC9D;","names":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NadoClient } from './client.cjs';
|
|
2
|
+
import { CreateNadoClientContextOpts, CreateNadoClientContextAccountOpts } from './context.cjs';
|
|
3
|
+
import './apis/market/index.cjs';
|
|
4
|
+
import './apis/perp/index.cjs';
|
|
5
|
+
import './apis/spot/index.cjs';
|
|
6
|
+
import './apis/subaccount/index.cjs';
|
|
7
|
+
import '@nadohq/utils';
|
|
8
|
+
import '@nadohq/contracts';
|
|
9
|
+
import '@nadohq/engine-client';
|
|
10
|
+
import '@nadohq/indexer-client';
|
|
11
|
+
import '@nadohq/trigger-client';
|
|
12
|
+
import './apis/market/types.cjs';
|
|
13
|
+
import './apis/spot/types.cjs';
|
|
14
|
+
import './apis/subaccount/types.cjs';
|
|
15
|
+
import './apis/ws/index.cjs';
|
|
16
|
+
import './apis/base.cjs';
|
|
17
|
+
import 'viem';
|
|
18
|
+
import './apis/ws/WebSocketExecuteAPI.cjs';
|
|
19
|
+
import './apis/ws/WebSocketQueryAPI.cjs';
|
|
20
|
+
import './apis/ws/WebSocketSubscriptionAPI.cjs';
|
|
21
|
+
import 'ts-mixer/dist/types/types';
|
|
22
|
+
import './apis/market/MarketExecuteAPI.cjs';
|
|
23
|
+
import './apis/types.cjs';
|
|
24
|
+
import './apis/market/MarketQueryAPI.cjs';
|
|
25
|
+
import './apis/perp/PerpExecuteAPI.cjs';
|
|
26
|
+
import './apis/perp/PerpQueryAPI.cjs';
|
|
27
|
+
import './apis/spot/SpotExecuteAPI.cjs';
|
|
28
|
+
import './apis/spot/BaseSpotAPI.cjs';
|
|
29
|
+
import './apis/spot/SpotQueryAPI.cjs';
|
|
30
|
+
import './apis/subaccount/SubaccountExecuteAPI.cjs';
|
|
31
|
+
import './apis/subaccount/SubaccountQueryAPI.cjs';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Creates a Nado client from given options.
|
|
35
|
+
* {@label CLIENT}
|
|
36
|
+
*
|
|
37
|
+
* @param opts
|
|
38
|
+
* @param accountOpts
|
|
39
|
+
*/
|
|
40
|
+
declare function createNadoClient(opts: CreateNadoClientContextOpts, accountOpts: CreateNadoClientContextAccountOpts): NadoClient;
|
|
41
|
+
|
|
42
|
+
export { createNadoClient };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NadoClient } from './client.js';
|
|
2
|
+
import { CreateNadoClientContextOpts, CreateNadoClientContextAccountOpts } from './context.js';
|
|
3
|
+
import './apis/market/index.js';
|
|
4
|
+
import './apis/perp/index.js';
|
|
5
|
+
import './apis/spot/index.js';
|
|
6
|
+
import './apis/subaccount/index.js';
|
|
7
|
+
import '@nadohq/utils';
|
|
8
|
+
import '@nadohq/contracts';
|
|
9
|
+
import '@nadohq/engine-client';
|
|
10
|
+
import '@nadohq/indexer-client';
|
|
11
|
+
import '@nadohq/trigger-client';
|
|
12
|
+
import './apis/market/types.js';
|
|
13
|
+
import './apis/spot/types.js';
|
|
14
|
+
import './apis/subaccount/types.js';
|
|
15
|
+
import './apis/ws/index.js';
|
|
16
|
+
import './apis/base.js';
|
|
17
|
+
import 'viem';
|
|
18
|
+
import './apis/ws/WebSocketExecuteAPI.js';
|
|
19
|
+
import './apis/ws/WebSocketQueryAPI.js';
|
|
20
|
+
import './apis/ws/WebSocketSubscriptionAPI.js';
|
|
21
|
+
import 'ts-mixer/dist/types/types';
|
|
22
|
+
import './apis/market/MarketExecuteAPI.js';
|
|
23
|
+
import './apis/types.js';
|
|
24
|
+
import './apis/market/MarketQueryAPI.js';
|
|
25
|
+
import './apis/perp/PerpExecuteAPI.js';
|
|
26
|
+
import './apis/perp/PerpQueryAPI.js';
|
|
27
|
+
import './apis/spot/SpotExecuteAPI.js';
|
|
28
|
+
import './apis/spot/BaseSpotAPI.js';
|
|
29
|
+
import './apis/spot/SpotQueryAPI.js';
|
|
30
|
+
import './apis/subaccount/SubaccountExecuteAPI.js';
|
|
31
|
+
import './apis/subaccount/SubaccountQueryAPI.js';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Creates a Nado client from given options.
|
|
35
|
+
* {@label CLIENT}
|
|
36
|
+
*
|
|
37
|
+
* @param opts
|
|
38
|
+
* @param accountOpts
|
|
39
|
+
*/
|
|
40
|
+
declare function createNadoClient(opts: CreateNadoClientContextOpts, accountOpts: CreateNadoClientContextAccountOpts): NadoClient;
|
|
41
|
+
|
|
42
|
+
export { createNadoClient };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/createNadoClient.ts
|
|
2
|
+
import { NadoClient } from "./client.js";
|
|
3
|
+
import {
|
|
4
|
+
createClientContext
|
|
5
|
+
} from "./context.js";
|
|
6
|
+
function createNadoClient(opts, accountOpts) {
|
|
7
|
+
return new NadoClient(createClientContext(opts, accountOpts));
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
createNadoClient
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=createNadoClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/createNadoClient.ts"],"sourcesContent":["import { NadoClient } from './client';\nimport {\n createClientContext,\n CreateNadoClientContextAccountOpts,\n CreateNadoClientContextOpts,\n} from './context';\n\n/**\n * Creates a Nado client from given options.\n * {@label CLIENT}\n *\n * @param opts\n * @param accountOpts\n */\nexport function createNadoClient(\n opts: CreateNadoClientContextOpts,\n accountOpts: CreateNadoClientContextAccountOpts,\n): NadoClient {\n return new NadoClient(createClientContext(opts, accountOpts));\n}\n"],"mappings":";AAAA,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,OAGK;AASA,SAAS,iBACd,MACA,aACY;AACZ,SAAO,IAAI,WAAW,oBAAoB,MAAM,WAAW,CAAC;AAC9D;","names":[]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
|
|
17
|
+
// src/index.ts
|
|
18
|
+
var index_exports = {};
|
|
19
|
+
module.exports = __toCommonJS(index_exports);
|
|
20
|
+
__reExport(index_exports, require("./createNadoClient.cjs"), module.exports);
|
|
21
|
+
__reExport(index_exports, require("./client.cjs"), module.exports);
|
|
22
|
+
__reExport(index_exports, require("./context.cjs"), module.exports);
|
|
23
|
+
__reExport(index_exports, require("./apis/market/index.cjs"), module.exports);
|
|
24
|
+
__reExport(index_exports, require("./apis/perp/index.cjs"), module.exports);
|
|
25
|
+
__reExport(index_exports, require("./apis/spot/index.cjs"), module.exports);
|
|
26
|
+
__reExport(index_exports, require("./apis/subaccount/index.cjs"), module.exports);
|
|
27
|
+
__reExport(index_exports, require("@nadohq/utils"), module.exports);
|
|
28
|
+
__reExport(index_exports, require("@nadohq/contracts"), module.exports);
|
|
29
|
+
__reExport(index_exports, require("@nadohq/engine-client"), module.exports);
|
|
30
|
+
__reExport(index_exports, require("@nadohq/indexer-client"), module.exports);
|
|
31
|
+
__reExport(index_exports, require("@nadohq/trigger-client"), module.exports);
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
...require("./createNadoClient.cjs"),
|
|
35
|
+
...require("./client.cjs"),
|
|
36
|
+
...require("./context.cjs"),
|
|
37
|
+
...require("./apis/market/index.cjs"),
|
|
38
|
+
...require("./apis/perp/index.cjs"),
|
|
39
|
+
...require("./apis/spot/index.cjs"),
|
|
40
|
+
...require("./apis/subaccount/index.cjs"),
|
|
41
|
+
...require("@nadohq/utils"),
|
|
42
|
+
...require("@nadohq/contracts"),
|
|
43
|
+
...require("@nadohq/engine-client"),
|
|
44
|
+
...require("@nadohq/indexer-client"),
|
|
45
|
+
...require("@nadohq/trigger-client")
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './createNadoClient';\nexport * from './client';\nexport * from './context';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/utils';\nexport * from '@nadohq/contracts';\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\nexport * from '@nadohq/trigger-client';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,mCAAd;AACA,0BAAc,yBADd;AAEA,0BAAc,0BAFd;AAIA,0BAAc,oCAJd;AAKA,0BAAc,kCALd;AAMA,0BAAc,kCANd;AAOA,0BAAc,wCAPd;AAUA,0BAAc,0BAVd;AAWA,0BAAc,8BAXd;AAYA,0BAAc,kCAZd;AAaA,0BAAc,mCAbd;AAcA,0BAAc,mCAdd;","names":[]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { createNadoClient } from './createNadoClient.cjs';
|
|
2
|
+
export { NadoClient } from './client.cjs';
|
|
3
|
+
export { CreateNadoClientContextAccountOpts, CreateNadoClientContextOpts, NadoClientContext, createClientContext } from './context.cjs';
|
|
4
|
+
export { MarketAPI } from './apis/market/index.cjs';
|
|
5
|
+
export { PerpAPI } from './apis/perp/index.cjs';
|
|
6
|
+
export { SpotAPI } from './apis/spot/index.cjs';
|
|
7
|
+
export { SubaccountAPI } from './apis/subaccount/index.cjs';
|
|
8
|
+
export * from '@nadohq/utils';
|
|
9
|
+
export * from '@nadohq/contracts';
|
|
10
|
+
export * from '@nadohq/engine-client';
|
|
11
|
+
export * from '@nadohq/indexer-client';
|
|
12
|
+
export * from '@nadohq/trigger-client';
|
|
13
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceIsolatedOrderParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.cjs';
|
|
14
|
+
export { ApproveAllowanceParams, BurnVlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintVlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.cjs';
|
|
15
|
+
export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.cjs';
|
|
16
|
+
import './apis/ws/index.cjs';
|
|
17
|
+
import './apis/base.cjs';
|
|
18
|
+
import 'viem';
|
|
19
|
+
import './apis/ws/WebSocketExecuteAPI.cjs';
|
|
20
|
+
import './apis/ws/WebSocketQueryAPI.cjs';
|
|
21
|
+
import './apis/ws/WebSocketSubscriptionAPI.cjs';
|
|
22
|
+
import 'ts-mixer/dist/types/types';
|
|
23
|
+
import './apis/market/MarketExecuteAPI.cjs';
|
|
24
|
+
import './apis/types.cjs';
|
|
25
|
+
import './apis/market/MarketQueryAPI.cjs';
|
|
26
|
+
import './apis/perp/PerpExecuteAPI.cjs';
|
|
27
|
+
import './apis/perp/PerpQueryAPI.cjs';
|
|
28
|
+
import './apis/spot/SpotExecuteAPI.cjs';
|
|
29
|
+
import './apis/spot/BaseSpotAPI.cjs';
|
|
30
|
+
import './apis/spot/SpotQueryAPI.cjs';
|
|
31
|
+
import './apis/subaccount/SubaccountExecuteAPI.cjs';
|
|
32
|
+
import './apis/subaccount/SubaccountQueryAPI.cjs';
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { createNadoClient } from './createNadoClient.js';
|
|
2
|
+
export { NadoClient } from './client.js';
|
|
3
|
+
export { CreateNadoClientContextAccountOpts, CreateNadoClientContextOpts, NadoClientContext, createClientContext } from './context.js';
|
|
4
|
+
export { MarketAPI } from './apis/market/index.js';
|
|
5
|
+
export { PerpAPI } from './apis/perp/index.js';
|
|
6
|
+
export { SpotAPI } from './apis/spot/index.js';
|
|
7
|
+
export { SubaccountAPI } from './apis/subaccount/index.js';
|
|
8
|
+
export * from '@nadohq/utils';
|
|
9
|
+
export * from '@nadohq/contracts';
|
|
10
|
+
export * from '@nadohq/engine-client';
|
|
11
|
+
export * from '@nadohq/indexer-client';
|
|
12
|
+
export * from '@nadohq/trigger-client';
|
|
13
|
+
export { CancelAndPlaceOrderParams, CancelOrdersParams, CancelProductOrdersParams, CancelTriggerOrdersParams, CancelTriggerProductOrdersParams, GetTriggerOrdersParams, PlaceIsolatedOrderParams, PlaceOrderParams, PlaceTriggerOrderParams } from './apis/market/types.js';
|
|
14
|
+
export { ApproveAllowanceParams, BurnVlpParams, GetTokenAllowanceParams, GetTokenWalletBalanceParams, MintVlpParams, ProductIdOrTokenAddress, TransferQuoteParams, WithdrawCollateralParams } from './apis/spot/types.js';
|
|
15
|
+
export { CreateStandardLinkedSignerResult, LinkSignerParams, LiquidateSubaccountParams } from './apis/subaccount/types.js';
|
|
16
|
+
import './apis/ws/index.js';
|
|
17
|
+
import './apis/base.js';
|
|
18
|
+
import 'viem';
|
|
19
|
+
import './apis/ws/WebSocketExecuteAPI.js';
|
|
20
|
+
import './apis/ws/WebSocketQueryAPI.js';
|
|
21
|
+
import './apis/ws/WebSocketSubscriptionAPI.js';
|
|
22
|
+
import 'ts-mixer/dist/types/types';
|
|
23
|
+
import './apis/market/MarketExecuteAPI.js';
|
|
24
|
+
import './apis/types.js';
|
|
25
|
+
import './apis/market/MarketQueryAPI.js';
|
|
26
|
+
import './apis/perp/PerpExecuteAPI.js';
|
|
27
|
+
import './apis/perp/PerpQueryAPI.js';
|
|
28
|
+
import './apis/spot/SpotExecuteAPI.js';
|
|
29
|
+
import './apis/spot/BaseSpotAPI.js';
|
|
30
|
+
import './apis/spot/SpotQueryAPI.js';
|
|
31
|
+
import './apis/subaccount/SubaccountExecuteAPI.js';
|
|
32
|
+
import './apis/subaccount/SubaccountQueryAPI.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
export * from "./createNadoClient.js";
|
|
3
|
+
export * from "./client.js";
|
|
4
|
+
export * from "./context.js";
|
|
5
|
+
export * from "./apis/market/index.js";
|
|
6
|
+
export * from "./apis/perp/index.js";
|
|
7
|
+
export * from "./apis/spot/index.js";
|
|
8
|
+
export * from "./apis/subaccount/index.js";
|
|
9
|
+
export * from "@nadohq/utils";
|
|
10
|
+
export * from "@nadohq/contracts";
|
|
11
|
+
export * from "@nadohq/engine-client";
|
|
12
|
+
export * from "@nadohq/indexer-client";
|
|
13
|
+
export * from "@nadohq/trigger-client";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './createNadoClient';\nexport * from './client';\nexport * from './context';\n\nexport * from './apis/market';\nexport * from './apis/perp';\nexport * from './apis/spot';\nexport * from './apis/subaccount';\n\n// Subpackage exports\nexport * from '@nadohq/utils';\nexport * from '@nadohq/contracts';\nexport * from '@nadohq/engine-client';\nexport * from '@nadohq/indexer-client';\nexport * from '@nadohq/trigger-client';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nadohq/client",
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"description": "> TODO: description",
|
|
7
|
+
"author": "Frank Jia <frank@inkfnd.com>",
|
|
8
|
+
"homepage": "",
|
|
9
|
+
"license": "ISC",
|
|
10
|
+
"source": "./src/index.ts",
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"repository": "https://github.com/nadohq/nado-typescript-sdk",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"clean": "rm -rf dist && rm -f tsconfig.tsbuildinfo",
|
|
17
|
+
"build": "tsup",
|
|
18
|
+
"dev": "tsc -w",
|
|
19
|
+
"lint": "eslint --cache './**/*.{ts,tsx}'",
|
|
20
|
+
"lint:fix": "eslint --cache --fix './**/*.{ts,tsx}'",
|
|
21
|
+
"typecheck": "tsc --noEmit"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"src"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"import": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js"
|
|
32
|
+
},
|
|
33
|
+
"require": {
|
|
34
|
+
"types": "./dist/index.d.cts",
|
|
35
|
+
"default": "./dist/index.cjs"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@nadohq/contracts": "^0.1.0-alpha.1",
|
|
41
|
+
"@nadohq/engine-client": "^0.1.0-alpha.1",
|
|
42
|
+
"@nadohq/indexer-client": "^0.1.0-alpha.1",
|
|
43
|
+
"@nadohq/trigger-client": "^0.1.0-alpha.1",
|
|
44
|
+
"@nadohq/utils": "^0.1.0-alpha.1",
|
|
45
|
+
"ts-mixer": "*"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"viem": "*"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"viem": "*"
|
|
52
|
+
},
|
|
53
|
+
"gitHead": "80100d38c43806d1bb57c9139d9577329467d5db"
|
|
54
|
+
}
|
package/src/apis/base.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { WithContracts } from '@nadohq/contracts';
|
|
2
|
+
import { WalletNotProvidedError } from '@nadohq/utils';
|
|
3
|
+
|
|
4
|
+
import { NadoClientContext } from '../context';
|
|
5
|
+
|
|
6
|
+
export class BaseNadoAPI {
|
|
7
|
+
readonly context: NadoClientContext;
|
|
8
|
+
|
|
9
|
+
constructor(context: NadoClientContext) {
|
|
10
|
+
this.context = context;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
protected getWalletClientAddress() {
|
|
14
|
+
if (!this.context.walletClient) {
|
|
15
|
+
throw new WalletNotProvidedError();
|
|
16
|
+
}
|
|
17
|
+
return this.context.walletClient.account.address;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
protected getWalletClientChainIdIfNeeded(params: {
|
|
21
|
+
chainId?: number;
|
|
22
|
+
}): number {
|
|
23
|
+
if (params.chainId) {
|
|
24
|
+
return params.chainId;
|
|
25
|
+
}
|
|
26
|
+
if (!this.context.walletClient) {
|
|
27
|
+
throw new WalletNotProvidedError();
|
|
28
|
+
}
|
|
29
|
+
return this.context.walletClient.chain.id;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
protected getEndpointAddress() {
|
|
33
|
+
return this.context.contractAddresses.endpoint;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
protected async getOrderbookAddress(productId: number) {
|
|
37
|
+
return this.context.engineClient.getOrderbookAddress(productId);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
protected getSubaccountOwnerIfNeeded(params: {
|
|
41
|
+
subaccountOwner?: string;
|
|
42
|
+
}): string {
|
|
43
|
+
return params.subaccountOwner ?? this.getWalletClientAddress();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected paramsWithContracts<T>(params: T): WithContracts<T> {
|
|
47
|
+
return {
|
|
48
|
+
...params,
|
|
49
|
+
...this.context.contracts,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|