viem 2.7.9 → 2.7.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.
Files changed (154) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/_cjs/accounts/toAccount.js +2 -2
  3. package/_cjs/accounts/toAccount.js.map +1 -1
  4. package/_cjs/actions/public/call.js +1 -1
  5. package/_cjs/actions/public/call.js.map +1 -1
  6. package/_cjs/chains/definitions/base.js +6 -0
  7. package/_cjs/chains/definitions/base.js.map +1 -1
  8. package/_cjs/chains/definitions/baseGoerli.js +5 -0
  9. package/_cjs/chains/definitions/baseGoerli.js.map +1 -1
  10. package/_cjs/chains/definitions/baseSepolia.js +6 -0
  11. package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
  12. package/_cjs/chains/definitions/optimism.js +5 -0
  13. package/_cjs/chains/definitions/optimism.js.map +1 -1
  14. package/_cjs/chains/definitions/optimismGoerli.js +5 -0
  15. package/_cjs/chains/definitions/optimismGoerli.js.map +1 -1
  16. package/_cjs/chains/definitions/optimismSepolia.js +5 -0
  17. package/_cjs/chains/definitions/optimismSepolia.js.map +1 -1
  18. package/_cjs/chains/definitions/pgn.js +5 -0
  19. package/_cjs/chains/definitions/pgn.js.map +1 -1
  20. package/_cjs/chains/definitions/pgnTestnet.js +10 -0
  21. package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
  22. package/_cjs/chains/definitions/xdc.js +6 -0
  23. package/_cjs/chains/definitions/xdc.js.map +1 -1
  24. package/_cjs/chains/definitions/xdcTestnet.js +6 -0
  25. package/_cjs/chains/definitions/xdcTestnet.js.map +1 -1
  26. package/_cjs/chains/definitions/zora.js +5 -0
  27. package/_cjs/chains/definitions/zora.js.map +1 -1
  28. package/_cjs/chains/definitions/zoraSepolia.js +5 -0
  29. package/_cjs/chains/definitions/zoraSepolia.js.map +1 -1
  30. package/_cjs/chains/opStack/abis.js +458 -1
  31. package/_cjs/chains/opStack/abis.js.map +1 -1
  32. package/_cjs/errors/address.js +6 -1
  33. package/_cjs/errors/address.js.map +1 -1
  34. package/_cjs/errors/version.js +1 -1
  35. package/_cjs/errors/version.js.map +1 -1
  36. package/_cjs/utils/abi/getAbiItem.js +3 -3
  37. package/_cjs/utils/abi/getAbiItem.js.map +1 -1
  38. package/_cjs/utils/address/isAddress.js +17 -2
  39. package/_cjs/utils/address/isAddress.js.map +1 -1
  40. package/_cjs/utils/address/isAddressEqual.js +2 -2
  41. package/_cjs/utils/address/isAddressEqual.js.map +1 -1
  42. package/_cjs/utils/lru.js +23 -0
  43. package/_cjs/utils/lru.js.map +1 -0
  44. package/_cjs/utils/transaction/parseTransaction.js +1 -1
  45. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  46. package/_cjs/utils/transaction/serializeAccessList.js +1 -1
  47. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  48. package/_esm/accounts/toAccount.js +2 -2
  49. package/_esm/accounts/toAccount.js.map +1 -1
  50. package/_esm/actions/public/call.js +1 -1
  51. package/_esm/actions/public/call.js.map +1 -1
  52. package/_esm/chains/definitions/base.js +6 -0
  53. package/_esm/chains/definitions/base.js.map +1 -1
  54. package/_esm/chains/definitions/baseGoerli.js +5 -0
  55. package/_esm/chains/definitions/baseGoerli.js.map +1 -1
  56. package/_esm/chains/definitions/baseSepolia.js +6 -0
  57. package/_esm/chains/definitions/baseSepolia.js.map +1 -1
  58. package/_esm/chains/definitions/optimism.js +5 -0
  59. package/_esm/chains/definitions/optimism.js.map +1 -1
  60. package/_esm/chains/definitions/optimismGoerli.js +5 -0
  61. package/_esm/chains/definitions/optimismGoerli.js.map +1 -1
  62. package/_esm/chains/definitions/optimismSepolia.js +5 -0
  63. package/_esm/chains/definitions/optimismSepolia.js.map +1 -1
  64. package/_esm/chains/definitions/pgn.js +5 -0
  65. package/_esm/chains/definitions/pgn.js.map +1 -1
  66. package/_esm/chains/definitions/pgnTestnet.js +10 -0
  67. package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
  68. package/_esm/chains/definitions/xdc.js +6 -0
  69. package/_esm/chains/definitions/xdc.js.map +1 -1
  70. package/_esm/chains/definitions/xdcTestnet.js +6 -0
  71. package/_esm/chains/definitions/xdcTestnet.js.map +1 -1
  72. package/_esm/chains/definitions/zora.js +5 -0
  73. package/_esm/chains/definitions/zora.js.map +1 -1
  74. package/_esm/chains/definitions/zoraSepolia.js +5 -0
  75. package/_esm/chains/definitions/zoraSepolia.js.map +1 -1
  76. package/_esm/chains/opStack/abis.js +457 -0
  77. package/_esm/chains/opStack/abis.js.map +1 -1
  78. package/_esm/errors/address.js +6 -1
  79. package/_esm/errors/address.js.map +1 -1
  80. package/_esm/errors/version.js +1 -1
  81. package/_esm/errors/version.js.map +1 -1
  82. package/_esm/utils/abi/getAbiItem.js +3 -3
  83. package/_esm/utils/abi/getAbiItem.js.map +1 -1
  84. package/_esm/utils/address/isAddress.js +17 -2
  85. package/_esm/utils/address/isAddress.js.map +1 -1
  86. package/_esm/utils/address/isAddressEqual.js +2 -2
  87. package/_esm/utils/address/isAddressEqual.js.map +1 -1
  88. package/_esm/utils/lru.js +24 -0
  89. package/_esm/utils/lru.js.map +1 -0
  90. package/_esm/utils/transaction/parseTransaction.js +1 -1
  91. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  92. package/_esm/utils/transaction/serializeAccessList.js +1 -1
  93. package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
  94. package/_types/accounts/toAccount.d.ts.map +1 -1
  95. package/_types/actions/public/call.d.ts.map +1 -1
  96. package/_types/chains/definitions/base.d.ts +6 -0
  97. package/_types/chains/definitions/base.d.ts.map +1 -1
  98. package/_types/chains/definitions/baseGoerli.d.ts +5 -0
  99. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  100. package/_types/chains/definitions/baseSepolia.d.ts +6 -0
  101. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  102. package/_types/chains/definitions/optimism.d.ts +5 -0
  103. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  104. package/_types/chains/definitions/optimismGoerli.d.ts +5 -0
  105. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  106. package/_types/chains/definitions/optimismSepolia.d.ts +5 -0
  107. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  108. package/_types/chains/definitions/pgn.d.ts +5 -0
  109. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  110. package/_types/chains/definitions/pgnTestnet.d.ts +10 -0
  111. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  112. package/_types/chains/definitions/xdc.d.ts +6 -8
  113. package/_types/chains/definitions/xdc.d.ts.map +1 -1
  114. package/_types/chains/definitions/xdcTestnet.d.ts +6 -8
  115. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  116. package/_types/chains/definitions/zora.d.ts +5 -0
  117. package/_types/chains/definitions/zora.d.ts.map +1 -1
  118. package/_types/chains/definitions/zoraSepolia.d.ts +5 -0
  119. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  120. package/_types/chains/opStack/abis.d.ts +626 -0
  121. package/_types/chains/opStack/abis.d.ts.map +1 -1
  122. package/_types/errors/address.d.ts.map +1 -1
  123. package/_types/errors/version.d.ts +1 -1
  124. package/_types/errors/version.d.ts.map +1 -1
  125. package/_types/utils/address/isAddress.d.ts +9 -1
  126. package/_types/utils/address/isAddress.d.ts.map +1 -1
  127. package/_types/utils/address/isAddressEqual.d.ts.map +1 -1
  128. package/_types/utils/lru.d.ts +11 -0
  129. package/_types/utils/lru.d.ts.map +1 -0
  130. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  131. package/accounts/toAccount.ts +3 -2
  132. package/actions/public/call.ts +2 -1
  133. package/chains/definitions/base.ts +6 -0
  134. package/chains/definitions/baseGoerli.ts +5 -0
  135. package/chains/definitions/baseSepolia.ts +6 -0
  136. package/chains/definitions/optimism.ts +5 -0
  137. package/chains/definitions/optimismGoerli.ts +5 -0
  138. package/chains/definitions/optimismSepolia.ts +5 -0
  139. package/chains/definitions/pgn.ts +5 -0
  140. package/chains/definitions/pgnTestnet.ts +10 -0
  141. package/chains/definitions/xdc.ts +6 -0
  142. package/chains/definitions/xdcTestnet.ts +6 -0
  143. package/chains/definitions/zora.ts +5 -0
  144. package/chains/definitions/zoraSepolia.ts +5 -0
  145. package/chains/opStack/abis.ts +458 -0
  146. package/errors/address.ts +6 -1
  147. package/errors/version.ts +1 -1
  148. package/package.json +1 -1
  149. package/utils/abi/getAbiItem.ts +3 -3
  150. package/utils/address/isAddress.ts +27 -2
  151. package/utils/address/isAddressEqual.ts +4 -2
  152. package/utils/lru.ts +20 -0
  153. package/utils/transaction/parseTransaction.ts +2 -1
  154. package/utils/transaction/serializeAccessList.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru.d.ts","sourceRoot":"","sources":["../../utils/lru.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,MAAM,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAA;gBAEH,IAAI,EAAE,MAAM;IAKf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAMvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/parseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,KAAK,uBAAuB,EAE5B,KAAK,qCAAqC,EAC3C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,UAAU,EAGV,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EAGrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EAItC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAE3C,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,0BAA0B,CACpC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EACjE,KAAK,SAAS,eAAe,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAEvE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,QAAQ,GAAG,6BAA6B,GAAG,KAAK,CAAC,CAAA;AAEpE,MAAM,MAAM,yBAAyB,GACjC,qCAAqC,GACrC,gCAAgC,GAChC,gCAAgC,GAChC,+BAA+B,CAAA;AAEnC,wBAAgB,gBAAgB,CAAC,WAAW,SAAS,qBAAqB,EACxE,qBAAqB,EAAE,WAAW,GACjC,0BAA0B,CAAC,WAAW,CAAC,CAgBzC;AAED,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AAwEb,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AA0Db,KAAK,+BAA+B,GAChC,gCAAgC,GAChC,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,SAAS,CAAA;AAsEb,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEtE,wBAAgB,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,6DAE/D;AAED,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,kBAAkB,GAClB,SAAS,CAAA;AAEb,wBAAgB,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAa5E;AAED,KAAK,6BAA6B,GAC9B,oBAAoB,GACpB,eAAe,GACf,SAAS,CAAA"}
