@rozoai/intent-common 0.1.0-beta.1 → 0.1.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 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/api/payment.ts"],"names":[],"mappings":";;;AA2NA,8CAmDC;AA9QD,sCAAsD;AACtD,iCAAgD;AAyHhD;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC5B,SAAiB,EAC0B,EAAE;IAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,eAAe,SAAS,EAAE;QAC5B,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC;IAC9B,OAAO,gBAAS,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;AACtD,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAiC;IAEjC,MAAM,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,OAAO,EACP,KAAK,EACL,QAAQ,GACT,GAAG,MAAM,CAAC;IACX,sCAAsC;IACtC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAA,kCAAyB,EAC3E;QACE,OAAO;QACP,OAAO;QACP,SAAS;QACT,OAAO,EAAE,OAAO,IAAI,GAAG;QACvB,qDAAqD;QACrD,cAAc;QACd,qBAAqB;KACtB,CACF,CAAC;IAEF,6BAA6B;IAC7B,MAAM,WAAW,GAAuB;QACtC,KAAK;QACL,OAAO,EAAE;YACP,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACnC,QAAQ,EAAE,KAAK;SAChB;QACD,WAAW;QACX,GAAG,SAAS;QACZ,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IAEF,yBAAyB;IACzB,MAAM,QAAQ,GAAG,MAAM,gBAAS,CAAC,IAAI,CACnC,cAAc,EACd,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/api/payment.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { PaymentResponse, RozoPayHydratedOrderWithOrg } from ".";
2
- import type { PaymentResponseData } from "./api/payment";
3
2
  export interface PaymentBridgeConfig {
4
3
  toChain: number;
5
4
  toToken: string;
@@ -132,71 +131,54 @@ interface PaymentBridge {
132
131
  */
133
132
  export declare function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, preferredChain, preferredTokenAddress, }: PaymentBridgeConfig): PaymentBridge;
