@pafi-dev/core 0.7.7 → 0.8.0

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.
Files changed (63) hide show
  1. package/dist/abi/index.cjs +7 -3
  2. package/dist/abi/index.cjs.map +1 -1
  3. package/dist/abi/index.d.cts +451 -2
  4. package/dist/abi/index.d.ts +451 -2
  5. package/dist/abi/index.js +7 -3
  6. package/dist/auth/index.cjs +6 -2
  7. package/dist/auth/index.cjs.map +1 -1
  8. package/dist/auth/index.d.cts +21 -9
  9. package/dist/auth/index.d.ts +21 -9
  10. package/dist/auth/index.js +5 -1
  11. package/dist/{chunk-6UX2IFA2.js → chunk-4EGXLYMM.js} +20 -2
  12. package/dist/chunk-4EGXLYMM.js.map +1 -0
  13. package/dist/chunk-644KZUKR.cjs +519 -0
  14. package/dist/chunk-644KZUKR.cjs.map +1 -0
  15. package/dist/{chunk-5254AG3Z.cjs → chunk-75JWR5SA.cjs} +21 -3
  16. package/dist/chunk-75JWR5SA.cjs.map +1 -0
  17. package/dist/{chunk-6CXTFOIH.js → chunk-ABNM6LMP.js} +266 -1
  18. package/dist/chunk-ABNM6LMP.js.map +1 -0
  19. package/dist/{chunk-M5ULOZ3A.cjs → chunk-ACQHZWHP.cjs} +55 -3
  20. package/dist/chunk-ACQHZWHP.cjs.map +1 -0
  21. package/dist/{chunk-5JZOJIBT.js → chunk-B2NDSIAI.js} +1 -1095
  22. package/dist/chunk-B2NDSIAI.js.map +1 -0
  23. package/dist/{chunk-WJSIB5GF.js → chunk-BB5YW57R.js} +53 -1
  24. package/dist/chunk-BB5YW57R.js.map +1 -0
  25. package/dist/chunk-CUVUSVWR.js +519 -0
  26. package/dist/chunk-CUVUSVWR.js.map +1 -0
  27. package/dist/chunk-JEWSN7Q3.cjs +1059 -0
  28. package/dist/chunk-JEWSN7Q3.cjs.map +1 -0
  29. package/dist/{chunk-Q6WCDZXI.cjs → chunk-RFANYF24.cjs} +267 -2
  30. package/dist/chunk-RFANYF24.cjs.map +1 -0
  31. package/dist/{chunk-YDLMVWDH.js → chunk-Y4CFC4OC.js} +5 -3
  32. package/dist/{chunk-YDLMVWDH.js.map → chunk-Y4CFC4OC.js.map} +1 -1
  33. package/dist/{chunk-CLPRSQT2.cjs → chunk-YCY7MBSJ.cjs} +14 -12
  34. package/dist/chunk-YCY7MBSJ.cjs.map +1 -0
  35. package/dist/contract/index.cjs +4 -3
  36. package/dist/contract/index.cjs.map +1 -1
  37. package/dist/contract/index.d.cts +1 -1
  38. package/dist/contract/index.d.ts +1 -1
  39. package/dist/contract/index.js +3 -2
  40. package/dist/eip712/index.cjs +7 -2
  41. package/dist/eip712/index.cjs.map +1 -1
  42. package/dist/eip712/index.d.cts +39 -4
  43. package/dist/eip712/index.d.ts +39 -4
  44. package/dist/eip712/index.js +6 -1
  45. package/dist/index.cjs +169 -60
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.cts +112 -31
  48. package/dist/index.d.ts +112 -31
  49. package/dist/index.js +132 -23
  50. package/dist/index.js.map +1 -1
  51. package/dist/{types-BAkmxgVo.d.cts → types-BS4kpO4Z.d.cts} +62 -5
  52. package/dist/{types-BAkmxgVo.d.ts → types-BS4kpO4Z.d.ts} +62 -5
  53. package/package.json +1 -1
  54. package/dist/chunk-5254AG3Z.cjs.map +0 -1
  55. package/dist/chunk-5JZOJIBT.js.map +0 -1
  56. package/dist/chunk-6CXTFOIH.js.map +0 -1
  57. package/dist/chunk-6UX2IFA2.js.map +0 -1
  58. package/dist/chunk-CLPRSQT2.cjs.map +0 -1
  59. package/dist/chunk-LRHY7GOR.cjs +0 -2153
  60. package/dist/chunk-LRHY7GOR.cjs.map +0 -1
  61. package/dist/chunk-M5ULOZ3A.cjs.map +0 -1
  62. package/dist/chunk-Q6WCDZXI.cjs.map +0 -1
  63. package/dist/chunk-WJSIB5GF.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -4,8 +4,8 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkQ6WCDZXIcjs = require('./chunk-Q6WCDZXI.cjs');
8
7
 
8
+ var _chunkRFANYF24cjs = require('./chunk-RFANYF24.cjs');
9
9
 
10
10
 
11
11
 