1
+ {"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/parseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,KAAK,uBAAuB,EAE5B,KAAK,qCAAqC,EAC3C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,UAAU,EAGV,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EAGrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EAItC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAE3C,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,0BAA0B,CACpC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EACjE,KAAK,SAAS,eAAe,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAEvE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,QAAQ,GAAG,6BAA6B,GAAG,KAAK,CAAC,CAAA;AAEpE,MAAM,MAAM,yBAAyB,GACjC,qCAAqC,GACrC,gCAAgC,GAChC,gCAAgC,GAChC,+BAA+B,CAAA;AAEnC,wBAAgB,gBAAgB,CAAC,WAAW,SAAS,qBAAqB,EACxE,qBAAqB,EAAE,WAAW,GACjC,0BAA0B,CAAC,WAAW,CAAC,CAgBzC;AAED,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AAwEb,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AA0Db,KAAK,+BAA+B,GAChC,gCAAgC,GAChC,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,SAAS,CAAA;AAsEb,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEtE,wBAAgB,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,6DAE/D;AAED,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,kBAAkB,GAClB,SAAS,CAAA;AAEb,wBAAgB,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAc5E;AAED,KAAK,6BAA6B,GAC9B,oBAAoB,GACpB,eAAe,GACf,SAAS,CAAA"}
@@ -35,14 +35,15 @@ export function toAccount<TAccountSource extends AccountSource>(
35
35
  source: TAccountSource,
36
36
  ): GetAccountReturnType<TAccountSource> {
37
37
  if (typeof source === 'string') {
38
- if (!isAddress(source)) throw new InvalidAddressError({ address: source })
38
+ if (!isAddress(source, { strict: false }))
39
+ throw new InvalidAddressError({ address: source })
39
40
  return {
40
41
  address: source,
41
42
  type: 'json-rpc',
42
43
  } as GetAccountReturnType<TAccountSource>
43
44
  }
44
45
 
45
- if (!isAddress(source.address))
46
+ if (!isAddress(source.address, { strict: false }))
46
47
  throw new InvalidAddressError({ address: source.address })
47
48
  return {
48
49
  address: source.address,
@@ -423,7 +423,8 @@ export function parseStateOverride(
423
423
  if (!args) return undefined
424
424
  const rpcStateOverride: RpcStateOverride = {}
425
425
  for (const { address, ...accountState } of args) {
426
- if (!isAddress(address)) throw new InvalidAddressError({ address })
426
+ if (!isAddress(address, { strict: false }))
427
+ throw new InvalidAddressError({ address })
427
428
  if (rpcStateOverride[address])
428
429
  throw new AccountStateConflictError({ address: address })
429
430
  rpcStateOverride[address] = parseAccountStateOverride(accountState)
@@ -37,6 +37,12 @@ export const base = /*#__PURE__*/ defineChain({
37
37
  blockCreated: 17482143,
38
38
  },
39
39
  },
40
+ l1StandardBridge: {
41
+ [sourceId]: {
42
+ address: '0x3154Cf16ccdb4C6d922629664174b904d80F2C35',
43
+ blockCreated: 17482143,
44
+ },
45
+ },
40
46
  },
41
47
  sourceId,
42
48
  })
@@ -34,6 +34,11 @@ export const baseGoerli = /*#__PURE__*/ defineChain({
34
34
  address: '0xe93c8cD0D409341205A592f8c4Ac1A5fe5585cfA',
35
35
  },
36
36
  },
37
+ l1StandardBridge: {
38
+ [sourceId]: {
39
+ address: '0xfA6D8Ee5BE770F84FC001D098C4bD604Fe01284a',
40
+ },
41
+ },
37
42
  },