134
133
  /**
135
- * Transforms a payment API response into a fully hydrated order object
136
- *
137
- * Converts the payment response data from the RozoAI payment API into a complete
138
- * `RozoPayHydratedOrderWithOrg` object that contains all the information needed
139
- * to display order status, track payments, and handle cross-chain transactions.
140
- *
141
- * This function performs several key transformations:
142
- *
143
- * 1. **Token Resolution**: Identifies the correct token based on chain and address
144
- * - Uses `getKnownToken()` to resolve token metadata (decimals, symbol, logo, etc.)
145
- * - Handles special cases for Stellar tokens using issuer public key
146
- *
147
- * 2. **Order Structure**: Creates a complete order with all required fields
148
- * - Generates random order ID for internal tracking
149
- * - Sets up intent, handoff, and contract addresses
150
- * - Configures bridge token options and destination amounts
151
- *
152
- * 3. **Status Initialization**: Sets initial payment statuses
153
- * - Source status: WAITING_PAYMENT (awaiting user transaction)
154
- * - Destination status: PENDING (not yet received)
155
- * - Intent status: UNPAID (payment not initiated)
156
- *
157
- * 4. **Metadata Merge**: Combines various metadata sources
158
- * - Merges order metadata, user metadata, and custom metadata
159
- * - Preserves external ID and organization information
160
- *
161
- * @param order - Payment response data from the RozoAI payment API
162
- * @param order.metadata - Payment metadata including chain, token, and routing info
163
- * @param order.destination - Destination configuration (chain, token, amount, address)
164
- * @param order.source - Source transaction info (if payment has been initiated)
165
- * @param order.orgId - Organization ID for the payment
166
- * @param order.externalId - External reference ID (if provided by merchant)
167
- *
168
- * @returns Complete hydrated order object with all payment tracking information
169
- * @returns id - Unique order identifier (random BigInt)
170
- * @returns mode - Order mode (HYDRATED)
171
- * @returns sourceStatus - Source transaction status
172
- * @returns destStatus - Destination transaction status
173
- * @returns intentStatus - Overall payment intent status
174
- * @returns metadata - Merged metadata from all sources
175
- * @returns org - Organization information
134
+ * Converts a RozoAI payment API response to a fully hydrated RozoPay order.
176
135
  *
177
- * @example
178
- * ```typescript
179
- * const paymentResponse = await getRozoPayment(paymentId);
136
+ * This utility transforms the low-level {@link PaymentResponse} object returned by the RozoAI Intent Pay API
137
+ * into a {@link RozoPayHydratedOrderWithOrg}, containing all values needed for UI display, order tracking,
138
+ * and multi-chain cross-payment logic. Fields are normalized and token metadata is resolved in order to
139
+ * standardize data from different chains and token types.
140
+ *
141
+ * Key steps performed:
142
+ *
143
+ * 1. **Token Metadata Lookup**: Uses {@link getKnownToken} to identify the correct token
144
+ * for the payment, including decimals, symbol, logo, and chain details.
145
+ * Special handling is applied for Stellar and Solana tokens based on how they're encoded in the backend.
146
+ *
147
+ * 2. **Order Hydration**: Generates a unique (random BigInt) internal order ID for frontend usage, sets the
148
+ * payment mode as HYDRATED, and resolves all destination call and amount fields from the payment response.
149
+ *
150
+ * 3. **Status Initialization**: Initializes the payment, source, and destination status fields
151
+ * with their correct values based on the payment's progress in the state machine. The returned object is
152
+ * ready for status tracking and user notification.
180
153
  *
181
- * const hydratedOrder = formatPaymentResponseDataToHydratedOrder(
182
- * paymentResponse.data,
183
- * 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN'
184
- * );
154
+ * 4. **Metadata Consolidation**: Merges core order metadata, user metadata (if provided by the payer),
155
+ * and any external references such as org info. Ensures all details needed for order display and analytics are available.
185
156
  *
157
+ * @param order - Low-level API payment response (from RozoAI Intent Pay backend)
158
+ * @param feeType - Optional: Fee deduction mode (ExactIn/ExactOut); determines which side's amount is shown as source. Defaults to ExactIn.
159
+ *
160
+ * @returns {RozoPayHydratedOrderWithOrg} A normalized, display-ready order representation containing all tracking, status,
161
+ * token, org, and routing information for frontend use.
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * const paymentResponse = await getPayment(paymentId);
166
+ * const hydratedOrder = formatPaymentResponseToHydratedOrder(paymentResponse.data);
186
167
  * console.log(hydratedOrder.sourceStatus); // 'WAITING_PAYMENT'
187
168
  * console.log(hydratedOrder.destFinalCallTokenAmount.token.symbol); // 'USDC'
188
169
  * console.log(hydratedOrder.usdValue); // 10.00
189
170
  * ```
190
171
  *
191
- * @note The generated order ID is random and intended for client-side tracking only.
192
- * Use `externalId` or the API payment ID for server-side reference.
193
- *
194
- * @note The function sets a 5-minute expiration timestamp from the current time.
172
+ * @remarks
173
+ * - The returned `id` (BigInt) is generated randomly and is client-side only; always use
174
+ * `order.orderId` or the API reference for backend/server reconciliation.
175
+ * - The expiration timestamp and org info are carried over if present on the API response.
176
+ * - Decimals, token symbol, and display metadata for the amount and destination chain
177
+ * are resolved so the result is immediately usable for UI.
195
178
  *
196
- * @see PaymentResponseData
179
+ * @see PaymentResponse
197
180
  * @see RozoPayHydratedOrderWithOrg
198
181
  * @see getKnownToken
199
182
  */
200
- export declare function formatResponseToHydratedOrder(order: PaymentResponseData): RozoPayHydratedOrderWithOrg;
201
183
  export declare function formatPaymentResponseToHydratedOrder(order: PaymentResponse): RozoPayHydratedOrderWithOrg;
202
184
  export {};
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPaymentBridgeConfig = createPaymentBridgeConfig;
4
- exports.formatResponseToHydratedOrder = formatResponseToHydratedOrder;
5
4
  exports.formatPaymentResponseToHydratedOrder = formatPaymentResponseToHydratedOrder;
6
5
  const viem_1 = require("viem");
7
6
  const _1 = require(".");
@@ -120,9 +119,10 @@ function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, prefe
120
119
  if (!addressValid) {
121
120
  throw new Error(`Invalid address ${toAddress} for chain ${chain.name} (${toChain})`);
122
121
  }