@@ -18,10 +18,10 @@ var _chunkQ6WCDZXIcjs = require('./chunk-Q6WCDZXI.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunk5254AG3Zcjs = require('./chunk-5254AG3Z.cjs');
22
21
 
23
22
 
24
23
 
24
+ var _chunk75JWR5SAcjs = require('./chunk-75JWR5SA.cjs');
25
25
 
26
26
 
27
27
 
@@ -32,14 +32,14 @@ var _chunk5254AG3Zcjs = require('./chunk-5254AG3Z.cjs');
32
32
 
33
33
 
34
34
 
35
- var _chunkCLPRSQT2cjs = require('./chunk-CLPRSQT2.cjs');
36
35
 
37
36
 
38
37
 
38
+ var _chunkYCY7MBSJcjs = require('./chunk-YCY7MBSJ.cjs');
39
39
 
40
- var _chunkLRHY7GORcjs = require('./chunk-LRHY7GOR.cjs');
41
40
 
42
41
 
42
+ var _chunkJEWSN7Q3cjs = require('./chunk-JEWSN7Q3.cjs');
43
43
 
44
44
 
45
45
 
@@ -61,13 +61,36 @@ var _chunkLRHY7GORcjs = require('./chunk-LRHY7GOR.cjs');
61
61
 
62
62
 
63
63
 
64
- var _chunkM5ULOZ3Acjs = require('./chunk-M5ULOZ3A.cjs');
64
+
65
+
66
+
67
+
68
+ var _chunkACQHZWHPcjs = require('./chunk-ACQHZWHP.cjs');
69
+
70
+
71
+ var _chunk644KZUKRcjs = require('./chunk-644KZUKR.cjs');
65
72
  require('./chunk-JEQ2X3Z6.cjs');
66
73
 
67
74
  // src/index.ts
68
75
  var _viem = require('viem');
69
76
 
70
77
  // src/errors.ts
78
+ var SDK_ERROR_HTTP_STATUS_CODE = {
79
+ not_found: 404,
80
+ forbidden: 403,
81
+ unprocessable: 422,
82
+ service_unavailable: 503
83
+ };
84
+ function defaultErrorTypeForStatus(status) {
85
+ if (status === 400) return "validation_error";
86
+ if (status === 401) return "authentication_error";
87
+ if (status === 403) return "authorization_error";
88
+ if (status === 404) return "not_found_error";
89
+ if (status === 422) return "business_logic_error";
90
+ if (status === 429) return "rate_limit_error";
91
+ if (status === 503) return "service_unavailable_error";
92
+ return "server_error";
93
+ }
71
94
  var PafiSdkError = (_class = class extends Error {
72
95
  /**
73
96
  * `true` when the FE should consider a retry safe — typically because
@@ -75,6 +98,24 @@ var PafiSdkError = (_class = class extends Error {
75
98
  */
76
99
  __init() {this.safeToRetry = false}
77
100
 
101
+ /**
102
+ * Optional Stripe-style taxonomy override. Defaults to the type
103
+ * implied by `httpStatus` (forbidden→authorization_error,
104
+ * unprocessable→business_logic_error, etc).
105
+ */
106
+
107
+ /**
108
+ * Optional name of the request field that triggered the error (e.g.
109
+ * `"amount"`, `"chainId"`). Surfaced on validation failures so the
110
+ * client can highlight the offending field.
111
+ */
112
+
113
+ /**
114
+ * Optional structured context (e.g. `{ available, requested }` for a
115
+ * cap denial). Distinct from `details` — `metadata` is meant for
116
+ * UI consumption; `details` carries raw debug info.
117
+ */
118
+
78
119
  constructor(message) {
79
120
  super(message);_class.prototype.__init.call(this);;
80
121
  this.name = new.target.name;
@@ -129,12 +170,18 @@ var OracleStaleError = (_class2 = class extends PafiSdkError {
129
170
  }, _class2);
130
171
  var ValidationError = (_class3 = class extends PafiSdkError {
131
172
  __init4() {this.httpStatus = "unprocessable"}
173
+ __init5() {this.type = "validation_error"}
132
174
 
133
-
134
- constructor(code, message, details) {
135
- super(message);_class3.prototype.__init4.call(this);;
175
+ constructor(code, message, details, options) {
176
+ super(message);_class3.prototype.__init4.call(this);_class3.prototype.__init5.call(this);;
136
177
  this.code = code;
137
178
  this.details = details;
179
+ if (_optionalChain([options, 'optionalAccess', _ => _.param])) {
180
+ this.param = options.param;
181
+ }
182
+ if (_optionalChain([options, 'optionalAccess', _2 => _2.metadata])) {
183
+ this.metadata = options.metadata;
184
+ }
138
185
  }
139
186
  }, _class3);
140
187
 
@@ -312,11 +359,11 @@ function buildPartialUserOperation(params) {
312
359
  sender: params.sender,
313
360
  nonce: params.nonce,
314
361
  callData: encodeBatchExecute(params.operations),
315
- callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _ => _.gasLimits, 'optionalAccess', _2 => _2.callGasLimit]), () => ( DEFAULT_CALL_GAS_LIMIT)),
316
- verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _3 => _3.gasLimits, 'optionalAccess', _4 => _4.verificationGasLimit]), () => ( DEFAULT_VERIFICATION_GAS_LIMIT)),
317
- preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _5 => _5.gasLimits, 'optionalAccess', _6 => _6.preVerificationGas]), () => ( DEFAULT_PRE_VERIFICATION_GAS)),
318
- maxFeePerGas: _nullishCoalesce(_optionalChain([params, 'access', _7 => _7.feeOverrides, 'optionalAccess', _8 => _8.maxFeePerGas]), () => ( 0n)),
319
- maxPriorityFeePerGas: _nullishCoalesce(_optionalChain([params, 'access', _9 => _9.feeOverrides, 'optionalAccess', _10 => _10.maxPriorityFeePerGas]), () => ( 0n))
362
+ callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _3 => _3.gasLimits, 'optionalAccess', _4 => _4.callGasLimit]), () => ( DEFAULT_CALL_GAS_LIMIT)),
363
+ verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _5 => _5.gasLimits, 'optionalAccess', _6 => _6.verificationGasLimit]), () => ( DEFAULT_VERIFICATION_GAS_LIMIT)),
364
+ preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _7 => _7.gasLimits, 'optionalAccess', _8 => _8.preVerificationGas]), () => ( DEFAULT_PRE_VERIFICATION_GAS)),
365
+ maxFeePerGas: _nullishCoalesce(_optionalChain([params, 'access', _9 => _9.feeOverrides, 'optionalAccess', _10 => _10.maxFeePerGas]), () => ( 0n)),
366
+ maxPriorityFeePerGas: _nullishCoalesce(_optionalChain([params, 'access', _11 => _11.feeOverrides, 'optionalAccess', _12 => _12.maxPriorityFeePerGas]), () => ( 0n))
320
367
  };
321
368
  }
322
369
  function assembleUserOperation(partial, paymaster, signature) {
@@ -371,9 +418,9 @@ function buildPerpDepositWithGasDeduction(params) {
371
418
  nonce: params.aaNonce,
372
419
  operations,
373
420
  gasLimits: {
374
- callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _11 => _11.gasLimits, 'optionalAccess', _12 => _12.callGasLimit]), () => ( 800000n)),
375
- verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _13 => _13.gasLimits, 'optionalAccess', _14 => _14.verificationGasLimit]), () => ( 150000n)),
376
- preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _15 => _15.gasLimits, 'optionalAccess', _16 => _16.preVerificationGas]), () => ( 50000n))
421
+ callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _13 => _13.gasLimits, 'optionalAccess', _14 => _14.callGasLimit]), () => ( 800000n)),
422
+ verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _15 => _15.gasLimits, 'optionalAccess', _16 => _16.verificationGasLimit]), () => ( 150000n)),
423
+ preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _17 => _17.gasLimits, 'optionalAccess', _18 => _18.preVerificationGas]), () => ( 50000n))
377
424
  }
378
425
  });
379
426
  }
@@ -471,9 +518,9 @@ function buildPerpDepositViaRelay(params) {
471
518
  nonce: params.aaNonce,
472
519
  operations,
473
520
  gasLimits: {
474
- callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _17 => _17.gasLimits, 'optionalAccess', _18 => _18.callGasLimit]), () => ( 800000n)),
475
- verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _19 => _19.gasLimits, 'optionalAccess', _20 => _20.verificationGasLimit]), () => ( 150000n)),
476
- preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _21 => _21.gasLimits, 'optionalAccess', _22 => _22.preVerificationGas]), () => ( 50000n))
521
+ callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _19 => _19.gasLimits, 'optionalAccess', _20 => _20.callGasLimit]), () => ( 800000n)),
522
+ verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _21 => _21.gasLimits, 'optionalAccess', _22 => _22.verificationGasLimit]), () => ( 150000n)),
523
+ preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _23 => _23.gasLimits, 'optionalAccess', _24 => _24.preVerificationGas]), () => ( 50000n))
477
524
  }
478
525
  });
479
526
  }
@@ -539,7 +586,7 @@ function buildUserOpTypedData(userOp, chainId) {
539
586
  name: "ERC4337",
540
587
  version: "1",
541
588
  chainId,
542
- verifyingContract: _chunkM5ULOZ3Acjs.ENTRY_POINT_V08
589
+ verifyingContract: _chunkACQHZWHPcjs.ENTRY_POINT_V08
543
590
  },
