@kuestcom/clob-client 5.8.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/LICENSE +22 -0
- package/README.md +101 -0
- package/dist/client.d.ts +164 -0
- package/dist/client.js +967 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.js +28 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -0
- package/dist/endpoints.d.ts +67 -0
- package/dist/endpoints.js +82 -0
- package/dist/endpoints.js.map +1 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -0
- package/dist/headers/index.d.ts +6 -0
- package/dist/headers/index.js +42 -0
- package/dist/headers/index.js.map +1 -0
- package/dist/http-helpers/index.d.ts +21 -0
- package/dist/http-helpers/index.js +151 -0
- package/dist/http-helpers/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/order-builder/builder.d.ts +29 -0
- package/dist/order-builder/builder.js +52 -0
- package/dist/order-builder/builder.js.map +1 -0
- package/dist/order-builder/helpers.d.ts +50 -0
- package/dist/order-builder/helpers.js +276 -0
- package/dist/order-builder/helpers.js.map +1 -0
- package/dist/order-builder/index.d.ts +1 -0
- package/dist/order-builder/index.js +2 -0
- package/dist/order-builder/index.js.map +1 -0
- package/dist/order-utils/exchange.order.builder.d.ts +31 -0
- package/dist/order-utils/exchange.order.builder.js +120 -0
- package/dist/order-utils/exchange.order.builder.js.map +1 -0
- package/dist/order-utils/exchange.order.const.d.ts +13 -0
- package/dist/order-utils/exchange.order.const.js +28 -0
- package/dist/order-utils/exchange.order.const.js.map +1 -0
- package/dist/order-utils/index.d.ts +6 -0
- package/dist/order-utils/index.js +7 -0
- package/dist/order-utils/index.js.map +1 -0
- package/dist/order-utils/model/eip712.model.d.ts +25 -0
- package/dist/order-utils/model/eip712.model.js +2 -0
- package/dist/order-utils/model/eip712.model.js.map +1 -0
- package/dist/order-utils/model/order-side.model.d.ts +4 -0
- package/dist/order-utils/model/order-side.model.js +6 -0
- package/dist/order-utils/model/order-side.model.js.map +1 -0
- package/dist/order-utils/model/order.model.d.ts +112 -0
- package/dist/order-utils/model/order.model.js +2 -0
- package/dist/order-utils/model/order.model.js.map +1 -0
- package/dist/order-utils/model/signature-types.model.d.ts +14 -0
- package/dist/order-utils/model/signature-types.model.js +16 -0
- package/dist/order-utils/model/signature-types.model.js.map +1 -0
- package/dist/order-utils/utils.d.ts +1 -0
- package/dist/order-utils/utils.js +4 -0
- package/dist/order-utils/utils.js.map +1 -0
- package/dist/rfq-client.d.ts +64 -0
- package/dist/rfq-client.js +403 -0
- package/dist/rfq-client.js.map +1 -0
- package/dist/rfq-deps.d.ts +44 -0
- package/dist/rfq-deps.js +2 -0
- package/dist/rfq-deps.js.map +1 -0
- package/dist/signer.d.ts +22 -0
- package/dist/signer.js +50 -0
- package/dist/signer.js.map +1 -0
- package/dist/signing/constants.d.ts +14 -0
- package/dist/signing/constants.js +16 -0
- package/dist/signing/constants.js.map +1 -0
- package/dist/signing/eip712.d.ts +9 -0
- package/dist/signing/eip712.js +40 -0
- package/dist/signing/eip712.js.map +1 -0
- package/dist/signing/hmac.d.ts +9 -0
- package/dist/signing/hmac.js +58 -0
- package/dist/signing/hmac.js.map +1 -0
- package/dist/signing/index.d.ts +2 -0
- package/dist/signing/index.js +3 -0
- package/dist/signing/index.js.map +1 -0
- package/dist/types.d.ts +667 -0
- package/dist/types.js +37 -0
- package/dist/types.js.map +1 -0
- package/dist/utilities.d.ts +16 -0
- package/dist/utilities.js +93 -0
- package/dist/utilities.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the canonical Kuest CLOB HMAC signature
|
|
3
|
+
* @param signer
|
|
4
|
+
* @param key
|
|
5
|
+
* @param secret
|
|
6
|
+
* @param passphrase
|
|
7
|
+
* @returns string
|
|
8
|
+
*/
|
|
9
|
+
export declare const buildKuestHmacSignature: (secret: string, timestamp: number, method: string, requestPath: string, body?: string) => Promise<string>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
function replaceAll(s, search, replace) {
|
|
2
|
+
return s.split(search).join(replace);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Converts base64 string to ArrayBuffer
|
|
6
|
+
*/
|
|
7
|
+
function base64ToArrayBuffer(base64) {
|
|
8
|
+
const sanitizedBase64 = base64
|
|
9
|
+
// Convert base64url to base64 – some secrets routinely come in as base64url: https://stackoverflow.com/q/5234581
|
|
10
|
+
.replace(/-/g, "+")
|
|
11
|
+
.replace(/_/g, "/")
|
|
12
|
+
// Remove any non-base64 characters, for backwards compatibility with Node.js Buffer.from()
|
|
13
|
+
.replace(/[^A-Za-z0-9+/=]/g, "");
|
|
14
|
+
const binaryString = atob(sanitizedBase64);
|
|
15
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
16
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
17
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
18
|
+
}
|
|
19
|
+
return bytes.buffer;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Converts ArrayBuffer to base64 string
|
|
23
|
+
*/
|
|
24
|
+
function arrayBufferToBase64(buffer) {
|
|
25
|
+
const bytes = new Uint8Array(buffer);
|
|
26
|
+
let binary = "";
|
|
27
|
+
for (let i = 0; i < bytes.byteLength; i++) {
|
|
28
|
+
binary += String.fromCharCode(bytes[i]);
|
|
29
|
+
}
|
|
30
|
+
return btoa(binary);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Builds the canonical Kuest CLOB HMAC signature
|
|
34
|
+
* @param signer
|
|
35
|
+
* @param key
|
|
36
|
+
* @param secret
|
|
37
|
+
* @param passphrase
|
|
38
|
+
* @returns string
|
|
39
|
+
*/
|
|
40
|
+
export const buildKuestHmacSignature = async (secret, timestamp, method, requestPath, body) => {
|
|
41
|
+
let message = timestamp + method + requestPath;
|
|
42
|
+
if (body !== undefined) {
|
|
43
|
+
message += body;
|
|
44
|
+
}
|
|
45
|
+
// Import the secret key from base64
|
|
46
|
+
const keyData = base64ToArrayBuffer(secret);
|
|
47
|
+
const cryptoKey = await globalThis.crypto.subtle.importKey("raw", keyData, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
48
|
+
// Sign the message
|
|
49
|
+
const messageBuffer = new TextEncoder().encode(message);
|
|
50
|
+
const signatureBuffer = await globalThis.crypto.subtle.sign("HMAC", cryptoKey, messageBuffer);
|
|
51
|
+
const sig = arrayBufferToBase64(signatureBuffer);
|
|
52
|
+
// NOTE: Must be url safe base64 encoding, but keep base64 "=" suffix
|
|
53
|
+
// Convert '+' to '-'
|
|
54
|
+
// Convert '/' to '_'
|
|
55
|
+
const sigUrlSafe = replaceAll(replaceAll(sig, "+", "-"), "/", "_");
|
|
56
|
+
return sigUrlSafe;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=hmac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/signing/hmac.ts"],"names":[],"mappings":"AAAA,SAAS,UAAU,CAAC,CAAS,EAAE,MAAc,EAAE,OAAe;IAC1D,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACvC,MAAM,eAAe,GAAG,MAAM;QAC1B,iHAAiH;SAChH,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACnB,2FAA2F;SAC1F,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAmB;IAC5C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EACxC,MAAc,EACd,SAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,IAAa,EACE,EAAE;IACjB,IAAI,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,IAAI,IAAI,CAAC;IACpB,CAAC;IAED,oCAAoC;IACpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CACtD,KAAK,EACL,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,mBAAmB;IACnB,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAEjD,qEAAqE;IACrE,qBAAqB;IACrB,qBAAqB;IACrB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|