122
+ const preferredChainData = (0, _1.getChainById)(preferredChain);
123
123
  const tokenConfig = (0, _1.getKnownToken)(preferredChain, preferredTokenAddress);
124
124
  if (!tokenConfig) {
125
- throw new Error(`Unknown token ${preferredTokenAddress} for chain ${chain.name} (${preferredChain})`);
125
+ throw new Error(`Unknown token ${preferredTokenAddress} for chain ${preferredChainData.name} (${preferredChain})`);
126
126
  }
127
127
  let preferred = {
128
128
  preferredChain: String(preferredChain),
@@ -169,106 +169,69 @@ function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, prefe
169
169
  return { preferred, destination, isIntentPayment };
170
170
  }
171
171
  /**
172
- * Transforms a payment API response into a fully hydrated order object
172
+ * Converts a RozoAI payment API response to a fully hydrated RozoPay order.
173
173
  *
174
- * Converts the payment response data from the RozoAI payment API into a complete
175
- * `RozoPayHydratedOrderWithOrg` object that contains all the information needed
176
- * to display order status, track payments, and handle cross-chain transactions.
174
+ * This utility transforms the low-level {@link PaymentResponse} object returned by the RozoAI Intent Pay API
175
+ * into a {@link RozoPayHydratedOrderWithOrg}, containing all values needed for UI display, order tracking,
176
+ * and multi-chain cross-payment logic. Fields are normalized and token metadata is resolved in order to
177
+ * standardize data from different chains and token types.
177
178
  *
178
- * This function performs several key transformations:
179
+ * Key steps performed:
179
180
  *
180
- * 1. **Token Resolution**: Identifies the correct token based on chain and address
181
- * - Uses `getKnownToken()` to resolve token metadata (decimals, symbol, logo, etc.)
182
- * - Handles special cases for Stellar tokens using issuer public key
181
+ * 1. **Token Metadata Lookup**: Uses {@link getKnownToken} to identify the correct token
182
+ * for the payment, including decimals, symbol, logo, and chain details.
183
+ * Special handling is applied for Stellar and Solana tokens based on how they're encoded in the backend.
183
184
  *
184
- * 2. **Order Structure**: Creates a complete order with all required fields
185
- * - Generates random order ID for internal tracking
186
- * - Sets up intent, handoff, and contract addresses
187
- * - Configures bridge token options and destination amounts
185
+ * 2. **Order Hydration**: Generates a unique (random BigInt) internal order ID for frontend usage, sets the
186
+ * payment mode as HYDRATED, and resolves all destination call and amount fields from the payment response.
188
187
  *
189
- * 3. **Status Initialization**: Sets initial payment statuses
190
- * - Source status: WAITING_PAYMENT (awaiting user transaction)
191
- * - Destination status: PENDING (not yet received)
192
- * - Intent status: UNPAID (payment not initiated)
188
+ * 3. **Status Initialization**: Initializes the payment, source, and destination status fields
189
+ * with their correct values based on the payment's progress in the state machine. The returned object is
190
+ * ready for status tracking and user notification.
193
191
  *
194
- * 4. **Metadata Merge**: Combines various metadata sources
195
- * - Merges order metadata, user metadata, and custom metadata
196
- * - Preserves external ID and organization information
192
+ * 4. **Metadata Consolidation**: Merges core order metadata, user metadata (if provided by the payer),
193
+ * and any external references such as org info. Ensures all details needed for order display and analytics are available.
197
194
  *
198
- * @param order - Payment response data from the RozoAI payment API
199
- * @param order.metadata - Payment metadata including chain, token, and routing info
200
- * @param order.destination - Destination configuration (chain, token, amount, address)
201
- * @param order.source - Source transaction info (if payment has been initiated)
202
- * @param order.orgId - Organization ID for the payment
203
- * @param order.externalId - External reference ID (if provided by merchant)
195
+ * @param order - Low-level API payment response (from RozoAI Intent Pay backend)
196
+ * @param feeType - Optional: Fee deduction mode (ExactIn/ExactOut); determines which side's amount is shown as source. Defaults to ExactIn.
204
197
  *
205
- * @returns Complete hydrated order object with all payment tracking information
206
- * @returns id - Unique order identifier (random BigInt)
207
- * @returns mode - Order mode (HYDRATED)
208
- * @returns sourceStatus - Source transaction status
209
- * @returns destStatus - Destination transaction status
210
- * @returns intentStatus - Overall payment intent status
211
- * @returns metadata - Merged metadata from all sources
212
- * @returns org - Organization information
198
+ * @returns {RozoPayHydratedOrderWithOrg} A normalized, display-ready order representation containing all tracking, status,
199
+ * token, org, and routing information for frontend use.
213
200
  *
214
201
  * @example
215
202
  * ```typescript
216
- * const paymentResponse = await getRozoPayment(paymentId);
217
- *
218
- * const hydratedOrder = formatPaymentResponseDataToHydratedOrder(
219
- * paymentResponse.data,
220
- * 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN'
221
- * );
222
- *
203
+ * const paymentResponse = await getPayment(paymentId);
204
+ * const hydratedOrder = formatPaymentResponseToHydratedOrder(paymentResponse.data);
223
205
  * console.log(hydratedOrder.sourceStatus); // 'WAITING_PAYMENT'
224
206
  * console.log(hydratedOrder.destFinalCallTokenAmount.token.symbol); // 'USDC'
225
207
  * console.log(hydratedOrder.usdValue); // 10.00
226
208
  * ```
227
209
  *
228
- * @note The generated order ID is random and intended for client-side tracking only.
229
- * Use `externalId` or the API payment ID for server-side reference.
230
- *
231
- * @note The function sets a 5-minute expiration timestamp from the current time.
210
+ * @remarks
211
+ * - The returned `id` (BigInt) is generated randomly and is client-side only; always use
212
+ * `order.orderId` or the API reference for backend/server reconciliation.
213
+ * - The expiration timestamp and org info are carried over if present on the API response.
214
+ * - Decimals, token symbol, and display metadata for the amount and destination chain
215
+ * are resolved so the result is immediately usable for UI.
232
216
  *
233
- * @see PaymentResponseData
217
+ * @see PaymentResponse
234
218
  * @see RozoPayHydratedOrderWithOrg
235
219
  * @see getKnownToken
236
220
  */