38
43
  testnet: true,
39
44
  sourceId,
@@ -34,6 +34,12 @@ export const baseSepolia = /*#__PURE__*/ defineChain({
34
34
  blockCreated: 4446677,
35
35
  },
36
36
  },
37
+ l1StandardBridge: {
38
+ [sourceId]: {
39
+ address: '0xfd0Bf71F60660E2f608ed56e1659C450eB113120',
40
+ blockCreated: 4446677,
41
+ },
42
+ },
37
43
  multicall3: {
38
44
  address: '0xca11bde05977b3631167028862be2a173976ca11',
39
45
  blockCreated: 1059647,
@@ -36,6 +36,11 @@ export const optimism = /*#__PURE__*/ defineChain({
36
36
  address: '0xbEb5Fc579115071764c7423A4f12eDde41f106Ed',
37
37
  },
38
38
  },
39
+ l1StandardBridge: {
40
+ [sourceId]: {
41
+ address: '0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1',
42
+ },
43
+ },
39
44
  },
40
45
  sourceId,
41
46
  })
@@ -36,6 +36,11 @@ export const optimismGoerli = /*#__PURE__*/ defineChain({
36
36
  address: '0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383',
37
37
  },
38
38
  },
39
+ l1StandardBridge: {
40
+ [sourceId]: {
41
+ address: '0x636Af16bf2f682dD3109e60102b8E1A089FedAa8',
42
+ },
43
+ },
39
44
  },
