Skip to content

Commit 35b350d

Browse files
fix: tests
1 parent 8c2b27f commit 35b350d

3 files changed

Lines changed: 36 additions & 2 deletions

File tree

src/signer.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@ export class BuilderSigner {
1313
body: string,
1414
path: string,
1515
method: string,
16+
timestamp?: number,
1617
): BuilderHeaderPayload {
17-
const ts = Math.floor(Date.now() / 1000);
18+
let ts = Math.floor(Date.now() / 1000);
19+
if (timestamp !== undefined) {
20+
ts = timestamp;
21+
}
22+
1823
const builderSig = buildHmacSignature(
1924
this.creds.secret,
2025
ts,

tests/hmac.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { expect } from "chai";
33
import { buildHmacSignature } from "../src/signing";
44

55
describe("hmac", () => {
6-
it("buildPolyHmacSignature", () => {
6+
it("buildHmacSignature", () => {
77
const signature = buildHmacSignature(
88
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
99
1000000,

tests/signer.test.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import "mocha";
2+
import { expect } from "chai";
3+
import { BuilderSigner, BuilderApiKeyCreds } from "../src";
4+
5+
describe("builderHeaderPayload", () => {
6+
it("createBuilderHeaderPayload", () => {
7+
const creds: BuilderApiKeyCreds = {
8+
key: "019894b9-cb40-79c4-b2bd-6aecb6f8c6c5",
9+
secret: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
10+
passphrase: "1816e5ed89518467ffa78c65a2d6a62d240f6fd6d159cba7b2c4dc510800f75a",
11+
}
12+
const signer = new BuilderSigner(creds)
13+
const requestPath = "/order";
14+
const requestBody = `{"deferExec":false,"order":{"salt":718139292476,"maker":"0x6e0c80c90ea6c15917308F820Eac91Ce2724B5b5","signer":"0x6e0c80c90ea6c15917308F820Eac91Ce2724B5b5","taker":"0x0000000000000000000000000000000000000000","tokenId":"15871154585880608648532107628464183779895785213830018178010423617714102767076","makerAmount":"5000000","takerAmount":"10000000","side":"BUY","expiration":"0","nonce":"0","feeRateBps":"1000","signatureType":0,"signature":"0x64a2b097cf14f9a24403748b4060bedf8f33f3dbe2a38e5f85bc2a5f2b841af633a2afcc9c4d57e60e4ff1d58df2756b2ca469f984ecfd46cb0c8baba8a0d6411b"},"owner":"5d1c266a-ed39-b9bd-c1f5-f24ae3e14a7b","orderType":"GTC"}`;
15+
const requestMethod = "POST";
16+
const timestamp = 1758744060;
17+
18+
const payload = signer.createBuilderHeaderPayload(requestBody, requestPath, requestMethod, timestamp);
19+
20+
expect(payload).not.null;
21+
expect(payload).not.undefined;
22+
expect(payload).not.empty;
23+
expect(payload.POLY_BUILDER_API_KEY).equal("019894b9-cb40-79c4-b2bd-6aecb6f8c6c5");
24+
expect(payload.POLY_BUILDER_PASSPHRASE).equal("1816e5ed89518467ffa78c65a2d6a62d240f6fd6d159cba7b2c4dc510800f75a");
25+
expect(payload.POLY_BUILDER_TIMESTAMP).equal("1758744060");
26+
expect(payload.POLY_BUILDER_SIGNATURE).equal("8xh8d0qZHhBcLLYbsKNeiOW3Z0W2N5yNEq1kCVMe5QE=");
27+
28+
});
29+
});

0 commit comments

Comments
 (0)