237
- function formatResponseToHydratedOrder(order) {
238
- const destAddress = order.metadata.receivingAddress;
239
- const requiredChain = order.metadata.preferredChain || _1.baseUSDC.chainId;
221
+ function formatPaymentResponseToHydratedOrder(order) {
222
+ // Source amount is in the same units as the destination amount without fee
223
+ const sourceAmountUnits = order.source?.amount ?? "0";
224
+ // Destination address is where the payment will be received
225
+ const destAddress = order.source?.receiverAddress;
226
+ // Determine the chain from metadata or default to the source chain
227
+ const requiredChain = order.source?.chainId || _1.baseUSDC.chainId;
240
228
  const token = (0, _1.getKnownToken)(Number(requiredChain), Number(requiredChain) === _1.rozoStellarUSDC.chainId
241
229
  ? _1.rozoStellarUSDC.token
242
- : order.metadata.preferredTokenAddress);
230
+ : order.source?.tokenAddress || "");
243
231
  return {
244
232
  id: BigInt(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)),
245
233
  mode: _1.RozoPayOrderMode.HYDRATED,
246
- intentAddr: destAddress,
247
- // @TODO: use correct destination token
248
- // bridgeTokenOutOptions: [
249
- // {
250
- // token: {
251
- // chainId: baseUSDC.chainId,
252
- // token: baseUSDC.token,
253
- // symbol: baseUSDC.symbol,
254
- // usd: 1,
255
- // priceFromUsd: 1,
256
- // decimals: baseUSDC.decimals,
257
- // displayDecimals: 2,
258
- // logoSourceURI: baseUSDC.logoSourceURI,
259
- // logoURI: baseUSDC.logoURI,
260
- // maxAcceptUsd: 100000,
261
- // maxSendUsd: 0,
262
- // },
263
- // amount: parseUnits(
264
- // order.destination.amountUnits,
265
- // baseUSDC.decimals
266
- // ).toString() as `${bigint}`,
267
- // usd: Number(order.destination.amountUnits),
268
- // },
269
- // ],
270
- // selectedBridgeTokenOutAddr: null,
271
- // selectedBridgeTokenOutAmount: null,
234
+ intentAddr: destAddress ?? "",
272
235
  destFinalCallTokenAmount: {
273
236
  token: {
274
237
  chainId: token ? token.chainId : _1.baseUSDC.chainId,
@@ -283,81 +246,41 @@ function formatResponseToHydratedOrder(order) {
283
246
  maxAcceptUsd: 100000,
284
247
  maxSendUsd: 0,
285
248
  },
286
- amount: (0, viem_1.parseUnits)(order.destination.amountUnits, token ? token.decimals : _1.baseUSDC.decimals).toString(),
287
- usd: Number(order.destination.amountUnits),
249
+ amount: (0, viem_1.parseUnits)(sourceAmountUnits, token ? token.decimals : _1.baseUSDC.decimals).toString(),
250
+ usd: Number(sourceAmountUnits),
288
251
  },
289
- usdValue: Number(order.destination.amountUnits),
252
+ usdValue: Number(sourceAmountUnits),
290
253
  destFinalCall: {
291
- to: destAddress,
254
+ to: destAddress ?? "",
292
255
  value: BigInt("0"),
293
256
  data: "0x",
294
257
  },
295
- refundAddr: order.source?.sourceAddress || null,
296
- nonce: order.nonce,
258
+ refundAddr: order.source?.senderAddress || null,
259
+ nonce: BigInt(order.nonce ?? 0),
297
260
  sourceFulfillerAddr: null,
298
261
  sourceTokenAmount: null,
299
262
  sourceInitiateTxHash: null,
300
- // sourceStartTxHash: null,
301
263
  sourceStatus: _1.RozoPayOrderStatusSource.WAITING_PAYMENT,
302
264
  destStatus: _1.RozoPayOrderStatusDest.PENDING,
303
265
  intentStatus: _1.RozoPayIntentStatus.UNPAID,
304
266
  destFastFinishTxHash: null,
305
267
  destClaimTxHash: null,
306
268
  redirectUri: null,
307
- createdAt: Math.floor(Date.now() / 1000),
308
- lastUpdatedAt: Math.floor(Date.now() / 1000),
309
- orgId: order.orgId,
269
+ createdAt: Math.floor(new Date(order.createdAt).getTime() / 1000),
270
+ lastUpdatedAt: Math.floor(new Date(order.updatedAt).getTime() / 1000),
271
+ orgId: order.orgId ?? "",
310
272
  metadata: {
311
273
  ...(order?.metadata ?? {}),
312
- ...(order.userMetadata ?? {}),
313
- ...(order.metadata ?? {}),
274
+ receivingAddress: order.source?.receiverAddress,
275
+ memo: order.source?.receiverMemo ?? null,
314
276
  },
315
- externalId: order.externalId,
277
+ externalId: order.externalId ?? null,
316
278
  userMetadata: order.userMetadata,
317
- expirationTs: order.expiresAt
318
- ? BigInt(Math.floor(new Date(String(order.expiresAt)).getTime() / 1000).toString())
319
- : BigInt(Math.floor(Date.now() / 1000 + 5 * 60).toString()),
279
+ expirationTs: BigInt(Math.floor(new Date(order.expiresAt).getTime() / 1000).toString()),
320
280
  org: {
321
- orgId: order.orgId,
281
+ orgId: order.orgId ?? "",
322
282
  name: "",
323
283
  },
324
284
  };
325
285
  }