40
45
  testnet: true,
41
46
  sourceId,
@@ -36,6 +36,11 @@ export const optimismSepolia = /*#__PURE__*/ defineChain({
36
36
  address: '0x16Fc5058F25648194471939df75CF27A2fdC48BC',
37
37
  },
38
38
  },
39
+ l1StandardBridge: {
40
+ [sourceId]: {
41
+ address: '0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1',
42
+ },
43
+ },
39
44
  },
40
45
  testnet: true,
41
46
  sourceId,
@@ -40,6 +40,11 @@ export const pgn = /*#__PURE__*/ defineChain({
40
40
  address: '0xb26Fd985c5959bBB382BAFdD0b879E149e48116c',
41
41
  },
42
42
  },
43
+ l1StandardBridge: {
44
+ [sourceId]: {
45
+ address: '0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b',
46
+ },
47
+ },
43
48
  },
44
49
  formatters,
45
50
  sourceId,
@@ -31,6 +31,16 @@ export const pgnTestnet = /*#__PURE__*/ defineChain({
31
31
  address: '0xD5bAc3152ffC25318F848B3DD5dA6C85171BaEEe',
32
32
  },
33
33
  },
34
+ portal: {
35
+ [sourceId]: {
36
+ address: '0xF04BdD5353Bb0EFF6CA60CfcC78594278eBfE179',
37
+ },
38
+ },
39
+ l1StandardBridge: {
40
+ [sourceId]: {
41
+ address: '0xFaE6abCAF30D23e233AC7faF747F2fC3a5a6Bfa3',
42
+ },
43
+ },
34
44
  multicall3: {
35
45
  address: '0xcA11bde05977b3631167028862bE2a173976CA11',
36
46
  blockCreated: 3754925,
@@ -21,4 +21,10 @@ export const xdc = /*#__PURE__*/ defineChain({
21
21
  url: 'https://xdc.blocksscan.io',
22
22
  },
23
23
  },
24
+ contracts: {
25
+ multicall3: {
26
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
27
+ blockCreated: 71542788,
28
+ },
29
+ },
24
30
  })