544
591
  types: PACKED_USER_OPERATION_TYPES,
545
592
  primaryType: "PackedUserOperation",
@@ -582,7 +629,16 @@ function getDummySignatureFor7702(impl) {
582
629
 
583
630
  // src/paymaster/config.ts
584
631
  var _config = null;
632
+ var _deprecationWarned = false;
633
+ function warnDeprecated(fn) {
634
+ if (_deprecationWarned) return;
635
+ _deprecationWarned = true;
636
+ console.warn(
637
+ `[PAFI] DEPRECATION (v0.7.1+): \`${fn}\` from @pafi-dev/core/paymaster is deprecated and will be removed in v0.8. Use \`PafiBackendClient\` from @pafi-dev/issuer/pafi-backend instead.`
638
+ );
639
+ }
585
640
  function setPaymasterConfig(config) {
641
+ warnDeprecated("setPaymasterConfig");
586
642
  if (!config.pafiBackendUrl) {
587
643
  throw new Error("setPaymasterConfig: pafiBackendUrl is required");
588
644
  }
@@ -598,6 +654,7 @@ function setPaymasterConfig(config) {
598
654
  _config = { ...config };
599
655
  }
600
656
  function getPaymasterConfig() {
657
+ warnDeprecated("getPaymasterConfig");
601
658
  if (!_config) {
602
659
  throw new Error(
603
660
  "PaymasterConfig not initialized \u2014 call setPaymasterConfig() at application boot before invoking any batch builder"
@@ -660,9 +717,9 @@ function buildDelegationUserOp(params) {
660
717
  }
661
718
  ],
662
719
  gasLimits: {
663
- callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _23 => _23.gasLimits, 'optionalAccess', _24 => _24.callGasLimit]), () => ( 50000n)),
664
- verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _25 => _25.gasLimits, 'optionalAccess', _26 => _26.verificationGasLimit]), () => ( 150000n)),
665
- preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _27 => _27.gasLimits, 'optionalAccess', _28 => _28.preVerificationGas]), () => ( 50000n))
720
+ callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _25 => _25.gasLimits, 'optionalAccess', _26 => _26.callGasLimit]), () => ( 50000n)),
721
+ verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _27 => _27.gasLimits, 'optionalAccess', _28 => _28.verificationGasLimit]), () => ( 150000n)),
722
+ preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _29 => _29.gasLimits, 'optionalAccess', _30 => _30.preVerificationGas]), () => ( 50000n))
666
723
  }
667
724
  });
668
725
  }
@@ -680,7 +737,7 @@ async function getAaNonce(client, userAddress) {
680
737
  }
681
738
  ];
