@daimo/pay-common 1.15.0 → 1.16.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.
@@ -93,6 +93,16 @@ export declare const zDaimoPayOrderMetadata: z.ZodObject<{
93
93
  }>, "many">>;
94
94
  evmChains: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
95
95
  paymentOptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
96
+ passthroughTokens: z.ZodOptional<z.ZodArray<z.ZodObject<{
97
+ chain: z.ZodNumber;
98
+ address: z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ chain: number;
101
+ address: `0x${string}`;
102
+ }, {
103
+ chain: number;
104
+ address: string;
105
+ }>, "many">>;
96
106
  }, "strip", z.ZodTypeAny, {
97
107
  preferredChains?: number[] | undefined;
98
108
  preferredTokens?: {
@@ -101,6 +111,10 @@ export declare const zDaimoPayOrderMetadata: z.ZodObject<{
101
111
  }[] | undefined;
102
112
  evmChains?: number[] | undefined;
103
113
  paymentOptions?: string[] | undefined;
114
+ passthroughTokens?: {
115
+ chain: number;
116
+ address: `0x${string}`;
117
+ }[] | undefined;
104
118
  }, {
105
119
  preferredChains?: number[] | undefined;
106
120
  preferredTokens?: {
@@ -109,6 +123,10 @@ export declare const zDaimoPayOrderMetadata: z.ZodObject<{
109
123
  }[] | undefined;
110
124
  evmChains?: number[] | undefined;
111
125
  paymentOptions?: string[] | undefined;
126
+ passthroughTokens?: {
127
+ chain: number;
128
+ address: string;
129
+ }[] | undefined;
112
130
  }>>;
113
131
  }, "strip", z.ZodTypeAny, {
114
132
  intent: string;
@@ -131,6 +149,10 @@ export declare const zDaimoPayOrderMetadata: z.ZodObject<{
131
149
  }[] | undefined;
132
150
  evmChains?: number[] | undefined;
133
151
  paymentOptions?: string[] | undefined;
152
+ passthroughTokens?: {
153
+ chain: number;
154
+ address: `0x${string}`;
155
+ }[] | undefined;
134
156
  } | undefined;
135
157
  }, {
136
158
  intent: string;
@@ -153,6 +175,10 @@ export declare const zDaimoPayOrderMetadata: z.ZodObject<{
153
175
  }[] | undefined;
154
176
  evmChains?: number[] | undefined;
155
177
  paymentOptions?: string[] | undefined;
178
+ passthroughTokens?: {
179
+ chain: number;
180
+ address: string;
181
+ }[] | undefined;
156
182
  } | undefined;
157
183
  }>;
158
184
  export type DaimoPayOrderMetadata = z.infer<typeof zDaimoPayOrderMetadata>;