@@ -17,4 +17,10 @@ export const xdcTestnet = /*#__PURE__*/ defineChain({
17
17
  url: 'https://apothem.blocksscan.io',
18
18
  },
19
19
  },
20
+ contracts: {
21
+ multicall3: {
22
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
23
+ blockCreated: 59765389,
24
+ },
25
+ },
20
26
  })
@@ -41,6 +41,11 @@ export const zora = /*#__PURE__*/ defineChain({
41
41
  address: '0x1a0ad011913A150f69f6A19DF447A0CfD9551054',
42
42
  },
43
43
  },
44
+ l1StandardBridge: {
45
+ [sourceId]: {
46
+ address: '0x3e2Ea9B92B7E48A52296fD261dc26fd995284631',
47
+ },
48
+ },
44
49
  },
45
50
  sourceId,
46
51
  })
@@ -42,6 +42,11 @@ export const zoraSepolia = /*#__PURE__*/ defineChain({
42
42
  address: '0xeffE2C6cA9Ab797D418f0D91eA60807713f3536f',
43
43
  },
44
44
  },
45
+ l1StandardBridge: {
46
+ [sourceId]: {
47
+ address: '0x5376f1D543dcbB5BD416c56C189e4cB7399fCcCB',
48
+ },
49
+ },
45
50
  },
46
51
  sourceId,
47
52
  testnet: true,
@@ -335,6 +335,464 @@ export const l2OutputOracleAbi = [
335
335
  },
336
336
  ] as const
337
337
 
