viem 2.46.1 → 2.46.3

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.
Files changed (135) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_cjs/actions/index.js +5 -3
  3. package/_cjs/actions/index.js.map +1 -1
  4. package/_cjs/actions/public/getDelegation.js +21 -0
  5. package/_cjs/actions/public/getDelegation.js.map +1 -0
  6. package/_cjs/actions/wallet/sendRawTransactionSync.js +1 -2
  7. package/_cjs/actions/wallet/sendRawTransactionSync.js.map +1 -1
  8. package/_cjs/chains/definitions/krown.js +26 -0
  9. package/_cjs/chains/definitions/krown.js.map +1 -0
  10. package/_cjs/chains/definitions/polygon.js +1 -1
  11. package/_cjs/chains/definitions/polygon.js.map +1 -1
  12. package/_cjs/chains/definitions/saigon.js +3 -3
  13. package/_cjs/chains/definitions/saigon.js.map +1 -1
  14. package/_cjs/chains/definitions/sei.js +3 -3
  15. package/_cjs/chains/definitions/sei.js.map +1 -1
  16. package/_cjs/chains/definitions/seiTestnet.js +3 -2
  17. package/_cjs/chains/definitions/seiTestnet.js.map +1 -1
  18. package/_cjs/chains/index.js +7 -7
  19. package/_cjs/chains/index.js.map +1 -1
  20. package/_cjs/clients/decorators/public.js +2 -0
  21. package/_cjs/clients/decorators/public.js.map +1 -1
  22. package/_cjs/errors/version.js +1 -1
  23. package/_cjs/index.js.map +1 -1
  24. package/_cjs/tempo/Account.js +7 -6
  25. package/_cjs/tempo/Account.js.map +1 -1
  26. package/_cjs/tempo/Addresses.js +2 -1
  27. package/_cjs/tempo/Addresses.js.map +1 -1
  28. package/_cjs/tempo/Decorator.js +11 -0
  29. package/_cjs/tempo/Decorator.js.map +1 -1
  30. package/_cjs/tempo/Transaction.js +9 -14
  31. package/_cjs/tempo/Transaction.js.map +1 -1
  32. package/_cjs/tempo/actions/accessKey.js +238 -0
  33. package/_cjs/tempo/actions/accessKey.js.map +1 -0
  34. package/_cjs/tempo/actions/index.js +2 -1
  35. package/_cjs/tempo/actions/index.js.map +1 -1
  36. package/_cjs/utils/abi/parseEventLogs.js +8 -6
  37. package/_cjs/utils/abi/parseEventLogs.js.map +1 -1
  38. package/_esm/actions/index.js +1 -0
  39. package/_esm/actions/index.js.map +1 -1
  40. package/_esm/actions/public/getDelegation.js +43 -0
  41. package/_esm/actions/public/getDelegation.js.map +1 -0
  42. package/_esm/actions/wallet/sendRawTransactionSync.js +1 -2
  43. package/_esm/actions/wallet/sendRawTransactionSync.js.map +1 -1
  44. package/_esm/chains/definitions/krown.js +23 -0
  45. package/_esm/chains/definitions/krown.js.map +1 -0
  46. package/_esm/chains/definitions/polygon.js +1 -1
  47. package/_esm/chains/definitions/polygon.js.map +1 -1
  48. package/_esm/chains/definitions/saigon.js +3 -3
  49. package/_esm/chains/definitions/saigon.js.map +1 -1
  50. package/_esm/chains/definitions/sei.js +3 -3
  51. package/_esm/chains/definitions/sei.js.map +1 -1
  52. package/_esm/chains/definitions/seiTestnet.js +3 -2
  53. package/_esm/chains/definitions/seiTestnet.js.map +1 -1
  54. package/_esm/chains/index.js +1 -1
  55. package/_esm/chains/index.js.map +1 -1
  56. package/_esm/clients/decorators/public.js +2 -0
  57. package/_esm/clients/decorators/public.js.map +1 -1
  58. package/_esm/errors/version.js +1 -1
  59. package/_esm/index.js.map +1 -1
  60. package/_esm/tempo/Account.js +7 -7
  61. package/_esm/tempo/Account.js.map +1 -1
  62. package/_esm/tempo/Addresses.js +1 -0
  63. package/_esm/tempo/Addresses.js.map +1 -1
  64. package/_esm/tempo/Decorator.js +11 -0
  65. package/_esm/tempo/Decorator.js.map +1 -1
  66. package/_esm/tempo/Transaction.js +9 -17
  67. package/_esm/tempo/Transaction.js.map +1 -1
  68. package/_esm/tempo/actions/accessKey.js +548 -0
  69. package/_esm/tempo/actions/accessKey.js.map +1 -0
  70. package/_esm/tempo/actions/index.js +1 -0
  71. package/_esm/tempo/actions/index.js.map +1 -1
  72. package/_esm/utils/abi/parseEventLogs.js +11 -6
  73. package/_esm/utils/abi/parseEventLogs.js.map +1 -1
  74. package/_types/actions/index.d.ts +1 -0
  75. package/_types/actions/index.d.ts.map +1 -1
  76. package/_types/actions/public/getDelegation.d.ts +46 -0
  77. package/_types/actions/public/getDelegation.d.ts.map +1 -0
  78. package/_types/actions/wallet/sendRawTransactionSync.d.ts +1 -1
  79. package/_types/actions/wallet/sendRawTransactionSync.d.ts.map +1 -1
  80. package/_types/chains/definitions/{seiDevnet.d.ts → krown.d.ts} +10 -10
  81. package/_types/chains/definitions/krown.d.ts.map +1 -0
  82. package/_types/chains/definitions/polygon.d.ts +1 -1
  83. package/_types/chains/definitions/saigon.d.ts +3 -3
  84. package/_types/chains/definitions/sei.d.ts +3 -3
  85. package/_types/chains/definitions/seiTestnet.d.ts +3 -2
  86. package/_types/chains/definitions/seiTestnet.d.ts.map +1 -1
  87. package/_types/chains/index.d.ts +1 -1
  88. package/_types/chains/index.d.ts.map +1 -1
  89. package/_types/clients/decorators/public.d.ts +22 -0
  90. package/_types/clients/decorators/public.d.ts.map +1 -1
  91. package/_types/errors/version.d.ts +1 -1
  92. package/_types/index.d.ts +1 -0
  93. package/_types/index.d.ts.map +1 -1
  94. package/_types/tempo/Account.d.ts +12 -11
  95. package/_types/tempo/Account.d.ts.map +1 -1
  96. package/_types/tempo/Addresses.d.ts +1 -0
  97. package/_types/tempo/Addresses.d.ts.map +1 -1
  98. package/_types/tempo/Decorator.d.ts +340 -122
  99. package/_types/tempo/Decorator.d.ts.map +1 -1
  100. package/_types/tempo/Transaction.d.ts +3 -1
  101. package/_types/tempo/Transaction.d.ts.map +1 -1
  102. package/_types/tempo/actions/accessKey.d.ts +1169 -0
  103. package/_types/tempo/actions/accessKey.d.ts.map +1 -0
  104. package/_types/tempo/actions/index.d.ts +1 -0
  105. package/_types/tempo/actions/index.d.ts.map +1 -1
  106. package/_types/types/eip1193.d.ts +2 -2
  107. package/_types/types/eip1193.d.ts.map +1 -1
  108. package/_types/utils/abi/parseEventLogs.d.ts.map +1 -1
  109. package/actions/index.ts +6 -0
  110. package/actions/public/getDelegation.ts +80 -0
  111. package/actions/wallet/sendRawTransactionSync.ts +2 -5
  112. package/chains/definitions/krown.ts +23 -0
  113. package/chains/definitions/polygon.ts +1 -1
  114. package/chains/definitions/saigon.ts +3 -3
  115. package/chains/definitions/sei.ts +3 -3
  116. package/chains/definitions/seiTestnet.ts +3 -2
  117. package/chains/index.ts +1 -1
  118. package/clients/decorators/public.ts +29 -0
  119. package/errors/version.ts +1 -1
  120. package/index.ts +5 -0
  121. package/package.json +2 -2
  122. package/tempo/Account.ts +25 -25
  123. package/tempo/Addresses.ts +1 -0
  124. package/tempo/Decorator.ts +373 -122
  125. package/tempo/Transaction.ts +14 -19
  126. package/tempo/actions/accessKey.ts +831 -0
  127. package/tempo/actions/index.ts +1 -0
  128. package/types/eip1193.ts +2 -2
  129. package/utils/abi/parseEventLogs.ts +13 -6
  130. package/_cjs/chains/definitions/seiDevnet.js +0 -22
  131. package/_cjs/chains/definitions/seiDevnet.js.map +0 -1
  132. package/_esm/chains/definitions/seiDevnet.js +0 -19
  133. package/_esm/chains/definitions/seiDevnet.js.map +0 -1
  134. package/_types/chains/definitions/seiDevnet.d.ts.map +0 -1
  135. package/chains/definitions/seiDevnet.ts +0 -19