682
739
  return client.readContract({
683
- address: _chunkM5ULOZ3Acjs.ENTRY_POINT_V08,
740
+ address: _chunkACQHZWHPcjs.ENTRY_POINT_V08,
684
741
  abi: NONCE_ABI,
685
742
  functionName: "getNonce",
686
743
  args: [userAddress, 0n]
@@ -870,7 +927,7 @@ async function delegateDirect(params) {
870
927
  hash: txHash
871
928
  });
872
929
  } catch (err) {
873
- _optionalChain([params, 'access', _29 => _29.onWarning, 'optionalCall', _30 => _30(
930
+ _optionalChain([params, 'access', _31 => _31.onWarning, 'optionalCall', _32 => _32(
874
931
  `delegateDirect: tx ${txHash} sent but receipt fetch failed: ${err instanceof Error ? err.message : String(err)}`
875
932
  )]);
876
933
  }
@@ -898,7 +955,7 @@ function createPafiProxyTransport(params) {
898
955
  // fetchFn intercepts every fetch call the viem http transport makes,
899
956
  // injecting the auth headers before the request leaves the browser.
900
957
  fetchFn: (input, init) => {
901
- const headers = new Headers(_optionalChain([init, 'optionalAccess', _31 => _31.headers]));
958
+ const headers = new Headers(_optionalChain([init, 'optionalAccess', _33 => _33.headers]));
902
959
  const token = getIdentityToken();
903
960
  if (token) {
904
961
  headers.set("authorization", `Bearer ${token}`);
@@ -922,7 +979,7 @@ var PAYMASTER_PATTERNS = [
922
979
  function isPaymasterError(err) {
923
980
  if (err == null || typeof err !== "object") return false;
924
981
  const e = err;
925
- const status = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(e.status, () => ( e.statusCode)), () => ( _optionalChain([e, 'access', _32 => _32.response, 'optionalAccess', _33 => _33.status]))), () => ( _optionalChain([e, 'access', _34 => _34.cause, 'optionalAccess', _35 => _35.status])));
982
+ const status = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(e.status, () => ( e.statusCode)), () => ( _optionalChain([e, 'access', _34 => _34.response, 'optionalAccess', _35 => _35.status]))), () => ( _optionalChain([e, 'access', _36 => _36.cause, 'optionalAccess', _37 => _37.status])));
926
983
  if (typeof status === "number" && PAYMASTER_HTTP_STATUSES.has(status)) {
927
984
  return true;
928
985
  }
@@ -935,8 +992,8 @@ async function sendWithPaymasterFallback(params) {
935
992
  return await primaryClient.sendTransaction(txParams);
936
993
  } catch (err) {
937
994
  if (isPaymasterError(err) && fallbackClient) {
938
- const msg = _nullishCoalesce(_optionalChain([err, 'optionalAccess', _36 => _36.message]), () => ( String(err)));
939
- _optionalChain([onFallback, 'optionalCall', _37 => _37(msg)]);
995
+ const msg = _nullishCoalesce(_optionalChain([err, 'optionalAccess', _38 => _38.message]), () => ( String(err)));
996
+ _optionalChain([onFallback, 'optionalCall', _39 => _39(msg)]);
940
997
  return await fallbackClient.sendTransaction(_nullishCoalesce(txParamsFallback, () => ( txParams)));
941
998
  }
942
999
  throw err;
@@ -994,7 +1051,7 @@ async function fetchPafiPools(_chainId, pointTokenAddress, subgraphUrl = PAFI_SU
994
1051
  );
995
1052
  return [];
996
1053
  }
997
- const pool = _optionalChain([json, 'access', _38 => _38.data, 'optionalAccess', _39 => _39.pafiToken, 'optionalAccess', _40 => _40.pool]);
1054
+ const pool = _optionalChain([json, 'access', _40 => _40.data, 'optionalAccess', _41 => _41.pafiToken, 'optionalAccess', _42 => _42.pool]);
998
1055
  if (!pool) return [];
999
1056
  if (!_viem.isAddress.call(void 0, pool.hooks) || !_viem.isAddress.call(void 0, pool.token0.id) || !_viem.isAddress.call(void 0, pool.token1.id) || !Number.isFinite(Number(pool.feeTier)) || !Number.isFinite(Number(pool.tickSpacing))) {
1000
1057
  console.error("[fetchPafiPools] invalid pool data in subgraph response \u2014 skipping");
@@ -1058,7 +1115,8 @@ async function quoteOperatorFeeUsdt(config) {
1058
1115
  const ethPrice8dec = await getEthPrice8dec(
1059
1116
  provider,
1060
1117
  chainlinkFeedAddress,
1061
- allowStaleFallback ? fallbackEthPriceUsd : null
1118
+ allowStaleFallback ? fallbackEthPriceUsd : null,
1119
+ config.onFallback
1062
1120
  );
1063
1121
  const denomExp = 18 + 8 - usdtDecimals;
1064
1122
  return withPremium * ethPrice8dec / 10n ** BigInt(denomExp);
@@ -1086,18 +1144,20 @@ async function quoteOperatorFeePt(config) {
1086
1144
  getEthPrice8dec(
1087
1145
  provider,
1088
1146
  chainlinkFeedAddress,
1089
- allowStaleFallback ? fallbackEthPriceUsd : null
1147
+ allowStaleFallback ? fallbackEthPriceUsd : null,
1148
+ config.onFallback
1090
1149
  ),
1091
1150
  getPtPerUsdt18dec(
1092
1151
  fetchImpl,
1093
1152
  subgraphUrl,
1094
1153
  pointTokenAddress,
1095
- allowStaleFallback ? fallbackPtPriceUsdt : null
1154
+ allowStaleFallback ? fallbackPtPriceUsdt : null,
1155
+ config.onFallback
1096
1156
  )
1097
1157
  ]);
1098
1158
  return withPremium * ethPrice8dec * ptPerUsdt18dec / 10n ** 26n;
1099
1159
  }
1100
- async function getEthPrice8dec(provider, feed, fallback) {
1160
+ async function getEthPrice8dec(provider, feed, fallback, onFallback) {
1101
1161
  try {
1102
1162
  const result = await provider.readContract({
1103
1163
  address: feed,
@@ -1117,14 +1177,18 @@ async function getEthPrice8dec(provider, feed, fallback) {
1117
1177
  if (fallback === null) {
1118
1178
  throw new OracleStaleError("chainlink", reason);
1119
1179
  }
1120
- console.warn(
1121
- "[quoteOperatorFee] Chainlink unavailable, using opt-in fallback:",
1122
- reason
1123
- );
1180
+ if (onFallback) {
1181
+ onFallback({ source: "chainlink", reason, fallbackValue: fallback });
1182
+ } else {
1183
+ console.warn(
1184
+ "[quoteOperatorFee] Chainlink unavailable, using opt-in fallback:",
1185
+ reason
1186
+ );
1187
+ }
1124
1188
  return BigInt(Math.round(fallback * 1e8));
1125
1189
  }
1126
1190
  }
1127
- async function getPtPerUsdt18dec(fetchImpl, subgraphUrl, pointTokenAddress, fallbackPtPriceUsdt) {
1191
+ async function getPtPerUsdt18dec(fetchImpl, subgraphUrl, pointTokenAddress, fallbackPtPriceUsdt, onFallback) {
1128
1192
  try {
1129
1193
  const response = await fetchImpl(subgraphUrl, {
1130
1194
  method: "POST",
@@ -1136,10 +1200,10 @@ async function getPtPerUsdt18dec(fetchImpl, subgraphUrl, pointTokenAddress, fall
1136
1200
  });
1137
1201
  if (!response.ok) throw new Error(`subgraph HTTP ${response.status}`);
1138
1202
  const json = await response.json();
1139
- if (_optionalChain([json, 'access', _41 => _41.errors, 'optionalAccess', _42 => _42.length])) {
1203
+ if (_optionalChain([json, 'access', _43 => _43.errors, 'optionalAccess', _44 => _44.length])) {
1140
1204
  throw new Error(json.errors.map((e) => e.message).join("; "));
1141
1205
  }
1142
- const pool = _optionalChain([json, 'access', _43 => _43.data, 'optionalAccess', _44 => _44.pafiToken, 'optionalAccess', _45 => _45.pool]);
1206
+ const pool = _optionalChain([json, 'access', _45 => _45.data, 'optionalAccess', _46 => _46.pafiToken, 'optionalAccess', _47 => _47.pool]);
1143
1207
  if (!pool) throw new Error("pafiToken or pool not found");
1144
1208
  const isPtToken0 = pool.token0.id.toLowerCase() === pointTokenAddress.toLowerCase();
1145
1209
  const priceStr = isPtToken0 ? pool.token0Price : pool.token1Price;
@@ -1156,10 +1220,18 @@ async function getPtPerUsdt18dec(fetchImpl, subgraphUrl, pointTokenAddress, fall
1156
1220
  if (fallbackPtPriceUsdt === null) {
1157
1221
  throw new OracleStaleError("subgraph", reason);
1158
1222
  }
1159
- console.warn(
1160
- "[quoteOperatorFeePt] subgraph unavailable, using opt-in fallback:",
1161
- reason
1162
- );
1223
+ if (onFallback) {
1224
+ onFallback({
1225
+ source: "subgraph",
1226
+ reason,
1227
+ fallbackValue: fallbackPtPriceUsdt
1228
+ });
1229
+ } else {
1230
+ console.warn(
1231
+ "[quoteOperatorFeePt] subgraph unavailable, using opt-in fallback:",
1232
+ reason
1233
+ );
1234
+ }
1163
1235
  const ptPerUsdtHuman = 1 / fallbackPtPriceUsdt;
1164
1236
  return parseBigDecimalTo18(ptPerUsdtHuman.toFixed(18));
1165
1237
  }
@@ -1175,6 +1247,29 @@ function parseBigDecimalTo18(s) {
1175
1247
  var BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = getContractAddresses(8453).batchExecutor;
1176
1248
  var BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = getContractAddresses(84532).batchExecutor;
1177
1249
 
1250
+ // src/contracts/real/pafi-services.ts
1251
+ var PAFI_SERVICE_URLS = {
1252
+ // Base mainnet
1253
+ 8453: {
1254
+ sponsorRelayer: "https://api-dev.pacificfinance.org/api/sponsor",
1255
+ issuerApi: "https://api-dev.pacificfinance.org/api/issuer"
1256
+ },
1257
+ // Base sepolia
1258
+ 84532: {
1259
+ sponsorRelayer: "https://api-dev.pacificfinance.org/api/sponsor",
1260
+ issuerApi: "https://api-dev.pacificfinance.org/api/issuer"
1261
+ }
1262
+ };
1263
+ function getPafiServiceUrls(chainId) {
1264
+ const urls = PAFI_SERVICE_URLS[chainId];
1265
+ if (!urls) {
1266
+ throw new Error(
1267
+ `getPafiServiceUrls: no PAFI service URLs for chainId ${chainId}. Supported: ${Object.keys(PAFI_SERVICE_URLS).join(", ")}`
1268
+ );
1269
+ }
1270
+ return urls;
1271
+ }
1272
+
1178
1273
  // src/web-handoff/webPopup.ts
1179
1274
  var DEFAULT_WIDTH = 900;
1180
1275
  var DEFAULT_HEIGHT = 700;
@@ -1188,8 +1283,8 @@ function openWebPopup(url, options = {}) {
1188
1283
  const width = _nullishCoalesce(options.width, () => ( DEFAULT_WIDTH));
1189
1284
  const height = _nullishCoalesce(options.height, () => ( DEFAULT_HEIGHT));
1190
1285
  const name = _nullishCoalesce(options.windowName, () => ( DEFAULT_NAME));
1191
- const screenW = _nullishCoalesce(_optionalChain([window, 'access', _46 => _46.screen, 'optionalAccess', _47 => _47.availWidth]), () => ( window.innerWidth));
1192
- const screenH = _nullishCoalesce(_optionalChain([window, 'access', _48 => _48.screen, 'optionalAccess', _49 => _49.availHeight]), () => ( window.innerHeight));
1286
+ const screenW = _nullishCoalesce(_optionalChain([window, 'access', _48 => _48.screen, 'optionalAccess', _49 => _49.availWidth]), () => ( window.innerWidth));
1287
+ const screenH = _nullishCoalesce(_optionalChain([window, 'access', _50 => _50.screen, 'optionalAccess', _51 => _51.availHeight]), () => ( window.innerHeight));
1193
1288
  const left = Math.max(0, Math.floor((screenW - width) / 2));
1194
1289
  const top = Math.max(0, Math.floor((screenH - height) / 2));
1195
1290
  const features = [
@@ -1222,7 +1317,7 @@ function openWebPopup(url, options = {}) {
1222
1317
  window.removeEventListener("message", messageListener);
1223
1318
  messageListener = null;
1224
1319
  }
1225
- _optionalChain([options, 'access', _50 => _50.onClose, 'optionalCall', _51 => _51()]);
1320
+ _optionalChain([options, 'access', _52 => _52.onClose, 'optionalCall', _53 => _53()]);
1226
1321
  };
1227
1322
  pollId = setInterval(() => {
1228
1323
  if (popup.closed) {
@@ -1231,10 +1326,15 @@ function openWebPopup(url, options = {}) {
1231
1326
  }, 500);
1232
1327
  if (options.onMessage) {
1233
1328
  const allowed = _nullishCoalesce(options.allowedOrigins, () => ( []));
1329
+ if (allowed.length === 0) {
1330
+ throw new Error(
1331
+ "openPafiWebModal: `allowedOrigins` is empty/missing while `onMessage` is supplied. The popup-message listener would silently reject every message \u2014 caller must explicitly whitelist PAFI Web's host (e.g. `['https://app.pacificfinance.org']`) before any payload reaches the callback. To accept any origin (insecure), pass an explicit list containing '*' or omit `onMessage` entirely."
1332
+ );
1333
+ }
1234
1334
  const onMessage = options.onMessage;
1235
1335
  messageListener = (event) => {
1236
1336
  if (event.source !== popup) return;
1237
- if (!allowed.includes(event.origin)) return;
1337
+ if (!allowed.includes("*") && !allowed.includes(event.origin)) return;
1238
1338
  onMessage(event.data, event.origin);
1239
1339
  };
1240
1340
  window.addEventListener("message", messageListener);
@@ -1384,7 +1484,7 @@ var PafiSDK = class {
1384
1484
  const provider = this.requireProvider();
1385
1485
  const pointToken = this.requirePointToken();
1386
1486
  const chainId = this.requireChainId();
1387
- const name = await _chunkCLPRSQT2cjs.getTokenName.call(void 0, provider, pointToken);
1487
+ const name = await _chunkYCY7MBSJcjs.getTokenName.call(void 0, provider, pointToken);
1388
1488
  return { name, verifyingContract: pointToken, chainId };
1389
1489
  }
1390
1490
  // -------------------------------------------------------------------------
@@ -1392,40 +1492,40 @@ var PafiSDK = class {
1392
1492
  // -------------------------------------------------------------------------
1393
1493
  async buildMintRequestTypedData(message) {
1394
1494
  const domain = await this.getDomain();
1395
- return _chunkM5ULOZ3Acjs.buildMintRequestTypedData.call(void 0, domain, message);
1495
+ return _chunkACQHZWHPcjs.buildMintRequestTypedData.call(void 0, domain, message);
1396
1496
  }
1397
1497
  async buildReceiverConsentTypedData(message) {
1398
1498
  const domain = await this.getDomain();
1399
- return _chunkM5ULOZ3Acjs.buildReceiverConsentTypedData.call(void 0, domain, message);
1499
+ return _chunkACQHZWHPcjs.buildReceiverConsentTypedData.call(void 0, domain, message);
1400
1500
  }
1401
1501
  async signMintRequest(message) {
1402
1502
  const domain = await this.getDomain();
1403
- return _chunkM5ULOZ3Acjs.signMintRequest.call(void 0, this.requireSigner(), domain, message);
1503
+ return _chunkACQHZWHPcjs.signMintRequest.call(void 0, this.requireSigner(), domain, message);
1404
1504
  }
1405
1505
  async verifyMintRequest(message, signature, expectedMinter) {
1406
1506
  const domain = await this.getDomain();
1407
- return _chunkM5ULOZ3Acjs.verifyMintRequest.call(void 0, domain, message, signature, expectedMinter);
1507
+ return _chunkACQHZWHPcjs.verifyMintRequest.call(void 0, domain, message, signature, expectedMinter);
1408
1508
  }
1409
1509
  async signReceiverConsent(message) {
1410
1510
  const domain = await this.getDomain();
1411
- return _chunkM5ULOZ3Acjs.signReceiverConsent.call(void 0, this.requireSigner(), domain, message);
1511
+ return _chunkACQHZWHPcjs.signReceiverConsent.call(void 0, this.requireSigner(), domain, message);
1412
1512
  }
1413
1513
  async verifyReceiverConsent(message, signature, expectedReceiver) {
1414
1514
  const domain = await this.getDomain();
1415
- return _chunkM5ULOZ3Acjs.verifyReceiverConsent.call(void 0, domain, message, signature, expectedReceiver);
1515
+ return _chunkACQHZWHPcjs.verifyReceiverConsent.call(void 0, domain, message, signature, expectedReceiver);
1416
1516
  }
1417
1517
  // -------------------------------------------------------------------------
1418
1518
  // Contract reads
1419
1519
  // -------------------------------------------------------------------------
1420
1520
  async getMintRequestNonce(receiver) {
1421
- return _chunkCLPRSQT2cjs.getMintRequestNonce.call(void 0,
1521
+ return _chunkYCY7MBSJcjs.getMintRequestNonce.call(void 0,
1422
1522
  this.requireProvider(),
1423
1523
  this.requirePointToken(),
1424
1524
  receiver
1425
1525
  );
1426
1526
  }
1427
1527
  async getReceiverConsentNonce(receiver) {
1428
- return _chunkCLPRSQT2cjs.getReceiverConsentNonce.call(void 0,
1528
+ return _chunkYCY7MBSJcjs.getReceiverConsentNonce.call(void 0,
1429
1529
  this.requireProvider(),
1430
1530
  this.requirePointToken(),
1431
1531
  receiver
@@ -1441,7 +1541,7 @@ var PafiSDK = class {
1441
1541
  if (!account) {
1442
1542
  throw new ConfigurationError("signer has no account attached");
1443
1543
  }
1444
- return _chunk5254AG3Zcjs.createLoginMessage.call(void 0, { ...params, address: account.address, chainId });
1544
+ return _chunk75JWR5SAcjs.createLoginMessage.call(void 0, { ...params, address: account.address, chainId });
1445
1545
  }
1446
1546
  /** Sign a login message string with the current signer (personal_sign) */
1447
1547
  async signLoginMessage(message) {
@@ -1578,5 +1678,14 @@ var PafiSDK = class {
1578
1678
 
1579
1679
 
1580
1680
 
1581
- exports.ApiError = ApiError; exports.BATCH_EXECUTOR_7702_IMPL = BATCH_EXECUTOR_7702_IMPL; exports.BATCH_EXECUTOR_ABI = BATCH_EXECUTOR_ABI; exports.BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = BATCH_EXECUTOR_ADDRESS_BASE_MAINNET; exports.BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA; exports.BROKER_HASHES = BROKER_HASHES; exports.COMMON_POOLS = _chunkM5ULOZ3Acjs.COMMON_POOLS; exports.COMMON_TOKENS = _chunkM5ULOZ3Acjs.COMMON_TOKENS; exports.CONTRACT_ADDRESSES = CONTRACT_ADDRESSES; exports.ConfigurationError = ConfigurationError; exports.DUMMY_SIGNATURE_V07 = DUMMY_SIGNATURE_V07; exports.ENTRY_POINT_V07 = _chunkM5ULOZ3Acjs.ENTRY_POINT_V07; exports.ENTRY_POINT_V08 = _chunkM5ULOZ3Acjs.ENTRY_POINT_V08; exports.ORDERLY_RELAY_ABI = ORDERLY_RELAY_ABI; exports.ORDERLY_VAULT_ABI = ORDERLY_VAULT_ABI; exports.ORDERLY_VAULT_ADDRESSES = ORDERLY_VAULT_ADDRESSES; exports.ORDERLY_VAULT_BASE_MAINNET = ORDERLY_VAULT_BASE_MAINNET; exports.OracleStaleError = OracleStaleError; exports.PAFI_SUBGRAPH_URL = PAFI_SUBGRAPH_URL; exports.PERMIT2_ADDRESS = _chunkM5ULOZ3Acjs.PERMIT2_ADDRESS; exports.POINT_TOKEN_FACTORY_ADDRESSES = POINT_TOKEN_FACTORY_ADDRESSES; exports.POINT_TOKEN_IMPL_ADDRESSES = POINT_TOKEN_IMPL_ADDRESSES; exports.POINT_TOKEN_POOLS = _chunkM5ULOZ3Acjs.POINT_TOKEN_POOLS; exports.POINT_TOKEN_V2_ABI = _chunkLRHY7GORcjs.pointTokenAbi; exports.PafiSDK = PafiSDK; exports.PafiSDKError = PafiSDKError; exports.PafiSdkError = PafiSdkError; exports.SIMPLE_7702_IMPL_BASE_MAINNET = SIMPLE_7702_IMPL_BASE_MAINNET; exports.SPONSOR_AUTH_DOMAIN_NAME = _chunk5254AG3Zcjs.SPONSOR_AUTH_DOMAIN_NAME; exports.SPONSOR_AUTH_TYPES = _chunk5254AG3Zcjs.SPONSOR_AUTH_TYPES; exports.SUPPORTED_CHAINS = _chunkM5ULOZ3Acjs.SUPPORTED_CHAINS; exports.SigningError = SigningError; exports.SimulationError = SimulationError; exports.TOKEN_HASHES = TOKEN_HASHES; exports.UNIVERSAL_ROUTER_ADDRESSES = _chunkM5ULOZ3Acjs.UNIVERSAL_ROUTER_ADDRESSES; exports.V4_QUOTER_ADDRESSES = _chunkM5ULOZ3Acjs.V4_QUOTER_ADDRESSES; exports.ValidationError = ValidationError; exports.ZERO_VALUE = ZERO_VALUE; exports._resetPaymasterConfigForTests = _resetPaymasterConfigForTests; exports.assembleUserOperation = assembleUserOperation; exports.buildAndSignSponsorAuth = _chunk5254AG3Zcjs.buildAndSignSponsorAuth; exports.buildBurnRequestTypedData = _chunkM5ULOZ3Acjs.buildBurnRequestTypedData; exports.buildDelegationUserOp = buildDelegationUserOp; exports.buildDomain = _chunkM5ULOZ3Acjs.buildDomain; exports.buildEip7702Authorization = buildEip7702Authorization; exports.buildMintRequestTypedData = _chunkM5ULOZ3Acjs.buildMintRequestTypedData; exports.buildPartialUserOperation = buildPartialUserOperation; exports.buildPerpDepositViaRelay = buildPerpDepositViaRelay; exports.buildPerpDepositWithGasDeduction = buildPerpDepositWithGasDeduction; exports.buildReceiverConsentTypedData = _chunkM5ULOZ3Acjs.buildReceiverConsentTypedData; exports.buildSponsorAuthDomain = _chunk5254AG3Zcjs.buildSponsorAuthDomain; exports.buildSponsorAuthTypedData = _chunk5254AG3Zcjs.buildSponsorAuthTypedData; exports.buildUserOpTypedData = buildUserOpTypedData; exports.burnRequestTypes = _chunkM5ULOZ3Acjs.burnRequestTypes; exports.checkDelegation = checkDelegation; exports.checkEthAndBranch = checkEthAndBranch; exports.computeAccountId = computeAccountId; exports.computeAuthorizationHash = computeAuthorizationHash; exports.computeCallDataHash = _chunk5254AG3Zcjs.computeCallDataHash; exports.computeUserOpHash = computeUserOpHash; exports.createLoginMessage = _chunk5254AG3Zcjs.createLoginMessage; exports.createPafiProxyTransport = createPafiProxyTransport; exports.decodeBatchExecuteCalls = decodeBatchExecuteCalls; exports.delegateDirect = delegateDirect; exports.detectDelegateImpl = detectDelegateImpl; exports.encodeBatchExecute = encodeBatchExecute; exports.erc20Abi = _chunkQ6WCDZXIcjs.erc20Abi; exports.erc20ApproveOp = erc20ApproveOp; exports.erc20BurnOp = erc20BurnOp; exports.erc20TransferOp = erc20TransferOp; exports.fetchPafiPools = fetchPafiPools; exports.generateSponsorAuthNonce = _chunk5254AG3Zcjs.generateSponsorAuthNonce; exports.getAaNonce = getAaNonce; exports.getBurnRequestNonce = _chunkCLPRSQT2cjs.getBurnRequestNonce; exports.getContractAddresses = getContractAddresses; exports.getDummySignatureFor7702 = getDummySignatureFor7702; exports.getIssuer = _chunkCLPRSQT2cjs.getIssuer2; exports.getMintRequestNonce = _chunkCLPRSQT2cjs.getMintRequestNonce; exports.getPafiWebModalAdapter = getPafiWebModalAdapter; exports.getPaymasterConfig = getPaymasterConfig; exports.getPointTokenBalance = _chunkCLPRSQT2cjs.getPointTokenBalance; exports.getPointTokenIssuer = _chunkCLPRSQT2cjs.getPointTokenIssuer; exports.getPointTokenIssuerAddress = _chunkCLPRSQT2cjs.getIssuer; exports.getReceiverConsentNonce = _chunkCLPRSQT2cjs.getReceiverConsentNonce; exports.getTokenName = _chunkCLPRSQT2cjs.getTokenName; exports.isActiveIssuer = _chunkCLPRSQT2cjs.isActiveIssuer; exports.isDelegatedTo = isDelegatedTo; exports.isDelegatedToTarget = isDelegatedToTarget; exports.isMinter = _chunkCLPRSQT2cjs.isMinter; exports.isPaymasterConfigured = isPaymasterConfigured; exports.isPaymasterError = isPaymasterError; exports.issuerRegistryAbi = _chunkLRHY7GORcjs.issuerRegistryAbi; exports.issuerRegistryGetIssuerFlatAbi = _chunkCLPRSQT2cjs.issuerRegistryGetIssuerFlatAbi; exports.mintRequestTypes = _chunkM5ULOZ3Acjs.mintRequestTypes; exports.mintingOracleAbi = _chunkLRHY7GORcjs.mintingOracleAbi; exports.openPafiWebModal = openPafiWebModal; exports.openWebPopup = openWebPopup; exports.parseEip7702DelegatedAddress = parseEip7702DelegatedAddress; exports.parseLoginMessage = _chunk5254AG3Zcjs.parseLoginMessage; exports.permit2Abi = _chunkQ6WCDZXIcjs.permit2Abi; exports.pointTokenAbi = _chunkLRHY7GORcjs.pointTokenAbi; exports.pointTokenFactoryAbi = _chunkQ6WCDZXIcjs.pointTokenFactoryAbi; exports.quoteOperatorFeePt = quoteOperatorFeePt; exports.quoteOperatorFeeUsdt = quoteOperatorFeeUsdt; exports.rawCallOp = rawCallOp; exports.receiverConsentTypes = _chunkM5ULOZ3Acjs.receiverConsentTypes; exports.sendWithPaymasterFallback = sendWithPaymasterFallback; exports.serializeUserOpToJsonRpc = serializeUserOpToJsonRpc; exports.setPafiWebModalAdapter = setPafiWebModalAdapter; exports.setPaymasterConfig = setPaymasterConfig; exports.signBurnRequest = _chunkM5ULOZ3Acjs.signBurnRequest; exports.signMintRequest = _chunkM5ULOZ3Acjs.signMintRequest; exports.signReceiverConsent = _chunkM5ULOZ3Acjs.signReceiverConsent; exports.signSponsorAuth = _chunk5254AG3Zcjs.signSponsorAuth; exports.splitAuthorizationSig = splitAuthorizationSig; exports.universalRouterAbi = _chunkQ6WCDZXIcjs.universalRouterAbi; exports.v4QuoterAbi = _chunkQ6WCDZXIcjs.v4QuoterAbi; exports.verifyBurnRequest = _chunkM5ULOZ3Acjs.verifyBurnRequest; exports.verifyLoginMessage = _chunk5254AG3Zcjs.verifyLoginMessage; exports.verifyMintCap = _chunkCLPRSQT2cjs.verifyMintCap; exports.verifyMintRequest = _chunkM5ULOZ3Acjs.verifyMintRequest; exports.verifyReceiverConsent = _chunkM5ULOZ3Acjs.verifyReceiverConsent; exports.verifySponsorAuth = _chunk5254AG3Zcjs.verifySponsorAuth; exports.webPopupAdapter = webPopupAdapter;
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+ exports.ApiError = ApiError; exports.BATCH_EXECUTOR_7702_IMPL = BATCH_EXECUTOR_7702_IMPL; exports.BATCH_EXECUTOR_ABI = BATCH_EXECUTOR_ABI; exports.BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = BATCH_EXECUTOR_ADDRESS_BASE_MAINNET; exports.BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA; exports.BROKER_HASHES = BROKER_HASHES; exports.COMMON_POOLS = _chunkACQHZWHPcjs.COMMON_POOLS; exports.COMMON_TOKENS = _chunkACQHZWHPcjs.COMMON_TOKENS; exports.CONTRACT_ADDRESSES = CONTRACT_ADDRESSES; exports.ConfigurationError = ConfigurationError; exports.DUMMY_SIGNATURE_V07 = DUMMY_SIGNATURE_V07; exports.ENTRY_POINT_V07 = _chunkACQHZWHPcjs.ENTRY_POINT_V07; exports.ENTRY_POINT_V08 = _chunkACQHZWHPcjs.ENTRY_POINT_V08; exports.Eip712DomainMismatchError = _chunkACQHZWHPcjs.Eip712DomainMismatchError; exports.ORDERLY_RELAY_ABI = ORDERLY_RELAY_ABI; exports.ORDERLY_VAULT_ABI = ORDERLY_VAULT_ABI; exports.ORDERLY_VAULT_ADDRESSES = ORDERLY_VAULT_ADDRESSES; exports.ORDERLY_VAULT_BASE_MAINNET = ORDERLY_VAULT_BASE_MAINNET; exports.OracleStaleError = OracleStaleError; exports.PAFI_SERVICE_URLS = PAFI_SERVICE_URLS; exports.PAFI_SUBGRAPH_URL = PAFI_SUBGRAPH_URL; exports.PERMIT2_ADDRESS = _chunkACQHZWHPcjs.PERMIT2_ADDRESS; exports.POINT_TOKEN_FACTORY_ADDRESSES = POINT_TOKEN_FACTORY_ADDRESSES; exports.POINT_TOKEN_IMPL_ADDRESSES = POINT_TOKEN_IMPL_ADDRESSES; exports.POINT_TOKEN_POOLS = _chunkACQHZWHPcjs.POINT_TOKEN_POOLS; exports.POINT_TOKEN_V2_ABI = _chunk644KZUKRcjs.pointTokenAbi; exports.PafiSDK = PafiSDK; exports.PafiSDKError = PafiSDKError; exports.PafiSdkError = PafiSdkError; exports.SDK_ERROR_HTTP_STATUS_CODE = SDK_ERROR_HTTP_STATUS_CODE; exports.SIMPLE_7702_IMPL_BASE_MAINNET = SIMPLE_7702_IMPL_BASE_MAINNET; exports.SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET = _chunk75JWR5SAcjs.SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET; exports.SPONSOR_AUTH_DOMAIN_NAME = _chunk75JWR5SAcjs.SPONSOR_AUTH_DOMAIN_NAME; exports.SPONSOR_AUTH_TYPES = _chunk75JWR5SAcjs.SPONSOR_AUTH_TYPES; exports.SUPPORTED_CHAINS = _chunkACQHZWHPcjs.SUPPORTED_CHAINS; exports.SigningError = SigningError; exports.SimulationError = SimulationError; exports.TOKEN_HASHES = TOKEN_HASHES; exports.UNIVERSAL_ROUTER_ADDRESSES = _chunkACQHZWHPcjs.UNIVERSAL_ROUTER_ADDRESSES; exports.V4_QUOTER_ADDRESSES = _chunkACQHZWHPcjs.V4_QUOTER_ADDRESSES; exports.ValidationError = ValidationError; exports.ZERO_VALUE = ZERO_VALUE; exports._resetPaymasterConfigForTests = _resetPaymasterConfigForTests; exports.assembleUserOperation = assembleUserOperation; exports.assertDomainMatchesContract = _chunkACQHZWHPcjs.assertDomainMatchesContract; exports.buildAndSignSponsorAuth = _chunk75JWR5SAcjs.buildAndSignSponsorAuth; exports.buildBurnRequestTypedData = _chunkACQHZWHPcjs.buildBurnRequestTypedData; exports.buildDelegationUserOp = buildDelegationUserOp; exports.buildDomain = _chunkACQHZWHPcjs.buildDomain; exports.buildEip7702Authorization = buildEip7702Authorization; exports.buildMintRequestTypedData = _chunkACQHZWHPcjs.buildMintRequestTypedData; exports.buildPartialUserOperation = buildPartialUserOperation; exports.buildPerpDepositViaRelay = buildPerpDepositViaRelay; exports.buildPerpDepositWithGasDeduction = buildPerpDepositWithGasDeduction; exports.buildReceiverConsentTypedData = _chunkACQHZWHPcjs.buildReceiverConsentTypedData; exports.buildSponsorAuthDomain = _chunk75JWR5SAcjs.buildSponsorAuthDomain; exports.buildSponsorAuthTypedData = _chunk75JWR5SAcjs.buildSponsorAuthTypedData; exports.buildUserOpTypedData = buildUserOpTypedData; exports.burnRequestTypes = _chunkACQHZWHPcjs.burnRequestTypes; exports.checkDelegation = checkDelegation; exports.checkEthAndBranch = checkEthAndBranch; exports.computeAccountId = computeAccountId; exports.computeAuthorizationHash = computeAuthorizationHash; exports.computeCallDataHash = _chunk75JWR5SAcjs.computeCallDataHash; exports.computeUserOpHash = computeUserOpHash; exports.createLoginMessage = _chunk75JWR5SAcjs.createLoginMessage; exports.createPafiProxyTransport = createPafiProxyTransport; exports.decodeBatchExecuteCalls = decodeBatchExecuteCalls; exports.defaultErrorTypeForStatus = defaultErrorTypeForStatus; exports.delegateDirect = delegateDirect; exports.detectDelegateImpl = detectDelegateImpl; exports.encodeBatchExecute = encodeBatchExecute; exports.erc20Abi = _chunkRFANYF24cjs.erc20Abi; exports.erc20ApproveOp = erc20ApproveOp; exports.erc20BurnOp = erc20BurnOp; exports.erc20TransferOp = erc20TransferOp; exports.fetchPafiPools = fetchPafiPools; exports.generateSponsorAuthNonce = _chunk75JWR5SAcjs.generateSponsorAuthNonce; exports.getAaNonce = getAaNonce; exports.getBurnRequestNonce = _chunkYCY7MBSJcjs.getBurnRequestNonce; exports.getContractAddresses = getContractAddresses; exports.getDummySignatureFor7702 = getDummySignatureFor7702; exports.getIssuer = _chunkYCY7MBSJcjs.getIssuer2; exports.getMintRequestNonce = _chunkYCY7MBSJcjs.getMintRequestNonce; exports.getPafiServiceUrls = getPafiServiceUrls; exports.getPafiWebModalAdapter = getPafiWebModalAdapter; exports.getPaymasterConfig = getPaymasterConfig; exports.getPointTokenBalance = _chunkYCY7MBSJcjs.getPointTokenBalance; exports.getPointTokenIssuer = _chunkYCY7MBSJcjs.getPointTokenIssuer; exports.getPointTokenIssuerAddress = _chunkYCY7MBSJcjs.getIssuer; exports.getReceiverConsentNonce = _chunkYCY7MBSJcjs.getReceiverConsentNonce; exports.getSponsorAuthDomainAnchor = _chunk75JWR5SAcjs.getSponsorAuthDomainAnchor; exports.getTokenName = _chunkYCY7MBSJcjs.getTokenName; exports.isActiveIssuer = _chunkYCY7MBSJcjs.isActiveIssuer; exports.isDelegatedTo = isDelegatedTo; exports.isDelegatedToTarget = isDelegatedToTarget; exports.isMinter = _chunkYCY7MBSJcjs.isMinter; exports.isPaymasterConfigured = isPaymasterConfigured; exports.isPaymasterError = isPaymasterError; exports.issuerRegistryAbi = _chunkJEWSN7Q3cjs.issuerRegistryAbi; exports.issuerRegistryGetIssuerFlatAbi = _chunkYCY7MBSJcjs.issuerRegistryGetIssuerFlatAbi; exports.mintFeeWrapperAbi = _chunkRFANYF24cjs.mintFeeWrapperAbi; exports.mintRequestTypes = _chunkACQHZWHPcjs.mintRequestTypes; exports.mintingOracleAbi = _chunkJEWSN7Q3cjs.mintingOracleAbi; exports.openPafiWebModal = openPafiWebModal; exports.openWebPopup = openWebPopup; exports.parseEip7702DelegatedAddress = parseEip7702DelegatedAddress; exports.parseLoginMessage = _chunk75JWR5SAcjs.parseLoginMessage; exports.permit2Abi = _chunkRFANYF24cjs.permit2Abi; exports.pointTokenAbi = _chunk644KZUKRcjs.pointTokenAbi; exports.pointTokenFactoryAbi = _chunkRFANYF24cjs.pointTokenFactoryAbi; exports.quoteOperatorFeePt = quoteOperatorFeePt; exports.quoteOperatorFeeUsdt = quoteOperatorFeeUsdt; exports.rawCallOp = rawCallOp; exports.receiverConsentTypes = _chunkACQHZWHPcjs.receiverConsentTypes; exports.sendWithPaymasterFallback = sendWithPaymasterFallback; exports.serializeUserOpToJsonRpc = serializeUserOpToJsonRpc; exports.setPafiWebModalAdapter = setPafiWebModalAdapter; exports.setPaymasterConfig = setPaymasterConfig; exports.signBurnRequest = _chunkACQHZWHPcjs.signBurnRequest; exports.signMintRequest = _chunkACQHZWHPcjs.signMintRequest; exports.signReceiverConsent = _chunkACQHZWHPcjs.signReceiverConsent; exports.signSponsorAuth = _chunk75JWR5SAcjs.signSponsorAuth; exports.splitAuthorizationSig = splitAuthorizationSig; exports.universalRouterAbi = _chunkRFANYF24cjs.universalRouterAbi; exports.v4QuoterAbi = _chunkRFANYF24cjs.v4QuoterAbi; exports.verifyBurnRequest = _chunkACQHZWHPcjs.verifyBurnRequest; exports.verifyLoginMessage = _chunk75JWR5SAcjs.verifyLoginMessage; exports.verifyMintCap = _chunkYCY7MBSJcjs.verifyMintCap; exports.verifyMintRequest = _chunkACQHZWHPcjs.verifyMintRequest; exports.verifyReceiverConsent = _chunkACQHZWHPcjs.verifyReceiverConsent; exports.verifySponsorAuth = _chunk75JWR5SAcjs.verifySponsorAuth; exports.webPopupAdapter = webPopupAdapter;
1582
1691
  //# sourceMappingURL=index.cjs.map