dequanto 0.1.24 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/lib/cjs/chains/PlatformFactory.js +2 -2
  2. package/lib/cjs/chains/PlatformFactory.js.map +1 -1
  3. package/lib/cjs/chains/arbitrum/Arbiscan.js +15 -11
  4. package/lib/cjs/chains/arbitrum/Arbiscan.js.map +1 -1
  5. package/lib/cjs/chains/boba/Bobascan.js +15 -11
  6. package/lib/cjs/chains/boba/Bobascan.js.map +1 -1
  7. package/lib/cjs/chains/xdai/XDaiscan.js +15 -11
  8. package/lib/cjs/chains/xdai/XDaiscan.js.map +1 -1
  9. package/lib/cjs/class/PackedRanges.js +1 -1
  10. package/lib/cjs/config/Config.js.map +1 -1
  11. package/lib/cjs/config/ConfigDefaults.js +11 -1
  12. package/lib/cjs/config/ConfigDefaults.js.map +1 -1
  13. package/lib/cjs/config/ConfigProvider.js +18 -3
  14. package/lib/cjs/config/ConfigProvider.js.map +1 -1
  15. package/lib/cjs/contracts/ContractBase.js +2 -2
  16. package/lib/cjs/contracts/ContractCreationResolver.js +4 -8
  17. package/lib/cjs/contracts/ContractCreationResolver.js.map +1 -1
  18. package/lib/cjs/contracts/ContractProvider.js +1 -1
  19. package/lib/cjs/contracts/ContractProvider.js.map +1 -1
  20. package/lib/cjs/contracts/ContractReader.js +2 -2
  21. package/lib/cjs/contracts/ContractReader.js.map +1 -1
  22. package/lib/cjs/contracts/deploy/Deployments.js +2 -2
  23. package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
  24. package/lib/cjs/erc4337/Erc4337Factory.js +2 -2
  25. package/lib/cjs/erc4337/Erc4337Factory.js.map +1 -1
  26. package/lib/cjs/explorer/BlockchainExplorer.js +488 -0
  27. package/lib/cjs/explorer/BlockchainExplorer.js.map +1 -0
  28. package/lib/cjs/explorer/BlockchainExplorerFactory.js +51 -0
  29. package/lib/cjs/explorer/BlockchainExplorerFactory.js.map +1 -0
  30. package/lib/cjs/explorer/BlockchainExplorerProvider.js +41 -0
  31. package/lib/cjs/explorer/BlockchainExplorerProvider.js.map +1 -0
  32. package/lib/cjs/explorer/{BlockChainExplorerStorage.js → BlockchainExplorerStorage.js} +7 -7
  33. package/lib/cjs/explorer/{BlockChainExplorerStorage.js.map → BlockchainExplorerStorage.js.map} +1 -1
  34. package/lib/cjs/explorer/Bscscan.js +19 -15
  35. package/lib/cjs/explorer/Bscscan.js.map +1 -1
  36. package/lib/cjs/explorer/ContractVerifier.js +1 -1
  37. package/lib/cjs/explorer/ContractVerifier.js.map +1 -1
  38. package/lib/cjs/explorer/Etherscan.js +28 -24
  39. package/lib/cjs/explorer/Etherscan.js.map +1 -1
  40. package/lib/cjs/explorer/Evmscan.js +5 -3
  41. package/lib/cjs/explorer/Evmscan.js.map +1 -1
  42. package/lib/cjs/explorer/IBlockchainExplorer.js +4 -0
  43. package/lib/cjs/explorer/IBlockchainExplorer.js.map +1 -0
  44. package/lib/cjs/explorer/Polyscan.js +19 -15
  45. package/lib/cjs/explorer/Polyscan.js.map +1 -1
  46. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js +6 -0
  47. package/lib/cjs/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  48. package/lib/cjs/gen/Generator.js +3 -2
  49. package/lib/cjs/gen/Generator.js.map +1 -1
  50. package/lib/cjs/gen/GeneratorFromAbi.js +20 -15
  51. package/lib/cjs/gen/GeneratorFromAbi.js.map +1 -1
  52. package/lib/cjs/hardhat/HardhatProvider.js +4 -5
  53. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  54. package/lib/cjs/indexer/BlocksTxIndexer.js +1 -1
  55. package/lib/cjs/indexer/EventsIndexer.js +2 -2
  56. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  57. package/lib/cjs/indexer/PendingTxIndexer.js +1 -1
  58. package/lib/cjs/indexer/handlers/BlocksWalker.js +2 -2
  59. package/lib/cjs/json/JsonStoreFs.js +3 -2
  60. package/lib/cjs/json/JsonStoreFs.js.map +1 -1
  61. package/lib/cjs/loggers/LoggerService.js +3 -0
  62. package/lib/cjs/loggers/LoggerService.js.map +1 -1
  63. package/lib/cjs/rpc/RpcContract.js +2 -1
  64. package/lib/cjs/rpc/RpcContract.js.map +1 -1
  65. package/lib/cjs/solidity/SlotsDump.js +2 -2
  66. package/lib/cjs/solidity/SlotsDump.js.map +1 -1
  67. package/lib/cjs/solidity/SourceCodeProvider.js +2 -2
  68. package/lib/cjs/solidity/SourceCodeProvider.js.map +1 -1
  69. package/lib/cjs/solidity/storage/MappingKeysLoader.js +2 -2
  70. package/lib/cjs/solidity/storage/MappingKeysLoader.js.map +1 -1
  71. package/lib/cjs/tokens/TokenExchangeService.js +2 -2
  72. package/lib/cjs/tokens/TokenExchangeService.js.map +1 -1
  73. package/lib/cjs/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.js +2 -2
  74. package/lib/cjs/tokens/TokenExchanges/OneInchExchange.js +2 -2
  75. package/lib/cjs/tokens/TokenExchanges/OneInchExchange.js.map +1 -1
  76. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js +3 -3
  77. package/lib/cjs/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  78. package/lib/cjs/tokens/TokenOracles/amm/AmmV2Oracle.js +2 -2
  79. package/lib/cjs/tokens/TokenOracles/amm/AmmV2Oracle.js.map +1 -1
  80. package/lib/cjs/tokens/TokenOracles/chainlink/ChainlinkOracle.js +1 -1
  81. package/lib/cjs/tokens/TokensService.js +3 -3
  82. package/lib/cjs/tokens/TokensService.js.map +1 -1
  83. package/lib/cjs/txs/TxProvider.js +1 -1
  84. package/lib/cjs/utils/$contract.js +1 -1
  85. package/lib/cjs/utils/$contract.js.map +1 -1
  86. package/lib/cjs/utils/$dependency.js +0 -29
  87. package/lib/cjs/utils/$dependency.js.map +1 -1
  88. package/lib/esm/chains/PlatformFactory.js.map +1 -1
  89. package/lib/esm/chains/PlatformFactory.mjs +2 -2
  90. package/lib/esm/chains/arbitrum/Arbiscan.js.map +1 -1
  91. package/lib/esm/chains/arbitrum/Arbiscan.mjs +15 -11
  92. package/lib/esm/chains/boba/Bobascan.js.map +1 -1
  93. package/lib/esm/chains/boba/Bobascan.mjs +15 -11
  94. package/lib/esm/chains/xdai/XDaiscan.js.map +1 -1
  95. package/lib/esm/chains/xdai/XDaiscan.mjs +15 -11
  96. package/lib/esm/class/PackedRanges.mjs +1 -1
  97. package/lib/esm/config/Config.js.map +1 -1
  98. package/lib/esm/config/ConfigDefaults.js.map +1 -1
  99. package/lib/esm/config/ConfigDefaults.mjs +11 -1
  100. package/lib/esm/config/ConfigProvider.js.map +1 -1
  101. package/lib/esm/config/ConfigProvider.mjs +18 -3
  102. package/lib/esm/contracts/ContractBase.mjs +2 -2
  103. package/lib/esm/contracts/ContractCreationResolver.js.map +1 -1
  104. package/lib/esm/contracts/ContractCreationResolver.mjs +4 -8
  105. package/lib/esm/contracts/ContractProvider.js.map +1 -1
  106. package/lib/esm/contracts/ContractProvider.mjs +1 -1
  107. package/lib/esm/contracts/ContractReader.js.map +1 -1
  108. package/lib/esm/contracts/ContractReader.mjs +2 -2
  109. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  110. package/lib/esm/contracts/deploy/Deployments.mjs +2 -2
  111. package/lib/esm/erc4337/Erc4337Factory.js.map +1 -1
  112. package/lib/esm/erc4337/Erc4337Factory.mjs +2 -2
  113. package/lib/esm/explorer/BlockchainExplorer.js.map +1 -0
  114. package/lib/esm/explorer/BlockchainExplorer.mjs +481 -0
  115. package/lib/esm/explorer/BlockchainExplorerFactory.js.map +1 -0
  116. package/lib/esm/explorer/BlockchainExplorerFactory.mjs +48 -0
  117. package/lib/esm/explorer/BlockchainExplorerProvider.js.map +1 -0
  118. package/lib/esm/explorer/BlockchainExplorerProvider.mjs +38 -0
  119. package/lib/esm/explorer/{BlockChainExplorerStorage.js.map → BlockchainExplorerStorage.js.map} +1 -1
  120. package/lib/esm/explorer/{BlockChainExplorerStorage.mjs → BlockchainExplorerStorage.mjs} +5 -5
  121. package/lib/esm/explorer/Bscscan.js.map +1 -1
  122. package/lib/esm/explorer/Bscscan.mjs +19 -15
  123. package/lib/esm/explorer/ContractVerifier.js.map +1 -1
  124. package/lib/esm/explorer/ContractVerifier.mjs +1 -1
  125. package/lib/esm/explorer/Etherscan.js.map +1 -1
  126. package/lib/esm/explorer/Etherscan.mjs +28 -24
  127. package/lib/esm/explorer/Evmscan.js.map +1 -1
  128. package/lib/esm/explorer/Evmscan.mjs +5 -3
  129. package/lib/esm/explorer/IBlockchainExplorer.js.map +1 -0
  130. package/lib/esm/explorer/IBlockchainExplorer.mjs +3 -0
  131. package/lib/esm/explorer/Polyscan.js.map +1 -1
  132. package/lib/esm/explorer/Polyscan.mjs +19 -15
  133. package/lib/esm/explorer/verifiers/FsHtmlVerifier.js.map +1 -1
  134. package/lib/esm/explorer/verifiers/FsHtmlVerifier.mjs +6 -0
  135. package/lib/esm/gen/Generator.js.map +1 -1
  136. package/lib/esm/gen/Generator.mjs +3 -2
  137. package/lib/esm/gen/GeneratorFromAbi.js.map +1 -1
  138. package/lib/esm/gen/GeneratorFromAbi.mjs +20 -15
  139. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  140. package/lib/esm/hardhat/HardhatProvider.mjs +4 -5
  141. package/lib/esm/indexer/BlocksTxIndexer.mjs +1 -1
  142. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  143. package/lib/esm/indexer/EventsIndexer.mjs +2 -2
  144. package/lib/esm/indexer/PendingTxIndexer.mjs +1 -1
  145. package/lib/esm/indexer/handlers/BlocksWalker.mjs +2 -2
  146. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  147. package/lib/esm/json/JsonStoreFs.mjs +3 -2
  148. package/lib/esm/loggers/LoggerService.js.map +1 -1
  149. package/lib/esm/loggers/LoggerService.mjs +3 -0
  150. package/lib/esm/rpc/RpcContract.js.map +1 -1
  151. package/lib/esm/rpc/RpcContract.mjs +2 -1
  152. package/lib/esm/solidity/SlotsDump.js.map +1 -1
  153. package/lib/esm/solidity/SlotsDump.mjs +2 -2
  154. package/lib/esm/solidity/SourceCodeProvider.js.map +1 -1
  155. package/lib/esm/solidity/SourceCodeProvider.mjs +2 -2
  156. package/lib/esm/solidity/storage/MappingKeysLoader.js.map +1 -1
  157. package/lib/esm/solidity/storage/MappingKeysLoader.mjs +2 -2
  158. package/lib/esm/tokens/TokenExchangeService.js.map +1 -1
  159. package/lib/esm/tokens/TokenExchangeService.mjs +2 -2
  160. package/lib/esm/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.mjs +2 -2
  161. package/lib/esm/tokens/TokenExchanges/OneInchExchange.js.map +1 -1
  162. package/lib/esm/tokens/TokenExchanges/OneInchExchange.mjs +2 -2
  163. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.js.map +1 -1
  164. package/lib/esm/tokens/TokenOracles/amm/AmmV1Oracle.mjs +3 -3
  165. package/lib/esm/tokens/TokenOracles/amm/AmmV2Oracle.js.map +1 -1
  166. package/lib/esm/tokens/TokenOracles/amm/AmmV2Oracle.mjs +2 -2
  167. package/lib/esm/tokens/TokenOracles/chainlink/ChainlinkOracle.mjs +1 -1
  168. package/lib/esm/tokens/TokensService.js.map +1 -1
  169. package/lib/esm/tokens/TokensService.mjs +3 -3
  170. package/lib/esm/txs/TxProvider.mjs +1 -1
  171. package/lib/esm/utils/$contract.js.map +1 -1
  172. package/lib/esm/utils/$contract.mjs +1 -1
  173. package/lib/esm/utils/$dependency.js.map +1 -1
  174. package/lib/esm/utils/$dependency.mjs +0 -4
  175. package/lib/types/chains/PlatformFactory.d.ts +2 -2
  176. package/lib/types/chains/arbitrum/Arbiscan.d.ts +3 -3
  177. package/lib/types/chains/boba/Bobascan.d.ts +3 -3
  178. package/lib/types/chains/xdai/XDaiscan.d.ts +3 -3
  179. package/lib/types/class/PackedRanges.d.ts +1 -1
  180. package/lib/types/config/AConfigBase.d.ts +1 -0
  181. package/lib/types/config/interface/IConfigData.d.ts +4 -0
  182. package/lib/types/contracts/Contract.d.ts +3 -3
  183. package/lib/types/contracts/ContractAbiProvider.d.ts +3 -3
  184. package/lib/types/contracts/ContractBase.d.ts +4 -4
  185. package/lib/types/contracts/ContractClassFactory.d.ts +3 -3
  186. package/lib/types/contracts/ContractCreationResolver.d.ts +3 -3
  187. package/lib/types/contracts/ContractProvider.d.ts +3 -3
  188. package/lib/types/contracts/ContractStorageReaderBase.d.ts +3 -3
  189. package/lib/types/contracts/EthContract.d.ts +2 -1
  190. package/lib/types/contracts/TxContract.d.ts +2 -2
  191. package/lib/types/erc4337/Erc4337Factory.d.ts +3 -3
  192. package/lib/types/erc4337/Erc4337Service.d.ts +3 -3
  193. package/lib/types/erc4337/Erc4337TxWriter.d.ts +3 -3
  194. package/lib/types/explorer/BlockchainExplorer.d.ts +118 -0
  195. package/lib/types/explorer/BlockchainExplorerFactory.d.ts +15 -0
  196. package/lib/types/explorer/BlockchainExplorerProvider.d.ts +11 -0
  197. package/lib/types/explorer/{BlockChainExplorerStorage.d.ts → BlockchainExplorerStorage.d.ts} +5 -5
  198. package/lib/types/explorer/Bscscan.d.ts +3 -3
  199. package/lib/types/explorer/ContractVerifier.d.ts +3 -3
  200. package/lib/types/explorer/Etherscan.d.ts +3 -3
  201. package/lib/types/explorer/Evmscan.d.ts +5 -1
  202. package/lib/types/explorer/{IBlockChainExplorer.d.ts → IBlockchainExplorer.d.ts} +6 -5
  203. package/lib/types/explorer/Polyscan.d.ts +3 -3
  204. package/lib/types/explorer/verifiers/FsHtmlVerifier.d.ts +20 -7
  205. package/lib/types/explorer/verifiers/IVerifier.d.ts +13 -0
  206. package/lib/types/gen/Generator.d.ts +2 -2
  207. package/lib/types/gen/GeneratorFromAbi.d.ts +1 -1
  208. package/lib/types/hardhat/HardhatProvider.d.ts +2 -1
  209. package/lib/types/indexer/BlocksTxIndexer.d.ts +1 -1
  210. package/lib/types/indexer/handlers/BlocksWalker.d.ts +1 -1
  211. package/lib/types/loggers/LoggerService.d.ts +10 -1
  212. package/lib/types/prebuilt/1inch/OneInchRouterContract/OneInchRouterContract.d.ts +5 -5
  213. package/lib/types/prebuilt/amm/AmmFactoryV2Contract/AmmFactoryV2Contract.d.ts +5 -5
  214. package/lib/types/prebuilt/amm/AmmMasterChefV2Contract/AmmMasterChefV2Contract.d.ts +5 -5
  215. package/lib/types/prebuilt/amm/AmmPairV2Contract/AmmPairV2Contract.d.ts +5 -5
  216. package/lib/types/prebuilt/amm/AmmPairV3Contract/AmmPairV3Contract.d.ts +5 -5
  217. package/lib/types/prebuilt/amm/AmmRouterV2Contract/AmmRouterV2Contract.d.ts +5 -5
  218. package/lib/types/prebuilt/amm/AmmVaultV2Contract/AmmVaultV2Contract.d.ts +5 -5
  219. package/lib/types/prebuilt/ens/EnsBaseRegistrar/EnsBaseRegistrar.d.ts +5 -5
  220. package/lib/types/prebuilt/ens/EnsDnsRegistrar/EnsDnsRegistrar.d.ts +5 -5
  221. package/lib/types/prebuilt/ens/EnsEthRegistrarController/EnsEthRegistrarController.d.ts +5 -5
  222. package/lib/types/prebuilt/ens/EnsNameWrapper/EnsNameWrapper.d.ts +5 -5
  223. package/lib/types/prebuilt/ens/EnsPublicResolver/EnsPublicResolver.d.ts +5 -5
  224. package/lib/types/prebuilt/ens/EnsRegistry/EnsRegistry.d.ts +5 -5
  225. package/lib/types/prebuilt/ens/EnsReverseRegistrar/EnsReverseRegistrar.d.ts +5 -5
  226. package/lib/types/prebuilt/erc4337/EntryPoint/EntryPoint.d.ts +5 -5
  227. package/lib/types/prebuilt/erc4337/SimpleAccount/SimpleAccount.d.ts +5 -5
  228. package/lib/types/prebuilt/erc4337/SimpleAccountFactory/SimpleAccountFactory.d.ts +5 -5
  229. package/lib/types/prebuilt/openzeppelin/AccessControl.d.ts +3 -3
  230. package/lib/types/prebuilt/openzeppelin/AccessControlCrossChain.d.ts +3 -3
  231. package/lib/types/prebuilt/openzeppelin/AccessControlDefaultAdminRules.d.ts +3 -3
  232. package/lib/types/prebuilt/openzeppelin/AccessControlEnumerable.d.ts +3 -3
  233. package/lib/types/prebuilt/openzeppelin/ConditionalEscrow.d.ts +3 -3
  234. package/lib/types/prebuilt/openzeppelin/CrossChainEnabledPolygonChild.d.ts +3 -3
  235. package/lib/types/prebuilt/openzeppelin/EIP712.d.ts +3 -3
  236. package/lib/types/prebuilt/openzeppelin/ERC1155.d.ts +3 -3
  237. package/lib/types/prebuilt/openzeppelin/ERC1155Burnable.d.ts +3 -3
  238. package/lib/types/prebuilt/openzeppelin/ERC1155Holder.d.ts +3 -3
  239. package/lib/types/prebuilt/openzeppelin/ERC1155Pausable.d.ts +3 -3
  240. package/lib/types/prebuilt/openzeppelin/ERC1155PresetMinterPauser.d.ts +3 -3
  241. package/lib/types/prebuilt/openzeppelin/ERC1155Receiver.d.ts +3 -3
  242. package/lib/types/prebuilt/openzeppelin/ERC1155Supply.d.ts +3 -3
  243. package/lib/types/prebuilt/openzeppelin/ERC1155URIStorage.d.ts +3 -3
  244. package/lib/types/prebuilt/openzeppelin/ERC165.d.ts +3 -3
  245. package/lib/types/prebuilt/openzeppelin/ERC165Storage.d.ts +3 -3
  246. package/lib/types/prebuilt/openzeppelin/ERC1820Implementer.d.ts +3 -3
  247. package/lib/types/prebuilt/openzeppelin/ERC20.d.ts +3 -3
  248. package/lib/types/prebuilt/openzeppelin/ERC20Burnable.d.ts +3 -3
  249. package/lib/types/prebuilt/openzeppelin/ERC20Capped.d.ts +3 -3
  250. package/lib/types/prebuilt/openzeppelin/ERC20FlashMint.d.ts +3 -3
  251. package/lib/types/prebuilt/openzeppelin/ERC20Pausable.d.ts +3 -3
  252. package/lib/types/prebuilt/openzeppelin/ERC20Permit.d.ts +3 -3
  253. package/lib/types/prebuilt/openzeppelin/ERC20PresetFixedSupply.d.ts +3 -3
  254. package/lib/types/prebuilt/openzeppelin/ERC20PresetMinterPauser.d.ts +3 -3
  255. package/lib/types/prebuilt/openzeppelin/ERC20Snapshot.d.ts +3 -3
  256. package/lib/types/prebuilt/openzeppelin/ERC20Votes.d.ts +3 -3
  257. package/lib/types/prebuilt/openzeppelin/ERC20VotesComp.d.ts +3 -3
  258. package/lib/types/prebuilt/openzeppelin/ERC20Wrapper.d.ts +3 -3
  259. package/lib/types/prebuilt/openzeppelin/ERC2771Context.d.ts +3 -3
  260. package/lib/types/prebuilt/openzeppelin/ERC2981.d.ts +3 -3
  261. package/lib/types/prebuilt/openzeppelin/ERC4626.d.ts +3 -3
  262. package/lib/types/prebuilt/openzeppelin/ERC721.d.ts +3 -3
  263. package/lib/types/prebuilt/openzeppelin/ERC721Burnable.d.ts +3 -3
  264. package/lib/types/prebuilt/openzeppelin/ERC721Consecutive.d.ts +3 -3
  265. package/lib/types/prebuilt/openzeppelin/ERC721Enumerable.d.ts +3 -3
  266. package/lib/types/prebuilt/openzeppelin/ERC721Holder.d.ts +3 -3
  267. package/lib/types/prebuilt/openzeppelin/ERC721Pausable.d.ts +3 -3
  268. package/lib/types/prebuilt/openzeppelin/ERC721PresetMinterPauserAutoId.d.ts +3 -3
  269. package/lib/types/prebuilt/openzeppelin/ERC721Royalty.d.ts +3 -3
  270. package/lib/types/prebuilt/openzeppelin/ERC721URIStorage.d.ts +3 -3
  271. package/lib/types/prebuilt/openzeppelin/ERC721Votes.d.ts +3 -3
  272. package/lib/types/prebuilt/openzeppelin/ERC721Wrapper.d.ts +3 -3
  273. package/lib/types/prebuilt/openzeppelin/ERC777.d.ts +3 -3
  274. package/lib/types/prebuilt/openzeppelin/ERC777PresetFixedSupply.d.ts +3 -3
  275. package/lib/types/prebuilt/openzeppelin/Escrow.d.ts +3 -3
  276. package/lib/types/prebuilt/openzeppelin/Governor.d.ts +3 -3
  277. package/lib/types/prebuilt/openzeppelin/GovernorCompatibilityBravo.d.ts +3 -3
  278. package/lib/types/prebuilt/openzeppelin/GovernorCountingSimple.d.ts +3 -3
  279. package/lib/types/prebuilt/openzeppelin/GovernorPreventLateQuorum.d.ts +3 -3
  280. package/lib/types/prebuilt/openzeppelin/GovernorProposalThreshold.d.ts +3 -3
  281. package/lib/types/prebuilt/openzeppelin/GovernorSettings.d.ts +3 -3
  282. package/lib/types/prebuilt/openzeppelin/GovernorTimelockCompound.d.ts +3 -3
  283. package/lib/types/prebuilt/openzeppelin/GovernorTimelockControl.d.ts +3 -3
  284. package/lib/types/prebuilt/openzeppelin/GovernorVotes.d.ts +3 -3
  285. package/lib/types/prebuilt/openzeppelin/GovernorVotesComp.d.ts +3 -3
  286. package/lib/types/prebuilt/openzeppelin/GovernorVotesQuorumFraction.d.ts +3 -3
  287. package/lib/types/prebuilt/openzeppelin/IAMB.d.ts +3 -3
  288. package/lib/types/prebuilt/openzeppelin/IAccessControl.d.ts +3 -3
  289. package/lib/types/prebuilt/openzeppelin/IAccessControlDefaultAdminRules.d.ts +3 -3
  290. package/lib/types/prebuilt/openzeppelin/IAccessControlEnumerable.d.ts +3 -3
  291. package/lib/types/prebuilt/openzeppelin/IArbSys.d.ts +3 -3
  292. package/lib/types/prebuilt/openzeppelin/IBeacon.d.ts +3 -3
  293. package/lib/types/prebuilt/openzeppelin/IBridge.d.ts +3 -3
  294. package/lib/types/prebuilt/openzeppelin/ICompoundTimelock.d.ts +3 -3
  295. package/lib/types/prebuilt/openzeppelin/ICrossDomainMessenger.d.ts +3 -3
  296. package/lib/types/prebuilt/openzeppelin/IERC1155.d.ts +3 -3
  297. package/lib/types/prebuilt/openzeppelin/IERC1155MetadataURI.d.ts +3 -3
  298. package/lib/types/prebuilt/openzeppelin/IERC1155Receiver.d.ts +3 -3
  299. package/lib/types/prebuilt/openzeppelin/IERC1271.d.ts +3 -3
  300. package/lib/types/prebuilt/openzeppelin/IERC1363.d.ts +3 -3
  301. package/lib/types/prebuilt/openzeppelin/IERC1363Receiver.d.ts +3 -3
  302. package/lib/types/prebuilt/openzeppelin/IERC1363Spender.d.ts +3 -3
  303. package/lib/types/prebuilt/openzeppelin/IERC165.d.ts +3 -3
  304. package/lib/types/prebuilt/openzeppelin/IERC1820Implementer.d.ts +3 -3
  305. package/lib/types/prebuilt/openzeppelin/IERC1820Registry.d.ts +3 -3
  306. package/lib/types/prebuilt/openzeppelin/IERC1822Proxiable.d.ts +3 -3
  307. package/lib/types/prebuilt/openzeppelin/IERC20.d.ts +3 -3
  308. package/lib/types/prebuilt/openzeppelin/IERC20Metadata.d.ts +3 -3
  309. package/lib/types/prebuilt/openzeppelin/IERC20Permit.d.ts +3 -3
  310. package/lib/types/prebuilt/openzeppelin/IERC2612.d.ts +3 -3
  311. package/lib/types/prebuilt/openzeppelin/IERC2981.d.ts +3 -3
  312. package/lib/types/prebuilt/openzeppelin/IERC3156FlashBorrower.d.ts +3 -3
  313. package/lib/types/prebuilt/openzeppelin/IERC3156FlashLender.d.ts +3 -3
  314. package/lib/types/prebuilt/openzeppelin/IERC4626.d.ts +3 -3
  315. package/lib/types/prebuilt/openzeppelin/IERC4906.d.ts +3 -3
  316. package/lib/types/prebuilt/openzeppelin/IERC5267.d.ts +3 -3
  317. package/lib/types/prebuilt/openzeppelin/IERC5313.d.ts +3 -3
  318. package/lib/types/prebuilt/openzeppelin/IERC5805.d.ts +3 -3
  319. package/lib/types/prebuilt/openzeppelin/IERC6372.d.ts +3 -3
  320. package/lib/types/prebuilt/openzeppelin/IERC721.d.ts +3 -3
  321. package/lib/types/prebuilt/openzeppelin/IERC721Enumerable.d.ts +3 -3
  322. package/lib/types/prebuilt/openzeppelin/IERC721Metadata.d.ts +3 -3
  323. package/lib/types/prebuilt/openzeppelin/IERC721Receiver.d.ts +3 -3
  324. package/lib/types/prebuilt/openzeppelin/IERC777.d.ts +3 -3
  325. package/lib/types/prebuilt/openzeppelin/IERC777Recipient.d.ts +3 -3
  326. package/lib/types/prebuilt/openzeppelin/IERC777Sender.d.ts +3 -3
  327. package/lib/types/prebuilt/openzeppelin/IFxMessageProcessor.d.ts +3 -3
  328. package/lib/types/prebuilt/openzeppelin/IGovernor.d.ts +3 -3
  329. package/lib/types/prebuilt/openzeppelin/IGovernorCompatibilityBravo.d.ts +3 -3
  330. package/lib/types/prebuilt/openzeppelin/IGovernorTimelock.d.ts +3 -3
  331. package/lib/types/prebuilt/openzeppelin/IInbox.d.ts +3 -3
  332. package/lib/types/prebuilt/openzeppelin/IOutbox.d.ts +3 -3
  333. package/lib/types/prebuilt/openzeppelin/ITransparentUpgradeableProxy.d.ts +3 -3
  334. package/lib/types/prebuilt/openzeppelin/IVotes.d.ts +3 -3
  335. package/lib/types/prebuilt/openzeppelin/LibArbitrumL2.d.ts +3 -3
  336. package/lib/types/prebuilt/openzeppelin/MinimalForwarder.d.ts +3 -3
  337. package/lib/types/prebuilt/openzeppelin/Multicall.d.ts +3 -3
  338. package/lib/types/prebuilt/openzeppelin/Ownable.d.ts +3 -3
  339. package/lib/types/prebuilt/openzeppelin/Ownable2Step.d.ts +3 -3
  340. package/lib/types/prebuilt/openzeppelin/Pausable.d.ts +3 -3
  341. package/lib/types/prebuilt/openzeppelin/PaymentSplitter.d.ts +3 -3
  342. package/lib/types/prebuilt/openzeppelin/ProxyAdmin.d.ts +3 -3
  343. package/lib/types/prebuilt/openzeppelin/PullPayment.d.ts +3 -3
  344. package/lib/types/prebuilt/openzeppelin/RefundEscrow.d.ts +3 -3
  345. package/lib/types/prebuilt/openzeppelin/TimelockController.d.ts +3 -3
  346. package/lib/types/prebuilt/openzeppelin/TokenTimelock.d.ts +3 -3
  347. package/lib/types/prebuilt/openzeppelin/UUPSUpgradeable.d.ts +3 -3
  348. package/lib/types/prebuilt/openzeppelin/UpgradeableBeacon.d.ts +3 -3
  349. package/lib/types/prebuilt/openzeppelin/VestingWallet.d.ts +3 -3
  350. package/lib/types/prebuilt/openzeppelin/Votes.d.ts +3 -3
  351. package/lib/types/prebuilt/openzeppelin/compiled/TransparentUpgradeableProxy/TransparentUpgradeableProxy.d.ts +5 -5
  352. package/lib/types/prebuilt/safe/CreateCall.d.ts +3 -3
  353. package/lib/types/prebuilt/safe/GnosisSafe.d.ts +3 -3
  354. package/lib/types/prebuilt/safe/MultiSend.d.ts +3 -3
  355. package/lib/types/prebuilt/safe/Safe.d.ts +3 -3
  356. package/lib/types/prebuilt/safe/SafeL2.d.ts +3 -3
  357. package/lib/types/prebuilt/safe/SafeProxyFactory.d.ts +3 -3
  358. package/lib/types/prebuilt/weth/WETH/WETH.d.ts +5 -5
  359. package/lib/types/safe/GnosisSafeService.d.ts +3 -3
  360. package/lib/types/solidity/SlotsDump.d.ts +2 -2
  361. package/lib/types/solidity/SourceCodeProvider.d.ts +2 -2
  362. package/lib/types/solidity/storage/MappingKeysLoader.d.ts +2 -2
  363. package/lib/types/tokens/TokenDataProvider.d.ts +2 -2
  364. package/lib/types/tokens/TokenExchangeService.d.ts +2 -2
  365. package/lib/types/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.d.ts +3 -3
  366. package/lib/types/tokens/TokenExchanges/AmmV2ExchangeBase.d.ts +3 -3
  367. package/lib/types/tokens/TokenExchanges/AmmV2PriceQuote.d.ts +3 -3
  368. package/lib/types/tokens/TokenExchanges/OneInchExchange.d.ts +2 -2
  369. package/lib/types/tokens/TokenExchanges/PancakeswapExchange.d.ts +3 -3
  370. package/lib/types/tokens/TokenExchanges/SushiswapPolygonExchange.d.ts +3 -3
  371. package/lib/types/tokens/TokenExchanges/UniswapV2Exchange.d.ts +3 -3
  372. package/lib/types/tokens/TokenPriceService.d.ts +2 -2
  373. package/lib/types/tokens/TokenPriceServiceProvider.d.ts +3 -3
  374. package/lib/types/tokens/TokenProviders/TPExplorer.d.ts +3 -3
  375. package/lib/types/tokens/TokensService.d.ts +2 -2
  376. package/lib/types/wallets/Wallet.d.ts +3 -3
  377. package/package-bundler.json +0 -2
  378. package/package.json +4 -3
  379. package/src/bridges/hop/HopBridge.ts +4 -4
  380. package/src/bridges/hop/contracts/gen.act.ts +4 -4
  381. package/src/chains/PlatformFactory.ts +4 -4
  382. package/src/chains/arbitrum/Arbiscan.ts +18 -11
  383. package/src/chains/boba/Bobascan.ts +16 -11
  384. package/src/chains/xdai/XDaiscan.ts +16 -11
  385. package/src/class/PackedRanges.ts +1 -1
  386. package/src/config/AConfigBase.ts +1 -0
  387. package/src/config/Config.ts +0 -1
  388. package/src/config/ConfigDefaults.ts +11 -1
  389. package/src/config/ConfigProvider.ts +20 -3
  390. package/src/config/interface/IConfigData.ts +5 -0
  391. package/src/contracts/Contract.ts +3 -3
  392. package/src/contracts/ContractAbiProvider.ts +2 -2
  393. package/src/contracts/ContractBase.ts +5 -5
  394. package/src/contracts/ContractClassFactory.ts +4 -4
  395. package/src/contracts/ContractCreationResolver.ts +7 -11
  396. package/src/contracts/ContractProvider.ts +3 -3
  397. package/src/contracts/ContractReader.ts +2 -2
  398. package/src/contracts/ContractStorageReaderBase.ts +2 -2
  399. package/src/contracts/TxContract.ts +2 -2
  400. package/src/contracts/deploy/Deployments.ts +3 -2
  401. package/src/erc4337/Erc4337Factory.ts +5 -5
  402. package/src/erc4337/Erc4337Service.ts +2 -2
  403. package/src/erc4337/Erc4337TxWriter.ts +2 -2
  404. package/src/explorer/BlockchainExplorer.ts +633 -0
  405. package/src/explorer/BlockchainExplorerFactory.ts +55 -0
  406. package/src/explorer/BlockchainExplorerProvider.ts +42 -0
  407. package/src/explorer/{BlockChainExplorerStorage.ts → BlockchainExplorerStorage.ts} +7 -7
  408. package/src/explorer/Bscscan.ts +21 -16
  409. package/src/explorer/ContractVerifier.ts +4 -3
  410. package/src/explorer/Etherscan.ts +29 -26
  411. package/src/explorer/Evmscan.ts +5 -3
  412. package/src/explorer/{IBlockChainExplorer.ts → IBlockchainExplorer.ts} +6 -5
  413. package/src/explorer/Polyscan.ts +20 -16
  414. package/src/explorer/verifiers/FsHtmlVerifier.ts +25 -6
  415. package/src/explorer/verifiers/IVerifier.ts +15 -0
  416. package/src/gen/Generator.ts +5 -4
  417. package/src/gen/GeneratorFromAbi.ts +24 -16
  418. package/src/gen/templates/ContractStorageReaderTemplate.ts.tmpl +1 -1
  419. package/src/gen/templates/ContractTemplate.d.ts.tmpl +1 -1
  420. package/src/gen/templates/ContractTemplate.ts.tmpl +2 -2
  421. package/src/hardhat/HardhatProvider.ts +5 -6
  422. package/src/indexer/BlocksTxIndexer.ts +2 -2
  423. package/src/indexer/EventsIndexer.ts +2 -2
  424. package/src/indexer/PendingTxIndexer.ts +1 -1
  425. package/src/indexer/handlers/BlocksWalker.ts +3 -3
  426. package/src/json/JsonStoreFs.ts +3 -3
  427. package/src/loggers/LoggerService.ts +6 -1
  428. package/src/prebuilt/1inch/OneInchRouterContract/OneInchRouterContract.ts +3 -3
  429. package/src/prebuilt/amm/AmmFactoryV2Contract/AmmFactoryV2Contract.ts +3 -3
  430. package/src/prebuilt/amm/AmmMasterChefV2Contract/AmmMasterChefV2Contract.ts +3 -3
  431. package/src/prebuilt/amm/AmmPairV2Contract/AmmPairV2Contract.ts +3 -3
  432. package/src/prebuilt/amm/AmmPairV3Contract/AmmPairV3Contract.ts +3 -3
  433. package/src/prebuilt/amm/AmmRouterV2Contract/AmmRouterV2Contract.ts +4 -4
  434. package/src/prebuilt/amm/AmmVaultV2Contract/AmmVaultV2Contract.ts +3 -3
  435. package/src/prebuilt/ens/EnsBaseRegistrar/EnsBaseRegistrar.ts +3 -3
  436. package/src/prebuilt/ens/EnsDnsRegistrar/EnsDnsRegistrar.ts +3 -3
  437. package/src/prebuilt/ens/EnsEthRegistrarController/EnsEthRegistrarController.ts +3 -3
  438. package/src/prebuilt/ens/EnsNameWrapper/EnsNameWrapper.ts +3 -3
  439. package/src/prebuilt/ens/EnsPublicResolver/EnsPublicResolver.ts +3 -3
  440. package/src/prebuilt/ens/EnsRegistry/EnsRegistry.ts +3 -3
  441. package/src/prebuilt/ens/EnsReverseRegistrar/EnsReverseRegistrar.ts +3 -3
  442. package/src/prebuilt/erc4337/EntryPoint/EntryPoint.ts +3 -3
  443. package/src/prebuilt/erc4337/SimpleAccount/SimpleAccount.ts +3 -3
  444. package/src/prebuilt/erc4337/SimpleAccountFactory/SimpleAccountFactory.ts +4 -4
  445. package/src/prebuilt/openzeppelin/AccessControl.ts +4 -4
  446. package/src/prebuilt/openzeppelin/AccessControlCrossChain.ts +4 -4
  447. package/src/prebuilt/openzeppelin/AccessControlDefaultAdminRules.ts +4 -4
  448. package/src/prebuilt/openzeppelin/AccessControlEnumerable.ts +4 -4
  449. package/src/prebuilt/openzeppelin/ConditionalEscrow.ts +4 -4
  450. package/src/prebuilt/openzeppelin/CrossChainEnabledPolygonChild.ts +5 -5
  451. package/src/prebuilt/openzeppelin/EIP712.ts +4 -4
  452. package/src/prebuilt/openzeppelin/ERC1155.ts +4 -4
  453. package/src/prebuilt/openzeppelin/ERC1155Burnable.ts +4 -4
  454. package/src/prebuilt/openzeppelin/ERC1155Holder.ts +5 -5
  455. package/src/prebuilt/openzeppelin/ERC1155Pausable.ts +4 -4
  456. package/src/prebuilt/openzeppelin/ERC1155PresetMinterPauser.ts +4 -4
  457. package/src/prebuilt/openzeppelin/ERC1155Receiver.ts +5 -5
  458. package/src/prebuilt/openzeppelin/ERC1155Supply.ts +4 -4
  459. package/src/prebuilt/openzeppelin/ERC1155URIStorage.ts +4 -4
  460. package/src/prebuilt/openzeppelin/ERC165.ts +5 -5
  461. package/src/prebuilt/openzeppelin/ERC165Storage.ts +5 -5
  462. package/src/prebuilt/openzeppelin/ERC1820Implementer.ts +5 -5
  463. package/src/prebuilt/openzeppelin/ERC20.ts +4 -4
  464. package/src/prebuilt/openzeppelin/ERC20Burnable.ts +4 -4
  465. package/src/prebuilt/openzeppelin/ERC20Capped.ts +4 -4
  466. package/src/prebuilt/openzeppelin/ERC20FlashMint.ts +4 -4
  467. package/src/prebuilt/openzeppelin/ERC20Pausable.ts +4 -4
  468. package/src/prebuilt/openzeppelin/ERC20Permit.ts +4 -4
  469. package/src/prebuilt/openzeppelin/ERC20PresetFixedSupply.ts +4 -4
  470. package/src/prebuilt/openzeppelin/ERC20PresetMinterPauser.ts +4 -4
  471. package/src/prebuilt/openzeppelin/ERC20Snapshot.ts +4 -4
  472. package/src/prebuilt/openzeppelin/ERC20Votes.ts +4 -4
  473. package/src/prebuilt/openzeppelin/ERC20VotesComp.ts +4 -4
  474. package/src/prebuilt/openzeppelin/ERC20Wrapper.ts +4 -4
  475. package/src/prebuilt/openzeppelin/ERC2771Context.ts +5 -5
  476. package/src/prebuilt/openzeppelin/ERC2981.ts +5 -5
  477. package/src/prebuilt/openzeppelin/ERC4626.ts +4 -4
  478. package/src/prebuilt/openzeppelin/ERC721.ts +4 -4
  479. package/src/prebuilt/openzeppelin/ERC721Burnable.ts +4 -4
  480. package/src/prebuilt/openzeppelin/ERC721Consecutive.ts +4 -4
  481. package/src/prebuilt/openzeppelin/ERC721Enumerable.ts +4 -4
  482. package/src/prebuilt/openzeppelin/ERC721Holder.ts +5 -5
  483. package/src/prebuilt/openzeppelin/ERC721Pausable.ts +4 -4
  484. package/src/prebuilt/openzeppelin/ERC721PresetMinterPauserAutoId.ts +4 -4
  485. package/src/prebuilt/openzeppelin/ERC721Royalty.ts +4 -4
  486. package/src/prebuilt/openzeppelin/ERC721URIStorage.ts +4 -4
  487. package/src/prebuilt/openzeppelin/ERC721Votes.ts +4 -4
  488. package/src/prebuilt/openzeppelin/ERC721Wrapper.ts +4 -4
  489. package/src/prebuilt/openzeppelin/ERC777.ts +4 -4
  490. package/src/prebuilt/openzeppelin/ERC777PresetFixedSupply.ts +4 -4
  491. package/src/prebuilt/openzeppelin/Escrow.ts +4 -4
  492. package/src/prebuilt/openzeppelin/Governor.ts +4 -4
  493. package/src/prebuilt/openzeppelin/GovernorCompatibilityBravo.ts +4 -4
  494. package/src/prebuilt/openzeppelin/GovernorCountingSimple.ts +4 -4
  495. package/src/prebuilt/openzeppelin/GovernorPreventLateQuorum.ts +4 -4
  496. package/src/prebuilt/openzeppelin/GovernorProposalThreshold.ts +4 -4
  497. package/src/prebuilt/openzeppelin/GovernorSettings.ts +4 -4
  498. package/src/prebuilt/openzeppelin/GovernorTimelockCompound.ts +4 -4
  499. package/src/prebuilt/openzeppelin/GovernorTimelockControl.ts +4 -4
  500. package/src/prebuilt/openzeppelin/GovernorVotes.ts +4 -4
  501. package/src/prebuilt/openzeppelin/GovernorVotesComp.ts +4 -4
  502. package/src/prebuilt/openzeppelin/GovernorVotesQuorumFraction.ts +4 -4
  503. package/src/prebuilt/openzeppelin/IAMB.ts +4 -4
  504. package/src/prebuilt/openzeppelin/IAccessControl.ts +4 -4
  505. package/src/prebuilt/openzeppelin/IAccessControlDefaultAdminRules.ts +4 -4
  506. package/src/prebuilt/openzeppelin/IAccessControlEnumerable.ts +4 -4
  507. package/src/prebuilt/openzeppelin/IArbSys.ts +4 -4
  508. package/src/prebuilt/openzeppelin/IBeacon.ts +5 -5
  509. package/src/prebuilt/openzeppelin/IBridge.ts +4 -4
  510. package/src/prebuilt/openzeppelin/ICompoundTimelock.ts +4 -4
  511. package/src/prebuilt/openzeppelin/ICrossDomainMessenger.ts +4 -4
  512. package/src/prebuilt/openzeppelin/IERC1155.ts +4 -4
  513. package/src/prebuilt/openzeppelin/IERC1155MetadataURI.ts +4 -4
  514. package/src/prebuilt/openzeppelin/IERC1155Receiver.ts +5 -5
  515. package/src/prebuilt/openzeppelin/IERC1271.ts +5 -5
  516. package/src/prebuilt/openzeppelin/IERC1363.ts +4 -4
  517. package/src/prebuilt/openzeppelin/IERC1363Receiver.ts +5 -5
  518. package/src/prebuilt/openzeppelin/IERC1363Spender.ts +5 -5
  519. package/src/prebuilt/openzeppelin/IERC165.ts +5 -5
  520. package/src/prebuilt/openzeppelin/IERC1820Implementer.ts +5 -5
  521. package/src/prebuilt/openzeppelin/IERC1820Registry.ts +4 -4
  522. package/src/prebuilt/openzeppelin/IERC1822Proxiable.ts +5 -5
  523. package/src/prebuilt/openzeppelin/IERC20.ts +4 -4
  524. package/src/prebuilt/openzeppelin/IERC20Metadata.ts +4 -4
  525. package/src/prebuilt/openzeppelin/IERC20Permit.ts +5 -5
  526. package/src/prebuilt/openzeppelin/IERC2612.ts +5 -5
  527. package/src/prebuilt/openzeppelin/IERC2981.ts +5 -5
  528. package/src/prebuilt/openzeppelin/IERC3156FlashBorrower.ts +5 -5
  529. package/src/prebuilt/openzeppelin/IERC3156FlashLender.ts +5 -5
  530. package/src/prebuilt/openzeppelin/IERC4626.ts +4 -4
  531. package/src/prebuilt/openzeppelin/IERC4906.ts +4 -4
  532. package/src/prebuilt/openzeppelin/IERC5267.ts +4 -4
  533. package/src/prebuilt/openzeppelin/IERC5313.ts +5 -5
  534. package/src/prebuilt/openzeppelin/IERC5805.ts +4 -4
  535. package/src/prebuilt/openzeppelin/IERC6372.ts +5 -5
  536. package/src/prebuilt/openzeppelin/IERC721.ts +4 -4
  537. package/src/prebuilt/openzeppelin/IERC721Enumerable.ts +4 -4
  538. package/src/prebuilt/openzeppelin/IERC721Metadata.ts +4 -4
  539. package/src/prebuilt/openzeppelin/IERC721Receiver.ts +5 -5
  540. package/src/prebuilt/openzeppelin/IERC777.ts +4 -4
  541. package/src/prebuilt/openzeppelin/IERC777Recipient.ts +5 -5
  542. package/src/prebuilt/openzeppelin/IERC777Sender.ts +5 -5
  543. package/src/prebuilt/openzeppelin/IFxMessageProcessor.ts +5 -5
  544. package/src/prebuilt/openzeppelin/IGovernor.ts +4 -4
  545. package/src/prebuilt/openzeppelin/IGovernorCompatibilityBravo.ts +4 -4
  546. package/src/prebuilt/openzeppelin/IGovernorTimelock.ts +4 -4
  547. package/src/prebuilt/openzeppelin/IInbox.ts +4 -4
  548. package/src/prebuilt/openzeppelin/IOutbox.ts +4 -4
  549. package/src/prebuilt/openzeppelin/ITransparentUpgradeableProxy.ts +4 -4
  550. package/src/prebuilt/openzeppelin/IVotes.ts +4 -4
  551. package/src/prebuilt/openzeppelin/LibArbitrumL2.ts +5 -5
  552. package/src/prebuilt/openzeppelin/MinimalForwarder.ts +4 -4
  553. package/src/prebuilt/openzeppelin/Multicall.ts +5 -5
  554. package/src/prebuilt/openzeppelin/Ownable.ts +4 -4
  555. package/src/prebuilt/openzeppelin/Ownable2Step.ts +4 -4
  556. package/src/prebuilt/openzeppelin/Pausable.ts +4 -4
  557. package/src/prebuilt/openzeppelin/PaymentSplitter.ts +4 -4
  558. package/src/prebuilt/openzeppelin/ProxyAdmin.ts +4 -4
  559. package/src/prebuilt/openzeppelin/PullPayment.ts +5 -5
  560. package/src/prebuilt/openzeppelin/RefundEscrow.ts +4 -4
  561. package/src/prebuilt/openzeppelin/TimelockController.ts +4 -4
  562. package/src/prebuilt/openzeppelin/TokenTimelock.ts +5 -5
  563. package/src/prebuilt/openzeppelin/UUPSUpgradeable.ts +4 -4
  564. package/src/prebuilt/openzeppelin/UpgradeableBeacon.ts +4 -4
  565. package/src/prebuilt/openzeppelin/VestingWallet.ts +4 -4
  566. package/src/prebuilt/openzeppelin/Votes.ts +4 -4
  567. package/src/prebuilt/openzeppelin/compiled/TransparentUpgradeableProxy/TransparentUpgradeableProxy.ts +4 -4
  568. package/src/prebuilt/safe/CreateCall.ts +4 -4
  569. package/src/prebuilt/safe/GnosisSafe.ts +4 -4
  570. package/src/prebuilt/safe/MultiSend.ts +5 -5
  571. package/src/prebuilt/safe/Safe.ts +4 -4
  572. package/src/prebuilt/safe/SafeL2.ts +4 -4
  573. package/src/prebuilt/safe/SafeProxyFactory.ts +4 -4
  574. package/src/prebuilt/weth/WETH/WETH.ts +3 -3
  575. package/src/rpc/RpcContract.ts +2 -1
  576. package/src/safe/GnosisSafeService.ts +2 -2
  577. package/src/solidity/SlotsDump.ts +5 -5
  578. package/src/solidity/SourceCodeProvider.ts +3 -3
  579. package/src/solidity/storage/MappingKeysLoader.ts +5 -5
  580. package/src/tokens/TokenDataProvider.ts +2 -2
  581. package/src/tokens/TokenExchangeService.ts +4 -4
  582. package/src/tokens/TokenExchanges/AmmBase/V2/AmmPairV2Service.ts +4 -4
  583. package/src/tokens/TokenExchanges/AmmV2ExchangeBase.ts +2 -2
  584. package/src/tokens/TokenExchanges/AmmV2PriceQuote.ts +2 -2
  585. package/src/tokens/TokenExchanges/OneInchExchange.ts +4 -4
  586. package/src/tokens/TokenExchanges/PancakeswapExchange.ts +2 -2
  587. package/src/tokens/TokenExchanges/SushiswapPolygonExchange.ts +2 -2
  588. package/src/tokens/TokenExchanges/UniswapV2Exchange.ts +2 -2
  589. package/src/tokens/TokenOracles/amm/AmmV1Oracle.ts +5 -5
  590. package/src/tokens/TokenOracles/amm/AmmV2Oracle.ts +2 -2
  591. package/src/tokens/TokenOracles/chainlink/ChainlinkOracle.ts +1 -1
  592. package/src/tokens/TokenPriceService.ts +2 -2
  593. package/src/tokens/TokenPriceServiceProvider.ts +3 -3
  594. package/src/tokens/TokenProviders/TPExplorer.ts +2 -2
  595. package/src/tokens/TokensService.ts +5 -5
  596. package/src/txs/TxProvider.ts +1 -1
  597. package/src/utils/$contract.ts +1 -1
  598. package/src/wallets/Wallet.ts +2 -2
  599. package/lib/cjs/explorer/BlockChainExplorerFactory.js +0 -503
  600. package/lib/cjs/explorer/BlockChainExplorerFactory.js.map +0 -1
  601. package/lib/cjs/explorer/BlockChainExplorerProvider.js +0 -59
  602. package/lib/cjs/explorer/BlockChainExplorerProvider.js.map +0 -1
  603. package/lib/cjs/explorer/ContractVerifierHtml.js +0 -176
  604. package/lib/cjs/explorer/ContractVerifierHtml.js.map +0 -1
  605. package/lib/cjs/explorer/IBlockChainExplorer.js +0 -4
  606. package/lib/cjs/explorer/IBlockChainExplorer.js.map +0 -1
  607. package/lib/esm/explorer/BlockChainExplorerFactory.js.map +0 -1
  608. package/lib/esm/explorer/BlockChainExplorerFactory.mjs +0 -497
  609. package/lib/esm/explorer/BlockChainExplorerProvider.js.map +0 -1
  610. package/lib/esm/explorer/BlockChainExplorerProvider.mjs +0 -53
  611. package/lib/esm/explorer/ContractVerifierHtml.js.map +0 -1
  612. package/lib/esm/explorer/ContractVerifierHtml.mjs +0 -169
  613. package/lib/esm/explorer/IBlockChainExplorer.js.map +0 -1
  614. package/lib/esm/explorer/IBlockChainExplorer.mjs +0 -3
  615. package/lib/types/explorer/BlockChainExplorerFactory.d.ts +0 -27
  616. package/lib/types/explorer/BlockChainExplorerProvider.d.ts +0 -9
  617. package/lib/types/explorer/ContractVerifierHtml.d.ts +0 -78
  618. package/src/explorer/BlockChainExplorerFactory.ts +0 -644
  619. package/src/explorer/BlockChainExplorerProvider.ts +0 -57
  620. package/src/explorer/ContractVerifierHtml.ts +0 -207
