Skip to content

Commit a3f2a96

Browse files
committed
fix(types): add missing fields to order requests
Add missing fields to order requests: created_at, invalidated and invalidation codes
1 parent 8ae04bf commit a3f2a96

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

src/lib/marketplace/EOACreateOrderStrategy.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,18 @@ import { MarketplaceOrdersService } from "../../services/database/entities/Marke
1717

1818
@injectable()
1919
export default class EOACreateOrderStrategy extends MarketplaceStrategy {
20-
private request: EOACreateOrderRequest;
20+
private request!: EOACreateOrderRequest;
2121

2222
constructor(
23-
request: EOACreateOrderRequest,
2423
@inject(MarketplaceOrdersService)
2524
private readonly marketplaceOrdersService: MarketplaceOrdersService,
2625
) {
2726
super();
27+
}
28+
29+
initialize(request: EOACreateOrderRequest): this {
2830
this.request = request;
31+
return this;
2932
}
3033

3134
// TODO: Clean up this long ass method. I copied it 1:1 from the controller.
@@ -51,7 +54,15 @@ export default class EOACreateOrderStrategy extends MarketplaceStrategy {
5154
}
5255

5356
const [validationResult] = await hec.checkOrdersValidity([
54-
{ ...makerOrder, signature, chainId, id: "temporary" },
57+
{
58+
...makerOrder,
59+
signature,
60+
chainId,
61+
id: "temporary",
62+
createdAt: new Date().toISOString(),
63+
invalidated: false,
64+
validator_codes: [],
65+
},
5566
]);
5667
if (!validationResult.valid) {
5768
throw new Errors.InvalidOrder(validationResult);

src/lib/marketplace/MultisigCreateOrderStrategy.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,24 @@ import {
55
} from "@hypercerts-org/marketplace-sdk";
66
import SafeApiKit from "@safe-global/api-kit";
77

8-
import { DataResponse } from "../../types/api.js";
98
import { EvmClientFactory } from "../../client/evmClient.js";
9+
import { DataResponse } from "../../types/api.js";
1010
import { getFractionsById } from "../../utils/getFractionsById.js";
11-
import { getHypercertTokenId } from "../../utils/tokenIds.js";
1211
import { isTypedMessage } from "../../utils/signatures.js";
12+
import { getHypercertTokenId } from "../../utils/tokenIds.js";
1313
import { SafeApiStrategyFactory } from "../safe/SafeApiKitStrategy.js";
1414

15+
import { inject, injectable } from "tsyringe";
16+
import { MarketplaceOrdersService } from "../../services/database/entities/MarketplaceOrdersEntityService.js";
17+
import { SignatureRequestsService } from "../../services/database/entities/SignatureRequestsEntityService.js";
18+
import * as Errors from "./errors.js";
1519
import { MarketplaceStrategy } from "./MarketplaceStrategy.js";
1620
import {
1721
MultisigCreateOrderRequest,
1822
SAFE_CREATE_ORDER_MESSAGE_SCHEMA,
1923
SafeCreateOrderMessage,
2024
} from "./schemas.js";
21-
import * as Errors from "./errors.js";
22-
import { injectable, inject } from "tsyringe";
23-
import { MarketplaceOrdersService } from "../../services/database/entities/MarketplaceOrdersEntityService.js";
24-
import { SignatureRequestsService } from "../../services/database/entities/SignatureRequestsEntityService.js";
25+
2526
type ValidatableOrder = Omit<
2627
Order,
2728
"createdAt" | "invalidated" | "validator_codes"
@@ -132,7 +133,14 @@ export default class MultisigCreateOrderStrategy extends MarketplaceStrategy {
132133
EvmClientFactory.createEthersClient(this.request.chainId),
133134
);
134135

135-
const [validationResult] = await hec.checkOrdersValidity([orderToValidate]);
136+
const [validationResult] = await hec.checkOrdersValidity([
137+
{
138+
...orderToValidate,
139+
createdAt: new Date().toISOString(),
140+
invalidated: false,
141+
validator_codes: [],
142+
},
143+
]);
136144

137145
if (!validationResult.valid) {
138146
const errorCodes = validationResult.validatorCodes || [];

0 commit comments

Comments
 (0)