@pancakeswap/swap-sdk-evm 1.2.1 → 1.3.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.
- package/dist/abis/B20.d.ts +90 -0
- package/dist/abis/B20.d.ts.map +1 -0
- package/dist/b20.d.ts +62 -0
- package/dist/b20.d.ts.map +1 -0
- package/dist/constants.d.ts +18 -25
- package/dist/constants.d.ts.map +1 -1
- package/dist/entities/native.d.ts +19 -0
- package/dist/entities/native.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +283 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +262 -26
- package/dist/index.mjs.map +1 -1
- package/dist/resolveNativeCurrency.d.ts +47 -0
- package/dist/resolveNativeCurrency.d.ts.map +1 -0
- package/dist/scaledUIAmount.d.ts +407 -43
- package/dist/scaledUIAmount.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/scaledUIAmount.d.ts
CHANGED
|
@@ -1,60 +1,424 @@
|
|
|
1
1
|
import type { Address, PublicClient } from 'viem';
|
|
2
|
-
/**
|
|
3
|
-
* ERC-8056 ERC-165 interface IDs.
|
|
4
|
-
*
|
|
5
|
-
* Pinned in the BNB Chain partner integration doc v1.0 (8 Apr 2026). The spec lists
|
|
6
|
-
* "others TBD" for the optional conversion / new-multiplier sub-interfaces — do not
|
|
7
|
-
* rely on those IDs being stable until the spec moves out of Draft status.
|
|
8
|
-
*/
|
|
2
|
+
/** ERC-8056 ERC-165 ids. B20 claims none of them — its `supportsInterface` reverts outright. */
|
|
9
3
|
export declare const SCALED_UI_AMOUNT_INTERFACE_ID: "0xa60bf13d";
|
|
10
4
|
export declare const SCALED_UI_AMOUNT_BALANCES_INTERFACE_ID: "0xd890fd71";
|
|
5
|
+
export type ScaledUIDialect = 'erc8056' | 'b20';
|
|
6
|
+
export type ScaledUIAmountReadFn = 'uiMultiplier' | 'multiplier' | 'newUIMultiplier' | 'effectiveAt';
|
|
7
|
+
declare const ABI_BY_FN: {
|
|
8
|
+
readonly uiMultiplier: readonly [{
|
|
9
|
+
readonly type: "function";
|
|
10
|
+
readonly name: "uiMultiplier";
|
|
11
|
+
readonly inputs: readonly [];
|
|
12
|
+
readonly outputs: readonly [{
|
|
13
|
+
readonly type: "uint256";
|
|
14
|
+
}];
|
|
15
|
+
readonly stateMutability: "view";
|
|
16
|
+
}, {
|
|
17
|
+
readonly type: "function";
|
|
18
|
+
readonly name: "toUIAmount";
|
|
19
|
+
readonly inputs: readonly [{
|
|
20
|
+
readonly name: "rawAmount";
|
|
21
|
+
readonly type: "uint256";
|
|
22
|
+
}];
|
|
23
|
+
readonly outputs: readonly [{
|
|
24
|
+
readonly type: "uint256";
|
|
25
|
+
}];
|
|
26
|
+
readonly stateMutability: "view";
|
|
27
|
+
}, {
|
|
28
|
+
readonly type: "function";
|
|
29
|
+
readonly name: "fromUIAmount";
|
|
30
|
+
readonly inputs: readonly [{
|
|
31
|
+
readonly name: "uiAmount";
|
|
32
|
+
readonly type: "uint256";
|
|
33
|
+
}];
|
|
34
|
+
readonly outputs: readonly [{
|
|
35
|
+
readonly type: "uint256";
|
|
36
|
+
}];
|
|
37
|
+
readonly stateMutability: "view";
|
|
38
|
+
}, {
|
|
39
|
+
readonly type: "function";
|
|
40
|
+
readonly name: "balanceOfUI";
|
|
41
|
+
readonly inputs: readonly [{
|
|
42
|
+
readonly name: "account";
|
|
43
|
+
readonly type: "address";
|
|
44
|
+
}];
|
|
45
|
+
readonly outputs: readonly [{
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
}];
|
|
48
|
+
readonly stateMutability: "view";
|
|
49
|
+
}, {
|
|
50
|
+
readonly type: "function";
|
|
51
|
+
readonly name: "newUIMultiplier";
|
|
52
|
+
readonly inputs: readonly [];
|
|
53
|
+
readonly outputs: readonly [{
|
|
54
|
+
readonly type: "uint256";
|
|
55
|
+
}];
|
|
56
|
+
readonly stateMutability: "view";
|
|
57
|
+
}, {
|
|
58
|
+
readonly type: "function";
|
|
59
|
+
readonly name: "effectiveAt";
|
|
60
|
+
readonly inputs: readonly [];
|
|
61
|
+
readonly outputs: readonly [{
|
|
62
|
+
readonly type: "uint256";
|
|
63
|
+
}];
|
|
64
|
+
readonly stateMutability: "view";
|
|
65
|
+
}, {
|
|
66
|
+
readonly type: "event";
|
|
67
|
+
readonly name: "UIMultiplierUpdated";
|
|
68
|
+
readonly inputs: readonly [{
|
|
69
|
+
readonly name: "oldMultiplier";
|
|
70
|
+
readonly type: "uint256";
|
|
71
|
+
readonly indexed: false;
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "newMultiplier";
|
|
74
|
+
readonly type: "uint256";
|
|
75
|
+
readonly indexed: false;
|
|
76
|
+
}, {
|
|
77
|
+
readonly name: "setAtTimestamp";
|
|
78
|
+
readonly type: "uint256";
|
|
79
|
+
readonly indexed: false;
|
|
80
|
+
}, {
|
|
81
|
+
readonly name: "effectiveAtTimestamp";
|
|
82
|
+
readonly type: "uint256";
|
|
83
|
+
readonly indexed: false;
|
|
84
|
+
}];
|
|
85
|
+
}, {
|
|
86
|
+
readonly type: "event";
|
|
87
|
+
readonly name: "TransferWithUIAmount";
|
|
88
|
+
readonly inputs: readonly [{
|
|
89
|
+
readonly name: "from";
|
|
90
|
+
readonly type: "address";
|
|
91
|
+
readonly indexed: true;
|
|
92
|
+
}, {
|
|
93
|
+
readonly name: "to";
|
|
94
|
+
readonly type: "address";
|
|
95
|
+
readonly indexed: true;
|
|
96
|
+
}, {
|
|
97
|
+
readonly name: "amount";
|
|
98
|
+
readonly type: "uint256";
|
|
99
|
+
readonly indexed: false;
|
|
100
|
+
}, {
|
|
101
|
+
readonly name: "uiAmount";
|
|
102
|
+
readonly type: "uint256";
|
|
103
|
+
readonly indexed: false;
|
|
104
|
+
}];
|
|
105
|
+
}];
|
|
106
|
+
readonly newUIMultiplier: readonly [{
|
|
107
|
+
readonly type: "function";
|
|
108
|
+
readonly name: "uiMultiplier";
|
|
109
|
+
readonly inputs: readonly [];
|
|
110
|
+
readonly outputs: readonly [{
|
|
111
|
+
readonly type: "uint256";
|
|
112
|
+
}];
|
|
113
|
+
readonly stateMutability: "view";
|
|
114
|
+
}, {
|
|
115
|
+
readonly type: "function";
|
|
116
|
+
readonly name: "toUIAmount";
|
|
117
|
+
readonly inputs: readonly [{
|
|
118
|
+
readonly name: "rawAmount";
|
|
119
|
+
readonly type: "uint256";
|
|
120
|
+
}];
|
|
121
|
+
readonly outputs: readonly [{
|
|
122
|
+
readonly type: "uint256";
|
|
123
|
+
}];
|
|
124
|
+
readonly stateMutability: "view";
|
|
125
|
+
}, {
|
|
126
|
+
readonly type: "function";
|
|
127
|
+
readonly name: "fromUIAmount";
|
|
128
|
+
readonly inputs: readonly [{
|
|
129
|
+
readonly name: "uiAmount";
|
|
130
|
+
readonly type: "uint256";
|
|
131
|
+
}];
|
|
132
|
+
readonly outputs: readonly [{
|
|
133
|
+
readonly type: "uint256";
|
|
134
|
+
}];
|
|
135
|
+
readonly stateMutability: "view";
|
|
136
|
+
}, {
|
|
137
|
+
readonly type: "function";
|
|
138
|
+
readonly name: "balanceOfUI";
|
|
139
|
+
readonly inputs: readonly [{
|
|
140
|
+
readonly name: "account";
|
|
141
|
+
readonly type: "address";
|
|
142
|
+
}];
|
|
143
|
+
readonly outputs: readonly [{
|
|
144
|
+
readonly type: "uint256";
|
|
145
|
+
}];
|
|
146
|
+
readonly stateMutability: "view";
|
|
147
|
+
}, {
|
|
148
|
+
readonly type: "function";
|
|
149
|
+
readonly name: "newUIMultiplier";
|
|
150
|
+
readonly inputs: readonly [];
|
|
151
|
+
readonly outputs: readonly [{
|
|
152
|
+
readonly type: "uint256";
|
|
153
|
+
}];
|
|
154
|
+
readonly stateMutability: "view";
|
|
155
|
+
}, {
|
|
156
|
+
readonly type: "function";
|
|
157
|
+
readonly name: "effectiveAt";
|
|
158
|
+
readonly inputs: readonly [];
|
|
159
|
+
readonly outputs: readonly [{
|
|
160
|
+
readonly type: "uint256";
|
|
161
|
+
}];
|
|
162
|
+
readonly stateMutability: "view";
|
|
163
|
+
}, {
|
|
164
|
+
readonly type: "event";
|
|
165
|
+
readonly name: "UIMultiplierUpdated";
|
|
166
|
+
readonly inputs: readonly [{
|
|
167
|
+
readonly name: "oldMultiplier";
|
|
168
|
+
readonly type: "uint256";
|
|
169
|
+
readonly indexed: false;
|
|
170
|
+
}, {
|
|
171
|
+
readonly name: "newMultiplier";
|
|
172
|
+
readonly type: "uint256";
|
|
173
|
+
readonly indexed: false;
|
|
174
|
+
}, {
|
|
175
|
+
readonly name: "setAtTimestamp";
|
|
176
|
+
readonly type: "uint256";
|
|
177
|
+
readonly indexed: false;
|
|
178
|
+
}, {
|
|
179
|
+
readonly name: "effectiveAtTimestamp";
|
|
180
|
+
readonly type: "uint256";
|
|
181
|
+
readonly indexed: false;
|
|
182
|
+
}];
|
|
183
|
+
}, {
|
|
184
|
+
readonly type: "event";
|
|
185
|
+
readonly name: "TransferWithUIAmount";
|
|
186
|
+
readonly inputs: readonly [{
|
|
187
|
+
readonly name: "from";
|
|
188
|
+
readonly type: "address";
|
|
189
|
+
readonly indexed: true;
|
|
190
|
+
}, {
|
|
191
|
+
readonly name: "to";
|
|
192
|
+
readonly type: "address";
|
|
193
|
+
readonly indexed: true;
|
|
194
|
+
}, {
|
|
195
|
+
readonly name: "amount";
|
|
196
|
+
readonly type: "uint256";
|
|
197
|
+
readonly indexed: false;
|
|
198
|
+
}, {
|
|
199
|
+
readonly name: "uiAmount";
|
|
200
|
+
readonly type: "uint256";
|
|
201
|
+
readonly indexed: false;
|
|
202
|
+
}];
|
|
203
|
+
}];
|
|
204
|
+
readonly effectiveAt: readonly [{
|
|
205
|
+
readonly type: "function";
|
|
206
|
+
readonly name: "uiMultiplier";
|
|
207
|
+
readonly inputs: readonly [];
|
|
208
|
+
readonly outputs: readonly [{
|
|
209
|
+
readonly type: "uint256";
|
|
210
|
+
}];
|
|
211
|
+
readonly stateMutability: "view";
|
|
212
|
+
}, {
|
|
213
|
+
readonly type: "function";
|
|
214
|
+
readonly name: "toUIAmount";
|
|
215
|
+
readonly inputs: readonly [{
|
|
216
|
+
readonly name: "rawAmount";
|
|
217
|
+
readonly type: "uint256";
|
|
218
|
+
}];
|
|
219
|
+
readonly outputs: readonly [{
|
|
220
|
+
readonly type: "uint256";
|
|
221
|
+
}];
|
|
222
|
+
readonly stateMutability: "view";
|
|
223
|
+
}, {
|
|
224
|
+
readonly type: "function";
|
|
225
|
+
readonly name: "fromUIAmount";
|
|
226
|
+
readonly inputs: readonly [{
|
|
227
|
+
readonly name: "uiAmount";
|
|
228
|
+
readonly type: "uint256";
|
|
229
|
+
}];
|
|
230
|
+
readonly outputs: readonly [{
|
|
231
|
+
readonly type: "uint256";
|
|
232
|
+
}];
|
|
233
|
+
readonly stateMutability: "view";
|
|
234
|
+
}, {
|
|
235
|
+
readonly type: "function";
|
|
236
|
+
readonly name: "balanceOfUI";
|
|
237
|
+
readonly inputs: readonly [{
|
|
238
|
+
readonly name: "account";
|
|
239
|
+
readonly type: "address";
|
|
240
|
+
}];
|
|
241
|
+
readonly outputs: readonly [{
|
|
242
|
+
readonly type: "uint256";
|
|
243
|
+
}];
|
|
244
|
+
readonly stateMutability: "view";
|
|
245
|
+
}, {
|
|
246
|
+
readonly type: "function";
|
|
247
|
+
readonly name: "newUIMultiplier";
|
|
248
|
+
readonly inputs: readonly [];
|
|
249
|
+
readonly outputs: readonly [{
|
|
250
|
+
readonly type: "uint256";
|
|
251
|
+
}];
|
|
252
|
+
readonly stateMutability: "view";
|
|
253
|
+
}, {
|
|
254
|
+
readonly type: "function";
|
|
255
|
+
readonly name: "effectiveAt";
|
|
256
|
+
readonly inputs: readonly [];
|
|
257
|
+
readonly outputs: readonly [{
|
|
258
|
+
readonly type: "uint256";
|
|
259
|
+
}];
|
|
260
|
+
readonly stateMutability: "view";
|
|
261
|
+
}, {
|
|
262
|
+
readonly type: "event";
|
|
263
|
+
readonly name: "UIMultiplierUpdated";
|
|
264
|
+
readonly inputs: readonly [{
|
|
265
|
+
readonly name: "oldMultiplier";
|
|
266
|
+
readonly type: "uint256";
|
|
267
|
+
readonly indexed: false;
|
|
268
|
+
}, {
|
|
269
|
+
readonly name: "newMultiplier";
|
|
270
|
+
readonly type: "uint256";
|
|
271
|
+
readonly indexed: false;
|
|
272
|
+
}, {
|
|
273
|
+
readonly name: "setAtTimestamp";
|
|
274
|
+
readonly type: "uint256";
|
|
275
|
+
readonly indexed: false;
|
|
276
|
+
}, {
|
|
277
|
+
readonly name: "effectiveAtTimestamp";
|
|
278
|
+
readonly type: "uint256";
|
|
279
|
+
readonly indexed: false;
|
|
280
|
+
}];
|
|
281
|
+
}, {
|
|
282
|
+
readonly type: "event";
|
|
283
|
+
readonly name: "TransferWithUIAmount";
|
|
284
|
+
readonly inputs: readonly [{
|
|
285
|
+
readonly name: "from";
|
|
286
|
+
readonly type: "address";
|
|
287
|
+
readonly indexed: true;
|
|
288
|
+
}, {
|
|
289
|
+
readonly name: "to";
|
|
290
|
+
readonly type: "address";
|
|
291
|
+
readonly indexed: true;
|
|
292
|
+
}, {
|
|
293
|
+
readonly name: "amount";
|
|
294
|
+
readonly type: "uint256";
|
|
295
|
+
readonly indexed: false;
|
|
296
|
+
}, {
|
|
297
|
+
readonly name: "uiAmount";
|
|
298
|
+
readonly type: "uint256";
|
|
299
|
+
readonly indexed: false;
|
|
300
|
+
}];
|
|
301
|
+
}];
|
|
302
|
+
readonly multiplier: readonly [{
|
|
303
|
+
readonly type: "function";
|
|
304
|
+
readonly name: "multiplier";
|
|
305
|
+
readonly inputs: readonly [];
|
|
306
|
+
readonly outputs: readonly [{
|
|
307
|
+
readonly type: "uint256";
|
|
308
|
+
}];
|
|
309
|
+
readonly stateMutability: "view";
|
|
310
|
+
}, {
|
|
311
|
+
readonly type: "function";
|
|
312
|
+
readonly name: "WAD_PRECISION";
|
|
313
|
+
readonly inputs: readonly [];
|
|
314
|
+
readonly outputs: readonly [{
|
|
315
|
+
readonly type: "uint256";
|
|
316
|
+
}];
|
|
317
|
+
readonly stateMutability: "view";
|
|
318
|
+
}, {
|
|
319
|
+
readonly type: "function";
|
|
320
|
+
readonly name: "toScaledBalance";
|
|
321
|
+
readonly inputs: readonly [{
|
|
322
|
+
readonly name: "rawBalance";
|
|
323
|
+
readonly type: "uint256";
|
|
324
|
+
}];
|
|
325
|
+
readonly outputs: readonly [{
|
|
326
|
+
readonly type: "uint256";
|
|
327
|
+
}];
|
|
328
|
+
readonly stateMutability: "view";
|
|
329
|
+
}, {
|
|
330
|
+
readonly type: "function";
|
|
331
|
+
readonly name: "toRawBalance";
|
|
332
|
+
readonly inputs: readonly [{
|
|
333
|
+
readonly name: "scaledBalance";
|
|
334
|
+
readonly type: "uint256";
|
|
335
|
+
}];
|
|
336
|
+
readonly outputs: readonly [{
|
|
337
|
+
readonly name: "rawBalance";
|
|
338
|
+
readonly type: "uint256";
|
|
339
|
+
}];
|
|
340
|
+
readonly stateMutability: "view";
|
|
341
|
+
}, {
|
|
342
|
+
readonly type: "function";
|
|
343
|
+
readonly name: "scaledBalanceOf";
|
|
344
|
+
readonly inputs: readonly [{
|
|
345
|
+
readonly name: "account";
|
|
346
|
+
readonly type: "address";
|
|
347
|
+
}];
|
|
348
|
+
readonly outputs: readonly [{
|
|
349
|
+
readonly type: "uint256";
|
|
350
|
+
}];
|
|
351
|
+
readonly stateMutability: "view";
|
|
352
|
+
}, {
|
|
353
|
+
readonly type: "event";
|
|
354
|
+
readonly name: "UIMultiplierUpdated";
|
|
355
|
+
readonly inputs: readonly [{
|
|
356
|
+
readonly name: "oldMultiplier";
|
|
357
|
+
readonly type: "uint256";
|
|
358
|
+
readonly indexed: false;
|
|
359
|
+
}, {
|
|
360
|
+
readonly name: "newMultiplier";
|
|
361
|
+
readonly type: "uint256";
|
|
362
|
+
readonly indexed: false;
|
|
363
|
+
}, {
|
|
364
|
+
readonly name: "effectiveAtTimestamp";
|
|
365
|
+
readonly type: "uint256";
|
|
366
|
+
readonly indexed: false;
|
|
367
|
+
}];
|
|
368
|
+
}, {
|
|
369
|
+
readonly type: "event";
|
|
370
|
+
readonly name: "MultiplierUpdateCancelled";
|
|
371
|
+
readonly inputs: readonly [{
|
|
372
|
+
readonly name: "cancelledMultiplier";
|
|
373
|
+
readonly type: "uint256";
|
|
374
|
+
readonly indexed: false;
|
|
375
|
+
}, {
|
|
376
|
+
readonly name: "cancelledEffectiveAt";
|
|
377
|
+
readonly type: "uint256";
|
|
378
|
+
readonly indexed: false;
|
|
379
|
+
}];
|
|
380
|
+
}];
|
|
381
|
+
};
|
|
382
|
+
/** A conventional ERC-8056 token deployed on Base still gets the `erc8056` dialect. */
|
|
383
|
+
export declare function resolveScaledUIDialect(chainId?: number, address?: string | null): ScaledUIDialect;
|
|
384
|
+
export interface ScaledUIAmountRead {
|
|
385
|
+
address: Address;
|
|
386
|
+
abi: (typeof ABI_BY_FN)[ScaledUIAmountReadFn];
|
|
387
|
+
functionName: ScaledUIAmountReadFn;
|
|
388
|
+
chainId?: number;
|
|
389
|
+
}
|
|
390
|
+
/** Shape shared by viem `multicall` and wagmi `useReadContracts` result entries. */
|
|
391
|
+
export interface ScaledUIAmountReadResult {
|
|
392
|
+
status: 'success' | 'failure';
|
|
393
|
+
result?: unknown;
|
|
394
|
+
}
|
|
395
|
+
/** Positional — `parseScaledUIAmountReads` must be called with the same dialect. */
|
|
396
|
+
export declare function buildScaledUIAmountReads(params: {
|
|
397
|
+
address: Address;
|
|
398
|
+
chainId?: number;
|
|
399
|
+
dialect: ScaledUIDialect;
|
|
400
|
+
}): ScaledUIAmountRead[];
|
|
11
401
|
/**
|
|
12
|
-
* Live ScaledUI metadata for a token,
|
|
13
|
-
*
|
|
14
|
-
* The single join point between tokenlist `extensions.scaledUIAmount.enabled` and the
|
|
15
|
-
* on-chain multiplier state. Consumers should treat `{ enabled: false, multiplier: 1e18 }`
|
|
402
|
+
* Live ScaledUI metadata for a token. Consumers should treat `{ enabled: false, multiplier: 1e18 }`
|
|
16
403
|
* as the identity case and early-out from any scaling logic.
|
|
17
404
|
*/
|
|
18
405
|
export type ScaledUIAmountMetadata = {
|
|
19
|
-
/** True if the contract implements ERC-8056's `uiMultiplier()`. */
|
|
20
406
|
enabled: boolean;
|
|
21
|
-
/**
|
|
407
|
+
/** 18-decimal fixed point. Defaults to `1e18` (identity). */
|
|
22
408
|
multiplier: bigint;
|
|
23
|
-
/** Pending scheduled multiplier (only present when an upcoming change is announced). */
|
|
24
409
|
newMultiplier?: bigint;
|
|
25
|
-
/** Unix
|
|
410
|
+
/** Unix seconds. */
|
|
26
411
|
effectiveAt?: number;
|
|
27
412
|
};
|
|
28
|
-
/**
|
|
29
|
-
* The identity metadata — returned for non-scaled tokens and on any read failure.
|
|
30
|
-
* Safe default: behaves like a normal ERC-20 in every downstream calculation.
|
|
31
|
-
*/
|
|
413
|
+
/** Returned for non-scaled tokens and on any read failure; behaves like a normal ERC-20. */
|
|
32
414
|
export declare const IDENTITY_SCALED_UI_AMOUNT_METADATA: ScaledUIAmountMetadata;
|
|
415
|
+
export declare function parseScaledUIAmountReads(results: readonly ScaledUIAmountReadResult[], dialect: ScaledUIDialect): ScaledUIAmountMetadata;
|
|
33
416
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* Returns `false` on any error (contract doesn't implement ERC-165, RPC failure, etc.) —
|
|
37
|
-
* the caller is responsible for caching positive AND negative results with appropriate
|
|
38
|
-
* TTL (see ticket memory: asymmetric 6-month/30-day cache in IndexedDB).
|
|
39
|
-
*
|
|
40
|
-
* Note: this is a perf-optimisation probe, not a correctness gate. Even if it returns
|
|
41
|
-
* a stale "yes", `fetchScaledUIAmountMetadata` below will gracefully fall back to the
|
|
42
|
-
* identity metadata if the actual contract calls revert.
|
|
43
|
-
*/
|
|
44
|
-
export declare function probeIsScaledUIAmount(client: PublicClient, address: Address): Promise<boolean>;
|
|
45
|
-
/**
|
|
46
|
-
* Fetch live ScaledUI metadata for a token via a single multicall.
|
|
47
|
-
*
|
|
48
|
-
* Defensive read posture:
|
|
49
|
-
* - All three reads use `allowFailure: true`.
|
|
50
|
-
* - If `uiMultiplier()` fails, treats the token as non-scaled (identity metadata).
|
|
51
|
-
* - If only the pending getters fail (common — they're optional in the spec), returns
|
|
52
|
-
* the active multiplier without pending-change info.
|
|
53
|
-
*
|
|
54
|
-
* Use this in concert with the IndexedDB ERC-165 cache to skip the call entirely for
|
|
55
|
-
* tokens we know aren't 8056. But even without the cache, this function is safe to
|
|
56
|
-
* call against any contract — it won't throw.
|
|
417
|
+
* A perf gate, not a correctness gate — `fetchScaledUIAmountMetadata` falls back to identity anyway
|
|
418
|
+
* if the reads revert. Callers cache both outcomes (asymmetric TTL in IndexedDB).
|
|
57
419
|
*/
|
|
58
|
-
export declare function
|
|
420
|
+
export declare function probeIsScaledUIAmount(client: PublicClient, address: Address, chainId?: number): Promise<boolean>;
|
|
421
|
+
/** Safe against any contract — won't throw. */
|
|
422
|
+
export declare function fetchScaledUIAmountMetadata(client: PublicClient, address: Address, chainId?: number): Promise<ScaledUIAmountMetadata>;
|
|
59
423
|
export { SCALED_UI_DENOMINATOR, SCALED_UI_MULTIPLIER_DECIMALS, fromScaledUIAmount, isIdentityScaledUIMultiplier, toScaledUIAmount, } from '@pancakeswap/swap-sdk-core';
|
|
60
424
|
//# sourceMappingURL=scaledUIAmount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaledUIAmount.d.ts","sourceRoot":"","sources":["../src/scaledUIAmount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaledUIAmount.d.ts","sourceRoot":"","sources":["../src/scaledUIAmount.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAMjD,gGAAgG;AAChG,eAAO,MAAM,6BAA6B,EAAG,YAAqB,CAAA;AAClE,eAAO,MAAM,sCAAsC,EAAG,YAAqB,CAAA;AAE3E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,aAAa,CAAA;AAyBpG,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK2C,CAAA;AAE1D,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAEjG;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC7C,YAAY,EAAE,oBAAoB,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,oFAAoF;AACpF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,GAAG,kBAAkB,EAAE,CASvB;AAKD;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,kCAAkC,EAAE,sBAGhD,CAAA;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,wBAAwB,EAAE,EAC5C,OAAO,EAAE,eAAe,GACvB,sBAAsB,CA8BxB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,+CAA+C;AAC/C,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,CAAC,CAOjC;AAED,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,4BAA4B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pancakeswap/swap-sdk-evm",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "An SDK for Pancakeswap EVM based chains",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"tiny-invariant": "^1.3.0",
|
|
19
19
|
"tiny-warning": "^1.0.3",
|
|
20
20
|
"viem": "2.37.13",
|
|
21
|
-
"@pancakeswap/chains": "0.
|
|
22
|
-
"@pancakeswap/swap-sdk-core": "1.6.
|
|
21
|
+
"@pancakeswap/chains": "0.10.0",
|
|
22
|
+
"@pancakeswap/swap-sdk-core": "1.6.1"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"tsup": "^6.7.0",
|