@@ -140,6 +140,7 @@ export type TransactionSerializableTempo<
140
140
  chainId: number
141
141
  feeToken?: Address | bigint | undefined
142
142
  feePayerSignature?: viem_Signature | null | undefined
143
+ from?: Address | undefined
143
144
  keyAuthorization?: KeyAuthorization.Signed<quantity, index> | undefined
144
145
  nonceKey?: quantity | undefined
145
146
  signature?: SignatureEnvelope.SignatureEnvelope<quantity, index> | undefined
@@ -153,6 +154,7 @@ export type TransactionSerialized<
153
154
  > = viem_TransactionSerialized<type> | TransactionSerializedTempo
154
155
 
155
156
  export type TransactionSerializedTempo = `0x76${string}`
157
+ export type TransactionSerializedFeePayer = `0x78${string}`
156
158
 
157
159
  export type TransactionType = viem_TransactionType | 'tempo'
158
160
 
@@ -191,16 +193,8 @@ export function deserialize<
191
193
  const serialized extends TransactionSerializedGeneric,
192
194
  >(serializedTransaction: serialized): deserialize.ReturnValue<serialized> {
193
195
  const type = Hex.slice(serializedTransaction, 0, 1)
194
- if (type === '0x76') {
195
- const from =
196
- Hex.slice(serializedTransaction, -6) === '0xfeefeefeefee'
197
- ? Hex.slice(serializedTransaction, -26, -6)
198
- : undefined
199
- return {
200
- ...deserializeTempo(serializedTransaction as `0x76${string}`),
201
- from,
202
- } as never
203
- }
196
+ if (type === '0x76' || type === '0x78')
197
+ return deserializeTempo(serializedTransaction as `0x76${string}`) as never
204
198
  return viem_parseTransaction(serializedTransaction) as never
205
199
  }