338
+ export const l1StandardBridgeAbi = [
339
+ { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
340
+ {
341
+ type: 'event',
342
+ anonymous: false,
343
+ inputs: [
344
+ {
345
+ name: 'localToken',
346
+ internalType: 'address',
347
+ type: 'address',
348
+ indexed: true,
349
+ },
350
+ {
351
+ name: 'remoteToken',
352
+ internalType: 'address',
353
+ type: 'address',
354
+ indexed: true,
355
+ },
356
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
357
+ { name: 'to', internalType: 'address', type: 'address', indexed: false },
358
+ {
359
+ name: 'amount',
360
+ internalType: 'uint256',
361
+ type: 'uint256',
362
+ indexed: false,
363
+ },
364
+ {
365
+ name: 'extraData',
366
+ internalType: 'bytes',
367
+ type: 'bytes',
368
+ indexed: false,
369
+ },
370
+ ],
371
+ name: 'ERC20BridgeFinalized',
372
+ },
373
+ {
374
+ type: 'event',
375
+ anonymous: false,
376
+ inputs: [
377
+ {
378
+ name: 'localToken',
379
+ internalType: 'address',
380
+ type: 'address',
381
+ indexed: true,
382
+ },
383
+ {
384
+ name: 'remoteToken',
385
+ internalType: 'address',
386
+ type: 'address',
387
+ indexed: true,
388
+ },
389
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
390
+ { name: 'to', internalType: 'address', type: 'address', indexed: false },
391
+ {
392
+ name: 'amount',
393
+ internalType: 'uint256',
394
+ type: 'uint256',
395
+ indexed: false,
396
+ },
397
+ {
398
+ name: 'extraData',
399
+ internalType: 'bytes',
400
+ type: 'bytes',
401
+ indexed: false,
402
+ },
403
+ ],
404
+ name: 'ERC20BridgeInitiated',
405
+ },
406
+ {
407
+ type: 'event',
408
+ anonymous: false,
409
+ inputs: [
410
+ {
411
+ name: 'l1Token',
412
+ internalType: 'address',
413
+ type: 'address',
414
+ indexed: true,
415
+ },
416
+ {
417
+ name: 'l2Token',
418
+ internalType: 'address',
419
+ type: 'address',
420
+ indexed: true,
421
+ },
422
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
423
+ { name: 'to', internalType: 'address', type: 'address', indexed: false },
424
+ {
425
+ name: 'amount',
426
+ internalType: 'uint256',
427
+ type: 'uint256',
428
+ indexed: false,
429
+ },
430
+ {
431
+ name: 'extraData',
432
+ internalType: 'bytes',
433
+ type: 'bytes',
434
+ indexed: false,
435
+ },
436
+ ],
437
+ name: 'ERC20DepositInitiated',
438
+ },
439
+ {
440
+ type: 'event',
441
+ anonymous: false,
442
+ inputs: [
443
+ {
444
+ name: 'l1Token',
445
+ internalType: 'address',
446
+ type: 'address',
447
+ indexed: true,
448
+ },
449
+ {
450
+ name: 'l2Token',
451
+ internalType: 'address',
452
+ type: 'address',
453
+ indexed: true,
454
+ },
455
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
456
+ { name: 'to', internalType: 'address', type: 'address', indexed: false },
457
+ {
458
+ name: 'amount',
459
+ internalType: 'uint256',
460
+ type: 'uint256',
461
+ indexed: false,
462
+ },
463
+ {
464
+ name: 'extraData',
465
+ internalType: 'bytes',
466
+ type: 'bytes',
467
+ indexed: false,
468
+ },
469
+ ],
470
+ name: 'ERC20WithdrawalFinalized',
471
+ },
472
+ {
473
+ type: 'event',
474
+ anonymous: false,
475
+ inputs: [
476
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
477
+ { name: 'to', internalType: 'address', type: 'address', indexed: true },
478
+ {
479
+ name: 'amount',
480
+ internalType: 'uint256',
481
+ type: 'uint256',
482
+ indexed: false,
483
+ },
484
+ {
485
+ name: 'extraData',
486
+ internalType: 'bytes',
487
+ type: 'bytes',
488
+ indexed: false,
489
+ },
490
+ ],
491
+ name: 'ETHBridgeFinalized',
492
+ },
493
+ {
494
+ type: 'event',
495
+ anonymous: false,
496
+ inputs: [
497
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
498
+ { name: 'to', internalType: 'address', type: 'address', indexed: true },
499
+ {
500
+ name: 'amount',
501
+ internalType: 'uint256',
502
+ type: 'uint256',
503
+ indexed: false,
504
+ },
505
+ {
506
+ name: 'extraData',
507
+ internalType: 'bytes',
508
+ type: 'bytes',
509
+ indexed: false,
510
+ },
511
+ ],
512
+ name: 'ETHBridgeInitiated',
513
+ },
514
+ {
515
+ type: 'event',
516
+ anonymous: false,
517
+ inputs: [
518
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
519
+ { name: 'to', internalType: 'address', type: 'address', indexed: true },
520
+ {
521
+ name: 'amount',
522
+ internalType: 'uint256',
523
+ type: 'uint256',
524
+ indexed: false,
525
+ },
526
+ {
527
+ name: 'extraData',
528
+ internalType: 'bytes',
529
+ type: 'bytes',
530
+ indexed: false,
531
+ },
532
+ ],
533
+ name: 'ETHDepositInitiated',
534
+ },
535
+ {
536
+ type: 'event',
537
+ anonymous: false,
538
+ inputs: [
539
+ { name: 'from', internalType: 'address', type: 'address', indexed: true },
540
+ { name: 'to', internalType: 'address', type: 'address', indexed: true },
541
+ {
542
+ name: 'amount',
543
+ internalType: 'uint256',
544
+ type: 'uint256',
545
+ indexed: false,
546
+ },
547
+ {
548
+ name: 'extraData',
549
+ internalType: 'bytes',
550
+ type: 'bytes',
551
+ indexed: false,
552
+ },
553
+ ],
554
+ name: 'ETHWithdrawalFinalized',
555
+ },
556
+ {
557
+ type: 'event',
558
+ anonymous: false,
559
+ inputs: [
560
+ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
561
+ ],
562
+ name: 'Initialized',
563
+ },
564
+ {
565
+ stateMutability: 'view',
566
+ type: 'function',
567
+ inputs: [],
568
+ name: 'MESSENGER',
569
+ outputs: [
570
+ {
571
+ name: '',
572
+ internalType: 'contract CrossDomainMessenger',
573
+ type: 'address',
574
+ },
575
+ ],
576
+ },
577
+ {
578
+ stateMutability: 'view',
579
+ type: 'function',
580
+ inputs: [],
581
+ name: 'OTHER_BRIDGE',
582
+ outputs: [
583
+ { name: '', internalType: 'contract StandardBridge', type: 'address' },
584
+ ],
585
+ },
586
+ {
587
+ stateMutability: 'nonpayable',
588
+ type: 'function',
589
+ inputs: [
590
+ { name: '_localToken', internalType: 'address', type: 'address' },
591
+ { name: '_remoteToken', internalType: 'address', type: 'address' },
592
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
593
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
594
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
595
+ ],
596
+ name: 'bridgeERC20',
597
+ outputs: [],
598
+ },
599
+ {
600
+ stateMutability: 'nonpayable',
601
+ type: 'function',
602
+ inputs: [
603
+ { name: '_localToken', internalType: 'address', type: 'address' },
604
+ { name: '_remoteToken', internalType: 'address', type: 'address' },
605
+ { name: '_to', internalType: 'address', type: 'address' },
606
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
607
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
608
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
609
+ ],
610
+ name: 'bridgeERC20To',
611
+ outputs: [],
612
+ },
613
+ {
614
+ stateMutability: 'payable',
615
+ type: 'function',
616
+ inputs: [
617
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
618
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
619
+ ],
620
+ name: 'bridgeETH',
621
+ outputs: [],
622
+ },
623
+ {
624
+ stateMutability: 'payable',
625
+ type: 'function',
626
+ inputs: [
627
+ { name: '_to', internalType: 'address', type: 'address' },
628
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
629
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
630
+ ],
631
+ name: 'bridgeETHTo',
632
+ outputs: [],
633
+ },
634
+ {
635
+ stateMutability: 'nonpayable',
636
+ type: 'function',
637
+ inputs: [
638
+ { name: '_l1Token', internalType: 'address', type: 'address' },
639
+ { name: '_l2Token', internalType: 'address', type: 'address' },
640
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
641
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
642
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
643
+ ],
644
+ name: 'depositERC20',
645
+ outputs: [],
646
+ },
647
+ {
648
+ stateMutability: 'nonpayable',
649
+ type: 'function',
650
+ inputs: [
651
+ { name: '_l1Token', internalType: 'address', type: 'address' },
652
+ { name: '_l2Token', internalType: 'address', type: 'address' },
653
+ { name: '_to', internalType: 'address', type: 'address' },
654
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
655
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
656
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
657
+ ],
658
+ name: 'depositERC20To',
659
+ outputs: [],
660
+ },
661
+ {
662
+ stateMutability: 'payable',
663
+ type: 'function',
664
+ inputs: [
665
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
666
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
667
+ ],
668
+ name: 'depositETH',
669
+ outputs: [],
670
+ },
671
+ {
672
+ stateMutability: 'payable',
673
+ type: 'function',
674
+ inputs: [
675
+ { name: '_to', internalType: 'address', type: 'address' },
676
+ { name: '_minGasLimit', internalType: 'uint32', type: 'uint32' },
677
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
678
+ ],
679
+ name: 'depositETHTo',
680
+ outputs: [],
681
+ },
682
+ {
683
+ stateMutability: 'view',
684
+ type: 'function',
685
+ inputs: [
686
+ { name: '', internalType: 'address', type: 'address' },
687
+ { name: '', internalType: 'address', type: 'address' },
688
+ ],
689
+ name: 'deposits',
690
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
691
+ },
692
+ {
693
+ stateMutability: 'nonpayable',
694
+ type: 'function',
695
+ inputs: [
696
+ { name: '_localToken', internalType: 'address', type: 'address' },
697
+ { name: '_remoteToken', internalType: 'address', type: 'address' },
698
+ { name: '_from', internalType: 'address', type: 'address' },
699
+ { name: '_to', internalType: 'address', type: 'address' },
700
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
701
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
702
+ ],
703
+ name: 'finalizeBridgeERC20',
704
+ outputs: [],
705
+ },
706
+ {
707
+ stateMutability: 'payable',
708
+ type: 'function',
709
+ inputs: [
710
+ { name: '_from', internalType: 'address', type: 'address' },
711
+ { name: '_to', internalType: 'address', type: 'address' },
712
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
713
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
714
+ ],
715
+ name: 'finalizeBridgeETH',
716
+ outputs: [],
717
+ },
718
+ {
719
+ stateMutability: 'nonpayable',
720
+ type: 'function',
721
+ inputs: [
722
+ { name: '_l1Token', internalType: 'address', type: 'address' },
723
+ { name: '_l2Token', internalType: 'address', type: 'address' },
724
+ { name: '_from', internalType: 'address', type: 'address' },
725
+ { name: '_to', internalType: 'address', type: 'address' },
726
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
727
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
728
+ ],
729
+ name: 'finalizeERC20Withdrawal',
730
+ outputs: [],
731
+ },
732
+ {
733
+ stateMutability: 'payable',
734
+ type: 'function',
735
+ inputs: [
736
+ { name: '_from', internalType: 'address', type: 'address' },
737
+ { name: '_to', internalType: 'address', type: 'address' },
738
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
739
+ { name: '_extraData', internalType: 'bytes', type: 'bytes' },
740
+ ],
741
+ name: 'finalizeETHWithdrawal',
742
+ outputs: [],
743
+ },
744
+ {
745
+ stateMutability: 'nonpayable',
746
+ type: 'function',
747
+ inputs: [
748
+ {
749
+ name: '_messenger',
750
+ internalType: 'contract CrossDomainMessenger',
751
+ type: 'address',
752
+ },
753
+ ],
754
+ name: 'initialize',
755
+ outputs: [],
756
+ },
757
+ {
758
+ stateMutability: 'view',
759
+ type: 'function',
760
+ inputs: [],
761
+ name: 'l2TokenBridge',
762
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
763
+ },
764
+ {
765
+ stateMutability: 'view',
766
+ type: 'function',
767
+ inputs: [],
768
+ name: 'messenger',
769
+ outputs: [
770
+ {
771
+ name: '',
772
+ internalType: 'contract CrossDomainMessenger',
773
+ type: 'address',
774
+ },
775
+ ],
776
+ },
777
+ {
778
+ stateMutability: 'view',
779
+ type: 'function',
780
+ inputs: [],
781
+ name: 'otherBridge',
782
+ outputs: [
783
+ { name: '', internalType: 'contract StandardBridge', type: 'address' },
784
+ ],
785
+ },
786
+ {
787
+ stateMutability: 'view',
788
+ type: 'function',
789
+ inputs: [],
790
+ name: 'version',
791
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
792
+ },
793
+ { stateMutability: 'payable', type: 'receive' },
794
+ ] as const
795
+
338
796
  export const l2ToL1MessagePasserAbi = [
339
797
  { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
340
798
  {
package/errors/address.ts CHANGED
@@ -6,6 +6,11 @@ export type InvalidAddressErrorType = InvalidAddressError & {
6
6
  export class InvalidAddressError extends BaseError {
7
7
  override name = 'InvalidAddressError'
8
8
  constructor({ address }: { address: string }) {
9
- super(`Address "${address}" is invalid.`)
9
+ super(`Address "${address}" is invalid.`, {
10
+ metaMessages: [
11
+ '- Address must be a hex value of 20 bytes (40 hex characters).',
12
+ '- Address must match its checksum counterpart.',
13
+ ],
14
+ })
10
15
  }
11
16
  }
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.7.9'
1
+ export const version = '2.7.10'