viem 1.18.4 → 1.18.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/CHANGELOG.md +6 -0
- package/_cjs/utils/transaction/serializeTransaction.js +14 -5
- package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
- package/_esm/utils/transaction/serializeTransaction.js +17 -5
- package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/package.json +1 -1
- package/utils/transaction/serializeTransaction.ts +17 -4
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# viem
|
2
2
|
|
3
|
+
## 1.18.5
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#1438](https://github.com/wagmi-dev/viem/pull/1438) [`8e52fcb8`](https://github.com/wagmi-dev/viem/commit/8e52fcb8565a9fadce4da31e924894881804f9d2) Thanks [@jxom](https://github.com/jxom)! - Fixed legacy EIP-155 transaction serializing.
|
8
|
+
|
3
9
|
## 1.18.4
|
4
10
|
|
5
11
|
### Patch Changes
|
@@ -73,11 +73,20 @@ function serializeTransactionLegacy(transaction, signature) {
|
|
73
73
|
data ?? '0x',
|
74
74
|
];
|
75
75
|
if (signature) {
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
76
|
+
const v = (() => {
|
77
|
+
if (chainId > 0)
|
78
|
+
return BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);
|
79
|
+
if (signature.v >= 35n) {
|
80
|
+
const inferredChainId = (signature.v - 35n) / 2n;
|
81
|
+
if (inferredChainId > 0)
|
82
|
+
return signature.v;
|
83
|
+
return 27n + (signature.v === 35n ? 0n : 1n);
|
84
|
+
}
|
85
|
+
const v = 27n + (signature.v === 27n ? 0n : 1n);
|
86
|
+
if (signature.v !== v)
|
87
|
+
throw new transaction_js_1.InvalidLegacyVError({ v: signature.v });
|
88
|
+
return v;
|
89
|
+
})();
|
81
90
|
serializedTransaction = [
|
82
91
|
...serializedTransaction,
|
83
92
|
(0, toHex_js_1.toHex)(v),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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"}
|
@@ -71,11 +71,23 @@ function serializeTransactionLegacy(transaction, signature) {
|
|
71
71
|
data ?? '0x',
|
72
72
|
];
|
73
73
|
if (signature) {
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
74
|
+
const v = (() => {
|
75
|
+
// EIP-155 (explicit chainId)
|
76
|
+
if (chainId > 0)
|
77
|
+
return BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);
|
78
|
+
// EIP-155 (inferred chainId)
|
79
|
+
if (signature.v >= 35n) {
|
80
|
+
const inferredChainId = (signature.v - 35n) / 2n;
|
81
|
+
if (inferredChainId > 0)
|
82
|
+
return signature.v;
|
83
|
+
return 27n + (signature.v === 35n ? 0n : 1n);
|
84
|
+
}
|
85
|
+
// Pre-EIP-155 (no chainId)
|
86
|
+
const v = 27n + (signature.v === 27n ? 0n : 1n);
|
87
|
+
if (signature.v !== v)
|
88
|
+
throw new InvalidLegacyVError({ v: signature.v });
|
89
|
+
return v;
|
90
|
+
})();
|
79
91
|
serializedTransaction = [
|
80
92
|
...serializedTransaction,
|
81
93
|
toHex(v),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -203,10 +203,23 @@ function serializeTransactionLegacy(
|
|
203
203
|
]
|
204
204
|
|
205
205
|
if (signature) {
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
206
|
+
const v = (() => {
|
207
|
+
// EIP-155 (explicit chainId)
|
208
|
+
if (chainId > 0)
|
209
|
+
return BigInt(chainId * 2) + BigInt(35n + signature.v - 27n)
|
210
|
+
|
211
|
+
// EIP-155 (inferred chainId)
|
212
|
+
if (signature.v >= 35n) {
|
213
|
+
const inferredChainId = (signature.v - 35n) / 2n
|
214
|
+
if (inferredChainId > 0) return signature.v
|
215
|
+
return 27n + (signature.v === 35n ? 0n : 1n)
|
216
|
+
}
|
217
|
+
|
218
|
+
// Pre-EIP-155 (no chainId)
|
219
|
+
const v = 27n + (signature.v === 27n ? 0n : 1n)
|
220
|
+
if (signature.v !== v) throw new InvalidLegacyVError({ v: signature.v })
|
221
|
+
return v
|
222
|
+
})()
|
210
223
|
|
211
224
|
serializedTransaction = [
|
212
225
|
...serializedTransaction,
|