206
200
 
@@ -210,7 +204,9 @@ export declare namespace deserialize {
210
204
  TransactionSerializedGeneric = TransactionSerializedGeneric,
211
205
  > = serialized extends TransactionSerializedTempo
212
206
  ? TransactionSerializableTempo
213
- : ParseTransactionReturnType<serialized>
207
+ : serialized extends TransactionSerializedFeePayer
208
+ ? TransactionSerializableTempo
209
+ : ParseTransactionReturnType<serialized>
214
210
  }
215
211
 
216
212
  export async function serialize(
@@ -359,16 +355,15 @@ async function serializeTempo(
359
355
  }
360
356
 
361
357
  if (feePayer === true) {
362
- const serialized = TxTempo.serialize(transaction_ox, {
358
+ if (signature)
359
+ return TxTempo.serialize(transaction_ox, {
360
+ format: 'feePayer',
361
+ sender: transaction.from,
362
+ signature,
363
+ })
364
+ return TxTempo.serialize(transaction_ox, {
363
365
  feePayerSignature: null,
364
- signature,
365
366
  })
366
- // if the transaction is ready to be sent off (signed), add the sender
367
- // and a fee marker to the serialized transaction, so the fee payer proxy
368
- // can infer the sender address.
369
- if (transaction.from && signature)
370
- return Hex.concat(serialized, transaction.from, '0xfeefeefeefee')
371
- return serialized
372
367
  }
373
368
 
374
369
  return TxTempo.serialize(