326
- function formatPaymentResponseToHydratedOrder(order) {
327
- // Source amount is in the same units as the destination amount without fee
328
- const sourceAmountUnits = order.source?.amount ?? "0";
329
- return formatResponseToHydratedOrder({
330
- id: order.id,
331
- expiresAt: new Date(order.expiresAt).toISOString(),
332
- updatedAt: new Date(order.updatedAt).toISOString(),
333
- createdAt: new Date(order.createdAt).toISOString(),
334
- status: _1.RozoPayOrderMode.HYDRATED,
335
- display: order.display,
336
- metadata: {
337
- ...order.metadata,
338
- receivingAddress: order.source?.receiverAddress,
339
- memo: order.source?.receiverMemo ?? null,
340
- },
341
- destination: {
342
- destinationAddress: order.destination?.receiverAddress ?? "",
343
- chainId: String(order.destination?.chainId ?? ""),
344
- amountUnits: sourceAmountUnits,
345
- tokenSymbol: order.destination?.tokenSymbol ?? "",
346
- tokenAddress: order.destination?.tokenAddress ?? "",
347
- txHash: order.destination?.txHash ?? null,
348
- },
349
- source: {
350
- sourceAddress: order.source?.senderAddress ?? undefined,
351
- chainId: String(order.source?.chainId ?? ""),
352
- amountUnits: sourceAmountUnits,
353
- tokenSymbol: order.source?.tokenSymbol ?? "",
354
- tokenAddress: order.source?.tokenAddress ?? "",
355
- },
356
- url: order.url,
357
- externalId: order.externalId,
358
- userMetadata: order.userMetadata,
359
- nonce: order.nonce,
360
- orgId: order.orgId,
361
- });
362
- }
363
- //# sourceMappingURL=bridge.js.map
286
+ //# sourceMappingURL=bridge-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-utils.js","sourceRoot":"","sources":["../src/bridge-utils.ts"],"names":[],"mappings":"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"}
package/dist/format.d.ts CHANGED
@@ -17,3 +17,9 @@ export declare function generateEVMDeepLink({ amountUnits, chainId, recipientAdd
17
17
  recipientAddress: string;
18
18
  amountUnits: string;
19
19
  }): string;
