@layerzerolabs/verify-contract 1.1.33 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -7006,9 +7006,9 @@ var require_winston_transport = __commonJS({
7006
7006
  this.logv = options.logv;
7007
7007
  if (options.close)
7008
7008
  this.close = options.close;
7009
- this.once("pipe", (logger11) => {
7010
- this.levels = logger11.levels;
7011
- this.parent = logger11;
7009
+ this.once("pipe", (logger12) => {
7010
+ this.levels = logger12.levels;
7011
+ this.parent = logger12;
7012
7012
  });
7013
7013
  this.once("unpipe", (src) => {
7014
7014
  if (src === this.parent) {
@@ -7986,7 +7986,7 @@ var require_diagnostics = __commonJS({
7986
7986
  "../../node_modules/.pnpm/@dabh+diagnostics@2.0.3/node_modules/@dabh/diagnostics/diagnostics.js"(exports, module) {
7987
7987
  var adapters = [];
7988
7988
  var modifiers = [];
7989
- var logger11 = function devnull() {
7989
+ var logger12 = function devnull() {
7990
7990
  };
7991
7991
  function use(adapter) {
7992
7992
  if (~adapters.indexOf(adapter))
@@ -7995,7 +7995,7 @@ var require_diagnostics = __commonJS({
7995
7995
  return true;
7996
7996
  }
7997
7997
  function set(custom2) {
7998
- logger11 = custom2;
7998
+ logger12 = custom2;
7999
7999
  }
8000
8000
  function enabled(namespace) {
8001
8001
  var async = [];
@@ -8026,7 +8026,7 @@ var require_diagnostics = __commonJS({
8026
8026
  return true;
8027
8027
  }
8028
8028
  function write() {
8029
- logger11.apply(logger11, arguments);
8029
+ logger12.apply(logger12, arguments);
8030
8030
  }
8031
8031
  function process4(message) {
8032
8032
  for (var i = 0; i < modifiers.length; i++) {
@@ -11180,11 +11180,11 @@ var require_exception_handler = __commonJS({
11180
11180
  * TODO: add contructor description
11181
11181
  * @param {!Logger} logger - TODO: add param description
11182
11182
  */
11183
- constructor(logger11) {
11184
- if (!logger11) {
11183
+ constructor(logger12) {
11184
+ if (!logger12) {
11185
11185
  throw new Error("Logger is required to handle exceptions");
11186
11186
  }
11187
- this.logger = logger11;
11187
+ this.logger = logger12;
11188
11188
  this.handlers = /* @__PURE__ */ new Map();
11189
11189
  }
11190
11190
  /**
@@ -11377,11 +11377,11 @@ var require_rejection_handler = __commonJS({
11377
11377
  * TODO: add contructor description
11378
11378
  * @param {!Logger} logger - TODO: add param description
11379
11379
  */
11380
- constructor(logger11) {
11381
- if (!logger11) {
11380
+ constructor(logger12) {
11381
+ if (!logger12) {
11382
11382
  throw new Error("Logger is required to handle rejections");
11383
11383
  }
11384
- this.logger = logger11;
11384
+ this.logger = logger12;
11385
11385
  this.handlers = /* @__PURE__ */ new Map();
11386
11386
  }
11387
11387
  /**
@@ -11577,12 +11577,12 @@ var require_profiler = __commonJS({
11577
11577
  * @param {!Logger} logger - TODO: add param description.
11578
11578
  * @private
11579
11579
  */
11580
- constructor(logger11) {
11580
+ constructor(logger12) {
11581
11581
  const Logger2 = require_logger();
11582
- if (typeof logger11 !== "object" || Array.isArray(logger11) || !(logger11 instanceof Logger2)) {
11582
+ if (typeof logger12 !== "object" || Array.isArray(logger12) || !(logger12 instanceof Logger2)) {
11583
11583
  throw new Error("Logger is required for profiling");
11584
11584
  } else {
11585
- this.logger = logger11;
11585
+ this.logger = logger12;
11586
11586
  this.start = Date.now();
11587
11587
  }
11588
11588
  }
@@ -11632,8 +11632,8 @@ var require_logger = __commonJS({
11632
11632
  this.configure(options);
11633
11633
  }
11634
11634
  child(defaultRequestMetadata) {
11635
- const logger11 = this;
11636
- return Object.create(logger11, {
11635
+ const logger12 = this;
11636
+ return Object.create(logger12, {
11637
11637
  write: {
11638
11638
  value: function(info) {
11639
11639
  const infoClone = Object.assign(
@@ -11645,7 +11645,7 @@ var require_logger = __commonJS({
11645
11645
  infoClone.stack = info.stack;
11646
11646
  infoClone.message = info.message;
11647
11647
  }
11648
- logger11.write(infoClone);
11648
+ logger12.write(infoClone);
11649
11649
  }
11650
11650
  }
11651
11651
  });
@@ -12152,7 +12152,7 @@ var require_create_logger = __commonJS({
12152
12152
  super(options);
12153
12153
  }
12154
12154
  }
12155
- const logger11 = new DerivedLogger(opts);
12155
+ const logger12 = new DerivedLogger(opts);
12156
12156
  Object.keys(opts.levels).forEach(function(level) {
12157
12157
  debug('Define prototype method for "%s"', level);
12158
12158
  if (level === "log") {
@@ -12160,14 +12160,14 @@ var require_create_logger = __commonJS({
12160
12160
  return;
12161
12161
  }
12162
12162
  DerivedLogger.prototype[level] = function(...args) {
12163
- const self2 = this || logger11;
12163
+ const self2 = this || logger12;
12164
12164
  if (args.length === 1) {
12165
12165
  const [msg] = args;
12166
12166
  const info = msg && msg.message && msg || { message: msg };
12167
12167
  info.level = info[LEVEL] = level;
12168
12168
  self2._addDefaultMeta(info);
12169
12169
  self2.write(info);
12170
- return this || logger11;
12170
+ return this || logger12;
12171
12171
  }
12172
12172
  if (args.length === 0) {
12173
12173
  self2.log(level, "");
@@ -12176,10 +12176,10 @@ var require_create_logger = __commonJS({
12176
12176
  return self2.log(level, ...args);
12177
12177
  };
12178
12178
  DerivedLogger.prototype[isLevelEnabledFunctionName(level)] = function() {
12179
- return (this || logger11).isLevelEnabled(level);
12179
+ return (this || logger12).isLevelEnabled(level);
12180
12180
  };
12181
12181
  });
12182
- return logger11;
12182
+ return logger12;
12183
12183
  };
12184
12184
  }
12185
12185
  });
@@ -12187,7 +12187,7 @@ var require_create_logger = __commonJS({
12187
12187
  // ../../node_modules/.pnpm/winston@3.11.0/node_modules/winston/lib/winston/container.js
12188
12188
  var require_container = __commonJS({
12189
12189
  "../../node_modules/.pnpm/winston@3.11.0/node_modules/winston/lib/winston/container.js"(exports, module) {
12190
- var createLogger = require_create_logger();
12190
+ var createLogger2 = require_create_logger();
12191
12191
  module.exports = class Container {
12192
12192
  /**
12193
12193
  * Constructor function for the Container object responsible for managing a
@@ -12214,9 +12214,9 @@ var require_container = __commonJS({
12214
12214
  } else {
12215
12215
  options.transports = [];
12216
12216
  }
12217
- const logger11 = createLogger(options);
12218
- logger11.on("close", () => this._delete(id2));
12219
- this.loggers.set(id2, logger11);
12217
+ const logger12 = createLogger2(options);
12218
+ logger12.on("close", () => this._delete(id2));
12219
+ this.loggers.set(id2, logger12);
12220
12220
  }
12221
12221
  return this.loggers.get(id2);
12222
12222
  }
@@ -12261,8 +12261,8 @@ var require_container = __commonJS({
12261
12261
  if (!this.loggers.has(id2)) {
12262
12262
  return;
12263
12263
  }
12264
- const logger11 = this.loggers.get(id2);
12265
- logger11.close();
12264
+ const logger12 = this.loggers.get(id2);
12265
+ logger12.close();
12266
12266
  this._delete(id2);
12267
12267
  }
12268
12268
  /**
@@ -64817,8 +64817,555 @@ var require_index_cjs = __commonJS({
64817
64817
  }
64818
64818
  });
64819
64819
 
64820
+ // src/common/networks.ts
64821
+ var ETHERSCAN_V2_URL = "https://api.etherscan.io/v2/api";
64822
+ var networks = {
64823
+ // Ethereum
64824
+ ethereum: {
64825
+ chainId: 1,
64826
+ apiUrl: ETHERSCAN_V2_URL,
64827
+ aliases: ["ethereum-mainnet"]
64828
+ },
64829
+ goerli: {
64830
+ // DEPRECATED
64831
+ chainId: 5,
64832
+ apiUrl: ETHERSCAN_V2_URL,
64833
+ aliases: ["ethereum-goerli"]
64834
+ },
64835
+ sepolia: {
64836
+ chainId: 11155111,
64837
+ apiUrl: ETHERSCAN_V2_URL,
64838
+ aliases: ["sepolia-testnet", "eth-sepolia", "ethereum-sepolia"]
64839
+ },
64840
+ holesky: {
64841
+ chainId: 17e3,
64842
+ apiUrl: ETHERSCAN_V2_URL,
64843
+ aliases: ["holesky-testnet", "ethereum-holesky"]
64844
+ },
64845
+ hoodi: {
64846
+ chainId: 560048,
64847
+ apiUrl: ETHERSCAN_V2_URL,
64848
+ aliases: ["hoodi-testnet", "ethereum-hoodi"]
64849
+ },
64850
+ // Polygon
64851
+ polygon: {
64852
+ chainId: 137,
64853
+ apiUrl: ETHERSCAN_V2_URL,
64854
+ aliases: ["polygon-mainnet"]
64855
+ },
64856
+ amoy: {
64857
+ chainId: 80002,
64858
+ apiUrl: ETHERSCAN_V2_URL,
64859
+ aliases: ["polygon-amoy", "polygon-sepolia", "polygon-testnet"]
64860
+ },
64861
+ // Arbitrum
64862
+ arbitrum: {
64863
+ chainId: 42161,
64864
+ apiUrl: ETHERSCAN_V2_URL,
64865
+ aliases: ["arbitrum-mainnet"]
64866
+ },
64867
+ "arbitrum-nova": {
64868
+ chainId: 42170,
64869
+ apiUrl: ETHERSCAN_V2_URL,
64870
+ aliases: ["arbitrum-nova-mainnet"]
64871
+ },
64872
+ "arbitrum-goerli": {
64873
+ // DEPRECATED
64874
+ chainId: 421613,
64875
+ apiUrl: ETHERSCAN_V2_URL
64876
+ },
64877
+ arbsep: {
64878
+ chainId: 421614,
64879
+ apiUrl: ETHERSCAN_V2_URL,
64880
+ aliases: ["arbsep-testnet", "arbitrum-sepolia", "arbitrum-testnet"]
64881
+ },
64882
+ // Optimism
64883
+ optimism: {
64884
+ chainId: 10,
64885
+ apiUrl: ETHERSCAN_V2_URL,
64886
+ aliases: ["optimism-mainnet"]
64887
+ },
64888
+ "optimism-goerli": {
64889
+ // DEPRECATED
64890
+ chainId: 420,
64891
+ apiUrl: ETHERSCAN_V2_URL
64892
+ },
64893
+ optsep: {
64894
+ chainId: 11155420,
64895
+ apiUrl: ETHERSCAN_V2_URL,
64896
+ aliases: ["optsep-testnet", "optimism-sepolia", "optimism-testnet"]
64897
+ },
64898
+ // Base
64899
+ base: {
64900
+ chainId: 8453,
64901
+ apiUrl: ETHERSCAN_V2_URL,
64902
+ aliases: ["base-mainnet"]
64903
+ },
64904
+ "base-sepolia": {
64905
+ chainId: 84532,
64906
+ apiUrl: ETHERSCAN_V2_URL,
64907
+ aliases: ["base-testnet", "basesep"]
64908
+ },
64909
+ "base-goerli": {
64910
+ // DEPRECATED
64911
+ chainId: 84531,
64912
+ apiUrl: ETHERSCAN_V2_URL
64913
+ },
64914
+ // Avalanche
64915
+ avalanche: {
64916
+ chainId: 43114,
64917
+ apiUrl: ETHERSCAN_V2_URL,
64918
+ aliases: ["avalanche-mainnet"]
64919
+ },
64920
+ fuji: {
64921
+ chainId: 43113,
64922
+ apiUrl: ETHERSCAN_V2_URL,
64923
+ aliases: ["avalanche-testnet", "avalanche-fuji"]
64924
+ },
64925
+ // BSC
64926
+ bsc: {
64927
+ chainId: 56,
64928
+ apiUrl: ETHERSCAN_V2_URL,
64929
+ aliases: ["bsc-mainnet"]
64930
+ },
64931
+ "bsc-testnet": {
64932
+ chainId: 97,
64933
+ apiUrl: ETHERSCAN_V2_URL
64934
+ },
64935
+ // Fantom
64936
+ fantom: {
64937
+ chainId: 250,
64938
+ apiUrl: ETHERSCAN_V2_URL,
64939
+ aliases: ["fantom-mainnet"]
64940
+ },
64941
+ "fantom-testnet": {
64942
+ chainId: 4002,
64943
+ apiUrl: ETHERSCAN_V2_URL
64944
+ },
64945
+ // Gnosis
64946
+ gnosis: {
64947
+ chainId: 100,
64948
+ apiUrl: ETHERSCAN_V2_URL,
64949
+ aliases: ["gnosis-mainnet"]
64950
+ },
64951
+ // Blast
64952
+ blast: {
64953
+ chainId: 81457,
64954
+ apiUrl: ETHERSCAN_V2_URL,
64955
+ aliases: ["blast-mainnet"]
64956
+ },
64957
+ "blast-sepolia": {
64958
+ chainId: 168587773,
64959
+ apiUrl: ETHERSCAN_V2_URL,
64960
+ aliases: ["blast-sepolia-testnet", "blast-testnet"]
64961
+ },
64962
+ // Linea / zkConsensys
64963
+ linea: {
64964
+ chainId: 59144,
64965
+ apiUrl: ETHERSCAN_V2_URL,
64966
+ aliases: ["linea-mainnet", "zkconsensys", "zkconsensys-mainnet"]
64967
+ },
64968
+ "linea-sepolia": {
64969
+ chainId: 59141,
64970
+ apiUrl: ETHERSCAN_V2_URL,
64971
+ aliases: ["linea-sepolia-testnet", "linea-testnet", "lineasep"]
64972
+ },
64973
+ // Scroll
64974
+ scroll: {
64975
+ chainId: 534352,
64976
+ apiUrl: ETHERSCAN_V2_URL,
64977
+ aliases: ["scroll-mainnet"]
64978
+ },
64979
+ "scroll-sepolia": {
64980
+ chainId: 534351,
64981
+ apiUrl: ETHERSCAN_V2_URL,
64982
+ aliases: ["scroll-sepolia-testnet", "scroll-testnet"]
64983
+ },
64984
+ // Moonbeam
64985
+ moonbeam: {
64986
+ chainId: 1284,
64987
+ apiUrl: ETHERSCAN_V2_URL,
64988
+ aliases: ["moonbeam-mainnet"]
64989
+ },
64990
+ "moonbeam-testnet": {
64991
+ chainId: 1287,
64992
+ apiUrl: ETHERSCAN_V2_URL
64993
+ },
64994
+ // Moonriver
64995
+ moonriver: {
64996
+ chainId: 1285,
64997
+ apiUrl: ETHERSCAN_V2_URL,
64998
+ aliases: ["moonriver-mainnet"]
64999
+ },
65000
+ // Fraxtal
65001
+ fraxtal: {
65002
+ chainId: 252,
65003
+ apiUrl: ETHERSCAN_V2_URL,
65004
+ aliases: ["fraxtal-mainnet"]
65005
+ },
65006
+ "fraxtal-hoodi": {
65007
+ chainId: 2523,
65008
+ apiUrl: ETHERSCAN_V2_URL,
65009
+ aliases: ["fraxtal-hoodi-testnet", "fraxtal-testnet"]
65010
+ },
65011
+ // Taiko
65012
+ taiko: {
65013
+ chainId: 167e3,
65014
+ apiUrl: ETHERSCAN_V2_URL,
65015
+ aliases: ["taiko-mainnet"]
65016
+ },
65017
+ "taiko-hoodi": {
65018
+ chainId: 167013,
65019
+ apiUrl: ETHERSCAN_V2_URL,
65020
+ aliases: ["taiko-hoodi-testnet", "taiko-testnet"]
65021
+ },
65022
+ // Abstract
65023
+ abstract: {
65024
+ chainId: 2741,
65025
+ apiUrl: ETHERSCAN_V2_URL,
65026
+ aliases: ["abstract-mainnet"]
65027
+ },
65028
+ "abstract-sepolia": {
65029
+ chainId: 11124,
65030
+ apiUrl: ETHERSCAN_V2_URL,
65031
+ aliases: ["abstract-sepolia-testnet", "abstract-testnet"]
65032
+ },
65033
+ // ApeChain
65034
+ apechain: {
65035
+ chainId: 33139,
65036
+ apiUrl: ETHERSCAN_V2_URL,
65037
+ aliases: ["apechain-mainnet", "ape"]
65038
+ },
65039
+ "apechain-curtis": {
65040
+ chainId: 33111,
65041
+ apiUrl: ETHERSCAN_V2_URL,
65042
+ aliases: ["apechain-curtis-testnet", "apechain-testnet", "curtis"]
65043
+ },
65044
+ // Berachain
65045
+ berachain: {
65046
+ chainId: 80094,
65047
+ apiUrl: ETHERSCAN_V2_URL,
65048
+ aliases: ["berachain-mainnet", "bera"]
65049
+ },
65050
+ "berachain-bepolia": {
65051
+ chainId: 80069,
65052
+ apiUrl: ETHERSCAN_V2_URL,
65053
+ aliases: ["berachain-bepolia-testnet", "berachain-testnet", "bepolia"]
65054
+ },
65055
+ // BitTorrent
65056
+ bittorrent: {
65057
+ chainId: 199,
65058
+ apiUrl: ETHERSCAN_V2_URL,
65059
+ aliases: ["bittorrent-mainnet"]
65060
+ },
65061
+ "bittorrent-testnet": {
65062
+ chainId: 1029,
65063
+ apiUrl: ETHERSCAN_V2_URL
65064
+ },
65065
+ // Celo
65066
+ celo: {
65067
+ chainId: 42220,
65068
+ apiUrl: ETHERSCAN_V2_URL,
65069
+ aliases: ["celo-mainnet"]
65070
+ },
65071
+ "celo-sepolia": {
65072
+ chainId: 11142220,
65073
+ apiUrl: ETHERSCAN_V2_URL,
65074
+ aliases: ["celo-sepolia-testnet", "celo-testnet"]
65075
+ },
65076
+ // HyperEVM
65077
+ hyperevm: {
65078
+ chainId: 999,
65079
+ apiUrl: ETHERSCAN_V2_URL,
65080
+ aliases: ["hyperevm-mainnet", "hyperliquid"]
65081
+ },
65082
+ // Katana
65083
+ katana: {
65084
+ chainId: 747474,
65085
+ apiUrl: ETHERSCAN_V2_URL,
65086
+ aliases: ["katana-mainnet"]
65087
+ },
65088
+ "katana-bokuto": {
65089
+ chainId: 737373,
65090
+ apiUrl: ETHERSCAN_V2_URL,
65091
+ aliases: ["katana-bokuto-testnet", "katana-testnet"]
65092
+ },
65093
+ // Mantle
65094
+ mantle: {
65095
+ chainId: 5e3,
65096
+ apiUrl: ETHERSCAN_V2_URL,
65097
+ aliases: ["mantle-mainnet"]
65098
+ },
65099
+ "mantle-sepolia": {
65100
+ chainId: 5003,
65101
+ apiUrl: ETHERSCAN_V2_URL,
65102
+ aliases: ["mantle-sepolia-testnet", "mantle-testnet", "mantlesep"]
65103
+ },
65104
+ // Memecore
65105
+ "memecore-testnet": {
65106
+ chainId: 43521,
65107
+ apiUrl: ETHERSCAN_V2_URL,
65108
+ aliases: ["memecoreformicarium"]
65109
+ },
65110
+ // Monad
65111
+ "monad-testnet": {
65112
+ chainId: 10143,
65113
+ apiUrl: ETHERSCAN_V2_URL
65114
+ },
65115
+ // opBNB
65116
+ opbnb: {
65117
+ chainId: 204,
65118
+ apiUrl: ETHERSCAN_V2_URL,
65119
+ aliases: ["opbnb-mainnet"]
65120
+ },
65121
+ "opbnb-testnet": {
65122
+ chainId: 5611,
65123
+ apiUrl: ETHERSCAN_V2_URL
65124
+ },
65125
+ // Sei
65126
+ sei: {
65127
+ chainId: 1329,
65128
+ apiUrl: ETHERSCAN_V2_URL,
65129
+ aliases: ["sei-mainnet"]
65130
+ },
65131
+ "sei-testnet": {
65132
+ chainId: 1328,
65133
+ apiUrl: ETHERSCAN_V2_URL
65134
+ },
65135
+ // Sonic
65136
+ sonic: {
65137
+ chainId: 146,
65138
+ apiUrl: ETHERSCAN_V2_URL,
65139
+ aliases: ["sonic-mainnet"]
65140
+ },
65141
+ "sonic-testnet": {
65142
+ chainId: 14601,
65143
+ apiUrl: ETHERSCAN_V2_URL
65144
+ },
65145
+ // Sophon (DEPRECATED - will be deprecated on November 22, 2025)
65146
+ sophon: {
65147
+ chainId: 50104,
65148
+ apiUrl: ETHERSCAN_V2_URL,
65149
+ aliases: ["sophon-mainnet"]
65150
+ },
65151
+ "sophon-sepolia": {
65152
+ chainId: 531050104,
65153
+ apiUrl: ETHERSCAN_V2_URL,
65154
+ aliases: ["sophon-sepolia-testnet", "sophon-testnet"]
65155
+ },
65156
+ // Swellchain
65157
+ swellchain: {
65158
+ chainId: 1923,
65159
+ apiUrl: ETHERSCAN_V2_URL,
65160
+ aliases: ["swellchain-mainnet", "swell"]
65161
+ },
65162
+ "swellchain-testnet": {
65163
+ chainId: 1924,
65164
+ apiUrl: ETHERSCAN_V2_URL
65165
+ },
65166
+ // Unichain
65167
+ unichain: {
65168
+ chainId: 130,
65169
+ apiUrl: ETHERSCAN_V2_URL,
65170
+ aliases: ["unichain-mainnet"]
65171
+ },
65172
+ "unichain-sepolia": {
65173
+ chainId: 1301,
65174
+ apiUrl: ETHERSCAN_V2_URL,
65175
+ aliases: ["unichain-sepolia-testnet", "unichain-testnet"]
65176
+ },
65177
+ // World
65178
+ world: {
65179
+ chainId: 480,
65180
+ apiUrl: ETHERSCAN_V2_URL,
65181
+ aliases: ["world-mainnet", "worldchain"]
65182
+ },
65183
+ "world-sepolia": {
65184
+ chainId: 4801,
65185
+ apiUrl: ETHERSCAN_V2_URL,
65186
+ aliases: ["world-sepolia-testnet", "world-testnet"]
65187
+ },
65188
+ // XDC
65189
+ xdc: {
65190
+ chainId: 50,
65191
+ apiUrl: ETHERSCAN_V2_URL,
65192
+ aliases: ["xdc-mainnet"]
65193
+ },
65194
+ "xdc-apothem": {
65195
+ chainId: 51,
65196
+ apiUrl: ETHERSCAN_V2_URL,
65197
+ aliases: ["xdc-apothem-testnet", "xdc-testnet"]
65198
+ },
65199
+ // zkSync
65200
+ zksync: {
65201
+ chainId: 324,
65202
+ apiUrl: ETHERSCAN_V2_URL,
65203
+ aliases: ["zksync-mainnet"]
65204
+ },
65205
+ "zksync-sepolia": {
65206
+ chainId: 300,
65207
+ apiUrl: ETHERSCAN_V2_URL,
65208
+ aliases: ["zksync-sepolia-testnet", "zksync-testnet", "zksyncsep"]
65209
+ },
65210
+ // Non-Etherscan Networks (custom explorers)
65211
+ // chainId is not used for these networks
65212
+ // Astar
65213
+ astar: {
65214
+ chainId: 0,
65215
+ apiUrl: "https://astar.blockscout.com/api",
65216
+ aliases: ["astar-mainnet"]
65217
+ },
65218
+ zkatana: {
65219
+ chainId: 0,
65220
+ apiUrl: "https://astar-zkevm.explorer.startale.com/api",
65221
+ aliases: ["zkatana-mainnet"]
65222
+ },
65223
+ // Aurora
65224
+ aurora: {
65225
+ chainId: 0,
65226
+ apiUrl: "https://explorer.mainnet.aurora.dev/api",
65227
+ aliases: ["aurora-mainnet"]
65228
+ },
65229
+ // EBI
65230
+ ebi: {
65231
+ chainId: 0,
65232
+ apiUrl: "https://explorer.ebi.xyz/api",
65233
+ aliases: ["ebi-mainnet"]
65234
+ },
65235
+ // Etherlink
65236
+ etherlink: {
65237
+ chainId: 0,
65238
+ apiUrl: "https://explorer.etherlink.com/api",
65239
+ aliases: ["etherlink-mainnet"]
65240
+ },
65241
+ // Flare
65242
+ flare: {
65243
+ chainId: 0,
65244
+ apiUrl: "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan",
65245
+ aliases: ["flare-mainnet"]
65246
+ },
65247
+ // Gravity
65248
+ gravity: {
65249
+ chainId: 0,
65250
+ apiUrl: "https://explorer.gravity.xyz/api",
65251
+ aliases: ["gravity-mainnet"]
65252
+ },
65253
+ // IOTA
65254
+ iota: {
65255
+ chainId: 0,
65256
+ apiUrl: "https://explorer.evm.iota.org/api",
65257
+ aliases: ["iota-mainnet"]
65258
+ },
65259
+ // Kava
65260
+ kava: {
65261
+ chainId: 0,
65262
+ apiUrl: "https://kavascan.com/api",
65263
+ aliases: ["kava-mainnet"]
65264
+ },
65265
+ "kava-testnet": {
65266
+ chainId: 0,
65267
+ apiUrl: "https://testnet.kavascan.com/api"
65268
+ },
65269
+ // Klaytn
65270
+ klaytn: {
65271
+ chainId: 0,
65272
+ apiUrl: "https://api-cypress.klaytnscope.com/api",
65273
+ aliases: ["klaytn-mainnet"]
65274
+ },
65275
+ "klaytn-testnet": {
65276
+ chainId: 0,
65277
+ apiUrl: "https://api-baobab.klaytnscope.com/api"
65278
+ },
65279
+ // Manta
65280
+ manta: {
65281
+ chainId: 0,
65282
+ apiUrl: "https://pacific-explorer.manta.network/api",
65283
+ aliases: ["manta-mainnet"]
65284
+ },
65285
+ // Metis
65286
+ metis: {
65287
+ chainId: 0,
65288
+ apiUrl: "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan",
65289
+ aliases: ["metis-mainnet"]
65290
+ },
65291
+ // Mode
65292
+ mode: {
65293
+ chainId: 0,
65294
+ apiUrl: "https://explorer.mode.network/api",
65295
+ aliases: ["mode-mainnet"]
65296
+ },
65297
+ // Rarible
65298
+ rarible: {
65299
+ chainId: 0,
65300
+ apiUrl: "https://mainnet.explorer.rarichain.org/api",
65301
+ aliases: ["rarible-mainnet"]
65302
+ },
65303
+ // X Chain
65304
+ xchain: {
65305
+ chainId: 0,
65306
+ apiUrl: "https://xchain-explorer.idex.io/api",
65307
+ aliases: ["xchain-mainnet"]
65308
+ },
65309
+ // X Layer
65310
+ xlayer: {
65311
+ chainId: 0,
65312
+ apiUrl: "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER",
65313
+ aliases: ["xlayer-mainnet"]
65314
+ }
65315
+ };
65316
+
65317
+ // src/common/networks-loader.ts
65318
+ var NetworkRegistry = class {
65319
+ constructor() {
65320
+ __publicField(this, "apiUrls", /* @__PURE__ */ new Map());
65321
+ __publicField(this, "chainIds", /* @__PURE__ */ new Map());
65322
+ for (const [canonicalName, network] of Object.entries(networks)) {
65323
+ const apiUrl = network.apiUrl;
65324
+ const chainId = network.chainId;
65325
+ if (apiUrl) {
65326
+ this.apiUrls.set(canonicalName, apiUrl);
65327
+ }
65328
+ if (chainId) {
65329
+ this.chainIds.set(canonicalName, chainId);
65330
+ }
65331
+ if (network.aliases) {
65332
+ for (const alias of network.aliases) {
65333
+ if (apiUrl) {
65334
+ this.apiUrls.set(alias, apiUrl);
65335
+ }
65336
+ if (chainId) {
65337
+ this.chainIds.set(alias, chainId);
65338
+ }
65339
+ }
65340
+ }
65341
+ }
65342
+ }
65343
+ getApiUrl(networkName) {
65344
+ return this.apiUrls.get(networkName);
65345
+ }
65346
+ getChainId(networkName) {
65347
+ return this.chainIds.get(networkName);
65348
+ }
65349
+ getAllNetworkNames() {
65350
+ return Array.from(/* @__PURE__ */ new Set([...this.apiUrls.keys(), ...this.chainIds.keys()]));
65351
+ }
65352
+ getSupportedNetworks() {
65353
+ const networks2 = /* @__PURE__ */ new Map();
65354
+ const allNames = this.getAllNetworkNames();
65355
+ for (const name of allNames) {
65356
+ networks2.set(name, {
65357
+ chainId: this.getChainId(name),
65358
+ apiUrl: this.getApiUrl(name)
65359
+ });
65360
+ }
65361
+ return networks2;
65362
+ }
65363
+ };
65364
+ var networkRegistry = new NetworkRegistry();
65365
+ var getDefaultScanApiUrl = (networkName) => networkRegistry.getApiUrl(networkName);
65366
+ var getDefaultChainId = (networkName) => networkRegistry.getChainId(networkName);
65367
+
64820
65368
  // src/common/url.ts
64821
- var getDefaultScanApiUrl = (networkName) => DEFAULT_SCAN_API_URLS.get(networkName);
64822
65369
  var tryGetScanBrowserUrlFromScanUrl = (scanApiUrl) => {
64823
65370
  try {
64824
65371
  const urlObject = new URL(scanApiUrl);
@@ -64841,99 +65388,6 @@ var tryCreateScanContractUrl = (scanBrowserUrl, address) => {
64841
65388
  return void 0;
64842
65389
  }
64843
65390
  };
64844
- var DEFAULT_SCAN_API_URLS = /* @__PURE__ */ new Map([
64845
- ["amoy", "https://amoy.polygonscan.com/api"],
64846
- ["amoy-mainnet", "https://amoy.polygonscan.com/api"],
64847
- ["arbitrum", "https://api.arbiscan.io/api"],
64848
- ["arbitrum-goerli", "https://api-goerli.arbiscan.io/api"],
64849
- ["arbitrum-mainnet", "https://api.arbiscan.io/api"],
64850
- ["arbsep-testnet", "https://api-sepolia.arbiscan.io/api"],
64851
- ["astar", "https://astar.blockscout.com/api"],
64852
- ["astar-mainnet", "https://astar.blockscout.com/api"],
64853
- ["aurora", "https://explorer.mainnet.aurora.dev/api"],
64854
- ["aurora-mainnet", "https://explorer.mainnet.aurora.dev/api"],
64855
- ["avalanche", "https://api.snowtrace.io/api"],
64856
- ["avalanche-mainnet", "https://api.snowtrace.io/api"],
64857
- ["avalanche-testnet", "https://api-testnet.snowtrace.io/api"],
64858
- ["base", "https://api.basescan.org/api"],
64859
- ["base-goerli", "https://api-goerli.basescan.org/api"],
64860
- ["base-mainnet", "https://api.basescan.org/api"],
64861
- ["blast", "https://api.blastscan.io/api"],
64862
- ["blast-mainnet", "https://api.blastscan.io/api"],
64863
- ["bsc", "https://api.bscscan.com/api"],
64864
- ["bsc-mainnet", "https://api.bscscan.com/api"],
64865
- ["bsc-testnet", "https://api-testnet.bscscan.com/api"],
64866
- ["ebi", "https://explorer.ebi.xyz/api"],
64867
- ["ebi-mainnet", "https://explorer.ebi.xyz/api"],
64868
- ["ethereum", "https://api.etherscan.io/api"],
64869
- ["ethereum-goerli", "https://api-goerli.etherscan.io/api"],
64870
- ["ethereum-mainnet", "https://api.etherscan.io/api"],
64871
- ["etherlink", "https://explorer.etherlink.com/api"],
64872
- ["etherlink-mainnet", "https://explorer.etherlink.com/api"],
64873
- ["fantom", "https://api.ftmscan.com/api"],
64874
- ["fantom-mainnet", "https://api.ftmscan.com/api"],
64875
- ["fantom-testnet", "https://api-testnet.ftmscan.com/api"],
64876
- ["flare", "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan"],
64877
- ["flare-mainnet", "https://api.routescan.io/v2/network/mainnet/evm/14/etherscan"],
64878
- ["fraxtal", "https://api.fraxscan.com/api"],
64879
- ["fraxtal-mainnet", "https://api.fraxscan.com/api"],
64880
- ["fuji", "https://api-testnet.snowtrace.io/api"],
64881
- ["fuji-mainnet", "https://api-testnet.snowtrace.io/api"],
64882
- ["gnosis", "https://api.gnosisscan.io/api"],
64883
- ["gnosis-mainnet", "https://api.gnosisscan.io/api"],
64884
- ["goerli", "https://api-goerli.etherscan.io/api"],
64885
- ["goerli-mainnet", "https://api-goerli.etherscan.io/api"],
64886
- ["gravity", "https://explorer.gravity.xyz/api"],
64887
- ["gravity-mainnet", "https://explorer.gravity.xyz/api"],
64888
- ["iota", "https://explorer.evm.iota.org/api"],
64889
- ["iota-mainnet", "https://explorer.evm.iota.org/api"],
64890
- ["kava", "https://kavascan.com/api"],
64891
- ["kava-mainnet", "https://kavascan.com/api"],
64892
- ["kava-testnet", "https://testnet.kavascan.com/api"],
64893
- ["klaytn", "https://api-cypress.klaytnscope.com/api"],
64894
- ["klaytn-mainnet", "https://api-cypress.klaytnscope.com/api"],
64895
- ["klaytn-testnet", "https://api-baobab.klaytnscope.com/api"],
64896
- ["linea", "https://api.lineascan.build/api"],
64897
- ["linea-mainnet", "https://api.lineascan.build/api"],
64898
- ["mantle", "https://explorer.mantle.xyz/api"],
64899
- ["mantle-mainnet", "https://explorer.mantle.xyz/api"],
64900
- ["manta", "https://pacific-explorer.manta.network/api"],
64901
- ["manta-mainnet", "https://pacific-explorer.manta.network/api"],
64902
- ["metis", "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan"],
64903
- ["metis-mainnet", "https://api.routescan.io/v2/network/mainnet/evm/1088/etherscan"],
64904
- ["mode", "https://explorer.mode.network/api"],
64905
- ["mode-mainnet", "https://explorer.mode.network/api"],
64906
- ["moonbeam", "https://api-moonbeam.moonscan.io/api"],
64907
- ["moonbeam-mainnet", "https://api-moonbeam.moonscan.io/api"],
64908
- ["moonbeam-testnet", "https://api-moonbase.moonscan.io/api"],
64909
- ["moonriver", "https://api-moonriver.moonscan.io/api"],
64910
- ["moonriver-mainnet", "https://api-moonriver.moonscan.io/api"],
64911
- ["optimism", "https://api-optimistic.etherscan.io/api"],
64912
- ["optimism-goerli", "https://api-goerli-optimistic.etherscan.io/api"],
64913
- ["optimism-mainnet", "https://api-optimistic.etherscan.io/api"],
64914
- ["optsep-testnet", "https://api-sepolia-optimistic.etherscan.io/api"],
64915
- ["polygon", "https://api.polygonscan.com/api"],
64916
- ["polygon-mainnet", "https://api.polygonscan.com/api"],
64917
- ["rarible", "https://mainnet.explorer.rarichain.org/api"],
64918
- ["rarible-mainnet", "https://mainnet.explorer.rarichain.org/api"],
64919
- ["sepolia-testnet", "https://api-sepolia.etherscan.io/api"],
64920
- ["scroll", "https://api.scrollscan.com/api"],
64921
- ["scroll-mainnet", "https://api.scrollscan.com/api"],
64922
- ["sei", "https://seitrace.com/pacific-1/api"],
64923
- ["sei-mainnet", "https://seitrace.com/pacific-1/api"],
64924
- ["taiko", "https://api.taikoscan.io/api"],
64925
- ["taiko-mainnet", "https://api.taikoscan.io/api"],
64926
- ["xchain", "https://xchain-explorer.idex.io/api"],
64927
- ["xchain-mainnet", "https://xchain-explorer.idex.io/api"],
64928
- ["xlayer", "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER"],
64929
- ["xlayer-mainnet", "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER"],
64930
- ["zkatana", "https://astar-zkevm.explorer.startale.com/api"],
64931
- ["zkatana-mainnet", "https://astar-zkevm.explorer.startale.com/api"],
64932
- ["zkconsensys", "https://api.lineascan.build/api"],
64933
- ["zkconsensys-mainnet", "https://api.lineascan.build/api"],
64934
- ["zkpolygon", "https://api-zkevm.polygonscan.com/api"],
64935
- ["zkpolygon-mainnet", "https://api-zkevm.polygonscan.com/api"]
64936
- ]);
64937
65391
 
64938
65392
  // src/common/logger.ts
64939
65393
  var import_chalk = __toESM(require_source());
@@ -64958,16 +65412,16 @@ var anonymizeValue = (value) => {
64958
65412
  const invisiblePart = Array.from({ length: invisibleLength }).fill("*").join("");
64959
65413
  return `${visiblePart}${invisiblePart}`;
64960
65414
  };
64961
- var createRecordLogger = (logger11, separator = " ") => (record) => {
64962
- logger11.info("");
65415
+ var createRecordLogger = (logger12, separator = " ") => (record) => {
65416
+ logger12.info("");
64963
65417
  Object.entries(record).forEach(([label, value]) => {
64964
65418
  if (Array.isArray(value)) {
64965
- logger11.info(`${label}:`);
65419
+ logger12.info(`${label}:`);
64966
65420
  value.forEach((item) => {
64967
- logger11.info(`${separator} - ${import_chalk.default.bold(formatLoggableValue(item))}`);
65421
+ logger12.info(`${separator} - ${import_chalk.default.bold(formatLoggableValue(item))}`);
64968
65422
  });
64969
65423
  } else {
64970
- logger11.info(`${label}:${separator}${import_chalk.default.bold(formatLoggableValue(value))}`);
65424
+ logger12.info(`${label}:${separator}${import_chalk.default.bold(formatLoggableValue(value))}`);
64971
65425
  }
64972
65426
  });
64973
65427
  };
@@ -64987,7 +65441,7 @@ var FALSE_SYMBOL = COLORS.error`⚠`;
64987
65441
 
64988
65442
  // src/common/config.ts
64989
65443
  var import_chalk2 = __toESM(require_source());
64990
- var parseNetworksConfig = (logger11, partialNetworksConfig) => {
65444
+ var parseNetworksConfig = (logger12, partialNetworksConfig) => {
64991
65445
  return Object.entries(partialNetworksConfig != null ? partialNetworksConfig : {}).reduce((networksConfig, [networkName, networkConfig]) => {
64992
65446
  if (networkConfig == null) {
64993
65447
  return networksConfig;
@@ -65006,7 +65460,7 @@ Please provide the API URL:
65006
65460
  );
65007
65461
  const apiKey = networkConfig.apiKey || getScanApiKeyFromEnv(networkName);
65008
65462
  if (!apiKey) {
65009
- logger11.debug(`Could not find scan API key for network ${import_chalk2.default.bold(networkName)}
65463
+ logger12.debug(`Could not find scan API key for network ${import_chalk2.default.bold(networkName)}
65010
65464
 
65011
65465
  Please provide the API key:
65012
65466
 
@@ -65016,7 +65470,7 @@ Please provide the API key:
65016
65470
  }
65017
65471
  const browserUrl = networkConfig.browserUrl || getScanBrowserUrlFromEnv(networkName) || tryGetScanBrowserUrlFromScanUrl(apiUrl);
65018
65472
  if (!browserUrl) {
65019
- logger11.debug(`Could not find scan browser URL key for network ${import_chalk2.default.bold(networkName)}
65473
+ logger12.debug(`Could not find scan browser URL key for network ${import_chalk2.default.bold(networkName)}
65020
65474
 
65021
65475
  Browser URL is used to display a link to the verified contract
65022
65476
  after successful verification.
@@ -65026,10 +65480,22 @@ Please provide the API key:
65026
65480
  - As an browserUrl config parameter in ${networkName} config
65027
65481
  - As a SCAN_BROWSER_URL_${networkName} environment variable
65028
65482
  - As a SCAN_BROWSER_URL_${normalizeNetworkName(networkName)} environment variable`);
65483
+ }
65484
+ const chainId = networkConfig.chainId || getChainIdFromEnv(networkName) || getDefaultChainId(networkName);
65485
+ if (!chainId) {
65486
+ logger12.debug(`Could not find chain ID for network ${import_chalk2.default.bold(networkName)}
65487
+
65488
+ Chain ID is required for Etherscan API v2.
65489
+
65490
+ Please provide the chain ID:
65491
+
65492
+ - As a chainId config parameter in ${networkName} config
65493
+ - As a SCAN_CHAIN_ID_${networkName} environment variable
65494
+ - As a SCAN_CHAIN_ID_${normalizeNetworkName(networkName)} environment variable`);
65029
65495
  }
65030
65496
  return {
65031
65497
  ...networksConfig,
65032
- [networkName]: { apiUrl, apiKey, browserUrl }
65498
+ [networkName]: { apiUrl, apiKey, browserUrl, chainId }
65033
65499
  };
65034
65500
  }, {});
65035
65501
  };
@@ -65045,6 +65511,11 @@ var getScanApiKeyFromEnv = (networkName) => {
65045
65511
  var _a, _b;
65046
65512
  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());
65047
65513
  };
65514
+ var getChainIdFromEnv = (networkName) => {
65515
+ var _a, _b;
65516
+ 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());
65517
+ return chainIdStr ? parseInt(chainIdStr, 10) : void 0;
65518
+ };
65048
65519
  var normalizeNetworkName = (networkName) => networkName.toUpperCase().replaceAll("-", "_");
65049
65520
 
65050
65521
  // src/common/licenses.ts
@@ -68829,9 +69300,15 @@ var LogLevel = /* @__PURE__ */ ((LogLevel22) => {
68829
69300
  return LogLevel22;
68830
69301
  })(LogLevel || {});
68831
69302
  z.nativeEnum(LogLevel);
68832
- (0, import_winston.format)((info, { label }) => ({
69303
+ var DEFAULT_LOG_LEVEL = "info";
69304
+ var createLogger = (level = DEFAULT_LOG_LEVEL, logFormat = import_winston.format.cli()) => (0, import_winston.createLogger)({
69305
+ level,
69306
+ format: logFormat,
69307
+ transports: [new import_winston.transports.Console()]
69308
+ });
69309
+ (0, import_winston.format)((info, opts) => ({
68833
69310
  ...info,
68834
- message: `${label ? `[${label}] ` : ""}${info.message}`
69311
+ message: `${(opts == null ? void 0 : opts.label) ? `[${opts.label}] ` : ""}${info.message}`
68835
69312
  }));
68836
69313
  ({
68837
69314
  TRUE: import_chalk3.default.rgb(0, 153, 0),
@@ -68845,6 +69322,7 @@ z.nativeEnum(LogLevel);
68845
69322
  DEFAULT_VALUE: import_chalk3.default.rgb(167, 125, 255)
68846
69323
  // MAGENTA
68847
69324
  });
69325
+ createLogger();
68848
69326
  var retry = async (callback, numAttempts, onRetry) => {
68849
69327
  assert4(numAttempts > 0, `Number of attempts for retry must be larger than 0, got ${numAttempts}`);
68850
69328
  for (let attempt = 0; attempt < numAttempts - 1; attempt++) {
@@ -74032,10 +74510,10 @@ var source_default2 = got;
74032
74510
 
74033
74511
  // src/common/etherscan.ts
74034
74512
  var Verification = class extends EventEmitter {
74035
- constructor(props, logger11) {
74513
+ constructor(props, logger12) {
74036
74514
  super();
74037
74515
  this.props = props;
74038
- this.logger = logger11;
74516
+ this.logger = logger12;
74039
74517
  }
74040
74518
  async verify() {
74041
74519
  try {
@@ -74073,7 +74551,7 @@ var Verification = class extends EventEmitter {
74073
74551
  ${JSON.stringify(request)}`);
74074
74552
  return await retry(
74075
74553
  async () => {
74076
- const response = await submitRequest(this.props.apiUrl, request);
74554
+ const response = await submitRequest(this.props.apiUrl, request, this.props.chainId, this.props.apiKey);
74077
74555
  this.logger.verbose(`Received raw response from ${this.props.apiUrl}:
74078
74556
 
74079
74557
  ${JSON.stringify(response)}`);
@@ -74094,7 +74572,7 @@ ${JSON.stringify(response)}`);
74094
74572
  async __poll(guid) {
74095
74573
  while (true) {
74096
74574
  this.emit("poll", guid);
74097
- const result = await checkGuid(this.props.apiUrl, guid);
74575
+ const result = await checkGuid(this.props.apiUrl, guid, this.props.chainId, this.props.apiKey);
74098
74576
  this.logger.verbose(`Received raw polling response from ${this.props.apiUrl}:
74099
74577
 
74100
74578
  ${JSON.stringify(result)}`);
@@ -74122,29 +74600,37 @@ ${JSON.stringify(result)}`);
74122
74600
  }
74123
74601
  }
74124
74602
  };
74125
- var createVerification = (props, logger11) => new Verification(props, logger11);
74603
+ var createVerification = (props, logger12) => new Verification(props, logger12);
74126
74604
  var isPendingResult = (result) => !!(result == null ? void 0 : result.match(/Pending/gi));
74127
74605
  var isAlreadyVerifiedResult = (result) => !!(result == null ? void 0 : result.match(/already verified/gi));
74128
74606
  var isApiRateLimitedResult = (result) => !!(result == null ? void 0 : result.match(/rate/));
74129
- var submitRequest = async (apiUrl, request) => {
74130
- try {
74131
- const response = await source_default2(apiUrl, {
74132
- method: "POST",
74133
- form: request,
74134
- headers: {
74135
- "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
74136
- }
74137
- }).json();
74138
- return ScanResponseSchema.parse(response);
74139
- } catch (error) {
74140
- throw new Error(`Failed to submit verification request: ${error}`);
74141
- }
74607
+ var submitRequest = async (apiUrl, request, chainId, apiKey) => {
74608
+ const url = new URL(apiUrl);
74609
+ const isEtherscanV2 = apiUrl.includes("api.etherscan.io/v2");
74610
+ if (chainId !== void 0 && isEtherscanV2) {
74611
+ url.searchParams.set("chainid", String(chainId));
74612
+ }
74613
+ if (apiKey) {
74614
+ url.searchParams.set("apikey", apiKey);
74615
+ }
74616
+ const response = await source_default2(url.toString(), {
74617
+ method: "POST",
74618
+ form: request
74619
+ }).json();
74620
+ return ScanResponseSchema.parse(response);
74142
74621
  };
74143
- var checkGuid = async (apiUrl, guid) => {
74622
+ var checkGuid = async (apiUrl, guid, chainId, apiKey) => {
74144
74623
  const url = new URL(apiUrl);
74145
74624
  url.searchParams.set("module", "contract");
74146
74625
  url.searchParams.set("action", "checkverifystatus");
74147
74626
  url.searchParams.set("guid", guid);
74627
+ const isEtherscanV2 = apiUrl.includes("api.etherscan.io/v2");
74628
+ if (chainId !== void 0 && isEtherscanV2) {
74629
+ url.searchParams.set("chainid", String(chainId));
74630
+ }
74631
+ if (apiKey) {
74632
+ url.searchParams.set("apikey", apiKey);
74633
+ }
74148
74634
  try {
74149
74635
  const data = await source_default2(url).json();
74150
74636
  return ScanResponseSchema.parse(data);
@@ -74567,7 +75053,7 @@ Logger.levels = LogLevel2;
74567
75053
  var version2 = "bytes/5.7.0";
74568
75054
 
74569
75055
  // ../../node_modules/.pnpm/@ethersproject+bytes@5.7.0/node_modules/@ethersproject/bytes/lib.esm/index.js
74570
- var logger = new Logger(version2);
75056
+ var logger2 = new Logger(version2);
74571
75057
  function isHexable(value) {
74572
75058
  return !!value.toHexString;
74573
75059
  }
@@ -74610,7 +75096,7 @@ function arrayify(value, options) {
74610
75096
  options = {};
74611
75097
  }
74612
75098
  if (typeof value === "number") {
74613
- logger.checkSafeUint53(value, "invalid arrayify value");
75099
+ logger2.checkSafeUint53(value, "invalid arrayify value");
74614
75100
  const result = [];
74615
75101
  while (value) {
74616
75102
  result.unshift(value & 255);
@@ -74635,7 +75121,7 @@ function arrayify(value, options) {
74635
75121
  } else if (options.hexPad === "right") {
74636
75122
  hex += "0";
74637
75123
  } else {
74638
- logger.throwArgumentError("hex data is odd-length", "value", value);
75124
+ logger2.throwArgumentError("hex data is odd-length", "value", value);
74639
75125
  }
74640
75126
  }
74641
75127
  const result = [];
@@ -74647,7 +75133,7 @@ function arrayify(value, options) {
74647
75133
  if (isBytes(value)) {
74648
75134
  return addSlice(new Uint8Array(value));
74649
75135
  }
74650
- return logger.throwArgumentError("invalid arrayify value", "value", value);
75136
+ return logger2.throwArgumentError("invalid arrayify value", "value", value);
74651
75137
  }
74652
75138
  function concat(items) {
74653
75139
  const objects = items.map((item) => arrayify(item));
@@ -74674,7 +75160,7 @@ function hexlify(value, options) {
74674
75160
  options = {};
74675
75161
  }
74676
75162
  if (typeof value === "number") {
74677
- logger.checkSafeUint53(value, "invalid hexlify value");
75163
+ logger2.checkSafeUint53(value, "invalid hexlify value");
74678
75164
  let hex = "";
74679
75165
  while (value) {
74680
75166
  hex = HexCharacters[value & 15] + hex;
@@ -74708,7 +75194,7 @@ function hexlify(value, options) {
74708
75194
  } else if (options.hexPad === "right") {
74709
75195
  value += "0";
74710
75196
  } else {
74711
- logger.throwArgumentError("hex data is odd-length", "value", value);
75197
+ logger2.throwArgumentError("hex data is odd-length", "value", value);
74712
75198
  }
74713
75199
  }
74714
75200
  return value.toLowerCase();
@@ -74721,13 +75207,13 @@ function hexlify(value, options) {
74721
75207
  }
74722
75208
  return result;
74723
75209
  }
74724
- return logger.throwArgumentError("invalid hexlify value", "value", value);
75210
+ return logger2.throwArgumentError("invalid hexlify value", "value", value);
74725
75211
  }
74726
75212
  function hexDataSlice(data, offset, endOffset) {
74727
75213
  if (typeof data !== "string") {
74728
75214
  data = hexlify(data);
74729
75215
  } else if (!isHexString(data) || data.length % 2) {
74730
- logger.throwArgumentError("invalid hexData", "value", data);
75216
+ logger2.throwArgumentError("invalid hexData", "value", data);
74731
75217
  }
74732
75218
  offset = 2 + 2 * offset;
74733
75219
  if (endOffset != null) {
@@ -74746,10 +75232,10 @@ function hexZeroPad(value, length) {
74746
75232
  if (typeof value !== "string") {
74747
75233
  value = hexlify(value);
74748
75234
  } else if (!isHexString(value)) {
74749
- logger.throwArgumentError("invalid hex string", "value", value);
75235
+ logger2.throwArgumentError("invalid hex string", "value", value);
74750
75236
  }
74751
75237
  if (value.length > 2 * length + 2) {
74752
- logger.throwArgumentError("value out of range", "value", arguments[1]);
75238
+ logger2.throwArgumentError("value out of range", "value", arguments[1]);
74753
75239
  }
74754
75240
  while (value.length < 2 * length + 2) {
74755
75241
  value = "0x0" + value.substring(2);
@@ -74762,14 +75248,14 @@ var version3 = "bignumber/5.7.0";
74762
75248
 
74763
75249
  // ../../node_modules/.pnpm/@ethersproject+bignumber@5.7.0/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js
74764
75250
  var BN = import_bn.default.BN;
74765
- var logger2 = new Logger(version3);
75251
+ var logger3 = new Logger(version3);
74766
75252
  var _constructorGuard = {};
74767
75253
  var MAX_SAFE = 9007199254740991;
74768
75254
  var _warnedToStringRadix = false;
74769
75255
  var BigNumber = class _BigNumber {
74770
75256
  constructor(constructorGuard, hex) {
74771
75257
  if (constructorGuard !== _constructorGuard) {
74772
- logger2.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
75258
+ logger3.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
74773
75259
  operation: "new (BigNumber)"
74774
75260
  });
74775
75261
  }
@@ -74892,7 +75378,7 @@ var BigNumber = class _BigNumber {
74892
75378
  return BigInt(this.toString());
74893
75379
  } catch (e) {
74894
75380
  }
74895
- return logger2.throwError("this platform does not support BigInt", Logger.errors.UNSUPPORTED_OPERATION, {
75381
+ return logger3.throwError("this platform does not support BigInt", Logger.errors.UNSUPPORTED_OPERATION, {
74896
75382
  value: this.toString()
74897
75383
  });
74898
75384
  }
@@ -74901,12 +75387,12 @@ var BigNumber = class _BigNumber {
74901
75387
  if (arguments[0] === 10) {
74902
75388
  if (!_warnedToStringRadix) {
74903
75389
  _warnedToStringRadix = true;
74904
- logger2.warn("BigNumber.toString does not accept any parameters; base-10 is assumed");
75390
+ logger3.warn("BigNumber.toString does not accept any parameters; base-10 is assumed");
74905
75391
  }
74906
75392
  } else if (arguments[0] === 16) {
74907
- logger2.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", Logger.errors.UNEXPECTED_ARGUMENT, {});
75393
+ logger3.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", Logger.errors.UNEXPECTED_ARGUMENT, {});
74908
75394
  } else {
74909
- logger2.throwError("BigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
75395
+ logger3.throwError("BigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
74910
75396
  }
74911
75397
  }
74912
75398
  return toBN(this).toString(10);
@@ -74928,7 +75414,7 @@ var BigNumber = class _BigNumber {
74928
75414
  if (value.match(/^-?[0-9]+$/)) {
74929
75415
  return new _BigNumber(_constructorGuard, toHex(new BN(value)));
74930
75416
  }
74931
- return logger2.throwArgumentError("invalid BigNumber string", "value", value);
75417
+ return logger3.throwArgumentError("invalid BigNumber string", "value", value);
74932
75418
  }
74933
75419
  if (typeof value === "number") {
74934
75420
  if (value % 1) {
@@ -74964,7 +75450,7 @@ var BigNumber = class _BigNumber {
74964
75450
  }
74965
75451
  }
74966
75452
  }
74967
- return logger2.throwArgumentError("invalid BigNumber value", "value", value);
75453
+ return logger3.throwArgumentError("invalid BigNumber value", "value", value);
74968
75454
  }
74969
75455
  static isBigNumber(value) {
74970
75456
  return !!(value && value._isBigNumber);
@@ -74977,7 +75463,7 @@ function toHex(value) {
74977
75463
  if (value[0] === "-") {
74978
75464
  value = value.substring(1);
74979
75465
  if (value[0] === "-") {
74980
- logger2.throwArgumentError("invalid hex", "value", value);
75466
+ logger3.throwArgumentError("invalid hex", "value", value);
74981
75467
  }
74982
75468
  value = toHex(value);
74983
75469
  if (value === "0x00") {
@@ -75014,7 +75500,7 @@ function throwFault(fault, operation, value) {
75014
75500
  if (value != null) {
75015
75501
  params.value = value;
75016
75502
  }
75017
- return logger2.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
75503
+ return logger3.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
75018
75504
  }
75019
75505
  function _base36To16(value) {
75020
75506
  return new BN(value, 36).toString(16);
@@ -75024,7 +75510,7 @@ function _base36To16(value) {
75024
75510
  var version4 = "properties/5.7.0";
75025
75511
 
75026
75512
  // ../../node_modules/.pnpm/@ethersproject+properties@5.7.0/node_modules/@ethersproject/properties/lib.esm/index.js
75027
- var logger3 = new Logger(version4);
75513
+ var logger4 = new Logger(version4);
75028
75514
  function defineReadOnly(object, name, value) {
75029
75515
  Object.defineProperty(object, name, {
75030
75516
  enumerable: true,
@@ -75067,7 +75553,7 @@ function _isFrozen(object) {
75067
75553
  }
75068
75554
  return true;
75069
75555
  }
75070
- return logger3.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75556
+ return logger4.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75071
75557
  }
75072
75558
  function _deepCopy(object) {
75073
75559
  if (_isFrozen(object)) {
@@ -75087,7 +75573,7 @@ function _deepCopy(object) {
75087
75573
  }
75088
75574
  return result;
75089
75575
  }
75090
- return logger3.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75576
+ return logger4.throwArgumentError(`Cannot deepCopy ${typeof object}`, "object", object);
75091
75577
  }
75092
75578
  function deepCopy(object) {
75093
75579
  return _deepCopy(object);
@@ -75104,7 +75590,7 @@ var Description = class {
75104
75590
  var version5 = "abi/5.7.0";
75105
75591
 
75106
75592
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/fragments.js
75107
- var logger4 = new Logger(version5);
75593
+ var logger5 = new Logger(version5);
75108
75594
  var _constructorGuard2 = {};
75109
75595
  var ModifiersBytes = { calldata: true, memory: true, storage: true };
75110
75596
  var ModifiersNest = { calldata: true, memory: true };
@@ -75123,14 +75609,14 @@ function checkModifier(type, name) {
75123
75609
  }
75124
75610
  }
75125
75611
  if (ModifiersBytes[name] || name === "payable") {
75126
- logger4.throwArgumentError("invalid modifier", "name", name);
75612
+ logger5.throwArgumentError("invalid modifier", "name", name);
75127
75613
  }
75128
75614
  return false;
75129
75615
  }
75130
75616
  function parseParamType(param, allowIndexed) {
75131
75617
  let originalParam = param;
75132
75618
  function throwError(i) {
75133
- logger4.throwArgumentError(`unexpected character at position ${i}`, "param", param);
75619
+ logger5.throwArgumentError(`unexpected character at position ${i}`, "param", param);
75134
75620
  }
75135
75621
  param = param.replace(/\s/g, " ");
75136
75622
  function newNode(parent2) {
@@ -75259,7 +75745,7 @@ function parseParamType(param, allowIndexed) {
75259
75745
  }
75260
75746
  }
75261
75747
  if (node.parent) {
75262
- logger4.throwArgumentError("unexpected eof", "param", param);
75748
+ logger5.throwArgumentError("unexpected eof", "param", param);
75263
75749
  }
75264
75750
  delete parent.state;
75265
75751
  if (node.name === "indexed") {
@@ -75296,7 +75782,7 @@ var paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
75296
75782
  var ParamType = class _ParamType {
75297
75783
  constructor(constructorGuard, params) {
75298
75784
  if (constructorGuard !== _constructorGuard2) {
75299
- logger4.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
75785
+ logger5.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
75300
75786
  operation: "new ParamType()"
75301
75787
  });
75302
75788
  }
@@ -75330,7 +75816,7 @@ var ParamType = class _ParamType {
75330
75816
  format3 = FormatTypes.sighash;
75331
75817
  }
75332
75818
  if (!FormatTypes[format3]) {
75333
- logger4.throwArgumentError("invalid format type", "format", format3);
75819
+ logger5.throwArgumentError("invalid format type", "format", format3);
75334
75820
  }
75335
75821
  if (format3 === FormatTypes.json) {
75336
75822
  let result2 = {
@@ -75407,7 +75893,7 @@ function parseParams(value, allowIndex) {
75407
75893
  var Fragment = class _Fragment {
75408
75894
  constructor(constructorGuard, params) {
75409
75895
  if (constructorGuard !== _constructorGuard2) {
75410
- logger4.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
75896
+ logger5.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
75411
75897
  operation: "new Fragment()"
75412
75898
  });
75413
75899
  }
@@ -75441,7 +75927,7 @@ var Fragment = class _Fragment {
75441
75927
  case "receive":
75442
75928
  return null;
75443
75929
  }
75444
- return logger4.throwArgumentError("invalid fragment object", "value", value);
75930
+ return logger5.throwArgumentError("invalid fragment object", "value", value);
75445
75931
  }
75446
75932
  static fromString(value) {
75447
75933
  value = value.replace(/\s/g, " ");
@@ -75456,7 +75942,7 @@ var Fragment = class _Fragment {
75456
75942
  } else if (value.split(" ")[0] === "error") {
75457
75943
  return ErrorFragment.fromString(value.substring(5).trim());
75458
75944
  }
75459
- return logger4.throwArgumentError("unsupported fragment", "value", value);
75945
+ return logger5.throwArgumentError("unsupported fragment", "value", value);
75460
75946
  }
75461
75947
  static isFragment(value) {
75462
75948
  return !!(value && value._isFragment);
@@ -75468,7 +75954,7 @@ var EventFragment = class _EventFragment extends Fragment {
75468
75954
  format3 = FormatTypes.sighash;
75469
75955
  }
75470
75956
  if (!FormatTypes[format3]) {
75471
- logger4.throwArgumentError("invalid format type", "format", format3);
75957
+ logger5.throwArgumentError("invalid format type", "format", format3);
75472
75958
  }
75473
75959
  if (format3 === FormatTypes.json) {
75474
75960
  return JSON.stringify({
@@ -75501,7 +75987,7 @@ var EventFragment = class _EventFragment extends Fragment {
75501
75987
  return value;
75502
75988
  }
75503
75989
  if (value.type !== "event") {
75504
- logger4.throwArgumentError("invalid event object", "value", value);
75990
+ logger5.throwArgumentError("invalid event object", "value", value);
75505
75991
  }
75506
75992
  const params = {
75507
75993
  name: verifyIdentifier(value.name),
@@ -75514,7 +76000,7 @@ var EventFragment = class _EventFragment extends Fragment {
75514
76000
  static fromString(value) {
75515
76001
  let match = value.match(regexParen);
75516
76002
  if (!match) {
75517
- logger4.throwArgumentError("invalid event string", "value", value);
76003
+ logger5.throwArgumentError("invalid event string", "value", value);
75518
76004
  }
75519
76005
  let anonymous = false;
75520
76006
  match[3].split(" ").forEach((modifier) => {
@@ -75525,7 +76011,7 @@ var EventFragment = class _EventFragment extends Fragment {
75525
76011
  case "":
75526
76012
  break;
75527
76013
  default:
75528
- logger4.warn("unknown modifier: " + modifier);
76014
+ logger5.warn("unknown modifier: " + modifier);
75529
76015
  }
75530
76016
  });
75531
76017
  return _EventFragment.fromObject({
@@ -75544,10 +76030,10 @@ function parseGas(value, params) {
75544
76030
  let comps = value.split("@");
75545
76031
  if (comps.length !== 1) {
75546
76032
  if (comps.length > 2) {
75547
- logger4.throwArgumentError("invalid human-readable ABI signature", "value", value);
76033
+ logger5.throwArgumentError("invalid human-readable ABI signature", "value", value);
75548
76034
  }
75549
76035
  if (!comps[1].match(/^[0-9]+$/)) {
75550
- logger4.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
76036
+ logger5.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
75551
76037
  }
75552
76038
  params.gas = BigNumber.from(comps[1]);
75553
76039
  return comps[0];
@@ -75599,19 +76085,19 @@ function verifyState(value) {
75599
76085
  result.constant = result.stateMutability === "view" || result.stateMutability === "pure";
75600
76086
  if (value.constant != null) {
75601
76087
  if (!!value.constant !== result.constant) {
75602
- logger4.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
76088
+ logger5.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
75603
76089
  }
75604
76090
  }
75605
76091
  result.payable = result.stateMutability === "payable";
75606
76092
  if (value.payable != null) {
75607
76093
  if (!!value.payable !== result.payable) {
75608
- logger4.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
76094
+ logger5.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
75609
76095
  }
75610
76096
  }
75611
76097
  } else if (value.payable != null) {
75612
76098
  result.payable = !!value.payable;
75613
76099
  if (value.constant == null && !result.payable && value.type !== "constructor") {
75614
- logger4.throwArgumentError("unable to determine stateMutability", "value", value);
76100
+ logger5.throwArgumentError("unable to determine stateMutability", "value", value);
75615
76101
  }
75616
76102
  result.constant = !!value.constant;
75617
76103
  if (result.constant) {
@@ -75620,14 +76106,14 @@ function verifyState(value) {
75620
76106
  result.stateMutability = result.payable ? "payable" : "nonpayable";
75621
76107
  }
75622
76108
  if (result.payable && result.constant) {
75623
- logger4.throwArgumentError("cannot have constant payable function", "value", value);
76109
+ logger5.throwArgumentError("cannot have constant payable function", "value", value);
75624
76110
  }
75625
76111
  } else if (value.constant != null) {
75626
76112
  result.constant = !!value.constant;
75627
76113
  result.payable = !result.constant;
75628
76114
  result.stateMutability = result.constant ? "view" : "payable";
75629
76115
  } else if (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
  return result;
75633
76119
  }
@@ -75637,7 +76123,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75637
76123
  format3 = FormatTypes.sighash;
75638
76124
  }
75639
76125
  if (!FormatTypes[format3]) {
75640
- logger4.throwArgumentError("invalid format type", "format", format3);
76126
+ logger5.throwArgumentError("invalid format type", "format", format3);
75641
76127
  }
75642
76128
  if (format3 === FormatTypes.json) {
75643
76129
  return JSON.stringify({
@@ -75649,7 +76135,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75649
76135
  });
75650
76136
  }
75651
76137
  if (format3 === FormatTypes.sighash) {
75652
- logger4.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
76138
+ logger5.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
75653
76139
  operation: "format(sighash)"
75654
76140
  });
75655
76141
  }
@@ -75670,11 +76156,11 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75670
76156
  return value;
75671
76157
  }
75672
76158
  if (value.type !== "constructor") {
75673
- logger4.throwArgumentError("invalid constructor object", "value", value);
76159
+ logger5.throwArgumentError("invalid constructor object", "value", value);
75674
76160
  }
75675
76161
  let state = verifyState(value);
75676
76162
  if (state.constant) {
75677
- logger4.throwArgumentError("constructor cannot be constant", "value", value);
76163
+ logger5.throwArgumentError("constructor cannot be constant", "value", value);
75678
76164
  }
75679
76165
  const params = {
75680
76166
  name: null,
@@ -75691,7 +76177,7 @@ var ConstructorFragment = class _ConstructorFragment extends Fragment {
75691
76177
  value = parseGas(value, params);
75692
76178
  let parens = value.match(regexParen);
75693
76179
  if (!parens || parens[1].trim() !== "constructor") {
75694
- logger4.throwArgumentError("invalid constructor string", "value", value);
76180
+ logger5.throwArgumentError("invalid constructor string", "value", value);
75695
76181
  }
75696
76182
  params.inputs = parseParams(parens[2].trim(), false);
75697
76183
  parseModifiers(parens[3].trim(), params);
@@ -75707,7 +76193,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75707
76193
  format3 = FormatTypes.sighash;
75708
76194
  }
75709
76195
  if (!FormatTypes[format3]) {
75710
- logger4.throwArgumentError("invalid format type", "format", format3);
76196
+ logger5.throwArgumentError("invalid format type", "format", format3);
75711
76197
  }
75712
76198
  if (format3 === FormatTypes.json) {
75713
76199
  return JSON.stringify({
@@ -75754,7 +76240,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75754
76240
  return value;
75755
76241
  }
75756
76242
  if (value.type !== "function") {
75757
- logger4.throwArgumentError("invalid function object", "value", value);
76243
+ logger5.throwArgumentError("invalid function object", "value", value);
75758
76244
  }
75759
76245
  let state = verifyState(value);
75760
76246
  const params = {
@@ -75774,11 +76260,11 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75774
76260
  value = parseGas(value, params);
75775
76261
  let comps = value.split(" returns ");
75776
76262
  if (comps.length > 2) {
75777
- logger4.throwArgumentError("invalid function string", "value", value);
76263
+ logger5.throwArgumentError("invalid function string", "value", value);
75778
76264
  }
75779
76265
  let parens = comps[0].match(regexParen);
75780
76266
  if (!parens) {
75781
- logger4.throwArgumentError("invalid function signature", "value", value);
76267
+ logger5.throwArgumentError("invalid function signature", "value", value);
75782
76268
  }
75783
76269
  params.name = parens[1].trim();
75784
76270
  if (params.name) {
@@ -75789,7 +76275,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75789
76275
  if (comps.length > 1) {
75790
76276
  let returns = comps[1].match(regexParen);
75791
76277
  if (returns[1].trim() != "" || returns[3].trim() != "") {
75792
- logger4.throwArgumentError("unexpected tokens", "value", value);
76278
+ logger5.throwArgumentError("unexpected tokens", "value", value);
75793
76279
  }
75794
76280
  params.outputs = parseParams(returns[2], false);
75795
76281
  } else {
@@ -75804,7 +76290,7 @@ var FunctionFragment = class _FunctionFragment extends ConstructorFragment {
75804
76290
  function checkForbidden(fragment) {
75805
76291
  const sig = fragment.format();
75806
76292
  if (sig === "Error(string)" || sig === "Panic(uint256)") {
75807
- logger4.throwArgumentError(`cannot specify user defined ${sig} error`, "fragment", fragment);
76293
+ logger5.throwArgumentError(`cannot specify user defined ${sig} error`, "fragment", fragment);
75808
76294
  }
75809
76295
  return fragment;
75810
76296
  }
@@ -75814,7 +76300,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75814
76300
  format3 = FormatTypes.sighash;
75815
76301
  }
75816
76302
  if (!FormatTypes[format3]) {
75817
- logger4.throwArgumentError("invalid format type", "format", format3);
76303
+ logger5.throwArgumentError("invalid format type", "format", format3);
75818
76304
  }
75819
76305
  if (format3 === FormatTypes.json) {
75820
76306
  return JSON.stringify({
@@ -75841,7 +76327,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75841
76327
  return value;
75842
76328
  }
75843
76329
  if (value.type !== "error") {
75844
- logger4.throwArgumentError("invalid error object", "value", value);
76330
+ logger5.throwArgumentError("invalid error object", "value", value);
75845
76331
  }
75846
76332
  const params = {
75847
76333
  type: value.type,
@@ -75854,7 +76340,7 @@ var ErrorFragment = class _ErrorFragment extends Fragment {
75854
76340
  let params = { type: "error" };
75855
76341
  let parens = value.match(regexParen);
75856
76342
  if (!parens) {
75857
- logger4.throwArgumentError("invalid error signature", "value", value);
76343
+ logger5.throwArgumentError("invalid error signature", "value", value);
75858
76344
  }
75859
76345
  params.name = parens[1].trim();
75860
76346
  if (params.name) {
@@ -75878,7 +76364,7 @@ function verifyType(type) {
75878
76364
  var regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");
75879
76365
  function verifyIdentifier(value) {
75880
76366
  if (!value || !value.match(regexIdentifier)) {
75881
- logger4.throwArgumentError(`invalid identifier "${value}"`, "value", value);
76367
+ logger5.throwArgumentError(`invalid identifier "${value}"`, "value", value);
75882
76368
  }
75883
76369
  return value;
75884
76370
  }
@@ -75900,7 +76386,7 @@ function splitNesting(value) {
75900
76386
  } else if (c === ")") {
75901
76387
  depth--;
75902
76388
  if (depth === -1) {
75903
- logger4.throwArgumentError("unbalanced parenthesis", "value", value);
76389
+ logger5.throwArgumentError("unbalanced parenthesis", "value", value);
75904
76390
  }
75905
76391
  }
75906
76392
  }
@@ -75912,7 +76398,7 @@ function splitNesting(value) {
75912
76398
  }
75913
76399
 
75914
76400
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js
75915
- var logger5 = new Logger(version5);
76401
+ var logger6 = new Logger(version5);
75916
76402
  var Coder = class {
75917
76403
  constructor(name, type, localName, dynamic) {
75918
76404
  this.name = name;
@@ -75921,7 +76407,7 @@ var Coder = class {
75921
76407
  this.dynamic = dynamic;
75922
76408
  }
75923
76409
  _throwError(message, value) {
75924
- logger5.throwArgumentError(message, this.localName, value);
76410
+ logger6.throwArgumentError(message, this.localName, value);
75925
76411
  }
75926
76412
  };
75927
76413
  var Writer = class {
@@ -75957,7 +76443,7 @@ var Writer = class {
75957
76443
  _getValue(value) {
75958
76444
  let bytes = arrayify(BigNumber.from(value));
75959
76445
  if (bytes.length > this.wordSize) {
75960
- logger5.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76446
+ logger6.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
75961
76447
  length: this.wordSize,
75962
76448
  offset: bytes.length
75963
76449
  });
@@ -76014,7 +76500,7 @@ var Reader = class _Reader {
76014
76500
  if (this.allowLoose && loose && this._offset + length <= this._data.length) {
76015
76501
  alignedLength = length;
76016
76502
  } else {
76017
- logger5.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76503
+ logger6.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
76018
76504
  length: this._data.length,
76019
76505
  offset: this._offset + alignedLength
76020
76506
  });
@@ -76045,10 +76531,10 @@ function keccak256(data) {
76045
76531
  var version6 = "address/5.7.0";
76046
76532
 
76047
76533
  // ../../node_modules/.pnpm/@ethersproject+address@5.7.0/node_modules/@ethersproject/address/lib.esm/index.js
76048
- var logger6 = new Logger(version6);
76534
+ var logger7 = new Logger(version6);
76049
76535
  function getChecksumAddress(address) {
76050
76536
  if (!isHexString(address, 20)) {
76051
- logger6.throwArgumentError("invalid address", "address", address);
76537
+ logger7.throwArgumentError("invalid address", "address", address);
76052
76538
  }
76053
76539
  address = address.toLowerCase();
76054
76540
  const chars = address.substring(2).split("");
@@ -76101,7 +76587,7 @@ function ibanChecksum(address) {
76101
76587
  function getAddress(address) {
76102
76588
  let result = null;
76103
76589
  if (typeof address !== "string") {
76104
- logger6.throwArgumentError("invalid address", "address", address);
76590
+ logger7.throwArgumentError("invalid address", "address", address);
76105
76591
  }
76106
76592
  if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {
76107
76593
  if (address.substring(0, 2) !== "0x") {
@@ -76109,11 +76595,11 @@ function getAddress(address) {
76109
76595
  }
76110
76596
  result = getChecksumAddress(address);
76111
76597
  if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {
76112
- logger6.throwArgumentError("bad address checksum", "address", address);
76598
+ logger7.throwArgumentError("bad address checksum", "address", address);
76113
76599
  }
76114
76600
  } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {
76115
76601
  if (address.substring(2, 4) !== ibanChecksum(address)) {
76116
- logger6.throwArgumentError("bad icap checksum", "address", address);
76602
+ logger7.throwArgumentError("bad icap checksum", "address", address);
76117
76603
  }
76118
76604
  result = _base36To16(address.substring(4));
76119
76605
  while (result.length < 40) {
@@ -76121,7 +76607,7 @@ function getAddress(address) {
76121
76607
  }
76122
76608
  result = getChecksumAddress("0x" + result);
76123
76609
  } else {
76124
- logger6.throwArgumentError("invalid address", "address", address);
76610
+ logger7.throwArgumentError("invalid address", "address", address);
76125
76611
  }
76126
76612
  return result;
76127
76613
  }
@@ -76165,7 +76651,7 @@ var AnonymousCoder = class extends Coder {
76165
76651
  };
76166
76652
 
76167
76653
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/array.js
76168
- var logger7 = new Logger(version5);
76654
+ var logger8 = new Logger(version5);
76169
76655
  function pack(writer, coders, values) {
76170
76656
  let arrayValues = null;
76171
76657
  if (Array.isArray(values)) {
@@ -76175,14 +76661,14 @@ function pack(writer, coders, values) {
76175
76661
  arrayValues = coders.map((coder) => {
76176
76662
  const name = coder.localName;
76177
76663
  if (!name) {
76178
- logger7.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, {
76664
+ logger8.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, {
76179
76665
  argument: "values",
76180
76666
  coder,
76181
76667
  value: values
76182
76668
  });
76183
76669
  }
76184
76670
  if (unique[name]) {
76185
- logger7.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, {
76671
+ logger8.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, {
76186
76672
  argument: "values",
76187
76673
  coder,
76188
76674
  value: values
@@ -76192,10 +76678,10 @@ function pack(writer, coders, values) {
76192
76678
  return values[name];
76193
76679
  });
76194
76680
  } else {
76195
- logger7.throwArgumentError("invalid tuple value", "tuple", values);
76681
+ logger8.throwArgumentError("invalid tuple value", "tuple", values);
76196
76682
  }
76197
76683
  if (coders.length !== arrayValues.length) {
76198
- logger7.throwArgumentError("types/value length mismatch", "tuple", values);
76684
+ logger8.throwArgumentError("types/value length mismatch", "tuple", values);
76199
76685
  }
76200
76686
  let staticWriter = new Writer(writer.wordSize);
76201
76687
  let dynamicWriter = new Writer(writer.wordSize);
@@ -76327,7 +76813,7 @@ var ArrayCoder = class extends Coder {
76327
76813
  count = value.length;
76328
76814
  writer.writeValue(value.length);
76329
76815
  }
76330
- logger7.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
76816
+ logger8.checkArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
76331
76817
  let coders = [];
76332
76818
  for (let i = 0; i < value.length; i++) {
76333
76819
  coders.push(this.coder);
@@ -76339,7 +76825,7 @@ var ArrayCoder = class extends Coder {
76339
76825
  if (count === -1) {
76340
76826
  count = reader.readValue().toNumber();
76341
76827
  if (count * 32 > reader._data.length) {
76342
- logger7.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, {
76828
+ logger8.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, {
76343
76829
  length: reader._data.length,
76344
76830
  count
76345
76831
  });
@@ -76485,7 +76971,7 @@ var NumberCoder = class extends Coder {
76485
76971
  var version7 = "strings/5.7.0";
76486
76972
 
76487
76973
  // ../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/utf8.js
76488
- var logger8 = new Logger(version7);
76974
+ var logger9 = new Logger(version7);
76489
76975
  var UnicodeNormalizationForm;
76490
76976
  (function(UnicodeNormalizationForm2) {
76491
76977
  UnicodeNormalizationForm2["current"] = "";
@@ -76505,7 +76991,7 @@ var Utf8ErrorReason;
76505
76991
  Utf8ErrorReason2["OVERLONG"] = "overlong representation";
76506
76992
  })(Utf8ErrorReason || (Utf8ErrorReason = {}));
76507
76993
  function errorFunc(reason, offset, bytes, output, badCodepoint) {
76508
- return logger8.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, "bytes", bytes);
76994
+ return logger9.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, "bytes", bytes);
76509
76995
  }
76510
76996
  function ignoreFunc(reason, offset, bytes, output, badCodepoint) {
76511
76997
  if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {
@@ -76604,7 +77090,7 @@ function getUtf8CodePoints(bytes, onError) {
76604
77090
  }
76605
77091
  function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) {
76606
77092
  if (form != UnicodeNormalizationForm.current) {
76607
- logger8.checkNormalize();
77093
+ logger9.checkNormalize();
76608
77094
  str = str.normalize(form);
76609
77095
  }
76610
77096
  let result = [];
@@ -76717,7 +77203,7 @@ var TupleCoder = class extends Coder {
76717
77203
  };
76718
77204
 
76719
77205
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/abi-coder.js
76720
- var logger9 = new Logger(version5);
77206
+ var logger10 = new Logger(version5);
76721
77207
  var paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
76722
77208
  var paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
76723
77209
  var AbiCoder = class {
@@ -76747,7 +77233,7 @@ var AbiCoder = class {
76747
77233
  if (match) {
76748
77234
  let size = parseInt(match[2] || "256");
76749
77235
  if (size === 0 || size > 256 || size % 8 !== 0) {
76750
- logger9.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
77236
+ logger10.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
76751
77237
  }
76752
77238
  return new NumberCoder(size / 8, match[1] === "int", param.name);
76753
77239
  }
@@ -76755,11 +77241,11 @@ var AbiCoder = class {
76755
77241
  if (match) {
76756
77242
  let size = parseInt(match[1]);
76757
77243
  if (size === 0 || size > 32) {
76758
- logger9.throwArgumentError("invalid bytes length", "param", param);
77244
+ logger10.throwArgumentError("invalid bytes length", "param", param);
76759
77245
  }
76760
77246
  return new FixedBytesCoder(size, param.name);
76761
77247
  }
76762
- return logger9.throwArgumentError("invalid type", "type", param.type);
77248
+ return logger10.throwArgumentError("invalid type", "type", param.type);
76763
77249
  }
76764
77250
  _getWordSize() {
76765
77251
  return 32;
@@ -76777,7 +77263,7 @@ var AbiCoder = class {
76777
77263
  }
76778
77264
  encode(types2, values) {
76779
77265
  if (types2.length !== values.length) {
76780
- logger9.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
77266
+ logger10.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
76781
77267
  count: { types: types2.length, values: values.length },
76782
77268
  value: { types: types2, values }
76783
77269
  });
@@ -76802,7 +77288,7 @@ function id(text) {
76802
77288
  }
76803
77289
 
76804
77290
  // ../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/interface.js
76805
- var logger10 = new Logger(version5);
77291
+ var logger11 = new Logger(version5);
76806
77292
  var LogDescription = class extends Description {
76807
77293
  };
76808
77294
  var TransactionDescription = class extends Description {
@@ -76844,7 +77330,7 @@ var Interface = class {
76844
77330
  switch (fragment.type) {
76845
77331
  case "constructor":
76846
77332
  if (this.deploy) {
76847
- logger10.warn("duplicate definition - constructor");
77333
+ logger11.warn("duplicate definition - constructor");
76848
77334
  return;
76849
77335
  }
76850
77336
  defineReadOnly(this, "deploy", fragment);
@@ -76863,7 +77349,7 @@ var Interface = class {
76863
77349
  }
76864
77350
  let signature = fragment.format();
76865
77351
  if (bucket[signature]) {
76866
- logger10.warn("duplicate definition - " + signature);
77352
+ logger11.warn("duplicate definition - " + signature);
76867
77353
  return;
76868
77354
  }
76869
77355
  bucket[signature] = fragment;
@@ -76881,7 +77367,7 @@ var Interface = class {
76881
77367
  format3 = FormatTypes.full;
76882
77368
  }
76883
77369
  if (format3 === FormatTypes.sighash) {
76884
- logger10.throwArgumentError("interface does not support formatting sighash", "format", format3);
77370
+ logger11.throwArgumentError("interface does not support formatting sighash", "format", format3);
76885
77371
  }
76886
77372
  const abi = this.fragments.map((fragment) => fragment.format(format3));
76887
77373
  if (format3 === FormatTypes.json) {
@@ -76910,7 +77396,7 @@ var Interface = class {
76910
77396
  return this.functions[name];
76911
77397
  }
76912
77398
  }
76913
- logger10.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
77399
+ logger11.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
76914
77400
  }
76915
77401
  if (nameOrSignatureOrSighash.indexOf("(") === -1) {
76916
77402
  const name = nameOrSignatureOrSighash.trim();
@@ -76919,15 +77405,15 @@ var Interface = class {
76919
77405
  /* fix:) */
76920
77406
  )[0] === name);
76921
77407
  if (matching.length === 0) {
76922
- logger10.throwArgumentError("no matching function", "name", name);
77408
+ logger11.throwArgumentError("no matching function", "name", name);
76923
77409
  } else if (matching.length > 1) {
76924
- logger10.throwArgumentError("multiple matching functions", "name", name);
77410
+ logger11.throwArgumentError("multiple matching functions", "name", name);
76925
77411
  }
76926
77412
  return this.functions[matching[0]];
76927
77413
  }
76928
77414
  const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
76929
77415
  if (!result) {
76930
- logger10.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
77416
+ logger11.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
76931
77417
  }
76932
77418
  return result;
76933
77419
  }
@@ -76940,7 +77426,7 @@ var Interface = class {
76940
77426
  return this.events[name];
76941
77427
  }
76942
77428
  }
76943
- logger10.throwArgumentError("no matching event", "topichash", topichash);
77429
+ logger11.throwArgumentError("no matching event", "topichash", topichash);
76944
77430
  }
76945
77431
  if (nameOrSignatureOrTopic.indexOf("(") === -1) {
76946
77432
  const name = nameOrSignatureOrTopic.trim();
@@ -76949,15 +77435,15 @@ var Interface = class {
76949
77435
  /* fix:) */
76950
77436
  )[0] === name);
76951
77437
  if (matching.length === 0) {
76952
- logger10.throwArgumentError("no matching event", "name", name);
77438
+ logger11.throwArgumentError("no matching event", "name", name);
76953
77439
  } else if (matching.length > 1) {
76954
- logger10.throwArgumentError("multiple matching events", "name", name);
77440
+ logger11.throwArgumentError("multiple matching events", "name", name);
76955
77441
  }
76956
77442
  return this.events[matching[0]];
76957
77443
  }
76958
77444
  const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];
76959
77445
  if (!result) {
76960
- logger10.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
77446
+ logger11.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
76961
77447
  }
76962
77448
  return result;
76963
77449
  }
@@ -76971,7 +77457,7 @@ var Interface = class {
76971
77457
  return this.errors[name];
76972
77458
  }
76973
77459
  }
76974
- logger10.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
77460
+ logger11.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash);
76975
77461
  }
76976
77462
  if (nameOrSignatureOrSighash.indexOf("(") === -1) {
76977
77463
  const name = nameOrSignatureOrSighash.trim();
@@ -76980,15 +77466,15 @@ var Interface = class {
76980
77466
  /* fix:) */
76981
77467
  )[0] === name);
76982
77468
  if (matching.length === 0) {
76983
- logger10.throwArgumentError("no matching error", "name", name);
77469
+ logger11.throwArgumentError("no matching error", "name", name);
76984
77470
  } else if (matching.length > 1) {
76985
- logger10.throwArgumentError("multiple matching errors", "name", name);
77471
+ logger11.throwArgumentError("multiple matching errors", "name", name);
76986
77472
  }
76987
77473
  return this.errors[matching[0]];
76988
77474
  }
76989
77475
  const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
76990
77476
  if (!result) {
76991
- logger10.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
77477
+ logger11.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash);
76992
77478
  }
76993
77479
  return result;
76994
77480
  }
@@ -77029,7 +77515,7 @@ var Interface = class {
77029
77515
  }
77030
77516
  const bytes = arrayify(data);
77031
77517
  if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {
77032
- logger10.throwArgumentError(`data signature does not match error ${fragment.name}.`, "data", hexlify(bytes));
77518
+ logger11.throwArgumentError(`data signature does not match error ${fragment.name}.`, "data", hexlify(bytes));
77033
77519
  }
77034
77520
  return this._decodeParams(fragment.inputs, bytes.slice(4));
77035
77521
  }
@@ -77049,7 +77535,7 @@ var Interface = class {
77049
77535
  }
77050
77536
  const bytes = arrayify(data);
77051
77537
  if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
77052
- logger10.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", hexlify(bytes));
77538
+ logger11.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", hexlify(bytes));
77053
77539
  }
77054
77540
  return this._decodeParams(functionFragment.inputs, bytes.slice(4));
77055
77541
  }
@@ -77108,7 +77594,7 @@ var Interface = class {
77108
77594
  break;
77109
77595
  }
77110
77596
  }
77111
- return logger10.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, {
77597
+ return logger11.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, {
77112
77598
  method: functionFragment.format(),
77113
77599
  data: hexlify(data),
77114
77600
  errorArgs,
@@ -77130,7 +77616,7 @@ var Interface = class {
77130
77616
  eventFragment = this.getEvent(eventFragment);
77131
77617
  }
77132
77618
  if (values.length > eventFragment.inputs.length) {
77133
- logger10.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
77619
+ logger11.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
77134
77620
  argument: "values",
77135
77621
  value: values
77136
77622
  });
@@ -77160,14 +77646,14 @@ var Interface = class {
77160
77646
  let param = eventFragment.inputs[index];
77161
77647
  if (!param.indexed) {
77162
77648
  if (value != null) {
77163
- logger10.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
77649
+ logger11.throwArgumentError("cannot filter non-indexed parameters; must be null", "contract." + param.name, value);
77164
77650
  }
77165
77651
  return;
77166
77652
  }
77167
77653
  if (value == null) {
77168
77654
  topics.push(null);
77169
77655
  } else if (param.baseType === "array" || param.baseType === "tuple") {
77170
- logger10.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
77656
+ logger11.throwArgumentError("filtering with tuples or arrays not supported", "contract." + param.name, value);
77171
77657
  } else if (Array.isArray(value)) {
77172
77658
  topics.push(value.map((value2) => encodeTopic(param, value2)));
77173
77659
  } else {
@@ -77190,7 +77676,7 @@ var Interface = class {
77190
77676
  topics.push(this.getEventTopic(eventFragment));
77191
77677
  }
77192
77678
  if (values.length !== eventFragment.inputs.length) {
77193
- logger10.throwArgumentError("event arguments/values mismatch", "values", values);
77679
+ logger11.throwArgumentError("event arguments/values mismatch", "values", values);
77194
77680
  }
77195
77681
  eventFragment.inputs.forEach((param, index) => {
77196
77682
  const value = values[index];
@@ -77222,7 +77708,7 @@ var Interface = class {
77222
77708
  if (topics != null && !eventFragment.anonymous) {
77223
77709
  let topicHash = this.getEventTopic(eventFragment);
77224
77710
  if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
77225
- logger10.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
77711
+ logger11.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
77226
77712
  }
77227
77713
  topics = topics.slice(1);
77228
77714
  }
@@ -77453,38 +77939,38 @@ var isFile2 = (pathlike) => {
77453
77939
  return false;
77454
77940
  }
77455
77941
  };
77456
- var verifyNonTarget = async (config, logger11) => {
77457
- const networks = parseNetworksConfig(logger11, config.networks);
77942
+ var verifyNonTarget = async (config, logger12) => {
77943
+ const networks2 = parseNetworksConfig(logger12, config.networks);
77458
77944
  const paths = parsePathsConfig(config.paths);
77459
- const recordLogger = createRecordLogger(logger11);
77460
- const verifyAll = createVerifyAll(logger11);
77945
+ const recordLogger = createRecordLogger(logger12);
77946
+ const verifyAll = createVerifyAll(logger12);
77461
77947
  const logResult = createLogVerificationResult(recordLogger);
77462
77948
  const verificationArtifacts = config.contracts.flatMap((contract) => {
77463
77949
  var _a;
77464
77950
  const { address, network, contractName, deployment: deploymentPathOrBasename } = contract;
77465
- logger11.info(`Collecting information for contract ${contractName} on network ${network}`);
77466
- const networkConfig = networks[network];
77951
+ logger12.info(`Collecting information for contract ${contractName} on network ${network}`);
77952
+ const networkConfig = networks2[network];
77467
77953
  if (networkConfig == null) {
77468
- logger11.info(`No network configured for contract ${contractName} on network ${network}`);
77954
+ logger12.info(`No network configured for contract ${contractName} on network ${network}`);
77469
77955
  return [];
77470
77956
  }
77471
77957
  const deploymentPath = `${basename(deploymentPathOrBasename, ".json")}.json`;
77472
77958
  const contractDeploymentPath = resolve(paths.deployments, network, deploymentPath);
77473
77959
  if (!isFile2(contractDeploymentPath)) {
77474
- logger11.error(COLORS.error`Deployment file ${contractDeploymentPath} does not exist or is not a file`);
77960
+ logger12.error(COLORS.error`Deployment file ${contractDeploymentPath} does not exist or is not a file`);
77475
77961
  return [];
77476
77962
  }
77477
77963
  const rawDeployment = __require(contractDeploymentPath);
77478
77964
  const deploymentParseResult = DeploymentSchema.safeParse(rawDeployment);
77479
77965
  if (!deploymentParseResult.success) {
77480
- logger11.error(COLORS.error`No network configured for contract ${contractName} on network ${network}`);
77966
+ logger12.error(COLORS.error`No network configured for contract ${contractName} on network ${network}`);
77481
77967
  return [];
77482
77968
  }
77483
77969
  const deployment = deploymentParseResult.data;
77484
77970
  const contractClassName = basename(contractName, ".sol");
77485
77971
  const source = deployment.metadata.sources[contractName];
77486
77972
  if (source == null) {
77487
- logger11.error(
77973
+ logger12.error(
77488
77974
  COLORS.error`Missing source for contract ${contractName} for network ${network} in ${deploymentPath}`
77489
77975
  );
77490
77976
  return [];
@@ -77504,6 +77990,7 @@ var verifyNonTarget = async (config, logger11) => {
77504
77990
  const submitProps = {
77505
77991
  apiUrl: networkConfig.apiUrl,
77506
77992
  apiKey: networkConfig.apiKey,
77993
+ chainId: networkConfig.chainId,
77507
77994
  address,
77508
77995
  contractName: `${contractName}:${contractClassName}`,
77509
77996
  constructorArguments,
@@ -77532,38 +78019,38 @@ var verifyNonTarget = async (config, logger11) => {
77532
78019
  ];
77533
78020
  });
77534
78021
  if (verificationArtifacts.length === 0) {
77535
- logger11.warn("No contracts match the verification criteria, exiting");
78022
+ logger12.warn("No contracts match the verification criteria, exiting");
77536
78023
  return [];
77537
78024
  }
77538
78025
  if (config.dryRun) {
77539
- logger11.debug("Dry run enabled, exiting");
78026
+ logger12.debug("Dry run enabled, exiting");
77540
78027
  return [];
77541
78028
  }
77542
78029
  const results = await Promise.all(verifyAll(verificationArtifacts));
77543
78030
  results.forEach(logResult);
77544
78031
  return results;
77545
78032
  };
77546
- var verifyTarget = async (config, logger11) => {
78033
+ var verifyTarget = async (config, logger12) => {
77547
78034
  const verify = parseFilterConfig(config.filter);
77548
- const networks = parseNetworksConfig(logger11, config.networks);
78035
+ const networks2 = parseNetworksConfig(logger12, config.networks);
77549
78036
  const paths = parsePathsConfig(config.paths);
77550
- const recordLogger = createRecordLogger(logger11);
77551
- const verifyAll = createVerifyAll(logger11);
78037
+ const recordLogger = createRecordLogger(logger12);
78038
+ const verifyAll = createVerifyAll(logger12);
77552
78039
  const logResult = createLogVerificationResult(recordLogger);
77553
78040
  if (!isDirectory(paths.deployments)) {
77554
78041
  throw new Error(`Path ${paths.deployments} is not a directory`);
77555
78042
  }
77556
78043
  const deployedNetworkNames = new Set(readdirSync(paths.deployments));
77557
- const networkConfigEntries = Object.entries(networks);
77558
- logger11.debug("Verifying deployments for following networks:");
78044
+ const networkConfigEntries = Object.entries(networks2);
78045
+ logger12.debug("Verifying deployments for following networks:");
77559
78046
  networkConfigEntries.forEach(([networkName, networkConfig]) => {
77560
- logger11.debug(` - ${networkName} (API URL ${networkConfig.apiUrl})`);
78047
+ logger12.debug(` - ${networkName} (API URL ${networkConfig.apiUrl})`);
77561
78048
  });
77562
78049
  const verificationArtifacts = networkConfigEntries.flatMap(
77563
78050
  ([networkName, networkConfig]) => {
77564
- logger11.info(`Collecting deployments for ${networkName}...`);
78051
+ logger12.info(`Collecting deployments for ${networkName}...`);
77565
78052
  if (!deployedNetworkNames.has(networkName)) {
77566
- logger11.warn(`Could not find deployment for network ${networkName} in ${paths.deployments}`);
78053
+ logger12.warn(`Could not find deployment for network ${networkName} in ${paths.deployments}`);
77567
78054
  return [];
77568
78055
  }
77569
78056
  const deploymentAbsolutePath = resolve(paths.deployments, networkName);
@@ -77571,7 +78058,7 @@ var verifyTarget = async (config, logger11) => {
77571
78058
  (fileName) => fileName.endsWith(".json")
77572
78059
  );
77573
78060
  return deployedContractFileNames.flatMap((fileName) => {
77574
- logger11.info(`Inspecting deployment file ${fileName} on network ${networkName}`);
78061
+ logger12.info(`Inspecting deployment file ${fileName} on network ${networkName}`);
77575
78062
  const contractDeploymentPath = resolve(deploymentAbsolutePath, fileName);
77576
78063
  const rawDeployment = __require(contractDeploymentPath);
77577
78064
  const deploymentParseResult = DeploymentSchema.safeParse(rawDeployment);
@@ -77586,12 +78073,12 @@ var verifyTarget = async (config, logger11) => {
77586
78073
  var _a;
77587
78074
  const shouldVerifyHardhatDeploy = verify(contractName, compilationTarget, networkName);
77588
78075
  if (!shouldVerifyHardhatDeploy) {
77589
- logger11.debug(`Not verifying ${contractName} in ${fileName} on network ${networkName}`);
78076
+ logger12.debug(`Not verifying ${contractName} in ${fileName} on network ${networkName}`);
77590
78077
  return [];
77591
78078
  }
77592
78079
  const source = deployment.metadata.sources[compilationTarget];
77593
78080
  if (source == null) {
77594
- logger11.error(COLORS.error`Could not find source for ${contractName} (${compilationTarget})`);
78081
+ logger12.error(COLORS.error`Could not find source for ${contractName} (${compilationTarget})`);
77595
78082
  return [];
77596
78083
  }
77597
78084
  const licenseType = findLicenseType(source.content);
@@ -77600,6 +78087,7 @@ var verifyTarget = async (config, logger11) => {
77600
78087
  const submitProps = {
77601
78088
  apiUrl: networkConfig.apiUrl,
77602
78089
  apiKey: networkConfig.apiKey,
78090
+ chainId: networkConfig.chainId,
77603
78091
  address: deployment.address,
77604
78092
  contractName: `${compilationTarget}:${contractName}`,
77605
78093
  constructorArguments,
@@ -77629,42 +78117,42 @@ var verifyTarget = async (config, logger11) => {
77629
78117
  }
77630
78118
  );
77631
78119
  if (verificationArtifacts.length === 0) {
77632
- logger11.warn("No contracts match the verification criteria, exiting");
78120
+ logger12.warn("No contracts match the verification criteria, exiting");
77633
78121
  return [];
77634
78122
  }
77635
78123
  if (config.dryRun) {
77636
- logger11.debug("Dry run enabled, exiting");
78124
+ logger12.debug("Dry run enabled, exiting");
77637
78125
  return [];
77638
78126
  }
77639
78127
  const results = await Promise.all(verifyAll(verificationArtifacts));
77640
78128
  results.forEach(logResult);
77641
78129
  return results;
77642
78130
  };
77643
- var createVerifyAll = (logger11) => (artifacts) => {
78131
+ var createVerifyAll = (logger12) => (artifacts) => {
77644
78132
  return artifacts.map(async (artifact, index) => {
77645
78133
  const { submitProps } = artifact;
77646
78134
  const paletteColor = COLORS.palette[index % COLORS.palette.length];
77647
78135
  const counter = `[${index + 1}/${artifacts.length}]`;
77648
78136
  const contractName = import_chalk4.default.bold(submitProps.contractName);
77649
78137
  const networkName = import_chalk4.default.bold(artifact.networkName);
77650
- logger11.info(paletteColor`Verifying contract ${contractName} for network ${networkName} ${counter}`);
78138
+ logger12.info(paletteColor`Verifying contract ${contractName} for network ${networkName} ${counter}`);
77651
78139
  try {
77652
- const verification = createVerification(submitProps, logger11);
78140
+ const verification = createVerification(submitProps, logger12);
77653
78141
  verification.on("poll", (guid) => {
77654
- logger11.info(
78142
+ logger12.info(
77655
78143
  paletteColor`Polling for verification status of ${contractName} for network ${networkName} (GUID ${guid}) ${counter}`
77656
78144
  );
77657
78145
  });
77658
78146
  verification.on("retry", (error, attempt) => {
77659
- logger11.verbose(`Received an error: ${error}`);
77660
- logger11.info(
78147
+ logger12.verbose(`Received an error: ${error}`);
78148
+ logger12.info(
77661
78149
  paletteColor`Retrying failed verification attempt of ${contractName} for network ${networkName} (attempt ${attempt + 1}) ${counter}`
77662
78150
  );
77663
78151
  });
77664
78152
  const result = await verification.verify();
77665
78153
  return { artifact, result };
77666
78154
  } catch (error) {
77667
- logger11.error(
78155
+ logger12.error(
77668
78156
  COLORS.error`Problem verifying contract ${contractName} for network ${networkName} ${counter}: ${error} `
77669
78157
  );
77670
78158
  return { artifact, error };