@layerzerolabs/verify-contract 1.1.33 → 1.2.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/index.js CHANGED
@@ -7022,9 +7022,9 @@ var require_winston_transport = __commonJS({
7022
7022
  this.logv = options.logv;
7023
7023
  if (options.close)
7024
7024
  this.close = options.close;
7025
- this.once("pipe", (logger11) => {
7026
- this.levels = logger11.levels;
7027
- this.parent = logger11;
7025
+ this.once("pipe", (logger12) => {
7026
+ this.levels = logger12.levels;
7027
+ this.parent = logger12;
7028
7028
  });
7029
7029
  this.once("unpipe", (src) => {
7030
7030
  if (src === this.parent) {
@@ -8002,7 +8002,7 @@ var require_diagnostics = __commonJS({
8002
8002
  "../../node_modules/.pnpm/@dabh+diagnostics@2.0.3/node_modules/@dabh/diagnostics/diagnostics.js"(exports, module) {
8003
8003
  var adapters = [];
8004
8004
  var modifiers = [];
8005
- var logger11 = function devnull() {
8005
+ var logger12 = function devnull() {
8006
8006
  };
8007
8007
  function use(adapter) {
8008
8008
  if (~adapters.indexOf(adapter))
@@ -8011,7 +8011,7 @@ var require_diagnostics = __commonJS({
8011
8011
  return true;
8012
8012
  }
8013
8013
  function set(custom2) {
8014
- logger11 = custom2;
8014
+ logger12 = custom2;
8015
8015
  }
8016
8016
  function enabled(namespace) {
8017
8017
  var async = [];
@@ -8042,7 +8042,7 @@ var require_diagnostics = __commonJS({
8042
8042
  return true;
8043
8043
  }
8044
8044
  function write() {
8045
- logger11.apply(logger11, arguments);
8045
+ logger12.apply(logger12, arguments);
8046
8046
  }
8047
8047
  function process4(message) {
8048
8048
  for (var i = 0; i < modifiers.length; i++) {
@@ -11196,11 +11196,11 @@ var require_exception_handler = __commonJS({
11196
11196
  * TODO: add contructor description
11197
11197
  * @param {!Logger} logger - TODO: add param description
11198
11198
  */
11199
- constructor(logger11) {
11200
- if (!logger11) {
11199
+ constructor(logger12) {
11200
+ if (!logger12) {
11201
11201
  throw new Error("Logger is required to handle exceptions");
11202
11202
  }
11203
- this.logger = logger11;
11203
+ this.logger = logger12;
11204
11204
  this.handlers = /* @__PURE__ */ new Map();
11205
11205
  }
11206
11206
  /**
@@ -11393,11 +11393,11 @@ var require_rejection_handler = __commonJS({
11393
11393
  * TODO: add contructor description
11394
11394
  * @param {!Logger} logger - TODO: add param description
11395
11395
  */
11396
- constructor(logger11) {
11397
- if (!logger11) {
11396
+ constructor(logger12) {
11397
+ if (!logger12) {
11398
11398
  throw new Error("Logger is required to handle rejections");
11399
11399
  }
11400
- this.logger = logger11;
11400
+ this.logger = logger12;
11401
11401
  this.handlers = /* @__PURE__ */ new Map();
11402
11402
  }
11403
11403
  /**
@@ -11593,12 +11593,12 @@ var require_profiler = __commonJS({
11593
11593
  * @param {!Logger} logger - TODO: add param description.
11594
11594
  * @private
11595
11595
  */
11596
- constructor(logger11) {
11596
+ constructor(logger12) {
11597
11597
  const Logger2 = require_logger();
11598
- if (typeof logger11 !== "object" || Array.isArray(logger11) || !(logger11 instanceof Logger2)) {
11598
+ if (typeof logger12 !== "object" || Array.isArray(logger12) || !(logger12 instanceof Logger2)) {
11599
11599
  throw new Error("Logger is required for profiling");
11600
11600
  } else {
11601
- this.logger = logger11;
11601
+ this.logger = logger12;
11602
11602
  this.start = Date.now();
11603
11603
  }
11604
11604
  }
@@ -11648,8 +11648,8 @@ var require_logger = __commonJS({
11648
11648
  this.configure(options);
11649
11649
  }
11650
11650
  child(defaultRequestMetadata) {
11651
- const logger11 = this;
11652
- return Object.create(logger11, {
11651
+ const logger12 = this;
11652
+ return Object.create(logger12, {
11653
11653
  write: {
11654
11654
  value: function(info) {
11655
11655
  const infoClone = Object.assign(
@@ -11661,7 +11661,7 @@ var require_logger = __commonJS({
11661
11661
  infoClone.stack = info.stack;
11662
11662
  infoClone.message = info.message;
11663
11663
  }
11664
- logger11.write(infoClone);
11664
+ logger12.write(infoClone);
11665
11665
  }
11666
11666
  }
11667
11667
  });
@@ -12168,7 +12168,7 @@ var require_create_logger = __commonJS({
12168
12168
  super(options);
12169
12169
  }
12170
12170
  }
12171
- const logger11 = new DerivedLogger(opts);
12171
+ const logger12 = new DerivedLogger(opts);
12172
12172
  Object.keys(opts.levels).forEach(function(level) {
12173
12173
  debug('Define prototype method for "%s"', level);
12174
12174
  if (level === "log") {
@@ -12176,14 +12176,14 @@ var require_create_logger = __commonJS({
12176
12176
  return;
12177
12177
  }
12178
12178
  DerivedLogger.prototype[level] = function(...args) {
12179
- const self2 = this || logger11;
12179
+ const self2 = this || logger12;
12180
12180
  if (args.length === 1) {
12181
12181
  const [msg] = args;
12182
12182
  const info = msg && msg.message && msg || { message: msg };
12183
12183
  info.level = info[LEVEL] = level;
12184
12184
  self2._addDefaultMeta(info);
12185
12185
  self2.write(info);
12186
- return this || logger11;
12186
+ return this || logger12;
12187
12187
  }
12188
12188
  if (args.length === 0) {
12189
12189
  self2.log(level, "");
@@ -12192,10 +12192,10 @@ var require_create_logger = __commonJS({
12192
12192
  return self2.log(level, ...args);
12193
12193
  };
12194
12194
  DerivedLogger.prototype[isLevelEnabledFunctionName(level)] = function() {
12195
- return (this || logger11).isLevelEnabled(level);
12195
+ return (this || logger12).isLevelEnabled(level);
12196
12196
  };
12197
12197
  });
12198
- return logger11;
12198
+ return logger12;
12199
12199
  };
12200
12200
  }
12201
12201
  });
@@ -12203,7 +12203,7 @@ var require_create_logger = __commonJS({
12203
12203
  // ../../node_modules/.pnpm/winston@3.11.0/node_modules/winston/lib/winston/container.js
12204
12204
  var require_container = __commonJS({
12205
12205
  "../../node_modules/.pnpm/winston@3.11.0/node_modules/winston/lib/winston/container.js"(exports, module) {
12206
- var createLogger = require_create_logger();
12206
+ var createLogger2 = require_create_logger();
12207
12207
  module.exports = class Container {
12208
12208
  /**
12209
12209
  * Constructor function for the Container object responsible for managing a
@@ -12230,9 +12230,9 @@ var require_container = __commonJS({
12230
12230
  } else {
12231
12231
  options.transports = [];
12232
12232
  }
12233
- const logger11 = createLogger(options);
12234
- logger11.on("close", () => this._delete(id2));
12235
- this.loggers.set(id2, logger11);
12233
+ const logger12 = createLogger2(options);
12234
+ logger12.on("close", () => this._delete(id2));
12235
+ this.loggers.set(id2, logger12);
12236
12236
  }
12237
12237
  return this.loggers.get(id2);
12238
12238
  }
@@ -12277,8 +12277,8 @@ var require_container = __commonJS({
12277
12277
  if (!this.loggers.has(id2)) {
12278
12278
  return;
12279
12279
  }
12280
- const logger11 = this.loggers.get(id2);
12281
- logger11.close();
12280
+ const logger12 = this.loggers.get(id2);
12281
+ logger12.close();
12282
12282
  this._delete(id2);
12283
12283
  }
12284
12284
  /**
@@ -64833,8 +64833,555 @@ var require_index_cjs = __commonJS({
64833
64833
  }
64834
64834
  });
64835
64835
 
64836
+ // src/common/networks.ts
64837
+ var ETHERSCAN_V2_URL = "https://api.etherscan.io/v2/api";
64838
+ var networks = {
64839
+ // Ethereum
64840
+ ethereum: {
64841
+ chainId: 1,
64842
+ apiUrl: ETHERSCAN_V2_URL,
64843
+ aliases: ["ethereum-mainnet"]
64844
+ },
64845
+ goerli: {
64846
+ // DEPRECATED
64847
+ chainId: 5,
64848
+ apiUrl: ETHERSCAN_V2_URL,
64849
+ aliases: ["ethereum-goerli"]
64850
+ },
64851
+ sepolia: {
64852
+ chainId: 11155111,
64853
+ apiUrl: ETHERSCAN_V2_URL,
64854
+ aliases: ["sepolia-testnet", "eth-sepolia", "ethereum-sepolia"]
64855
+ },
64856
+ holesky: {
64857
+ chainId: 17e3,
64858
+ apiUrl: ETHERSCAN_V2_URL,
64859
+ aliases: ["holesky-testnet", "ethereum-holesky"]
64860
+ },
64861
+ hoodi: {
64862
+ chainId: 560048,
64863
+ apiUrl: ETHERSCAN_V2_URL,
64864
+ aliases: ["hoodi-testnet", "ethereum-hoodi"]
64865
+ },
64866
+ // Polygon
64867
+ polygon: {
64868
+ chainId: 137,
64869
+ apiUrl: ETHERSCAN_V2_URL,
64870
+ aliases: ["polygon-mainnet"]
64871
+ },
64872
+ amoy: {
64873
+ chainId: 80002,
64874
+ apiUrl: ETHERSCAN_V2_URL,
64875
+ aliases: ["polygon-amoy", "polygon-sepolia", "polygon-testnet"]
64876
+ },
64877
+ // Arbitrum
64878
+ arbitrum: {
64879
+ chainId: 42161,
64880
+ apiUrl: ETHERSCAN_V2_URL,
64881
+ aliases: ["arbitrum-mainnet"]
64882
+ },
64883
+ "arbitrum-nova": {
64884
+ chainId: 42170,
64885
+ apiUrl: ETHERSCAN_V2_URL,
64886
+ aliases: ["arbitrum-nova-mainnet"]
64887
+ },
64888
+ "arbitrum-goerli": {
64889
+ // DEPRECATED
64890
+ chainId: 421613,
64891
+ apiUrl: ETHERSCAN_V2_URL
64892
+ },
64893
+ arbsep: {
64894
+ chainId: 421614,
64895
+ apiUrl: ETHERSCAN_V2_URL,
64896
+ aliases: ["arbsep-testnet", "arbitrum-sepolia", "arbitrum-testnet"]
64897
+ },
64898
+ // Optimism
64899
+ optimism: {
64900
+ chainId: 10,
64901
+ apiUrl: ETHERSCAN_V2_URL,
64902
+ aliases: ["optimism-mainnet"]
64903
+ },
64904
+ "optimism-goerli": {
64905
+ // DEPRECATED
64906
+ chainId: 420,
64907
+ apiUrl: ETHERSCAN_V2_URL
64908
+ },
64909
+ optsep: {
64910
+ chainId: 11155420,
64911
+ apiUrl: ETHERSCAN_V2_URL,
64912
+ aliases: ["optsep-testnet", "optimism-sepolia", "optimism-testnet"]
64913
+ },
64914
+ // Base
64915
+ base: {
64916
+ chainId: 8453,
64917
+ apiUrl: ETHERSCAN_V2_URL,
64918
+ aliases: ["base-mainnet"]
64919
+ },
64920
+ "base-sepolia": {
64921
+ chainId: 84532,
64922
+ apiUrl: ETHERSCAN_V2_URL,
64923
+ aliases: ["base-testnet", "basesep"]
64924
+ },
64925
+ "base-goerli": {
64926
+ // DEPRECATED
64927
+ chainId: 84531,
64928
+ apiUrl: ETHERSCAN_V2_URL
64929
+ },
64930
+ // Avalanche
64931
+ avalanche: {
64932
+ chainId: 43114,
64933
+ apiUrl: ETHERSCAN_V2_URL,
64934
+ aliases: ["avalanche-mainnet"]
64935
+ },
64936
+ fuji: {
64937
+ chainId: 43113,
64938
+ apiUrl: ETHERSCAN_V2_URL,
64939
+ aliases: ["avalanche-testnet", "avalanche-fuji"]
64940
+ },
64941
+ // BSC
64942
+ bsc: {
64943
+ chainId: 56,
64944
+ apiUrl: ETHERSCAN_V2_URL,
64945
+ aliases: ["bsc-mainnet"]
64946
+ },
64947
+ "bsc-testnet": {
64948
+ chainId: 97,
64949
+ apiUrl: ETHERSCAN_V2_URL
64950
+ },
64951
+ // Fantom
64952
+ fantom: {
64953
+ chainId: 250,
64954
+ apiUrl: ETHERSCAN_V2_URL,
64955
+ aliases: ["fantom-mainnet"]
64956
+ },
64957
+ "fantom-testnet": {
64958
+ chainId: 4002,
64959
+ apiUrl: ETHERSCAN_V2_URL
64960
+ },
64961
+ // Gnosis
64962
+ gnosis: {
64963
+ chainId: 100,
64964
+ apiUrl: ETHERSCAN_V2_URL,
64965
+ aliases: ["gnosis-mainnet"]
64966
+ },
64967
+ // Blast
64968
+ blast: {
64969
+ chainId: 81457,
64970
+ apiUrl: ETHERSCAN_V2_URL,
64971
+ aliases: ["blast-mainnet"]
64972
+ },
64973
+ "blast-sepolia": {
64974
+ chainId: 168587773,
64975
+ apiUrl: ETHERSCAN_V2_URL,
64976
+ aliases: ["blast-sepolia-testnet", "blast-testnet"]
64977
+ },
64978
+ // Linea / zkConsensys
64979
+ linea: {
64980
+ chainId: 59144,
64981
+ apiUrl: ETHERSCAN_V2_URL,
64982
+ aliases: ["linea-mainnet", "zkconsensys", "zkconsensys-mainnet"]
64983
+ },
64984
+ "linea-sepolia": {
64985
+ chainId: 59141,
64986
+ apiUrl: ETHERSCAN_V2_URL,
64987
+ aliases: ["linea-sepolia-testnet", "linea-testnet", "lineasep"]
64988
+ },
64989
+ // Scroll
64990
+ scroll: {
64991
+ chainId: 534352,
64992
+ apiUrl: ETHERSCAN_V2_URL,
64993
+ aliases: ["scroll-mainnet"]
64994
+ },
64995
+ "scroll-sepolia": {
64996
+ chainId: 534351,
64997
+ apiUrl: ETHERSCAN_V2_URL,
64998
+ aliases: ["scroll-sepolia-testnet", "scroll-testnet"]
64999
+ },
65000
+ // Moonbeam
65001
+ moonbeam: {
65002
+ chainId: 1284,
65003
+ apiUrl: ETHERSCAN_V2_URL,
65004
+ aliases: ["moonbeam-mainnet"]
65005
+ },
65006
+ "moonbeam-testnet": {
65007
+ chainId: 1287,
65008
+ apiUrl: ETHERSCAN_V2_URL
65009
+ },
65010
+ // Moonriver
65011
+ moonriver: {
65012
+ chainId: 1285,
65013
+ apiUrl: ETHERSCAN_V2_URL,
65014
+ aliases: ["moonriver-mainnet"]
65015
+ },
65016
+ // Fraxtal
65017
+ fraxtal: {
65018
+ chainId: 252,
65019
+ apiUrl: ETHERSCAN_V2_URL,
65020
+ aliases: ["fraxtal-mainnet"]
65021
+ },
65022
+ "fraxtal-hoodi": {
65023
+ chainId: 2523,
65024
+ apiUrl: ETHERSCAN_V2_URL,
65025
+ aliases: ["fraxtal-hoodi-testnet", "fraxtal-testnet"]
65026
+ },
65027
+ // Taiko
65028
+ taiko: {
65029
+ chainId: 167e3,
65030
+ apiUrl: ETHERSCAN_V2_URL,
65031
+ aliases: ["taiko-mainnet"]
65032
+ },
65033
+ "taiko-hoodi": {
65034
+ chainId: 167013,
65035
+ apiUrl: ETHERSCAN_V2_URL,
65036
+ aliases: ["taiko-hoodi-testnet", "taiko-testnet"]
65037
+ },
65038
+ // Abstract
65039
+ abstract: {
65040
+ chainId: 2741,
65041
+ apiUrl: ETHERSCAN_V2_URL,
65042
+ aliases: ["abstract-mainnet"]
65043
+ },
65044
+ "abstract-sepolia": {
65045
+ chainId: 11124,
65046
+ apiUrl: ETHERSCAN_V2_URL,
65047
+ aliases: ["abstract-sepolia-testnet", "abstract-testnet"]
65048
+ },
65049
+ // ApeChain
65050
+ apechain: {
65051
+ chainId: 33139,
65052
+ apiUrl: ETHERSCAN_V2_URL,
65053
+ aliases: ["apechain-mainnet", "ape"]
65054
+ },
65055
+ "apechain-curtis": {
65056
+ chainId: 33111,
65057
+ apiUrl: ETHERSCAN_V2_URL,
65058
+ aliases: ["apechain-curtis-testnet", "apechain-testnet", "curtis"]
65059
+ },
65060
+ // Berachain
65061
+ berachain: {
65062
+ chainId: 80094,
65063
+ apiUrl: ETHERSCAN_V2_URL,
65064
+ aliases: ["berachain-mainnet", "bera"]
65065
+ },
65066
+ "berachain-bepolia": {
65067
+ chainId: 80069,
65068
+ apiUrl: ETHERSCAN_V2_URL,
65069
+ aliases: ["berachain-bepolia-testnet", "berachain-testnet", "bepolia"]
65070
+ },
65071
+ // BitTorrent
65072
+ bittorrent: {
65073
+ chainId: 199,
65074
+ apiUrl: ETHERSCAN_V2_URL,
65075
+ aliases: ["bittorrent-mainnet"]
65076
+ },
65077
+ "bittorrent-testnet": {
65078
+ chainId: 1029,
65079
+ apiUrl: ETHERSCAN_V2_URL
65080
+ },
65081
+ // Celo
65082
+ celo: {
65083
+ chainId: 42220,
65084
+ apiUrl: ETHERSCAN_V2_URL,
65085
+ aliases: ["celo-mainnet"]
65086
+ },
65087
+ "celo-sepolia": {
65088
+ chainId: 11142220,
65089
+ apiUrl: ETHERSCAN_V2_URL,
65090
+ aliases: ["celo-sepolia-testnet", "celo-testnet"]
65091
+ },
65092
+ // HyperEVM
65093
+ hyperevm: {
65094
+ chainId: 999,
65095
+ apiUrl: ETHERSCAN_V2_URL,
65096
+ aliases: ["hyperevm-mainnet", "hyperliquid"]
65097
+ },
65098
+ // Katana
65099
+ katana: {
65100
+ chainId: 747474,
65101
+ apiUrl: ETHERSCAN_V2_URL,
65102
+ aliases: ["katana-mainnet"]
65103
+ },
65104
+ "katana-bokuto": {
65105
+ chainId: 737373,
65106
+ apiUrl: ETHERSCAN_V2_URL,
65107
+ aliases: ["katana-bokuto-testnet", "katana-testnet"]
65108
+ },
65109
+ // Mantle
65110
+ mantle: {
65111
+ chainId: 5e3,
65112
+ apiUrl: ETHERSCAN_V2_URL,
65113
+ aliases: ["mantle-mainnet"]
65114
+ },
65115
+ "mantle-sepolia": {
65116
+ chainId: 5003,
65117
+ apiUrl: ETHERSCAN_V2_URL,
65118
+ aliases: ["mantle-sepolia-testnet", "mantle-testnet", "mantlesep"]
65119
+ },
65120
+ // Memecore
65121
+ "memecore-testnet": {
65122
+ chainId: 43521,
65123
+ apiUrl: ETHERSCAN_V2_URL,
65124
+ aliases: ["memecoreformicarium"]
65125
+ },
65126
+ // Monad
65127
+ "monad-testnet": {
65128
+ chainId: 10143,
65129
+ apiUrl: ETHERSCAN_V2_URL
65130
+ },
65131
+ // opBNB
65132
+ opbnb: {
65133
+ chainId: 204,
65134
+ apiUrl: ETHERSCAN_V2_URL,
65135
+ aliases: ["opbnb-mainnet"]
65136
+ },
65137
+ "opbnb-testnet": {
65138
+ chainId: 5611,
65139
+ apiUrl: ETHERSCAN_V2_URL
65140
+ },
65141
+ // Sei
65142
+ sei: {
65143
+ chainId: 1329,
65144
+ apiUrl: ETHERSCAN_V2_URL,
65145
+ aliases: ["sei-mainnet"]
65146
+ },
65147
+ "sei-testnet": {
65148
+ chainId: 1328,
65149
+ apiUrl: ETHERSCAN_V2_URL
65150
+ },
65151
+ // Sonic
65152
+ sonic: {
65153
+ chainId: 146,
65154
+ apiUrl: ETHERSCAN_V2_URL,
65155
+ aliases: ["sonic-mainnet"]
65156
+ },
65157
+ "sonic-testnet": {
65158
+ chainId: 14601,
65159
+ apiUrl: ETHERSCAN_V2_URL
65160
+ },
65161
+ // Sophon (DEPRECATED - will be deprecated on November 22, 2025)
65162
+ sophon: {
65163
+ chainId: 50104,
65164
+ apiUrl: ETHERSCAN_V2_URL,
65165
+ aliases: ["sophon-mainnet"]
65166
+ },
65167
+ "sophon-sepolia": {
65168
+ chainId: 531050104,
65169
+ apiUrl: ETHERSCAN_V2_URL,
65170
+ aliases: ["sophon-sepolia-testnet", "sophon-testnet"]
65171
+ },
65172
+ // Swellchain
65173
+ swellchain: {
65174
+ chainId: 1923,
65175
+ apiUrl: ETHERSCAN_V2_URL,
65176
+ aliases: ["swellchain-mainnet", "swell"]
65177
+ },
65178
+ "swellchain-testnet": {
65179
+ chainId: 1924,
65180
+ apiUrl: ETHERSCAN_V2_URL
65181
+ },
65182
+ // Unichain
65183
+ unichain: {
65184
+ chainId: 130,
65185
+ apiUrl: ETHERSCAN_V2_URL,
65186
+ aliases: ["unichain-mainnet"]
65187
+ },
65188
+ "unichain-sepolia": {
65189
+ chainId: 1301,
65190
+ apiUrl: ETHERSCAN_V2_URL,
65191
+ aliases: ["unichain-sepolia-testnet", "unichain-testnet"]
65192
+ },
65193
+ // World
65194
+ world: {
65195
+ chainId: 480,
65196
+ apiUrl: ETHERSCAN_V2_URL,
65197
+ aliases: ["world-mainnet", "worldchain"]
65198
+ },
65199
+ "world-sepolia": {
65200
+ chainId: 4801,
65201
+ apiUrl: ETHERSCAN_V2_URL,
65202
+ aliases: ["world-sepolia-testnet", "world-testnet"]
65203
+ },
65204
+ // XDC
65205
+ xdc: {
65206
+ chainId: 50,
65207
+ apiUrl: ETHERSCAN_V2_URL,
65208
+ aliases: ["xdc-mainnet"]
65209
+ },
65210
+ "xdc-apothem": {
65211
+ chainId: 51,
65212
+ apiUrl: ETHERSCAN_V2_URL,
65213
+ aliases: ["xdc-apothem-testnet", "xdc-testnet"]
65214
+ },
65215
+ // zkSync
65216
+ zksync: {
65217
+ chainId: 324,
65218
+ apiUrl: ETHERSCAN_V2_URL,
65219
+ aliases: ["zksync-mainnet"]
65220
+ },
65221
+ "zksync-sepolia": {
65222
+ chainId: 300,
65223
+ apiUrl: ETHERSCAN_V2_URL,
65224
+ aliases: ["zksync-sepolia-testnet", "zksync-testnet", "zksyncsep"]
65225
+ },
65226
+ // Non-Etherscan Networks (custom explorers)
65227
+ // chainId is not used for these networks
65228
+ // Astar
65229
+ astar: {
65230
+ chainId: 0,
65231
+ apiUrl: "https://astar.blockscout.com/api",
65232
+ aliases: ["astar-mainnet"]
65233
+ },
65234
+ zkatana: {
65235
+ chainId: 0,
65236
+ apiUrl: "https://astar-zkevm.explorer.startale.com/api",
65237
+ aliases: ["zkatana-mainnet"]
65238
+ },
65239
+ // Aurora
65240
+ aurora: {
65241
+ chainId: 0,
65242
+ apiUrl: "https://explorer.mainnet.aurora.dev/api",
65243
+ aliases: ["aurora-mainnet"]
65244
+ },
65245
+ // EBI
65246
+ ebi: {
65247
+ chainId: 0,
65248
+ apiUrl: "https://explorer.ebi.xyz/api",
65249
+ aliases: ["ebi-mainnet"]
65250
+ },
65251
+ // Etherlink
65252
+ etherlink: {
65253
+ chainId: 0,
65254
+ apiUrl: "https://explorer.etherlink.com/api",
65255
+ aliases: ["etherlink-mainnet"]
65256
+ },
65257
+ // Flare
65258
+ flare: {
65259
+ chainId: 0,
65260
+ apiUrl: "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan",
65261
+ aliases: ["flare-mainnet"]
65262
+ },
65263
+ // Gravity
65264
+ gravity: {
65265
+ chainId: 0,
65266
+ apiUrl: "https://explorer.gravity.xyz/api",
65267
+ aliases: ["gravity-mainnet"]
65268
+ },
65269
+ // IOTA
65270
+ iota: {
65271
+ chainId: 0,
65272
+ apiUrl: "https://explorer.evm.iota.org/api",
65273
+ aliases: ["iota-mainnet"]
65274
+ },
65275
+ // Kava
65276
+ kava: {
65277
+ chainId: 0,
65278
+ apiUrl: "https://kavascan.com/api",
65279
+ aliases: ["kava-mainnet"]
65280
+ },
65281
+ "kava-testnet": {
65282
+ chainId: 0,
65283
+ apiUrl: "https://testnet.kavascan.com/api"
65284
+ },
65285
+ // Klaytn
65286
+ klaytn: {
65287
+ chainId: 0,
65288
+ apiUrl: "https://api-cypress.klaytnscope.com/api",
65289
+ aliases: ["klaytn-mainnet"]
65290
+ },
65291
+ "klaytn-testnet": {
65292
+ chainId: 0,
65293
+ apiUrl: "https://api-baobab.klaytnscope.com/api"
65294
+ },
65295
+ // Manta
65296
+ manta: {
65297
+ chainId: 0,
65298
+ apiUrl: "https://pacific-explorer.manta.network/api",
65299
+ aliases: ["manta-mainnet"]
65300
+ },
65301
+ // Metis
65302
+ metis: {
65303
+ chainId: 0,
65304
+ apiUrl: "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan",
65305
+ aliases: ["metis-mainnet"]
65306
+ },
65307
+ // Mode
65308
+ mode: {
65309
+ chainId: 0,
65310
+ apiUrl: "https://explorer.mode.network/api",
65311
+ aliases: ["mode-mainnet"]
65312
+ },
65313
+ // Rarible
65314
+ rarible: {
65315
+ chainId: 0,
65316
+ apiUrl: "https://mainnet.explorer.rarichain.org/api",
65317
+ aliases: ["rarible-mainnet"]
65318
+ },
65319
+ // X Chain
65320
+ xchain: {
65321
+ chainId: 0,
65322
+ apiUrl: "https://xchain-explorer.idex.io/api",
65323
+ aliases: ["xchain-mainnet"]
65324
+ },
65325
+ // X Layer
65326
+ xlayer: {
65327
+ chainId: 0,
65328
+ apiUrl: "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER",
65329
+ aliases: ["xlayer-mainnet"]
65330
+ }
65331
+ };
65332
+
65333
+ // src/common/networks-loader.ts
65334
+ var NetworkRegistry = class {
65335
+ constructor() {
65336
+ __publicField(this, "apiUrls", /* @__PURE__ */ new Map());
65337
+ __publicField(this, "chainIds", /* @__PURE__ */ new Map());
65338
+ for (const [canonicalName, network] of Object.entries(networks)) {
65339
+ const apiUrl = network.apiUrl;
65340
+ const chainId = network.chainId;
65341
+ if (apiUrl) {
65342
+ this.apiUrls.set(canonicalName, apiUrl);
65343
+ }
65344
+ if (chainId) {
65345
+ this.chainIds.set(canonicalName, chainId);
65346
+ }
65347
+ if (network.aliases) {
65348
+ for (const alias of network.aliases) {
65349
+ if (apiUrl) {
65350
+ this.apiUrls.set(alias, apiUrl);
65351
+ }
65352
+ if (chainId) {
65353
+ this.chainIds.set(alias, chainId);
65354
+ }
65355
+ }
65356
+ }
65357
+ }
65358
+ }
65359
+ getApiUrl(networkName) {
65360
+ return this.apiUrls.get(networkName);
65361
+ }
65362
+ getChainId(networkName) {
65363
+ return this.chainIds.get(networkName);
65364
+ }
65365
+ getAllNetworkNames() {
65366
+ return Array.from(/* @__PURE__ */ new Set([...this.apiUrls.keys(), ...this.chainIds.keys()]));
65367
+ }
65368
+ getSupportedNetworks() {
65369
+ const networks2 = /* @__PURE__ */ new Map();
65370
+ const allNames = this.getAllNetworkNames();
65371
+ for (const name of allNames) {
65372
+ networks2.set(name, {
65373
+ chainId: this.getChainId(name),
65374
+ apiUrl: this.getApiUrl(name)
65375
+ });
65376
+ }
65377
+ return networks2;
65378
+ }
65379
+ };
65380
+ var networkRegistry = new NetworkRegistry();
65381
+ var getDefaultScanApiUrl = (networkName) => networkRegistry.getApiUrl(networkName);
65382
+ var getDefaultChainId = (networkName) => networkRegistry.getChainId(networkName);
65383
+
64836
65384
  // src/common/url.ts
64837
- var getDefaultScanApiUrl = (networkName) => DEFAULT_SCAN_API_URLS.get(networkName);
64838
65385
  var tryGetScanBrowserUrlFromScanUrl = (scanApiUrl) => {
64839
65386
  try {
64840
65387
  const urlObject = new URL(scanApiUrl);
@@ -64857,99 +65404,6 @@ var tryCreateScanContractUrl = (scanBrowserUrl, address) => {
64857
65404
  return void 0;
64858
65405
  }
64859
65406
  };
64860
- var DEFAULT_SCAN_API_URLS = /* @__PURE__ */ new Map([
64861
- ["amoy", "https://amoy.polygonscan.com/api"],
64862
- ["amoy-mainnet", "https://amoy.polygonscan.com/api"],
64863
- ["arbitrum", "https://api.arbiscan.io/api"],
64864
- ["arbitrum-goerli", "https://api-goerli.arbiscan.io/api"],
64865
- ["arbitrum-mainnet", "https://api.arbiscan.io/api"],
64866
- ["arbsep-testnet", "https://api-sepolia.arbiscan.io/api"],
64867
- ["astar", "https://astar.blockscout.com/api"],
64868
- ["astar-mainnet", "https://astar.blockscout.com/api"],
64869
- ["aurora", "https://explorer.mainnet.aurora.dev/api"],
64870
- ["aurora-mainnet", "https://explorer.mainnet.aurora.dev/api"],
64871
- ["avalanche", "https://api.snowtrace.io/api"],
64872
- ["avalanche-mainnet", "https://api.snowtrace.io/api"],
64873
- ["avalanche-testnet", "https://api-testnet.snowtrace.io/api"],
64874
- ["base", "https://api.basescan.org/api"],
64875
- ["base-goerli", "https://api-goerli.basescan.org/api"],
64876
- ["base-mainnet", "https://api.basescan.org/api"],
64877
- ["blast", "https://api.blastscan.io/api"],
64878
- ["blast-mainnet", "https://api.blastscan.io/api"],
64879
- ["bsc", "https://api.bscscan.com/api"],
64880
- ["bsc-mainnet", "https://api.bscscan.com/api"],
64881
- ["bsc-testnet", "https://api-testnet.bscscan.com/api"],
64882
- ["ebi", "https://explorer.ebi.xyz/api"],
64883
- ["ebi-mainnet", "https://explorer.ebi.xyz/api"],
64884
- ["ethereum", "https://api.etherscan.io/api"],
64885
- ["ethereum-goerli", "https://api-goerli.etherscan.io/api"],
64886
- ["ethereum-mainnet", "https://api.etherscan.io/api"],
64887
- ["etherlink", "https://explorer.etherlink.com/api"],
64888
- ["etherlink-mainnet", "https://explorer.etherlink.com/api"],
64889
- ["fantom", "https://api.ftmscan.com/api"],
64890
- ["fantom-mainnet", "https://api.ftmscan.com/api"],
64891
- ["fantom-testnet", "https://api-testnet.ftmscan.com/api"],
64892
- ["flare", "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan"],
64893
- ["flare-mainnet", "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan"],
64894
- ["fraxtal", "https://api.fraxscan.com/api"],
64895
- ["fraxtal-mainnet", "https://api.fraxscan.com/api"],
64896
- ["fuji", "https://api-testnet.snowtrace.io/api"],
64897
- ["fuji-mainnet", "https://api-testnet.snowtrace.io/api"],
64898
- ["gnosis", "https://api.gnosisscan.io/api"],
64899
- ["gnosis-mainnet", "https://api.gnosisscan.io/api"],
64900
- ["goerli", "https://api-goerli.etherscan.io/api"],
64901
- ["goerli-mainnet", "https://api-goerli.etherscan.io/api"],
64902
- ["gravity", "https://explorer.gravity.xyz/api"],
64903
- ["gravity-mainnet", "https://explorer.gravity.xyz/api"],
64904
- ["iota", "https://explorer.evm.iota.org/api"],
64905
- ["iota-mainnet", "https://explorer.evm.iota.org/api"],
64906
- ["kava", "https://kavascan.com/api"],
64907
- ["kava-mainnet", "https://kavascan.com/api"],
64908
- ["kava-testnet", "https://testnet.kavascan.com/api"],
64909
- ["klaytn", "https://api-cypress.klaytnscope.com/api"],
64910
- ["klaytn-mainnet", "https://api-cypress.klaytnscope.com/api"],
64911
- ["klaytn-testnet", "https://api-baobab.klaytnscope.com/api"],
64912
- ["linea", "https://api.lineascan.build/api"],
64913
- ["linea-mainnet", "https://api.lineascan.build/api"],
64914
- ["mantle", "https://explorer.mantle.xyz/api"],
64915
- ["mantle-mainnet", "https://explorer.mantle.xyz/api"],
64916
- ["manta", "https://pacific-explorer.manta.network/api"],
64917
- ["manta-mainnet", "https://pacific-explorer.manta.network/api"],
64918
- ["metis", "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan"],
64919
- ["metis-mainnet", "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan"],
64920
- ["mode", "https://explorer.mode.network/api"],
64921
- ["mode-mainnet", "https://explorer.mode.network/api"],
64922
- ["moonbeam", "https://api-moonbeam.moonscan.io/api"],
64923
- ["moonbeam-mainnet", "https://api-moonbeam.moonscan.io/api"],
64924
- ["moonbeam-testnet", "https://api-moonbase.moonscan.io/api"],
64925
- ["moonriver", "https://api-moonriver.moonscan.io/api"],
64926
- ["moonriver-mainnet", "https://api-moonriver.moonscan.io/api"],
64927
- ["optimism", "https://api-optimistic.etherscan.io/api"],
64928
- ["optimism-goerli", "https://api-goerli-optimistic.etherscan.io/api"],
64929
- ["optimism-mainnet", "https://api-optimistic.etherscan.io/api"],
64930
- ["optsep-testnet", "https://api-sepolia-optimistic.etherscan.io/api"],
64931
- ["polygon", "https://api.polygonscan.com/api"],
64932
- ["polygon-mainnet", "https://api.polygonscan.com/api"],
64933
- ["rarible", "https://mainnet.explorer.rarichain.org/api"],
64934
- ["rarible-mainnet", "https://mainnet.explorer.rarichain.org/api"],
64935
- ["sepolia-testnet", "https://api-sepolia.etherscan.io/api"],
64936
- ["scroll", "https://api.scrollscan.com/api"],
64937
- ["scroll-mainnet", "https://api.scrollscan.com/api"],
64938
- ["sei", "https://seitrace.com/pacific-1/api"],
64939
- ["sei-mainnet", "https://seitrace.com/pacific-1/api"],
64940
- ["taiko", "https://api.taikoscan.io/api"],
64941
- ["taiko-mainnet", "https://api.taikoscan.io/api"],
64942
- ["xchain", "https://xchain-explorer.idex.io/api"],
64943
- ["xchain-mainnet", "https://xchain-explorer.idex.io/api"],
64944
- ["xlayer", "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER"],
64945
- ["xlayer-mainnet", "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER"],
64946
- ["zkatana", "https://astar-zkevm.explorer.startale.com/api"],
64947
- ["zkatana-mainnet", "https://astar-zkevm.explorer.startale.com/api"],
64948
- ["zkconsensys", "https://api.lineascan.build/api"],
64949
- ["zkconsensys-mainnet", "https://api.lineascan.build/api"],
64950
- ["zkpolygon", "https://api-zkevm.polygonscan.com/api"],
64951
- ["zkpolygon-mainnet", "https://api-zkevm.polygonscan.com/api"]
64952
- ]);
64953
65407
 
64954
65408
  // src/common/logger.ts
64955
65409
  var import_chalk = __toESM(require_source());
@@ -64974,16 +65428,16 @@ var anonymizeValue = (value) => {
64974
65428
  const invisiblePart = Array.from({ length: invisibleLength }).fill("*").join("");
64975
65429
  return `${visiblePart}${invisiblePart}`;
64976
65430
  };
64977
- var createRecordLogger = (logger11, separator = " ") => (record) => {
64978
- logger11.info("");
65431
+ var createRecordLogger = (logger12, separator = " ") => (record) => {
65432
+ logger12.info("");
64979
65433
  Object.entries(record).forEach(([label, value]) => {
64980
65434
  if (Array.isArray(value)) {
64981
- logger11.info(`${label}:`);
65435
+ logger12.info(`${label}:`);
64982
65436
  value.forEach((item) => {
64983
- logger11.info(`${separator} - ${import_chalk.default.bold(formatLoggableValue(item))}`);
65437
+ logger12.info(`${separator} - ${import_chalk.default.bold(formatLoggableValue(item))}`);
64984
65438
  });
64985
65439
  } else {
64986
- logger11.info(`${label}:${separator}${import_chalk.default.bold(formatLoggableValue(value))}`);
65440
+ logger12.info(`${label}:${separator}${import_chalk.default.bold(formatLoggableValue(value))}`);
64987
65441
  }
64988
65442
  });
64989
65443
  };
@@ -65003,7 +65457,7 @@ var FALSE_SYMBOL = COLORS.error`⚠`;
65003
65457
 
65004
65458
  // src/common/config.ts
65005
65459
  var import_chalk2 = __toESM(require_source());
65006
- var parseNetworksConfig = (logger11, partialNetworksConfig) => {
65460
+ var parseNetworksConfig = (logger12, partialNetworksConfig) => {
65007
65461
  return Object.entries(partialNetworksConfig != null ? partialNetworksConfig : {}).reduce((networksConfig, [networkName, networkConfig]) => {
65008
65462
  if (networkConfig == null) {
65009
65463
  return networksConfig;
@@ -65022,7 +65476,7 @@ Please provide the API URL:
65022
65476
  );
65023
65477
  const apiKey = networkConfig.apiKey || getScanApiKeyFromEnv(networkName);
65024
65478
  if (!apiKey) {
65025
- logger11.debug(`Could not find scan API key for network ${import_chalk2.default.bold(networkName)}
65479
+ logger12.debug(`Could not find scan API key for network ${import_chalk2.default.bold(networkName)}
65026
65480
 
65027
65481
  Please provide the API key:
65028
65482
 
@@ -65032,7 +65486,7 @@ Please provide the API key:
65032
65486
  }
65033
65487
  const browserUrl = networkConfig.browserUrl || getScanBrowserUrlFromEnv(networkName) || tryGetScanBrowserUrlFromScanUrl(apiUrl);
65034
65488
  if (!browserUrl) {
65035
- logger11.debug(`Could not find scan browser URL key for network ${import_chalk2.default.bold(networkName)}
65489
+ logger12.debug(`Could not find scan browser URL key for network ${import_chalk2.default.bold(networkName)}
65036
65490
 
65037
65491
  Browser URL is used to display a link to the verified contract
65038
65492
  after successful verification.
@@ -65042,10 +65496,22 @@ Please provide the API key:
65042
65496
  - As an browserUrl config parameter in ${networkName} config
65043
65497
  - As a SCAN_BROWSER_URL_${networkName} environment variable
65044
65498
  - As a SCAN_BROWSER_URL_${normalizeNetworkName(networkName)} environment variable`);
65499
+ }
65500
+ const chainId = networkConfig.chainId || getChainIdFromEnv(networkName) || getDefaultChainId(networkName);
65501
+ if (!chainId) {
65502
+ logger12.debug(`Could not find chain ID for network ${import_chalk2.default.bold(networkName)}
65503
+
65504
+ Chain ID is required for Etherscan API v2.
65505
+
65506
+ Please provide the chain ID:
65507
+
65508
+ - As a chainId config parameter in ${networkName} config
65509
+ - As a SCAN_CHAIN_ID_${networkName} environment variable
65510
+ - As a SCAN_CHAIN_ID_${normalizeNetworkName(networkName)} environment variable`);
65045
65511
  }
65046
65512
  return {
65047
65513
  ...networksConfig,
65048
- [networkName]: { apiUrl, apiKey, browserUrl }
65514
+ [networkName]: { apiUrl, apiKey, browserUrl, chainId }
65049
65515
  };
65050
65516
  }, {});
65051
65517
  };
@@ -65061,6 +65527,11 @@ var getScanApiKeyFromEnv = (networkName) => {
65061
65527
  var _a, _b;
65062
65528
  return ((_a = process.env[`SCAN_API_KEY_${networkName}`]) == null ? void 0 : _a.trim()) || ((_b = process.env[`SCAN_API_KEY_${normalizeNetworkName(networkName)}`]) == null ? void 0 : _b.trim());
65063
65529
  };
65530
+ var getChainIdFromEnv = (networkName) => {
65531
+ var _a, _b;
65532
+ const chainIdStr = ((_a = process.env[`SCAN_CHAIN_ID_${networkName}`]) == null ? void 0 : _a.trim()) || ((_b = process.env[`SCAN_CHAIN_ID_${normalizeNetworkName(networkName)}`]) == null ? void 0 : _b.trim());
65533
+ return chainIdStr ? parseInt(chainIdStr, 10) : void 0;
65534
+ };
65064
65535
  var normalizeNetworkName = (networkName) => networkName.toUpperCase().replaceAll("-", "_");
65065
65536
 
65066
65537
  // src/common/licenses.ts
@@ -68845,9 +69316,15 @@ var LogLevel = /* @__PURE__ */ ((LogLevel22) => {
68845
69316
  return LogLevel22;
68846
69317
  })(LogLevel || {});
68847
69318
  z.nativeEnum(LogLevel);
68848
- (0, import_winston.format)((info, { label }) => ({
69319
+ var DEFAULT_LOG_LEVEL = "info";
69320
+ var createLogger = (level = DEFAULT_LOG_LEVEL, logFormat = import_winston.format.cli()) => (0, import_winston.createLogger)({
69321
+ level,
69322
+ format: logFormat,
69323
+ transports: [new import_winston.transports.Console()]
69324
+ });
69325
+ (0, import_winston.format)((info, opts) => ({
68849
69326
  ...info,
68850
- message: `${label ? `[${label}] ` : ""}${info.message}`
69327
+ message: `${(opts == null ? void 0 : opts.label) ? `[${opts.label}] ` : ""}${info.message}`
68851
69328
  }));
68852
69329
  ({
68853
69330
  TRUE: import_chalk3.default.rgb(0, 153, 0),
@@ -68861,6 +69338,7 @@ z.nativeEnum(LogLevel);
68861
69338
  DEFAULT_VALUE: import_chalk3.default.rgb(167, 125, 255)
68862
69339
  // MAGENTA
68863
69340
  });
69341
+ createLogger();
68864
69342
  var retry = async (callback, numAttempts, onRetry) => {
68865
69343
  assert4__default.default(numAttempts > 0, `Number of attempts for retry must be larger than 0, got ${numAttempts}`);
68866
69344
  for (let attempt = 0; attempt < numAttempts - 1; attempt++) {
@@ -74048,10 +74526,10 @@ var source_default2 = got;
74048
74526
 
74049
74527
  // src/common/etherscan.ts
74050
74528
  var Verification = class extends EventEmitter__default.default {
74051
- constructor(props, logger11) {
74529
+ constructor(props, logger12) {
74052
74530
  super();
74053
74531
  this.props = props;
74054
- this.logger = logger11;
74532
+ this.logger = logger12;
74055
74533
  }
74056
74534
  async verify() {
74057
74535
  try {
@@ -74089,7 +74567,7 @@ var Verification = class extends EventEmitter__default.default {
74089
74567
  ${JSON.stringify(request)}`);
74090
74568
  return await retry(
74091
74569
  async () => {
74092
- const response = await submitRequest(this.props.apiUrl, request);
74570
+ const response = await submitRequest(this.props.apiUrl, request, this.props.chainId, this.props.apiKey);
74093
74571
  this.logger.verbose(`Received raw response from ${this.props.apiUrl}:
74094
74572
 
74095
74573
  ${JSON.stringify(response)}`);
@@ -74110,7 +74588,7 @@ ${JSON.stringify(response)}`);
74110
74588
  async __poll(guid) {
74111
74589
  while (true) {
74112
74590
  this.emit("poll", guid);
74113
- const result = await checkGuid(this.props.apiUrl, guid);
74591
+ const result = await checkGuid(this.props.apiUrl, guid, this.props.chainId, this.props.apiKey);
74114
74592
  this.logger.verbose(`Received raw polling response from ${this.props.apiUrl}:
74115
74593
 
74116
74594
  ${JSON.stringify(result)}`);
@@ -74138,29 +74616,37 @@ ${JSON.stringify(result)}`);
74138
74616
  }
74139
74617
  }
74140
74618
  };
74141
- var createVerification = (props, logger11) => new Verification(props, logger11);
74619
+ var createVerification = (props, logger12) => new Verification(props, logger12);
74142
74620
  var isPendingResult = (result) => !!(result == null ? void 0 : result.match(/Pending/gi));
74143
74621
  var isAlreadyVerifiedResult = (result) => !!(result == null ? void 0 : result.match(/already verified/gi));
74144
74622
  var isApiRateLimitedResult = (result) => !!(result == null ? void 0 : result.match(/rate/));
74145
- var submitRequest = async (apiUrl, request) => {
74146
- try {
74147
- const response = await source_default2(apiUrl, {
74148
- method: "POST",
74149
- form: request,
74150
- headers: {
74151
- "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
74152
- }
74153
- }).json();
74154
- return ScanResponseSchema.parse(response);
74155
- } catch (error) {
74156
- throw new Error(`Failed to submit verification request: ${error}`);
74157
- }
74623
+ var submitRequest = async (apiUrl, request, chainId, apiKey) => {
74624
+ const url = new URL(apiUrl);
74625
+ const isEtherscanV2 = apiUrl.includes("api.etherscan.io/v2");
74626
+ if (chainId !== void 0 && isEtherscanV2) {
74627
+ url.searchParams.set("chainid", String(chainId));
74628
+ }
74629
+ if (apiKey) {
74630
+ url.searchParams.set("apikey", apiKey);
74631
+ }
74632
+ const response = await source_default2(url.toString(), {
74633
+ method: "POST",
74634
+ form: request
74635
+ }).json();
74636
+ return ScanResponseSchema.parse(response);
74158
74637
  };
74159
- var checkGuid = async (apiUrl, guid) => {
74638
+ var checkGuid = async (apiUrl, guid, chainId, apiKey) => {
74160
74639
  const url = new URL(apiUrl);
74161
74640
  url.searchParams.set("module", "contract");
74162
74641
  url.searchParams.set("action", "checkverifystatus");
74163
74642
  url.searchParams.set("guid", guid);
74643
+ const isEtherscanV2 = apiUrl.includes("api.etherscan.io/v2");
74644
+ if (chainId !== void 0 && isEtherscanV2) {
74645
+ url.searchParams.set("chainid", String(chainId));
74646
+ }
74647
+ if (apiKey) {
74648
+ url.searchParams.set("apikey", apiKey);
74649
+ }
74164
74650
  try {
74165
74651
  const data = await source_default2(url).json();
74166
74652
  return ScanResponseSchema.parse(data);
@@ -74583,7 +75069,7 @@ Logger.levels = LogLevel2;
74583
75069
  var version2 = "bytes/5.7.0";
74584
75070
 
74585
75071
  // ../../node_modules/.pnpm/@ethersproject+bytes@5.7.0/node_modules/@ethersproject/bytes/lib.esm/index.js
74586
- var logger = new Logger(version2);
75072
+ var logger2 = new Logger(version2);
74587
75073
  function isHexable(value) {
74588
75074
  return !!value.toHexString;
74589
75075
  }
@@ -74626,7 +75112,7 @@ function arrayify(value, options) {
74626
75112
  options = {};
74627
75113
  }
74628
75114
  if (typeof value === "number") {
74629
- logger.checkSafeUint53(value, "invalid arrayify value");
75115
+ logger2.checkSafeUint53(value, "invalid arrayify value");
74630
75116
  const result = [];
74631
75117
  while (value) {
74632
75118
  result.unshift(value & 255);
@@ -74651,7 +75137,7 @@ function arrayify(value, options) {
74651
75137
  } else if (options.hexPad === "right") {
74652
75138
  hex += "0";
74653
75139
  } else {
74654
- logger.throwArgumentError("hex data is odd-length", "value", value);
75140
+ logger2.throwArgumentError("hex data is odd-length", "value", value);
74655
75141
  }
74656
75142
  }
74657
75143
  const result = [];
@@ -74663,7 +75149,7 @@ function arrayify(value, options) {
74663
75149
  if (isBytes(value)) {
74664
75150
  return addSlice(new Uint8Array(value));
74665
75151
  }
74666
- return logger.throwArgumentError("invalid arrayify value", "value", value);
75152
+ return logger2.throwArgumentError("invalid arrayify value", "value", value);
74667
75153
  }
74668
75154
  function concat(items) {
74669
75155
  const objects = items.map((item) => arrayify(item));
@@ -74690,7 +75176,7 @@ function hexlify(value, options) {
74690
75176
  options = {};
74691
75177
  }
74692
75178
  if (typeof value === "number") {
74693
- logger.checkSafeUint53(value, "invalid hexlify value");
75179
+ logger2.checkSafeUint53(value, "invalid hexlify value");
74694
75180
  let hex = "";
74695
75181
  while (value) {
74696
75182
  hex = HexCharacters[value & 15] + hex;
@@ -74724,7 +75210,7 @@ function hexlify(value, options) {
74724
75210
  } else if (options.hexPad === "right") {
74725
75211
  value += "0";
74726
75212
  } else {
74727
- logger.throwArgumentError("hex data is odd-length", "value", value);
75213
+ logger2.throwArgumentError("hex data is odd-length", "value", value);
74728
75214
  }
74729
75215
  }
74730
75216
  return value.toLowerCase();
@@ -74737,13 +75223,13 @@ function hexlify(value, options) {
74737
75223
  }
74738
75224
  return result;
74739
75225
  }
74740
- return logger.throwArgumentError("invalid hexlify value", "value", value);
75226
+ return logger2.throwArgumentError("invalid hexlify value", "value", value);
74741
75227
  }
74742
75228
  function hexDataSlice(data, offset, endOffset) {
74743
75229
  if (typeof data !== "string") {
74744
75230
  data = hexlify(data);
74745
75231
  } else if (!isHexString(data) || data.length % 2) {
74746
- logger.throwArgumentError("invalid hexData", "value", data);
75232
+ logger2.throwArgumentError("invalid hexData", "value", data);
74747
75233
  }
74748
75234
  offset = 2 + 2 * offset;
74749
75235
  if (endOffset != null) {
@@ -74762,10 +75248,10 @@ function hexZeroPad(value, length) {
74762
75248
  if (typeof value !== "string") {
74763
75249
  value = hexlify(value);
74764
75250
  } else if (!isHexString(value)) {
74765
- logger.throwArgumentError("invalid hex string", "value", value);
75251
+ logger2.throwArgumentError("invalid hex string", "value", value);
74766
75252
  }
74767
75253
  if (value.length > 2 * length + 2) {
74768
- logger.throwArgumentError("value out of range", "value", arguments[1]);
75254
+ logger2.throwArgumentError("value out of range", "value", arguments[1]);
74769
75255
  }
74770
75256
  while (value.length < 2 * length + 2) {
74771
75257
  value = "0x0" + value.substring(2);
@@ -74778,14 +75264,14 @@ var version3 = "bignumber/5.7.0";
74778
75264
 
74779
75265
  // ../../node_modules/.pnpm/@ethersproject+bignumber@5.7.0/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js
74780
75266
  var BN = import_bn.default.BN;
74781
- var logger2 = new Logger(version3);
75267
+ var logger3 = new Logger(version3);
74782
75268
  var _constructorGuard = {};
74783
75269
  var MAX_SAFE = 9007199254740991;
74784
75270
  var _warnedToStringRadix = false;
74785
75271
  var BigNumber = class _BigNumber {
74786
75272
  constructor(constructorGuard, hex) {
74787
75273
  if (constructorGuard !== _constructorGuard) {
74788
- logger2.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
75274
+ logger3.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
74789
75275
  operation: "new (BigNumber)"
74790
75276
  });
74791
75277
  }
@@ -74908,7 +75394,7 @@ var BigNumber = class _BigNumber {
74908
75394
  return BigInt(this.toString());
74909
75395
  } catch (e) {
74910
75396
  }
74911
- return logger2.throwError("this platform does not support BigInt", Logger.errors.UNSUPPORTED_OPERATION, {
75397
+ return logger3.throwError("this platform does not support BigInt", Logger.errors.UNSUPPORTED_OPERATION, {
74912
75398
  value: this.toString()
74913
75399
  });
74914
75400
  }
@@ -74917,12 +75403,12 @@ var BigNumber = class _BigNumber {
74917
75403
  if (arguments[0] === 10) {
74918
75404
  if (!_warnedToStringRadix) {
74919
75405
  _warnedToStringRadix = true;
74920
- logger2.warn("BigNumber.toString does not accept any parameters; base-10 is assumed");
75406
+ logger3.warn("BigNumber.toString does not accept any parameters; base-10 is assumed");
74921
75407
  }
74922
75408
  } else if (arguments[0] === 16) {
74923
- logger2.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", Logger.errors.UNEXPECTED_ARGUMENT, {});
75409
+ logger3.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", Logger.errors.UNEXPECTED_ARGUMENT, {});
74924
75410
  } else {
74925
- logger2.throwError("BigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
75411
+ logger3.throwError("BigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
74926
75412
  }
74927
75413
  }
74928
75414
  return toBN(this).toString(10);
@@ -74944,7 +75430,7 @@ var BigNumber = class _BigNumber {
74944
75430
  if (value.match(/^-?[0-9]+$/)) {
74945
75431
  return new _BigNumber(_constructorGuard, toHex(new BN(value)));
74946
75432
  }
74947
- return logger2.throwArgumentError("invalid BigNumber string", "value", value);
75433
+ return logger3.throwArgumentError("invalid BigNumber string", "value", value);
74948
75434
  }
74949
75435
  if (typeof value === "number") {
74950
75436
  if (value % 1) {
@@ -74980,7 +75466,7 @@ var BigNumber = class _BigNumber {
74980
75466
  }
74981
75467
  }
74982
75468
  }
74983
- return logger2.throwArgumentError("invalid BigNumber value", "value", value);
75469
+ return logger3.throwArgumentError("invalid BigNumber value", "value", value);
74984
75470
  }
74985
75471
  static isBigNumber(value) {
74986
75472
  return !!(value && value._isBigNumber);
@@ -74993,7 +75479,7 @@ function toHex(value) {
74993
75479
  if (value[0] === "-") {
74994
75480
  value = value.substring(1);
74995
75481
  if (value[0] === "-") {
74996
- logger2.throwArgumentError("invalid hex", "value", value);
75482
+ logger3.throwArgumentError("invalid hex", "value", value);
74997
75483
  }
74998
75484
  value = toHex(value);
74999
75485
  if (value === "0x00") {
@@ -75030,7 +75516,7 @@ function throwFault(fault, operation, value) {
75030
75516
  if (value != null) {
75031
75517
  params.value = value;
75032
75518
  }
75033
- return logger2.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
75519
+ return logger3.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
75034
75520
  }
75035
75521
  function _base36To16(value) {
75036
75522
  return new BN(value, 36).toString(16);
@@ -75040,7 +75526,7 @@ function _base36To16(value) {
75040
75526
  var version4 = "properties/5.7.0";
75041
75527
 
75042
75528
  // ../../node_modules/.pnpm/@ethersproject+properties@5.7.0/node_modules/@ethersproject/properties/lib.esm/index.js
75043
- var logger3 = new Logger(version4);
75529
+ var logger4 = new Logger(version4);
75044
75530
  function defineReadOnly(object, name, value) {
75045
75531
  Object.defineProperty(object, name, {
75046
75532
  enumerable: true,
@@ -75083,7 +75569,7 @@ function _isFrozen(object) {
75083
75569
  }
75084
75570
  return true;
75085
75571
  }
75086
- return logger3.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75572
+ return logger4.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75087
75573
  }
75088
75574
  function _deepCopy(object) {
75089
75575
  if (_isFrozen(object)) {
@@ -75103,7 +75589,7 @@ function _deepCopy(object) {
75103
75589
  }
75104
75590
  return result;
75105
75591
  }
75106
- return logger3.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75592
+ return logger4.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75107
75593
  }
75108
75594
  function deepCopy(object) {
75109
75595
  return _deepCopy(object);
@@ -75120,7 +75606,7 @@ var Description = class {
75120
75606
  var version5 = "abi/5.7.0";
75121
75607
 
75122
75608
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/fragments.js
75123
- var logger4 = new Logger(version5);
75609
+ var logger5 = new Logger(version5);
75124
75610
  var _constructorGuard2 = {};
75125
75611
  var ModifiersBytes = { calldata: true, memory: true, storage: true };
75126
75612
  var ModifiersNest = { calldata: true, memory: true };
@@ -75139,14 +75625,14 @@ function checkModifier(type, name) {
75139
75625
  }
75140
75626
  }
75141
75627
  if (ModifiersBytes[name] || name === "payable") {
75142
- logger4.throwArgumentError("invalid modifier", "name", name);
75628
+ logger5.throwArgumentError("invalid modifier", "name", name);
75143
75629
  }
75144
75630
  return false;
75145
75631
  }
75146
75632
  function parseParamType(param, allowIndexed) {
75147
75633
  let originalParam = param;
75148
75634
  function throwError(i) {
75149
- logger4.throwArgumentError(`unexpected character at position ${i}`, "param", param);
75635
+ logger5.throwArgumentError(`unexpected character at position ${i}`, "param", param);
75150
75636
  }
75151
75637
  param = param.replace(/\s/g, " ");
75152
75638
  function newNode(parent2) {
@@ -75275,7 +75761,7 @@ function parseParamType(param, allowIndexed) {
75275
75761
  }
75276
75762
  }
75277
75763
  if (node.parent) {
75278
- logger4.throwArgumentError("unexpected eof", "param", param);
75764
+ logger5.throwArgumentError("unexpected eof", "param", param);
75279
75765
  }
75280
75766
  delete parent.state;
75281
75767
  if (node.name === "indexed") {
@@ -75312,7 +75798,7 @@ var paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
75312
75798
  var ParamType = class _ParamType {
75313
75799
  constructor(constructorGuard, params) {
75314
75800
  if (constructorGuard !== _constructorGuard2) {
75315
- logger4.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
75801
+ logger5.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
75316
75802
  operation: "new ParamType()"
75317
75803
  });
75318
75804
  }
@@ -75346,7 +75832,7 @@ var ParamType = class _ParamType {
75346
75832
  format3 = FormatTypes.sighash;
75347
75833
  }
75348
75834
  if (!FormatTypes[format3]) {
75349
- logger4.throwArgumentError("invalid format type", "format", format3);
75835
+ logger5.throwArgumentError("invalid format type", "format", format3);
75350
75836
  }
75351
75837
  if (format3 === FormatTypes.json) {
75352
75838
  let result2 = {
@@ -75423,7 +75909,7 @@ function parseParams(value, allowIndex) {
75423
75909
  var Fragment = class _Fragment {
75424
75910
  constructor(constructorGuard, params) {
75425
75911
  if (constructorGuard !== _constructorGuard2) {
75426
- logger4.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
75912
+ logger5.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
75427
75913
  operation: "new Fragment()"
75428
75914
  });
75429
75915
  }
@@ -75457,7 +75943,7 @@ var Fragment = class _Fragment {
75457
75943
  case "receive":
75458
75944
  return null;
75459
75945
  }
75460
- return logger4.throwArgumentError("invalid fragment object", "value", value);
75946
+ return logger5.throwArgumentError("invalid fragment object", "value", value);
75461
75947
  }
75462
75948
  static fromString(value) {
75463
75949
  value = value.replace(/\s/g, " ");
@@ -75472,7 +75958,7 @@ var Fragment = class _Fragment {
75472
75958
  } else if (value.split(" ")[0] === "error") {
75473
75959
  return ErrorFragment.fromString(value.substring(5).trim());
75474
75960
  }
75475
- return logger4.throwArgumentError("unsupported fragment", "value", value);
75961
+ return logger5.throwArgumentError("unsupported fragment", "value", value);
75476
75962
  }
75477
75963
  static isFragment(value) {
75478
75964
  return !!(value && value._isFragment);
@@ -75484,7 +75970,7 @@ var EventFragment = class _EventFragment extends Fragment {
75484
75970
  format3 = FormatTypes.sighash;
75485
75971
  }
75486
75972
  if (!FormatTypes[format3]) {
75487
- logger4.throwArgumentError("invalid format type", "format", format3);
75973
+ logger5.throwArgumentError("invalid format type", "format", format3);
75488
75974
  }
75489
75975
  if (format3 === FormatTypes.json) {
75490
75976
  return JSON.stringify({
@@ -75517,7 +76003,7 @@ var EventFragment = class _EventFragment extends Fragment {
75517
76003
  return value;
75518
76004
  }
75519
76005
  if (value.type !== "event") {
75520
- logger4.throwArgumentError("invalid event object", "value", value);
76006
+ logger5.throwArgumentError("invalid event object", "value", value);
75521
76007
  }
75522
76008
  const params = {
75523
76009
  name: verifyIdentifier(value.name),
@@ -75530,7 +76016,7 @@ var EventFragment = class _EventFragment extends Fragment {
75530
76016
  static fromString(value) {
75531
76017
  let match = value.match(regexParen);
75532
76018
  if (!match) {
75533
- logger4.throwArgumentError("invalid event string", "value", value);
76019
+ logger5.throwArgumentError("invalid event string", "value", value);
75534
76020
  }
75535
76021
  let anonymous = false;
75536
76022
  match[3].split(" ").forEach((modifier) => {
@@ -75541,7 +76027,7 @@ var EventFragment = class _EventFragment extends Fragment {
75541
76027
  case "":
75542
76028
  break;
75543
76029
  default:
75544
- logger4.warn("unknown modifier: " + modifier);
76030
+ logger5.warn("unknown modifier: " + modifier);
75545
76031
  }
75546
76032
  });
75547
76033
  return _EventFragment.fromObject({
@@ -75560,10 +76046,10 @@ function parseGas(value, params) {
75560
76046
  let comps = value.split("@");
75561
76047
  if (comps.length !== 1) {
75562
76048
  if (comps.length > 2) {
75563
- logger4.throwArgumentError("invalid human-readable ABI signature", "value", value);
76049
+ logger5.throwArgumentError("invalid human-readable ABI signature", "value", value);
75564
76050
  }
75565
76051
  if (!comps[1].match(/^[0-9]+$/)) {
75566
- logger4.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
76052
+ logger5.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
75567
76053
  }
75568
76054
  params.gas = BigNumber.from(comps[1]);
75569
76055
  return comps[0];
@@ -75615,19 +76101,19 @@ function verifyState(value) {
75615
76101
  result.constant = result.stateMutability === "view" || result.stateMutability === "pure";
75616
76102
  if (value.constant != null) {
75617
76103
  if (!!value.constant !== result.constant) {
75618
- logger4.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
76104
+ logger5.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
75619
76105
  }
75620
76106
  }
75621
76107
  result.payable = result.stateMutability === "payable";
75622
76108
  if (value.payable != null) {
75623
76109
  if (!!value.payable !== result.payable) {
75624
- logger4.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
76110
+ logger5.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
75625
76111
  }
75626
76112
  }
75627
76113
  } else if (value.payable != null) {
75628
76114
  result.payable = !!value.payable;
75629
76115
  if (value.constant == null && !result.payable && value.type !== "constructor") {
75630
- logger4.throwArgumentError("unable to determine stateMutability", "value", value);
76116
+ logger5.throwArgumentError("unable to determine stateMutability", "value", value);
75631
76117
  }
75632
76118
  result.constant = !!value.constant;
75633
76119
  if (result.constant) {
@@ -75636,14 +76122,14 @@ function verifyState(value) {
75636
76122
  result.stateMutability = result.payable ? "payable" : "nonpayable";
75637
76123
  }
75638
76124
  if (result.payable && result.constant) {
75639
- logger4.throwArgumentError("cannot have constant payable function", "value", value);
76125
+ logger5.throwArgumentError("cannot have constant payable function", "value", value);
75640
76126
  }
75641
76127
  } else if (value.constant != null) {
75642
76128
  result.constant = !!value.constant;
75643
76129
  result.payable = !result.constant;
75644
76130
  result.stateMutability = result.constant ? "view" : "payable";
75645
76131
  } else if (value.type !== "constructor") {
75646
- logger4.throwArgumentError("unable to determine stateMutability", "value", value);
76132
+ logger5.throwArgumentError("unable to determine stateMutability", "value", value);
75647
76133
  }
75648
76134
  return result;
75649
76135
  }
@@ -75653,7 +76139,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75653
76139
  format3 = FormatTypes.sighash;
75654
76140
  }
75655
76141
  if (!FormatTypes[format3]) {
75656
- logger4.throwArgumentError("invalid format type", "format", format3);
76142
+ logger5.throwArgumentError("invalid format type", "format", format3);
75657
76143
  }
75658
76144
  if (format3 === FormatTypes.json) {
75659
76145
  return JSON.stringify({
@@ -75665,7 +76151,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75665
76151
  });
75666
76152
  }
75667
76153
  if (format3 === FormatTypes.sighash) {
75668
- logger4.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
76154
+ logger5.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
75669
76155
  operation: "format(sighash)"
75670
76156
  });
75671
76157
  }
@@ -75686,11 +76172,11 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75686
76172
  return value;
75687
76173
  }
75688
76174
  if (value.type !== "constructor") {
75689
- logger4.throwArgumentError("invalid constructor object", "value", value);
76175
+ logger5.throwArgumentError("invalid constructor object", "value", value);
75690
76176
  }
75691
76177
  let state = verifyState(value);
75692
76178
  if (state.constant) {
75693
- logger4.throwArgumentError("constructor cannot be constant", "value", value);
76179
+ logger5.throwArgumentError("constructor cannot be constant", "value", value);
75694
76180
  }
75695
76181
  const params = {
75696
76182
  name: null,
@@ -75707,7 +76193,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75707
76193
  value = parseGas(value, params);
75708
76194
  let parens = value.match(regexParen);
75709
76195
  if (!parens || parens[1].trim() !== "constructor") {
75710
- logger4.throwArgumentError("invalid constructor string", "value", value);
76196
+ logger5.throwArgumentError("invalid constructor string", "value", value);
75711
76197
  }
75712
76198
  params.inputs = parseParams(parens[2].trim(), false);
75713
76199
  parseModifiers(parens[3].trim(), params);
@@ -75723,7 +76209,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75723
76209
  format3 = FormatTypes.sighash;
75724
76210
  }
75725
76211
  if (!FormatTypes[format3]) {
75726
- logger4.throwArgumentError("invalid format type", "format", format3);
76212
+ logger5.throwArgumentError("invalid format type", "format", format3);
75727
76213
  }
75728
76214
  if (format3 === FormatTypes.json) {
75729
76215
  return JSON.stringify({
@@ -75770,7 +76256,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75770
76256
  return value;
75771
76257
  }
75772
76258
  if (value.type !== "function") {
75773
- logger4.throwArgumentError("invalid function object", "value", value);
76259
+ logger5.throwArgumentError("invalid function object", "value", value);
75774
76260
  }
75775
76261
  let state = verifyState(value);
75776
76262
  const params = {
@@ -75790,11 +76276,11 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75790
76276
  value = parseGas(value, params);
75791
76277
  let comps = value.split(" returns ");
75792
76278
  if (comps.length > 2) {
75793
- logger4.throwArgumentError("invalid function string", "value", value);
76279
+ logger5.throwArgumentError("invalid function string", "value", value);
75794
76280
  }
75795
76281
  let parens = comps[0].match(regexParen);
75796
76282
  if (!parens) {
75797
- logger4.throwArgumentError("invalid function signature", "value", value);
76283
+ logger5.throwArgumentError("invalid function signature", "value", value);
75798
76284
  }
75799
76285
  params.name = parens[1].trim();
75800
76286
  if (params.name) {
@@ -75805,7 +76291,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75805
76291
  if (comps.length > 1) {
75806
76292
  let returns = comps[1].match(regexParen);
75807
76293
  if (returns[1].trim() != "" || returns[3].trim() != "") {
75808
- logger4.throwArgumentError("unexpected tokens", "value", value);
76294
+ logger5.throwArgumentError("unexpected tokens", "value", value);
75809
76295
  }
75810
76296
  params.outputs = parseParams(returns[2], false);
75811
76297
  } else {
@@ -75820,7 +76306,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75820
76306
  function checkForbidden(fragment) {
75821
76307
  const sig = fragment.format();
75822
76308
  if (sig === "Error(string)" || sig === "Panic(uint256)") {
75823
- logger4.throwArgumentError(`cannot specify user defined ${sig} error`, "fragment", fragment);
76309
+ logger5.throwArgumentError(`cannot specify user defined ${sig} error`, "fragment", fragment);
75824
76310
  }
75825
76311
  return fragment;
75826
76312
  }
@@ -75830,7 +76316,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75830
76316
  format3 = FormatTypes.sighash;
75831
76317
  }
75832
76318
  if (!FormatTypes[format3]) {
75833
- logger4.throwArgumentError("invalid format type", "format", format3);
76319
+ logger5.throwArgumentError("invalid format type", "format", format3);
75834
76320
  }
75835
76321
  if (format3 === FormatTypes.json) {
75836
76322
  return JSON.stringify({
@@ -75857,7 +76343,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75857
76343
  return value;
75858
76344
  }
75859
76345
  if (value.type !== "error") {
75860
- logger4.throwArgumentError("invalid error object", "value", value);
76346
+ logger5.throwArgumentError("invalid error object", "value", value);
75861
76347
  }
75862
76348
  const params = {
75863
76349
  type: value.type,
@@ -75870,7 +76356,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75870
76356
  let params = { type: "error" };
75871
76357
  let parens = value.match(regexParen);
75872
76358
  if (!parens) {
75873
- logger4.throwArgumentError("invalid error signature", "value", value);
76359
+ logger5.throwArgumentError("invalid error signature", "value", value);
75874
76360
  }
75875
76361
  params.name = parens[1].trim();
75876
76362
  if (params.name) {
@@ -75894,7 +76380,7 @@ function verifyType(type) {
75894
76380
  var regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");
75895
76381
  function verifyIdentifier(value) {
75896
76382
  if (!value || !value.match(regexIdentifier)) {
75897
- logger4.throwArgumentError(`invalid identifier "${value}"`, "value", value);
76383
+ logger5.throwArgumentError(`invalid identifier "${value}"`, "value", value);
75898
76384
  }
75899
76385
  return value;
75900
76386
  }
@@ -75916,7 +76402,7 @@ function splitNesting(value) {
75916
76402
  } else if (c === ")") {
75917
76403
  depth--;
75918
76404
  if (depth === -1) {
75919
- logger4.throwArgumentError("unbalanced parenthesis", "value", value);
76405
+ logger5.throwArgumentError("unbalanced parenthesis", "value", value);
75920
76406
  }
75921
76407
  }
75922
76408
  }
@@ -75928,7 +76414,7 @@ function splitNesting(value) {
75928
76414
  }
75929
76415
 
75930
76416
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js
75931
- var logger5 = new Logger(version5);
76417
+ var logger6 = new Logger(version5);
75932
76418
  var Coder = class {
75933
76419
  constructor(name, type, localName, dynamic) {
75934
76420
  this.name = name;
@@ -75937,7 +76423,7 @@ var Coder = class {
75937
76423
  this.dynamic = dynamic;
75938
76424
  }
75939
76425
  _throwError(message, value) {
75940
- logger5.throwArgumentError(message, this.localName, value);
76426
+ logger6.throwArgumentError(message, this.localName, value);
75941
76427
  }
75942
76428
  };
75943
76429
  var Writer = class {
@@ -75973,7 +76459,7 @@ var Writer = class {
75973
76459
  _getValue(value) {
75974
76460
  let bytes = arrayify(BigNumber.from(value));
75975
76461
  if (bytes.length > this.wordSize) {
75976
- logger5.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76462
+ logger6.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
75977
76463
  length: this.wordSize,
75978
76464
  offset: bytes.length
75979
76465
  });
@@ -76030,7 +76516,7 @@ var Reader = class _Reader {
76030
76516
  if (this.allowLoose && loose && this._offset + length <= this._data.length) {
76031
76517
  alignedLength = length;
76032
76518
  } else {
76033
- logger5.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76519
+ logger6.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76034
76520
  length: this._data.length,
76035
76521
  offset: this._offset + alignedLength
76036
76522
  });
@@ -76061,10 +76547,10 @@ function keccak256(data) {
76061
76547
  var version6 = "address/5.7.0";
76062
76548
 
76063
76549
  // ../../node_modules/.pnpm/@ethersproject+address@5.7.0/node_modules/@ethersproject/address/lib.esm/index.js
76064
- var logger6 = new Logger(version6);
76550
+ var logger7 = new Logger(version6);
76065
76551
  function getChecksumAddress(address) {
76066
76552
  if (!isHexString(address, 20)) {
76067
- logger6.throwArgumentError("invalid address", "address", address);
76553
+ logger7.throwArgumentError("invalid address", "address", address);
76068
76554
  }
76069
76555
  address = address.toLowerCase();
76070
76556
  const chars = address.substring(2).split("");
@@ -76117,7 +76603,7 @@ function ibanChecksum(address) {
76117
76603
  function getAddress(address) {
76118
76604
  let result = null;
76119
76605
  if (typeof address !== "string") {
76120
- logger6.throwArgumentError("invalid address", "address", address);
76606
+ logger7.throwArgumentError("invalid address", "address", address);
76121
76607
  }
76122
76608
  if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {
76123
76609
  if (address.substring(0, 2) !== "0x") {
@@ -76125,11 +76611,11 @@ function getAddress(address) {
76125
76611
  }
76126
76612
  result = getChecksumAddress(address);
76127
76613
  if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {
76128
- logger6.throwArgumentError("bad address checksum", "address", address);
76614
+ logger7.throwArgumentError("bad address checksum", "address", address);
76129
76615
  }
76130
76616
  } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {
76131
76617
  if (address.substring(2, 4) !== ibanChecksum(address)) {
76132
- logger6.throwArgumentError("bad icap checksum", "address", address);
76618
+ logger7.throwArgumentError("bad icap checksum", "address", address);
76133
76619
  }
76134
76620
  result = _base36To16(address.substring(4));
76135
76621
  while (result.length < 40) {
@@ -76137,7 +76623,7 @@ function getAddress(address) {
76137
76623
  }
76138
76624
  result = getChecksumAddress("0x" + result);
76139
76625
  } else {
76140
- logger6.throwArgumentError("invalid address", "address", address);
76626
+ logger7.throwArgumentError("invalid address", "address", address);
76141
76627
  }
76142
76628
  return result;
76143
76629
  }
@@ -76181,7 +76667,7 @@ var AnonymousCoder = class extends Coder {
76181
76667
  };
76182
76668
 
76183
76669
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/array.js
76184
- var logger7 = new Logger(version5);
76670
+ var logger8 = new Logger(version5);
76185
76671
  function pack(writer, coders, values) {
76186
76672
  let arrayValues = null;
76187
76673
  if (Array.isArray(values)) {
@@ -76191,14 +76677,14 @@ function pack(writer, coders, values) {
76191
76677
  arrayValues = coders.map((coder) => {
76192
76678
  const name = coder.localName;
76193
76679
  if (!name) {
76194
- logger7.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, {
76680
+ logger8.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, {
76195
76681
  argument: "values",
76196
76682
  coder,
76197
76683
  value: values
76198
76684
  });
76199
76685
  }
76200
76686
  if (unique[name]) {
76201
- logger7.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, {
76687
+ logger8.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, {
76202
76688
  argument: "values",
76203
76689
  coder,
76204
76690
  value: values
@@ -76208,10 +76694,10 @@ function pack(writer, coders, values) {
76208
76694
  return values[name];
76209
76695
  });
76210
76696
  } else {
76211
- logger7.throwArgumentError("invalid tuple value", "tuple", values);
76697
+ logger8.throwArgumentError("invalid tuple value", "tuple", values);
76212
76698
  }
76213
76699
  if (coders.length !== arrayValues.length) {
76214
- logger7.throwArgumentError("types/value length mismatch", "tuple", values);
76700
+ logger8.throwArgumentError("types/value length mismatch", "tuple", values);
76215
76701
  }
76216
76702
  let staticWriter = new Writer(writer.wordSize);
76217
76703
  let dynamicWriter = new Writer(writer.wordSize);
@@ -76343,7 +76829,7 @@ var ArrayCoder = class extends Coder {
76343
76829
  count = value.length;
76344
76830
  writer.writeValue(value.length);
76345
76831
  }
76346
- logger7.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
76832
+ logger8.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
76347
76833
  let coders = [];
76348
76834
  for (let i = 0; i < value.length; i++) {
76349
76835
  coders.push(this.coder);
@@ -76355,7 +76841,7 @@ var ArrayCoder = class extends Coder {
76355
76841
  if (count === -1) {
76356
76842
  count = reader.readValue().toNumber();
76357
76843
  if (count * 32 > reader._data.length) {
76358
- logger7.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, {
76844
+ logger8.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, {
76359
76845
  length: reader._data.length,
76360
76846
  count
76361
76847
  });
@@ -76501,7 +76987,7 @@ var NumberCoder = class extends Coder {
76501
76987
  var version7 = "strings/5.7.0";
76502
76988
 
76503
76989
  // ../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/utf8.js
76504
- var logger8 = new Logger(version7);
76990
+ var logger9 = new Logger(version7);
76505
76991
  var UnicodeNormalizationForm;
76506
76992
  (function(UnicodeNormalizationForm2) {
76507
76993
  UnicodeNormalizationForm2["current"] = "";
@@ -76521,7 +77007,7 @@ var Utf8ErrorReason;
76521
77007
  Utf8ErrorReason2["OVERLONG"] = "overlong representation";
76522
77008
  })(Utf8ErrorReason || (Utf8ErrorReason = {}));
76523
77009
  function errorFunc(reason, offset, bytes, output, badCodepoint) {
76524
- return logger8.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, "bytes", bytes);
77010
+ return logger9.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, "bytes", bytes);
76525
77011
  }
76526
77012
  function ignoreFunc(reason, offset, bytes, output, badCodepoint) {
76527
77013
  if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {
@@ -76620,7 +77106,7 @@ function getUtf8CodePoints(bytes, onError) {
76620
77106
  }
76621
77107
  function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) {
76622
77108
  if (form != UnicodeNormalizationForm.current) {
76623
- logger8.checkNormalize();
77109
+ logger9.checkNormalize();
76624
77110
  str = str.normalize(form);
76625
77111
  }
76626
77112
  let result = [];
@@ -76733,7 +77219,7 @@ var TupleCoder = class extends Coder {
76733
77219
  };
76734
77220
 
76735
77221
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/abi-coder.js
76736
- var logger9 = new Logger(version5);
77222
+ var logger10 = new Logger(version5);
76737
77223
  var paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
76738
77224
  var paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
76739
77225
  var AbiCoder = class {
@@ -76763,7 +77249,7 @@ var AbiCoder = class {
76763
77249
  if (match) {
76764
77250
  let size = parseInt(match[2] || "256");
76765
77251
  if (size === 0 || size > 256 || size % 8 !== 0) {
76766
- logger9.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
77252
+ logger10.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
76767
77253
  }
76768
77254
  return new NumberCoder(size / 8, match[1] === "int", param.name);
76769
77255
  }
@@ -76771,11 +77257,11 @@ var AbiCoder = class {
76771
77257
  if (match) {
76772
77258
  let size = parseInt(match[1]);
76773
77259
  if (size === 0 || size > 32) {
76774
- logger9.throwArgumentError("invalid bytes length", "param", param);
77260
+ logger10.throwArgumentError("invalid bytes length", "param", param);
76775
77261
  }
76776
77262
  return new FixedBytesCoder(size, param.name);
76777
77263
  }
76778
- return logger9.throwArgumentError("invalid type", "type", param.type);
77264
+ return logger10.throwArgumentError("invalid type", "type", param.type);
76779
77265
  }
76780
77266
  _getWordSize() {
76781
77267
  return 32;
@@ -76793,7 +77279,7 @@ var AbiCoder = class {
76793
77279
  }
76794
77280
  encode(types2, values) {
76795
77281
  if (types2.length !== values.length) {
76796
- logger9.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
77282
+ logger10.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
76797
77283
  count: { types: types2.length, values: values.length },
76798
77284
  value: { types: types2, values }
76799
77285
  });
@@ -76818,7 +77304,7 @@ function id(text) {
76818
77304
  }
76819
77305
 
76820
77306
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/interface.js
76821
- var logger10 = new Logger(version5);
77307
+ var logger11 = new Logger(version5);
76822
77308
  var LogDescription = class extends Description {
76823
77309
  };
76824
77310
  var TransactionDescription = class extends Description {
@@ -76860,7 +77346,7 @@ var Interface = class {
76860
77346
  switch (fragment.type) {
76861
77347
  case "constructor":
76862
77348
  if (this.deploy) {
76863
- logger10.warn("duplicate definition - constructor");
77349
+ logger11.warn("duplicate definition - constructor");
76864
77350
  return;
76865
77351
  }
76866
77352
  defineReadOnly(this, "deploy", fragment);
@@ -76879,7 +77365,7 @@ var Interface = class {
76879
77365
  }
76880
77366
  let signature = fragment.format();
76881
77367
  if (bucket[signature]) {
76882
- logger10.warn("duplicate definition - " + signature);
77368
+ logger11.warn("duplicate definition - " + signature);
76883
77369
  return;
76884
77370
  }
76885
77371
  bucket[signature] = fragment;
@@ -76897,7 +77383,7 @@ var Interface = class {
76897
77383
  format3 = FormatTypes.full;
76898
77384
  }
76899
77385
  if (format3 === FormatTypes.sighash) {
76900
- logger10.throwArgumentError("interface does not support formatting sighash", "format", format3);
77386
+ logger11.throwArgumentError("interface does not support formatting sighash", "format", format3);
76901
77387
  }
76902
77388
  const abi = this.fragments.map((fragment) => fragment.format(format3));
76903
77389
  if (format3 === FormatTypes.json) {
@@ -76926,7 +77412,7 @@ var Interface = class {
76926
77412
  return this.functions[name];
76927
77413
  }
76928
77414
  }
76929
- logger10.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
77415
+ logger11.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
76930
77416
  }
76931
77417
  if (nameOrSignatureOrSighash.indexOf("(") === -1) {
76932
77418
  const name = nameOrSignatureOrSighash.trim();
@@ -76935,15 +77421,15 @@ var Interface = class {
76935
77421
  /* fix:) */
76936
77422
  )[0] === name);
76937
77423
  if (matching.length === 0) {
76938
- logger10.throwArgumentError("no matching function", "name", name);
77424
+ logger11.throwArgumentError("no matching function", "name", name);
76939
77425
  } else if (matching.length > 1) {
76940
- logger10.throwArgumentError("multiple matching functions", "name", name);
77426
+ logger11.throwArgumentError("multiple matching functions", "name", name);
76941
77427
  }
76942
77428
  return this.functions[matching[0]];
76943
77429
  }
76944
77430
  const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
76945
77431
  if (!result) {
76946
- logger10.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
77432
+ logger11.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
76947
77433
  }
76948
77434
  return result;
76949
77435
  }
@@ -76956,7 +77442,7 @@ var Interface = class {
76956
77442
  return this.events[name];
76957
77443
  }
76958
77444
  }
76959
- logger10.throwArgumentError("no matching event", "topichash", topichash);
77445
+ logger11.throwArgumentError("no matching event", "topichash", topichash);
76960
77446
  }
76961
77447
  if (nameOrSignatureOrTopic.indexOf("(") === -1) {
76962
77448
  const name = nameOrSignatureOrTopic.trim();
@@ -76965,15 +77451,15 @@ var Interface = class {
76965
77451
  /* fix:) */
76966
77452
  )[0] === name);
76967
77453
  if (matching.length === 0) {
76968
- logger10.throwArgumentError("no matching event", "name", name);
77454
+ logger11.throwArgumentError("no matching event", "name", name);
76969
77455
  } else if (matching.length > 1) {
76970
- logger10.throwArgumentError("multiple matching events", "name", name);
77456
+ logger11.throwArgumentError("multiple matching events", "name", name);
76971
77457
  }
76972
77458
  return this.events[matching[0]];
76973
77459
  }
76974
77460
  const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];
76975
77461
  if (!result) {
76976
- logger10.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
77462
+ logger11.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
76977
77463
  }
76978
77464
  return result;
76979
77465
  }
@@ -76987,7 +77473,7 @@ var Interface = class {
76987
77473
  return this.errors[name];
76988
77474
  }
76989
77475
  }
76990
- logger10.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
77476
+ logger11.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
76991
77477
  }
76992
77478
  if (nameOrSignatureOrSighash.indexOf("(") === -1) {
76993
77479
  const name = nameOrSignatureOrSighash.trim();
@@ -76996,15 +77482,15 @@ var Interface = class {
76996
77482
  /* fix:) */
76997
77483
  )[0] === name);
76998
77484
  if (matching.length === 0) {
76999
- logger10.throwArgumentError("no matching error", "name", name);
77485
+ logger11.throwArgumentError("no matching error", "name", name);
77000
77486
  } else if (matching.length > 1) {
77001
- logger10.throwArgumentError("multiple matching errors", "name", name);
77487
+ logger11.throwArgumentError("multiple matching errors", "name", name);
77002
77488
  }
77003
77489
  return this.errors[matching[0]];
77004
77490
  }
77005
77491
  const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
77006
77492
  if (!result) {
77007
- logger10.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
77493
+ logger11.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
77008
77494
  }
77009
77495
  return result;
77010
77496
  }
@@ -77045,7 +77531,7 @@ var Interface = class {
77045
77531
  }
77046
77532
  const bytes = arrayify(data);
77047
77533
  if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {
77048
- logger10.throwArgumentError(`data signature does not match error ${fragment.name}.`, "data", hexlify(bytes));
77534
+ logger11.throwArgumentError(`data signature does not match error ${fragment.name}.`, "data", hexlify(bytes));
77049
77535
  }
77050
77536
  return this._decodeParams(fragment.inputs, bytes.slice(4));
77051
77537
  }
@@ -77065,7 +77551,7 @@ var Interface = class {
77065
77551
  }
77066
77552
  const bytes = arrayify(data);
77067
77553
  if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
77068
- logger10.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", hexlify(bytes));
77554
+ logger11.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", hexlify(bytes));
77069
77555
  }
77070
77556
  return this._decodeParams(functionFragment.inputs, bytes.slice(4));
77071
77557
  }
@@ -77124,7 +77610,7 @@ var Interface = class {
77124
77610
  break;
77125
77611
  }
77126
77612
  }
77127
- return logger10.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, {
77613
+ return logger11.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, {
77128
77614
  method: functionFragment.format(),
77129
77615
  data: hexlify(data),
77130
77616
  errorArgs,
@@ -77146,7 +77632,7 @@ var Interface = class {
77146
77632
  eventFragment = this.getEvent(eventFragment);
77147
77633
  }
77148
77634
  if (values.length > eventFragment.inputs.length) {
77149
- logger10.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
77635
+ logger11.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
77150
77636
  argument: "values",
77151
77637
  value: values
77152
77638
  });
@@ -77176,14 +77662,14 @@ var Interface = class {
77176
77662
  let param = eventFragment.inputs[index];
77177
77663
  if (!param.indexed) {
77178
77664
  if (value != null) {
77179
- logger10.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
77665
+ logger11.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
77180
77666
  }
77181
77667
  return;
77182
77668
  }
77183
77669
  if (value == null) {
77184
77670
  topics.push(null);
77185
77671
  } else if (param.baseType === "array" || param.baseType === "tuple") {
77186
- logger10.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
77672
+ logger11.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
77187
77673
  } else if (Array.isArray(value)) {
77188
77674
  topics.push(value.map((value2) => encodeTopic(param, value2)));
77189
77675
  } else {
@@ -77206,7 +77692,7 @@ var Interface = class {
77206
77692
  topics.push(this.getEventTopic(eventFragment));
77207
77693
  }
77208
77694
  if (values.length !== eventFragment.inputs.length) {
77209
- logger10.throwArgumentError("event arguments/values mismatch", "values", values);
77695
+ logger11.throwArgumentError("event arguments/values mismatch", "values", values);
77210
77696
  }
77211
77697
  eventFragment.inputs.forEach((param, index) => {
77212
77698
  const value = values[index];
@@ -77238,7 +77724,7 @@ var Interface = class {
77238
77724
  if (topics != null && !eventFragment.anonymous) {
77239
77725
  let topicHash = this.getEventTopic(eventFragment);
77240
77726
  if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
77241
- logger10.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
77727
+ logger11.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
77242
77728
  }
77243
77729
  topics = topics.slice(1);
77244
77730
  }
@@ -77469,38 +77955,38 @@ var isFile2 = (pathlike) => {
77469
77955
  return false;
77470
77956
  }
77471
77957
  };
77472
- var verifyNonTarget = async (config, logger11) => {
77473
- const networks = parseNetworksConfig(logger11, config.networks);
77958
+ var verifyNonTarget = async (config, logger12) => {
77959
+ const networks2 = parseNetworksConfig(logger12, config.networks);
77474
77960
  const paths = parsePathsConfig(config.paths);
77475
- const recordLogger = createRecordLogger(logger11);
77476
- const verifyAll = createVerifyAll(logger11);
77961
+ const recordLogger = createRecordLogger(logger12);
77962
+ const verifyAll = createVerifyAll(logger12);
77477
77963
  const logResult = createLogVerificationResult(recordLogger);
77478
77964
  const verificationArtifacts = config.contracts.flatMap((contract) => {
77479
77965
  var _a;
77480
77966
  const { address, network, contractName, deployment: deploymentPathOrBasename } = contract;
77481
- logger11.info(`Collecting information for contract ${contractName} on network ${network}`);
77482
- const networkConfig = networks[network];
77967
+ logger12.info(`Collecting information for contract ${contractName} on network ${network}`);
77968
+ const networkConfig = networks2[network];
77483
77969
  if (networkConfig == null) {
77484
- logger11.info(`No network configured for contract ${contractName} on network ${network}`);
77970
+ logger12.info(`No network configured for contract ${contractName} on network ${network}`);
77485
77971
  return [];
77486
77972
  }
77487
77973
  const deploymentPath = `${path.basename(deploymentPathOrBasename, ".json")}.json`;
77488
77974
  const contractDeploymentPath = path.resolve(paths.deployments, network, deploymentPath);
77489
77975
  if (!isFile2(contractDeploymentPath)) {
77490
- logger11.error(COLORS.error`Deployment file ${contractDeploymentPath} does not exist or is not a file`);
77976
+ logger12.error(COLORS.error`Deployment file ${contractDeploymentPath} does not exist or is not a file`);
77491
77977
  return [];
77492
77978
  }
77493
77979
  const rawDeployment = __require(contractDeploymentPath);
77494
77980
  const deploymentParseResult = DeploymentSchema.safeParse(rawDeployment);
77495
77981
  if (!deploymentParseResult.success) {
77496
- logger11.error(COLORS.error`No network configured for contract ${contractName} on network ${network}`);
77982
+ logger12.error(COLORS.error`No network configured for contract ${contractName} on network ${network}`);
77497
77983
  return [];
77498
77984
  }
77499
77985
  const deployment = deploymentParseResult.data;
77500
77986
  const contractClassName = path.basename(contractName, ".sol");
77501
77987
  const source = deployment.metadata.sources[contractName];
77502
77988
  if (source == null) {
77503
- logger11.error(
77989
+ logger12.error(
77504
77990
  COLORS.error`Missing source for contract ${contractName} for network ${network} in ${deploymentPath}`
77505
77991
  );
77506
77992
  return [];
@@ -77520,6 +78006,7 @@ var verifyNonTarget = async (config, logger11) => {
77520
78006
  const submitProps = {
77521
78007
  apiUrl: networkConfig.apiUrl,
77522
78008
  apiKey: networkConfig.apiKey,
78009
+ chainId: networkConfig.chainId,
77523
78010
  address,
77524
78011
  contractName: `${contractName}:${contractClassName}`,
77525
78012
  constructorArguments,
@@ -77548,38 +78035,38 @@ var verifyNonTarget = async (config, logger11) => {
77548
78035
  ];
77549
78036
  });
77550
78037
  if (verificationArtifacts.length === 0) {
77551
- logger11.warn("No contracts match the verification criteria, exiting");
78038
+ logger12.warn("No contracts match the verification criteria, exiting");
77552
78039
  return [];
77553
78040
  }
77554
78041
  if (config.dryRun) {
77555
- logger11.debug("Dry run enabled, exiting");
78042
+ logger12.debug("Dry run enabled, exiting");
77556
78043
  return [];
77557
78044
  }
77558
78045
  const results = await Promise.all(verifyAll(verificationArtifacts));
77559
78046
  results.forEach(logResult);
77560
78047
  return results;
77561
78048
  };
77562
- var verifyTarget = async (config, logger11) => {
78049
+ var verifyTarget = async (config, logger12) => {
77563
78050
  const verify = parseFilterConfig(config.filter);
77564
- const networks = parseNetworksConfig(logger11, config.networks);
78051
+ const networks2 = parseNetworksConfig(logger12, config.networks);
77565
78052
  const paths = parsePathsConfig(config.paths);
77566
- const recordLogger = createRecordLogger(logger11);
77567
- const verifyAll = createVerifyAll(logger11);
78053
+ const recordLogger = createRecordLogger(logger12);
78054
+ const verifyAll = createVerifyAll(logger12);
77568
78055
  const logResult = createLogVerificationResult(recordLogger);
77569
78056
  if (!isDirectory(paths.deployments)) {
77570
78057
  throw new Error(`Path ${paths.deployments} is not a directory`);
77571
78058
  }
77572
78059
  const deployedNetworkNames = new Set(fs.readdirSync(paths.deployments));
77573
- const networkConfigEntries = Object.entries(networks);
77574
- logger11.debug("Verifying deployments for following networks:");
78060
+ const networkConfigEntries = Object.entries(networks2);
78061
+ logger12.debug("Verifying deployments for following networks:");
77575
78062
  networkConfigEntries.forEach(([networkName, networkConfig]) => {
77576
- logger11.debug(` - ${networkName} (API URL ${networkConfig.apiUrl})`);
78063
+ logger12.debug(` - ${networkName} (API URL ${networkConfig.apiUrl})`);
77577
78064
  });
77578
78065
  const verificationArtifacts = networkConfigEntries.flatMap(
77579
78066
  ([networkName, networkConfig]) => {
77580
- logger11.info(`Collecting deployments for ${networkName}...`);
78067
+ logger12.info(`Collecting deployments for ${networkName}...`);
77581
78068
  if (!deployedNetworkNames.has(networkName)) {
77582
- logger11.warn(`Could not find deployment for network ${networkName} in ${paths.deployments}`);
78069
+ logger12.warn(`Could not find deployment for network ${networkName} in ${paths.deployments}`);
77583
78070
  return [];
77584
78071
  }
77585
78072
  const deploymentAbsolutePath = path.resolve(paths.deployments, networkName);
@@ -77587,7 +78074,7 @@ var verifyTarget = async (config, logger11) => {
77587
78074
  (fileName) => fileName.endsWith(".json")
77588
78075
  );
77589
78076
  return deployedContractFileNames.flatMap((fileName) => {
77590
- logger11.info(`Inspecting deployment file ${fileName} on network ${networkName}`);
78077
+ logger12.info(`Inspecting deployment file ${fileName} on network ${networkName}`);
77591
78078
  const contractDeploymentPath = path.resolve(deploymentAbsolutePath, fileName);
77592
78079
  const rawDeployment = __require(contractDeploymentPath);
77593
78080
  const deploymentParseResult = DeploymentSchema.safeParse(rawDeployment);
@@ -77602,12 +78089,12 @@ var verifyTarget = async (config, logger11) => {
77602
78089
  var _a;
77603
78090
  const shouldVerifyHardhatDeploy = verify(contractName, compilationTarget, networkName);
77604
78091
  if (!shouldVerifyHardhatDeploy) {
77605
- logger11.debug(`Not verifying ${contractName} in ${fileName} on network ${networkName}`);
78092
+ logger12.debug(`Not verifying ${contractName} in ${fileName} on network ${networkName}`);
77606
78093
  return [];
77607
78094
  }
77608
78095
  const source = deployment.metadata.sources[compilationTarget];
77609
78096
  if (source == null) {
77610
- logger11.error(COLORS.error`Could not find source for ${contractName} (${compilationTarget})`);
78097
+ logger12.error(COLORS.error`Could not find source for ${contractName} (${compilationTarget})`);
77611
78098
  return [];
77612
78099
  }
77613
78100
  const licenseType = findLicenseType(source.content);
@@ -77616,6 +78103,7 @@ var verifyTarget = async (config, logger11) => {
77616
78103
  const submitProps = {
77617
78104
  apiUrl: networkConfig.apiUrl,
77618
78105
  apiKey: networkConfig.apiKey,
78106
+ chainId: networkConfig.chainId,
77619
78107
  address: deployment.address,
77620
78108
  contractName: `${compilationTarget}:${contractName}`,
77621
78109
  constructorArguments,
@@ -77645,42 +78133,42 @@ var verifyTarget = async (config, logger11) => {
77645
78133
  }
77646
78134
  );
77647
78135
  if (verificationArtifacts.length === 0) {
77648
- logger11.warn("No contracts match the verification criteria, exiting");
78136
+ logger12.warn("No contracts match the verification criteria, exiting");
77649
78137
  return [];
77650
78138
  }
77651
78139
  if (config.dryRun) {
77652
- logger11.debug("Dry run enabled, exiting");
78140
+ logger12.debug("Dry run enabled, exiting");
77653
78141
  return [];
77654
78142
  }
77655
78143
  const results = await Promise.all(verifyAll(verificationArtifacts));
77656
78144
  results.forEach(logResult);
77657
78145
  return results;
77658
78146
  };
77659
- var createVerifyAll = (logger11) => (artifacts) => {
78147
+ var createVerifyAll = (logger12) => (artifacts) => {
77660
78148
  return artifacts.map(async (artifact, index) => {
77661
78149
  const { submitProps } = artifact;
77662
78150
  const paletteColor = COLORS.palette[index % COLORS.palette.length];
77663
78151
  const counter = `[${index + 1}/${artifacts.length}]`;
77664
78152
  const contractName = import_chalk4.default.bold(submitProps.contractName);
77665
78153
  const networkName = import_chalk4.default.bold(artifact.networkName);
77666
- logger11.info(paletteColor`Verifying contract ${contractName} for network ${networkName} ${counter}`);
78154
+ logger12.info(paletteColor`Verifying contract ${contractName} for network ${networkName} ${counter}`);
77667
78155
  try {
77668
- const verification = createVerification(submitProps, logger11);
78156
+ const verification = createVerification(submitProps, logger12);
77669
78157
  verification.on("poll", (guid) => {
77670
- logger11.info(
78158
+ logger12.info(
77671
78159
  paletteColor`Polling for verification status of ${contractName} for network ${networkName} (GUID ${guid}) ${counter}`
77672
78160
  );
77673
78161
  });
77674
78162
  verification.on("retry", (error, attempt) => {
77675
- logger11.verbose(`Received an error: ${error}`);
77676
- logger11.info(
78163
+ logger12.verbose(`Received an error: ${error}`);
78164
+ logger12.info(
77677
78165
  paletteColor`Retrying failed verification attempt of ${contractName} for network ${networkName} (attempt ${attempt + 1}) ${counter}`
77678
78166
  );
77679
78167
  });
77680
78168
  const result = await verification.verify();
77681
78169
  return { artifact, result };
77682
78170
  } catch (error) {
77683
- logger11.error(
78171
+ logger12.error(
77684
78172
  COLORS.error`Problem verifying contract ${contractName} for network ${networkName} ${counter}: ${error} `
77685
78173
  );
77686
78174
  return { artifact, error };