@pafi-dev/core 0.3.0-beta.1 → 0.3.0-beta.10
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 +363 -248
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +813 -426
- package/dist/index.d.ts +813 -426
- package/dist/index.js +375 -260
- 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.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkALCWYDVGcjs = require('./chunk-ALCWYDVG.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -17,8 +17,7 @@ var _chunkGWLEEXM4cjs = require('./chunk-GWLEEXM4.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
var _chunkX3I5XWARcjs = require('./chunk-X3I5XWAR.cjs');
|
|
20
|
+
var _chunkCQCSQPWGcjs = require('./chunk-CQCSQPWG.cjs');
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
|
|
@@ -32,39 +31,37 @@ var _chunkS2XRFFP3cjs = require('./chunk-S2XRFFP3.cjs');
|
|
|
32
31
|
|
|
33
32
|
|
|
34
33
|
|
|
35
|
-
var _chunkBNTVOKYTcjs = require('./chunk-BNTVOKYT.cjs');
|
|
36
34
|
|
|
37
35
|
|
|
38
36
|
|
|
37
|
+
var _chunkKJKDLD7Ncjs = require('./chunk-KJKDLD7N.cjs');
|
|
39
38
|
|
|
40
39
|
|
|
41
40
|
|
|
42
41
|
|
|
43
|
-
var _chunkCAE2BVKIcjs = require('./chunk-CAE2BVKI.cjs');
|
|
44
42
|
|
|
45
43
|
|
|
46
|
-
var _chunkCL3QSI4Ocjs = require('./chunk-CL3QSI4O.cjs');
|
|
47
44
|
|
|
45
|
+
var _chunkZ2V525IScjs = require('./chunk-Z2V525IS.cjs');
|
|
48
46
|
|
|
49
47
|
|
|
48
|
+
var _chunkCL3QSI4Ocjs = require('./chunk-CL3QSI4O.cjs');
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
|
|
53
52
|
|
|
54
53
|
|
|
55
54
|
|
|
56
|
-
var _chunkCWP4PFOPcjs = require('./chunk-CWP4PFOP.cjs');
|
|
57
55
|
|
|
58
56
|
|
|
59
57
|
|
|
60
58
|
|
|
59
|
+
var _chunkDMW67WBUcjs = require('./chunk-DMW67WBU.cjs');
|
|
61
60
|
|
|
62
61
|
|
|
63
62
|
|
|
64
|
-
var _chunkL74CZAVQcjs = require('./chunk-L74CZAVQ.cjs');
|
|
65
63
|
|
|
66
64
|
|
|
67
|
-
var _chunk27V32VNMcjs = require('./chunk-27V32VNM.cjs');
|
|
68
65
|
|
|
69
66
|
|
|
70
67
|
|
|
@@ -86,22 +83,155 @@ var _chunk27V32VNMcjs = require('./chunk-27V32VNM.cjs');
|
|
|
86
83
|
|
|
87
84
|
|
|
88
85
|
|
|
89
|
-
var
|
|
86
|
+
var _chunkEDR5SFJNcjs = require('./chunk-EDR5SFJN.cjs');
|
|
90
87
|
|
|
91
88
|
|
|
92
89
|
|
|
93
90
|
|
|
94
91
|
var _chunkIPXARZ6Fcjs = require('./chunk-IPXARZ6F.cjs');
|
|
95
92
|
|
|
93
|
+
// src/index.ts
|
|
94
|
+
var _viem = require('viem');
|
|
96
95
|
|
|
96
|
+
// src/perp/buildPerpDepositWithGasDeduction.ts
|
|
97
97
|
|
|
98
98
|
|
|
99
|
+
// src/contracts/real/orderlyVault.ts
|
|
99
100
|
|
|
100
|
-
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
var
|
|
101
|
+
var ORDERLY_VAULT_BASE_MAINNET = "0xDe5cE5DD048596e46Ff671b13317aCC3C5B59b01";
|
|
102
|
+
var ORDERLY_VAULT_ADDRESSES = {
|
|
103
|
+
8453: ORDERLY_VAULT_BASE_MAINNET
|
|
104
|
+
};
|
|
105
|
+
var BROKER_HASHES = {
|
|
106
|
+
/** Default partner broker on Base — most commonly whitelisted. */
|
|
107
|
+
woofi_pro: _viem.keccak256.call(void 0, _viem.encodePacked.call(void 0, ["string"], ["woofi_pro"])),
|
|
108
|
+
/** Orderly's own white-label broker. */
|
|
109
|
+
orderly: _viem.keccak256.call(void 0, _viem.encodePacked.call(void 0, ["string"], ["orderly"])),
|
|
110
|
+
/** LogX. */
|
|
111
|
+
logx: _viem.keccak256.call(void 0, _viem.encodePacked.call(void 0, ["string"], ["logx"]))
|
|
112
|
+
};
|
|
113
|
+
var TOKEN_HASHES = {
|
|
114
|
+
USDC: _viem.keccak256.call(void 0, _viem.encodePacked.call(void 0, ["string"], ["USDC"]))
|
|
115
|
+
};
|
|
116
|
+
function computeAccountId(user, brokerHash) {
|
|
117
|
+
return _viem.keccak256.call(void 0,
|
|
118
|
+
_viem.encodeAbiParameters.call(void 0,
|
|
119
|
+
[
|
|
120
|
+
{ type: "address" },
|
|
121
|
+
{ type: "bytes32" }
|
|
122
|
+
],
|
|
123
|
+
[user, brokerHash]
|
|
124
|
+
)
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
var ORDERLY_VAULT_ABI = [
|
|
128
|
+
// Deposit USDC into Orderly perp account. Emits LayerZero message
|
|
129
|
+
// to the Orderly chain. `msg.value` MUST equal `getDepositFee(...)`.
|
|
130
|
+
{
|
|
131
|
+
type: "function",
|
|
132
|
+
name: "deposit",
|
|
133
|
+
stateMutability: "payable",
|
|
134
|
+
inputs: [
|
|
135
|
+
{
|
|
136
|
+
name: "data",
|
|
137
|
+
type: "tuple",
|
|
138
|
+
components: [
|
|
139
|
+
{ name: "accountId", type: "bytes32" },
|
|
140
|
+
{ name: "brokerHash", type: "bytes32" },
|
|
141
|
+
{ name: "tokenHash", type: "bytes32" },
|
|
142
|
+
{ name: "tokenAmount", type: "uint128" }
|
|
143
|
+
]
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
outputs: []
|
|
147
|
+
},
|
|
148
|
+
// Quote the LayerZero fee for a deposit message. Pass the same
|
|
149
|
+
// VaultDepositFE struct you intend to send.
|
|
150
|
+
{
|
|
151
|
+
type: "function",
|
|
152
|
+
name: "getDepositFee",
|
|
153
|
+
stateMutability: "view",
|
|
154
|
+
inputs: [
|
|
155
|
+
{ name: "user", type: "address" },
|
|
156
|
+
{
|
|
157
|
+
name: "data",
|
|
158
|
+
type: "tuple",
|
|
159
|
+
components: [
|
|
160
|
+
{ name: "accountId", type: "bytes32" },
|
|
161
|
+
{ name: "brokerHash", type: "bytes32" },
|
|
162
|
+
{ name: "tokenHash", type: "bytes32" },
|
|
163
|
+
{ name: "tokenAmount", type: "uint128" }
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
outputs: [{ name: "", type: "uint256" }]
|
|
168
|
+
},
|
|
169
|
+
// Pre-flight check — is this brokerId whitelisted on this Vault?
|
|
170
|
+
{
|
|
171
|
+
type: "function",
|
|
172
|
+
name: "getAllowedBroker",
|
|
173
|
+
stateMutability: "view",
|
|
174
|
+
inputs: [{ name: "brokerHash", type: "bytes32" }],
|
|
175
|
+
outputs: [{ name: "", type: "bool" }]
|
|
176
|
+
},
|
|
177
|
+
// Pre-flight check — what ERC-20 address does this token symbol
|
|
178
|
+
// resolve to on this Vault?
|
|
179
|
+
{
|
|
180
|
+
type: "function",
|
|
181
|
+
name: "getAllowedToken",
|
|
182
|
+
stateMutability: "view",
|
|
183
|
+
inputs: [{ name: "tokenHash", type: "bytes32" }],
|
|
184
|
+
outputs: [{ name: "", type: "address" }]
|
|
185
|
+
}
|
|
186
|
+
];
|
|
187
|
+
|
|
188
|
+
// src/perp/buildPerpDepositWithGasDeduction.ts
|
|
189
|
+
function buildPerpDepositWithGasDeduction(params) {
|
|
190
|
+
if (params.amount <= 0n) {
|
|
191
|
+
throw new Error("buildPerpDepositWithGasDeduction: amount must be positive");
|
|
192
|
+
}
|
|
193
|
+
if (params.layerZeroFee < 0n) {
|
|
194
|
+
throw new Error(
|
|
195
|
+
"buildPerpDepositWithGasDeduction: layerZeroFee cannot be negative"
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
if (params.depositData.tokenAmount !== params.amount) {
|
|
199
|
+
throw new Error(
|
|
200
|
+
`buildPerpDepositWithGasDeduction: depositData.tokenAmount (${params.depositData.tokenAmount}) must equal amount (${params.amount})`
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
const vault = _nullishCoalesce(params.vaultAddress, () => ( ORDERLY_VAULT_ADDRESSES[params.chainId]));
|
|
204
|
+
if (!vault) {
|
|
205
|
+
throw new Error(
|
|
206
|
+
`buildPerpDepositWithGasDeduction: no Orderly Vault address for chainId ${params.chainId}`
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
const depositCallData = _viem.encodeFunctionData.call(void 0, {
|
|
210
|
+
abi: ORDERLY_VAULT_ABI,
|
|
211
|
+
functionName: "deposit",
|
|
212
|
+
args: [params.depositData]
|
|
213
|
+
});
|
|
214
|
+
const operations = [
|
|
215
|
+
_chunkEDR5SFJNcjs.erc20ApproveOp.call(void 0, params.usdcAddress, vault, params.amount),
|
|
216
|
+
{
|
|
217
|
+
..._chunkEDR5SFJNcjs.rawCallOp.call(void 0, vault, depositCallData),
|
|
218
|
+
// BatchExecutor passes `value` from the inner call along; this
|
|
219
|
+
// becomes the LayerZero fee. The aggregated `msg.value` for the
|
|
220
|
+
// top-level UserOp must equal the sum of inner `value`s.
|
|
221
|
+
value: params.layerZeroFee
|
|
222
|
+
}
|
|
223
|
+
];
|
|
224
|
+
return _chunkEDR5SFJNcjs.buildPartialUserOperation.call(void 0, {
|
|
225
|
+
sender: params.userAddress,
|
|
226
|
+
nonce: params.aaNonce,
|
|
227
|
+
operations,
|
|
228
|
+
gasLimits: {
|
|
229
|
+
callGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _ => _.gasLimits, 'optionalAccess', _2 => _2.callGasLimit]), () => ( 800000n)),
|
|
230
|
+
verificationGasLimit: _nullishCoalesce(_optionalChain([params, 'access', _3 => _3.gasLimits, 'optionalAccess', _4 => _4.verificationGasLimit]), () => ( 150000n)),
|
|
231
|
+
preVerificationGas: _nullishCoalesce(_optionalChain([params, 'access', _5 => _5.gasLimits, 'optionalAccess', _6 => _6.preVerificationGas]), () => ( 50000n))
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
105
235
|
|
|
106
236
|
// src/userop/types.ts
|
|
107
237
|
var ENTRY_POINT_V07 = "0x0000000071727De22E5E9d8BAf0edAc6f37da032";
|
|
@@ -150,174 +280,223 @@ async function checkEthAndBranch(params) {
|
|
|
150
280
|
return balance >= required ? "normal" : "paymaster";
|
|
151
281
|
}
|
|
152
282
|
|
|
153
|
-
// src/contracts/
|
|
154
|
-
|
|
155
|
-
var
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
"function
|
|
159
|
-
|
|
283
|
+
// src/contracts/real/pointToken.ts
|
|
284
|
+
|
|
285
|
+
var POINT_TOKEN_ABI = _viem.parseAbi.call(void 0, [
|
|
286
|
+
// --- Mint paths ---
|
|
287
|
+
"function mint(address to, uint256 amount) external",
|
|
288
|
+
"function mint(address to, uint256 amount, uint256 deadline, bytes minterSig) external",
|
|
289
|
+
// --- Burn paths ---
|
|
290
|
+
"function burn(address from, uint256 amount) external",
|
|
291
|
+
"function burn(address from, uint256 amount, uint256 deadline, bytes burnerSig) external",
|
|
292
|
+
// --- Authorization reads ---
|
|
293
|
+
"function minters(address account) external view returns (bool)",
|
|
294
|
+
"function burners(address account) external view returns (bool)",
|
|
295
|
+
// --- Authorization writes (owner-only; used by provisioning scripts) ---
|
|
296
|
+
"function addMinter(address minter) external",
|
|
297
|
+
"function removeMinter(address minter) external",
|
|
298
|
+
"function addBurner(address burner) external",
|
|
299
|
+
"function removeBurner(address burner) external",
|
|
300
|
+
// --- Nonces (sig-gated paths) ---
|
|
301
|
+
"function mintRequestNonces(address receiver) external view returns (uint256)",
|
|
302
|
+
"function burnRequestNonces(address from) external view returns (uint256)",
|
|
303
|
+
// --- Oracle ---
|
|
304
|
+
"function mintingOracle() external view returns (address)",
|
|
305
|
+
"function setMintingOracle(address _mintingOracle) external",
|
|
306
|
+
// --- Issuer ---
|
|
307
|
+
"function issuer() external view returns (address)",
|
|
308
|
+
// --- Standard ERC-20 reads ---
|
|
309
|
+
"function balanceOf(address account) external view returns (uint256)",
|
|
310
|
+
"function totalSupply() external view returns (uint256)",
|
|
311
|
+
"function name() external view returns (string)",
|
|
312
|
+
"function symbol() external view returns (string)",
|
|
313
|
+
"function decimals() external view returns (uint8)",
|
|
314
|
+
// --- EIP-712 domain (for off-chain sig verification) ---
|
|
315
|
+
"function DOMAIN_SEPARATOR() external view returns (bytes32)",
|
|
316
|
+
"function eip712Domain() external view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)",
|
|
317
|
+
// --- Events ---
|
|
318
|
+
// PointIndexer filters Transfer(from=0x0) for mints
|
|
319
|
+
// BurnIndexer filters Transfer(to=0x0) for burns
|
|
320
|
+
"event Transfer(address indexed from, address indexed to, uint256 value)",
|
|
321
|
+
"event MinterAdded(address indexed minter)",
|
|
322
|
+
"event MinterRemoved(address indexed minter)",
|
|
323
|
+
"event BurnerAdded(address indexed burner)",
|
|
324
|
+
"event BurnerRemoved(address indexed burner)",
|
|
325
|
+
"event MintingOracleUpdated(address indexed mintingOracle)"
|
|
160
326
|
]);
|
|
161
|
-
var MOCK_RELAYER_V2_MINT_SELECTOR = "0xMOCKED__";
|
|
162
|
-
|
|
163
|
-
// src/contracts/mocks/pointTokenV2.mock.ts
|
|
164
|
-
|
|
165
|
-
var MOCK_POINT_TOKEN_V2_ABI = _viem.parseAbi.call(void 0, [
|
|
166
|
-
// Variant A
|
|
167
|
-
"function burn(uint256 amount) external",
|
|
168
|
-
// Variant B
|
|
169
|
-
"function burnWithSig((address user, address pointToken, uint256 amount, uint256 nonce, uint256 deadline) consent, (uint8 v, bytes32 r, bytes32 s) sig) external",
|
|
170
|
-
// Standard reads we always need
|
|
171
|
-
"function balanceOf(address user) external view returns (uint256)",
|
|
172
|
-
"function burnNonce(address user) external view returns (uint256)",
|
|
173
|
-
// ERC-20 Transfer event (inherited) — BurnIndexer filters `to = 0x0`
|
|
174
|
-
"event Transfer(address indexed from, address indexed to, uint256 value)"
|
|
175
|
-
]);
|
|
176
|
-
|
|
177
|
-
// src/contracts/mocks/batchExecutor.mock.ts
|
|
178
|
-
var MOCK_BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = "0x000000000000000000000000000000000000DE01";
|
|
179
|
-
var MOCK_BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = "0x000000000000000000000000000000000000DE02";
|
|
180
327
|
|
|
181
|
-
// src/contracts/
|
|
182
|
-
var
|
|
183
|
-
var
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
//
|
|
195
|
-
//
|
|
328
|
+
// src/contracts/real/batchExecutor.ts
|
|
329
|
+
var BATCH_EXECUTOR_ADDRESS_BASE_SEPOLIA = "0x000000000000000000000000000000000000DE01";
|
|
330
|
+
var BATCH_EXECUTOR_ADDRESS_BASE_MAINNET = "0x7702cb554e6bFb442cb743A7dF23154544a7176C";
|
|
331
|
+
|
|
332
|
+
// src/contracts/real/addresses.ts
|
|
333
|
+
var PLACEHOLDER_DEAD = (suffix) => `0x000000000000000000000000000000000000${suffix.toLowerCase().padStart(4, "0")}`;
|
|
334
|
+
var CONTRACT_ADDRESSES = {
|
|
335
|
+
// Base mainnet — SC-delivered (2026-04-21, 2026-04-22)
|
|
336
|
+
// registry: IssuerRegistry 0xda2D3338CF70F462Ac175F5f2edfa45660CA4f31
|
|
337
|
+
// factory: PointTokenFactory 0x36c0BAb2faBE45EfA6d13001143e43A266Af673B
|
|
338
|
+
// oracle: MintingOracle 0xD85165939C700E51c8a45099316C6482634C2Ab9
|
|
339
|
+
// tokenImpl: PointToken (impl) 0x2e6FB1B0C1A51abb83eC974890126a64eC02E995
|
|
340
|
+
// mockUsdt: MockERC20 0x5d313485Ba59C3bb91e1A9C0C11782F0b83d5dcd
|
|
341
|
+
// POINT: PointToken instance 0x7d25E7156E51F865D522fd3ef257a6B5DD41b97e
|
|
342
|
+
// batchExecutor: Coinbase SW v2 0x7702cb554e6bFb442cb743A7dF23154544a7176C
|
|
343
|
+
// pafiHook: PAFIHook (V4, 10%) 0x870cAF9882d3160602AaC1769C2B264A2d8EC044
|
|
196
344
|
8453: {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
345
|
+
pointToken: "0x7d25E7156E51F865D522fd3ef257a6B5DD41b97e",
|
|
346
|
+
batchExecutor: "0x7702cb554e6bFb442cb743A7dF23154544a7176C",
|
|
347
|
+
usdt: "0x5d313485Ba59C3bb91e1A9C0C11782F0b83d5dcd",
|
|
348
|
+
issuerRegistry: "0xda2D3338CF70F462Ac175F5f2edfa45660CA4f31",
|
|
349
|
+
mintingOracle: "0xD85165939C700E51c8a45099316C6482634C2Ab9",
|
|
350
|
+
pafiHook: "0x870cAF9882d3160602AaC1769C2B264A2d8EC044"
|
|
351
|
+
},
|
|
352
|
+
// Base Sepolia — not in active use; placeholders kept so the map
|
|
353
|
+
// compiles for tooling that enumerates chains.
|
|
354
|
+
84532: {
|
|
355
|
+
pointToken: PLACEHOLDER_DEAD("dead"),
|
|
356
|
+
batchExecutor: PLACEHOLDER_DEAD("de01"),
|
|
357
|
+
usdt: PLACEHOLDER_DEAD("dead"),
|
|
358
|
+
issuerRegistry: PLACEHOLDER_DEAD("dead"),
|
|
359
|
+
mintingOracle: PLACEHOLDER_DEAD("dead"),
|
|
360
|
+
pafiHook: PLACEHOLDER_DEAD("dead")
|
|
203
361
|
}
|
|
204
362
|
};
|
|
205
|
-
|
|
206
|
-
|
|
363
|
+
var POINT_TOKEN_FACTORY_ADDRESSES = {
|
|
364
|
+
8453: "0x36c0BAb2faBE45EfA6d13001143e43A266Af673B",
|
|
365
|
+
84532: PLACEHOLDER_DEAD("dead")
|
|
366
|
+
};
|
|
367
|
+
var POINT_TOKEN_IMPL_ADDRESSES = {
|
|
368
|
+
8453: "0x2e6FB1B0C1A51abb83eC974890126a64eC02E995",
|
|
369
|
+
84532: PLACEHOLDER_DEAD("dead")
|
|
370
|
+
};
|
|
371
|
+
function getContractAddresses(chainId) {
|
|
372
|
+
const addrs = CONTRACT_ADDRESSES[chainId];
|
|
207
373
|
if (!addrs) {
|
|
208
374
|
throw new Error(
|
|
209
|
-
`
|
|
375
|
+
`getContractAddresses: no addresses for chainId ${chainId}. Supported: ${Object.keys(CONTRACT_ADDRESSES).join(", ")}`
|
|
210
376
|
);
|
|
211
377
|
}
|
|
212
378
|
return addrs;
|
|
213
379
|
}
|
|
214
380
|
|
|
215
|
-
// src/
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
]
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
381
|
+
// src/web-handoff/webPopup.ts
|
|
382
|
+
var DEFAULT_WIDTH = 900;
|
|
383
|
+
var DEFAULT_HEIGHT = 700;
|
|
384
|
+
var DEFAULT_NAME = "pafi-web";
|
|
385
|
+
function openWebPopup(url, options = {}) {
|
|
386
|
+
if (typeof window === "undefined" || typeof window.open !== "function") {
|
|
387
|
+
throw new Error(
|
|
388
|
+
"openWebPopup: `window.open` is not available in this runtime. Register a platform adapter via setPafiWebModalAdapter() instead."
|
|
389
|
+
);
|
|
390
|
+
}
|
|
391
|
+
const width = _nullishCoalesce(options.width, () => ( DEFAULT_WIDTH));
|
|
392
|
+
const height = _nullishCoalesce(options.height, () => ( DEFAULT_HEIGHT));
|
|
393
|
+
const name = _nullishCoalesce(options.windowName, () => ( DEFAULT_NAME));
|
|
394
|
+
const screenW = _nullishCoalesce(_optionalChain([window, 'access', _7 => _7.screen, 'optionalAccess', _8 => _8.availWidth]), () => ( window.innerWidth));
|
|
395
|
+
const screenH = _nullishCoalesce(_optionalChain([window, 'access', _9 => _9.screen, 'optionalAccess', _10 => _10.availHeight]), () => ( window.innerHeight));
|
|
396
|
+
const left = Math.max(0, Math.floor((screenW - width) / 2));
|
|
397
|
+
const top = Math.max(0, Math.floor((screenH - height) / 2));
|
|
398
|
+
const features = [
|
|
399
|
+
`width=${width}`,
|
|
400
|
+
`height=${height}`,
|
|
401
|
+
`left=${left}`,
|
|
402
|
+
`top=${top}`,
|
|
403
|
+
"resizable=yes",
|
|
404
|
+
"scrollbars=yes",
|
|
405
|
+
"noopener=no"
|
|
406
|
+
// we need opener.postMessage to work
|
|
407
|
+
].join(",");
|
|
408
|
+
const popup = window.open(url, name, features);
|
|
409
|
+
if (!popup) {
|
|
410
|
+
throw new Error(
|
|
411
|
+
"openWebPopup: popup was blocked. Ensure this call runs inside a user gesture (click handler)."
|
|
412
|
+
);
|
|
413
|
+
}
|
|
414
|
+
let closed = false;
|
|
415
|
+
let pollId = null;
|
|
416
|
+
let messageListener = null;
|
|
417
|
+
const dispose = () => {
|
|
418
|
+
if (closed) return;
|
|
419
|
+
closed = true;
|
|
420
|
+
if (pollId !== null) {
|
|
421
|
+
clearInterval(pollId);
|
|
422
|
+
pollId = null;
|
|
423
|
+
}
|
|
424
|
+
if (messageListener) {
|
|
425
|
+
window.removeEventListener("message", messageListener);
|
|
426
|
+
messageListener = null;
|
|
427
|
+
}
|
|
428
|
+
_optionalChain([options, 'access', _11 => _11.onClose, 'optionalCall', _12 => _12()]);
|
|
253
429
|
};
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
430
|
+
pollId = setInterval(() => {
|
|
431
|
+
if (popup.closed) {
|
|
432
|
+
dispose();
|
|
433
|
+
}
|
|
434
|
+
}, 500);
|
|
435
|
+
if (options.onMessage) {
|
|
436
|
+
const allowed = _nullishCoalesce(options.allowedOrigins, () => ( []));
|
|
437
|
+
const onMessage = options.onMessage;
|
|
438
|
+
messageListener = (event) => {
|
|
439
|
+
if (event.source !== popup) return;
|
|
440
|
+
if (!allowed.includes(event.origin)) return;
|
|
441
|
+
onMessage(event.data, event.origin);
|
|
442
|
+
};
|
|
443
|
+
window.addEventListener("message", messageListener);
|
|
444
|
+
}
|
|
264
445
|
return {
|
|
265
|
-
|
|
266
|
-
|
|
446
|
+
get isOpen() {
|
|
447
|
+
return !closed && !popup.closed;
|
|
448
|
+
},
|
|
449
|
+
close() {
|
|
450
|
+
if (closed) return;
|
|
451
|
+
try {
|
|
452
|
+
popup.close();
|
|
453
|
+
} catch (e) {
|
|
454
|
+
}
|
|
455
|
+
dispose();
|
|
456
|
+
},
|
|
457
|
+
focus() {
|
|
458
|
+
if (closed || popup.closed) return;
|
|
459
|
+
try {
|
|
460
|
+
popup.focus();
|
|
461
|
+
} catch (e2) {
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
postMessage(data) {
|
|
465
|
+
if (closed || popup.closed) return;
|
|
466
|
+
try {
|
|
467
|
+
popup.postMessage(data, "*");
|
|
468
|
+
} catch (e3) {
|
|
469
|
+
}
|
|
470
|
+
}
|
|
267
471
|
};
|
|
268
472
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
var MOCK_BURN_CONSENT_TYPES = {
|
|
276
|
-
BurnConsent: [
|
|
277
|
-
{ name: "user", type: "address" },
|
|
278
|
-
{ name: "pointToken", type: "address" },
|
|
279
|
-
{ name: "amount", type: "uint256" },
|
|
280
|
-
{ name: "nonce", type: "uint256" },
|
|
281
|
-
{ name: "deadline", type: "uint256" }
|
|
282
|
-
]
|
|
473
|
+
var webPopupAdapter = {
|
|
474
|
+
open(url, options) {
|
|
475
|
+
return openWebPopup(url, options);
|
|
476
|
+
}
|
|
283
477
|
};
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
message
|
|
290
|
-
};
|
|
478
|
+
|
|
479
|
+
// src/web-handoff/index.ts
|
|
480
|
+
var registeredAdapter = null;
|
|
481
|
+
function setPafiWebModalAdapter(adapter) {
|
|
482
|
+
registeredAdapter = adapter;
|
|
291
483
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
account: walletClient.account,
|
|
295
|
-
domain: _chunkBNTVOKYTcjs.buildDomain.call(void 0, domain),
|
|
296
|
-
types: MOCK_BURN_CONSENT_TYPES,
|
|
297
|
-
primaryType: "BurnConsent",
|
|
298
|
-
message
|
|
299
|
-
});
|
|
300
|
-
const { v, r, s } = _viem.parseSignature.call(void 0, serialized);
|
|
301
|
-
return {
|
|
302
|
-
v: Number(v),
|
|
303
|
-
r,
|
|
304
|
-
s,
|
|
305
|
-
serialized
|
|
306
|
-
};
|
|
484
|
+
function getPafiWebModalAdapter() {
|
|
485
|
+
return registeredAdapter;
|
|
307
486
|
}
|
|
308
|
-
async function
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
487
|
+
async function openPafiWebModal(url, options = {}) {
|
|
488
|
+
if (!url || typeof url !== "string") {
|
|
489
|
+
throw new Error("openPafiWebModal: `url` is required");
|
|
490
|
+
}
|
|
491
|
+
if (registeredAdapter) {
|
|
492
|
+
return Promise.resolve(registeredAdapter.open(url, options));
|
|
493
|
+
}
|
|
494
|
+
if (typeof window !== "undefined" && typeof window.open === "function") {
|
|
495
|
+
return openWebPopup(url, options);
|
|
496
|
+
}
|
|
497
|
+
throw new Error(
|
|
498
|
+
"openPafiWebModal: no adapter registered and `window.open` is unavailable. Call `setPafiWebModalAdapter()` with a platform-specific adapter (e.g. SFSafariViewController on iOS) during app boot."
|
|
499
|
+
);
|
|
321
500
|
}
|
|
322
501
|
|
|
323
502
|
// src/index.ts
|
|
@@ -326,10 +505,8 @@ var PafiSDK = class {
|
|
|
326
505
|
|
|
327
506
|
|
|
328
507
|
|
|
329
|
-
|
|
330
508
|
constructor(config) {
|
|
331
509
|
this._pointTokenAddress = config.pointTokenAddress;
|
|
332
|
-
this._relayContractAddress = config.relayContractAddress;
|
|
333
510
|
this._signer = config.signer;
|
|
334
511
|
this._chainId = config.chainId;
|
|
335
512
|
if (config.provider) {
|
|
@@ -346,9 +523,6 @@ var PafiSDK = class {
|
|
|
346
523
|
setPointTokenAddress(address) {
|
|
347
524
|
this._pointTokenAddress = address;
|
|
348
525
|
}
|
|
349
|
-
setRelayContractAddress(address) {
|
|
350
|
-
this._relayContractAddress = address;
|
|
351
|
-
}
|
|
352
526
|
setSigner(signer) {
|
|
353
527
|
this._signer = signer;
|
|
354
528
|
}
|
|
@@ -360,25 +534,25 @@ var PafiSDK = class {
|
|
|
360
534
|
// -------------------------------------------------------------------------
|
|
361
535
|
requirePointToken() {
|
|
362
536
|
if (!this._pointTokenAddress) {
|
|
363
|
-
throw new (0,
|
|
537
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("pointTokenAddress not set");
|
|
364
538
|
}
|
|
365
539
|
return this._pointTokenAddress;
|
|
366
540
|
}
|
|
367
541
|
requireProvider() {
|
|
368
542
|
if (!this._provider) {
|
|
369
|
-
throw new (0,
|
|
543
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("provider not set");
|
|
370
544
|
}
|
|
371
545
|
return this._provider;
|
|
372
546
|
}
|
|
373
547
|
requireSigner() {
|
|
374
548
|
if (!this._signer) {
|
|
375
|
-
throw new (0,
|
|
549
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("signer not set");
|
|
376
550
|
}
|
|
377
551
|
return this._signer;
|
|
378
552
|
}
|
|
379
553
|
requireChainId() {
|
|
380
554
|
if (this._chainId === void 0) {
|
|
381
|
-
throw new (0,
|
|
555
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("chainId not set");
|
|
382
556
|
}
|
|
383
557
|
return this._chainId;
|
|
384
558
|
}
|
|
@@ -389,71 +563,54 @@ var PafiSDK = class {
|
|
|
389
563
|
const provider = this.requireProvider();
|
|
390
564
|
const pointToken = this.requirePointToken();
|
|
391
565
|
const chainId = this.requireChainId();
|
|
392
|
-
const name = await
|
|
566
|
+
const name = await _chunkCQCSQPWGcjs.getTokenName.call(void 0, provider, pointToken);
|
|
393
567
|
return { name, verifyingContract: pointToken, chainId };
|
|
394
568
|
}
|
|
395
569
|
// -------------------------------------------------------------------------
|
|
396
570
|
// EIP-712 — delegates to pure functions
|
|
397
571
|
// -------------------------------------------------------------------------
|
|
398
|
-
/**
|
|
399
|
-
* Build the EIP-712 typed data for a MintRequest.
|
|
400
|
-
* Pass the result to any external signer (Privy, WalletConnect, etc.).
|
|
401
|
-
*/
|
|
402
572
|
async buildMintRequestTypedData(message) {
|
|
403
573
|
const domain = await this.getDomain();
|
|
404
|
-
return
|
|
574
|
+
return _chunkKJKDLD7Ncjs.buildMintRequestTypedData.call(void 0, domain, message);
|
|
405
575
|
}
|
|
406
|
-
/**
|
|
407
|
-
* Build the EIP-712 typed data for a ReceiverConsent.
|
|
408
|
-
* Pass the result to any external signer (Privy, WalletConnect, etc.).
|
|
409
|
-
*/
|
|
410
576
|
async buildReceiverConsentTypedData(message) {
|
|
411
577
|
const domain = await this.getDomain();
|
|
412
|
-
return
|
|
578
|
+
return _chunkKJKDLD7Ncjs.buildReceiverConsentTypedData.call(void 0, domain, message);
|
|
413
579
|
}
|
|
414
580
|
async signMintRequest(message) {
|
|
415
581
|
const domain = await this.getDomain();
|
|
416
|
-
return
|
|
582
|
+
return _chunkKJKDLD7Ncjs.signMintRequest.call(void 0, this.requireSigner(), domain, message);
|
|
417
583
|
}
|
|
418
584
|
async verifyMintRequest(message, signature, expectedMinter) {
|
|
419
585
|
const domain = await this.getDomain();
|
|
420
|
-
return
|
|
586
|
+
return _chunkKJKDLD7Ncjs.verifyMintRequest.call(void 0, domain, message, signature, expectedMinter);
|
|
421
587
|
}
|
|
422
588
|
async signReceiverConsent(message) {
|
|
423
589
|
const domain = await this.getDomain();
|
|
424
|
-
return
|
|
590
|
+
return _chunkKJKDLD7Ncjs.signReceiverConsent.call(void 0, this.requireSigner(), domain, message);
|
|
425
591
|
}
|
|
426
592
|
async verifyReceiverConsent(message, signature, expectedReceiver) {
|
|
427
593
|
const domain = await this.getDomain();
|
|
428
|
-
return
|
|
594
|
+
return _chunkKJKDLD7Ncjs.verifyReceiverConsent.call(void 0, domain, message, signature, expectedReceiver);
|
|
429
595
|
}
|
|
430
596
|
// -------------------------------------------------------------------------
|
|
431
597
|
// Contract reads
|
|
432
598
|
// -------------------------------------------------------------------------
|
|
433
599
|
async getMintRequestNonce(receiver) {
|
|
434
|
-
return
|
|
600
|
+
return _chunkCQCSQPWGcjs.getMintRequestNonce.call(void 0,
|
|
435
601
|
this.requireProvider(),
|
|
436
602
|
this.requirePointToken(),
|
|
437
603
|
receiver
|
|
438
604
|
);
|
|
439
605
|
}
|
|
440
606
|
async getReceiverConsentNonce(receiver) {
|
|
441
|
-
return
|
|
607
|
+
return _chunkCQCSQPWGcjs.getReceiverConsentNonce.call(void 0,
|
|
442
608
|
this.requireProvider(),
|
|
443
609
|
this.requirePointToken(),
|
|
444
610
|
receiver
|
|
445
611
|
);
|
|
446
612
|
}
|
|
447
613
|
// -------------------------------------------------------------------------
|
|
448
|
-
// Relay calldata — delegates to pure functions
|
|
449
|
-
// -------------------------------------------------------------------------
|
|
450
|
-
encodeMintAndSwap(mint, swap) {
|
|
451
|
-
return _chunkL74CZAVQcjs.encodeMintAndSwap.call(void 0, mint, swap);
|
|
452
|
-
}
|
|
453
|
-
decodeMintAndSwap(calldata) {
|
|
454
|
-
return _chunkL74CZAVQcjs.decodeMintAndSwap.call(void 0, calldata);
|
|
455
|
-
}
|
|
456
|
-
// -------------------------------------------------------------------------
|
|
457
614
|
// Quoting — delegates to pure functions
|
|
458
615
|
// -------------------------------------------------------------------------
|
|
459
616
|
/**
|
|
@@ -462,7 +619,7 @@ var PafiSDK = class {
|
|
|
462
619
|
* paths, and quotes via a single multicall RPC call.
|
|
463
620
|
*/
|
|
464
621
|
async findBestQuote(tokenIn, tokenOut, exactAmount, pools = [], quoterAddress, maxHops) {
|
|
465
|
-
return
|
|
622
|
+
return _chunkZ2V525IScjs.findBestQuote.call(void 0,
|
|
466
623
|
this.requireProvider(),
|
|
467
624
|
this.requireChainId(),
|
|
468
625
|
tokenIn,
|
|
@@ -481,43 +638,11 @@ var PafiSDK = class {
|
|
|
481
638
|
* The caller provides `minAmountOut` after applying their own slippage.
|
|
482
639
|
*/
|
|
483
640
|
buildSwapFromQuote(params) {
|
|
484
|
-
return
|
|
485
|
-
}
|
|
486
|
-
/**
|
|
487
|
-
* Build Relay SwapParams + extData from a quote result.
|
|
488
|
-
* Returns ready-to-use args for `Relay.mintAndSwap`.
|
|
489
|
-
*/
|
|
490
|
-
buildRelaySwapParams(params) {
|
|
491
|
-
return _chunkL74CZAVQcjs.buildRelaySwapParams.call(void 0, params);
|
|
492
|
-
}
|
|
493
|
-
/**
|
|
494
|
-
* Encode extData for ReceiverConsent and MintParams.
|
|
495
|
-
* extData = abi.encode(minAmountOut, feeInUsdt)
|
|
496
|
-
*/
|
|
497
|
-
encodeExtData(minAmountOut, feeInUsdt) {
|
|
498
|
-
return _chunkL74CZAVQcjs.encodeExtData.call(void 0, minAmountOut, feeInUsdt);
|
|
641
|
+
return _chunkEDR5SFJNcjs.buildSwapFromQuote.call(void 0, params);
|
|
499
642
|
}
|
|
500
643
|
// -------------------------------------------------------------------------
|
|
501
644
|
// Simulation — dry-run via eth_call (no gas spent)
|
|
502
645
|
// -------------------------------------------------------------------------
|
|
503
|
-
/**
|
|
504
|
-
* Simulate a Relay.mintAndSwap call. Catches reverts (bad signatures,
|
|
505
|
-
* expired deadlines, insufficient mint cap, pool errors) before submitting.
|
|
506
|
-
*
|
|
507
|
-
* @param relayAddress - Relay contract address
|
|
508
|
-
* @param mint - MintParams with real signatures
|
|
509
|
-
* @param swap - SwapParams (path + deadline)
|
|
510
|
-
* @param from - Relayer address that will submit the tx
|
|
511
|
-
*/
|
|
512
|
-
async simulateMintAndSwap(relayAddress, mint, swap, from) {
|
|
513
|
-
return _chunkL74CZAVQcjs.simulateMintAndSwap.call(void 0,
|
|
514
|
-
this.requireProvider(),
|
|
515
|
-
relayAddress,
|
|
516
|
-
mint,
|
|
517
|
-
swap,
|
|
518
|
-
from
|
|
519
|
-
);
|
|
520
|
-
}
|
|
521
646
|
/**
|
|
522
647
|
* Simulate a UniversalRouter.execute swap call. Catches reverts (bad
|
|
523
648
|
* approvals, insufficient balance, pool errors) before submitting.
|
|
@@ -529,7 +654,7 @@ var PafiSDK = class {
|
|
|
529
654
|
* @param from - Address that will execute the swap
|
|
530
655
|
*/
|
|
531
656
|
async simulateSwap(routerAddress, commands, inputs, deadline, from) {
|
|
532
|
-
return
|
|
657
|
+
return _chunkEDR5SFJNcjs.simulateSwap.call(void 0,
|
|
533
658
|
this.requireProvider(),
|
|
534
659
|
routerAddress,
|
|
535
660
|
commands,
|
|
@@ -540,23 +665,13 @@ var PafiSDK = class {
|
|
|
540
665
|
}
|
|
541
666
|
// -------------------------------------------------------------------------
|
|
542
667
|
// Auth — EIP-4361 login helpers (offline, stateless)
|
|
543
|
-
//
|
|
544
|
-
// These are convenience wrappers around the pure functions in
|
|
545
|
-
// `./auth/loginMessage.ts`. They do NOT hit the network — the caller is
|
|
546
|
-
// responsible for fetching the nonce, POSTing the signed message, and
|
|
547
|
-
// storing the JWT returned by the issuer backend.
|
|
548
668
|
// -------------------------------------------------------------------------
|
|
549
|
-
/**
|
|
550
|
-
* Build an EIP-4361 login message for the current signer + chain. The
|
|
551
|
-
* caller supplies the issuer-specific fields (domain, nonce, uri); the SDK
|
|
552
|
-
* fills in the wallet address and chain id from its own config.
|
|
553
|
-
*/
|
|
554
669
|
async createLoginMessage(params) {
|
|
555
670
|
const signer = this.requireSigner();
|
|
556
671
|
const chainId = this.requireChainId();
|
|
557
672
|
const account = signer.account;
|
|
558
673
|
if (!account) {
|
|
559
|
-
throw new (0,
|
|
674
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("signer has no account attached");
|
|
560
675
|
}
|
|
561
676
|
return _chunkGWLEEXM4cjs.createLoginMessage.call(void 0, { ...params, address: account.address, chainId });
|
|
562
677
|
}
|
|
@@ -565,7 +680,7 @@ var PafiSDK = class {
|
|
|
565
680
|
const signer = this.requireSigner();
|
|
566
681
|
const account = signer.account;
|
|
567
682
|
if (!account) {
|
|
568
|
-
throw new (0,
|
|
683
|
+
throw new (0, _chunkEDR5SFJNcjs.ConfigurationError)("signer has no account attached");
|
|
569
684
|
}
|
|
570
685
|
return signer.signMessage({ account, message });
|
|
571
686
|
}
|
|
@@ -669,5 +784,5 @@ var PafiSDK = class {
|
|
|
669
784
|
|
|
670
785
|
|
|
671
786
|
|
|
672
|
-
exports.ApiError =
|
|
787
|
+
exports.ApiError = _chunkEDR5SFJNcjs.ApiError; exports.BATCH_EXECUTOR_ABI = _chunkEDR5SFJNcjs.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 = _chunkDMW67WBUcjs.COMMON_POOLS; exports.COMMON_TOKENS = _chunkDMW67WBUcjs.COMMON_TOKENS; exports.CONTRACT_ADDRESSES = CONTRACT_ADDRESSES; exports.ConfigurationError = _chunkEDR5SFJNcjs.ConfigurationError; exports.ENTRY_POINT_V07 = ENTRY_POINT_V07; exports.ORDERLY_VAULT_ABI = ORDERLY_VAULT_ABI; exports.ORDERLY_VAULT_ADDRESSES = ORDERLY_VAULT_ADDRESSES; exports.ORDERLY_VAULT_BASE_MAINNET = ORDERLY_VAULT_BASE_MAINNET; exports.POINT_TOKEN_FACTORY_ADDRESSES = POINT_TOKEN_FACTORY_ADDRESSES; exports.POINT_TOKEN_IMPL_ADDRESSES = POINT_TOKEN_IMPL_ADDRESSES; exports.POINT_TOKEN_POOLS = _chunkDMW67WBUcjs.POINT_TOKEN_POOLS; exports.POINT_TOKEN_V2_ABI = POINT_TOKEN_ABI; exports.PafiSDK = PafiSDK; exports.PafiSDKError = _chunkEDR5SFJNcjs.PafiSDKError; exports.SETTLE_ALL = _chunkEDR5SFJNcjs.SETTLE_ALL; exports.SUPPORTED_CHAINS = _chunkDMW67WBUcjs.SUPPORTED_CHAINS; exports.SWAP_EXACT_IN = _chunkEDR5SFJNcjs.SWAP_EXACT_IN; exports.SigningError = _chunkEDR5SFJNcjs.SigningError; exports.SimulationError = _chunkEDR5SFJNcjs.SimulationError; exports.TAKE_ALL = _chunkEDR5SFJNcjs.TAKE_ALL; exports.TOKEN_HASHES = TOKEN_HASHES; exports.UNIVERSAL_ROUTER_ADDRESSES = _chunkDMW67WBUcjs.UNIVERSAL_ROUTER_ADDRESSES; exports.V4_QUOTER_ADDRESSES = _chunkDMW67WBUcjs.V4_QUOTER_ADDRESSES; exports.V4_SWAP = _chunkEDR5SFJNcjs.V4_SWAP; exports.ZERO_VALUE = ZERO_VALUE; exports._resetPaymasterConfigForTests = _resetPaymasterConfigForTests; exports.assembleUserOperation = _chunkEDR5SFJNcjs.assembleUserOperation; exports.buildAllPaths = _chunkZ2V525IScjs.buildAllPaths; exports.buildBurnRequestTypedData = _chunkKJKDLD7Ncjs.buildBurnRequestTypedData; exports.buildDomain = _chunkKJKDLD7Ncjs.buildDomain; exports.buildErc20ApprovalCalldata = _chunkEDR5SFJNcjs.buildErc20ApprovalCalldata; exports.buildMintRequestTypedData = _chunkKJKDLD7Ncjs.buildMintRequestTypedData; exports.buildPartialUserOperation = _chunkEDR5SFJNcjs.buildPartialUserOperation; exports.buildPermit2ApprovalCalldata = _chunkEDR5SFJNcjs.buildPermit2ApprovalCalldata; exports.buildPerpDepositWithGasDeduction = buildPerpDepositWithGasDeduction; exports.buildReceiverConsentTypedData = _chunkKJKDLD7Ncjs.buildReceiverConsentTypedData; exports.buildSwapFromQuote = _chunkEDR5SFJNcjs.buildSwapFromQuote; exports.buildSwapWithGasDeduction = _chunkEDR5SFJNcjs.buildSwapWithGasDeduction; exports.buildUniversalRouterExecuteArgs = _chunkEDR5SFJNcjs.buildUniversalRouterExecuteArgs; exports.buildV4SwapInput = _chunkEDR5SFJNcjs.buildV4SwapInput; exports.burnRequestTypes = _chunkDMW67WBUcjs.burnRequestTypes; exports.checkAllowance = _chunkEDR5SFJNcjs.checkAllowance; exports.checkEthAndBranch = checkEthAndBranch; exports.combineRoutes = _chunkZ2V525IScjs.combineRoutes; exports.computeAccountId = computeAccountId; exports.createLoginMessage = _chunkGWLEEXM4cjs.createLoginMessage; exports.encodeBatchExecute = _chunkEDR5SFJNcjs.encodeBatchExecute; exports.erc20Abi = _chunkIPXARZ6Fcjs.erc20Abi; exports.erc20ApproveOp = _chunkEDR5SFJNcjs.erc20ApproveOp; exports.erc20BurnOp = _chunkEDR5SFJNcjs.erc20BurnOp; exports.erc20TransferOp = _chunkEDR5SFJNcjs.erc20TransferOp; exports.findBestQuote = _chunkZ2V525IScjs.findBestQuote; exports.getContractAddresses = getContractAddresses; exports.getIssuer = _chunkCQCSQPWGcjs.getIssuer2; exports.getMintRequestNonce = _chunkCQCSQPWGcjs.getMintRequestNonce; exports.getPafiWebModalAdapter = getPafiWebModalAdapter; exports.getPaymasterConfig = getPaymasterConfig; exports.getPointTokenBalance = _chunkCQCSQPWGcjs.getPointTokenBalance; exports.getPointTokenIssuer = _chunkCQCSQPWGcjs.getPointTokenIssuer; exports.getPointTokenIssuerAddress = _chunkCQCSQPWGcjs.getIssuer; exports.getReceiverConsentNonce = _chunkCQCSQPWGcjs.getReceiverConsentNonce; exports.getTokenName = _chunkCQCSQPWGcjs.getTokenName; exports.isActiveIssuer = _chunkCQCSQPWGcjs.isActiveIssuer; exports.isMinter = _chunkCQCSQPWGcjs.isMinter; exports.isPaymasterConfigured = isPaymasterConfigured; exports.issuerRegistryAbi = _chunkS2XRFFP3cjs.issuerRegistryAbi; exports.mintRequestTypes = _chunkDMW67WBUcjs.mintRequestTypes; exports.mintingOracleAbi = _chunkS2XRFFP3cjs.mintingOracleAbi; exports.openPafiWebModal = openPafiWebModal; exports.openWebPopup = openWebPopup; exports.parseLoginMessage = _chunkGWLEEXM4cjs.parseLoginMessage; exports.permit2Abi = _chunkIPXARZ6Fcjs.permit2Abi; exports.pointTokenAbi = _chunkS2XRFFP3cjs.pointTokenAbi; exports.pointTokenFactoryAbi = _chunkALCWYDVGcjs.pointTokenFactoryAbi; exports.quoteBestRoute = _chunkZ2V525IScjs.quoteBestRoute; exports.quoteExactInput = _chunkZ2V525IScjs.quoteExactInput; exports.quoteExactInputSingle = _chunkZ2V525IScjs.quoteExactInputSingle; exports.rawCallOp = _chunkEDR5SFJNcjs.rawCallOp; exports.receiverConsentTypes = _chunkDMW67WBUcjs.receiverConsentTypes; exports.setPafiWebModalAdapter = setPafiWebModalAdapter; exports.setPaymasterConfig = setPaymasterConfig; exports.signBurnRequest = _chunkKJKDLD7Ncjs.signBurnRequest; exports.signMintRequest = _chunkKJKDLD7Ncjs.signMintRequest; exports.signReceiverConsent = _chunkKJKDLD7Ncjs.signReceiverConsent; exports.simulateSwap = _chunkEDR5SFJNcjs.simulateSwap; exports.universalRouterAbi = _chunkIPXARZ6Fcjs.universalRouterAbi; exports.v4QuoterAbi = _chunkCL3QSI4Ocjs.v4QuoterAbi; exports.verifyBurnRequest = _chunkKJKDLD7Ncjs.verifyBurnRequest; exports.verifyLoginMessage = _chunkGWLEEXM4cjs.verifyLoginMessage; exports.verifyMintCap = _chunkCQCSQPWGcjs.verifyMintCap; exports.verifyMintRequest = _chunkKJKDLD7Ncjs.verifyMintRequest; exports.verifyReceiverConsent = _chunkKJKDLD7Ncjs.verifyReceiverConsent; exports.webPopupAdapter = webPopupAdapter;
|
|
673
788
|
//# sourceMappingURL=index.cjs.map
|