@payai/x402-evm 2.4.0 → 2.4.1
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/cjs/exact/client/index.js.map +1 -1
- package/dist/cjs/exact/facilitator/index.js +21 -2
- package/dist/cjs/exact/facilitator/index.js.map +1 -1
- package/dist/cjs/exact/server/index.d.ts +0 -8
- package/dist/cjs/exact/server/index.js +14 -19
- package/dist/cjs/exact/server/index.js.map +1 -1
- package/dist/cjs/exact/v1/client/index.js.map +1 -1
- package/dist/cjs/exact/v1/facilitator/index.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/upto/server/index.d.ts +0 -8
- package/dist/cjs/upto/server/index.js +12 -19
- package/dist/cjs/upto/server/index.js.map +1 -1
- package/dist/cjs/v1/index.js.map +1 -1
- package/dist/esm/{chunk-RYT6M3PA.mjs → chunk-ERK2ZPOY.mjs} +21 -1
- package/dist/esm/{chunk-RYT6M3PA.mjs.map → chunk-ERK2ZPOY.mjs.map} +1 -1
- package/dist/esm/{chunk-NSFLAANF.mjs → chunk-F3OOHBAW.mjs} +11 -2
- package/dist/esm/{chunk-NSFLAANF.mjs.map → chunk-F3OOHBAW.mjs.map} +1 -1
- package/dist/esm/{chunk-D6RXZXOS.mjs → chunk-FQJR4RCF.mjs} +2 -2
- package/dist/esm/exact/client/index.mjs +2 -2
- package/dist/esm/exact/facilitator/index.mjs +4 -3
- package/dist/esm/exact/facilitator/index.mjs.map +1 -1
- package/dist/esm/exact/server/index.d.mts +0 -8
- package/dist/esm/exact/server/index.mjs +3 -19
- package/dist/esm/exact/server/index.mjs.map +1 -1
- package/dist/esm/exact/v1/client/index.mjs +1 -1
- package/dist/esm/exact/v1/facilitator/index.mjs +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/upto/server/index.d.mts +0 -8
- package/dist/esm/upto/server/index.mjs +3 -19
- package/dist/esm/upto/server/index.mjs.map +1 -1
- package/dist/esm/v1/index.mjs +1 -1
- package/package.json +1 -1
- /package/dist/esm/{chunk-D6RXZXOS.mjs.map → chunk-FQJR4RCF.mjs.map} +0 -0
|
@@ -535,6 +535,25 @@ async function diagnoseEip3009SimulationFailure(signer, erc20Address, payload, r
|
|
|
535
535
|
}
|
|
536
536
|
return { isValid: false, invalidReason: ErrEip3009SimulationFailed, payer };
|
|
537
537
|
}
|
|
538
|
+
function parseEip3009TransferError(error) {
|
|
539
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
540
|
+
if (/authorization.*(expired|valid before)/i.test(msg) || /AuthorizationExpired/i.test(msg)) {
|
|
541
|
+
return ErrValidBeforeExpired;
|
|
542
|
+
}
|
|
543
|
+
if (/authorization.*not.*valid|AuthorizationNotYetValid/i.test(msg)) {
|
|
544
|
+
return ErrValidAfterInFuture;
|
|
545
|
+
}
|
|
546
|
+
if (/authorization.*used|AuthorizationAlreadyUsed|AuthorizationUsedOrCanceled/i.test(msg)) {
|
|
547
|
+
return ErrEip3009NonceAlreadyUsed;
|
|
548
|
+
}
|
|
549
|
+
if (/transfer.*exceeds.*balance|insufficient.*balance|ERC20InsufficientBalance/i.test(msg)) {
|
|
550
|
+
return ErrEip3009InsufficientBalance;
|
|
551
|
+
}
|
|
552
|
+
if (/invalid.*signature|SignerMismatch|InvalidSignatureV|InvalidSignatureS/i.test(msg)) {
|
|
553
|
+
return ErrInvalidSignature;
|
|
554
|
+
}
|
|
555
|
+
return ErrTransactionFailed;
|
|
556
|
+
}
|
|
538
557
|
async function executeTransferWithAuthorization(signer, erc20Address, payload) {
|
|
539
558
|
const { signature } = (0, import_viem3.parseErc6492Signature)(payload.signature);
|
|
540
559
|
const signatureLength = signature.startsWith("0x") ? signature.length - 2 : signature.length;
|
|
@@ -755,10 +774,10 @@ async function settleEIP3009(signer, payload, requirements, eip3009Payload, conf
|
|
|
755
774
|
network: payload.accepted.network,
|
|
756
775
|
payer
|
|
757
776
|
};
|
|
758
|
-
} catch {
|
|
777
|
+
} catch (error) {
|
|
759
778
|
return {
|
|
760
779
|
success: false,
|
|
761
|
-
errorReason:
|
|
780
|
+
errorReason: parseEip3009TransferError(error),
|
|
762
781
|
transaction: "",
|
|
763
782
|
network: payload.accepted.network,
|
|
764
783
|
payer
|