@pafi-dev/core 0.3.0-beta.3 → 0.3.0-beta.5
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.
- package/dist/abi/index.cjs +2 -6
- package/dist/abi/index.cjs.map +1 -1
- package/dist/abi/index.d.cts +1 -286
- package/dist/abi/index.d.ts +1 -286
- package/dist/abi/index.js +1 -5
- package/dist/{chunk-R4L66ZR5.js → chunk-73CQTNLB.js} +10 -1
- package/dist/chunk-73CQTNLB.js.map +1 -0
- package/dist/{chunk-5YH4D7QF.js → chunk-7UBO7DY5.js} +1 -1
- package/dist/{chunk-FGKLDKJK.cjs → chunk-ALCWYDVG.cjs} +1 -1
- package/dist/{chunk-FGKLDKJK.cjs.map → chunk-ALCWYDVG.cjs.map} +1 -1
- package/dist/{chunk-X3I5XWAR.cjs → chunk-CQCSQPWG.cjs} +2 -15
- package/dist/chunk-CQCSQPWG.cjs.map +1 -0
- package/dist/{chunk-CWP4PFOP.cjs → chunk-DMW67WBU.cjs} +11 -2
- package/dist/chunk-DMW67WBU.cjs.map +1 -0
- package/dist/{chunk-C4ZDYG4D.js → chunk-DUY7Z2AI.js} +48 -6
- package/dist/chunk-DUY7Z2AI.js.map +1 -0
- package/dist/{chunk-CXFUP2YK.cjs → chunk-EDR5SFJN.cjs} +46 -6
- package/dist/chunk-EDR5SFJN.cjs.map +1 -0
- package/dist/{chunk-FIKTQR7H.js → chunk-I2P3TIP7.js} +2 -2
- package/dist/{chunk-BNTVOKYT.cjs → chunk-KJKDLD7N.cjs} +51 -9
- package/dist/chunk-KJKDLD7N.cjs.map +1 -0
- package/dist/{chunk-VQSRCMMK.js → chunk-QGO6X6LG.js} +2 -15
- package/dist/chunk-QGO6X6LG.js.map +1 -0
- package/dist/{chunk-IK4UK7KT.js → chunk-W23EJNYG.js} +44 -4
- package/dist/chunk-W23EJNYG.js.map +1 -0
- package/dist/{chunk-CAE2BVKI.cjs → chunk-Z2V525IS.cjs} +6 -6
- package/dist/{chunk-CAE2BVKI.cjs.map → chunk-Z2V525IS.cjs.map} +1 -1
- package/dist/contract/index.cjs +2 -5
- package/dist/contract/index.cjs.map +1 -1
- package/dist/contract/index.d.cts +2 -4
- package/dist/contract/index.d.ts +2 -4
- package/dist/contract/index.js +1 -4
- package/dist/eip712/index.cjs +9 -3
- package/dist/eip712/index.cjs.map +1 -1
- package/dist/eip712/index.d.cts +44 -2
- package/dist/eip712/index.d.ts +44 -2
- package/dist/eip712/index.js +8 -2
- package/dist/{index-CNALKsH1.d.ts → index-B06IJlHe.d.ts} +1 -1
- package/dist/{index-BpUYHGu3.d.cts → index-B7pGBych.d.cts} +1 -1
- package/dist/index.cjs +106 -200
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +370 -258
- package/dist/index.d.ts +370 -258
- package/dist/index.js +104 -198
- package/dist/index.js.map +1 -1
- package/dist/quoting/index.cjs +3 -3
- package/dist/quoting/index.d.cts +1 -1
- package/dist/quoting/index.d.ts +1 -1
- package/dist/quoting/index.js +2 -2
- package/dist/swap/index.cjs +2 -3
- package/dist/swap/index.cjs.map +1 -1
- package/dist/swap/index.d.cts +2 -2
- package/dist/swap/index.d.ts +2 -2
- package/dist/swap/index.js +1 -2
- package/dist/{types-BDOnH5Le.d.cts → types-b5_Tokjl.d.cts} +8 -17
- package/dist/{types-BDOnH5Le.d.ts → types-b5_Tokjl.d.ts} +8 -17
- package/package.json +1 -1
- package/dist/chunk-27V32VNM.cjs +0 -370
- package/dist/chunk-27V32VNM.cjs.map +0 -1
- package/dist/chunk-4RYBJLF3.js +0 -370
- package/dist/chunk-4RYBJLF3.js.map +0 -1
- package/dist/chunk-5QJZT7VB.cjs +0 -46
- package/dist/chunk-5QJZT7VB.cjs.map +0 -1
- package/dist/chunk-BNTVOKYT.cjs.map +0 -1
- package/dist/chunk-C4ZDYG4D.js.map +0 -1
- package/dist/chunk-CWP4PFOP.cjs.map +0 -1
- package/dist/chunk-CXFUP2YK.cjs.map +0 -1
- package/dist/chunk-IK4UK7KT.js.map +0 -1
- package/dist/chunk-L74CZAVQ.cjs +0 -99
- package/dist/chunk-L74CZAVQ.cjs.map +0 -1
- package/dist/chunk-P56TUGTS.js +0 -46
- package/dist/chunk-P56TUGTS.js.map +0 -1
- package/dist/chunk-R4L66ZR5.js.map +0 -1
- package/dist/chunk-VQSRCMMK.js.map +0 -1
- package/dist/chunk-X3I5XWAR.cjs.map +0 -1
- package/dist/chunk-X4IXUTTD.js +0 -99
- package/dist/chunk-X4IXUTTD.js.map +0 -1
- package/dist/relay/index.cjs +0 -19
- package/dist/relay/index.cjs.map +0 -1
- package/dist/relay/index.d.cts +0 -75
- package/dist/relay/index.d.ts +0 -75
- package/dist/relay/index.js +0 -19
- package/dist/relay/index.js.map +0 -1
- /package/dist/{chunk-5YH4D7QF.js.map → chunk-7UBO7DY5.js.map} +0 -0
- /package/dist/{chunk-FIKTQR7H.js.map → chunk-I2P3TIP7.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pointTokenFactoryAbi
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7UBO7DY5.js";
|
|
4
4
|
import {
|
|
5
5
|
createLoginMessage,
|
|
6
6
|
parseLoginMessage,
|
|
@@ -14,25 +14,27 @@ import {
|
|
|
14
14
|
getPointTokenIssuer,
|
|
15
15
|
getReceiverConsentNonce,
|
|
16
16
|
getTokenName,
|
|
17
|
-
getUsdt,
|
|
18
17
|
isActiveIssuer,
|
|
19
18
|
isMinter,
|
|
20
19
|
verifyMintCap
|
|
21
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QGO6X6LG.js";
|
|
22
21
|
import {
|
|
23
22
|
issuerRegistryAbi,
|
|
24
23
|
mintingOracleAbi,
|
|
25
24
|
pointTokenAbi
|
|
26
25
|
} from "./chunk-FXNG4G22.js";
|
|
27
26
|
import {
|
|
27
|
+
buildBurnRequestTypedData,
|
|
28
28
|
buildDomain,
|
|
29
29
|
buildMintRequestTypedData,
|
|
30
30
|
buildReceiverConsentTypedData,
|
|
31
|
+
signBurnRequest,
|
|
31
32
|
signMintRequest,
|
|
32
33
|
signReceiverConsent,
|
|
34
|
+
verifyBurnRequest,
|
|
33
35
|
verifyMintRequest,
|
|
34
36
|
verifyReceiverConsent
|
|
35
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-DUY7Z2AI.js";
|
|
36
38
|
import {
|
|
37
39
|
buildAllPaths,
|
|
38
40
|
combineRoutes,
|
|
@@ -40,7 +42,7 @@ import {
|
|
|
40
42
|
quoteBestRoute,
|
|
41
43
|
quoteExactInput,
|
|
42
44
|
quoteExactInputSingle
|
|
43
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-I2P3TIP7.js";
|
|
44
46
|
import {
|
|
45
47
|
v4QuoterAbi
|
|
46
48
|
} from "./chunk-KFWZRL7I.js";
|
|
@@ -51,24 +53,19 @@ import {
|
|
|
51
53
|
SUPPORTED_CHAINS,
|
|
52
54
|
UNIVERSAL_ROUTER_ADDRESSES,
|
|
53
55
|
V4_QUOTER_ADDRESSES,
|
|
56
|
+
burnRequestTypes,
|
|
54
57
|
mintRequestTypes,
|
|
55
58
|
receiverConsentTypes
|
|
56
|
-
} from "./chunk-
|
|
57
|
-
import {
|
|
58
|
-
buildRelaySwapParams,
|
|
59
|
-
decodeExtData,
|
|
60
|
-
decodeMintAndSwap,
|
|
61
|
-
encodeExtData,
|
|
62
|
-
encodeMintAndSwap,
|
|
63
|
-
simulateMintAndSwap
|
|
64
|
-
} from "./chunk-X4IXUTTD.js";
|
|
65
|
-
import {
|
|
66
|
-
relayAbi
|
|
67
|
-
} from "./chunk-4RYBJLF3.js";
|
|
59
|
+
} from "./chunk-73CQTNLB.js";
|
|
68
60
|
import {
|
|
61
|
+
ApiError,
|
|
69
62
|
BATCH_EXECUTOR_ABI,
|
|
63
|
+
ConfigurationError,
|
|
64
|
+
PafiSDKError,
|
|
70
65
|
SETTLE_ALL,
|
|
71
66
|
SWAP_EXACT_IN,
|
|
67
|
+
SigningError,
|
|
68
|
+
SimulationError,
|
|
72
69
|
TAKE_ALL,
|
|
73
70
|
V4_SWAP,
|
|
74
71
|
assembleUserOperation,
|
|
@@ -86,19 +83,12 @@ import {
|
|
|
86
83
|
erc20TransferOp,
|
|
87
84
|
rawCallOp,
|
|
88
85
|
simulateSwap
|
|
89
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-W23EJNYG.js";
|
|
90
87
|
import {
|
|
91
88
|
erc20Abi,
|
|
92
89
|
permit2Abi,
|
|
93
90
|
universalRouterAbi
|
|
94
91
|
} from "./chunk-2PIXFXA2.js";
|
|
95
|
-
import {
|
|
96
|
-
ApiError,
|
|
97
|
-
ConfigurationError,
|
|
98
|
-
PafiSDKError,
|
|
99
|
-
SigningError,
|
|
100
|
-
SimulationError
|
|
101
|
-
} from "./chunk-P56TUGTS.js";
|
|
102
92
|
|
|
103
93
|
// src/index.ts
|
|
104
94
|
import { createPublicClient, http } from "viem";
|
|
@@ -150,115 +140,101 @@ async function checkEthAndBranch(params) {
|
|
|
150
140
|
return balance >= required ? "normal" : "paymaster";
|
|
151
141
|
}
|
|
152
142
|
|
|
153
|
-
// src/contracts/
|
|
143
|
+
// src/contracts/real/pointToken.ts
|
|
154
144
|
import { parseAbi } from "viem";
|
|
155
|
-
var
|
|
156
|
-
// --- Mint
|
|
157
|
-
"function mint(uint256 amount) external",
|
|
158
|
-
|
|
159
|
-
//
|
|
160
|
-
"function
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
"function
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"function
|
|
145
|
+
var POINT_TOKEN_ABI = parseAbi([
|
|
146
|
+
// --- Mint paths ---
|
|
147
|
+
"function mint(address to, uint256 amount) external",
|
|
148
|
+
"function mint(address to, uint256 amount, uint256 deadline, bytes minterSig) external",
|
|
149
|
+
// --- Burn paths ---
|
|
150
|
+
"function burn(address from, uint256 amount) external",
|
|
151
|
+
"function burn(address from, uint256 amount, uint256 deadline, bytes burnerSig) external",
|
|
152
|
+
// --- Authorization reads ---
|
|
153
|
+
"function minters(address account) external view returns (bool)",
|
|
154
|
+
"function burners(address account) external view returns (bool)",
|
|
155
|
+
// --- Authorization writes (owner-only; used by provisioning scripts) ---
|
|
156
|
+
"function addMinter(address minter) external",
|
|
157
|
+
"function removeMinter(address minter) external",
|
|
158
|
+
"function addBurner(address burner) external",
|
|
159
|
+
"function removeBurner(address burner) external",
|
|
160
|
+
// --- Nonces (sig-gated paths) ---
|
|
161
|
+
"function mintRequestNonces(address receiver) external view returns (uint256)",
|
|
162
|
+
"function burnRequestNonces(address from) external view returns (uint256)",
|
|
163
|
+
// --- Oracle ---
|
|
164
|
+
"function mintingOracle() external view returns (address)",
|
|
165
|
+
"function setMintingOracle(address _mintingOracle) external",
|
|
166
|
+
// --- Issuer ---
|
|
167
|
+
"function issuer() external view returns (address)",
|
|
168
|
+
// --- Standard ERC-20 reads ---
|
|
169
|
+
"function balanceOf(address account) external view returns (uint256)",
|
|
170
|
+
"function totalSupply() external view returns (uint256)",
|
|
171
|
+
"function name() external view returns (string)",
|
|
172
|
+
"function symbol() external view returns (string)",
|
|
173
|
+
"function decimals() external view returns (uint8)",
|
|
174
|
+
// --- EIP-712 domain (for off-chain sig verification) ---
|
|
175
|
+
"function DOMAIN_SEPARATOR() external view returns (bytes32)",
|
|
176
|
+
"function eip712Domain() external view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)",
|
|
167
177
|
// --- Events ---
|
|
168
178
|
// PointIndexer filters Transfer(from=0x0) for mints
|
|
169
179
|
// BurnIndexer filters Transfer(to=0x0) for burns
|
|
170
|
-
"event Transfer(address indexed from, address indexed to, uint256 value)"
|
|
180
|
+
"event Transfer(address indexed from, address indexed to, uint256 value)",
|
|
181
|
+
"event MinterAdded(address indexed minter)",
|
|
182
|
+
"event MinterRemoved(address indexed minter)",
|
|
183
|
+
"event BurnerAdded(address indexed burner)",
|
|
184
|
+
"event BurnerRemoved(address indexed burner)",
|
|
185
|
+
"event MintingOracleUpdated(address indexed mintingOracle)"
|
|
171
186
|
]);
|
|
172
187
|
|
|
173
|
-
// src/contracts/
|
|
174
|
-
var
|
|
175
|
-
var
|
|
188
|
+
// src/contracts/real/batchExecutor.ts
|
|
189
|
+
var BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = "0x000000000000000000000000000000000000DE01";
|
|
190
|
+
var BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = "0x000000000000000000000000000000000000DE02";
|
|
176
191
|
|
|
177
|
-
// src/contracts/
|
|
178
|
-
var
|
|
179
|
-
var
|
|
180
|
-
// Base
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
mintingOracle: MOCK_PLACEHOLDER("de14")
|
|
188
|
-
},
|
|
189
|
-
// Base mainnet — intentionally placeholder. Do NOT ship to prod
|
|
190
|
-
// without swapping with real addresses.
|
|
192
|
+
// src/contracts/real/addresses.ts
|
|
193
|
+
var PLACEHOLDER_DEAD = (suffix) => `0x000000000000000000000000000000000000${suffix.toLowerCase().padStart(4, "0")}`;
|
|
194
|
+
var CONTRACT_ADDRESSES = {
|
|
195
|
+
// Base mainnet — SC-delivered 2026-04-21
|
|
196
|
+
// registry: IssuerRegistry 0xda2D3338CF70F462Ac175F5f2edfa45660CA4f31
|
|
197
|
+
// factory: PointTokenFactory 0x36c0BAb2faBE45EfA6d13001143e43A266Af673B
|
|
198
|
+
// oracle: MintingOracle 0xD85165939C700E51c8a45099316C6482634C2Ab9
|
|
199
|
+
// tokenImpl: PointToken (impl) 0x2e6FB1B0C1A51abb83eC974890126a64eC02E995
|
|
200
|
+
// mockUsdt: MockERC20 0x5d313485Ba59C3bb91e1A9C0C11782F0b83d5dcd
|
|
201
|
+
// POINT: PointToken instance 0x7d25E7156E51F865D522fd3ef257a6B5DD41b97e
|
|
191
202
|
8453: {
|
|
192
|
-
pointToken:
|
|
193
|
-
batchExecutor:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
203
|
+
pointToken: "0x7d25E7156E51F865D522fd3ef257a6B5DD41b97e",
|
|
204
|
+
batchExecutor: PLACEHOLDER_DEAD("de02"),
|
|
205
|
+
// ⏳ pending SC delivery
|
|
206
|
+
usdt: "0x5d313485Ba59C3bb91e1A9C0C11782F0b83d5dcd",
|
|
207
|
+
issuerRegistry: "0xda2D3338CF70F462Ac175F5f2edfa45660CA4f31",
|
|
208
|
+
mintingOracle: "0xD85165939C700E51c8a45099316C6482634C2Ab9"
|
|
209
|
+
},
|
|
210
|
+
// Base Sepolia — not in active use; placeholders kept so the map
|
|
211
|
+
// compiles for tooling that enumerates chains.
|
|
212
|
+
84532: {
|
|
213
|
+
pointToken: PLACEHOLDER_DEAD("dead"),
|
|
214
|
+
batchExecutor: PLACEHOLDER_DEAD("de01"),
|
|
215
|
+
usdt: PLACEHOLDER_DEAD("dead"),
|
|
216
|
+
issuerRegistry: PLACEHOLDER_DEAD("dead"),
|
|
217
|
+
mintingOracle: PLACEHOLDER_DEAD("dead")
|
|
197
218
|
}
|
|
198
219
|
};
|
|
199
|
-
|
|
200
|
-
|
|
220
|
+
var POINT_TOKEN_FACTORY_ADDRESSES = {
|
|
221
|
+
8453: "0x36c0BAb2faBE45EfA6d13001143e43A266Af673B",
|
|
222
|
+
84532: PLACEHOLDER_DEAD("dead")
|
|
223
|
+
};
|
|
224
|
+
var POINT_TOKEN_IMPL_ADDRESSES = {
|
|
225
|
+
8453: "0x2e6FB1B0C1A51abb83eC974890126a64eC02E995",
|
|
226
|
+
84532: PLACEHOLDER_DEAD("dead")
|
|
227
|
+
};
|
|
228
|
+
function getContractAddresses(chainId) {
|
|
229
|
+
const addrs = CONTRACT_ADDRESSES[chainId];
|
|
201
230
|
if (!addrs) {
|
|
202
231
|
throw new Error(
|
|
203
|
-
`
|
|
232
|
+
`getContractAddresses: no addresses for chainId ${chainId}. Supported: ${Object.keys(CONTRACT_ADDRESSES).join(", ")}`
|
|
204
233
|
);
|
|
205
234
|
}
|
|
206
235
|
return addrs;
|
|
207
236
|
}
|
|
208
237
|
|
|
209
|
-
// src/contracts/mocks/eip712/burnConsent.mock.ts
|
|
210
|
-
import {
|
|
211
|
-
parseSignature,
|
|
212
|
-
recoverTypedDataAddress
|
|
213
|
-
} from "viem";
|
|
214
|
-
var MOCK_BURN_CONSENT_TYPES = {
|
|
215
|
-
BurnConsent: [
|
|
216
|
-
{ name: "user", type: "address" },
|
|
217
|
-
{ name: "pointToken", type: "address" },
|
|
218
|
-
{ name: "amount", type: "uint256" },
|
|
219
|
-
{ name: "nonce", type: "uint256" },
|
|
220
|
-
{ name: "deadline", type: "uint256" }
|
|
221
|
-
]
|
|
222
|
-
};
|
|
223
|
-
function buildMockBurnConsentTypedData(domain, message) {
|
|
224
|
-
return {
|
|
225
|
-
domain: buildDomain(domain),
|
|
226
|
-
types: MOCK_BURN_CONSENT_TYPES,
|
|
227
|
-
primaryType: "BurnConsent",
|
|
228
|
-
message
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
async function signMockBurnConsent(walletClient, domain, message) {
|
|
232
|
-
const serialized = await walletClient.signTypedData({
|
|
233
|
-
account: walletClient.account,
|
|
234
|
-
domain: buildDomain(domain),
|
|
235
|
-
types: MOCK_BURN_CONSENT_TYPES,
|
|
236
|
-
primaryType: "BurnConsent",
|
|
237
|
-
message
|
|
238
|
-
});
|
|
239
|
-
const { v, r, s } = parseSignature(serialized);
|
|
240
|
-
return {
|
|
241
|
-
v: Number(v),
|
|
242
|
-
r,
|
|
243
|
-
s,
|
|
244
|
-
serialized
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
async function verifyMockBurnConsent(domain, message, signature, expectedUser) {
|
|
248
|
-
const recoveredAddress = await recoverTypedDataAddress({
|
|
249
|
-
domain: buildDomain(domain),
|
|
250
|
-
types: MOCK_BURN_CONSENT_TYPES,
|
|
251
|
-
primaryType: "BurnConsent",
|
|
252
|
-
message,
|
|
253
|
-
signature
|
|
254
|
-
});
|
|
255
|
-
const isValid = recoveredAddress.toLowerCase() === expectedUser.toLowerCase();
|
|
256
|
-
return {
|
|
257
|
-
isValid,
|
|
258
|
-
recoveredAddress
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
|
|
262
238
|
// src/web-handoff/webPopup.ts
|
|
263
239
|
var DEFAULT_WIDTH = 900;
|
|
264
240
|
var DEFAULT_HEIGHT = 700;
|
|
@@ -383,13 +359,11 @@ async function openPafiWebModal(url, options = {}) {
|
|
|
383
359
|
// src/index.ts
|
|
384
360
|
var PafiSDK = class {
|
|
385
361
|
_pointTokenAddress;
|
|
386
|
-
_relayContractAddress;
|
|
387
362
|
_signer;
|
|
388
363
|
_provider;
|
|
389
364
|
_chainId;
|
|
390
365
|
constructor(config) {
|
|
391
366
|
this._pointTokenAddress = config.pointTokenAddress;
|
|
392
|
-
this._relayContractAddress = config.relayContractAddress;
|
|
393
367
|
this._signer = config.signer;
|
|
394
368
|
this._chainId = config.chainId;
|
|
395
369
|
if (config.provider) {
|
|
@@ -406,9 +380,6 @@ var PafiSDK = class {
|
|
|
406
380
|
setPointTokenAddress(address) {
|
|
407
381
|
this._pointTokenAddress = address;
|
|
408
382
|
}
|
|
409
|
-
setRelayContractAddress(address) {
|
|
410
|
-
this._relayContractAddress = address;
|
|
411
|
-
}
|
|
412
383
|
setSigner(signer) {
|
|
413
384
|
this._signer = signer;
|
|
414
385
|
}
|
|
@@ -455,18 +426,10 @@ var PafiSDK = class {
|
|
|
455
426
|
// -------------------------------------------------------------------------
|
|
456
427
|
// EIP-712 — delegates to pure functions
|
|
457
428
|
// -------------------------------------------------------------------------
|
|
458
|
-
/**
|
|
459
|
-
* Build the EIP-712 typed data for a MintRequest.
|
|
460
|
-
* Pass the result to any external signer (Privy, WalletConnect, etc.).
|
|
461
|
-
*/
|
|
462
429
|
async buildMintRequestTypedData(message) {
|
|
463
430
|
const domain = await this.getDomain();
|
|
464
431
|
return buildMintRequestTypedData(domain, message);
|
|
465
432
|
}
|
|
466
|
-
/**
|
|
467
|
-
* Build the EIP-712 typed data for a ReceiverConsent.
|
|
468
|
-
* Pass the result to any external signer (Privy, WalletConnect, etc.).
|
|
469
|
-
*/
|
|
470
433
|
async buildReceiverConsentTypedData(message) {
|
|
471
434
|
const domain = await this.getDomain();
|
|
472
435
|
return buildReceiverConsentTypedData(domain, message);
|
|
@@ -505,15 +468,6 @@ var PafiSDK = class {
|
|
|
505
468
|
);
|
|
506
469
|
}
|
|
507
470
|
// -------------------------------------------------------------------------
|
|
508
|
-
// Relay calldata — delegates to pure functions
|
|
509
|
-
// -------------------------------------------------------------------------
|
|
510
|
-
encodeMintAndSwap(mint, swap) {
|
|
511
|
-
return encodeMintAndSwap(mint, swap);
|
|
512
|
-
}
|
|
513
|
-
decodeMintAndSwap(calldata) {
|
|
514
|
-
return decodeMintAndSwap(calldata);
|
|
515
|
-
}
|
|
516
|
-
// -------------------------------------------------------------------------
|
|
517
471
|
// Quoting — delegates to pure functions
|
|
518
472
|
// -------------------------------------------------------------------------
|
|
519
473
|
/**
|
|
@@ -543,41 +497,9 @@ var PafiSDK = class {
|
|
|
543
497
|
buildSwapFromQuote(params) {
|
|
544
498
|
return buildSwapFromQuote(params);
|
|
545
499
|
}
|
|
546
|
-
/**
|
|
547
|
-
* Build Relay SwapParams + extData from a quote result.
|
|
548
|
-
* Returns ready-to-use args for `Relay.mintAndSwap`.
|
|
549
|
-
*/
|
|
550
|
-
buildRelaySwapParams(params) {
|
|
551
|
-
return buildRelaySwapParams(params);
|
|
552
|
-
}
|
|
553
|
-
/**
|
|
554
|
-
* Encode extData for ReceiverConsent and MintParams.
|
|
555
|
-
* extData = abi.encode(minAmountOut, feeInUsdt)
|
|
556
|
-
*/
|
|
557
|
-
encodeExtData(minAmountOut, feeInUsdt) {
|
|
558
|
-
return encodeExtData(minAmountOut, feeInUsdt);
|
|
559
|
-
}
|
|
560
500
|
// -------------------------------------------------------------------------
|
|
561
501
|
// Simulation — dry-run via eth_call (no gas spent)
|
|
562
502
|
// -------------------------------------------------------------------------
|
|
563
|
-
/**
|
|
564
|
-
* Simulate a Relay.mintAndSwap call. Catches reverts (bad signatures,
|
|
565
|
-
* expired deadlines, insufficient mint cap, pool errors) before submitting.
|
|
566
|
-
*
|
|
567
|
-
* @param relayAddress - Relay contract address
|
|
568
|
-
* @param mint - MintParams with real signatures
|
|
569
|
-
* @param swap - SwapParams (path + deadline)
|
|
570
|
-
* @param from - Relayer address that will submit the tx
|
|
571
|
-
*/
|
|
572
|
-
async simulateMintAndSwap(relayAddress, mint, swap, from) {
|
|
573
|
-
return simulateMintAndSwap(
|
|
574
|
-
this.requireProvider(),
|
|
575
|
-
relayAddress,
|
|
576
|
-
mint,
|
|
577
|
-
swap,
|
|
578
|
-
from
|
|
579
|
-
);
|
|
580
|
-
}
|
|
581
503
|
/**
|
|
582
504
|
* Simulate a UniversalRouter.execute swap call. Catches reverts (bad
|
|
583
505
|
* approvals, insufficient balance, pool errors) before submitting.
|
|
@@ -600,17 +522,7 @@ var PafiSDK = class {
|
|
|
600
522
|
}
|
|
601
523
|
// -------------------------------------------------------------------------
|
|
602
524
|
// Auth — EIP-4361 login helpers (offline, stateless)
|
|
603
|
-
//
|
|
604
|
-
// These are convenience wrappers around the pure functions in
|
|
605
|
-
// `./auth/loginMessage.ts`. They do NOT hit the network — the caller is
|
|
606
|
-
// responsible for fetching the nonce, POSTing the signed message, and
|
|
607
|
-
// storing the JWT returned by the issuer backend.
|
|
608
525
|
// -------------------------------------------------------------------------
|
|
609
|
-
/**
|
|
610
|
-
* Build an EIP-4361 login message for the current signer + chain. The
|
|
611
|
-
* caller supplies the issuer-specific fields (domain, nonce, uri); the SDK
|
|
612
|
-
* fills in the wallet address and chain id from its own config.
|
|
613
|
-
*/
|
|
614
526
|
async createLoginMessage(params) {
|
|
615
527
|
const signer = this.requireSigner();
|
|
616
528
|
const chainId = this.requireChainId();
|
|
@@ -633,16 +545,17 @@ var PafiSDK = class {
|
|
|
633
545
|
export {
|
|
634
546
|
ApiError,
|
|
635
547
|
BATCH_EXECUTOR_ABI,
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
MOCK_BURN_CONSENT_TYPES as BURN_CONSENT_TYPES,
|
|
548
|
+
BATCH_EXECUTOR_ADDRESS_BASE_MAINNET,
|
|
549
|
+
BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA,
|
|
639
550
|
COMMON_POOLS,
|
|
640
551
|
COMMON_TOKENS,
|
|
641
|
-
|
|
552
|
+
CONTRACT_ADDRESSES,
|
|
642
553
|
ConfigurationError,
|
|
643
554
|
ENTRY_POINT_V07,
|
|
555
|
+
POINT_TOKEN_FACTORY_ADDRESSES,
|
|
556
|
+
POINT_TOKEN_IMPL_ADDRESSES,
|
|
644
557
|
POINT_TOKEN_POOLS,
|
|
645
|
-
|
|
558
|
+
POINT_TOKEN_ABI as POINT_TOKEN_V2_ABI,
|
|
646
559
|
PafiSDK,
|
|
647
560
|
PafiSDKError,
|
|
648
561
|
SETTLE_ALL,
|
|
@@ -658,33 +571,29 @@ export {
|
|
|
658
571
|
_resetPaymasterConfigForTests,
|
|
659
572
|
assembleUserOperation,
|
|
660
573
|
buildAllPaths,
|
|
661
|
-
|
|
574
|
+
buildBurnRequestTypedData,
|
|
662
575
|
buildDomain,
|
|
663
576
|
buildErc20ApprovalCalldata,
|
|
664
577
|
buildMintRequestTypedData,
|
|
665
578
|
buildPartialUserOperation,
|
|
666
579
|
buildPermit2ApprovalCalldata,
|
|
667
580
|
buildReceiverConsentTypedData,
|
|
668
|
-
buildRelaySwapParams,
|
|
669
581
|
buildSwapFromQuote,
|
|
670
582
|
buildSwapWithGasDeduction,
|
|
671
583
|
buildUniversalRouterExecuteArgs,
|
|
672
584
|
buildV4SwapInput,
|
|
585
|
+
burnRequestTypes,
|
|
673
586
|
checkAllowance,
|
|
674
587
|
checkEthAndBranch,
|
|
675
588
|
combineRoutes,
|
|
676
589
|
createLoginMessage,
|
|
677
|
-
decodeExtData,
|
|
678
|
-
decodeMintAndSwap,
|
|
679
590
|
encodeBatchExecute,
|
|
680
|
-
encodeExtData,
|
|
681
|
-
encodeMintAndSwap,
|
|
682
591
|
erc20Abi,
|
|
683
592
|
erc20ApproveOp,
|
|
684
593
|
erc20BurnOp,
|
|
685
594
|
erc20TransferOp,
|
|
686
595
|
findBestQuote,
|
|
687
|
-
|
|
596
|
+
getContractAddresses,
|
|
688
597
|
getIssuer2 as getIssuer,
|
|
689
598
|
getMintRequestNonce,
|
|
690
599
|
getPafiWebModalAdapter,
|
|
@@ -694,7 +603,6 @@ export {
|
|
|
694
603
|
getIssuer as getPointTokenIssuerAddress,
|
|
695
604
|
getReceiverConsentNonce,
|
|
696
605
|
getTokenName,
|
|
697
|
-
getUsdt,
|
|
698
606
|
isActiveIssuer,
|
|
699
607
|
isMinter,
|
|
700
608
|
isPaymasterConfigured,
|
|
@@ -712,17 +620,15 @@ export {
|
|
|
712
620
|
quoteExactInputSingle,
|
|
713
621
|
rawCallOp,
|
|
714
622
|
receiverConsentTypes,
|
|
715
|
-
relayAbi,
|
|
716
623
|
setPafiWebModalAdapter,
|
|
717
624
|
setPaymasterConfig,
|
|
718
|
-
|
|
625
|
+
signBurnRequest,
|
|
719
626
|
signMintRequest,
|
|
720
627
|
signReceiverConsent,
|
|
721
|
-
simulateMintAndSwap,
|
|
722
628
|
simulateSwap,
|
|
723
629
|
universalRouterAbi,
|
|
724
630
|
v4QuoterAbi,
|
|
725
|
-
|
|
631
|
+
verifyBurnRequest,
|
|
726
632
|
verifyLoginMessage,
|
|
727
633
|
verifyMintCap,
|
|
728
634
|
verifyMintRequest,
|