@nadohq/engine-client 0.14.0 → 0.17.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/EngineBaseClient-DOOXIhnZ.d.ts +75 -0
- package/dist/EngineBaseClient-DOOXIhnZ.d.ts.map +1 -0
- package/dist/EngineBaseClient-L1ue7jBx.d.cts +75 -0
- package/dist/EngineBaseClient-L1ue7jBx.d.cts.map +1 -0
- package/dist/EngineBaseClient-Uc1D8ftx.cjs +150 -0
- package/dist/EngineBaseClient-Uc1D8ftx.cjs.map +1 -0
- package/dist/EngineBaseClient.cjs +3 -167
- package/dist/EngineBaseClient.d.cts +2 -75
- package/dist/EngineBaseClient.d.ts +2 -75
- package/dist/EngineBaseClient.js +112 -131
- package/dist/EngineBaseClient.js.map +1 -1
- package/dist/EngineClient.cjs +13 -38
- package/dist/EngineClient.cjs.map +1 -1
- package/dist/EngineClient.d.cts +8 -18
- package/dist/EngineClient.d.cts.map +1 -0
- package/dist/EngineClient.d.ts +8 -18
- package/dist/EngineClient.d.ts.map +1 -0
- package/dist/EngineClient.js +9 -11
- package/dist/EngineClient.js.map +1 -1
- package/dist/EngineExecuteBuilder-VLrEndhv.d.cts +105 -0
- package/dist/EngineExecuteBuilder-VLrEndhv.d.cts.map +1 -0
- package/dist/EngineExecuteBuilder-t8EQ5Rmp.d.ts +105 -0
- package/dist/EngineExecuteBuilder-t8EQ5Rmp.d.ts.map +1 -0
- package/dist/EngineExecuteBuilder.cjs +232 -277
- package/dist/EngineExecuteBuilder.cjs.map +1 -1
- package/dist/EngineExecuteBuilder.d.cts +2 -108
- package/dist/EngineExecuteBuilder.d.ts +2 -108
- package/dist/EngineExecuteBuilder.js +230 -256
- package/dist/EngineExecuteBuilder.js.map +1 -1
- package/dist/EngineExecuteClient-0EBoXRd7.d.ts +24 -0
- package/dist/EngineExecuteClient-0EBoXRd7.d.ts.map +1 -0
- package/dist/EngineExecuteClient-BGlNK5Le.d.cts +24 -0
- package/dist/EngineExecuteClient-BGlNK5Le.d.cts.map +1 -0
- package/dist/EngineExecuteClient.cjs +57 -110
- package/dist/EngineExecuteClient.cjs.map +1 -1
- package/dist/EngineExecuteClient.d.cts +2 -28
- package/dist/EngineExecuteClient.d.ts +2 -28
- package/dist/EngineExecuteClient.js +54 -83
- package/dist/EngineExecuteClient.js.map +1 -1
- package/dist/EngineQueryClient-C_7p1oRx.d.cts +147 -0
- package/dist/EngineQueryClient-C_7p1oRx.d.cts.map +1 -0
- package/dist/EngineQueryClient-DQwCRaYl.d.ts +147 -0
- package/dist/EngineQueryClient-DQwCRaYl.d.ts.map +1 -0
- package/dist/EngineQueryClient.cjs +354 -447
- package/dist/EngineQueryClient.cjs.map +1 -1
- package/dist/EngineQueryClient.d.cts +2 -149
- package/dist/EngineQueryClient.d.ts +2 -149
- package/dist/EngineQueryClient.js +351 -440
- package/dist/EngineQueryClient.js.map +1 -1
- package/dist/EngineServerFailureError-CDabRrF4.d.ts +11 -0
- package/dist/EngineServerFailureError-CDabRrF4.d.ts.map +1 -0
- package/dist/EngineServerFailureError-DpPY0--L.d.cts +11 -0
- package/dist/EngineServerFailureError-DpPY0--L.d.cts.map +1 -0
- package/dist/EngineWebClient-CEwqgd4t.d.ts +35 -0
- package/dist/EngineWebClient-CEwqgd4t.d.ts.map +1 -0
- package/dist/EngineWebClient-DajZqKAQ.d.cts +35 -0
- package/dist/EngineWebClient-DajZqKAQ.d.cts.map +1 -0
- package/dist/EngineWebClient.cjs +49 -86
- package/dist/EngineWebClient.cjs.map +1 -1
- package/dist/EngineWebClient.d.cts +2 -39
- package/dist/EngineWebClient.d.ts +2 -39
- package/dist/EngineWebClient.js +47 -60
- package/dist/EngineWebClient.js.map +1 -1
- package/dist/clientExecuteTypes-BlJOgCL_.d.cts +91 -0
- package/dist/clientExecuteTypes-BlJOgCL_.d.cts.map +1 -0
- package/dist/clientExecuteTypes-CJ08_c4q.d.ts +91 -0
- package/dist/clientExecuteTypes-CJ08_c4q.d.ts.map +1 -0
- package/dist/clientQueryTypes-DlTtS_mX.d.cts +221 -0
- package/dist/clientQueryTypes-DlTtS_mX.d.cts.map +1 -0
- package/dist/clientQueryTypes-DuRgEeBT.d.ts +221 -0
- package/dist/clientQueryTypes-DuRgEeBT.d.ts.map +1 -0
- package/dist/endpoints.cjs +19 -45
- package/dist/endpoints.cjs.map +1 -1
- package/dist/endpoints.d.cts +4 -2
- package/dist/endpoints.d.cts.map +1 -0
- package/dist/endpoints.d.ts +4 -2
- package/dist/endpoints.d.ts.map +1 -0
- package/dist/endpoints.js +16 -18
- package/dist/endpoints.js.map +1 -1
- package/dist/index-CmCelmEL.d.cts +1 -0
- package/dist/index-D0E78WnU.d.ts +1 -0
- package/dist/index.cjs +26 -31
- package/dist/index.d.cts +12 -20
- package/dist/index.d.ts +12 -20
- package/dist/index.js +8 -6
- package/dist/queryDataMappers-BguxA579.d.ts +21 -0
- package/dist/queryDataMappers-BguxA579.d.ts.map +1 -0
- package/dist/queryDataMappers-DO9yWdLo.d.cts +21 -0
- package/dist/queryDataMappers-DO9yWdLo.d.cts.map +1 -0
- package/dist/serverExecuteTypes-CgbHjnWM.d.ts +92 -0
- package/dist/serverExecuteTypes-CgbHjnWM.d.ts.map +1 -0
- package/dist/serverExecuteTypes-DejTR8Is.d.cts +92 -0
- package/dist/serverExecuteTypes-DejTR8Is.d.cts.map +1 -0
- package/dist/serverQueryModelTypes-85xnbU-a.d.cts +98 -0
- package/dist/serverQueryModelTypes-85xnbU-a.d.cts.map +1 -0
- package/dist/serverQueryModelTypes-CENoy5Hm.d.ts +98 -0
- package/dist/serverQueryModelTypes-CENoy5Hm.d.ts.map +1 -0
- package/dist/serverQueryTypes-B3vC8vxT.d.ts +301 -0
- package/dist/serverQueryTypes-B3vC8vxT.d.ts.map +1 -0
- package/dist/serverQueryTypes-Dva9R2tV.d.cts +301 -0
- package/dist/serverQueryTypes-Dva9R2tV.d.cts.map +1 -0
- package/dist/serverSubscriptionEventTypes-BMUrTkTg.d.cts +135 -0
- package/dist/serverSubscriptionEventTypes-BMUrTkTg.d.cts.map +1 -0
- package/dist/serverSubscriptionEventTypes-UCYAjmt7.d.ts +135 -0
- package/dist/serverSubscriptionEventTypes-UCYAjmt7.d.ts.map +1 -0
- package/dist/serverSubscriptionTypes-BSuYa6z_.d.cts +82 -0
- package/dist/serverSubscriptionTypes-BSuYa6z_.d.cts.map +1 -0
- package/dist/serverSubscriptionTypes-DoMWeKgY.d.ts +82 -0
- package/dist/serverSubscriptionTypes-DoMWeKgY.d.ts.map +1 -0
- package/dist/types/EngineServerFailureError.cjs +9 -33
- package/dist/types/EngineServerFailureError.cjs.map +1 -1
- package/dist/types/EngineServerFailureError.d.cts +2 -11
- package/dist/types/EngineServerFailureError.d.ts +2 -11
- package/dist/types/EngineServerFailureError.js +8 -8
- package/dist/types/EngineServerFailureError.js.map +1 -1
- package/dist/types/clientExecuteTypes.cjs +0 -19
- package/dist/types/clientExecuteTypes.d.cts +2 -91
- package/dist/types/clientExecuteTypes.d.ts +2 -91
- package/dist/types/clientExecuteTypes.js +1 -1
- package/dist/types/clientQueryTypes.cjs +0 -19
- package/dist/types/clientQueryTypes.d.cts +2 -219
- package/dist/types/clientQueryTypes.d.ts +2 -219
- package/dist/types/clientQueryTypes.js +1 -1
- package/dist/types/index.cjs +5 -39
- package/dist/types/index.d.cts +9 -10
- package/dist/types/index.d.ts +9 -10
- package/dist/types/index.js +3 -10
- package/dist/types/serverExecuteTypes.cjs +0 -19
- package/dist/types/serverExecuteTypes.d.cts +2 -93
- package/dist/types/serverExecuteTypes.d.ts +2 -93
- package/dist/types/serverExecuteTypes.js +1 -1
- package/dist/types/serverQueryModelTypes.cjs +0 -19
- package/dist/types/serverQueryModelTypes.d.cts +2 -96
- package/dist/types/serverQueryModelTypes.d.ts +2 -96
- package/dist/types/serverQueryModelTypes.js +1 -1
- package/dist/types/serverQueryTypes.cjs +12 -36
- package/dist/types/serverQueryTypes.cjs.map +1 -1
- package/dist/types/serverQueryTypes.d.cts +2 -309
- package/dist/types/serverQueryTypes.d.ts +2 -309
- package/dist/types/serverQueryTypes.js +11 -11
- package/dist/types/serverQueryTypes.js.map +1 -1
- package/dist/types/serverSubscriptionEventTypes.cjs +0 -19
- package/dist/types/serverSubscriptionEventTypes.d.cts +2 -135
- package/dist/types/serverSubscriptionEventTypes.d.ts +2 -135
- package/dist/types/serverSubscriptionEventTypes.js +1 -1
- package/dist/types/serverSubscriptionTypes.cjs +0 -19
- package/dist/types/serverSubscriptionTypes.d.cts +2 -80
- package/dist/types/serverSubscriptionTypes.d.ts +2 -80
- package/dist/types/serverSubscriptionTypes.js +1 -1
- package/dist/utils/index.cjs +14 -25
- package/dist/utils/index.d.cts +2 -6
- package/dist/utils/index.d.ts +2 -6
- package/dist/utils/index.js +2 -3
- package/dist/utils/productEngineTypeMappers.cjs +16 -44
- package/dist/utils/productEngineTypeMappers.cjs.map +1 -1
- package/dist/utils/productEngineTypeMappers.d.cts +5 -3
- package/dist/utils/productEngineTypeMappers.d.cts.map +1 -0
- package/dist/utils/productEngineTypeMappers.d.ts +5 -3
- package/dist/utils/productEngineTypeMappers.d.ts.map +1 -0
- package/dist/utils/productEngineTypeMappers.js +12 -17
- package/dist/utils/productEngineTypeMappers.js.map +1 -1
- package/dist/utils/queryDataMappers.cjs +204 -292
- package/dist/utils/queryDataMappers.cjs.map +1 -1
- package/dist/utils/queryDataMappers.d.cts +2 -20
- package/dist/utils/queryDataMappers.d.ts +2 -20
- package/dist/utils/queryDataMappers.js +190 -264
- package/dist/utils/queryDataMappers.js.map +1 -1
- package/package.json +9 -9
- package/src/EngineQueryClient.ts +4 -0
- package/src/types/clientQueryTypes.ts +3 -0
- package/src/types/serverQueryTypes.ts +3 -0
- package/dist/EngineBaseClient.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types/clientExecuteTypes.cjs.map +0 -1
- package/dist/types/clientExecuteTypes.js.map +0 -1
- package/dist/types/clientQueryTypes.cjs.map +0 -1
- package/dist/types/clientQueryTypes.js.map +0 -1
- package/dist/types/index.cjs.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/serverExecuteTypes.cjs.map +0 -1
- package/dist/types/serverExecuteTypes.js.map +0 -1
- package/dist/types/serverQueryModelTypes.cjs.map +0 -1
- package/dist/types/serverQueryModelTypes.js.map +0 -1
- package/dist/types/serverSubscriptionEventTypes.cjs.map +0 -1
- package/dist/types/serverSubscriptionEventTypes.js.map +0 -1
- package/dist/types/serverSubscriptionTypes.cjs.map +0 -1
- package/dist/types/serverSubscriptionTypes.js.map +0 -1
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.js.map +0 -1
package/dist/EngineBaseClient.js
CHANGED
|
@@ -1,135 +1,116 @@
|
|
|
1
|
-
// src/EngineBaseClient.ts
|
|
2
|
-
import {
|
|
3
|
-
getSignedTransactionRequest,
|
|
4
|
-
WalletNotProvidedError
|
|
5
|
-
} from "@nadohq/shared";
|
|
6
|
-
import axios from "axios";
|
|
7
1
|
import { EngineServerFailureError } from "./types/EngineServerFailureError.js";
|
|
2
|
+
import { WalletNotProvidedError, getSignedTransactionRequest } from "@nadohq/shared";
|
|
3
|
+
import axios from "axios";
|
|
4
|
+
//#region src/EngineBaseClient.ts
|
|
5
|
+
/**
|
|
6
|
+
* Base client for all engine requests
|
|
7
|
+
*/
|
|
8
8
|
var EngineBaseClient = class {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
chainId,
|
|
113
|
-
requestParams: params,
|
|
114
|
-
requestType,
|
|
115
|
-
walletClient,
|
|
116
|
-
verifyingContract
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
checkResponseStatus(response) {
|
|
120
|
-
if (response.status !== 200 || !response.data) {
|
|
121
|
-
throw Error(
|
|
122
|
-
`Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
checkServerStatus(response) {
|
|
127
|
-
if (response.data.status !== "success") {
|
|
128
|
-
throw new EngineServerFailureError(response.data);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
export {
|
|
133
|
-
EngineBaseClient
|
|
9
|
+
constructor(opts) {
|
|
10
|
+
this.opts = opts;
|
|
11
|
+
this.axiosInstance = axios.create({
|
|
12
|
+
withCredentials: true,
|
|
13
|
+
validateStatus: () => true
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sets the linked signer for execute requests
|
|
18
|
+
*
|
|
19
|
+
* @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer
|
|
20
|
+
*/
|
|
21
|
+
setLinkedSigner(linkedSignerWalletClient) {
|
|
22
|
+
this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? void 0;
|
|
23
|
+
}
|
|
24
|
+
async getTxNonce(address) {
|
|
25
|
+
const addr = address ?? this.opts.walletClient?.account.address;
|
|
26
|
+
if (!addr) throw new WalletNotProvidedError();
|
|
27
|
+
return (await this.getNonces({ address: addr })).txNonce;
|
|
28
|
+
}
|
|
29
|
+
async getNonces(params) {
|
|
30
|
+
const baseResp = await this.query("nonces", params);
|
|
31
|
+
return {
|
|
32
|
+
orderNonce: baseResp.order_nonce,
|
|
33
|
+
txNonce: baseResp.tx_nonce
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Queries the engine, all query params are stringified into the query string
|
|
38
|
+
*
|
|
39
|
+
* @param requestType
|
|
40
|
+
* @param params
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
async query(requestType, params) {
|
|
44
|
+
const request = this.getQueryRequest(requestType, params);
|
|
45
|
+
const response = await this.axiosInstance.post(`${this.opts.url}/query`, request);
|
|
46
|
+
this.checkResponseStatus(response);
|
|
47
|
+
this.checkServerStatus(response);
|
|
48
|
+
return response.data.data;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A simple, typechecked fn for constructing a query request in the format expected by the server.
|
|
52
|
+
*
|
|
53
|
+
* @param requestType
|
|
54
|
+
* @param params
|
|
55
|
+
*/
|
|
56
|
+
getQueryRequest(requestType, params) {
|
|
57
|
+
return {
|
|
58
|
+
type: requestType,
|
|
59
|
+
...params
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* POSTs an execute message to the engine and returns the successful response. Throws the failure response wrapped
|
|
64
|
+
* in an EngineServerFailureError on failure.
|
|
65
|
+
*
|
|
66
|
+
* @param requestType
|
|
67
|
+
* @param params
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
async execute(requestType, params) {
|
|
71
|
+
const reqBody = this.getExecuteRequest(requestType, params);
|
|
72
|
+
const response = await this.axiosInstance.post(`${this.opts.url}/execute`, reqBody);
|
|
73
|
+
this.checkResponseStatus(response);
|
|
74
|
+
this.checkServerStatus(response);
|
|
75
|
+
return response.data;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A simple, typechecked fn for constructing an execute request in the format expected by the server.
|
|
79
|
+
*
|
|
80
|
+
* @param requestType
|
|
81
|
+
* @param params
|
|
82
|
+
*/
|
|
83
|
+
getExecuteRequest(requestType, params) {
|
|
84
|
+
return { [requestType]: params };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Signs a given request with the signer provided to the engine
|
|
88
|
+
*
|
|
89
|
+
* @param requestType
|
|
90
|
+
* @param verifyingContract
|
|
91
|
+
* @param chainId
|
|
92
|
+
* @param params
|
|
93
|
+
* @public
|
|
94
|
+
*/
|
|
95
|
+
async sign(requestType, verifyingContract, chainId, params) {
|
|
96
|
+
const walletClient = this.opts.linkedSignerWalletClient ?? this.opts.walletClient;
|
|
97
|
+
if (!walletClient) throw new WalletNotProvidedError();
|
|
98
|
+
return getSignedTransactionRequest({
|
|
99
|
+
chainId,
|
|
100
|
+
requestParams: params,
|
|
101
|
+
requestType,
|
|
102
|
+
walletClient,
|
|
103
|
+
verifyingContract
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
checkResponseStatus(response) {
|
|
107
|
+
if (response.status !== 200 || !response.data) throw Error(`Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`);
|
|
108
|
+
}
|
|
109
|
+
checkServerStatus(response) {
|
|
110
|
+
if (response.data.status !== "success") throw new EngineServerFailureError(response.data);
|
|
111
|
+
}
|
|
134
112
|
};
|
|
113
|
+
//#endregion
|
|
114
|
+
export { EngineBaseClient };
|
|
115
|
+
|
|
135
116
|
//# sourceMappingURL=EngineBaseClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineBaseClient.ts"],"sourcesContent":["import {\n getSignedTransactionRequest,\n SignableRequestType,\n SignableRequestTypeToParams,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n EngineServerExecuteRequestByType,\n EngineServerExecuteRequestType,\n EngineServerExecuteResult,\n EngineServerExecuteSuccessResult,\n EngineServerQueryRequest,\n EngineServerQueryRequestByType,\n EngineServerQueryRequestType,\n EngineServerQueryResponse,\n EngineServerQueryResponseByType,\n EngineServerQuerySuccessResponse,\n GetEngineNoncesParams,\n GetEngineNoncesResponse,\n} from './types';\nimport { EngineServerFailureError } from './types/EngineServerFailureError';\n\nexport interface EngineClientOpts {\n // Server URL\n url: string;\n // Wallet client for EIP712 signing\n walletClient?: WalletClientWithAccount;\n // Linked signer registered through the engine, if provided, execute requests will use this signer\n linkedSignerWalletClient?: WalletClientWithAccount;\n}\n\n// Only 1 key can be defined per execute request\ntype EngineExecuteRequestBody = Partial<EngineServerExecuteRequestByType>;\n\ntype EngineQueryRequestResponse<\n T extends EngineServerQueryRequestType = EngineServerQueryRequestType,\n> = EngineServerQueryResponse<T>;\n\n/**\n * Base client for all engine requests\n */\nexport class EngineBaseClient {\n readonly opts: EngineClientOpts;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: EngineClientOpts) {\n this.opts = opts;\n this.axiosInstance = axios.create({\n withCredentials: true,\n // We have custom logic to validate response status and create an appropriate error\n validateStatus: () => true,\n });\n }\n\n /**\n * Sets the linked signer for execute requests\n *\n * @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer\n */\n public setLinkedSigner(\n linkedSignerWalletClient: WalletClientWithAccount | null,\n ) {\n this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? undefined;\n }\n\n public async getTxNonce(address?: string): Promise<string> {\n const addr = address ?? this.opts.walletClient?.account.address;\n\n if (!addr) {\n throw new WalletNotProvidedError();\n }\n\n return (\n await this.getNonces({\n address: addr,\n })\n ).txNonce;\n }\n\n public async getNonces(\n params: GetEngineNoncesParams,\n ): Promise<GetEngineNoncesResponse> {\n const baseResp = await this.query('nonces', params);\n\n return {\n orderNonce: baseResp.order_nonce,\n txNonce: baseResp.tx_nonce,\n };\n }\n\n /**\n * Queries the engine, all query params are stringified into the query string\n *\n * @param requestType\n * @param params\n * @public\n */\n public async query<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): Promise<EngineServerQueryResponseByType[TRequestType]> {\n const request = this.getQueryRequest(requestType, params);\n const response = await this.axiosInstance.post<EngineQueryRequestResponse>(\n `${this.opts.url}/query`,\n request,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus throws on failure responses so the cast to the success response is acceptable here\n const successResponse = response as AxiosResponse<\n EngineServerQuerySuccessResponse<TRequestType>\n >;\n\n return successResponse.data.data;\n }\n\n /**\n * A simple, typechecked fn for constructing a query request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getQueryRequest<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): EngineServerQueryRequest<TRequestType> {\n return {\n type: requestType,\n ...params,\n };\n }\n\n /**\n * POSTs an execute message to the engine and returns the successful response. Throws the failure response wrapped\n * in an EngineServerFailureError on failure.\n *\n * @param requestType\n * @param params\n * @public\n */\n public async execute<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): Promise<EngineServerExecuteSuccessResult<TRequestType>> {\n const reqBody = this.getExecuteRequest(requestType, params);\n const response = await this.axiosInstance.post<\n EngineServerExecuteResult<TRequestType>\n >(`${this.opts.url}/execute`, reqBody);\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus catches the failure result and throws the error, so the cast to the success response is acceptable here\n return response.data as EngineServerExecuteSuccessResult<TRequestType>;\n }\n\n /**\n * A simple, typechecked fn for constructing an execute request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getExecuteRequest<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): EngineExecuteRequestBody {\n return {\n [requestType]: params,\n };\n }\n\n /**\n * Signs a given request with the signer provided to the engine\n *\n * @param requestType\n * @param verifyingContract\n * @param chainId\n * @param params\n * @public\n */\n public async sign<T extends SignableRequestType>(\n requestType: T,\n verifyingContract: string,\n chainId: number,\n params: SignableRequestTypeToParams[T],\n ) {\n // Use the linked signer if provided, otherwise use the default signer provided to the engine\n const walletClient =\n this.opts.linkedSignerWalletClient ?? this.opts.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n return getSignedTransactionRequest({\n chainId,\n requestParams: params,\n requestType,\n walletClient,\n verifyingContract,\n });\n }\n\n private checkResponseStatus(response: AxiosResponse) {\n if (response.status !== 200 || !response.data) {\n throw Error(\n `Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`,\n );\n }\n }\n\n private checkServerStatus(\n response: AxiosResponse<\n EngineServerExecuteResult | EngineQueryRequestResponse\n >,\n ) {\n if (response.data.status !== 'success') {\n throw new EngineServerFailureError(response.data);\n }\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineBaseClient.js","names":["successResponse"],"sources":["../src/EngineBaseClient.ts"],"sourcesContent":["import {\n getSignedTransactionRequest,\n SignableRequestType,\n SignableRequestTypeToParams,\n WalletClientWithAccount,\n WalletNotProvidedError,\n} from '@nadohq/shared';\nimport axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport {\n EngineServerExecuteRequestByType,\n EngineServerExecuteRequestType,\n EngineServerExecuteResult,\n EngineServerExecuteSuccessResult,\n EngineServerQueryRequest,\n EngineServerQueryRequestByType,\n EngineServerQueryRequestType,\n EngineServerQueryResponse,\n EngineServerQueryResponseByType,\n EngineServerQuerySuccessResponse,\n GetEngineNoncesParams,\n GetEngineNoncesResponse,\n} from './types';\nimport { EngineServerFailureError } from './types/EngineServerFailureError';\n\nexport interface EngineClientOpts {\n // Server URL\n url: string;\n // Wallet client for EIP712 signing\n walletClient?: WalletClientWithAccount;\n // Linked signer registered through the engine, if provided, execute requests will use this signer\n linkedSignerWalletClient?: WalletClientWithAccount;\n}\n\n// Only 1 key can be defined per execute request\ntype EngineExecuteRequestBody = Partial<EngineServerExecuteRequestByType>;\n\ntype EngineQueryRequestResponse<\n T extends EngineServerQueryRequestType = EngineServerQueryRequestType,\n> = EngineServerQueryResponse<T>;\n\n/**\n * Base client for all engine requests\n */\nexport class EngineBaseClient {\n readonly opts: EngineClientOpts;\n readonly axiosInstance: AxiosInstance;\n\n constructor(opts: EngineClientOpts) {\n this.opts = opts;\n this.axiosInstance = axios.create({\n withCredentials: true,\n // We have custom logic to validate response status and create an appropriate error\n validateStatus: () => true,\n });\n }\n\n /**\n * Sets the linked signer for execute requests\n *\n * @param linkedSignerWalletClient The linkedSigner to use for all signatures. Set to null to revert to the chain signer\n */\n public setLinkedSigner(\n linkedSignerWalletClient: WalletClientWithAccount | null,\n ) {\n this.opts.linkedSignerWalletClient = linkedSignerWalletClient ?? undefined;\n }\n\n public async getTxNonce(address?: string): Promise<string> {\n const addr = address ?? this.opts.walletClient?.account.address;\n\n if (!addr) {\n throw new WalletNotProvidedError();\n }\n\n return (\n await this.getNonces({\n address: addr,\n })\n ).txNonce;\n }\n\n public async getNonces(\n params: GetEngineNoncesParams,\n ): Promise<GetEngineNoncesResponse> {\n const baseResp = await this.query('nonces', params);\n\n return {\n orderNonce: baseResp.order_nonce,\n txNonce: baseResp.tx_nonce,\n };\n }\n\n /**\n * Queries the engine, all query params are stringified into the query string\n *\n * @param requestType\n * @param params\n * @public\n */\n public async query<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): Promise<EngineServerQueryResponseByType[TRequestType]> {\n const request = this.getQueryRequest(requestType, params);\n const response = await this.axiosInstance.post<EngineQueryRequestResponse>(\n `${this.opts.url}/query`,\n request,\n );\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus throws on failure responses so the cast to the success response is acceptable here\n const successResponse = response as AxiosResponse<\n EngineServerQuerySuccessResponse<TRequestType>\n >;\n\n return successResponse.data.data;\n }\n\n /**\n * A simple, typechecked fn for constructing a query request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getQueryRequest<TRequestType extends EngineServerQueryRequestType>(\n requestType: TRequestType,\n params: EngineServerQueryRequestByType[TRequestType],\n ): EngineServerQueryRequest<TRequestType> {\n return {\n type: requestType,\n ...params,\n };\n }\n\n /**\n * POSTs an execute message to the engine and returns the successful response. Throws the failure response wrapped\n * in an EngineServerFailureError on failure.\n *\n * @param requestType\n * @param params\n * @public\n */\n public async execute<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): Promise<EngineServerExecuteSuccessResult<TRequestType>> {\n const reqBody = this.getExecuteRequest(requestType, params);\n const response = await this.axiosInstance.post<\n EngineServerExecuteResult<TRequestType>\n >(`${this.opts.url}/execute`, reqBody);\n\n this.checkResponseStatus(response);\n this.checkServerStatus(response);\n\n // checkServerStatus catches the failure result and throws the error, so the cast to the success response is acceptable here\n return response.data as EngineServerExecuteSuccessResult<TRequestType>;\n }\n\n /**\n * A simple, typechecked fn for constructing an execute request in the format expected by the server.\n *\n * @param requestType\n * @param params\n */\n public getExecuteRequest<TRequestType extends EngineServerExecuteRequestType>(\n requestType: TRequestType,\n params: EngineServerExecuteRequestByType[TRequestType],\n ): EngineExecuteRequestBody {\n return {\n [requestType]: params,\n };\n }\n\n /**\n * Signs a given request with the signer provided to the engine\n *\n * @param requestType\n * @param verifyingContract\n * @param chainId\n * @param params\n * @public\n */\n public async sign<T extends SignableRequestType>(\n requestType: T,\n verifyingContract: string,\n chainId: number,\n params: SignableRequestTypeToParams[T],\n ) {\n // Use the linked signer if provided, otherwise use the default signer provided to the engine\n const walletClient =\n this.opts.linkedSignerWalletClient ?? this.opts.walletClient;\n\n if (!walletClient) {\n throw new WalletNotProvidedError();\n }\n\n return getSignedTransactionRequest({\n chainId,\n requestParams: params,\n requestType,\n walletClient,\n verifyingContract,\n });\n }\n\n private checkResponseStatus(response: AxiosResponse) {\n if (response.status !== 200 || !response.data) {\n throw Error(\n `Unexpected response from server: ${response.status} ${response.statusText}. Data: ${response.data}`,\n );\n }\n }\n\n private checkServerStatus(\n response: AxiosResponse<\n EngineServerExecuteResult | EngineQueryRequestResponse\n >,\n ) {\n if (response.data.status !== 'success') {\n throw new EngineServerFailureError(response.data);\n }\n }\n}\n"],"mappings":";;;;;;;AA2CA,IAAa,mBAAb,MAA8B;CAI5B,YAAY,MAAwB;EAClC,KAAK,OAAO;EACZ,KAAK,gBAAgB,MAAM,OAAO;GAChC,iBAAiB;GAEjB,sBAAsB;EACxB,CAAC;CACH;;;;;;CAOA,gBACE,0BACA;EACA,KAAK,KAAK,2BAA2B,4BAA4B,KAAA;CACnE;CAEA,MAAa,WAAW,SAAmC;EACzD,MAAM,OAAO,WAAW,KAAK,KAAK,cAAc,QAAQ;EAExD,IAAI,CAAC,MACH,MAAM,IAAI,uBAAuB;EAGnC,QACE,MAAM,KAAK,UAAU,EACnB,SAAS,KACX,CAAC,GACD;CACJ;CAEA,MAAa,UACX,QACkC;EAClC,MAAM,WAAW,MAAM,KAAK,MAAM,UAAU,MAAM;EAElD,OAAO;GACL,YAAY,SAAS;GACrB,SAAS,SAAS;EACpB;CACF;;;;;;;;CASA,MAAa,MACX,aACA,QACwD;EACxD,MAAM,UAAU,KAAK,gBAAgB,aAAa,MAAM;EACxD,MAAM,WAAW,MAAM,KAAK,cAAc,KACxC,GAAG,KAAK,KAAK,IAAI,SACjB,OACF;EAEA,KAAK,oBAAoB,QAAQ;EACjC,KAAK,kBAAkB,QAAQ;EAO/B,OAAOA,SAAgB,KAAK;CAC9B;;;;;;;CAQA,gBACE,aACA,QACwC;EACxC,OAAO;GACL,MAAM;GACN,GAAG;EACL;CACF;;;;;;;;;CAUA,MAAa,QACX,aACA,QACyD;EACzD,MAAM,UAAU,KAAK,kBAAkB,aAAa,MAAM;EAC1D,MAAM,WAAW,MAAM,KAAK,cAAc,KAExC,GAAG,KAAK,KAAK,IAAI,WAAW,OAAO;EAErC,KAAK,oBAAoB,QAAQ;EACjC,KAAK,kBAAkB,QAAQ;EAG/B,OAAO,SAAS;CAClB;;;;;;;CAQA,kBACE,aACA,QAC0B;EAC1B,OAAO,GACJ,cAAc,OACjB;CACF;;;;;;;;;;CAWA,MAAa,KACX,aACA,mBACA,SACA,QACA;EAEA,MAAM,eACJ,KAAK,KAAK,4BAA4B,KAAK,KAAK;EAElD,IAAI,CAAC,cACH,MAAM,IAAI,uBAAuB;EAGnC,OAAO,4BAA4B;GACjC;GACA,eAAe;GACf;GACA;GACA;EACF,CAAC;CACH;CAEA,oBAA4B,UAAyB;EACnD,IAAI,SAAS,WAAW,OAAO,CAAC,SAAS,MACvC,MAAM,MACJ,oCAAoC,SAAS,OAAO,GAAG,SAAS,WAAW,UAAU,SAAS,MAChG;CAEJ;CAEA,kBACE,UAGA;EACA,IAAI,SAAS,KAAK,WAAW,WAC3B,MAAM,IAAI,yBAAyB,SAAS,IAAI;CAEpD;AACF"}
|
package/dist/EngineClient.cjs
CHANGED
|
@@ -1,40 +1,15 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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);
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("./EngineBaseClient-Uc1D8ftx.cjs");
|
|
3
|
+
const require_EngineExecuteClient = require("./EngineExecuteClient.cjs");
|
|
4
|
+
const require_EngineQueryClient = require("./EngineQueryClient.cjs");
|
|
5
|
+
const require_EngineWebClient = require("./EngineWebClient.cjs");
|
|
6
|
+
let ts_mixer = require("ts-mixer");
|
|
7
|
+
//#region src/EngineClient.ts
|
|
8
|
+
/**
|
|
9
|
+
* Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication
|
|
10
|
+
*/
|
|
11
|
+
var EngineClient = class extends (0, ts_mixer.Mixin)(require_EngineQueryClient.EngineQueryClient, require_EngineExecuteClient.EngineExecuteClient, require_EngineWebClient.EngineWebClient) {};
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.EngineClient = EngineClient;
|
|
19
14
|
|
|
20
|
-
// src/EngineClient.ts
|
|
21
|
-
var EngineClient_exports = {};
|
|
22
|
-
__export(EngineClient_exports, {
|
|
23
|
-
EngineClient: () => EngineClient
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(EngineClient_exports);
|
|
26
|
-
var import_ts_mixer = require("ts-mixer");
|
|
27
|
-
var import_EngineExecuteClient = require("./EngineExecuteClient.cjs");
|
|
28
|
-
var import_EngineQueryClient = require("./EngineQueryClient.cjs");
|
|
29
|
-
var import_EngineWebClient = require("./EngineWebClient.cjs");
|
|
30
|
-
var EngineClient = class extends (0, import_ts_mixer.Mixin)(
|
|
31
|
-
import_EngineQueryClient.EngineQueryClient,
|
|
32
|
-
import_EngineExecuteClient.EngineExecuteClient,
|
|
33
|
-
import_EngineWebClient.EngineWebClient
|
|
34
|
-
) {
|
|
35
|
-
};
|
|
36
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
-
0 && (module.exports = {
|
|
38
|
-
EngineClient
|
|
39
|
-
});
|
|
40
15
|
//# sourceMappingURL=EngineClient.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineClient.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { EngineExecuteClient } from './EngineExecuteClient';\nimport { EngineQueryClient } from './EngineQueryClient';\nimport { EngineWebClient } from './EngineWebClient';\n\n/**\n * Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication\n */\nexport class EngineClient extends Mixin(\n EngineQueryClient,\n EngineExecuteClient,\n EngineWebClient,\n) {}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineClient.cjs","names":["EngineQueryClient","EngineExecuteClient","EngineWebClient"],"sources":["../src/EngineClient.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { EngineExecuteClient } from './EngineExecuteClient';\nimport { EngineQueryClient } from './EngineQueryClient';\nimport { EngineWebClient } from './EngineWebClient';\n\n/**\n * Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication\n */\nexport class EngineClient extends Mixin(\n EngineQueryClient,\n EngineExecuteClient,\n EngineWebClient,\n) {}\n"],"mappings":";;;;;;;;;;AAQA,IAAa,eAAb,eAAA,GAAA,SAAA,OACEA,0BAAAA,mBACAC,4BAAAA,qBACAC,wBAAAA,eACF,EAAE,CAAC"}
|
package/dist/EngineClient.d.cts
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { EngineWebClient } from './EngineWebClient.cjs';
|
|
5
|
-
import './types/clientExecuteTypes.cjs';
|
|
6
|
-
import '@nadohq/shared';
|
|
7
|
-
import 'bignumber.js';
|
|
8
|
-
import './types/serverExecuteTypes.cjs';
|
|
9
|
-
import './types/serverQueryTypes.cjs';
|
|
10
|
-
import './types/serverQueryModelTypes.cjs';
|
|
11
|
-
import './EngineBaseClient.cjs';
|
|
12
|
-
import 'axios';
|
|
13
|
-
import './types/clientQueryTypes.cjs';
|
|
14
|
-
import './EngineExecuteBuilder.cjs';
|
|
1
|
+
import { t as EngineExecuteClient } from "./EngineExecuteClient-BGlNK5Le.cjs";
|
|
2
|
+
import { t as EngineQueryClient } from "./EngineQueryClient-C_7p1oRx.cjs";
|
|
3
|
+
import { t as EngineWebClient } from "./EngineWebClient-DajZqKAQ.cjs";
|
|
15
4
|
|
|
16
|
-
|
|
5
|
+
//#region src/EngineClient.d.ts
|
|
6
|
+
declare const EngineClient_base: import("ts-mixer/dist/types/types").Class<any[], EngineQueryClient & EngineExecuteClient & EngineWebClient, typeof EngineQueryClient & typeof EngineExecuteClient & typeof EngineWebClient>;
|
|
17
7
|
/**
|
|
18
8
|
* Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication
|
|
19
9
|
*/
|
|
20
|
-
declare class EngineClient extends EngineClient_base {
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
declare class EngineClient extends EngineClient_base {}
|
|
11
|
+
//#endregion
|
|
23
12
|
export { EngineClient };
|
|
13
|
+
//# sourceMappingURL=EngineClient.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineClient.d.cts","names":[],"sources":["../src/src/EngineClient.ts"],"mappings":";;;;;cAGoD,iBAAA;;AAAA;;cAKvC,YAAA,SAAqB,iBAIjC"}
|
package/dist/EngineClient.d.ts
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { EngineWebClient } from './EngineWebClient.js';
|
|
5
|
-
import './types/clientExecuteTypes.js';
|
|
6
|
-
import '@nadohq/shared';
|
|
7
|
-
import 'bignumber.js';
|
|
8
|
-
import './types/serverExecuteTypes.js';
|
|
9
|
-
import './types/serverQueryTypes.js';
|
|
10
|
-
import './types/serverQueryModelTypes.js';
|
|
11
|
-
import './EngineBaseClient.js';
|
|
12
|
-
import 'axios';
|
|
13
|
-
import './types/clientQueryTypes.js';
|
|
14
|
-
import './EngineExecuteBuilder.js';
|
|
1
|
+
import { t as EngineExecuteClient } from "./EngineExecuteClient-0EBoXRd7.js";
|
|
2
|
+
import { t as EngineQueryClient } from "./EngineQueryClient-DQwCRaYl.js";
|
|
3
|
+
import { t as EngineWebClient } from "./EngineWebClient-CEwqgd4t.js";
|
|
15
4
|
|
|
16
|
-
|
|
5
|
+
//#region src/EngineClient.d.ts
|
|
6
|
+
declare const EngineClient_base: import("ts-mixer/dist/types/types").Class<any[], EngineQueryClient & EngineExecuteClient & EngineWebClient, typeof EngineQueryClient & typeof EngineExecuteClient & typeof EngineWebClient>;
|
|
17
7
|
/**
|
|
18
8
|
* Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication
|
|
19
9
|
*/
|
|
20
|
-
declare class EngineClient extends EngineClient_base {
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
declare class EngineClient extends EngineClient_base {}
|
|
11
|
+
//#endregion
|
|
23
12
|
export { EngineClient };
|
|
13
|
+
//# sourceMappingURL=EngineClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineClient.d.ts","names":[],"sources":["../src/src/EngineClient.ts"],"mappings":";;;;;cAGoD,iBAAA;;AAAA;;cAKvC,YAAA,SAAqB,iBAIjC"}
|
package/dist/EngineClient.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
// src/EngineClient.ts
|
|
2
|
-
import { Mixin } from "ts-mixer";
|
|
3
1
|
import { EngineExecuteClient } from "./EngineExecuteClient.js";
|
|
4
2
|
import { EngineQueryClient } from "./EngineQueryClient.js";
|
|
5
3
|
import { EngineWebClient } from "./EngineWebClient.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
import { Mixin } from "ts-mixer";
|
|
5
|
+
//#region src/EngineClient.ts
|
|
6
|
+
/**
|
|
7
|
+
* Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication
|
|
8
|
+
*/
|
|
9
|
+
var EngineClient = class extends Mixin(EngineQueryClient, EngineExecuteClient, EngineWebClient) {};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { EngineClient };
|
|
12
|
+
|
|
15
13
|
//# sourceMappingURL=EngineClient.js.map
|
package/dist/EngineClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/EngineClient.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { EngineExecuteClient } from './EngineExecuteClient';\nimport { EngineQueryClient } from './EngineQueryClient';\nimport { EngineWebClient } from './EngineWebClient';\n\n/**\n * Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication\n */\nexport class EngineClient extends Mixin(\n EngineQueryClient,\n EngineExecuteClient,\n EngineWebClient,\n) {}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineClient.js","names":[],"sources":["../src/EngineClient.ts"],"sourcesContent":["import { Mixin } from 'ts-mixer';\nimport { EngineExecuteClient } from './EngineExecuteClient';\nimport { EngineQueryClient } from './EngineQueryClient';\nimport { EngineWebClient } from './EngineWebClient';\n\n/**\n * Combined Engine client providing query, execution, and WebSocket functionality for off-chain matching engine communication\n */\nexport class EngineClient extends Mixin(\n EngineQueryClient,\n EngineExecuteClient,\n EngineWebClient,\n) {}\n"],"mappings":";;;;;;;;AAQA,IAAa,eAAb,cAAkC,MAChC,mBACA,qBACA,eACF,EAAE,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { a as EngineServerExecuteRequestByType, i as EngineServerExecutePlaceOrderPayload } from "./serverExecuteTypes-DejTR8Is.cjs";
|
|
2
|
+
import { _ as WithSignature, a as EngineExecuteRequestParamsByType, g as WithBaseEngineExecuteParams, h as SignatureParams } from "./clientExecuteTypes-BlJOgCL_.cjs";
|
|
3
|
+
import { t as EngineBaseClient } from "./EngineBaseClient-L1ue7jBx.cjs";
|
|
4
|
+
import { EIP712OrderParams, SignableRequestType, SignableRequestTypeToParams } from "@nadohq/shared";
|
|
5
|
+
|
|
6
|
+
//#region src/EngineExecuteBuilder.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Builds execute payloads as expected by the server.
|
|
9
|
+
* @param nonce A nonce is computed when one is not provided.
|
|
10
|
+
* @param signature A signature is computed when one is not provided.
|
|
11
|
+
*/
|
|
12
|
+
declare class EngineExecuteBuilder {
|
|
13
|
+
readonly engineClient: EngineBaseClient;
|
|
14
|
+
constructor(engineClient: EngineBaseClient);
|
|
15
|
+
/**
|
|
16
|
+
* Builds server payload for the `liquidate_subaccount` execute action.
|
|
17
|
+
* @param clientParams Client LiquidateSubaccount params.
|
|
18
|
+
* @returns `liquidate_subaccount` payload
|
|
19
|
+
*/
|
|
20
|
+
buildLiquidateSubaccountPayload(clientParams: EngineExecuteRequestParamsByType['liquidate_subaccount']): Promise<EngineServerExecuteRequestByType['liquidate_subaccount']>;
|
|
21
|
+
/**
|
|
22
|
+
* Builds server payload for the `withdraw_collateral` execute action.
|
|
23
|
+
* @param clientParams Client WithdrawCollateral params.
|
|
24
|
+
* @returns `liquidate_subaccount` payload
|
|
25
|
+
*/
|
|
26
|
+
buildWithdrawCollateralPayload(clientParams: EngineExecuteRequestParamsByType['withdraw_collateral']): Promise<EngineServerExecuteRequestByType['withdraw_collateral']>;
|
|
27
|
+
/**
|
|
28
|
+
* Builds server payload for the `place_order` execute action.
|
|
29
|
+
*
|
|
30
|
+
* @param clientParams Client PlaceOrder params.
|
|
31
|
+
* @returns `place_order` payload
|
|
32
|
+
*/
|
|
33
|
+
buildPlaceOrderPayload(clientParams: EngineExecuteRequestParamsByType['place_order']): Promise<EngineServerExecutePlaceOrderPayload>;
|
|
34
|
+
/**
|
|
35
|
+
* Synchronously builds server payload for the `place_order` execute action.
|
|
36
|
+
*
|
|
37
|
+
* @param clientParams Client PlaceOrder params.
|
|
38
|
+
* @returns `place_order` payload
|
|
39
|
+
*/
|
|
40
|
+
buildPlaceOrderPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['place_order'] & {
|
|
41
|
+
order: EIP712OrderParams;
|
|
42
|
+
}>): EngineServerExecutePlaceOrderPayload;
|
|
43
|
+
/**
|
|
44
|
+
* Builds server payload for the `place_orders` execute action.
|
|
45
|
+
* @param clientParams Client PlaceOrders params.
|
|
46
|
+
* @returns `place_orders` payload
|
|
47
|
+
*/
|
|
48
|
+
buildPlaceOrdersPayload(clientParams: EngineExecuteRequestParamsByType['place_orders']): Promise<EngineServerExecuteRequestByType['place_orders']>;
|
|
49
|
+
/**
|
|
50
|
+
* Builds server payload for the `cancel_orders` execute action. As such, requires a signature to be given
|
|
51
|
+
*
|
|
52
|
+
* @param clientParams Client CancelOrders params.
|
|
53
|
+
* @returns `cancel_orders` payload
|
|
54
|
+
*/
|
|
55
|
+
buildCancelOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_orders']): Promise<EngineServerExecuteRequestByType['cancel_orders']>;
|
|
56
|
+
/**
|
|
57
|
+
* Synchronously builds server payload for the `cancel_orders` execute action.
|
|
58
|
+
*
|
|
59
|
+
* @param clientParams Client CancelOrders params.
|
|
60
|
+
* @returns `cancel_orders` payload
|
|
61
|
+
*/
|
|
62
|
+
buildCancelOrdersPayloadSync(clientParams: WithSignature<EngineExecuteRequestParamsByType['cancel_orders'] & {
|
|
63
|
+
nonce: string;
|
|
64
|
+
}>): EngineServerExecuteRequestByType['cancel_orders'];
|
|
65
|
+
/**
|
|
66
|
+
* Builds server payload for the `cancel_product_orders` execute action.
|
|
67
|
+
* @param clientParams Client CancelProductOrders params.
|
|
68
|
+
* @returns `cancel_product_orders` payload
|
|
69
|
+
*/
|
|
70
|
+
buildCancelProductOrdersPayload(clientParams: EngineExecuteRequestParamsByType['cancel_product_orders']): Promise<EngineServerExecuteRequestByType['cancel_product_orders']>;
|
|
71
|
+
/**
|
|
72
|
+
* Builds server payload for the `link_signer` execute action.
|
|
73
|
+
*
|
|
74
|
+
* @param clientParams Client LinkSigner params.
|
|
75
|
+
* @returns `link_signer` payload
|
|
76
|
+
*/
|
|
77
|
+
buildLinkSignerPayload(clientParams: EngineExecuteRequestParamsByType['link_signer']): Promise<EngineServerExecuteRequestByType['link_signer']>;
|
|
78
|
+
/**
|
|
79
|
+
* Builds server payload for the `transfer_quote` execute action.
|
|
80
|
+
*
|
|
81
|
+
* @param clientParams Client TransferQuote params.
|
|
82
|
+
* @returns `transfer_quote` payload
|
|
83
|
+
*/
|
|
84
|
+
buildTransferQuotePayload(clientParams: EngineExecuteRequestParamsByType['transfer_quote']): Promise<EngineServerExecuteRequestByType['transfer_quote']>;
|
|
85
|
+
/**
|
|
86
|
+
* Builds server payload for the `mint_nlp` execute action.
|
|
87
|
+
* @param clientParams Client MintNlp params.
|
|
88
|
+
* @returns `mint_nlp` payload
|
|
89
|
+
*/
|
|
90
|
+
buildMintNlpPayload(clientParams: EngineExecuteRequestParamsByType['mint_nlp']): Promise<EngineServerExecuteRequestByType['mint_nlp']>;
|
|
91
|
+
/**
|
|
92
|
+
* Builds server payload for the `burn_nlp` execute action.
|
|
93
|
+
* @param clientParams Client BurnNlp params.
|
|
94
|
+
* @returns `burn_nlp` payload
|
|
95
|
+
*/
|
|
96
|
+
buildBurnNlpPayload(clientParams: EngineExecuteRequestParamsByType['burn_nlp']): Promise<EngineServerExecuteRequestByType['burn_nlp']>;
|
|
97
|
+
protected getSignatureIfNeeded<T extends SignableRequestType>(requestType: T, paramsWithNonce: SignatureParams & SignableRequestTypeToParams[T]): Promise<string>;
|
|
98
|
+
protected getTxNonceIfNeeded(params: WithBaseEngineExecuteParams<{
|
|
99
|
+
subaccountOwner: string;
|
|
100
|
+
}>): Promise<string>;
|
|
101
|
+
protected getOrderNonceIfNeeded(params: WithBaseEngineExecuteParams<unknown>): string;
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { EngineExecuteBuilder as t };
|
|
105
|
+
//# sourceMappingURL=EngineExecuteBuilder-VLrEndhv.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineExecuteBuilder-VLrEndhv.d.cts","names":[],"sources":["../src/src/EngineExecuteBuilder.ts"],"mappings":";;;;;;;;;;AAuBA;cAAa,oBAAA;EAAA,SACF,YAAA,EAAc,gBAAA;cAEX,YAAA,EAAc,gBAAA;EAAA;;;;;EASpB,+BAAA,CACJ,YAAA,EAAc,gCAAA,2BACb,OAAA,CAAQ,gCAAA;EAuBR;;;;;EAFG,8BAAA,CACJ,YAAA,EAAc,gCAAA,0BACb,OAAA,CAAQ,gCAAA;EAiDK;;;;;;EA1BV,sBAAA,CACJ,YAAA,EAAc,gCAAA,kBACb,OAAA,CAAQ,oCAAA;EA2ER;;;;;;EApDH,0BAAA,CACE,YAAA,EAAc,aAAA,CACZ,gCAAA;IACE,KAAA,EAAO,iBAAA;EAAA,KAGV,oCAAA;EAiHA;;;;;EAzFG,uBAAA,CACJ,YAAA,EAAc,gCAAA,mBACb,OAAA,CAAQ,gCAAA;EAsIR;;;;;;EApHG,wBAAA,CACJ,YAAA,EAAc,gCAAA,oBACb,OAAA,CAAQ,gCAAA;EA4J0B;;;;;;EAxIrC,4BAAA,CACE,YAAA,EAAc,aAAA,CACZ,gCAAA;IAAsD,KAAA;EAAA,KAEvD,gCAAA;EAhKoB;;;;;EAiLjB,+BAAA,CACJ,YAAA,EAAc,gCAAA,4BACb,OAAA,CAAQ,gCAAA;EAvKT;;;;;;EA6LI,sBAAA,CACJ,YAAA,EAAc,gCAAA,kBACb,OAAA,CAAQ,gCAAA;EAvKA;;;;;;EA6LL,yBAAA,CACJ,YAAA,EAAc,gCAAA,qBACb,OAAA,CAAQ,gCAAA;EA9IK;;;;;EAmKV,mBAAA,CACJ,YAAA,EAAc,gCAAA,eACb,OAAA,CAAQ,gCAAA;EAxIL;;;;;EA8JA,mBAAA,CACJ,YAAA,EAAc,gCAAA,eACb,OAAA,CAAQ,gCAAA;EAAA,UAgBK,oBAAA,WAA+B,mBAAA,CAAA,CAC7C,WAAA,EAAa,CAAA,EACb,eAAA,EAAiB,eAAA,GAAkB,2BAAA,CAA4B,CAAA,IAAE,OAAA;EAAA,UAcnD,kBAAA,CACd,MAAA,EAAQ,2BAAA;IAA8B,eAAA;EAAA,KAA0B,OAAA;EAAA,UAQxD,qBAAA,CACR,MAAA,EAAQ,2BAAA;AAAA"}
|