20
+ export declare function generateIntentTitle({ toChainId, toTokenAddress, preferredChainId, preferredTokenAddress, }: {
21
+ toChainId: number;
22
+ toTokenAddress: string;
23
+ preferredChainId: number;
24
+ preferredTokenAddress: string;
25
+ }): string;
package/dist/format.js CHANGED
@@ -4,6 +4,9 @@ exports.getAddressContraction = getAddressContraction;
4
4
  exports.dateToUnix = dateToUnix;
5
5
  exports.unixToDate = unixToDate;
6
6
  exports.generateEVMDeepLink = generateEVMDeepLink;
7
+ exports.generateIntentTitle = generateIntentTitle;
8
+ const chain_1 = require("./chain");
9
+ const token_1 = require("./token");
7
10
  /**
8
11
  * Contract an Ethereum address to a shorter string.
9
12
  *
@@ -26,4 +29,17 @@ function unixToDate(unix) {
26
29
  function generateEVMDeepLink({ amountUnits, chainId, recipientAddress, tokenAddress, }) {
27
30
  return `ethereum:${tokenAddress}@${chainId}/transfer?address=${recipientAddress}&uint256=${amountUnits}`;
28
31
  }
32
+ function generateIntentTitle({ toChainId, toTokenAddress, preferredChainId, preferredTokenAddress, }) {
33
+ const toChainName = (0, chain_1.getChainName)(toChainId);
34
+ const preferredChainName = (0, chain_1.getChainName)(preferredChainId);
35
+ const toToken = (0, token_1.getKnownToken)(toChainId, toTokenAddress);
36
+ const preferredToken = (0, token_1.getKnownToken)(preferredChainId, preferredTokenAddress);
37
+ if (!toToken || !preferredToken) {
38
+ return "Pay";
39
+ }
40
+ if (toToken.chainId === preferredToken.chainId) {
41
+ return `Pay with ${preferredToken.symbol} (${preferredChainName})`;
42
+ }
43
+ return `Pay with ${preferredToken.symbol} (${preferredChainName}) to ${toToken.symbol} (${toChainName})`;
44
+ }
29
45
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";;AAQA,sDAEC;AAGD,gCAEC;AAGD,gCAEC;AAED,kDAYC;AAlCD;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,OAAe,EAAE,MAAM,GAAG,CAAC;IAC/D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,CAAO;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,YAAY,GAMb;IACC,OAAO,YAAY,YAAY,IAAI,OAAO,qBAAqB,gBAAgB,YAAY,WAAW,EAAE,CAAC;AAC3G,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";;AAWA,sDAEC;AAGD,gCAEC;AAGD,gCAEC;AAED,kDAYC;AAED,kDAyBC;AAhED,mCAAuC;AACvC,mCAAwC;AAExC;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,OAAe,EAAE,MAAM,GAAG,CAAC;IAC/D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,CAAO;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,YAAY,GAMb;IACC,OAAO,YAAY,YAAY,IAAI,OAAO,qBAAqB,gBAAgB,YAAY,WAAW,EAAE,CAAC;AAC3G,CAAC;AAED,SAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GAMtB;IACC,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAE9E,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,YAAY,cAAc,CAAC,MAAM,KAAK,kBAAkB,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,YAAY,cAAc,CAAC,MAAM,KAAK,kBAAkB,QAAQ,OAAO,CAAC,MAAM,KAAK,WAAW,GAAG,CAAC;AAC3G,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  export * from "./api/fee";
2
- export * from "./api/new-payment";
3
2
  export * from "./api/payment";
4
3
  export * from "./assert";
5
- export * from "./bridge";
4
+ export * from "./bridge-utils";
6
5
  export * from "./chain";
7
- export * from "./daimoPay";
8
6
  export * from "./debug";
9
7
  export * from "./format";
10
8
  export * from "./primitiveTypes";
11
9
  export * from "./retryBackoff";
10
+ export * from "./rozoPay";
12
11
  export * from "./token";
13
12
  export * from "./try";
14
13
  export * from "./validation";
package/dist/index.js CHANGED
@@ -15,16 +15,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./api/fee"), exports);
18
- __exportStar(require("./api/new-payment"), exports);
19
18
  __exportStar(require("./api/payment"), exports);
20
19
  __exportStar(require("./assert"), exports);
21
- __exportStar(require("./bridge"), exports);
20
+ __exportStar(require("./bridge-utils"), exports);
22
21
  __exportStar(require("./chain"), exports);
23
- __exportStar(require("./daimoPay"), exports);
24
22
  __exportStar(require("./debug"), exports);
25
23
  __exportStar(require("./format"), exports);
26
24
  __exportStar(require("./primitiveTypes"), exports);
27
25
  __exportStar(require("./retryBackoff"), exports);
26
+ __exportStar(require("./rozoPay"), exports);
28
27
  __exportStar(require("./token"), exports);
29
28
  __exportStar(require("./try"), exports);
30
29
  __exportStar(require("./validation"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,oDAAkC;AAClC,gDAA8B;AAC9B,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB;AACzB,mDAAiC;AACjC,iDAA+B;AAC/B,0CAAwB;AACxB,wCAAsB;AACtB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB;AACtB,+CAA6B"}
@@ -279,4 +279,4 @@ var WebhookEventStatus;
279
279
  WebhookEventStatus["SUCCESSFUL"] = "successful";
280
280
  WebhookEventStatus["FAILED"] = "failed";
281
281
  })(WebhookEventStatus || (exports.WebhookEventStatus = WebhookEventStatus = {}));
282
- //# sourceMappingURL=daimoPay.js.map
282
+ //# sourceMappingURL=rozoPay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rozoPay.js","sourceRoot":"","sources":["../src/rozoPay.ts"],"names":[],"mappings":"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"}
package/dist/token.js CHANGED
@@ -765,10 +765,12 @@ exports.supportedTokens = new Map([
765
765
  [chain_1.arbitrum.chainId, [exports.arbitrumUSDC, exports.arbitrumUSDT]],
766
766
  [chain_1.avalanche.chainId, [exports.avalancheUSDC, exports.avalancheUSDT]],
767
767
  [chain_1.base.chainId, [exports.baseUSDC]],
768
+ [chain_1.bsc.chainId, [exports.bscUSDC, exports.bscUSDT]],
768
769
  [chain_1.ethereum.chainId, [exports.ethereumUSDC, exports.ethereumUSDT]],
769
770
  [chain_1.gnosis.chainId, [exports.gnosisUSDC, exports.gnosisUSDT]],
770
771
  [chain_1.optimism.chainId, [exports.optimismUSDC, exports.optimismUSDT]],
771
772
  [chain_1.polygon.chainId, [exports.polygonUSDC, exports.polygonUSDT]],
773
+ [chain_1.worldchain.chainId, [exports.worldchainUSDC]],
772
774
  [chain_1.rozoSolana.chainId, [exports.rozoSolanaUSDC, exports.rozoSolanaUSDT]],
773
775
  [chain_1.rozoStellar.chainId, [exports.rozoStellarUSDC]],
774
776
  ]);