@@ -0,0 +1,481 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import alot from 'alot';
8
+ import memd from 'memd';
9
+ import { $logger } from '../utils/$logger.mjs';
10
+ import { $promise } from '../utils/$promise.mjs';
11
+ import { $address } from '../utils/$address.mjs';
12
+ import { $require } from '../utils/$require.mjs';
13
+ import { Web3ClientFactory } from '../clients/Web3ClientFactory.mjs';
14
+ import { $config } from '../utils/$config.mjs';
15
+ import { $str } from '../solidity/utils/$str.mjs';
16
+ import { $platform } from '../utils/$platform.mjs';
17
+ import { $is } from '../utils/$is.mjs';
18
+ import { $http } from '../utils/$http.mjs';
19
+ import { FsHtmlVerifier } from './verifiers/FsHtmlVerifier.mjs';
20
+ export class BlockchainExplorer {
21
+ constructor(mix) {
22
+ this.client = new HttpClient();
23
+ let opts = typeof mix === 'string'
24
+ ? { platform: mix }
25
+ : mix;
26
+ this.opts = ensureDefaults(opts);
27
+ this.config = opts.getConfig(this.platform);
28
+ this.inMemoryDb = this.opts.CONTRACTS ?? [];
29
+ this.platform = this.opts.platform;
30
+ if ($str.isNullOrWhiteSpace(opts.ABI_CACHE) === false) {
31
+ this.getContractAbi = memd.fn.memoize(this.getContractAbi, {
32
+ trackRef: true,
33
+ persistence: new memd.FsTransport({
34
+ path: opts.ABI_CACHE
35
+ })
36
+ });
37
+ this.getContractSource = memd.fn.memoize(this.getContractSource, {
38
+ trackRef: true,
39
+ persistence: new memd.FsTransport({
40
+ path: opts.ABI_CACHE.replace('.json', '-source.json')
41
+ })
42
+ });
43
+ }
44
+ this.fsVerification = new FsHtmlVerifier(this.platform, this.config);
45
+ }
46
+ async getContractMeta(q) {
47
+ q = q.toLowerCase();
48
+ let info = this.inMemoryDb.find(x => $address.eq(x.address, q) || x.name?.toLowerCase() === q);
49
+ return info;
50
+ }
51
+ async getContractCreation(address) {
52
+ let apiUrl = this.config.api ?? `${this.config.host}/api`;
53
+ let url = `${apiUrl}?module=contract&action=getcontractcreation&contractaddresses=${address}&apikey=${this.config.key}`;
54
+ let result = await this.client.get(url);
55
+ let json = Array.isArray(result) ? result[0] : result;
56
+ if (json == null) {
57
+ throw new Error(`EMPTY_RESPONSE: ContractCreation response is empty for ${address}`);
58
+ }
59
+ return {
60
+ creator: json.contractCreator,
61
+ txHash: json.txHash
62
+ };
63
+ }
64
+ async getContractAbi(address, params) {
65
+ if ($address.isValid(params?.implementation)) {
66
+ return this.getContractAbi(params.implementation);
67
+ }
68
+ let info = await this.getContractMeta(address);
69
+ if (info?.proxy) {
70
+ address = info.proxy;
71
+ }
72
+ if (info?.abi) {
73
+ return { abi: info.abi, implementation: address };
74
+ }
75
+ let apiUrl = this.config.api ?? `${this.config.host}/api`;
76
+ let url = `${apiUrl}?module=contract&action=getabi&address=${address}&apikey=${this.config.key}`;
77
+ let abi;
78
+ try {
79
+ abi = await this.client.get(url);
80
+ }
81
+ catch (err) {
82
+ let addressByByteCode = await this.getSimilarContract(address);
83
+ if (addressByByteCode != null) {
84
+ $logger.log(`Found similar byte code address: ${addressByByteCode}`);
85
+ return this.getContractAbi(addressByByteCode);
86
+ }
87
+ throw err;
88
+ }
89
+ let abiJson = JSON.parse(abi);
90
+ if (params?.implementation) {
91
+ if ($is.HexBytes32(params.implementation)) {
92
+ let web3 = this.opts.getWeb3(this.platform);
93
+ let uin256Hex = await web3.getStorageAt(address, params.implementation);
94
+ let hex = $address.fromBytes32(uin256Hex);
95
+ return this.getContractAbi(hex);
96
+ }
97
+ throw new Error(`Implement ${params.implementation} support`);
98
+ }
99
+ if (isOpenZeppelinProxy(abiJson) || mightBeProxy(abiJson)) {
100
+ let web3 = this.opts.getWeb3(this.platform);
101
+ // (BigInt($contract.keccak256("eip1967.proxy.implementation")) - 1n).toString(16);
102
+ let uint256Hex = await web3.getStorageAt(address, `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`);
103
+ if ($address.isEmpty(uint256Hex)) {
104
+ // keccak-256 hash of "org.zeppelinos.proxy.implementation"
105
+ uint256Hex = await web3.getStorageAt(address, `0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3`);
106
+ }
107
+ if ($address.isEmpty(uint256Hex) === false) {
108
+ let hex = $address.fromBytes32(uint256Hex);
109
+ try {
110
+ return await this.getContractAbi(hex);
111
+ }
112
+ catch (err) {
113
+ err.message += `. Proxy ${hex}`;
114
+ throw err;
115
+ }
116
+ }
117
+ }
118
+ if (hasImplementationSlot(abiJson)) {
119
+ let web3 = this.opts.getWeb3(this.platform);
120
+ let implAddress = await web3.readContract({
121
+ address: address,
122
+ abi: abiJson,
123
+ method: 'implementation',
124
+ params: []
125
+ });
126
+ return this.getContractAbi(implAddress);
127
+ }
128
+ if (hasTargetSlot(abiJson)) {
129
+ let web3 = this.opts.getWeb3(this.platform);
130
+ let implAddress = await web3.readContract({
131
+ address: address,
132
+ abi: abiJson,
133
+ method: 'getTarget',
134
+ params: []
135
+ });
136
+ return this.getContractAbi(implAddress);
137
+ }
138
+ return { abi, implementation: address };
139
+ }
140
+ async submitContractVerification(contractData) {
141
+ await this.fsVerification.submitContractVerification(contractData);
142
+ let url = this.config.api ?? `${this.config.host}/api`;
143
+ let body = {
144
+ apikey: this.config.key,
145
+ module: 'contract',
146
+ action: 'verifysourcecode',
147
+ contractaddress: contractData.address,
148
+ sourceCode: contractData.sourceCode,
149
+ codeformat: 'solidity-standard-json-input',
150
+ contractname: contractData.contractName,
151
+ compilerversion: contractData.compilerVersion,
152
+ optimizationUsed: contractData.optimizer == null || contractData.optimizer.enabled === false ? 0 : 1,
153
+ runs: contractData.optimizer?.runs,
154
+ constructorArguements: contractData.arguments?.replace('0x', '')
155
+ };
156
+ let guid = await this.client.post(url, {
157
+ body
158
+ });
159
+ return guid;
160
+ }
161
+ async checkContractVerificationSubmission(submission) {
162
+ let url = this.config.api ?? `${this.config.host}/api`;
163
+ let result = await this.client.get(url, {
164
+ apikey: this.config.key,
165
+ module: "contract",
166
+ action: "checkverifystatus",
167
+ guid: submission.guid
168
+ });
169
+ return result;
170
+ }
171
+ async submitContractProxyVerification(contractData) {
172
+ await this.fsVerification.submitContractProxyVerification(contractData);
173
+ let url = this.config.api ?? `${this.config.host}/api`;
174
+ let guid = await this.client.post(url, {
175
+ body: {
176
+ apikey: this.config.key,
177
+ module: "contract",
178
+ action: "verifyproxycontract",
179
+ address: contractData.address,
180
+ expectedimplementation: contractData.expectedImplementation ?? void 0
181
+ }
182
+ });
183
+ return guid;
184
+ }
185
+ async checkContractProxyVerificationSubmission(submission) {
186
+ let url = this.config.api ?? `${this.config.host}/api`;
187
+ let result = await this.client.get(url, {
188
+ apikey: this.config.key,
189
+ module: "contract",
190
+ action: "checkproxyverification",
191
+ guid: submission.guid
192
+ });
193
+ return result;
194
+ }
195
+ async getContractSource(address) {
196
+ let apiUrl = this.config.api ?? `${this.config.host}/api`;
197
+ let url = `${apiUrl}?module=contract&action=getsourcecode&address=${address}&apikey=${this.config.key}`;
198
+ let result = await this.client.get(url);
199
+ let json = Array.isArray(result) ? result[0] : result;
200
+ function parseSourceCode(contractName, code, filename, additionalSources) {
201
+ if (typeof code !== 'string') {
202
+ return code;
203
+ }
204
+ if (/^\s*\{/.test(code) === false) {
205
+ filename ??= `${contractName}.sol`;
206
+ let additionalSourcesDict = alot(additionalSources ?? []).toDictionary(x => x.Filename, x => ({ content: x.SourceCode }));
207
+ // single source code (not a serialized JSON)
208
+ return {
209
+ contractName: contractName,
210
+ files: {
211
+ [filename]: {
212
+ content: code
213
+ },
214
+ ...additionalSourcesDict
215
+ }
216
+ };
217
+ }
218
+ try {
219
+ let sources = parseJson(code);
220
+ let files = sources.sources ?? sources;
221
+ return {
222
+ contractName: contractName,
223
+ files
224
+ };
225
+ }
226
+ catch (error) {
227
+ throw new Error(`Source code (${url}) can't be parsed: ${error.message}`);
228
+ }
229
+ }
230
+ function parseJson(str) {
231
+ try {
232
+ return JSON.parse(str);
233
+ }
234
+ catch (error) {
235
+ // etherscan returns code wrapped into {{}}
236
+ }
237
+ str = str
238
+ .replace(/^\s*\{\{/g, '{')
239
+ .replace(/\}\}\s*$/g, '}');
240
+ // @TODO check etherscan serialized jsons. Does it always has "{{...}}" wrappings
241
+ return JSON.parse(str);
242
+ }
243
+ return {
244
+ ...json,
245
+ SourceCode: parseSourceCode(json.ContractName, json.SourceCode, json.FileName, json.AdditionalSources)
246
+ };
247
+ }
248
+ async getTransactions(addr, params) {
249
+ return this.loadTxs('txlist', addr, params);
250
+ }
251
+ async getTransactionsAll(addr, params) {
252
+ return this.loadTxsAll('txlist', addr, params);
253
+ }
254
+ async getInternalTransactions(addr, params) {
255
+ return this.loadTxs('txlistinternal', addr, params);
256
+ }
257
+ async getInternalTransactionsAll(addr) {
258
+ return this.loadTxsAll('txlistinternal', addr);
259
+ }
260
+ async getErc20Transfers(addr, fromBlockNumber) {
261
+ let events = await this.loadTxs('tokentx', addr, { fromBlockNumber });
262
+ events.forEach(transfer => {
263
+ transfer.timeStamp = new Date((Number(transfer.timeStamp) * 1000));
264
+ transfer.value = BigInt(transfer.value);
265
+ transfer.blockNumber = Number(transfer.blockNumber);
266
+ transfer.tokenDecimal = Number(transfer.tokenDecimal);
267
+ });
268
+ return events;
269
+ }
270
+ async getErc20TransfersAll(addr, fromBlockNumber) {
271
+ let events = await this.loadTxsAll('tokentx', addr);
272
+ events.forEach(transfer => {
273
+ transfer.timeStamp = new Date((Number(transfer.timeStamp) * 1000));
274
+ transfer.value = BigInt(transfer.value);
275
+ transfer.blockNumber = Number(transfer.blockNumber);
276
+ transfer.tokenDecimal = Number(transfer.tokenDecimal);
277
+ });
278
+ return events;
279
+ }
280
+ async getSimilarContract(address) {
281
+ let url = `${this.config.www}/address/${address}#code`;
282
+ let html = await this.client.getHtml(url);
283
+ let rgx = /This contract matches/ig;
284
+ let match = rgx.exec(html);
285
+ if (match == null) {
286
+ return null;
287
+ }
288
+ let rgxAddress = /0x[a-f\d]{40}/g;
289
+ rgxAddress.lastIndex = match.index;
290
+ let matchAddress = rgxAddress.exec(html);
291
+ if (matchAddress == null) {
292
+ return null;
293
+ }
294
+ return matchAddress[0];
295
+ }
296
+ async loadTxs(type, address, params) {
297
+ let apiUrl = this.config.api ?? `${this.config.host}/api`;
298
+ let url = `${apiUrl}?module=account&action=${type}&address=${address}&sort=${params.sort ?? 'desc'}&apikey=${this.config.key}`;
299
+ if (params.fromBlockNumber != null) {
300
+ url += `&startblock=${params.fromBlockNumber}`;
301
+ }
302
+ if (params.page != null) {
303
+ url += `&page=${params.page}`;
304
+ }
305
+ if (params.size != null) {
306
+ url += `&offset=${params.size}`;
307
+ }
308
+ let txs = await this.client.get(url);
309
+ return txs;
310
+ }
311
+ async loadTxsAll(type, address, params) {
312
+ let page = 1;
313
+ let size = 1000;
314
+ let out = [];
315
+ let fromBlockNumber = params?.fromBlockNumber;
316
+ while (true) {
317
+ let arr = await this.loadTxs(type, address, { fromBlockNumber, sort: 'asc' });
318
+ out.push(...arr);
319
+ $logger.log(`Got transactions(${type}) for ${address}. Page: ${arr.length}; Received: ${out.length}. Latest Block: ${fromBlockNumber}`);
320
+ if (arr.length < size) {
321
+ break;
322
+ }
323
+ page++;
324
+ fromBlockNumber = Number(arr[arr.length - 1].blockNumber);
325
+ }
326
+ return alot(out).distinctBy(x => x.hash).toArray();
327
+ }
328
+ async registerAbi(abis) {
329
+ abis.forEach(x => {
330
+ let fromDb = this.inMemoryDb.find(current => $address.eq(current.address, x.address));
331
+ if (fromDb != null) {
332
+ fromDb.abi = x.abi;
333
+ return;
334
+ }
335
+ this.inMemoryDb.push(x);
336
+ });
337
+ }
338
+ }
339
+ function isOpenZeppelinProxy(abi) {
340
+ let $interface = ['upgradeTo', 'implementation'];
341
+ return $interface.every(name => {
342
+ return hasMethod(abi, name);
343
+ });
344
+ }
345
+ function mightBeProxy(abi) {
346
+ let methods = abi.filter(x => x.type === 'function');
347
+ if (methods.length === 0) {
348
+ return true;
349
+ }
350
+ return false;
351
+ }
352
+ function hasImplementationSlot(abi) {
353
+ let $required = ['implementation'];
354
+ let hasRequired = $required.every(name => {
355
+ return hasMethod(abi, name);
356
+ });
357
+ if (hasRequired === false) {
358
+ return false;
359
+ }
360
+ let $some = ['proxyOwner', 'proxyType'];
361
+ let hasOneOf = $some.some(name => {
362
+ return hasMethod(abi, name);
363
+ });
364
+ if (hasOneOf === false) {
365
+ return false;
366
+ }
367
+ return true;
368
+ }
369
+ function hasTargetSlot(abi) {
370
+ let $interface = ['upgrade', 'getTarget'];
371
+ return $interface.every(name => {
372
+ return hasMethod(abi, name);
373
+ });
374
+ }
375
+ function hasMethod(abi, name) {
376
+ return abi.some(item => item.type === 'function' && item.name === name);
377
+ }
378
+ function ensureDefaults(opts) {
379
+ opts ??= {};
380
+ let platform = opts.platform;
381
+ $require.notNull(platform, `Generic Blockchain Explorer Config should contain platform name`);
382
+ opts.ABI_CACHE ??= `./cache/${$platform.toPath(platform)}/abis.json`;
383
+ opts.CONTRACTS ??= [];
384
+ opts.getWeb3 ??= (_) => {
385
+ return Web3ClientFactory.get(platform);
386
+ };
387
+ opts.getConfig ??= () => {
388
+ let config = $config.get(`blockchainExplorer.${platform}`);
389
+ return {
390
+ ...(config ?? {}),
391
+ ...opts,
392
+ };
393
+ };
394
+ return opts;
395
+ }
396
+ class HttpClient {
397
+ async get(url, params) {
398
+ return this.getInner(url, {
399
+ params
400
+ });
401
+ }
402
+ async post(url, opts) {
403
+ return this.postInner(url, opts);
404
+ }
405
+ async getHtml(url) {
406
+ let resp = await $http.get(url);
407
+ if (resp.status !== 200) {
408
+ throw new Error(`${url} not loaded with status ${resp.status}.`);
409
+ }
410
+ return resp.data;
411
+ }
412
+ async getPaged(url) {
413
+ let arr = [];
414
+ let page = 1;
415
+ let size = 200;
416
+ while (true) {
417
+ let path = `${url}&page=${page}&offset=${size}`;
418
+ let pageArr = await this.get(path);
419
+ arr = arr.concat(pageArr);
420
+ if (pageArr.length < size) {
421
+ break;
422
+ }
423
+ page++;
424
+ }
425
+ return arr;
426
+ }
427
+ async getInner(url, opts) {
428
+ let resp = await $http.get({
429
+ url,
430
+ params: opts.params
431
+ });
432
+ let data = resp.data;
433
+ if (data.message === 'NOTOK') {
434
+ let str = data.result;
435
+ if (/Max rate/i.test(str)) {
436
+ let count = opts?.retryCount ?? 3;
437
+ if (--count === 0) {
438
+ throw new Error(str);
439
+ }
440
+ await $promise.wait(200);
441
+ return this.getInner(url, {
442
+ ...(opts ?? {}),
443
+ retryCount: count
444
+ });
445
+ }
446
+ throw new Error(str);
447
+ }
448
+ if (data.result == null) {
449
+ $logger.warn(`Blockchain "${url}" explorer returned empty result`, data);
450
+ }
451
+ return data.result;
452
+ }
453
+ async postInner(url, opts) {
454
+ let resp = await $http.post({
455
+ url,
456
+ method: 'post',
457
+ //params: opts.params,
458
+ body: opts.body,
459
+ headers: {
460
+ "content-type": "application/x-www-form-urlencoded"
461
+ }
462
+ });
463
+ let data = resp.data;
464
+ if (data.message === 'NOTOK') {
465
+ let str = data.result;
466
+ throw new Error(str);
467
+ }
468
+ if (data.result == null) {
469
+ $logger.warn(`Blockchain "${url}" explorer returned empty result`, data);
470
+ }
471
+ return data.result;
472
+ }
473
+ }
474
+ __decorate([
475
+ memd.deco.queued({ throttle: 1000 / 5 })
476
+ ], HttpClient.prototype, "get", null);
477
+ __decorate([
478
+ memd.deco.queued({ throttle: 1000 / 5 })
479
+ ], HttpClient.prototype, "getHtml", null);
480
+ //# sourceMappingURL=BlockchainExplorer.js.map
481
+ //# sourceMappingURL=BlockchainExplorer.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockchainExplorerFactory.js","sourceRoot":"","sources":["../../../src/explorer/BlockchainExplorerFactory.ts"],"names":[],"mappings":";;;AAEA,6DAAuH;AAEvH,qDAAkD;AAClD,oDAAiD;AAIjD;;GAEG;AACH,IAAiB,yBAAyB,CA0CzC;AA1CD,WAAiB,yBAAyB;IAEtC,MAAM,QAAQ,GAAG,EAA+E,CAAC;IAEjG,SAAgB,QAAQ,CAAE,QAAmB,EAAE,QAAgE;QAC3G,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClC,CAAC;IAFe,kCAAQ,WAEvB,CAAA;IAED,SAAgB,GAAG,CAAE,QAA4B,EAAE,IAAuC;QAEtF,IAAI,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,GAAG;YACT,QAAQ;YACR,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,IAAG,EAAE,CAAC;SAChB,CAAC;QACF,IAAI,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;gBAC5B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;YACD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,uCAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAjBe,6BAAG,MAiBlB,CAAA;IAED,sEAAsE;IAC/D,KAAK,UAAU,QAAQ,CAAE,QAA4B,EAAE,IAAuC;QACjG,MAAM,eAAM,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAHqB,kCAAQ,WAG7B,CAAA;IAED,sEAAsE;IACtE,SAAgB,MAAM,CAAE,IAAsC;QAE1D,OAAO,KAAM,SAAQ,uCAAkB;YACnC,YAAa,MAAyC;gBAClD,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YAC1B,CAAC;SACJ,CAAA;IACL,CAAC;IAPe,gCAAM,SAOrB,CAAA;AACL,CAAC,EA1CgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QA0CzC"}
@@ -0,0 +1,48 @@
1
+ import { BlockchainExplorer } from './BlockchainExplorer.mjs';
2
+ import { $config } from '../utils/$config.mjs';
3
+ import { Config } from '../config/Config.mjs';
4
+ /**
5
+ * @obsolete Use BlockchainExplorer class instead.
6
+ */
7
+ export var BlockchainExplorerFactory;
8
+ (function (BlockchainExplorerFactory) {
9
+ const registry = {};
10
+ function register(platform, explorer) {
11
+ registry[platform] = explorer;
12
+ }
13
+ BlockchainExplorerFactory.register = register;
14
+ function get(platform, opts) {
15
+ let cfg = $config.get(`blockchainExplorer.${platform}`);
16
+ let params = {
17
+ platform,
18
+ ...(opts ?? {}),
19
+ ...(cfg ?? {})
20
+ };
21
+ let Ctor = registry[platform];
22
+ if (Ctor != null) {
23
+ if (typeof Ctor === 'function') {
24
+ return new Ctor(params);
25
+ }
26
+ return Ctor;
27
+ }
28
+ return new BlockchainExplorer(params);
29
+ }
30
+ BlockchainExplorerFactory.get = get;
31
+ /** Same as sync variation, but ensures the config is being fetched */
32
+ async function getAsync(platform, opts) {
33
+ await Config.get();
34
+ return get(platform, opts);
35
+ }
36
+ BlockchainExplorerFactory.getAsync = getAsync;
37
+ /** @obsolete Create instance directly with the get/getAsync method */
38
+ function create(opts) {
39
+ return class extends BlockchainExplorer {
40
+ constructor(config) {
41
+ super(config ?? opts);
42
+ }
43
+ };
44
+ }
45
+ BlockchainExplorerFactory.create = create;
46
+ })(BlockchainExplorerFactory || (BlockchainExplorerFactory = {}));
47
+ //# sourceMappingURL=BlockchainExplorerFactory.js.map
48
+ //# sourceMappingURL=BlockchainExplorerFactory.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockchainExplorerProvider.js","sourceRoot":"","sources":["../../../src/explorer/BlockchainExplorerProvider.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAGlD,6DAA4F;AAE5F,sDAAsD;AACtD,IAAiB,0BAA0B,CAiC1C;AAjCD,WAAiB,0BAA0B;IAEvC,MAAM,QAAQ,GAAG,EAA+E,CAAC;IAEjG,SAAgB,GAAG,CAAE,QAAmB;QACpC,QAAQ,QAAQ,EAAE;YACd,KAAK,SAAS;gBACV,OAAO,IAAI,uCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD;gBACI,IAAI,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;gBAExD,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7B,IAAI,GAAG,IAAI,IAAI,EAAE;oBACb,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;wBAC3B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;qBACvB;oBACD,OAAO,GAAG,CAAC;iBACd;gBACD,IAAI,GAAG,IAAI,IAAI,EAAE;oBACb,OAAO,IAAI,uCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC/C;gBACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,2BAA2B,CAAC,CAAC;SACpF;IACL,CAAC;IAnBe,8BAAG,MAmBlB,CAAA;IAED,SAAgB,QAAQ,CAAE,QAAmB,EAAE,QAAgE;QAC3G,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClC,CAAC;IAFe,mCAAQ,WAEvB,CAAA;IAED,qDAAqD;IACrD,SAAgB,MAAM,CAAC,OAAyC;QAC5D,OAAO,IAAI,uCAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAFe,iCAAM,SAErB,CAAA;AACL,CAAC,EAjCgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAiC1C"}
@@ -0,0 +1,38 @@
1
+ import { $config } from '../utils/$config.mjs';
2
+ import { BlockchainExplorer } from './BlockchainExplorer.mjs';
3
+ /** @obsolete Use BlockchainExplorerFactory instead */
4
+ export var BlockchainExplorerProvider;
5
+ (function (BlockchainExplorerProvider) {
6
+ const registry = {};
7
+ function get(platform) {
8
+ switch (platform) {
9
+ case 'hardhat':
10
+ return new BlockchainExplorer({ platform });
11
+ default:
12
+ let cfg = $config.get(`blockchainExplorer.${platform}`);
13
+ let Mix = registry[platform];
14
+ if (Mix != null) {
15
+ if (typeof Mix === 'function') {
16
+ return new Mix(cfg);
17
+ }
18
+ return Mix;
19
+ }
20
+ if (cfg != null) {
21
+ return new BlockchainExplorer({ platform });
22
+ }
23
+ throw new Error(`Unsupported platform ${platform} for block chain explorer`);
24
+ }
25
+ }
26
+ BlockchainExplorerProvider.get = get;
27
+ function register(platform, explorer) {
28
+ registry[platform] = explorer;
29
+ }
30
+ BlockchainExplorerProvider.register = register;
31
+ /** @obsolete Use BlockchainExplorer class instead */
32
+ function create(options) {
33
+ return new BlockchainExplorer(options);
34
+ }
35
+ BlockchainExplorerProvider.create = create;
36
+ })(BlockchainExplorerProvider || (BlockchainExplorerProvider = {}));
37
+ //# sourceMappingURL=BlockchainExplorerProvider.js.map
38
+ //# sourceMappingURL=BlockchainExplorerProvider.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockChainExplorerStorage.js","sourceRoot":"","sources":["../../../src/explorer/BlockChainExplorerStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockchainExplorerStorage.js","sourceRoot":"","sources":["../../../src/explorer/BlockchainExplorerStorage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { $require } from '../utils/$require.mjs';
2
2
  import { $address } from '../utils/$address.mjs';
3
- export class BlockChainExplorerStorage {
3
+ export class BlockchainExplorerStorage {
4
4
  constructor(options) {
5
5
  this.contracts = {};
6
6
  for (let address in options.contracts) {
@@ -29,12 +29,12 @@ export class BlockChainExplorerStorage {
29
29
  }
30
30
  registerAbi(abis) {
31
31
  abis.forEach(x => {
32
- let fromDb = this.localDb.find(current => $address.eq(current.address, x.address));
32
+ let fromDb = this.inMemoryDb.find(current => $address.eq(current.address, x.address));
33
33
  if (fromDb != null) {
34
34
  fromDb.abi = x.abi;
35
35
  return;
36
36
  }
37
- this.localDb.push(x);
37
+ this.inMemoryDb.push(x);
38
38
  });
39
39
  }
40
40
  getContractMeta(q) {
@@ -86,5 +86,5 @@ export class BlockChainExplorerStorage {
86
86
  throw new Error('Method not implemented.');
87
87
  }
88
88
  }
89
- //# sourceMappingURL=BlockChainExplorerStorage.js.map
90
- //# sourceMappingURL=BlockChainExplorerStorage.ts.map
89
+ //# sourceMappingURL=BlockchainExplorerStorage.js.map
90
+ //# sourceMappingURL=BlockchainExplorerStorage.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bscscan.js","sourceRoot":"","sources":["../../../src/explorer/Bscscan.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AACtB,2EAAwE;AAExE,qDAAkD;AAClD,mEAAgE;AAEhE,MAAM,SAAS,GAAG,iBAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AACnD,MAAa,OAAQ,SAAQ,qDAAyB,CAAC,MAAM,CAAC;IAC1D,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAE,SAAS;IACpB,OAAO;QACH,OAAO,cAAE,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAA;IACpC,CAAC;IACD,SAAS;QACL,MAAM,MAAM,GAAG,iBAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACrD,OAAO;YACH,GAAG,EAAE,MAAM,EAAE,GAAG;YAChB,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,GAAG,EAAE,MAAM,EAAE,GAAG;SACnB,CAAC;IACN,CAAC;CACJ,CAAC;CAED;AAhBD,0BAgBC"}
1
+ {"version":3,"file":"Bscscan.js","sourceRoot":"","sources":["../../../src/explorer/Bscscan.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AAEtB,qDAAkD;AAClD,mEAAgE;AAChE,6DAA0D;AAE1D,MAAM,SAAS,GAAG,iBAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAEnD,MAAa,OAAQ,SAAQ,uCAAkB;IAE3C;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,uBAAuB;YAClC,SAAS,EAAE,SAAS;YACpB,OAAO;gBACH,OAAO,cAAE,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAA;YACpC,CAAC;YACD,SAAS;gBACL,MAAM,MAAM,GAAG,iBAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACrD,OAAO;oBACH,GAAG,EAAE,MAAM,EAAE,GAAG;oBAChB,IAAI,EAAE,MAAM,EAAE,IAAI;oBAClB,GAAG,EAAE,MAAM,EAAE,GAAG;iBACnB,CAAC;YACN,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;CACJ;AApBD,0BAoBC"}
@@ -1,23 +1,27 @@
1
1
  import di from 'a-di';
2
- import { BlockChainExplorerFactory } from './BlockChainExplorerFactory.mjs';
3
2
  import { $config } from '../utils/$config.mjs';
4
3
  import { BscWeb3Client } from '../clients/BscWeb3Client.mjs';
4
+ import { BlockchainExplorer } from './BlockchainExplorer.mjs';
5
5
  const contracts = $config.get('contracts.bsc', []);
6
- export class Bscscan extends BlockChainExplorerFactory.create({
7
- ABI_CACHE: `./cache/bsc/abis.json`,
8
- CONTRACTS: contracts,
9
- getWeb3() {
10
- return di.resolve(BscWeb3Client);
11
- },
12
- getConfig() {
13
- const config = $config.get('blockchainExplorer.bsc');
14
- return {
15
- key: config?.key,
16
- host: config?.host,
17
- www: config?.www,
18
- };
6
+ export class Bscscan extends BlockchainExplorer {
7
+ constructor() {
8
+ super({
9
+ platform: 'bsc',
10
+ ABI_CACHE: `./cache/bsc/abis.json`,
11
+ CONTRACTS: contracts,
12
+ getWeb3() {
13
+ return di.resolve(BscWeb3Client);
14
+ },
15
+ getConfig() {
16
+ const config = $config.get('blockchainExplorer.bsc');
17
+ return {
18
+ key: config?.key,
19
+ host: config?.host,
20
+ www: config?.www,
21
+ };
22
+ }
23
+ });
19
24
  }
20
- }) {
21
25
  }
22
26
  //# sourceMappingURL=Bscscan.js.map
23
27
  //# sourceMappingURL=Bscscan.ts.map