@@ -208,6 +234,7 @@ export type DaimoPayHydratedOrder = {
208
234
  destStatus: DaimoPayOrderStatusDest;
209
235
  destFastFinishTxHash: Hex | null;
210
236
  destClaimTxHash: Hex | null;
237
+ passedToAddress: Address | null;
211
238
  redirectUri: string | null;
212
239
  orgId: string | null;
213
240
  sourceInitiateUpdatedAt: number | null;
@@ -267,11 +294,15 @@ export declare function getOrderSourceChainId(order: DaimoPayHydratedOrder): num
267
294
  export declare function getOrderDestChainId(order: DaimoPayOrder | DaimoPayHydratedOrderWithoutIntentAddr): number;
268
295
  export declare function getDaimoPayOrderView(order: DaimoPayOrder): DaimoPayOrderView;
269
296
  export type WalletPaymentOption = {
297
+ /** The user's balance of this token. */
270
298
  balance: DaimoPayTokenAmount;
271
299
  required: DaimoPayTokenAmount;
272
300
  minimumRequired: DaimoPayTokenAmount;
273
301
  fees: DaimoPayTokenAmount;
302
+ /** If present, the option is disabled. */
274
303
  disabledReason?: string;
304
+ /** If present, send directly to passthroughAddress, no swap or bridge. */
305
+ passthroughAddress?: Address;
275
306
  };
276
307
  export type ExternalPaymentOptionMetadata = {
277
308
  id: ExternalPaymentOptions;
@@ -302,6 +333,7 @@ export declare enum ExternalPaymentOptions {
302
333
  export type ExternalPaymentOptionsString = `${ExternalPaymentOptions}`;
303
334
  export declare enum UniquePaymentOptions {
304
335
  Wallets = "Wallets",
336
+ AllExchanges = "AllExchanges",
305
337
  Coinbase = "Coinbase",
306
338
  Binance = "Binance",
307
339
  Lemon = "Lemon",
@@ -387,8 +419,6 @@ export declare function readDaimoPayOrderID(id: string): bigint;
387
419
  * Write a bigint into a base58-encoded id.
388
420
  */
389
421
  export declare function writeDaimoPayOrderID(id: bigint): string;
390
- export declare const zUUID: z.ZodString;
391
- export type UUID = z.infer<typeof zUUID>;
392
422
  export declare enum DaimoPayEventType {
393
423
  PaymentStarted = "payment_started",
394
424
  PaymentCompleted = "payment_completed",
@@ -431,34 +461,4 @@ export type PaymentRefundedEvent = {
431
461
  payment: DaimoPayOrderView;
432
462
  };
433
463
  export type DaimoPayEvent = PaymentStartedEvent | PaymentCompletedEvent | PaymentBouncedEvent | PaymentRefundedEvent;
434
- export interface WebhookEndpoint {
435
- id: UUID;
436
- orgId: UUID;
437
- url: string;
438
- token: string;
439
- createdAt: Date;
440
- deletedAt: Date | null;
441
- }
442
- export declare enum WebhookEventStatus {
443
- PENDING = "pending",// waiting to be delivered
444
- RETRYING = "retrying",// currently in exponential backoff queue
445
- SUCCESSFUL = "successful",// successfully delivered
446
- FAILED = "failed"
447
- }
448
- export interface WebhookEvent {
449
- id: UUID;
450
- endpoint: WebhookEndpoint;
451
- isTestEvent: boolean;
452
- body: DaimoPayEvent;
453
- status: WebhookEventStatus;
454
- deliveries: WebhookDelivery[];
455
- createdAt: Date;
456
- }
457
- export interface WebhookDelivery {
458
- id: UUID;
459
- eventId: UUID;
460
- httpStatus: number | null;
461
- body: string | null;
462
- createdAt: Date;
463
- }
464
464
  export {};
package/dist/daimoPay.js CHANGED
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
6
6
  };
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.WebhookEventStatus = exports.DaimoPayEventType = exports.zUUID = exports.emptyOnChainCall = exports.DepositAddressPaymentOptions = exports.UniquePaymentOptions = exports.ExternalPaymentOptions = exports.zDaimoPayUserMetadata = exports.zDaimoPayOrderMetadata = exports.zBridgeTokenOutOptions = exports.DaimoPayIntentStatus = exports.DaimoPayOrderMode = exports.DaimoPayOrderStatusDest = exports.DaimoPayOrderStatusSource = void 0;
8
+ exports.DaimoPayEventType = exports.emptyOnChainCall = exports.DepositAddressPaymentOptions = exports.UniquePaymentOptions = exports.ExternalPaymentOptions = exports.zDaimoPayUserMetadata = exports.zDaimoPayOrderMetadata = exports.zBridgeTokenOutOptions = exports.DaimoPayIntentStatus = exports.DaimoPayOrderMode = exports.DaimoPayOrderStatusDest = exports.DaimoPayOrderStatusSource = void 0;
9
9
  exports.isHydrated = isHydrated;
10
10
  exports.getOrderSourceChainId = getOrderSourceChainId;
11
11
  exports.getOrderDestChainId = getOrderDestChainId;
@@ -106,6 +106,13 @@ exports.zDaimoPayOrderMetadata = zod_1.default.object({
106
106
  .array(zod_1.default.string())
107
107
  .optional()
108
108
  .describe("Payment options like Coinbase, Binance, etc. Defaults to all available options."),
109
+ passthroughTokens: zod_1.default
110
+ .array(zod_1.default.object({
111
+ chain: zod_1.default.number(),
112
+ address: primitiveTypes_1.zAddress.transform((a) => (0, viem_1.getAddress)(a)),
113
+ }))
114
+ .optional()
115
+ .describe("Pass-through tokens. If the user pays via these tokens, they're sent directly to the destination address without swapping or bridging."),
109
116
  })
110
117
  .optional()
111
118
  .describe(""),
@@ -192,6 +199,7 @@ var ExternalPaymentOptions;
192
199
  var UniquePaymentOptions;
193
200
  (function (UniquePaymentOptions) {
194
201
  UniquePaymentOptions["Wallets"] = "Wallets";
202
+ UniquePaymentOptions["AllExchanges"] = "AllExchanges";
195
203
  UniquePaymentOptions["Coinbase"] = "Coinbase";
196
204
  UniquePaymentOptions["Binance"] = "Binance";
197
205
  UniquePaymentOptions["Lemon"] = "Lemon";
@@ -244,7 +252,6 @@ function readDaimoPayOrderID(id) {
244
252
  function writeDaimoPayOrderID(id) {
245
253
  return base_1.base58.encode((0, viem_1.numberToBytes)(id));
246
254
  }
247
- exports.zUUID = zod_1.default.string().uuid();
248
255
  var DaimoPayEventType;
249
256
  (function (DaimoPayEventType) {
250
257
  DaimoPayEventType["PaymentStarted"] = "payment_started";
@@ -252,12 +259,4 @@ var DaimoPayEventType;
252
259
  DaimoPayEventType["PaymentBounced"] = "payment_bounced";
253
260
  DaimoPayEventType["PaymentRefunded"] = "payment_refunded";
254
261
  })(DaimoPayEventType || (exports.DaimoPayEventType = DaimoPayEventType = {}));
255
- // Lifecycle: Pending (just created) -> (if failing) Retrying (exponential backoff) -> Successful or Failed
256
- var WebhookEventStatus;
257
- (function (WebhookEventStatus) {
258
- WebhookEventStatus["PENDING"] = "pending";
259
- WebhookEventStatus["RETRYING"] = "retrying";
260
- WebhookEventStatus["SUCCESSFUL"] = "successful";
261
- WebhookEventStatus["FAILED"] = "failed";
262
- })(WebhookEventStatus || (exports.WebhookEventStatus = WebhookEventStatus = {}));
263
262
  //# sourceMappingURL=daimoPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"daimoPay.js","sourceRoot":"","sources":["../src/daimoPay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daimoPay.js","sourceRoot":"","sources":["../src/daimoPay.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { z } from "zod";
2
2
  export declare const zBigIntStr: z.ZodEffects<z.ZodString, `${bigint}`, string>;
3
3
  export type BigIntStr = `${bigint}`;
4
+ export declare const zUUID: z.ZodString;
5
+ export type UUID = z.infer<typeof zUUID>;
4
6
  export declare const zAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
5
7
  export declare const zHex: z.ZodEffects<z.ZodString, `0x${string}`, string>;
6
8
  export declare const zSolanaPublicKey: z.ZodString;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zSolanaPublicKey = exports.zHex = exports.zAddress = exports.zBigIntStr = void 0;
3
+ exports.zSolanaPublicKey = exports.zHex = exports.zAddress = exports.zUUID = exports.zBigIntStr = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.zBigIntStr = zod_1.z
6
6
  .string()
7
7
  .regex(/^[0-9]+$/i)
8
8
  .refine((s) => true);
9
+ exports.zUUID = zod_1.z.string().uuid();
9
10
  exports.zAddress = zod_1.z
10
11
  .string()
11
12
  .regex(/^0x[0-9a-f]{40}$/i)
@@ -1 +1 @@
1
- {"version":3,"file":"primitiveTypes.js","sourceRoot":"","sources":["../src/primitiveTypes.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAEX,QAAA,UAAU,GAAG,OAAC;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,WAAW,CAAC;KAClB,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;AAI1B,QAAA,QAAQ,GAAG,OAAC;KACtB,MAAM,EAAE;KACR,KAAK,CAAC,mBAAmB,CAAC;KAC1B,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;AAExB,QAAA,IAAI,GAAG,OAAC;KAClB,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,IAAI,CAAC,CAAC;AAEpB,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"primitiveTypes.js","sourceRoot":"","sources":["../src/primitiveTypes.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAEX,QAAA,UAAU,GAAG,OAAC;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,WAAW,CAAC;KAClB,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;AAI1B,QAAA,KAAK,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAI1B,QAAA,QAAQ,GAAG,OAAC;KACtB,MAAM,EAAE;KACR,KAAK,CAAC,mBAAmB,CAAC;KAC1B,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;AAExB,QAAA,IAAI,GAAG,OAAC;KAClB,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,IAAI,CAAC,CAAC;AAEpB,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daimo/pay-common",
3
- "version": "1.15.0",
3
+ "version": "1.16.1",
4
4
  "description": "Daimo Pay shared types and utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "eslint": "^8.56.0",
21
21
  "tape": "^5.6.3",
22
22
  "ts-node": "^10.9.2",
23
- "typescript": "5.5.2"
23
+ "typescript": "5.9.2"
24
24
  },
25
25
  "dependencies": {
26
26
  "@scure/base": "^1.2.4",
package/src/daimoPay.ts CHANGED
@@ -134,6 +134,17 @@ export const zDaimoPayOrderMetadata = z.object({
134
134
  .describe(
135
135
  "Payment options like Coinbase, Binance, etc. Defaults to all available options.",
136
136
  ),
137
+ passthroughTokens: z
138
+ .array(
139
+ z.object({
140
+ chain: z.number(),
141
+ address: zAddress.transform((a) => getAddress(a)),
142
+ }),
143
+ )
144
+ .optional()
145
+ .describe(
146
+ "Pass-through tokens. If the user pays via these tokens, they're sent directly to the destination address without swapping or bridging.",
147
+ ),
137
148
  })
138
149
  .optional()
139
150
  .describe(""),
@@ -205,6 +216,7 @@ export type DaimoPayHydratedOrder = {
205
216
  destStatus: DaimoPayOrderStatusDest;
206
217
  destFastFinishTxHash: Hex | null;
207
218
  destClaimTxHash: Hex | null;
219
+ passedToAddress: Address | null;
208
220
  redirectUri: string | null;
209
221
  orgId: string | null;
210
222
  sourceInitiateUpdatedAt: number | null;
@@ -343,6 +355,7 @@ export function getDaimoPayOrderView(order: DaimoPayOrder): DaimoPayOrderView {
343
355
  }
344
356
 
345
357
  export type WalletPaymentOption = {
358
+ /** The user's balance of this token. */
346
359
  balance: DaimoPayTokenAmount;
347
360
 
348
361
  // TODO: deprecate, replace with requiredUsd / minRequiredUsd / feesUsd
@@ -351,7 +364,11 @@ export type WalletPaymentOption = {
351
364
  minimumRequired: DaimoPayTokenAmount;
352
365
  fees: DaimoPayTokenAmount;
353
366
 
367
+ /** If present, the option is disabled. */
354
368
  disabledReason?: string;
369
+
370
+ /** If present, send directly to passthroughAddress, no swap or bridge. */
371
+ passthroughAddress?: Address;
355
372
  };
356
373
 
357
374
  export type ExternalPaymentOptionMetadata = {
@@ -388,6 +405,7 @@ export type ExternalPaymentOptionsString = `${ExternalPaymentOptions}`;
388
405
 
389
406
  export enum UniquePaymentOptions {
390
407
  Wallets = "Wallets",
408
+ AllExchanges = "AllExchanges",
391
409
  Coinbase = "Coinbase",
392
410
  Binance = "Binance",
393
411
  Lemon = "Lemon",
@@ -497,10 +515,6 @@ export function writeDaimoPayOrderID(id: bigint): string {
497
515
  return base58.encode(numberToBytes(id));
498
516
  }
499
517
 
500
- export const zUUID = z.string().uuid();
501
-
502
- export type UUID = z.infer<typeof zUUID>;
503
-
504
518
  export enum DaimoPayEventType {
505
519
  PaymentStarted = "payment_started",
506
520
  PaymentCompleted = "payment_completed",
@@ -552,38 +566,3 @@ export type DaimoPayEvent =
552
566
  | PaymentCompletedEvent
553
567
  | PaymentBouncedEvent
554
568
  | PaymentRefundedEvent;
555
-
556
- export interface WebhookEndpoint {
557
- id: UUID;
558
- orgId: UUID;
559
- url: string;
560
- token: string;
561
- createdAt: Date;
562
- deletedAt: Date | null;
563
- }
564
-
565
- // Lifecycle: Pending (just created) -> (if failing) Retrying (exponential backoff) -> Successful or Failed
566
- export enum WebhookEventStatus {
567
- PENDING = "pending", // waiting to be delivered
568
- RETRYING = "retrying", // currently in exponential backoff queue
569
- SUCCESSFUL = "successful", // successfully delivered
570
- FAILED = "failed", // gave up after retrying
571
- }
572
-
573
- export interface WebhookEvent {
574
- id: UUID;
575
- endpoint: WebhookEndpoint;
576
- isTestEvent: boolean;
577
- body: DaimoPayEvent;
578
- status: WebhookEventStatus;
579
- deliveries: WebhookDelivery[];
580
- createdAt: Date;
581
- }
582
-
583
- export interface WebhookDelivery {
584
- id: UUID;
585
- eventId: UUID;
586
- httpStatus: number | null;
587
- body: string | null;
588
- createdAt: Date;
589
- }
@@ -8,6 +8,10 @@ export const zBigIntStr = z
8
8
 
9
9
  export type BigIntStr = `${bigint}`;
10
10
 
11
+ export const zUUID = z.string().uuid();
12
+
13
+ export type UUID = z.infer<typeof zUUID>;
14
+
11
15
  export const zAddress = z
12
16
  .string()
13
17
  .regex(/^0x[0-9a-f]{40}$/i)