@coin-voyage/shared 2.2.0-beta.1 → 2.2.0-beta.3

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.
@@ -1,5 +1,4 @@
1
1
  import { Hex } from "../../types/crypto";
2
- import { ChainId } from "../chains";
3
2
  import { PaymentData } from "./types";
4
3
  import { PayOrderMetadata } from "./validation";
5
4
  export type PayOrderCreationErrorEvent = {
@@ -19,18 +18,15 @@ export type PayOrderStartedEvent = EventBase & {
19
18
  };
20
19
  export type PayOrderConfirmingEvent = EventBase & {
21
20
  type: "payorder_confirming";
22
- chain_id: ChainId;
23
- chain: string;
24
- source_tx_hash: Hex | string;
21
+ payment_data: PaymentData;
25
22
  };
26
23
  export type PayOrderExecutingEvent = EventBase & {
27
24
  type: "payorder_executing";
25
+ payment_data: PaymentData;
28
26
  };
29
27
  export type PayOrderCompletedEvent = EventBase & {
30
28
  type: "payorder_completed";
31
- chain_id: ChainId;
32
- chain: string;
33
- destination_tx_hash: Hex | string;
29
+ payment_data: PaymentData;
34
30
  };
35
31
  export type PayOrderErrorEvent = EventBase & {
36
32
  type: "payorder_error";
@@ -15,7 +15,7 @@ export declare const zPayOrderMetadata: z.ZodObject<{
15
15
  refund_amount: z.ZodOptional<z.ZodNumber>;
16
16
  currency: z.ZodOptional<z.ZodString>;
17
17
  }, z.core.$strip>>;
18
- }, z.core.$catchall<z.ZodAny>>;
18
+ }, z.core.$catchall<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodTransform<string, string | number | boolean>>>>;
19
19
  export declare const zPayOrder: z.ZodObject<{
20
20
  metadata: z.ZodOptional<z.ZodObject<{
21
21
  items: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -33,7 +33,7 @@ export declare const zPayOrder: z.ZodObject<{
33
33
  refund_amount: z.ZodOptional<z.ZodNumber>;
34
34
  currency: z.ZodOptional<z.ZodString>;
35
35
  }, z.core.$strip>>;
36
- }, z.core.$catchall<z.ZodAny>>>;
36
+ }, z.core.$catchall<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodTransform<string, string | number | boolean>>>>>;
37
37
  intent: z.ZodObject<{
38
38
  asset: z.ZodOptional<z.ZodObject<{
39
39
  chain_id: z.ZodNumber;
@@ -3,6 +3,12 @@ import { isBitcoinAddress, isEthereumAddress, isSolanaAddress, isSuiAddress, isT
3
3
  import { ChainId } from "../chains";
4
4
  import { FIAT_CURRENCIES } from "../currencies";
5
5
  const knownKeys = ["items", "refund"];
6
+ const customFieldSchema = z
7
+ .union([z.string(), z.number(), z.boolean()])
8
+ .transform((val) => String(val))
9
+ .refine((val) => val.length <= 500, {
10
+ message: "Each custom field value must be 500 characters or less",
11
+ });
6
12
  // NOTE: be careful to modify this type only in backward-compatible ways.
7
13
  // Add OPTIONAL fields, etc. Anything else requires a migration.
8
14
  export const zPayOrderMetadata = z
@@ -29,18 +35,12 @@ export const zPayOrderMetadata = z
29
35
  .optional()
30
36
  .describe("Details about the refund, if applicable."),
31
37
  })
32
- .catchall(z.any())
38
+ .catchall(customFieldSchema)
33
39
  .refine((data) => {
34
40
  const extraKeys = Object.keys(data).filter((k) => !knownKeys.includes(k));
35
41
  return extraKeys.length <= 20;
36
42
  }, {
37
43
  message: "A maximum of 20 additional custom fields is allowed",
38
- })
39
- .refine((data) => {
40
- const extraEntries = Object.entries(data).filter(([k]) => !knownKeys.includes(k));
41
- return extraEntries.every(([, v]) => typeof v === "string" && v.length <= 500);
42
- }, {
43
- message: "Each custom field value must be a string with 500 characters or less",
44
44
  });
45
45
  // also validate not both token_amount and fiat are present
46
46
  export const zPayOrder = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/common/pay-order/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/common/pay-order/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coin-voyage/shared",
3
3
  "description": "Shared utilities for Coin Voyage",
4
- "version": "2.2.0-beta.1",
4
+ "version": "2.2.0-beta.3",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {