@flarenetwork/flare-periphery-contract-artifacts 0.1.16 → 0.1.19

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 (1944) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +18 -0
  3. package/coston/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  4. package/coston/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  5. package/coston/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  6. package/coston/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  7. package/coston/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  8. package/coston/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  9. package/coston/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  10. package/coston/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  11. package/coston/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  12. package/coston/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  13. package/coston/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  14. package/coston/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  15. package/coston/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  16. package/coston/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  17. package/coston/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  18. package/coston/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  19. package/coston/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  20. package/coston/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  21. package/coston/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  22. package/coston/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  23. package/coston/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  24. package/coston/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  25. package/coston/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  26. package/coston/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  27. package/coston/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  28. package/coston/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  29. package/coston/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  30. package/coston/artifacts/contracts/IFtso.sol/IFtso.json +512 -0
  31. package/coston/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  32. package/coston/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  33. package/coston/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  34. package/coston/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  35. package/coston/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  36. package/coston/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  37. package/coston/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  38. package/coston/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  39. package/coston/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  40. package/coston/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  41. package/coston/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  42. package/coston/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  43. package/coston/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  44. package/coston/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  45. package/coston/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  46. package/coston/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  47. package/coston/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  48. package/coston/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  49. package/coston/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  50. package/coston/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  51. package/coston/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  52. package/coston/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  53. package/coston/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  54. package/coston/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  55. package/coston/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  56. package/coston/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  57. package/coston/artifacts/contracts/IVPToken.sol/IVPToken.json +658 -0
  58. package/coston/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  59. package/coston/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  60. package/coston/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  61. package/coston/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  62. package/coston/artifacts/contracts/IWNat.sol/IWNat.json +761 -0
  63. package/coston/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  64. package/coston/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  65. package/coston/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  66. package/coston/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  67. package/coston/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  68. package/coston/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  69. package/coston/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  70. package/coston/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  71. package/coston/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  72. package/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +2 -15
  73. package/coston/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  74. package/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +1 -1
  75. package/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +1 -1
  76. package/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +1 -1
  77. package/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +1 -1
  78. package/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +1 -1
  79. package/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +50 -10
  80. package/coston/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  81. package/coston/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  82. package/coston/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  83. package/coston/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  84. package/coston/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  85. package/coston/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  86. package/coston/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  87. package/coston/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  88. package/coston/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  89. package/coston/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  90. package/coston/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  91. package/coston/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  92. package/coston/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  93. package/coston/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  94. package/coston/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  95. package/coston/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  96. package/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +1 -1
  97. package/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +1 -1
  98. package/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +1 -1
  99. package/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +4 -4
  100. package/coston2/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  101. package/coston2/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  102. package/coston2/artifacts/contracts/IAddressBinder.sol/IAddressBinder.json +121 -0
  103. package/coston2/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  104. package/coston2/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  105. package/coston2/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  106. package/coston2/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  107. package/coston2/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  108. package/coston2/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  109. package/coston2/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  110. package/coston2/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  111. package/coston2/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  112. package/coston2/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  113. package/coston2/artifacts/contracts/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  114. package/coston2/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  115. package/coston2/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  116. package/coston2/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  117. package/coston2/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  118. package/coston2/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  119. package/coston2/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  120. package/coston2/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  121. package/coston2/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  122. package/coston2/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  123. package/coston2/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  124. package/coston2/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  125. package/coston2/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  126. package/coston2/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  127. package/coston2/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  128. package/coston2/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  129. package/coston2/artifacts/contracts/IFtso.sol/IFtso.json +475 -0
  130. package/coston2/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  131. package/coston2/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  132. package/coston2/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  133. package/coston2/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  134. package/coston2/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  135. package/coston2/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  136. package/coston2/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  137. package/coston2/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  138. package/coston2/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  139. package/coston2/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  140. package/coston2/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  141. package/coston2/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  142. package/coston2/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  143. package/coston2/artifacts/contracts/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  144. package/coston2/artifacts/contracts/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  145. package/coston2/artifacts/contracts/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  146. package/coston2/artifacts/contracts/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  147. package/coston2/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  148. package/coston2/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  149. package/coston2/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  150. package/coston2/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  151. package/coston2/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  152. package/coston2/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  153. package/coston2/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  154. package/coston2/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  155. package/coston2/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  156. package/coston2/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  157. package/coston2/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  158. package/coston2/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  159. package/coston2/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  160. package/coston2/artifacts/contracts/IVPToken.sol/IVPToken.json +700 -0
  161. package/coston2/artifacts/contracts/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  162. package/coston2/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  163. package/coston2/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  164. package/coston2/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  165. package/coston2/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  166. package/coston2/artifacts/contracts/IWNat.sol/IWNat.json +790 -0
  167. package/coston2/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  168. package/coston2/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  169. package/coston2/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  170. package/coston2/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  171. package/coston2/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  172. package/coston2/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  173. package/coston2/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  174. package/coston2/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  175. package/coston2/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  176. package/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +2 -15
  177. package/coston2/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  178. package/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +1 -1
  179. package/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +1 -1
  180. package/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +1 -1
  181. package/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +1 -1
  182. package/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +1 -1
  183. package/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +50 -10
  184. package/coston2/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  185. package/coston2/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  186. package/coston2/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  187. package/coston2/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  188. package/coston2/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  189. package/coston2/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  190. package/coston2/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  191. package/coston2/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  192. package/coston2/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  193. package/coston2/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  194. package/coston2/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  195. package/coston2/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  196. package/coston2/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  197. package/coston2/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  198. package/coston2/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  199. package/coston2/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  200. package/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +1 -1
  201. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +1 -1
  202. package/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +1 -1
  203. package/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +4 -4
  204. package/dist/coston/abis.d.ts +10 -1
  205. package/dist/coston/abis.d.ts.map +1 -1
  206. package/dist/coston/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  207. package/dist/coston/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  208. package/dist/coston/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  209. package/dist/coston/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  210. package/dist/coston/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  211. package/dist/coston/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  212. package/dist/coston/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  213. package/dist/coston/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  214. package/dist/coston/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  215. package/dist/coston/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  216. package/dist/coston/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  217. package/dist/coston/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  218. package/dist/coston/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  219. package/dist/coston/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  220. package/dist/coston/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  221. package/dist/coston/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  222. package/dist/coston/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  223. package/dist/coston/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  224. package/dist/coston/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  225. package/dist/coston/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  226. package/dist/coston/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  227. package/dist/coston/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  228. package/dist/coston/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  229. package/dist/coston/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  230. package/dist/coston/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  231. package/dist/coston/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  232. package/dist/coston/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  233. package/dist/coston/artifacts/contracts/IFtso.sol/IFtso.json +512 -0
  234. package/dist/coston/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  235. package/dist/coston/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  236. package/dist/coston/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  237. package/dist/coston/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  238. package/dist/coston/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  239. package/dist/coston/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  240. package/dist/coston/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  241. package/dist/coston/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  242. package/dist/coston/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  243. package/dist/coston/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  244. package/dist/coston/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  245. package/dist/coston/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  246. package/dist/coston/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  247. package/dist/coston/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  248. package/dist/coston/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  249. package/dist/coston/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  250. package/dist/coston/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  251. package/dist/coston/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  252. package/dist/coston/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  253. package/dist/coston/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  254. package/dist/coston/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  255. package/dist/coston/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  256. package/dist/coston/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  257. package/dist/coston/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  258. package/dist/coston/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  259. package/dist/coston/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  260. package/dist/coston/artifacts/contracts/IVPToken.sol/IVPToken.json +658 -0
  261. package/dist/coston/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  262. package/dist/coston/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  263. package/dist/coston/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  264. package/dist/coston/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  265. package/dist/coston/artifacts/contracts/IWNat.sol/IWNat.json +761 -0
  266. package/dist/coston/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  267. package/dist/coston/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  268. package/dist/coston/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  269. package/dist/coston/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  270. package/dist/coston/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  271. package/dist/coston/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  272. package/dist/coston/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  273. package/dist/coston/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  274. package/dist/coston/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  275. package/dist/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +951 -964
  276. package/dist/coston/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  277. package/dist/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +32 -32
  278. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +83 -83
  279. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +20 -20
  280. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +26 -26
  281. package/dist/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +26 -26
  282. package/dist/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +678 -638
  283. package/dist/coston/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  284. package/dist/coston/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  285. package/dist/coston/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  286. package/dist/coston/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  287. package/dist/coston/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  288. package/dist/coston/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  289. package/dist/coston/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  290. package/dist/coston/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  291. package/dist/coston/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  292. package/dist/coston/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  293. package/dist/coston/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  294. package/dist/coston/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  295. package/dist/coston/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  296. package/dist/coston/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  297. package/dist/coston/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  298. package/dist/coston/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  299. package/dist/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +56 -56
  300. package/dist/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +228 -228
  301. package/dist/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +607 -607
  302. package/dist/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +727 -727
  303. package/dist/coston/index.d.ts +2 -3
  304. package/dist/coston/index.d.ts.map +1 -1
  305. package/dist/coston/mapper.d.ts +3 -0
  306. package/dist/coston/mapper.d.ts.map +1 -0
  307. package/dist/coston2/abis.d.ts +10 -1
  308. package/dist/coston2/abis.d.ts.map +1 -1
  309. package/dist/coston2/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  310. package/dist/coston2/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  311. package/dist/coston2/artifacts/contracts/IAddressBinder.sol/IAddressBinder.json +121 -0
  312. package/dist/coston2/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  313. package/dist/coston2/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  314. package/dist/coston2/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  315. package/dist/coston2/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  316. package/dist/coston2/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  317. package/dist/coston2/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  318. package/dist/coston2/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  319. package/dist/coston2/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  320. package/dist/coston2/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  321. package/dist/coston2/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  322. package/dist/coston2/artifacts/contracts/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  323. package/dist/coston2/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  324. package/dist/coston2/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  325. package/dist/coston2/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  326. package/dist/coston2/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  327. package/dist/coston2/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  328. package/dist/coston2/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  329. package/dist/coston2/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  330. package/dist/coston2/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  331. package/dist/coston2/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  332. package/dist/coston2/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  333. package/dist/coston2/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  334. package/dist/coston2/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  335. package/dist/coston2/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  336. package/dist/coston2/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  337. package/dist/coston2/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  338. package/dist/coston2/artifacts/contracts/IFtso.sol/IFtso.json +475 -0
  339. package/dist/coston2/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  340. package/dist/coston2/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  341. package/dist/coston2/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  342. package/dist/coston2/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  343. package/dist/coston2/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  344. package/dist/coston2/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  345. package/dist/coston2/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  346. package/dist/coston2/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  347. package/dist/coston2/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  348. package/dist/coston2/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  349. package/dist/coston2/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  350. package/dist/coston2/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  351. package/dist/coston2/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  352. package/dist/coston2/artifacts/contracts/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  353. package/dist/coston2/artifacts/contracts/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  354. package/dist/coston2/artifacts/contracts/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  355. package/dist/coston2/artifacts/contracts/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  356. package/dist/coston2/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  357. package/dist/coston2/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  358. package/dist/coston2/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  359. package/dist/coston2/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  360. package/dist/coston2/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  361. package/dist/coston2/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  362. package/dist/coston2/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  363. package/dist/coston2/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  364. package/dist/coston2/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  365. package/dist/coston2/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  366. package/dist/coston2/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  367. package/dist/coston2/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  368. package/dist/coston2/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  369. package/dist/coston2/artifacts/contracts/IVPToken.sol/IVPToken.json +700 -0
  370. package/dist/coston2/artifacts/contracts/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  371. package/dist/coston2/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  372. package/dist/coston2/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  373. package/dist/coston2/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  374. package/dist/coston2/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  375. package/dist/coston2/artifacts/contracts/IWNat.sol/IWNat.json +790 -0
  376. package/dist/coston2/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  377. package/dist/coston2/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  378. package/dist/coston2/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  379. package/dist/coston2/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  380. package/dist/coston2/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  381. package/dist/coston2/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  382. package/dist/coston2/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  383. package/dist/coston2/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  384. package/dist/coston2/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  385. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +886 -899
  386. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  387. package/dist/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +44 -44
  388. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +57 -57
  389. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +20 -20
  390. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +26 -26
  391. package/dist/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +26 -26
  392. package/dist/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +678 -638
  393. package/dist/coston2/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  394. package/dist/coston2/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  395. package/dist/coston2/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  396. package/dist/coston2/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  397. package/dist/coston2/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  398. package/dist/coston2/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  399. package/dist/coston2/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  400. package/dist/coston2/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  401. package/dist/coston2/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  402. package/dist/coston2/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  403. package/dist/coston2/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  404. package/dist/coston2/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  405. package/dist/coston2/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  406. package/dist/coston2/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  407. package/dist/coston2/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  408. package/dist/coston2/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  409. package/dist/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +44 -44
  410. package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +238 -238
  411. package/dist/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +618 -618
  412. package/dist/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +766 -766
  413. package/dist/coston2/index.d.ts +2 -2
  414. package/dist/coston2/index.d.ts.map +1 -1
  415. package/dist/coston2/mapper.d.ts +3 -0
  416. package/dist/coston2/mapper.d.ts.map +1 -0
  417. package/dist/flare/abis.d.ts +10 -1
  418. package/dist/flare/abis.d.ts.map +1 -1
  419. package/dist/flare/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  420. package/dist/flare/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  421. package/dist/flare/artifacts/contracts/IAddressBinder.sol/IAddressBinder.json +121 -0
  422. package/dist/flare/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  423. package/dist/flare/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  424. package/dist/flare/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  425. package/dist/flare/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  426. package/dist/flare/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  427. package/dist/flare/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  428. package/dist/flare/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  429. package/dist/flare/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  430. package/dist/flare/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  431. package/dist/flare/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  432. package/dist/flare/artifacts/contracts/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  433. package/dist/flare/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  434. package/dist/flare/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  435. package/dist/flare/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  436. package/dist/flare/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  437. package/dist/flare/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  438. package/dist/flare/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  439. package/dist/flare/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  440. package/dist/flare/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  441. package/dist/flare/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  442. package/dist/flare/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  443. package/dist/flare/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  444. package/dist/flare/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  445. package/dist/flare/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  446. package/dist/flare/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  447. package/dist/flare/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  448. package/dist/flare/artifacts/contracts/IFtso.sol/IFtso.json +475 -0
  449. package/dist/flare/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  450. package/dist/flare/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  451. package/dist/flare/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  452. package/dist/flare/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  453. package/dist/flare/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  454. package/dist/flare/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  455. package/dist/flare/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  456. package/dist/flare/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  457. package/dist/flare/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  458. package/dist/flare/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  459. package/dist/flare/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  460. package/dist/flare/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  461. package/dist/flare/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  462. package/dist/flare/artifacts/contracts/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  463. package/dist/flare/artifacts/contracts/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  464. package/dist/flare/artifacts/contracts/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  465. package/dist/flare/artifacts/contracts/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  466. package/dist/flare/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  467. package/dist/flare/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  468. package/dist/flare/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  469. package/dist/flare/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  470. package/dist/flare/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  471. package/dist/flare/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  472. package/dist/flare/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  473. package/dist/flare/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  474. package/dist/flare/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  475. package/dist/flare/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  476. package/dist/flare/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  477. package/dist/flare/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  478. package/dist/flare/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  479. package/dist/flare/artifacts/contracts/IVPToken.sol/IVPToken.json +700 -0
  480. package/dist/flare/artifacts/contracts/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  481. package/dist/flare/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  482. package/dist/flare/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  483. package/dist/flare/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  484. package/dist/flare/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  485. package/dist/flare/artifacts/contracts/IWNat.sol/IWNat.json +790 -0
  486. package/dist/flare/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  487. package/dist/flare/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  488. package/dist/flare/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  489. package/dist/flare/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  490. package/dist/flare/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  491. package/dist/flare/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  492. package/dist/flare/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  493. package/dist/flare/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  494. package/dist/flare/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  495. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +886 -899
  496. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  497. package/dist/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +44 -44
  498. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +57 -57
  499. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +20 -20
  500. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +26 -26
  501. package/dist/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +26 -26
  502. package/dist/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +678 -638
  503. package/dist/flare/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  504. package/dist/flare/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  505. package/dist/flare/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  506. package/dist/flare/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  507. package/dist/flare/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  508. package/dist/flare/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  509. package/dist/flare/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  510. package/dist/flare/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  511. package/dist/flare/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  512. package/dist/flare/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  513. package/dist/flare/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  514. package/dist/flare/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  515. package/dist/flare/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  516. package/dist/flare/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  517. package/dist/flare/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  518. package/dist/flare/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  519. package/dist/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +44 -44
  520. package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +238 -238
  521. package/dist/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +618 -618
  522. package/dist/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +766 -766
  523. package/dist/flare/index.d.ts +2 -2
  524. package/dist/flare/index.d.ts.map +1 -1
  525. package/dist/flare/mapper.d.ts +3 -0
  526. package/dist/flare/mapper.d.ts.map +1 -0
  527. package/dist/index.d.ts +6 -6
  528. package/dist/index.d.ts.map +1 -1
  529. package/dist/index.js +9291 -56
  530. package/dist/index.js.map +1 -1
  531. package/dist/songbird/abis.d.ts +10 -1
  532. package/dist/songbird/abis.d.ts.map +1 -1
  533. package/dist/songbird/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  534. package/dist/songbird/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  535. package/dist/songbird/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  536. package/dist/songbird/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  537. package/dist/songbird/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  538. package/dist/songbird/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  539. package/dist/songbird/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  540. package/dist/songbird/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  541. package/dist/songbird/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  542. package/dist/songbird/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  543. package/dist/songbird/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  544. package/dist/songbird/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  545. package/dist/songbird/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  546. package/dist/songbird/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  547. package/dist/songbird/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  548. package/dist/songbird/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  549. package/dist/songbird/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  550. package/dist/songbird/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  551. package/dist/songbird/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  552. package/dist/songbird/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  553. package/dist/songbird/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  554. package/dist/songbird/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  555. package/dist/songbird/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  556. package/dist/songbird/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  557. package/dist/songbird/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  558. package/dist/songbird/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  559. package/dist/songbird/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  560. package/dist/songbird/artifacts/contracts/IFtso.sol/IFtso.json +512 -0
  561. package/dist/songbird/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  562. package/dist/songbird/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  563. package/dist/songbird/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  564. package/dist/songbird/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  565. package/dist/songbird/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  566. package/dist/songbird/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  567. package/dist/songbird/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  568. package/dist/songbird/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  569. package/dist/songbird/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  570. package/dist/songbird/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  571. package/dist/songbird/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  572. package/dist/songbird/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  573. package/dist/songbird/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  574. package/dist/songbird/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  575. package/dist/songbird/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  576. package/dist/songbird/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  577. package/dist/songbird/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  578. package/dist/songbird/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  579. package/dist/songbird/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  580. package/dist/songbird/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  581. package/dist/songbird/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  582. package/dist/songbird/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  583. package/dist/songbird/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  584. package/dist/songbird/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  585. package/dist/songbird/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  586. package/dist/songbird/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  587. package/dist/songbird/artifacts/contracts/IVPToken.sol/IVPToken.json +658 -0
  588. package/dist/songbird/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  589. package/dist/songbird/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  590. package/dist/songbird/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  591. package/dist/songbird/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  592. package/dist/songbird/artifacts/contracts/IWNat.sol/IWNat.json +761 -0
  593. package/dist/songbird/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  594. package/dist/songbird/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  595. package/dist/songbird/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  596. package/dist/songbird/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  597. package/dist/songbird/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  598. package/dist/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +25 -25
  599. package/dist/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +96 -96
  600. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +212 -212
  601. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +291 -291
  602. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +58 -58
  603. package/dist/songbird/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  604. package/dist/songbird/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  605. package/dist/songbird/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  606. package/dist/songbird/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  607. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +951 -964
  608. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  609. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +876 -876
  610. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +90 -90
  611. package/dist/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +32 -32
  612. package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +83 -83
  613. package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +20 -20
  614. package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +26 -26
  615. package/dist/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +258 -258
  616. package/dist/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +16 -16
  617. package/dist/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +26 -26
  618. package/dist/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +678 -638
  619. package/dist/songbird/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  620. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +44 -44
  621. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +63 -63
  622. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +51 -51
  623. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +133 -133
  624. package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +16 -16
  625. package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +74 -74
  626. package/dist/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +231 -231
  627. package/dist/songbird/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  628. package/dist/songbird/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  629. package/dist/songbird/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  630. package/dist/songbird/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  631. package/dist/songbird/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  632. package/dist/songbird/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  633. package/dist/songbird/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  634. package/dist/songbird/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  635. package/dist/songbird/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  636. package/dist/songbird/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  637. package/dist/songbird/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  638. package/dist/songbird/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  639. package/dist/songbird/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  640. package/dist/songbird/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  641. package/dist/songbird/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  642. package/dist/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +56 -56
  643. package/dist/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +228 -228
  644. package/dist/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +607 -607
  645. package/dist/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +727 -727
  646. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +960 -960
  647. package/dist/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +30 -30
  648. package/dist/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +444 -444
  649. package/dist/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +110 -110
  650. package/dist/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +52 -52
  651. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +280 -280
  652. package/dist/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +16 -16
  653. package/dist/songbird/index.d.ts +2 -2
  654. package/dist/songbird/index.d.ts.map +1 -1
  655. package/dist/songbird/mapper.d.ts +3 -0
  656. package/dist/songbird/mapper.d.ts.map +1 -0
  657. package/flare/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  658. package/flare/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  659. package/flare/artifacts/contracts/IAddressBinder.sol/IAddressBinder.json +121 -0
  660. package/flare/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  661. package/flare/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  662. package/flare/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  663. package/flare/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  664. package/flare/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  665. package/flare/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  666. package/flare/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  667. package/flare/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  668. package/flare/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  669. package/flare/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  670. package/flare/artifacts/contracts/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  671. package/flare/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  672. package/flare/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  673. package/flare/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  674. package/flare/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  675. package/flare/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  676. package/flare/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  677. package/flare/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  678. package/flare/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  679. package/flare/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  680. package/flare/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  681. package/flare/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  682. package/flare/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  683. package/flare/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  684. package/flare/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  685. package/flare/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  686. package/flare/artifacts/contracts/IFtso.sol/IFtso.json +475 -0
  687. package/flare/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  688. package/flare/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  689. package/flare/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  690. package/flare/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  691. package/flare/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  692. package/flare/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  693. package/flare/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  694. package/flare/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  695. package/flare/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  696. package/flare/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  697. package/flare/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  698. package/flare/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  699. package/flare/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  700. package/flare/artifacts/contracts/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
  701. package/flare/artifacts/contracts/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
  702. package/flare/artifacts/contracts/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
  703. package/flare/artifacts/contracts/IPChainVotePower.sol/IPChainVotePower.json +309 -0
  704. package/flare/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  705. package/flare/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  706. package/flare/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  707. package/flare/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  708. package/flare/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  709. package/flare/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  710. package/flare/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  711. package/flare/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  712. package/flare/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  713. package/flare/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  714. package/flare/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  715. package/flare/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  716. package/flare/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  717. package/flare/artifacts/contracts/IVPToken.sol/IVPToken.json +700 -0
  718. package/flare/artifacts/contracts/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  719. package/flare/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  720. package/flare/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  721. package/flare/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  722. package/flare/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  723. package/flare/artifacts/contracts/IWNat.sol/IWNat.json +790 -0
  724. package/flare/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  725. package/flare/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  726. package/flare/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  727. package/flare/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  728. package/flare/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  729. package/flare/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  730. package/flare/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  731. package/flare/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  732. package/flare/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  733. package/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +2 -15
  734. package/flare/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  735. package/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +1 -1
  736. package/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +1 -1
  737. package/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +1 -1
  738. package/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +1 -1
  739. package/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +1 -1
  740. package/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +50 -10
  741. package/flare/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  742. package/flare/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  743. package/flare/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  744. package/flare/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  745. package/flare/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  746. package/flare/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  747. package/flare/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  748. package/flare/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  749. package/flare/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  750. package/flare/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  751. package/flare/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  752. package/flare/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  753. package/flare/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  754. package/flare/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  755. package/flare/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  756. package/flare/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  757. package/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +1 -1
  758. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +1 -1
  759. package/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +1 -1
  760. package/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +4 -4
  761. package/package.json +18 -4
  762. package/songbird/artifacts/contracts/ContractRegistry.sol/ContractRegistry.json +10 -0
  763. package/songbird/artifacts/contracts/FtsoV2Interface.sol/FtsoV2Interface.json +319 -0
  764. package/songbird/artifacts/contracts/IAddressValidity.sol/IAddressValidity.json +10 -0
  765. package/songbird/artifacts/contracts/IAddressValidityVerification.sol/IAddressValidityVerification.json +98 -0
  766. package/songbird/artifacts/contracts/IBalanceDecreasingTransaction.sol/IBalanceDecreasingTransaction.json +10 -0
  767. package/songbird/artifacts/contracts/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +113 -0
  768. package/songbird/artifacts/contracts/ICChainStake.sol/ICChainStake.json +384 -0
  769. package/songbird/artifacts/contracts/ICChainVotePower.sol/ICChainVotePower.json +309 -0
  770. package/songbird/artifacts/contracts/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  771. package/songbird/artifacts/contracts/IConfirmedBlockHeightExists.sol/IConfirmedBlockHeightExists.json +10 -0
  772. package/songbird/artifacts/contracts/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +108 -0
  773. package/songbird/artifacts/contracts/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  774. package/songbird/artifacts/contracts/IEVMTransaction.sol/IEVMTransaction.json +10 -0
  775. package/songbird/artifacts/contracts/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +175 -0
  776. package/songbird/artifacts/contracts/IEntityManager.sol/IEntityManager.json +799 -0
  777. package/songbird/artifacts/contracts/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +239 -0
  778. package/songbird/artifacts/contracts/IFastUpdater.sol/IFastUpdater.json +363 -0
  779. package/songbird/artifacts/contracts/IFastUpdatesConfiguration.sol/IFastUpdatesConfiguration.json +199 -0
  780. package/songbird/artifacts/contracts/IFdcHub.sol/IFdcHub.json +147 -0
  781. package/songbird/artifacts/contracts/IFdcInflationConfigurations.sol/IFdcInflationConfigurations.json +97 -0
  782. package/songbird/artifacts/contracts/IFdcRequestFeeConfigurations.sol/IFdcRequestFeeConfigurations.json +74 -0
  783. package/songbird/artifacts/contracts/IFdcVerification.sol/IFdcVerification.json +730 -0
  784. package/songbird/artifacts/contracts/IFeeCalculator.sol/IFeeCalculator.json +49 -0
  785. package/songbird/artifacts/contracts/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  786. package/songbird/artifacts/contracts/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  787. package/songbird/artifacts/contracts/IFlareSystemsCalculator.sol/IFlareSystemsCalculator.json +118 -0
  788. package/songbird/artifacts/contracts/IFlareSystemsManager.sol/IFlareSystemsManager.json +658 -0
  789. package/songbird/artifacts/contracts/IFtso.sol/IFtso.json +512 -0
  790. package/songbird/artifacts/contracts/IFtsoFeedDecimals.sol/IFtsoFeedDecimals.json +177 -0
  791. package/songbird/artifacts/contracts/IFtsoFeedIdConverter.sol/IFtsoFeedIdConverter.json +59 -0
  792. package/songbird/artifacts/contracts/IFtsoFeedPublisher.sol/IFtsoFeedPublisher.json +223 -0
  793. package/songbird/artifacts/contracts/IFtsoInflationConfigurations.sol/IFtsoInflationConfigurations.json +107 -0
  794. package/songbird/artifacts/contracts/IFtsoManager.sol/IFtsoManager.json +376 -0
  795. package/songbird/artifacts/contracts/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  796. package/songbird/artifacts/contracts/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  797. package/songbird/artifacts/contracts/IFtsoRewardOffersManager.sol/IFtsoRewardOffersManager.json +197 -0
  798. package/songbird/artifacts/contracts/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  799. package/songbird/artifacts/contracts/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  800. package/songbird/artifacts/contracts/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  801. package/songbird/artifacts/contracts/IGovernor.sol/IGovernor.json +524 -0
  802. package/songbird/artifacts/contracts/IIncreaseManager.sol/IIncreaseManager.json +24 -0
  803. package/songbird/artifacts/contracts/IPayment.sol/IPayment.json +10 -0
  804. package/songbird/artifacts/contracts/IPaymentVerification.sol/IPaymentVerification.json +158 -0
  805. package/songbird/artifacts/contracts/IPollingManagementGroup.sol/IPollingManagementGroup.json +556 -0
  806. package/songbird/artifacts/contracts/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  807. package/songbird/artifacts/contracts/IRNat.sol/IRNat.json +939 -0
  808. package/songbird/artifacts/contracts/IRNatAccount.sol/IRNatAccount.json +146 -0
  809. package/songbird/artifacts/contracts/IRandomProvider.sol/IRandomProvider.json +65 -0
  810. package/songbird/artifacts/contracts/IReferencedPaymentNonexistence.sol/IReferencedPaymentNonexistence.json +10 -0
  811. package/songbird/artifacts/contracts/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +133 -0
  812. package/songbird/artifacts/contracts/IRelay.sol/IRelay.json +435 -0
  813. package/songbird/artifacts/contracts/IRewardManager.sol/IRewardManager.json +614 -0
  814. package/songbird/artifacts/contracts/ISubmission.sol/ISubmission.json +142 -0
  815. package/songbird/artifacts/contracts/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  816. package/songbird/artifacts/contracts/IVPToken.sol/IVPToken.json +658 -0
  817. package/songbird/artifacts/contracts/IValidatorRewardOffersManager.sol/IValidatorRewardOffersManager.json +30 -0
  818. package/songbird/artifacts/contracts/IVoterPreRegistry.sol/IVoterPreRegistry.json +127 -0
  819. package/songbird/artifacts/contracts/IVoterRegistry.sol/IVoterRegistry.json +265 -0
  820. package/songbird/artifacts/contracts/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  821. package/songbird/artifacts/contracts/IWNat.sol/IWNat.json +761 -0
  822. package/songbird/artifacts/contracts/IWNatDelegationFee.sol/IWNatDelegationFee.json +153 -0
  823. package/songbird/artifacts/contracts/ProtocolsV2Interface.sol/ProtocolsV2Interface.json +127 -0
  824. package/songbird/artifacts/contracts/RandomNumberV2Interface.sol/RandomNumberV2Interface.json +63 -0
  825. package/songbird/artifacts/contracts/RewardsV2Interface.sol/RewardsV2Interface.json +180 -0
  826. package/songbird/artifacts/contracts/TestFtsoV2Interface.sol/TestFtsoV2Interface.json +319 -0
  827. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +1 -1
  828. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +1 -1
  829. package/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +4 -4
  830. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +1 -1
  831. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +1 -1
  832. package/songbird/artifacts/contracts/fdc/interface/ITypeTemplate.sol/ITypeTemplate.json +10 -0
  833. package/songbird/artifacts/contracts/fdc/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +149 -0
  834. package/songbird/artifacts/contracts/fscV1/interface/IIFastUpdaterView.sol/IIFastUpdaterView.json +40 -0
  835. package/songbird/artifacts/contracts/fscV1/interface/IIFtsoManagerProxy.sol/IIFtsoManagerProxy.json +63 -0
  836. package/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +2 -15
  837. package/songbird/artifacts/contracts/ftso/interface/IIFtsoFeedPublisher.sol/IIFtsoFeedPublisher.json +263 -0
  838. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +1 -1
  839. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +1 -1
  840. package/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +1 -1
  841. package/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +1 -1
  842. package/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +1 -1
  843. package/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +1 -1
  844. package/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +1 -1
  845. package/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +1 -1
  846. package/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +1 -1
  847. package/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +49 -9
  848. package/songbird/artifacts/contracts/governance/interface/IIPollingManagementGroup.sol/IIPollingManagementGroup.json +688 -0
  849. package/songbird/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +1 -1
  850. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +1 -1
  851. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +1 -1
  852. package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +1 -1
  853. package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +1 -1
  854. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +1 -1
  855. package/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +1 -1
  856. package/songbird/artifacts/contracts/protocol/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  857. package/songbird/artifacts/contracts/protocol/interface/IICleanupBlockNumberManager.sol/IICleanupBlockNumberManager.json +24 -0
  858. package/songbird/artifacts/contracts/protocol/interface/IIEntityManager.sol/IIEntityManager.json +948 -0
  859. package/songbird/artifacts/contracts/protocol/interface/IIFlareSystemsCalculator.sol/IIFlareSystemsCalculator.json +171 -0
  860. package/songbird/artifacts/contracts/protocol/interface/IIFlareSystemsManager.sol/IIFlareSystemsManager.json +1226 -0
  861. package/songbird/artifacts/contracts/protocol/interface/IINodePossessionVerifier.sol/IINodePossessionVerifier.json +39 -0
  862. package/songbird/artifacts/contracts/protocol/interface/IIPublicKeyVerifier.sol/IIPublicKeyVerifier.json +39 -0
  863. package/songbird/artifacts/contracts/protocol/interface/IIRelay.sol/IIRelay.json +486 -0
  864. package/songbird/artifacts/contracts/protocol/interface/IIRewardEpochSwitchoverTrigger.sol/IIRewardEpochSwitchoverTrigger.json +34 -0
  865. package/songbird/artifacts/contracts/protocol/interface/IIRewardManager.sol/IIRewardManager.json +723 -0
  866. package/songbird/artifacts/contracts/protocol/interface/IISubmission.sol/IISubmission.json +170 -0
  867. package/songbird/artifacts/contracts/protocol/interface/IIVoterRegistrationTrigger.sol/IIVoterRegistrationTrigger.json +24 -0
  868. package/songbird/artifacts/contracts/protocol/interface/IIVoterRegistry.sol/IIVoterRegistry.json +632 -0
  869. package/songbird/artifacts/contracts/rNat/interface/IIRNat.sol/IIRNat.json +1070 -0
  870. package/songbird/artifacts/contracts/rNat/interface/IIRNatAccount.sol/IIRNatAccount.json +342 -0
  871. package/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +1 -1
  872. package/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +1 -1
  873. package/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +1 -1
  874. package/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +4 -4
  875. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +1 -1
  876. package/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +1 -1
  877. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +1 -1
  878. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +1 -1
  879. package/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +1 -1
  880. package/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +1 -1
  881. package/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +1 -1
  882. package/coston/artifacts/contracts/StateConnector/interface/AddressValidity.sol/AddressValidity.json +0 -10
  883. package/coston/artifacts/contracts/StateConnector/interface/BalanceDecreasingTransaction.sol/BalanceDecreasingTransaction.json +0 -10
  884. package/coston/artifacts/contracts/StateConnector/interface/ConfirmedBlockHeightExists.sol/ConfirmedBlockHeightExists.json +0 -10
  885. package/coston/artifacts/contracts/StateConnector/interface/EVMTransaction.sol/EVMTransaction.json +0 -10
  886. package/coston/artifacts/contracts/StateConnector/interface/IAddressValidityVerification.sol/IAddressValidityVerification.json +0 -98
  887. package/coston/artifacts/contracts/StateConnector/interface/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +0 -113
  888. package/coston/artifacts/contracts/StateConnector/interface/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +0 -108
  889. package/coston/artifacts/contracts/StateConnector/interface/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +0 -175
  890. package/coston/artifacts/contracts/StateConnector/interface/IPaymentVerification.sol/IPaymentVerification.json +0 -153
  891. package/coston/artifacts/contracts/StateConnector/interface/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +0 -123
  892. package/coston/artifacts/contracts/StateConnector/interface/IStateConnector.sol/IStateConnector.json +0 -126
  893. package/coston/artifacts/contracts/StateConnector/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +0 -149
  894. package/coston/artifacts/contracts/StateConnector/interface/Payment.sol/Payment.json +0 -10
  895. package/coston/artifacts/contracts/StateConnector/interface/ReferencedPaymentNonexistence.sol/ReferencedPaymentNonexistence.json +0 -10
  896. package/coston/artifacts/contracts/StateConnector/interface/TypeTemplate.sol/TypeTemplate.json +0 -10
  897. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  898. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  899. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  900. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  901. package/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  902. package/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  903. package/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  904. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  905. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  906. package/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  907. package/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  908. package/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  909. package/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  910. package/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  911. package/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  912. package/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1104
  913. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  914. package/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -878
  915. package/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  916. package/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  917. package/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  918. package/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  919. package/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  920. package/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  921. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -624
  922. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -241
  923. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  924. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -1048
  925. package/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -676
  926. package/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -224
  927. package/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -407
  928. package/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  929. package/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -285
  930. package/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  931. package/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -126
  932. package/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -139
  933. package/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -115
  934. package/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +0 -209
  935. package/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +0 -220
  936. package/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  937. package/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  938. package/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  939. package/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  940. package/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  941. package/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1065
  942. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  943. package/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -854
  944. package/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  945. package/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +0 -73
  946. package/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -642
  947. package/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  948. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -70
  949. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +0 -57
  950. package/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +0 -142
  951. package/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +0 -18
  952. package/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  953. package/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +0 -68
  954. package/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +0 -10
  955. package/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  956. package/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -129
  957. package/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  958. package/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -222
  959. package/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -324
  960. package/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -774
  961. package/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1102
  962. package/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1195
  963. package/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  964. package/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  965. package/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  966. package/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  967. package/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  968. package/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  969. package/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  970. package/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  971. package/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  972. package/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  973. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  974. package/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +0 -127
  975. package/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +0 -10
  976. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  977. package/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  978. package/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  979. package/coston/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +0 -665
  980. package/coston/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +0 -144
  981. package/coston/artifacts/contracts/userInterfaces/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +0 -239
  982. package/coston/artifacts/contracts/userInterfaces/IFastUpdater.sol/IFastUpdater.json +0 -363
  983. package/coston/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +0 -241
  984. package/coston/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +0 -105
  985. package/coston/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +0 -512
  986. package/coston/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +0 -376
  987. package/coston/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +0 -445
  988. package/coston/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +0 -702
  989. package/coston/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +0 -248
  990. package/coston/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +0 -69
  991. package/coston/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +0 -117
  992. package/coston/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +0 -484
  993. package/coston/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +0 -639
  994. package/coston/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +0 -200
  995. package/coston/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +0 -73
  996. package/coston/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +0 -658
  997. package/coston/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +0 -199
  998. package/coston/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +0 -62
  999. package/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1000. package/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1001. package/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1002. package/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1003. package/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1004. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -440
  1005. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -144
  1006. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +0 -238
  1007. package/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1008. package/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1009. package/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1010. package/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1011. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1012. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +0 -120
  1013. package/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1014. package/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1015. package/coston/artifacts/contracts/utils/interface/IRelay.sol/IRelay.json +0 -263
  1016. package/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1017. package/coston/deploys/contracts.json +0 -237
  1018. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1019. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1020. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  1021. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  1022. package/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1023. package/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1024. package/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  1025. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  1026. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  1027. package/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1028. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1029. package/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1030. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1031. package/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1032. package/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1033. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1039
  1034. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1035. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -891
  1036. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  1037. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1038. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1039. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1040. package/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1041. package/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1042. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -718
  1043. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -338
  1044. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1045. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -983
  1046. package/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +0 -289
  1047. package/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -794
  1048. package/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -219
  1049. package/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +0 -292
  1050. package/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +0 -493
  1051. package/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -569
  1052. package/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1053. package/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -283
  1054. package/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  1055. package/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -220
  1056. package/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -233
  1057. package/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -209
  1058. package/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1059. package/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1060. package/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1061. package/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1062. package/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1063. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1070
  1064. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1065. package/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -926
  1066. package/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1067. package/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -543
  1068. package/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  1069. package/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  1070. package/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -57
  1071. package/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +0 -36
  1072. package/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  1073. package/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  1074. package/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  1075. package/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  1076. package/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +0 -49
  1077. package/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  1078. package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +0 -121
  1079. package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +0 -512
  1080. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +0 -1299
  1081. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +0 -579
  1082. package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +0 -168
  1083. package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +0 -72
  1084. package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +0 -24
  1085. package/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -142
  1086. package/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1087. package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +0 -128
  1088. package/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -235
  1089. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -342
  1090. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -798
  1091. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1264
  1092. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1357
  1093. package/coston2/artifacts/contracts/token/interface/IICombinedNatBalance.sol/IICombinedNatBalance.json +0 -86
  1094. package/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1095. package/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1096. package/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1097. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1098. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1099. package/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1100. package/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1101. package/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1102. package/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1103. package/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1104. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +0 -741
  1105. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +0 -1038
  1106. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +0 -769
  1107. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1108. package/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +0 -720
  1109. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +0 -927
  1110. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +0 -463
  1111. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +0 -741
  1112. package/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  1113. package/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +0 -413
  1114. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +0 -49
  1115. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +0 -24
  1116. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +0 -57
  1117. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +0 -36
  1118. package/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  1119. package/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1120. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +0 -10
  1121. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +0 -10
  1122. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +0 -30
  1123. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +0 -49
  1124. package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +0 -121
  1125. package/coston2/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +0 -665
  1126. package/coston2/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +0 -144
  1127. package/coston2/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +0 -258
  1128. package/coston2/artifacts/contracts/userInterfaces/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +0 -239
  1129. package/coston2/artifacts/contracts/userInterfaces/IFastUpdater.sol/IFastUpdater.json +0 -363
  1130. package/coston2/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +0 -241
  1131. package/coston2/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +0 -105
  1132. package/coston2/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +0 -475
  1133. package/coston2/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +0 -376
  1134. package/coston2/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +0 -445
  1135. package/coston2/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +0 -702
  1136. package/coston2/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +0 -248
  1137. package/coston2/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +0 -69
  1138. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +0 -117
  1139. package/coston2/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +0 -484
  1140. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +0 -575
  1141. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +0 -311
  1142. package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +0 -10
  1143. package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +0 -309
  1144. package/coston2/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +0 -639
  1145. package/coston2/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +0 -221
  1146. package/coston2/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +0 -73
  1147. package/coston2/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +0 -700
  1148. package/coston2/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +0 -136
  1149. package/coston2/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +0 -199
  1150. package/coston2/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +0 -62
  1151. package/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1152. package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +0 -10
  1153. package/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1154. package/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1155. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1156. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1157. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -384
  1158. package/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +0 -71
  1159. package/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -238
  1160. package/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1161. package/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1162. package/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1163. package/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +0 -91
  1164. package/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +0 -149
  1165. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1166. package/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1167. package/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1168. package/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1169. package/coston2/artifacts/contracts/utils/interface/IRelay.sol/IRelay.json +0 -263
  1170. package/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1171. package/coston2/deploys/contracts.json +0 -272
  1172. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +0 -164
  1173. package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +0 -1
  1174. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +0 -30
  1175. package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +0 -1
  1176. package/dist/coston/StateConnector/libs/ts/MerkleTree.js +0 -212
  1177. package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +0 -1
  1178. package/dist/coston/StateConnector/libs/ts/config-types.js +0 -3
  1179. package/dist/coston/StateConnector/libs/ts/config-types.js.map +0 -1
  1180. package/dist/coston/StateConnector/libs/ts/interfaces.js +0 -3
  1181. package/dist/coston/StateConnector/libs/ts/interfaces.js.map +0 -1
  1182. package/dist/coston/StateConnector/libs/ts/random.js +0 -70
  1183. package/dist/coston/StateConnector/libs/ts/random.js.map +0 -1
  1184. package/dist/coston/StateConnector/libs/ts/utils.js +0 -2839
  1185. package/dist/coston/StateConnector/libs/ts/utils.js.map +0 -1
  1186. package/dist/coston/StateConnector/typescript/AddressValidity.js +0 -9
  1187. package/dist/coston/StateConnector/typescript/AddressValidity.js.map +0 -1
  1188. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +0 -9
  1189. package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +0 -1
  1190. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +0 -9
  1191. package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +0 -1
  1192. package/dist/coston/StateConnector/typescript/EVMTransaction.js +0 -9
  1193. package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +0 -1
  1194. package/dist/coston/StateConnector/typescript/Payment.js +0 -9
  1195. package/dist/coston/StateConnector/typescript/Payment.js.map +0 -1
  1196. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +0 -9
  1197. package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +0 -1
  1198. package/dist/coston/StateConnector/typescript/TypeTemplate.js +0 -9
  1199. package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +0 -1
  1200. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +0 -33
  1201. package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +0 -1
  1202. package/dist/coston/StateConnector/typescript/index.js +0 -25
  1203. package/dist/coston/StateConnector/typescript/index.js.map +0 -1
  1204. package/dist/coston/abis.js +0 -261
  1205. package/dist/coston/abis.js.map +0 -1
  1206. package/dist/coston/artifacts/contracts/StateConnector/interface/AddressValidity.sol/AddressValidity.json +0 -10
  1207. package/dist/coston/artifacts/contracts/StateConnector/interface/BalanceDecreasingTransaction.sol/BalanceDecreasingTransaction.json +0 -10
  1208. package/dist/coston/artifacts/contracts/StateConnector/interface/ConfirmedBlockHeightExists.sol/ConfirmedBlockHeightExists.json +0 -10
  1209. package/dist/coston/artifacts/contracts/StateConnector/interface/EVMTransaction.sol/EVMTransaction.json +0 -10
  1210. package/dist/coston/artifacts/contracts/StateConnector/interface/IAddressValidityVerification.sol/IAddressValidityVerification.json +0 -98
  1211. package/dist/coston/artifacts/contracts/StateConnector/interface/IBalanceDecreasingTransactionVerification.sol/IBalanceDecreasingTransactionVerification.json +0 -113
  1212. package/dist/coston/artifacts/contracts/StateConnector/interface/IConfirmedBlockHeightExistsVerification.sol/IConfirmedBlockHeightExistsVerification.json +0 -108
  1213. package/dist/coston/artifacts/contracts/StateConnector/interface/IEVMTransactionVerification.sol/IEVMTransactionVerification.json +0 -175
  1214. package/dist/coston/artifacts/contracts/StateConnector/interface/IPaymentVerification.sol/IPaymentVerification.json +0 -153
  1215. package/dist/coston/artifacts/contracts/StateConnector/interface/IReferencedPaymentNonexistenceVerification.sol/IReferencedPaymentNonexistenceVerification.json +0 -123
  1216. package/dist/coston/artifacts/contracts/StateConnector/interface/IStateConnector.sol/IStateConnector.json +0 -126
  1217. package/dist/coston/artifacts/contracts/StateConnector/interface/ITypeTemplateVerification.sol/ITypeTemplateVerification.json +0 -149
  1218. package/dist/coston/artifacts/contracts/StateConnector/interface/Payment.sol/Payment.json +0 -10
  1219. package/dist/coston/artifacts/contracts/StateConnector/interface/ReferencedPaymentNonexistence.sol/ReferencedPaymentNonexistence.json +0 -10
  1220. package/dist/coston/artifacts/contracts/StateConnector/interface/TypeTemplate.sol/TypeTemplate.json +0 -10
  1221. package/dist/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1222. package/dist/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1223. package/dist/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  1224. package/dist/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  1225. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1226. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1227. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  1228. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  1229. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  1230. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1231. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1232. package/dist/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1233. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1234. package/dist/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1235. package/dist/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1236. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1104
  1237. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1238. package/dist/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -878
  1239. package/dist/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  1240. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1241. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1242. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1243. package/dist/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1244. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1245. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -624
  1246. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -241
  1247. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1248. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -1048
  1249. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -676
  1250. package/dist/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -224
  1251. package/dist/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -407
  1252. package/dist/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1253. package/dist/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -285
  1254. package/dist/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  1255. package/dist/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -126
  1256. package/dist/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -139
  1257. package/dist/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -115
  1258. package/dist/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +0 -209
  1259. package/dist/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +0 -220
  1260. package/dist/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1261. package/dist/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1262. package/dist/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1263. package/dist/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1264. package/dist/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1265. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1065
  1266. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1267. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -854
  1268. package/dist/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1269. package/dist/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +0 -73
  1270. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -642
  1271. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  1272. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -70
  1273. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +0 -57
  1274. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +0 -142
  1275. package/dist/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +0 -18
  1276. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  1277. package/dist/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +0 -68
  1278. package/dist/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +0 -10
  1279. package/dist/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  1280. package/dist/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -129
  1281. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1282. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -222
  1283. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -324
  1284. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -774
  1285. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1102
  1286. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1195
  1287. package/dist/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1288. package/dist/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1289. package/dist/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1290. package/dist/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1291. package/dist/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1292. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1293. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1294. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1295. package/dist/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1296. package/dist/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1297. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1298. package/dist/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +0 -127
  1299. package/dist/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +0 -10
  1300. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  1301. package/dist/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  1302. package/dist/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1303. package/dist/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1304. package/dist/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1305. package/dist/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1306. package/dist/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1307. package/dist/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1308. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -440
  1309. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -144
  1310. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +0 -238
  1311. package/dist/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1312. package/dist/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1313. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1314. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1315. package/dist/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1316. package/dist/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +0 -120
  1317. package/dist/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1318. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1319. package/dist/coston/artifacts/contracts/utils/interface/IRelay.sol/IRelay.json +0 -263
  1320. package/dist/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1321. package/dist/coston/deploys/addresses.d.ts +0 -43
  1322. package/dist/coston/deploys/addresses.d.ts.map +0 -1
  1323. package/dist/coston/deploys/addresses.js +0 -47
  1324. package/dist/coston/deploys/addresses.js.map +0 -1
  1325. package/dist/coston/deploys/contracts.json +0 -232
  1326. package/dist/coston/deploys/mapper.d.ts +0 -7
  1327. package/dist/coston/deploys/mapper.d.ts.map +0 -1
  1328. package/dist/coston/deploys/mapper.js +0 -38
  1329. package/dist/coston/deploys/mapper.js.map +0 -1
  1330. package/dist/coston/index.js +0 -33
  1331. package/dist/coston/index.js.map +0 -1
  1332. package/dist/coston/utils/utils.js +0 -17
  1333. package/dist/coston2/abis.js +0 -281
  1334. package/dist/coston2/abis.js.map +0 -1
  1335. package/dist/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1336. package/dist/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1337. package/dist/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  1338. package/dist/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  1339. package/dist/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1340. package/dist/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1341. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  1342. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  1343. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  1344. package/dist/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1345. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1346. package/dist/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1347. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1348. package/dist/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1349. package/dist/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1350. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1039
  1351. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1352. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -891
  1353. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  1354. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1355. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1356. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1357. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1358. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1359. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -718
  1360. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -338
  1361. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1362. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -983
  1363. package/dist/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +0 -289
  1364. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -794
  1365. package/dist/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -219
  1366. package/dist/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +0 -292
  1367. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +0 -493
  1368. package/dist/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -569
  1369. package/dist/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1370. package/dist/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -283
  1371. package/dist/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  1372. package/dist/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -220
  1373. package/dist/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -233
  1374. package/dist/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -209
  1375. package/dist/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1376. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1377. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1378. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1379. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1380. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1070
  1381. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1382. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -926
  1383. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1384. package/dist/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -543
  1385. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  1386. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  1387. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -57
  1388. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +0 -36
  1389. package/dist/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  1390. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  1391. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  1392. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  1393. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +0 -49
  1394. package/dist/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  1395. package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +0 -121
  1396. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +0 -512
  1397. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +0 -1299
  1398. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +0 -579
  1399. package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +0 -168
  1400. package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +0 -72
  1401. package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +0 -24
  1402. package/dist/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -142
  1403. package/dist/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1404. package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +0 -128
  1405. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -235
  1406. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -342
  1407. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -798
  1408. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1264
  1409. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1357
  1410. package/dist/coston2/artifacts/contracts/token/interface/IICombinedNatBalance.sol/IICombinedNatBalance.json +0 -86
  1411. package/dist/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1412. package/dist/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1413. package/dist/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1414. package/dist/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1415. package/dist/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1416. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1417. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1418. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1419. package/dist/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1420. package/dist/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1421. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +0 -741
  1422. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +0 -1038
  1423. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +0 -769
  1424. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1425. package/dist/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +0 -720
  1426. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +0 -927
  1427. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +0 -463
  1428. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +0 -741
  1429. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  1430. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +0 -413
  1431. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +0 -49
  1432. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +0 -24
  1433. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +0 -57
  1434. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +0 -36
  1435. package/dist/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  1436. package/dist/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1437. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +0 -10
  1438. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +0 -10
  1439. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +0 -30
  1440. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +0 -49
  1441. package/dist/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1442. package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +0 -10
  1443. package/dist/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1444. package/dist/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1445. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1446. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1447. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -384
  1448. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +0 -71
  1449. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -238
  1450. package/dist/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1451. package/dist/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1452. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1453. package/dist/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +0 -91
  1454. package/dist/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +0 -149
  1455. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1456. package/dist/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1457. package/dist/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1458. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1459. package/dist/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1460. package/dist/coston2/deploys/addresses.d.ts +0 -57
  1461. package/dist/coston2/deploys/addresses.d.ts.map +0 -1
  1462. package/dist/coston2/deploys/addresses.js +0 -60
  1463. package/dist/coston2/deploys/addresses.js.map +0 -1
  1464. package/dist/coston2/deploys/contracts.json +0 -272
  1465. package/dist/coston2/deploys/mapper.d.ts +0 -7
  1466. package/dist/coston2/deploys/mapper.d.ts.map +0 -1
  1467. package/dist/coston2/deploys/mapper.js +0 -38
  1468. package/dist/coston2/deploys/mapper.js.map +0 -1
  1469. package/dist/coston2/index.js +0 -19
  1470. package/dist/coston2/index.js.map +0 -1
  1471. package/dist/flare/abis.js +0 -279
  1472. package/dist/flare/abis.js.map +0 -1
  1473. package/dist/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1474. package/dist/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1475. package/dist/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  1476. package/dist/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  1477. package/dist/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1478. package/dist/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1479. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  1480. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  1481. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  1482. package/dist/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1483. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1484. package/dist/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1485. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1486. package/dist/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1487. package/dist/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1488. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1039
  1489. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1490. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -891
  1491. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  1492. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1493. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1494. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1495. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1496. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1497. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -718
  1498. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -338
  1499. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1500. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -983
  1501. package/dist/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +0 -289
  1502. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -794
  1503. package/dist/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -219
  1504. package/dist/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +0 -292
  1505. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +0 -493
  1506. package/dist/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -569
  1507. package/dist/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1508. package/dist/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -283
  1509. package/dist/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  1510. package/dist/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -220
  1511. package/dist/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -233
  1512. package/dist/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -209
  1513. package/dist/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1514. package/dist/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1515. package/dist/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1516. package/dist/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1517. package/dist/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1518. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1070
  1519. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1520. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -926
  1521. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1522. package/dist/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -543
  1523. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  1524. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  1525. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -57
  1526. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +0 -36
  1527. package/dist/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  1528. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  1529. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  1530. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  1531. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +0 -49
  1532. package/dist/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  1533. package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +0 -121
  1534. package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +0 -512
  1535. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +0 -1299
  1536. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +0 -579
  1537. package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +0 -168
  1538. package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +0 -72
  1539. package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +0 -24
  1540. package/dist/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -142
  1541. package/dist/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1542. package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +0 -128
  1543. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -235
  1544. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -342
  1545. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -798
  1546. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1264
  1547. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1357
  1548. package/dist/flare/artifacts/contracts/token/interface/IICombinedNatBalance.sol/IICombinedNatBalance.json +0 -86
  1549. package/dist/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1550. package/dist/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1551. package/dist/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1552. package/dist/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1553. package/dist/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1554. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1555. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1556. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1557. package/dist/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1558. package/dist/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1559. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +0 -741
  1560. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +0 -1038
  1561. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +0 -769
  1562. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1563. package/dist/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +0 -720
  1564. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +0 -927
  1565. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +0 -463
  1566. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +0 -741
  1567. package/dist/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  1568. package/dist/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +0 -413
  1569. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +0 -49
  1570. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +0 -24
  1571. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +0 -57
  1572. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +0 -36
  1573. package/dist/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  1574. package/dist/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1575. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +0 -10
  1576. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +0 -10
  1577. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +0 -30
  1578. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +0 -49
  1579. package/dist/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1580. package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +0 -10
  1581. package/dist/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1582. package/dist/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1583. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1584. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1585. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -384
  1586. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +0 -71
  1587. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -238
  1588. package/dist/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1589. package/dist/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1590. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1591. package/dist/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +0 -149
  1592. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1593. package/dist/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1594. package/dist/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1595. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1596. package/dist/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1597. package/dist/flare/deploys/addresses.d.ts +0 -57
  1598. package/dist/flare/deploys/addresses.d.ts.map +0 -1
  1599. package/dist/flare/deploys/addresses.js +0 -60
  1600. package/dist/flare/deploys/addresses.js.map +0 -1
  1601. package/dist/flare/deploys/contracts.json +0 -272
  1602. package/dist/flare/deploys/mapper.d.ts +0 -7
  1603. package/dist/flare/deploys/mapper.d.ts.map +0 -1
  1604. package/dist/flare/deploys/mapper.js +0 -38
  1605. package/dist/flare/deploys/mapper.js.map +0 -1
  1606. package/dist/flare/index.js +0 -19
  1607. package/dist/flare/index.js.map +0 -1
  1608. package/dist/songbird/abis.js +0 -229
  1609. package/dist/songbird/abis.js.map +0 -1
  1610. package/dist/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1611. package/dist/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1612. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1613. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1614. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1615. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1616. package/dist/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1617. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1618. package/dist/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1619. package/dist/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1620. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1104
  1621. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1622. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1623. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1624. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1625. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1626. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1627. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -624
  1628. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -241
  1629. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1630. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -1048
  1631. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -676
  1632. package/dist/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -224
  1633. package/dist/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -407
  1634. package/dist/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1635. package/dist/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -126
  1636. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -139
  1637. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -115
  1638. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +0 -209
  1639. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +0 -220
  1640. package/dist/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1641. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1642. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1643. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1644. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1645. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1065
  1646. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1647. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -854
  1648. package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1649. package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +0 -73
  1650. package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -642
  1651. package/dist/songbird/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +0 -68
  1652. package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +0 -10
  1653. package/dist/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -129
  1654. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1655. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -222
  1656. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -324
  1657. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -774
  1658. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1102
  1659. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1195
  1660. package/dist/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1661. package/dist/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1662. package/dist/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1663. package/dist/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1664. package/dist/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1665. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1666. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1667. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1668. package/dist/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1669. package/dist/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1670. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1671. package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +0 -127
  1672. package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +0 -10
  1673. package/dist/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1674. package/dist/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1675. package/dist/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1676. package/dist/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1677. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1678. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1679. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -440
  1680. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -144
  1681. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +0 -238
  1682. package/dist/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1683. package/dist/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1684. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1685. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1686. package/dist/songbird/deploys/addresses.d.ts +0 -43
  1687. package/dist/songbird/deploys/addresses.d.ts.map +0 -1
  1688. package/dist/songbird/deploys/addresses.js +0 -46
  1689. package/dist/songbird/deploys/addresses.js.map +0 -1
  1690. package/dist/songbird/deploys/contracts.json +0 -202
  1691. package/dist/songbird/deploys/mapper.d.ts +0 -7
  1692. package/dist/songbird/deploys/mapper.d.ts.map +0 -1
  1693. package/dist/songbird/deploys/mapper.js +0 -38
  1694. package/dist/songbird/deploys/mapper.js.map +0 -1
  1695. package/dist/songbird/index.js +0 -19
  1696. package/dist/songbird/index.js.map +0 -1
  1697. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1698. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1699. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +0 -29
  1700. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +0 -105
  1701. package/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1702. package/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1703. package/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +0 -233
  1704. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +0 -316
  1705. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +0 -66
  1706. package/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1707. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1708. package/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1709. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1710. package/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1711. package/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1712. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1039
  1713. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1714. package/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +0 -891
  1715. package/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +0 -102
  1716. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1717. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1718. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1719. package/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1720. package/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1721. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -718
  1722. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -338
  1723. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1724. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -983
  1725. package/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +0 -289
  1726. package/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -794
  1727. package/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -219
  1728. package/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +0 -292
  1729. package/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +0 -493
  1730. package/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -569
  1731. package/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1732. package/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +0 -283
  1733. package/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +0 -18
  1734. package/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -220
  1735. package/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -233
  1736. package/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -209
  1737. package/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1738. package/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1739. package/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1740. package/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1741. package/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1742. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1070
  1743. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1744. package/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -926
  1745. package/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1746. package/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -543
  1747. package/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +0 -49
  1748. package/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  1749. package/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +0 -57
  1750. package/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +0 -36
  1751. package/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +0 -82
  1752. package/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  1753. package/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  1754. package/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  1755. package/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +0 -49
  1756. package/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +0 -234
  1757. package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +0 -121
  1758. package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +0 -512
  1759. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +0 -1299
  1760. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +0 -579
  1761. package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +0 -168
  1762. package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +0 -72
  1763. package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +0 -24
  1764. package/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -142
  1765. package/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1766. package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +0 -128
  1767. package/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -235
  1768. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -342
  1769. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -798
  1770. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1264
  1771. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1357
  1772. package/flare/artifacts/contracts/token/interface/IICombinedNatBalance.sol/IICombinedNatBalance.json +0 -86
  1773. package/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1774. package/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1775. package/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1776. package/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1777. package/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1778. package/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1779. package/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1780. package/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1781. package/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1782. package/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1783. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +0 -741
  1784. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +0 -1038
  1785. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +0 -769
  1786. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1787. package/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +0 -720
  1788. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +0 -927
  1789. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +0 -463
  1790. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +0 -741
  1791. package/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -962
  1792. package/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +0 -413
  1793. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +0 -49
  1794. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +0 -24
  1795. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +0 -57
  1796. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +0 -36
  1797. package/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +0 -34
  1798. package/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1799. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +0 -10
  1800. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +0 -10
  1801. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +0 -30
  1802. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +0 -49
  1803. package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +0 -121
  1804. package/flare/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +0 -665
  1805. package/flare/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +0 -144
  1806. package/flare/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +0 -258
  1807. package/flare/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +0 -241
  1808. package/flare/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +0 -105
  1809. package/flare/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +0 -475
  1810. package/flare/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +0 -376
  1811. package/flare/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +0 -445
  1812. package/flare/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +0 -702
  1813. package/flare/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +0 -248
  1814. package/flare/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +0 -69
  1815. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +0 -117
  1816. package/flare/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +0 -484
  1817. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +0 -575
  1818. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +0 -311
  1819. package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +0 -10
  1820. package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +0 -309
  1821. package/flare/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +0 -639
  1822. package/flare/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +0 -221
  1823. package/flare/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +0 -73
  1824. package/flare/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +0 -700
  1825. package/flare/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +0 -136
  1826. package/flare/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +0 -199
  1827. package/flare/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +0 -62
  1828. package/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1829. package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +0 -10
  1830. package/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1831. package/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1832. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1833. package/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1834. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -384
  1835. package/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +0 -71
  1836. package/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -238
  1837. package/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1838. package/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1839. package/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1840. package/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +0 -149
  1841. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1842. package/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +0 -477
  1843. package/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +0 -60
  1844. package/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +0 -308
  1845. package/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +0 -18
  1846. package/flare/deploys/contracts.json +0 -272
  1847. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +0 -42
  1848. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +0 -381
  1849. package/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +0 -525
  1850. package/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +0 -113
  1851. package/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +0 -10
  1852. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +0 -1151
  1853. package/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +0 -10
  1854. package/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +0 -346
  1855. package/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +0 -795
  1856. package/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +0 -316
  1857. package/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +0 -1104
  1858. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +0 -1723
  1859. package/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +0 -10
  1860. package/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +0 -43
  1861. package/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +0 -10
  1862. package/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +0 -10
  1863. package/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +0 -10
  1864. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +0 -624
  1865. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +0 -241
  1866. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +0 -236
  1867. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +0 -1048
  1868. package/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +0 -676
  1869. package/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +0 -224
  1870. package/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +0 -407
  1871. package/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +0 -324
  1872. package/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +0 -126
  1873. package/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +0 -139
  1874. package/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +0 -115
  1875. package/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +0 -209
  1876. package/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +0 -220
  1877. package/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +0 -653
  1878. package/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +0 -24
  1879. package/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +0 -265
  1880. package/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +0 -24
  1881. package/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +0 -10
  1882. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +0 -1065
  1883. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +0 -1187
  1884. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +0 -854
  1885. package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +0 -463
  1886. package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +0 -73
  1887. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +0 -642
  1888. package/songbird/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +0 -68
  1889. package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +0 -10
  1890. package/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +0 -129
  1891. package/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +0 -389
  1892. package/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +0 -222
  1893. package/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +0 -324
  1894. package/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +0 -774
  1895. package/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +0 -1102
  1896. package/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +0 -1195
  1897. package/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +0 -10
  1898. package/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +0 -10
  1899. package/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +0 -10
  1900. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +0 -10
  1901. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +0 -10
  1902. package/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +0 -24
  1903. package/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +0 -10
  1904. package/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +0 -24
  1905. package/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +0 -10
  1906. package/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +0 -10
  1907. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +0 -1412
  1908. package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +0 -127
  1909. package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +0 -10
  1910. package/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +0 -10
  1911. package/songbird/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +0 -665
  1912. package/songbird/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +0 -144
  1913. package/songbird/artifacts/contracts/userInterfaces/IFastUpdateIncentiveManager.sol/IFastUpdateIncentiveManager.json +0 -239
  1914. package/songbird/artifacts/contracts/userInterfaces/IFastUpdater.sol/IFastUpdater.json +0 -363
  1915. package/songbird/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +0 -241
  1916. package/songbird/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +0 -105
  1917. package/songbird/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +0 -512
  1918. package/songbird/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +0 -376
  1919. package/songbird/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +0 -445
  1920. package/songbird/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +0 -702
  1921. package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +0 -248
  1922. package/songbird/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +0 -69
  1923. package/songbird/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +0 -117
  1924. package/songbird/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +0 -484
  1925. package/songbird/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +0 -639
  1926. package/songbird/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +0 -200
  1927. package/songbird/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +0 -73
  1928. package/songbird/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +0 -658
  1929. package/songbird/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +0 -199
  1930. package/songbird/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +0 -62
  1931. package/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +0 -10
  1932. package/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +0 -154
  1933. package/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +0 -147
  1934. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +0 -769
  1935. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +0 -272
  1936. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +0 -440
  1937. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +0 -144
  1938. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +0 -238
  1939. package/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +0 -256
  1940. package/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +0 -131
  1941. package/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +0 -10
  1942. package/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +0 -653
  1943. package/songbird/artifacts/contracts/utils/interface/IRelay.sol/IRelay.json +0 -263
  1944. package/songbird/deploys/contracts.json +0 -202
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAIkB;AAClB,uCAImB;AACnB,mCAIiB;AACjB,yCAIoB;AAEb,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAe,EAAU,EAAE;IACrE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO;QAAE,OAAO,IAAA,qBAAgB,EAAC,IAAI,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,UAAU;QAAE,OAAO,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ;QAAE,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS;QAAE,OAAO,IAAA,uBAAiB,EAAC,IAAI,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAEK,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,OAAe,EAAU,EAAE;IACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO;QAAE,OAAO,IAAA,qBAAgB,EAAC,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,UAAU;QAAE,OAAO,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ;QAAE,OAAO,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS;QAAE,OAAO,IAAA,uBAAiB,EAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAEK,MAAM,SAAS,GAAG,CACvB,IAAY,EACZ,OAAe,EACgB,EAAE;IACjC,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO;QAAE,OAAO,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,UAAU;QAAE,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ;QAAE,OAAO,IAAA,kBAAY,EAAC,IAAI,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS;QAAE,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;AACzD,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF,mDAAmC;AACnC,qDAAqC;AACrC,iDAAiC;AACjC,uDAAuC"}
1
+ {"version":3,"file":"index.js","sources":["../../coston/abis.ts","../../coston/mapper.ts","../../coston2/abis.ts","../../coston2/mapper.ts","../../flare/abis.ts","../../flare/mapper.ts","../../songbird/abis.ts","../../songbird/mapper.ts","../node_modules/ethers/lib.esm/_version.js","../node_modules/ethers/lib.esm/utils/properties.js","../node_modules/ethers/lib.esm/utils/errors.js","../node_modules/ethers/lib.esm/utils/data.js","../node_modules/ethers/lib.esm/utils/maths.js","../node_modules/ethers/lib.esm/utils/events.js","../node_modules/ethers/lib.esm/utils/utf8.js","../node_modules/ethers/lib.esm/abi/coders/abstract-coder.js","../node_modules/@noble/hashes/esm/_assert.js","../node_modules/@noble/hashes/esm/_u64.js","../node_modules/@noble/hashes/esm/utils.js","../node_modules/@noble/hashes/esm/sha3.js","../node_modules/ethers/lib.esm/crypto/keccak.js","../node_modules/ethers/lib.esm/address/address.js","../node_modules/ethers/lib.esm/address/checks.js","../node_modules/ethers/lib.esm/abi/typed.js","../node_modules/ethers/lib.esm/abi/coders/address.js","../node_modules/ethers/lib.esm/abi/coders/anonymous.js","../node_modules/ethers/lib.esm/abi/coders/array.js","../node_modules/ethers/lib.esm/abi/coders/boolean.js","../node_modules/ethers/lib.esm/abi/coders/bytes.js","../node_modules/ethers/lib.esm/abi/coders/fixed-bytes.js","../node_modules/ethers/lib.esm/abi/coders/null.js","../node_modules/ethers/lib.esm/abi/coders/number.js","../node_modules/ethers/lib.esm/abi/coders/string.js","../node_modules/ethers/lib.esm/abi/coders/tuple.js","../node_modules/ethers/lib.esm/hash/id.js","../node_modules/ethers/lib.esm/transaction/accesslist.js","../node_modules/ethers/lib.esm/abi/fragments.js","../node_modules/ethers/lib.esm/abi/abi-coder.js","../node_modules/ethers/lib.esm/abi/interface.js","../node_modules/ethers/lib.esm/providers/provider.js","../node_modules/ethers/lib.esm/contract/wrappers.js","../node_modules/ethers/lib.esm/contract/contract.js","../../index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,"/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n/**\n * The current version of Ethers.\n */\nexport const version = \"6.13.5\";\n//# sourceMappingURL=_version.js.map","/**\n * Property helper functions.\n *\n * @_subsection api/utils:Properties [about-properties]\n */\nfunction checkType(value, type, name) {\n const types = type.split(\"|\").map(t => t.trim());\n for (let i = 0; i < types.length; i++) {\n switch (type) {\n case \"any\":\n return;\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n if (typeof (value) === type) {\n return;\n }\n }\n }\n const error = new Error(`invalid value for type ${type}`);\n error.code = \"INVALID_ARGUMENT\";\n error.argument = `value.${name}`;\n error.value = value;\n throw error;\n}\n/**\n * Resolves to a new object that is a copy of %%value%%, but with all\n * values resolved.\n */\nexport async function resolveProperties(value) {\n const keys = Object.keys(value);\n const results = await Promise.all(keys.map((k) => Promise.resolve(value[k])));\n return results.reduce((accum, v, index) => {\n accum[keys[index]] = v;\n return accum;\n }, {});\n}\n/**\n * Assigns the %%values%% to %%target%% as read-only values.\n *\n * It %%types%% is specified, the values are checked.\n */\nexport function defineProperties(target, values, types) {\n for (let key in values) {\n let value = values[key];\n const type = (types ? types[key] : null);\n if (type) {\n checkType(value, type, key);\n }\n Object.defineProperty(target, key, { enumerable: true, value, writable: false });\n }\n}\n//# sourceMappingURL=properties.js.map","/**\n * All errors in ethers include properties to ensure they are both\n * human-readable (i.e. ``.message``) and machine-readable (i.e. ``.code``).\n *\n * The [[isError]] function can be used to check the error ``code`` and\n * provide a type guard for the properties present on that error interface.\n *\n * @_section: api/utils/errors:Errors [about-errors]\n */\nimport { version } from \"../_version.js\";\nimport { defineProperties } from \"./properties.js\";\nfunction stringify(value) {\n if (value == null) {\n return \"null\";\n }\n if (Array.isArray(value)) {\n return \"[ \" + (value.map(stringify)).join(\", \") + \" ]\";\n }\n if (value instanceof Uint8Array) {\n const HEX = \"0123456789abcdef\";\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n result += HEX[value[i] >> 4];\n result += HEX[value[i] & 0xf];\n }\n return result;\n }\n if (typeof (value) === \"object\" && typeof (value.toJSON) === \"function\") {\n return stringify(value.toJSON());\n }\n switch (typeof (value)) {\n case \"boolean\":\n case \"symbol\":\n return value.toString();\n case \"bigint\":\n return BigInt(value).toString();\n case \"number\":\n return (value).toString();\n case \"string\":\n return JSON.stringify(value);\n case \"object\": {\n const keys = Object.keys(value);\n keys.sort();\n return \"{ \" + keys.map((k) => `${stringify(k)}: ${stringify(value[k])}`).join(\", \") + \" }\";\n }\n }\n return `[ COULD NOT SERIALIZE ]`;\n}\n/**\n * Returns true if the %%error%% matches an error thrown by ethers\n * that matches the error %%code%%.\n *\n * In TypeScript environments, this can be used to check that %%error%%\n * matches an EthersError type, which means the expected properties will\n * be set.\n *\n * @See [ErrorCodes](api:ErrorCode)\n * @example\n * try {\n * // code....\n * } catch (e) {\n * if (isError(e, \"CALL_EXCEPTION\")) {\n * // The Type Guard has validated this object\n * console.log(e.data);\n * }\n * }\n */\nexport function isError(error, code) {\n return (error && error.code === code);\n}\n/**\n * Returns true if %%error%% is a [[CallExceptionError].\n */\nexport function isCallException(error) {\n return isError(error, \"CALL_EXCEPTION\");\n}\n/**\n * Returns a new Error configured to the format ethers emits errors, with\n * the %%message%%, [[api:ErrorCode]] %%code%% and additional properties\n * for the corresponding EthersError.\n *\n * Each error in ethers includes the version of ethers, a\n * machine-readable [[ErrorCode]], and depending on %%code%%, additional\n * required properties. The error message will also include the %%message%%,\n * ethers version, %%code%% and all additional properties, serialized.\n */\nexport function makeError(message, code, info) {\n let shortMessage = message;\n {\n const details = [];\n if (info) {\n if (\"message\" in info || \"code\" in info || \"name\" in info) {\n throw new Error(`value will overwrite populated values: ${stringify(info)}`);\n }\n for (const key in info) {\n if (key === \"shortMessage\") {\n continue;\n }\n const value = (info[key]);\n // try {\n details.push(key + \"=\" + stringify(value));\n // } catch (error: any) {\n // console.log(\"MMM\", error.message);\n // details.push(key + \"=[could not serialize object]\");\n // }\n }\n }\n details.push(`code=${code}`);\n details.push(`version=${version}`);\n if (details.length) {\n message += \" (\" + details.join(\", \") + \")\";\n }\n }\n let error;\n switch (code) {\n case \"INVALID_ARGUMENT\":\n error = new TypeError(message);\n break;\n case \"NUMERIC_FAULT\":\n case \"BUFFER_OVERRUN\":\n error = new RangeError(message);\n break;\n default:\n error = new Error(message);\n }\n defineProperties(error, { code });\n if (info) {\n Object.assign(error, info);\n }\n if (error.shortMessage == null) {\n defineProperties(error, { shortMessage });\n }\n return error;\n}\n/**\n * Throws an EthersError with %%message%%, %%code%% and additional error\n * %%info%% when %%check%% is falsish..\n *\n * @see [[api:makeError]]\n */\nexport function assert(check, message, code, info) {\n if (!check) {\n throw makeError(message, code, info);\n }\n}\n/**\n * A simple helper to simply ensuring provided arguments match expected\n * constraints, throwing if not.\n *\n * In TypeScript environments, the %%check%% has been asserted true, so\n * any further code does not need additional compile-time checks.\n */\nexport function assertArgument(check, message, name, value) {\n assert(check, message, \"INVALID_ARGUMENT\", { argument: name, value: value });\n}\nexport function assertArgumentCount(count, expectedCount, message) {\n if (message == null) {\n message = \"\";\n }\n if (message) {\n message = \": \" + message;\n }\n assert(count >= expectedCount, \"missing argument\" + message, \"MISSING_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n assert(count <= expectedCount, \"too many arguments\" + message, \"UNEXPECTED_ARGUMENT\", {\n count: count,\n expectedCount: expectedCount\n });\n}\nconst _normalizeForms = [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].reduce((accum, form) => {\n try {\n // General test for normalize\n /* c8 ignore start */\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad\");\n }\n ;\n /* c8 ignore stop */\n if (form === \"NFD\") {\n const check = String.fromCharCode(0xe9).normalize(\"NFD\");\n const expected = String.fromCharCode(0x65, 0x0301);\n /* c8 ignore start */\n if (check !== expected) {\n throw new Error(\"broken\");\n }\n /* c8 ignore stop */\n }\n accum.push(form);\n }\n catch (error) { }\n return accum;\n}, []);\n/**\n * Throws if the normalization %%form%% is not supported.\n */\nexport function assertNormalize(form) {\n assert(_normalizeForms.indexOf(form) >= 0, \"platform missing String.prototype.normalize\", \"UNSUPPORTED_OPERATION\", {\n operation: \"String.prototype.normalize\", info: { form }\n });\n}\n/**\n * Many classes use file-scoped values to guard the constructor,\n * making it effectively private. This facilitates that pattern\n * by ensuring the %%givenGaurd%% matches the file-scoped %%guard%%,\n * throwing if not, indicating the %%className%% if provided.\n */\nexport function assertPrivate(givenGuard, guard, className) {\n if (className == null) {\n className = \"\";\n }\n if (givenGuard !== guard) {\n let method = className, operation = \"new\";\n if (className) {\n method += \".\";\n operation += \" \" + className;\n }\n assert(false, `private constructor; use ${method}from* methods`, \"UNSUPPORTED_OPERATION\", {\n operation\n });\n }\n}\n//# sourceMappingURL=errors.js.map","/**\n * Some data helpers.\n *\n *\n * @_subsection api/utils:Data Helpers [about-data]\n */\nimport { assert, assertArgument } from \"./errors.js\";\nfunction _getBytes(value, name, copy) {\n if (value instanceof Uint8Array) {\n if (copy) {\n return new Uint8Array(value);\n }\n return value;\n }\n if (typeof (value) === \"string\" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {\n const result = new Uint8Array((value.length - 2) / 2);\n let offset = 2;\n for (let i = 0; i < result.length; i++) {\n result[i] = parseInt(value.substring(offset, offset + 2), 16);\n offset += 2;\n }\n return result;\n }\n assertArgument(false, \"invalid BytesLike value\", name || \"value\", value);\n}\n/**\n * Get a typed Uint8Array for %%value%%. If already a Uint8Array\n * the original %%value%% is returned; if a copy is required use\n * [[getBytesCopy]].\n *\n * @see: getBytesCopy\n */\nexport function getBytes(value, name) {\n return _getBytes(value, name, false);\n}\n/**\n * Get a typed Uint8Array for %%value%%, creating a copy if necessary\n * to prevent any modifications of the returned value from being\n * reflected elsewhere.\n *\n * @see: getBytes\n */\nexport function getBytesCopy(value, name) {\n return _getBytes(value, name, true);\n}\n/**\n * Returns true if %%value%% is a valid [[HexString]].\n *\n * If %%length%% is ``true`` or a //number//, it also checks that\n * %%value%% is a valid [[DataHexString]] of %%length%% (if a //number//)\n * bytes of data (e.g. ``0x1234`` is 2 bytes).\n */\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (typeof (length) === \"number\" && value.length !== 2 + 2 * length) {\n return false;\n }\n if (length === true && (value.length % 2) !== 0) {\n return false;\n }\n return true;\n}\n/**\n * Returns true if %%value%% is a valid representation of arbitrary\n * data (i.e. a valid [[DataHexString]] or a Uint8Array).\n */\nexport function isBytesLike(value) {\n return (isHexString(value, true) || (value instanceof Uint8Array));\n}\nconst HexCharacters = \"0123456789abcdef\";\n/**\n * Returns a [[DataHexString]] representation of %%data%%.\n */\nexport function hexlify(data) {\n const bytes = getBytes(data);\n let result = \"0x\";\n for (let i = 0; i < bytes.length; i++) {\n const v = bytes[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n}\n/**\n * Returns a [[DataHexString]] by concatenating all values\n * within %%data%%.\n */\nexport function concat(datas) {\n return \"0x\" + datas.map((d) => hexlify(d).substring(2)).join(\"\");\n}\n/**\n * Returns the length of %%data%%, in bytes.\n */\nexport function dataLength(data) {\n if (isHexString(data, true)) {\n return (data.length - 2) / 2;\n }\n return getBytes(data).length;\n}\n/**\n * Returns a [[DataHexString]] by slicing %%data%% from the %%start%%\n * offset to the %%end%% offset.\n *\n * By default %%start%% is 0 and %%end%% is the length of %%data%%.\n */\nexport function dataSlice(data, start, end) {\n const bytes = getBytes(data);\n if (end != null && end > bytes.length) {\n assert(false, \"cannot slice beyond data bounds\", \"BUFFER_OVERRUN\", {\n buffer: bytes, length: bytes.length, offset: end\n });\n }\n return hexlify(bytes.slice((start == null) ? 0 : start, (end == null) ? bytes.length : end));\n}\n/**\n * Return the [[DataHexString]] result by stripping all **leading**\n ** zero bytes from %%data%%.\n */\nexport function stripZerosLeft(data) {\n let bytes = hexlify(data).substring(2);\n while (bytes.startsWith(\"00\")) {\n bytes = bytes.substring(2);\n }\n return \"0x\" + bytes;\n}\nfunction zeroPad(data, length, left) {\n const bytes = getBytes(data);\n assert(length >= bytes.length, \"padding exceeds data length\", \"BUFFER_OVERRUN\", {\n buffer: new Uint8Array(bytes),\n length: length,\n offset: length + 1\n });\n const result = new Uint8Array(length);\n result.fill(0);\n if (left) {\n result.set(bytes, length - bytes.length);\n }\n else {\n result.set(bytes, 0);\n }\n return hexlify(result);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **left**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **values** are in Solidity\n * (e.g. ``uint128``).\n */\nexport function zeroPadValue(data, length) {\n return zeroPad(data, length, true);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **right**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **bytes** are in Solidity\n * (e.g. ``bytes16``).\n */\nexport function zeroPadBytes(data, length) {\n return zeroPad(data, length, false);\n}\n//# sourceMappingURL=data.js.map","/**\n * Some mathematic operations.\n *\n * @_subsection: api/utils:Math Helpers [about-maths]\n */\nimport { hexlify, isBytesLike } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\n//const BN_Max256 = (BN_1 << BigInt(256)) - BN_1;\n// IEEE 754 support 53-bits of mantissa\nconst maxValue = 0x1fffffffffffff;\n/**\n * Convert %%value%% from a twos-compliment representation of %%width%%\n * bits to its value.\n *\n * If the highest bit is ``1``, the result will be negative.\n */\nexport function fromTwos(_value, _width) {\n const value = getUint(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n assert((value >> width) === BN_0, \"overflow\", \"NUMERIC_FAULT\", {\n operation: \"fromTwos\", fault: \"overflow\", value: _value\n });\n // Top bit set; treat as a negative value\n if (value >> (width - BN_1)) {\n const mask = (BN_1 << width) - BN_1;\n return -(((~value) & mask) + BN_1);\n }\n return value;\n}\n/**\n * Convert %%value%% to a twos-compliment representation of\n * %%width%% bits.\n *\n * The result will always be positive.\n */\nexport function toTwos(_value, _width) {\n let value = getBigInt(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n const limit = (BN_1 << (width - BN_1));\n if (value < BN_0) {\n value = -value;\n assert(value <= limit, \"too low\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n const mask = (BN_1 << width) - BN_1;\n return ((~value) & mask) + BN_1;\n }\n else {\n assert(value < limit, \"too high\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n }\n return value;\n}\n/**\n * Mask %%value%% with a bitmask of %%bits%% ones.\n */\nexport function mask(_value, _bits) {\n const value = getUint(_value, \"value\");\n const bits = BigInt(getNumber(_bits, \"bits\"));\n return value & ((BN_1 << bits) - BN_1);\n}\n/**\n * Gets a BigInt from %%value%%. If it is an invalid value for\n * a BigInt, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getBigInt(value, name) {\n switch (typeof (value)) {\n case \"bigint\": return value;\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return BigInt(value);\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n if (value[0] === \"-\" && value[1] !== \"-\") {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n catch (e) {\n assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid BigNumberish value\", name || \"value\", value);\n}\n/**\n * Returns %%value%% as a bigint, validating it is valid as a bigint\n * value and that it is positive.\n */\nexport function getUint(value, name) {\n const result = getBigInt(value, name);\n assert(result >= BN_0, \"unsigned value cannot be negative\", \"NUMERIC_FAULT\", {\n fault: \"overflow\", operation: \"getUint\", value\n });\n return result;\n}\nconst Nibbles = \"0123456789abcdef\";\n/*\n * Converts %%value%% to a BigInt. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data.\n */\nexport function toBigInt(value) {\n if (value instanceof Uint8Array) {\n let result = \"0x0\";\n for (const v of value) {\n result += Nibbles[v >> 4];\n result += Nibbles[v & 0x0f];\n }\n return BigInt(result);\n }\n return getBigInt(value);\n}\n/**\n * Gets a //number// from %%value%%. If it is an invalid value for\n * a //number//, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getNumber(value, name) {\n switch (typeof (value)) {\n case \"bigint\":\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return Number(value);\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return value;\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n return getNumber(BigInt(value), name);\n }\n catch (e) {\n assertArgument(false, `invalid numeric string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid numeric value\", name || \"value\", value);\n}\n/**\n * Converts %%value%% to a number. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data. Throws if the value is not safe.\n */\nexport function toNumber(value) {\n return getNumber(toBigInt(value));\n}\n/**\n * Converts %%value%% to a Big Endian hexstring, optionally padded to\n * %%width%% bytes.\n */\nexport function toBeHex(_value, _width) {\n const value = getUint(_value, \"value\");\n let result = value.toString(16);\n if (_width == null) {\n // Ensure the value is of even length\n if (result.length % 2) {\n result = \"0\" + result;\n }\n }\n else {\n const width = getNumber(_width, \"width\");\n assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, \"NUMERIC_FAULT\", {\n operation: \"toBeHex\",\n fault: \"overflow\",\n value: _value\n });\n // Pad the value to the required width\n while (result.length < (width * 2)) {\n result = \"0\" + result;\n }\n }\n return \"0x\" + result;\n}\n/**\n * Converts %%value%% to a Big Endian Uint8Array.\n */\nexport function toBeArray(_value) {\n const value = getUint(_value, \"value\");\n if (value === BN_0) {\n return new Uint8Array([]);\n }\n let hex = value.toString(16);\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n const result = new Uint8Array(hex.length / 2);\n for (let i = 0; i < result.length; i++) {\n const offset = i * 2;\n result[i] = parseInt(hex.substring(offset, offset + 2), 16);\n }\n return result;\n}\n/**\n * Returns a [[HexString]] for %%value%% safe to use as a //Quantity//.\n *\n * A //Quantity// does not have and leading 0 values unless the value is\n * the literal value `0x0`. This is most commonly used for JSSON-RPC\n * numeric values.\n */\nexport function toQuantity(value) {\n let result = hexlify(isBytesLike(value) ? value : toBeArray(value)).substring(2);\n while (result.startsWith(\"0\")) {\n result = result.substring(1);\n }\n if (result === \"\") {\n result = \"0\";\n }\n return \"0x\" + result;\n}\n//# sourceMappingURL=maths.js.map","/**\n * Events allow for applications to use the observer pattern, which\n * allows subscribing and publishing events, outside the normal\n * execution paths.\n *\n * @_section api/utils/events:Events [about-events]\n */\nimport { defineProperties } from \"./properties.js\";\n/**\n * When an [[EventEmitterable]] triggers a [[Listener]], the\n * callback always ahas one additional argument passed, which is\n * an **EventPayload**.\n */\nexport class EventPayload {\n /**\n * The event filter.\n */\n filter;\n /**\n * The **EventEmitterable**.\n */\n emitter;\n #listener;\n /**\n * Create a new **EventPayload** for %%emitter%% with\n * the %%listener%% and for %%filter%%.\n */\n constructor(emitter, listener, filter) {\n this.#listener = listener;\n defineProperties(this, { emitter, filter });\n }\n /**\n * Unregister the triggered listener for future events.\n */\n async removeListener() {\n if (this.#listener == null) {\n return;\n }\n await this.emitter.off(this.filter, this.#listener);\n }\n}\n//# sourceMappingURL=events.js.map","/**\n * Using strings in Ethereum (or any security-basd system) requires\n * additional care. These utilities attempt to mitigate some of the\n * safety issues as well as provide the ability to recover and analyse\n * strings.\n *\n * @_subsection api/utils:Strings and UTF-8 [about-strings]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument, assertNormalize } from \"./errors.js\";\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n assertArgument(false, `invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === \"BAD_PREFIX\" || reason === \"UNEXPECTED_CONTINUE\") {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === \"OVERRUN\") {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === \"OVERLONG\") {\n assertArgument(typeof (badCodepoint) === \"number\", \"invalid bad code point for replacement\", \"badCodepoint\", badCodepoint);\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n/**\n * A handful of popular, built-in UTF-8 error handling strategies.\n *\n * **``\"error\"``** - throws on ANY illegal UTF-8 sequence or\n * non-canonical (overlong) codepoints (this is the default)\n *\n * **``\"ignore\"``** - silently drops any illegal UTF-8 sequence\n * and accepts non-canonical (overlong) codepoints\n *\n * **``\"replace\"``** - replace any illegal UTF-8 sequence with the\n * UTF-8 replacement character (i.e. ``\"\\\\ufffd\"``) and accepts\n * non-canonical (overlong) codepoints\n *\n * @returns: Record<\"error\" | \"ignore\" | \"replace\", Utf8ErrorFunc>\n */\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(_bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n const bytes = getBytes(_bytes, \"bytes\");\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(\"UNEXPECTED_CONTINUE\", i - 1, bytes, result);\n }\n else {\n i += onError(\"BAD_PREFIX\", i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(\"OVERRUN\", i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(\"MISSING_CONTINUE\", i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(\"OUT_OF_RANGE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(\"UTF16_SURROGATE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(\"OVERLONG\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\n/**\n * Returns the UTF-8 byte representation of %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8Bytes(str, form) {\n assertArgument(typeof (str) === \"string\", \"invalid string value\", \"str\", str);\n if (form != null) {\n assertNormalize(form);\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n assertArgument(i < str.length && ((c2 & 0xfc00) === 0xdc00), \"invalid surrogate pair\", \"str\", str);\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return new Uint8Array(result);\n}\n;\n//export \nfunction _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\n/**\n * Returns the string represented by the UTF-8 data %%bytes%%.\n *\n * When %%onError%% function is specified, it is called on UTF-8\n * errors allowing recovery using the [[Utf8ErrorFunc]] API.\n * (default: [error](Utf8ErrorFuncs))\n */\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n/**\n * Returns the UTF-8 code-points for %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8CodePoints(str, form) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument\n/*, isError*/\n } from \"../../utils/index.js\";\n/**\n * @_ignore:\n */\nexport const WordSize = 32;\nconst Padding = new Uint8Array(WordSize);\n// Properties used to immediate pass through to the underlying object\n// - `then` is used to detect if an object is a Promise for await\nconst passProperties = [\"then\"];\nconst _guard = {};\nconst resultNames = new WeakMap();\nfunction getNames(result) {\n return resultNames.get(result);\n}\nfunction setNames(result, names) {\n resultNames.set(result, names);\n}\nfunction throwError(name, error) {\n const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);\n wrapped.error = error;\n throw wrapped;\n}\nfunction toObject(names, items, deep) {\n if (names.indexOf(null) >= 0) {\n return items.map((item, index) => {\n if (item instanceof Result) {\n return toObject(getNames(item), item, deep);\n }\n return item;\n });\n }\n return names.reduce((accum, name, index) => {\n let item = items.getValue(name);\n if (!(name in accum)) {\n if (deep && item instanceof Result) {\n item = toObject(getNames(item), item, deep);\n }\n accum[name] = item;\n }\n return accum;\n }, {});\n}\n/**\n * A [[Result]] is a sub-class of Array, which allows accessing any\n * of its values either positionally by its index or, if keys are\n * provided by its name.\n *\n * @_docloc: api/abi\n */\nexport class Result extends Array {\n // No longer used; but cannot be removed as it will remove the\n // #private field from the .d.ts which may break backwards\n // compatibility\n #names;\n /**\n * @private\n */\n constructor(...args) {\n // To properly sub-class Array so the other built-in\n // functions work, the constructor has to behave fairly\n // well. So, in the event we are created via fromItems()\n // we build the read-only Result object we want, but on\n // any other input, we use the default constructor\n // constructor(guard: any, items: Array<any>, keys?: Array<null | string>);\n const guard = args[0];\n let items = args[1];\n let names = (args[2] || []).slice();\n let wrap = true;\n if (guard !== _guard) {\n items = args;\n names = [];\n wrap = false;\n }\n // Can't just pass in ...items since an array of length 1\n // is a special case in the super.\n super(items.length);\n items.forEach((item, index) => { this[index] = item; });\n // Find all unique keys\n const nameCounts = names.reduce((accum, name) => {\n if (typeof (name) === \"string\") {\n accum.set(name, (accum.get(name) || 0) + 1);\n }\n return accum;\n }, (new Map()));\n // Remove any key thats not unique\n setNames(this, Object.freeze(items.map((item, index) => {\n const name = names[index];\n if (name != null && nameCounts.get(name) === 1) {\n return name;\n }\n return null;\n })));\n // Dummy operations to prevent TypeScript from complaining\n this.#names = [];\n if (this.#names == null) {\n void (this.#names);\n }\n if (!wrap) {\n return;\n }\n // A wrapped Result is immutable\n Object.freeze(this);\n // Proxy indices and names so we can trap deferred errors\n const proxy = new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"string\") {\n // Index accessor\n if (prop.match(/^[0-9]+$/)) {\n const index = getNumber(prop, \"%index\");\n if (index < 0 || index >= this.length) {\n throw new RangeError(\"out of result range\");\n }\n const item = target[index];\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n return item;\n }\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n const value = target[prop];\n if (value instanceof Function) {\n // Make sure functions work with private variables\n // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding\n return function (...args) {\n return value.apply((this === receiver) ? target : this, args);\n };\n }\n else if (!(prop in target)) {\n // Possible name accessor\n return target.getValue.apply((this === receiver) ? target : this, [prop]);\n }\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n setNames(proxy, getNames(this));\n return proxy;\n }\n /**\n * Returns the Result as a normal Array. If %%deep%%, any children\n * which are Result objects are also converted to a normal Array.\n *\n * This will throw if there are any outstanding deferred\n * errors.\n */\n toArray(deep) {\n const result = [];\n this.forEach((item, index) => {\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n if (deep && item instanceof Result) {\n item = item.toArray(deep);\n }\n result.push(item);\n });\n return result;\n }\n /**\n * Returns the Result as an Object with each name-value pair. If\n * %%deep%%, any children which are Result objects are also\n * converted to an Object.\n *\n * This will throw if any value is unnamed, or if there are\n * any outstanding deferred errors.\n */\n toObject(deep) {\n const names = getNames(this);\n return names.reduce((accum, name, index) => {\n assert(name != null, `value at index ${index} unnamed`, \"UNSUPPORTED_OPERATION\", {\n operation: \"toObject()\"\n });\n return toObject(names, this, deep);\n }, {});\n }\n /**\n * @_ignore\n */\n slice(start, end) {\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start += this.length;\n if (start < 0) {\n start = 0;\n }\n }\n if (end == null) {\n end = this.length;\n }\n if (end < 0) {\n end += this.length;\n if (end < 0) {\n end = 0;\n }\n }\n if (end > this.length) {\n end = this.length;\n }\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = start; i < end; i++) {\n result.push(this[i]);\n names.push(_names[i]);\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n filter(callback, thisArg) {\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n if (callback.call(thisArg, item, i, this)) {\n result.push(item);\n names.push(_names[i]);\n }\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n map(callback, thisArg) {\n const result = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n result.push(callback.call(thisArg, item, i, this));\n }\n return result;\n }\n /**\n * Returns the value for %%name%%.\n *\n * Since it is possible to have a key whose name conflicts with\n * a method on a [[Result]] or its superclass Array, or any\n * JavaScript keyword, this ensures all named values are still\n * accessible by name.\n */\n getValue(name) {\n const index = getNames(this).indexOf(name);\n if (index === -1) {\n return undefined;\n }\n const value = this[index];\n if (value instanceof Error) {\n throwError(`property ${JSON.stringify(name)}`, value.error);\n }\n return value;\n }\n /**\n * Creates a new [[Result]] for %%items%% with each entry\n * also accessible by its corresponding name in %%keys%%.\n */\n static fromItems(items, keys) {\n return new Result(_guard, items, keys);\n }\n}\n/**\n * Returns all errors found in a [[Result]].\n *\n * Since certain errors encountered when creating a [[Result]] do\n * not impact the ability to continue parsing data, they are\n * deferred until they are actually accessed. Hence a faulty string\n * in an Event that is never used does not impact the program flow.\n *\n * However, sometimes it may be useful to access, identify or\n * validate correctness of a [[Result]].\n *\n * @_docloc api/abi\n */\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nfunction getValue(value) {\n let bytes = toBeArray(value);\n assert(bytes.length <= WordSize, \"value out-of-bounds\", \"BUFFER_OVERRUN\", { buffer: bytes, length: WordSize, offset: bytes.length });\n if (bytes.length !== WordSize) {\n bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));\n }\n return bytes;\n}\n/**\n * @_ignore\n */\nexport class Coder {\n // The coder name:\n // - address, uint256, tuple, array, etc.\n name;\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n type;\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n localName;\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n dynamic;\n constructor(name, type, localName, dynamic) {\n defineProperties(this, { name, type, localName, dynamic }, {\n name: \"string\", type: \"string\", localName: \"string\", dynamic: \"boolean\"\n });\n }\n _throwError(message, value) {\n assertArgument(false, message, this.localName, value);\n }\n}\n/**\n * @_ignore\n */\nexport class Writer {\n // An array of WordSize lengthed objects to concatenation\n #data;\n #dataLength;\n constructor() {\n this.#data = [];\n this.#dataLength = 0;\n }\n get data() {\n return concat(this.#data);\n }\n get length() { return this.#dataLength; }\n #writeData(data) {\n this.#data.push(data);\n this.#dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this.#writeData(getBytesCopy(writer.data));\n }\n // Arrayish item; pad on the right to *nearest* WordSize\n writeBytes(value) {\n let bytes = getBytesCopy(value);\n const paddingOffset = bytes.length % WordSize;\n if (paddingOffset) {\n bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));\n }\n return this.#writeData(bytes);\n }\n // Numeric item; pad on the left *to* WordSize\n writeValue(value) {\n return this.#writeData(getValue(value));\n }\n // Inserts a numeric place-holder, returning a callback that can\n // be used to asjust the value later\n writeUpdatableValue() {\n const offset = this.#data.length;\n this.#data.push(Padding);\n this.#dataLength += WordSize;\n return (value) => {\n this.#data[offset] = getValue(value);\n };\n }\n}\n/**\n * @_ignore\n */\nexport class Reader {\n // Allows incomplete unpadded data to be read; otherwise an error\n // is raised if attempting to overrun the buffer. This is required\n // to deal with an old Solidity bug, in which event data for\n // external (not public thoguh) was tightly packed.\n allowLoose;\n #data;\n #offset;\n #bytesRead;\n #parent;\n #maxInflation;\n constructor(data, allowLoose, maxInflation) {\n defineProperties(this, { allowLoose: !!allowLoose });\n this.#data = getBytesCopy(data);\n this.#bytesRead = 0;\n this.#parent = null;\n this.#maxInflation = (maxInflation != null) ? maxInflation : 1024;\n this.#offset = 0;\n }\n get data() { return hexlify(this.#data); }\n get dataLength() { return this.#data.length; }\n get consumed() { return this.#offset; }\n get bytes() { return new Uint8Array(this.#data); }\n #incrementBytesRead(count) {\n if (this.#parent) {\n return this.#parent.#incrementBytesRead(count);\n }\n this.#bytesRead += count;\n // Check for excessive inflation (see: #4537)\n assert(this.#maxInflation < 1 || this.#bytesRead <= this.#maxInflation * this.dataLength, `compressed ABI data exceeds inflation ratio of ${this.#maxInflation} ( see: https:/\\/github.com/ethers-io/ethers.js/issues/4537 )`, \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data), offset: this.#offset,\n length: count, info: {\n bytesRead: this.#bytesRead,\n dataLength: this.dataLength\n }\n });\n }\n #peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / WordSize) * WordSize;\n if (this.#offset + alignedLength > this.#data.length) {\n if (this.allowLoose && loose && this.#offset + length <= this.#data.length) {\n alignedLength = length;\n }\n else {\n assert(false, \"data out-of-bounds\", \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data),\n length: this.#data.length,\n offset: this.#offset + alignedLength\n });\n }\n }\n return this.#data.slice(this.#offset, this.#offset + alignedLength);\n }\n // Create a sub-reader with the same underlying data, but offset\n subReader(offset) {\n const reader = new Reader(this.#data.slice(this.#offset + offset), this.allowLoose, this.#maxInflation);\n reader.#parent = this;\n return reader;\n }\n // Read bytes\n readBytes(length, loose) {\n let bytes = this.#peekBytes(0, length, !!loose);\n this.#incrementBytesRead(length);\n this.#offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n // Read a numeric values\n readValue() {\n return toBigInt(this.readBytes(WordSize));\n }\n readIndex() {\n return toNumber(this.readBytes(WordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexport { number, bool, bytes, hash, exists, output };\nconst assert = { number, bool, bytes, hash, exists, output };\nexport default assert;\n//# sourceMappingURL=_assert.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nconst u8a = (a) => a instanceof Uint8Array;\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!u8a(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","/**\n * Cryptographic hashing functions\n *\n * @_subsection: api/crypto:Hash Functions [about-crypto-hashing]\n */\nimport { keccak_256 } from \"@noble/hashes/sha3\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _keccak256 = function (data) {\n return keccak_256(data);\n};\nlet __keccak256 = _keccak256;\n/**\n * Compute the cryptographic KECCAK256 hash of %%data%%.\n *\n * The %%data%% **must** be a data representation, to compute the\n * hash of UTF-8 data use the [[id]] function.\n *\n * @returns DataHexstring\n * @example:\n * keccak256(\"0x\")\n * //_result:\n *\n * keccak256(\"0x1337\")\n * //_result:\n *\n * keccak256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n * // Strings are assumed to be DataHexString, otherwise it will\n * // throw. To hash UTF-8 data, see the note above.\n * keccak256(\"Hello World\")\n * //_error:\n */\nexport function keccak256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__keccak256(data));\n}\nkeccak256._ = _keccak256;\nkeccak256.lock = function () { locked = true; };\nkeccak256.register = function (func) {\n if (locked) {\n throw new TypeError(\"keccak256 is locked\");\n }\n __keccak256 = func;\n};\nObject.freeze(keccak256);\n//# sourceMappingURL=keccak.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nconst BN_36 = BigInt(36);\nfunction getChecksumAddress(address) {\n // if (!isHexString(address, 20)) {\n // logger.throwArgumentError(\"invalid address\", \"address\", address);\n // }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = getBytes(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\n// i.e. Math.floor(Math.log10(Number.MAX_SAFE_INTEGER));\nconst safeDigits = 15;\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nconst Base36 = (function () {\n ;\n const result = {};\n for (let i = 0; i < 36; i++) {\n const key = \"0123456789abcdefghijklmnopqrstuvwxyz\"[i];\n result[key] = BigInt(i);\n }\n return result;\n})();\nfunction fromBase36(value) {\n value = value.toLowerCase();\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result = result * BN_36 + Base36[value[i]];\n }\n return result;\n}\n/**\n * Returns a normalized and checksumed address for %%address%%.\n * This accepts non-checksum addresses, checksum addresses and\n * [[getIcapAddress]] formats.\n *\n * The checksum in Ethereum uses the capitalization (upper-case\n * vs lower-case) of the characters within an address to encode\n * its checksum, which offers, on average, a checksum of 15-bits.\n *\n * If %%address%% contains both upper-case and lower-case, it is\n * assumed to already be a checksum address and its checksum is\n * validated, and if the address fails its expected checksum an\n * error is thrown.\n *\n * If you wish the checksum of %%address%% to be ignore, it should\n * be converted to lower-case (i.e. ``.toLowercase()``) before\n * being passed in. This should be a very rare situation though,\n * that you wish to bypass the safegaurds in place to protect\n * against an address that has been incorrectly copied from another\n * source.\n *\n * @example:\n * // Adds the checksum (via upper-casing specific letters)\n * getAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\")\n * //_result:\n *\n * // Converts ICAP address and adds checksum\n * getAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if an address contains mixed case,\n * // but the checksum fails\n * getAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_error:\n */\nexport function getAddress(address) {\n assertArgument(typeof (address) === \"string\", \"invalid address\", \"address\", address);\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (!address.startsWith(\"0x\")) {\n address = \"0x\" + address;\n }\n const result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n assertArgument(!address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) || result === address, \"bad address checksum\", \"address\", address);\n return result;\n }\n // Maybe ICAP? (we only support direct mode)\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n assertArgument(address.substring(2, 4) === ibanChecksum(address), \"bad icap checksum\", \"address\", address);\n let result = fromBase36(address.substring(4)).toString(16);\n while (result.length < 40) {\n result = \"0\" + result;\n }\n return getChecksumAddress(\"0x\" + result);\n }\n assertArgument(false, \"invalid address\", \"address\", address);\n}\n/**\n * The [ICAP Address format](link-icap) format is an early checksum\n * format which attempts to be compatible with the banking\n * industry [IBAN format](link-wiki-iban) for bank accounts.\n *\n * It is no longer common or a recommended format.\n *\n * @example:\n * getIcapAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\");\n * //_result:\n *\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if the ICAP checksum is wrong\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37\");\n * //_error:\n */\nexport function getIcapAddress(address) {\n //let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n let base36 = BigInt(getAddress(address)).toString(36).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n//# sourceMappingURL=address.js.map","import { assert, assertArgument } from \"../utils/index.js\";\nimport { getAddress } from \"./address.js\";\n/**\n * Returns true if %%value%% is an object which implements the\n * [[Addressable]] interface.\n *\n * @example:\n * // Wallets and AbstractSigner sub-classes\n * isAddressable(Wallet.createRandom())\n * //_result:\n *\n * // Contracts\n * contract = new Contract(\"dai.tokens.ethers.eth\", [ ], provider)\n * isAddressable(contract)\n * //_result:\n */\nexport function isAddressable(value) {\n return (value && typeof (value.getAddress) === \"function\");\n}\n/**\n * Returns true if %%value%% is a valid address.\n *\n * @example:\n * // Valid address\n * isAddress(\"0x8ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Valid ICAP address\n * isAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\")\n * //_result:\n *\n * // Invalid checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBa72\")\n * //_result:\n *\n * // Invalid ICAP checksum\n * isAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_result:\n *\n * // Not an address (an ENS name requires a provided and an\n * // asynchronous API to access)\n * isAddress(\"ricmoo.eth\")\n * //_result:\n */\nexport function isAddress(value) {\n try {\n getAddress(value);\n return true;\n }\n catch (error) { }\n return false;\n}\nasync function checkAddress(target, promise) {\n const result = await promise;\n if (result == null || result === \"0x0000000000000000000000000000000000000000\") {\n assert(typeof (target) !== \"string\", \"unconfigured name\", \"UNCONFIGURED_NAME\", { value: target });\n assertArgument(false, \"invalid AddressLike value; did not resolve to a value address\", \"target\", target);\n }\n return getAddress(result);\n}\n/**\n * Resolves to an address for the %%target%%, which may be any\n * supported address type, an [[Addressable]] or a Promise which\n * resolves to an address.\n *\n * If an ENS name is provided, but that name has not been correctly\n * configured a [[UnconfiguredNameError]] is thrown.\n *\n * @example:\n * addr = \"0x6B175474E89094C44Da98b954EedeAC495271d0F\"\n *\n * // Addresses are return synchronously\n * resolveAddress(addr, provider)\n * //_result:\n *\n * // Address promises are resolved asynchronously\n * resolveAddress(Promise.resolve(addr))\n * //_result:\n *\n * // ENS names are resolved asynchronously\n * resolveAddress(\"dai.tokens.ethers.eth\", provider)\n * //_result:\n *\n * // Addressable objects are resolved asynchronously\n * contract = new Contract(addr, [ ])\n * resolveAddress(contract, provider)\n * //_result:\n *\n * // Unconfigured ENS names reject\n * resolveAddress(\"nothing-here.ricmoo.eth\", provider)\n * //_error:\n *\n * // ENS names require a NameResolver object passed in\n * // (notice the provider was omitted)\n * resolveAddress(\"nothing-here.ricmoo.eth\")\n * //_error:\n */\nexport function resolveAddress(target, resolver) {\n if (typeof (target) === \"string\") {\n if (target.match(/^0x[0-9a-f]{40}$/i)) {\n return getAddress(target);\n }\n assert(resolver != null, \"ENS resolution requires a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"resolveName\" });\n return checkAddress(target, resolver.resolveName(target));\n }\n else if (isAddressable(target)) {\n return checkAddress(target, target.getAddress());\n }\n else if (target && typeof (target.then) === \"function\") {\n return checkAddress(target, target);\n }\n assertArgument(false, \"unsupported addressable value\", \"target\", target);\n}\n//# sourceMappingURL=checks.js.map","/**\n * A Typed object allows a value to have its type explicitly\n * specified.\n *\n * For example, in Solidity, the value ``45`` could represent a\n * ``uint8`` or a ``uint256``. The value ``0x1234`` could represent\n * a ``bytes2`` or ``bytes``.\n *\n * Since JavaScript has no meaningful way to explicitly inform any\n * APIs which what the type is, this allows transparent interoperation\n * with Soldity.\n *\n * @_subsection: api/abi:Typed Values\n */\nimport { assertPrivate, defineProperties } from \"../utils/index.js\";\nconst _gaurd = {};\nfunction n(value, width) {\n let signed = false;\n if (width < 0) {\n signed = true;\n width *= -1;\n }\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `${signed ? \"\" : \"u\"}int${width}`, value, { signed, width });\n}\nfunction b(value, size) {\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `bytes${(size) ? size : \"\"}`, value, { size });\n}\nconst _typedSymbol = Symbol.for(\"_ethers_typed\");\n/**\n * The **Typed** class to wrap values providing explicit type information.\n */\nexport class Typed {\n /**\n * The type, as a Solidity-compatible type.\n */\n type;\n /**\n * The actual value.\n */\n value;\n #options;\n /**\n * @_ignore:\n */\n _typedSymbol;\n /**\n * @_ignore:\n */\n constructor(gaurd, type, value, options) {\n if (options == null) {\n options = null;\n }\n assertPrivate(_gaurd, gaurd, \"Typed\");\n defineProperties(this, { _typedSymbol, type, value });\n this.#options = options;\n // Check the value is valid\n this.format();\n }\n /**\n * Format the type as a Human-Readable type.\n */\n format() {\n if (this.type === \"array\") {\n throw new Error(\"\");\n }\n else if (this.type === \"dynamicArray\") {\n throw new Error(\"\");\n }\n else if (this.type === \"tuple\") {\n return `tuple(${this.value.map((v) => v.format()).join(\",\")})`;\n }\n return this.type;\n }\n /**\n * The default value returned by this type.\n */\n defaultValue() {\n return 0;\n }\n /**\n * The minimum value for numeric types.\n */\n minValue() {\n return 0;\n }\n /**\n * The maximum value for numeric types.\n */\n maxValue() {\n return 0;\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedBigInt]].\n */\n isBigInt() {\n return !!(this.type.match(/^u?int[0-9]+$/));\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedData]].\n */\n isData() {\n return this.type.startsWith(\"bytes\");\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedString]].\n */\n isString() {\n return (this.type === \"string\");\n }\n /**\n * Returns the tuple name, if this is a tuple. Throws otherwise.\n */\n get tupleName() {\n if (this.type !== \"tuple\") {\n throw TypeError(\"not a tuple\");\n }\n return this.#options;\n }\n // Returns the length of this type as an array\n // - `null` indicates the length is unforced, it could be dynamic\n // - `-1` indicates the length is dynamic\n // - any other value indicates it is a static array and is its length\n /**\n * Returns the length of the array type or ``-1`` if it is dynamic.\n *\n * Throws if the type is not an array.\n */\n get arrayLength() {\n if (this.type !== \"array\") {\n throw TypeError(\"not an array\");\n }\n if (this.#options === true) {\n return -1;\n }\n if (this.#options === false) {\n return (this.value).length;\n }\n return null;\n }\n /**\n * Returns a new **Typed** of %%type%% with the %%value%%.\n */\n static from(type, value) {\n return new Typed(_gaurd, type, value);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static uint8(v) { return n(v, 8); }\n /**\n * Return a new ``uint16`` type for %%v%%.\n */\n static uint16(v) { return n(v, 16); }\n /**\n * Return a new ``uint24`` type for %%v%%.\n */\n static uint24(v) { return n(v, 24); }\n /**\n * Return a new ``uint32`` type for %%v%%.\n */\n static uint32(v) { return n(v, 32); }\n /**\n * Return a new ``uint40`` type for %%v%%.\n */\n static uint40(v) { return n(v, 40); }\n /**\n * Return a new ``uint48`` type for %%v%%.\n */\n static uint48(v) { return n(v, 48); }\n /**\n * Return a new ``uint56`` type for %%v%%.\n */\n static uint56(v) { return n(v, 56); }\n /**\n * Return a new ``uint64`` type for %%v%%.\n */\n static uint64(v) { return n(v, 64); }\n /**\n * Return a new ``uint72`` type for %%v%%.\n */\n static uint72(v) { return n(v, 72); }\n /**\n * Return a new ``uint80`` type for %%v%%.\n */\n static uint80(v) { return n(v, 80); }\n /**\n * Return a new ``uint88`` type for %%v%%.\n */\n static uint88(v) { return n(v, 88); }\n /**\n * Return a new ``uint96`` type for %%v%%.\n */\n static uint96(v) { return n(v, 96); }\n /**\n * Return a new ``uint104`` type for %%v%%.\n */\n static uint104(v) { return n(v, 104); }\n /**\n * Return a new ``uint112`` type for %%v%%.\n */\n static uint112(v) { return n(v, 112); }\n /**\n * Return a new ``uint120`` type for %%v%%.\n */\n static uint120(v) { return n(v, 120); }\n /**\n * Return a new ``uint128`` type for %%v%%.\n */\n static uint128(v) { return n(v, 128); }\n /**\n * Return a new ``uint136`` type for %%v%%.\n */\n static uint136(v) { return n(v, 136); }\n /**\n * Return a new ``uint144`` type for %%v%%.\n */\n static uint144(v) { return n(v, 144); }\n /**\n * Return a new ``uint152`` type for %%v%%.\n */\n static uint152(v) { return n(v, 152); }\n /**\n * Return a new ``uint160`` type for %%v%%.\n */\n static uint160(v) { return n(v, 160); }\n /**\n * Return a new ``uint168`` type for %%v%%.\n */\n static uint168(v) { return n(v, 168); }\n /**\n * Return a new ``uint176`` type for %%v%%.\n */\n static uint176(v) { return n(v, 176); }\n /**\n * Return a new ``uint184`` type for %%v%%.\n */\n static uint184(v) { return n(v, 184); }\n /**\n * Return a new ``uint192`` type for %%v%%.\n */\n static uint192(v) { return n(v, 192); }\n /**\n * Return a new ``uint200`` type for %%v%%.\n */\n static uint200(v) { return n(v, 200); }\n /**\n * Return a new ``uint208`` type for %%v%%.\n */\n static uint208(v) { return n(v, 208); }\n /**\n * Return a new ``uint216`` type for %%v%%.\n */\n static uint216(v) { return n(v, 216); }\n /**\n * Return a new ``uint224`` type for %%v%%.\n */\n static uint224(v) { return n(v, 224); }\n /**\n * Return a new ``uint232`` type for %%v%%.\n */\n static uint232(v) { return n(v, 232); }\n /**\n * Return a new ``uint240`` type for %%v%%.\n */\n static uint240(v) { return n(v, 240); }\n /**\n * Return a new ``uint248`` type for %%v%%.\n */\n static uint248(v) { return n(v, 248); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint256(v) { return n(v, 256); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint(v) { return n(v, 256); }\n /**\n * Return a new ``int8`` type for %%v%%.\n */\n static int8(v) { return n(v, -8); }\n /**\n * Return a new ``int16`` type for %%v%%.\n */\n static int16(v) { return n(v, -16); }\n /**\n * Return a new ``int24`` type for %%v%%.\n */\n static int24(v) { return n(v, -24); }\n /**\n * Return a new ``int32`` type for %%v%%.\n */\n static int32(v) { return n(v, -32); }\n /**\n * Return a new ``int40`` type for %%v%%.\n */\n static int40(v) { return n(v, -40); }\n /**\n * Return a new ``int48`` type for %%v%%.\n */\n static int48(v) { return n(v, -48); }\n /**\n * Return a new ``int56`` type for %%v%%.\n */\n static int56(v) { return n(v, -56); }\n /**\n * Return a new ``int64`` type for %%v%%.\n */\n static int64(v) { return n(v, -64); }\n /**\n * Return a new ``int72`` type for %%v%%.\n */\n static int72(v) { return n(v, -72); }\n /**\n * Return a new ``int80`` type for %%v%%.\n */\n static int80(v) { return n(v, -80); }\n /**\n * Return a new ``int88`` type for %%v%%.\n */\n static int88(v) { return n(v, -88); }\n /**\n * Return a new ``int96`` type for %%v%%.\n */\n static int96(v) { return n(v, -96); }\n /**\n * Return a new ``int104`` type for %%v%%.\n */\n static int104(v) { return n(v, -104); }\n /**\n * Return a new ``int112`` type for %%v%%.\n */\n static int112(v) { return n(v, -112); }\n /**\n * Return a new ``int120`` type for %%v%%.\n */\n static int120(v) { return n(v, -120); }\n /**\n * Return a new ``int128`` type for %%v%%.\n */\n static int128(v) { return n(v, -128); }\n /**\n * Return a new ``int136`` type for %%v%%.\n */\n static int136(v) { return n(v, -136); }\n /**\n * Return a new ``int144`` type for %%v%%.\n */\n static int144(v) { return n(v, -144); }\n /**\n * Return a new ``int52`` type for %%v%%.\n */\n static int152(v) { return n(v, -152); }\n /**\n * Return a new ``int160`` type for %%v%%.\n */\n static int160(v) { return n(v, -160); }\n /**\n * Return a new ``int168`` type for %%v%%.\n */\n static int168(v) { return n(v, -168); }\n /**\n * Return a new ``int176`` type for %%v%%.\n */\n static int176(v) { return n(v, -176); }\n /**\n * Return a new ``int184`` type for %%v%%.\n */\n static int184(v) { return n(v, -184); }\n /**\n * Return a new ``int92`` type for %%v%%.\n */\n static int192(v) { return n(v, -192); }\n /**\n * Return a new ``int200`` type for %%v%%.\n */\n static int200(v) { return n(v, -200); }\n /**\n * Return a new ``int208`` type for %%v%%.\n */\n static int208(v) { return n(v, -208); }\n /**\n * Return a new ``int216`` type for %%v%%.\n */\n static int216(v) { return n(v, -216); }\n /**\n * Return a new ``int224`` type for %%v%%.\n */\n static int224(v) { return n(v, -224); }\n /**\n * Return a new ``int232`` type for %%v%%.\n */\n static int232(v) { return n(v, -232); }\n /**\n * Return a new ``int240`` type for %%v%%.\n */\n static int240(v) { return n(v, -240); }\n /**\n * Return a new ``int248`` type for %%v%%.\n */\n static int248(v) { return n(v, -248); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int256(v) { return n(v, -256); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int(v) { return n(v, -256); }\n /**\n * Return a new ``bytes1`` type for %%v%%.\n */\n static bytes1(v) { return b(v, 1); }\n /**\n * Return a new ``bytes2`` type for %%v%%.\n */\n static bytes2(v) { return b(v, 2); }\n /**\n * Return a new ``bytes3`` type for %%v%%.\n */\n static bytes3(v) { return b(v, 3); }\n /**\n * Return a new ``bytes4`` type for %%v%%.\n */\n static bytes4(v) { return b(v, 4); }\n /**\n * Return a new ``bytes5`` type for %%v%%.\n */\n static bytes5(v) { return b(v, 5); }\n /**\n * Return a new ``bytes6`` type for %%v%%.\n */\n static bytes6(v) { return b(v, 6); }\n /**\n * Return a new ``bytes7`` type for %%v%%.\n */\n static bytes7(v) { return b(v, 7); }\n /**\n * Return a new ``bytes8`` type for %%v%%.\n */\n static bytes8(v) { return b(v, 8); }\n /**\n * Return a new ``bytes9`` type for %%v%%.\n */\n static bytes9(v) { return b(v, 9); }\n /**\n * Return a new ``bytes10`` type for %%v%%.\n */\n static bytes10(v) { return b(v, 10); }\n /**\n * Return a new ``bytes11`` type for %%v%%.\n */\n static bytes11(v) { return b(v, 11); }\n /**\n * Return a new ``bytes12`` type for %%v%%.\n */\n static bytes12(v) { return b(v, 12); }\n /**\n * Return a new ``bytes13`` type for %%v%%.\n */\n static bytes13(v) { return b(v, 13); }\n /**\n * Return a new ``bytes14`` type for %%v%%.\n */\n static bytes14(v) { return b(v, 14); }\n /**\n * Return a new ``bytes15`` type for %%v%%.\n */\n static bytes15(v) { return b(v, 15); }\n /**\n * Return a new ``bytes16`` type for %%v%%.\n */\n static bytes16(v) { return b(v, 16); }\n /**\n * Return a new ``bytes17`` type for %%v%%.\n */\n static bytes17(v) { return b(v, 17); }\n /**\n * Return a new ``bytes18`` type for %%v%%.\n */\n static bytes18(v) { return b(v, 18); }\n /**\n * Return a new ``bytes19`` type for %%v%%.\n */\n static bytes19(v) { return b(v, 19); }\n /**\n * Return a new ``bytes20`` type for %%v%%.\n */\n static bytes20(v) { return b(v, 20); }\n /**\n * Return a new ``bytes21`` type for %%v%%.\n */\n static bytes21(v) { return b(v, 21); }\n /**\n * Return a new ``bytes22`` type for %%v%%.\n */\n static bytes22(v) { return b(v, 22); }\n /**\n * Return a new ``bytes23`` type for %%v%%.\n */\n static bytes23(v) { return b(v, 23); }\n /**\n * Return a new ``bytes24`` type for %%v%%.\n */\n static bytes24(v) { return b(v, 24); }\n /**\n * Return a new ``bytes25`` type for %%v%%.\n */\n static bytes25(v) { return b(v, 25); }\n /**\n * Return a new ``bytes26`` type for %%v%%.\n */\n static bytes26(v) { return b(v, 26); }\n /**\n * Return a new ``bytes27`` type for %%v%%.\n */\n static bytes27(v) { return b(v, 27); }\n /**\n * Return a new ``bytes28`` type for %%v%%.\n */\n static bytes28(v) { return b(v, 28); }\n /**\n * Return a new ``bytes29`` type for %%v%%.\n */\n static bytes29(v) { return b(v, 29); }\n /**\n * Return a new ``bytes30`` type for %%v%%.\n */\n static bytes30(v) { return b(v, 30); }\n /**\n * Return a new ``bytes31`` type for %%v%%.\n */\n static bytes31(v) { return b(v, 31); }\n /**\n * Return a new ``bytes32`` type for %%v%%.\n */\n static bytes32(v) { return b(v, 32); }\n /**\n * Return a new ``address`` type for %%v%%.\n */\n static address(v) { return new Typed(_gaurd, \"address\", v); }\n /**\n * Return a new ``bool`` type for %%v%%.\n */\n static bool(v) { return new Typed(_gaurd, \"bool\", !!v); }\n /**\n * Return a new ``bytes`` type for %%v%%.\n */\n static bytes(v) { return new Typed(_gaurd, \"bytes\", v); }\n /**\n * Return a new ``string`` type for %%v%%.\n */\n static string(v) { return new Typed(_gaurd, \"string\", v); }\n /**\n * Return a new ``array`` type for %%v%%, allowing %%dynamic%% length.\n */\n static array(v, dynamic) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"array\", v, dynamic);\n }\n /**\n * Return a new ``tuple`` type for %%v%%, with the optional %%name%%.\n */\n static tuple(v, name) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"tuple\", v, name);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static overrides(v) {\n return new Typed(_gaurd, \"overrides\", Object.assign({}, v));\n }\n /**\n * Returns true only if %%value%% is a [[Typed]] instance.\n */\n static isTyped(value) {\n return (value\n && typeof (value) === \"object\"\n && \"_typedSymbol\" in value\n && value._typedSymbol === _typedSymbol);\n }\n /**\n * If the value is a [[Typed]] instance, validates the underlying value\n * and returns it, otherwise returns value directly.\n *\n * This is useful for functions that with to accept either a [[Typed]]\n * object or values.\n */\n static dereference(value, type) {\n if (Typed.isTyped(value)) {\n if (value.type !== type) {\n throw new Error(`invalid type: expecetd ${type}, got ${value.type}`);\n }\n return value.value;\n }\n return value;\n }\n}\n//# sourceMappingURL=typed.js.map","import { getAddress } from \"../../address/index.js\";\nimport { toBeHex } from \"../../utils/maths.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, _value) {\n let value = Typed.dereference(_value, \"string\");\n try {\n value = getAddress(value);\n }\n catch (error) {\n return this._throwError(error.message, _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(toBeHex(reader.readValue(), 20));\n }\n}\n//# sourceMappingURL=address.js.map","import { Coder } from \"./abstract-coder.js\";\n/**\n * Clones the functionality of an existing Coder, but without a localName\n *\n * @_ignore\n */\nexport class AnonymousCoder extends Coder {\n coder;\n constructor(coder) {\n super(coder.name, coder.type, \"_\", coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n//# sourceMappingURL=anonymous.js.map","import { defineProperties, isError, assert, assertArgument, assertArgumentCount } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, Result, WordSize, Writer } from \"./abstract-coder.js\";\nimport { AnonymousCoder } from \"./anonymous.js\";\n/**\n * @_ignore\n */\nexport function pack(writer, coders, values) {\n let arrayValues = [];\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n assert(name, \"cannot encode object for signature with missing names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n assert(!unique[name], \"cannot encode object for signature with duplicate names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n unique[name] = true;\n return values[name];\n });\n }\n else {\n assertArgument(false, \"invalid tuple value\", \"tuple\", values);\n }\n assertArgument(coders.length === arrayValues.length, \"types/value length mismatch\", \"tuple\", values);\n let staticWriter = new Writer();\n let dynamicWriter = new Writer();\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n/**\n * @_ignore\n */\nexport function unpack(reader, coders) {\n let values = [];\n let keys = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readIndex();\n let offsetReader = baseReader.subReader(offset);\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value == undefined) {\n throw new Error(\"investigate\");\n }\n values.push(value);\n keys.push(coder.localName || null);\n });\n return Result.fromItems(values, keys);\n}\n/**\n * @_ignore\n */\nexport class ArrayCoder extends Coder {\n coder;\n length;\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n defineProperties(this, { coder, length });\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"array\");\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n assertArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readIndex();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n assert(count * WordSize <= reader.dataLength, \"insufficient data length\", \"BUFFER_OVERRUN\", { buffer: reader.bytes, offset: count * WordSize, length: reader.dataLength });\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return unpack(reader, coders);\n }\n}\n//# sourceMappingURL=array.js.map","import { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class BooleanCoder extends Coder {\n constructor(localName) {\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"bool\");\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return !!reader.readValue();\n }\n}\n//# sourceMappingURL=boolean.js.map","import { getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = getBytesCopy(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readIndex(), true);\n }\n}\n/**\n * @_ignore\n */\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return hexlify(super.decode(reader));\n }\n}\n//# sourceMappingURL=bytes.js.map","import { defineProperties, getBytesCopy, hexlify } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class FixedBytesCoder extends Coder {\n size;\n constructor(size, localName) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n defineProperties(this, { size }, { size: \"number\" });\n }\n defaultValue() {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n encode(writer, _value) {\n let data = getBytesCopy(Typed.dereference(_value, this.type));\n if (data.length !== this.size) {\n this._throwError(\"incorrect data length\", _value);\n }\n return writer.writeBytes(data);\n }\n decode(reader) {\n return hexlify(reader.readBytes(this.size));\n }\n}\n//# sourceMappingURL=fixed-bytes.js.map","import { Coder } from \"./abstract-coder.js\";\nconst Empty = new Uint8Array([]);\n/**\n * @_ignore\n */\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes(Empty);\n }\n decode(reader) {\n reader.readBytes(0);\n return null;\n }\n}\n//# sourceMappingURL=null.js.map","import { defineProperties, fromTwos, getBigInt, mask, toTwos } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, WordSize } from \"./abstract-coder.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * @_ignore\n */\nexport class NumberCoder extends Coder {\n size;\n signed;\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n defineProperties(this, { size, signed }, { size: \"number\", signed: \"boolean\" });\n }\n defaultValue() {\n return 0;\n }\n encode(writer, _value) {\n let value = getBigInt(Typed.dereference(_value, this.type));\n // Check bounds are safe for encoding\n let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);\n if (this.signed) {\n let bounds = mask(maxUintValue, (this.size * 8) - 1);\n if (value > bounds || value < -(bounds + BN_1)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n value = toTwos(value, 8 * WordSize);\n }\n else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n let value = mask(reader.readValue(), this.size * 8);\n if (this.signed) {\n value = fromTwos(value, this.size * 8);\n }\n return value;\n }\n}\n//# sourceMappingURL=number.js.map","import { toUtf8Bytes, toUtf8String } from \"../../utils/utf8.js\";\nimport { Typed } from \"../typed.js\";\nimport { DynamicBytesCoder } from \"./bytes.js\";\n/**\n * @_ignore\n */\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, _value) {\n return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, \"string\")));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map","import { defineProperties } from \"../../utils/properties.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\nimport { pack, unpack } from \"./array.js\";\n/**\n * @_ignore\n */\nexport class TupleCoder extends Coder {\n coders;\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n defineProperties(this, { coders: Object.freeze(coders.slice()) });\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"tuple\");\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return unpack(reader, this.coders);\n }\n}\n//# sourceMappingURL=tuple.js.map","import { keccak256 } from \"../crypto/index.js\";\nimport { toUtf8Bytes } from \"../utils/index.js\";\n/**\n * A simple hashing function which operates on UTF-8 strings to\n * compute an 32-byte identifier.\n *\n * This simply computes the [UTF-8 bytes](toUtf8Bytes) and computes\n * the [[keccak256]].\n *\n * @example:\n * id(\"hello world\")\n * //_result:\n */\nexport function id(value) {\n return keccak256(toUtf8Bytes(value));\n}\n//# sourceMappingURL=id.js.map","import { getAddress } from \"../address/index.js\";\nimport { assertArgument, isHexString } from \"../utils/index.js\";\nfunction accessSetify(addr, storageKeys) {\n return {\n address: getAddress(addr),\n storageKeys: storageKeys.map((storageKey, index) => {\n assertArgument(isHexString(storageKey, 32), \"invalid slot\", `storageKeys[${index}]`, storageKey);\n return storageKey.toLowerCase();\n })\n };\n}\n/**\n * Returns a [[AccessList]] from any ethers-supported access-list structure.\n */\nexport function accessListify(value) {\n if (Array.isArray(value)) {\n return value.map((set, index) => {\n if (Array.isArray(set)) {\n assertArgument(set.length === 2, \"invalid slot set\", `value[${index}]`, set);\n return accessSetify(set[0], set[1]);\n }\n assertArgument(set != null && typeof (set) === \"object\", \"invalid address-slot set\", \"value\", value);\n return accessSetify(set.address, set.storageKeys);\n });\n }\n assertArgument(value != null && typeof (value) === \"object\", \"invalid access list\", \"value\", value);\n const result = Object.keys(value).map((addr) => {\n const storageKeys = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, {});\n return accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\n//# sourceMappingURL=accesslist.js.map","/**\n * A fragment is a single item from an ABI, which may represent any of:\n *\n * - [Functions](FunctionFragment)\n * - [Events](EventFragment)\n * - [Constructors](ConstructorFragment)\n * - Custom [Errors](ErrorFragment)\n * - [Fallback or Receive](FallbackFragment) functions\n *\n * @_subsection api/abi/abi-coder:Fragments [about-fragments]\n */\nimport { defineProperties, getBigInt, getNumber, assert, assertPrivate, assertArgument } from \"../utils/index.js\";\nimport { id } from \"../hash/index.js\";\n;\n// [ \"a\", \"b\" ] => { \"a\": 1, \"b\": 1 }\nfunction setify(items) {\n const result = new Set();\n items.forEach((k) => result.add(k));\n return Object.freeze(result);\n}\nconst _kwVisibDeploy = \"external public payable override\";\nconst KwVisibDeploy = setify(_kwVisibDeploy.split(\" \"));\n// Visibility Keywords\nconst _kwVisib = \"constant external internal payable private public pure view override\";\nconst KwVisib = setify(_kwVisib.split(\" \"));\nconst _kwTypes = \"constructor error event fallback function receive struct\";\nconst KwTypes = setify(_kwTypes.split(\" \"));\nconst _kwModifiers = \"calldata memory storage payable indexed\";\nconst KwModifiers = setify(_kwModifiers.split(\" \"));\nconst _kwOther = \"tuple returns\";\n// All Keywords\nconst _keywords = [_kwTypes, _kwModifiers, _kwOther, _kwVisib].join(\" \");\nconst Keywords = setify(_keywords.split(\" \"));\n// Single character tokens\nconst SimpleTokens = {\n \"(\": \"OPEN_PAREN\", \")\": \"CLOSE_PAREN\",\n \"[\": \"OPEN_BRACKET\", \"]\": \"CLOSE_BRACKET\",\n \",\": \"COMMA\", \"@\": \"AT\"\n};\n// Parser regexes to consume the next token\nconst regexWhitespacePrefix = new RegExp(\"^(\\\\s*)\");\nconst regexNumberPrefix = new RegExp(\"^([0-9]+)\");\nconst regexIdPrefix = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)\");\n// Parser regexs to check validity\nconst regexId = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)$\");\nconst regexType = new RegExp(\"^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$\");\nclass TokenString {\n #offset;\n #tokens;\n get offset() { return this.#offset; }\n get length() { return this.#tokens.length - this.#offset; }\n constructor(tokens) {\n this.#offset = 0;\n this.#tokens = tokens.slice();\n }\n clone() { return new TokenString(this.#tokens); }\n reset() { this.#offset = 0; }\n #subTokenString(from = 0, to = 0) {\n return new TokenString(this.#tokens.slice(from, to).map((t) => {\n return Object.freeze(Object.assign({}, t, {\n match: (t.match - from),\n linkBack: (t.linkBack - from),\n linkNext: (t.linkNext - from),\n }));\n }));\n }\n // Pops and returns the value of the next token, if it is a keyword in allowed; throws if out of tokens\n popKeyword(allowed) {\n const top = this.peek();\n if (top.type !== \"KEYWORD\" || !allowed.has(top.text)) {\n throw new Error(`expected keyword ${top.text}`);\n }\n return this.pop().text;\n }\n // Pops and returns the value of the next token if it is `type`; throws if out of tokens\n popType(type) {\n if (this.peek().type !== type) {\n const top = this.peek();\n throw new Error(`expected ${type}; got ${top.type} ${JSON.stringify(top.text)}`);\n }\n return this.pop().text;\n }\n // Pops and returns a \"(\" TOKENS \")\"\n popParen() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = this.#subTokenString(this.#offset + 1, top.match + 1);\n this.#offset = top.match + 1;\n return result;\n }\n // Pops and returns the items within \"(\" ITEM1 \",\" ITEM2 \",\" ... \")\"\n popParams() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = [];\n while (this.#offset < top.match - 1) {\n const link = this.peek().linkNext;\n result.push(this.#subTokenString(this.#offset + 1, link));\n this.#offset = link;\n }\n this.#offset = top.match + 1;\n return result;\n }\n // Returns the top Token, throwing if out of tokens\n peek() {\n if (this.#offset >= this.#tokens.length) {\n throw new Error(\"out-of-bounds\");\n }\n return this.#tokens[this.#offset];\n }\n // Returns the next value, if it is a keyword in `allowed`\n peekKeyword(allowed) {\n const top = this.peekType(\"KEYWORD\");\n return (top != null && allowed.has(top)) ? top : null;\n }\n // Returns the value of the next token if it is `type`\n peekType(type) {\n if (this.length === 0) {\n return null;\n }\n const top = this.peek();\n return (top.type === type) ? top.text : null;\n }\n // Returns the next token; throws if out of tokens\n pop() {\n const result = this.peek();\n this.#offset++;\n return result;\n }\n toString() {\n const tokens = [];\n for (let i = this.#offset; i < this.#tokens.length; i++) {\n const token = this.#tokens[i];\n tokens.push(`${token.type}:${token.text}`);\n }\n return `<TokenString ${tokens.join(\" \")}>`;\n }\n}\nfunction lex(text) {\n const tokens = [];\n const throwError = (message) => {\n const token = (offset < text.length) ? JSON.stringify(text[offset]) : \"$EOI\";\n throw new Error(`invalid token ${token} at ${offset}: ${message}`);\n };\n let brackets = [];\n let commas = [];\n let offset = 0;\n while (offset < text.length) {\n // Strip off any leading whitespace\n let cur = text.substring(offset);\n let match = cur.match(regexWhitespacePrefix);\n if (match) {\n offset += match[1].length;\n cur = text.substring(offset);\n }\n const token = { depth: brackets.length, linkBack: -1, linkNext: -1, match: -1, type: \"\", text: \"\", offset, value: -1 };\n tokens.push(token);\n let type = (SimpleTokens[cur[0]] || \"\");\n if (type) {\n token.type = type;\n token.text = cur[0];\n offset++;\n if (type === \"OPEN_PAREN\") {\n brackets.push(tokens.length - 1);\n commas.push(tokens.length - 1);\n }\n else if (type == \"CLOSE_PAREN\") {\n if (brackets.length === 0) {\n throwError(\"no matching open bracket\");\n }\n token.match = brackets.pop();\n (tokens[token.match]).match = tokens.length - 1;\n token.depth--;\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n }\n else if (type === \"COMMA\") {\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n commas.push(tokens.length - 1);\n }\n else if (type === \"OPEN_BRACKET\") {\n token.type = \"BRACKET\";\n }\n else if (type === \"CLOSE_BRACKET\") {\n // Remove the CLOSE_BRACKET\n let suffix = tokens.pop().text;\n if (tokens.length > 0 && tokens[tokens.length - 1].type === \"NUMBER\") {\n const value = tokens.pop().text;\n suffix = value + suffix;\n (tokens[tokens.length - 1]).value = getNumber(value);\n }\n if (tokens.length === 0 || tokens[tokens.length - 1].type !== \"BRACKET\") {\n throw new Error(\"missing opening bracket\");\n }\n (tokens[tokens.length - 1]).text += suffix;\n }\n continue;\n }\n match = cur.match(regexIdPrefix);\n if (match) {\n token.text = match[1];\n offset += token.text.length;\n if (Keywords.has(token.text)) {\n token.type = \"KEYWORD\";\n continue;\n }\n if (token.text.match(regexType)) {\n token.type = \"TYPE\";\n continue;\n }\n token.type = \"ID\";\n continue;\n }\n match = cur.match(regexNumberPrefix);\n if (match) {\n token.text = match[1];\n token.type = \"NUMBER\";\n offset += token.text.length;\n continue;\n }\n throw new Error(`unexpected token ${JSON.stringify(cur[0])} at position ${offset}`);\n }\n return new TokenString(tokens.map((t) => Object.freeze(t)));\n}\n// Check only one of `allowed` is in `set`\nfunction allowSingle(set, allowed) {\n let included = [];\n for (const key in allowed.keys()) {\n if (set.has(key)) {\n included.push(key);\n }\n }\n if (included.length > 1) {\n throw new Error(`conflicting types: ${included.join(\", \")}`);\n }\n}\n// Functions to process a Solidity Signature TokenString from left-to-right for...\n// ...the name with an optional type, returning the name\nfunction consumeName(type, tokens) {\n if (tokens.peekKeyword(KwTypes)) {\n const keyword = tokens.pop().text;\n if (keyword !== type) {\n throw new Error(`expected ${type}, got ${keyword}`);\n }\n }\n return tokens.popType(\"ID\");\n}\n// ...all keywords matching allowed, returning the keywords\nfunction consumeKeywords(tokens, allowed) {\n const keywords = new Set();\n while (true) {\n const keyword = tokens.peekType(\"KEYWORD\");\n if (keyword == null || (allowed && !allowed.has(keyword))) {\n break;\n }\n tokens.pop();\n if (keywords.has(keyword)) {\n throw new Error(`duplicate keywords: ${JSON.stringify(keyword)}`);\n }\n keywords.add(keyword);\n }\n return Object.freeze(keywords);\n}\n// ...all visibility keywords, returning the coalesced mutability\nfunction consumeMutability(tokens) {\n let modifiers = consumeKeywords(tokens, KwVisib);\n // Detect conflicting modifiers\n allowSingle(modifiers, setify(\"constant payable nonpayable\".split(\" \")));\n allowSingle(modifiers, setify(\"pure view payable nonpayable\".split(\" \")));\n // Process mutability states\n if (modifiers.has(\"view\")) {\n return \"view\";\n }\n if (modifiers.has(\"pure\")) {\n return \"pure\";\n }\n if (modifiers.has(\"payable\")) {\n return \"payable\";\n }\n if (modifiers.has(\"nonpayable\")) {\n return \"nonpayable\";\n }\n // Process legacy `constant` last\n if (modifiers.has(\"constant\")) {\n return \"view\";\n }\n return \"nonpayable\";\n}\n// ...a parameter list, returning the ParamType list\nfunction consumeParams(tokens, allowIndexed) {\n return tokens.popParams().map((t) => ParamType.from(t, allowIndexed));\n}\n// ...a gas limit, returning a BigNumber or null if none\nfunction consumeGas(tokens) {\n if (tokens.peekType(\"AT\")) {\n tokens.pop();\n if (tokens.peekType(\"NUMBER\")) {\n return getBigInt(tokens.pop().text);\n }\n throw new Error(\"invalid gas\");\n }\n return null;\n}\nfunction consumeEoi(tokens) {\n if (tokens.length) {\n throw new Error(`unexpected tokens at offset ${tokens.offset}: ${tokens.toString()}`);\n }\n}\nconst regexArrayType = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nfunction verifyBasicType(type) {\n const match = type.match(regexType);\n assertArgument(match, \"invalid type\", \"type\", type);\n if (type === \"uint\") {\n return \"uint256\";\n }\n if (type === \"int\") {\n return \"int256\";\n }\n if (match[2]) {\n // bytesXX\n const length = parseInt(match[2]);\n assertArgument(length !== 0 && length <= 32, \"invalid bytes length\", \"type\", type);\n }\n else if (match[3]) {\n // intXX or uintXX\n const size = parseInt(match[3]);\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid numeric width\", \"type\", type);\n }\n return type;\n}\n// Make the Fragment constructors effectively private\nconst _guard = {};\nconst internal = Symbol.for(\"_ethers_internal\");\nconst ParamTypeInternal = \"_ParamTypeInternal\";\nconst ErrorFragmentInternal = \"_ErrorInternal\";\nconst EventFragmentInternal = \"_EventInternal\";\nconst ConstructorFragmentInternal = \"_ConstructorInternal\";\nconst FallbackFragmentInternal = \"_FallbackInternal\";\nconst FunctionFragmentInternal = \"_FunctionInternal\";\nconst StructFragmentInternal = \"_StructInternal\";\n/**\n * Each input and output of a [[Fragment]] is an Array of **ParamType**.\n */\nexport class ParamType {\n /**\n * The local name of the parameter (or ``\"\"`` if unbound)\n */\n name;\n /**\n * The fully qualified type (e.g. ``\"address\"``, ``\"tuple(address)\"``,\n * ``\"uint256[3][]\"``)\n */\n type;\n /**\n * The base type (e.g. ``\"address\"``, ``\"tuple\"``, ``\"array\"``)\n */\n baseType;\n /**\n * True if the parameters is indexed.\n *\n * For non-indexable types this is ``null``.\n */\n indexed;\n /**\n * The components for the tuple.\n *\n * For non-tuple types this is ``null``.\n */\n components;\n /**\n * The array length, or ``-1`` for dynamic-lengthed arrays.\n *\n * For non-array types this is ``null``.\n */\n arrayLength;\n /**\n * The type of each child in the array.\n *\n * For non-array types this is ``null``.\n */\n arrayChildren;\n /**\n * @private\n */\n constructor(guard, name, type, baseType, indexed, components, arrayLength, arrayChildren) {\n assertPrivate(guard, _guard, \"ParamType\");\n Object.defineProperty(this, internal, { value: ParamTypeInternal });\n if (components) {\n components = Object.freeze(components.slice());\n }\n if (baseType === \"array\") {\n if (arrayLength == null || arrayChildren == null) {\n throw new Error(\"\");\n }\n }\n else if (arrayLength != null || arrayChildren != null) {\n throw new Error(\"\");\n }\n if (baseType === \"tuple\") {\n if (components == null) {\n throw new Error(\"\");\n }\n }\n else if (components != null) {\n throw new Error(\"\");\n }\n defineProperties(this, {\n name, type, baseType, indexed, components, arrayLength, arrayChildren\n });\n }\n /**\n * Return a string representation of this type.\n *\n * For example,\n *\n * ``sighash\" => \"(uint256,address)\"``\n *\n * ``\"minimal\" => \"tuple(uint256,address) indexed\"``\n *\n * ``\"full\" => \"tuple(uint256 foo, address bar) indexed baz\"``\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n const name = this.name || \"\";\n if (this.isArray()) {\n const result = JSON.parse(this.arrayChildren.format(\"json\"));\n result.name = name;\n result.type += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n return JSON.stringify(result);\n }\n const result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.isTuple()) {\n result.components = this.components.map((c) => JSON.parse(c.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.isArray()) {\n result += this.arrayChildren.format(format);\n result += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n }\n else {\n if (this.isTuple()) {\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== \"sighash\") {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === \"full\" && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n /**\n * Returns true if %%this%% is an Array type.\n *\n * This provides a type gaurd ensuring that [[arrayChildren]]\n * and [[arrayLength]] are non-null.\n */\n isArray() {\n return (this.baseType === \"array\");\n }\n /**\n * Returns true if %%this%% is a Tuple type.\n *\n * This provides a type gaurd ensuring that [[components]]\n * is non-null.\n */\n isTuple() {\n return (this.baseType === \"tuple\");\n }\n /**\n * Returns true if %%this%% is an Indexable type.\n *\n * This provides a type gaurd ensuring that [[indexed]]\n * is non-null.\n */\n isIndexable() {\n return (this.indexed != null);\n }\n /**\n * Walks the **ParamType** with %%value%%, calling %%process%%\n * on each type, destructing the %%value%% recursively.\n */\n walk(value, process) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v) => (_this.arrayChildren.walk(v, process)));\n }\n if (this.isTuple()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid tuple value\");\n }\n if (value.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v, i) => (_this.components[i].walk(v, process)));\n }\n return process(this.type, value);\n }\n #walkAsync(promises, value, process, setValue) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const childType = this.arrayChildren;\n const result = value.slice();\n result.forEach((value, index) => {\n childType.#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n if (this.isTuple()) {\n const components = this.components;\n // Convert the object into an array\n let result;\n if (Array.isArray(value)) {\n result = value.slice();\n }\n else {\n if (value == null || typeof (value) !== \"object\") {\n throw new Error(\"invalid tuple value\");\n }\n result = components.map((param) => {\n if (!param.name) {\n throw new Error(\"cannot use object value with unnamed components\");\n }\n if (!(param.name in value)) {\n throw new Error(`missing value for component ${param.name}`);\n }\n return value[param.name];\n });\n }\n if (result.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n result.forEach((value, index) => {\n components[index].#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n const result = process(this.type, value);\n if (result.then) {\n promises.push((async function () { setValue(await result); })());\n }\n else {\n setValue(result);\n }\n }\n /**\n * Walks the **ParamType** with %%value%%, asynchronously calling\n * %%process%% on each type, destructing the %%value%% recursively.\n *\n * This can be used to resolve ENS names by walking and resolving each\n * ``\"address\"`` type.\n */\n async walkAsync(value, process) {\n const promises = [];\n const result = [value];\n this.#walkAsync(promises, value, process, (value) => {\n result[0] = value;\n });\n if (promises.length) {\n await Promise.all(promises);\n }\n return result[0];\n }\n /**\n * Creates a new **ParamType** for %%obj%%.\n *\n * If %%allowIndexed%% then the ``indexed`` keyword is permitted,\n * otherwise the ``indexed`` keyword will throw an error.\n */\n static from(obj, allowIndexed) {\n if (ParamType.isParamType(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ParamType.from(lex(obj), allowIndexed);\n }\n catch (error) {\n assertArgument(false, \"invalid param type\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n let type = \"\", baseType = \"\";\n let comps = null;\n if (consumeKeywords(obj, setify([\"tuple\"])).has(\"tuple\") || obj.peekType(\"OPEN_PAREN\")) {\n // Tuple\n baseType = \"tuple\";\n comps = obj.popParams().map((t) => ParamType.from(t));\n type = `tuple(${comps.map((c) => c.format()).join(\",\")})`;\n }\n else {\n // Normal\n type = verifyBasicType(obj.popType(\"TYPE\"));\n baseType = type;\n }\n // Check for Array\n let arrayChildren = null;\n let arrayLength = null;\n while (obj.length && obj.peekType(\"BRACKET\")) {\n const bracket = obj.pop(); //arrays[i];\n arrayChildren = new ParamType(_guard, \"\", type, baseType, null, comps, arrayLength, arrayChildren);\n arrayLength = bracket.value;\n type += bracket.text;\n baseType = \"array\";\n comps = null;\n }\n let indexed = null;\n const keywords = consumeKeywords(obj, KwModifiers);\n if (keywords.has(\"indexed\")) {\n if (!allowIndexed) {\n throw new Error(\"\");\n }\n indexed = true;\n }\n const name = (obj.peekType(\"ID\") ? obj.pop().text : \"\");\n if (obj.length) {\n throw new Error(\"leftover tokens\");\n }\n return new ParamType(_guard, name, type, baseType, indexed, comps, arrayLength, arrayChildren);\n }\n const name = obj.name;\n assertArgument(!name || (typeof (name) === \"string\" && name.match(regexId)), \"invalid name\", \"obj.name\", name);\n let indexed = obj.indexed;\n if (indexed != null) {\n assertArgument(allowIndexed, \"parameter cannot be indexed\", \"obj.indexed\", obj.indexed);\n indexed = !!indexed;\n }\n let type = obj.type;\n let arrayMatch = type.match(regexArrayType);\n if (arrayMatch) {\n const arrayLength = parseInt(arrayMatch[2] || \"-1\");\n const arrayChildren = ParamType.from({\n type: arrayMatch[1],\n components: obj.components\n });\n return new ParamType(_guard, name || \"\", type, \"array\", indexed, null, arrayLength, arrayChildren);\n }\n if (type === \"tuple\" || type.startsWith(\"tuple(\" /* fix: ) */) || type.startsWith(\"(\" /* fix: ) */)) {\n const comps = (obj.components != null) ? obj.components.map((c) => ParamType.from(c)) : null;\n const tuple = new ParamType(_guard, name || \"\", type, \"tuple\", indexed, comps, null, null);\n // @TODO: use lexer to validate and normalize type\n return tuple;\n }\n type = verifyBasicType(obj.type);\n return new ParamType(_guard, name || \"\", type, type, indexed, null, null, null);\n }\n /**\n * Returns true if %%value%% is a **ParamType**.\n */\n static isParamType(value) {\n return (value && value[internal] === ParamTypeInternal);\n }\n}\n/**\n * An abstract class to represent An individual fragment from a parse ABI.\n */\nexport class Fragment {\n /**\n * The type of the fragment.\n */\n type;\n /**\n * The inputs for the fragment.\n */\n inputs;\n /**\n * @private\n */\n constructor(guard, type, inputs) {\n assertPrivate(guard, _guard, \"Fragment\");\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { type, inputs });\n }\n /**\n * Creates a new **Fragment** for %%obj%%, wich can be any supported\n * ABI frgament type.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n // Try parsing JSON...\n try {\n Fragment.from(JSON.parse(obj));\n }\n catch (e) { }\n // ...otherwise, use the human-readable lexer\n return Fragment.from(lex(obj));\n }\n if (obj instanceof TokenString) {\n // Human-readable ABI (already lexed)\n const type = obj.peekKeyword(KwTypes);\n switch (type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n }\n else if (typeof (obj) === \"object\") {\n // JSON ABI\n switch (obj.type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n assert(false, `unsupported type: ${obj.type}`, \"UNSUPPORTED_OPERATION\", {\n operation: \"Fragment.from\"\n });\n }\n assertArgument(false, \"unsupported frgament object\", \"obj\", obj);\n }\n /**\n * Returns true if %%value%% is a [[ConstructorFragment]].\n */\n static isConstructor(value) {\n return ConstructorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[ErrorFragment]].\n */\n static isError(value) {\n return ErrorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[EventFragment]].\n */\n static isEvent(value) {\n return EventFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[FunctionFragment]].\n */\n static isFunction(value) {\n return FunctionFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[StructFragment]].\n */\n static isStruct(value) {\n return StructFragment.isFragment(value);\n }\n}\n/**\n * An abstract class to represent An individual fragment\n * which has a name from a parse ABI.\n */\nexport class NamedFragment extends Fragment {\n /**\n * The name of the fragment.\n */\n name;\n /**\n * @private\n */\n constructor(guard, type, name, inputs) {\n super(guard, type, inputs);\n assertArgument(typeof (name) === \"string\" && name.match(regexId), \"invalid identifier\", \"name\", name);\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { name });\n }\n}\nfunction joinParams(format, params) {\n return \"(\" + params.map((p) => p.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n}\n/**\n * A Fragment which represents a //Custom Error//.\n */\nexport class ErrorFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"error\", name, inputs);\n Object.defineProperty(this, internal, { value: ErrorFragmentInternal });\n }\n /**\n * The Custom Error selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this fragment as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"error\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n return result.join(\" \");\n }\n /**\n * Returns a new **ErrorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ErrorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n return ErrorFragment.from(lex(obj));\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"error\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new ErrorFragment(_guard, name, inputs);\n }\n return new ErrorFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **ErrorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ErrorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents an Event.\n */\nexport class EventFragment extends NamedFragment {\n /**\n * Whether this event is anonymous.\n */\n anonymous;\n /**\n * @private\n */\n constructor(guard, name, inputs, anonymous) {\n super(guard, \"event\", name, inputs);\n Object.defineProperty(this, internal, { value: EventFragmentInternal });\n defineProperties(this, { anonymous });\n }\n /**\n * The Event topic hash.\n */\n get topicHash() {\n return id(this.format(\"sighash\"));\n }\n /**\n * Returns a string representation of this event as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"event\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\" && this.anonymous) {\n result.push(\"anonymous\");\n }\n return result.join(\" \");\n }\n /**\n * Return the topic hash for an event with %%name%% and %%params%%.\n */\n static getTopicHash(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new EventFragment(_guard, name, params, false);\n return fragment.topicHash;\n }\n /**\n * Returns a new **EventFragment** for %%obj%%.\n */\n static from(obj) {\n if (EventFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return EventFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid event fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"event\", obj);\n const inputs = consumeParams(obj, true);\n const anonymous = !!consumeKeywords(obj, setify([\"anonymous\"])).has(\"anonymous\");\n consumeEoi(obj);\n return new EventFragment(_guard, name, inputs, anonymous);\n }\n return new EventFragment(_guard, obj.name, obj.inputs ? obj.inputs.map((p) => ParamType.from(p, true)) : [], !!obj.anonymous);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **EventFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === EventFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a constructor.\n */\nexport class ConstructorFragment extends Fragment {\n /**\n * Whether the constructor can receive an endowment.\n */\n payable;\n /**\n * The recommended gas limit for deployment or ``null``.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, type, inputs, payable, gas) {\n super(guard, type, inputs);\n Object.defineProperty(this, internal, { value: ConstructorFragmentInternal });\n defineProperties(this, { payable, gas });\n }\n /**\n * Returns a string representation of this constructor as %%format%%.\n */\n format(format) {\n assert(format != null && format !== \"sighash\", \"cannot format a constructor for sighash\", \"UNSUPPORTED_OPERATION\", { operation: \"format(sighash)\" });\n if (format === \"json\") {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: (this.payable ? \"payable\" : \"undefined\"),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [`constructor${joinParams(format, this.inputs)}`];\n if (this.payable) {\n result.push(\"payable\");\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n return result.join(\" \");\n }\n /**\n * Returns a new **ConstructorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ConstructorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ConstructorFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid constuctor fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n consumeKeywords(obj, setify([\"constructor\"]));\n const inputs = consumeParams(obj);\n const payable = !!consumeKeywords(obj, KwVisibDeploy).has(\"payable\");\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new ConstructorFragment(_guard, \"constructor\", inputs, payable, gas);\n }\n return new ConstructorFragment(_guard, \"constructor\", obj.inputs ? obj.inputs.map(ParamType.from) : [], !!obj.payable, (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **ConstructorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ConstructorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FallbackFragment extends Fragment {\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n constructor(guard, inputs, payable) {\n super(guard, \"fallback\", inputs);\n Object.defineProperty(this, internal, { value: FallbackFragmentInternal });\n defineProperties(this, { payable });\n }\n /**\n * Returns a string representation of this fallback as %%format%%.\n */\n format(format) {\n const type = ((this.inputs.length === 0) ? \"receive\" : \"fallback\");\n if (format === \"json\") {\n const stateMutability = (this.payable ? \"payable\" : \"nonpayable\");\n return JSON.stringify({ type, stateMutability });\n }\n return `${type}()${this.payable ? \" payable\" : \"\"}`;\n }\n /**\n * Returns a new **FallbackFragment** for %%obj%%.\n */\n static from(obj) {\n if (FallbackFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FallbackFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid fallback fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const errorObj = obj.toString();\n const topIsValid = obj.peekKeyword(setify([\"fallback\", \"receive\"]));\n assertArgument(topIsValid, \"type must be fallback or receive\", \"obj\", errorObj);\n const type = obj.popKeyword(setify([\"fallback\", \"receive\"]));\n // receive()\n if (type === \"receive\") {\n const inputs = consumeParams(obj);\n assertArgument(inputs.length === 0, `receive cannot have arguments`, \"obj.inputs\", inputs);\n consumeKeywords(obj, setify([\"payable\"]));\n consumeEoi(obj);\n return new FallbackFragment(_guard, [], true);\n }\n // fallback() [payable]\n // fallback(bytes) [payable] returns (bytes)\n let inputs = consumeParams(obj);\n if (inputs.length) {\n assertArgument(inputs.length === 1 && inputs[0].type === \"bytes\", \"invalid fallback inputs\", \"obj.inputs\", inputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n else {\n inputs = [ParamType.from(\"bytes\")];\n }\n const mutability = consumeMutability(obj);\n assertArgument(mutability === \"nonpayable\" || mutability === \"payable\", \"fallback cannot be constants\", \"obj.stateMutability\", mutability);\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n const outputs = consumeParams(obj);\n assertArgument(outputs.length === 1 && outputs[0].type === \"bytes\", \"invalid fallback outputs\", \"obj.outputs\", outputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n consumeEoi(obj);\n return new FallbackFragment(_guard, inputs, mutability === \"payable\");\n }\n if (obj.type === \"receive\") {\n return new FallbackFragment(_guard, [], true);\n }\n if (obj.type === \"fallback\") {\n const inputs = [ParamType.from(\"bytes\")];\n const payable = (obj.stateMutability === \"payable\");\n return new FallbackFragment(_guard, inputs, payable);\n }\n assertArgument(false, \"invalid fallback description\", \"obj\", obj);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FallbackFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FallbackFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FunctionFragment extends NamedFragment {\n /**\n * If the function is constant (e.g. ``pure`` or ``view`` functions).\n */\n constant;\n /**\n * The returned types for the result of calling this function.\n */\n outputs;\n /**\n * The state mutability (e.g. ``payable``, ``nonpayable``, ``view``\n * or ``pure``)\n */\n stateMutability;\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n /**\n * The recommended gas limit to send when calling this function.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, name, stateMutability, inputs, outputs, gas) {\n super(guard, \"function\", name, inputs);\n Object.defineProperty(this, internal, { value: FunctionFragmentInternal });\n outputs = Object.freeze(outputs.slice());\n const constant = (stateMutability === \"view\" || stateMutability === \"pure\");\n const payable = (stateMutability === \"payable\");\n defineProperties(this, { constant, gas, outputs, payable, stateMutability });\n }\n /**\n * The Function selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this function as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format))),\n outputs: this.outputs.map((o) => JSON.parse(o.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"function\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\") {\n if (this.stateMutability !== \"nonpayable\") {\n result.push(this.stateMutability);\n }\n if (this.outputs && this.outputs.length) {\n result.push(\"returns\");\n result.push(joinParams(format, this.outputs));\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n }\n return result.join(\" \");\n }\n /**\n * Return the selector for a function with %%name%% and %%params%%.\n */\n static getSelector(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new FunctionFragment(_guard, name, \"view\", params, [], null);\n return fragment.selector;\n }\n /**\n * Returns a new **FunctionFragment** for %%obj%%.\n */\n static from(obj) {\n if (FunctionFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FunctionFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid function fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"function\", obj);\n const inputs = consumeParams(obj);\n const mutability = consumeMutability(obj);\n let outputs = [];\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n outputs = consumeParams(obj);\n }\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new FunctionFragment(_guard, name, mutability, inputs, outputs, gas);\n }\n let stateMutability = obj.stateMutability;\n // Use legacy Solidity ABI logic if stateMutability is missing\n if (stateMutability == null) {\n stateMutability = \"payable\";\n if (typeof (obj.constant) === \"boolean\") {\n stateMutability = \"view\";\n if (!obj.constant) {\n stateMutability = \"payable\";\n if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n }\n else if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n // @TODO: verifyState for stateMutability (e.g. throw if\n // payable: false but stateMutability is \"nonpayable\")\n return new FunctionFragment(_guard, obj.name, stateMutability, obj.inputs ? obj.inputs.map(ParamType.from) : [], obj.outputs ? obj.outputs.map(ParamType.from) : [], (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FunctionFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FunctionFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a structure.\n */\nexport class StructFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"struct\", name, inputs);\n Object.defineProperty(this, internal, { value: StructFragmentInternal });\n }\n /**\n * Returns a string representation of this struct as %%format%%.\n */\n format() {\n throw new Error(\"@TODO\");\n }\n /**\n * Returns a new **StructFragment** for %%obj%%.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n try {\n return StructFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid struct fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"struct\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new StructFragment(_guard, name, inputs);\n }\n return new StructFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n // @TODO: fix this return type\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **StructFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === StructFragmentInternal);\n }\n}\n//# sourceMappingURL=fragments.js.map","/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map","/**\n * The Interface class is a low-level class that accepts an\n * ABI and provides all the necessary functionality to encode\n * and decode paramaters to and results from methods, events\n * and errors.\n *\n * It also provides several convenience methods to automatically\n * search and find matching transactions and events to parse them.\n *\n * @_subsection api/abi:Interfaces [interfaces]\n */\nimport { keccak256 } from \"../crypto/index.js\";\nimport { id } from \"../hash/index.js\";\nimport { concat, dataSlice, getBigInt, getBytes, getBytesCopy, hexlify, zeroPadBytes, zeroPadValue, isHexString, defineProperties, assertArgument, toBeHex, assert } from \"../utils/index.js\";\nimport { AbiCoder } from \"./abi-coder.js\";\nimport { checkResultErrors, Result } from \"./coders/abstract-coder.js\";\nimport { ConstructorFragment, ErrorFragment, EventFragment, Fragment, FunctionFragment, ParamType } from \"./fragments.js\";\nimport { Typed } from \"./typed.js\";\nexport { checkResultErrors, Result };\n/**\n * When using the [[Interface-parseLog]] to automatically match a Log to its event\n * for parsing, a **LogDescription** is returned.\n */\nexport class LogDescription {\n /**\n * The matching fragment for the ``topic0``.\n */\n fragment;\n /**\n * The name of the Event.\n */\n name;\n /**\n * The full Event signature.\n */\n signature;\n /**\n * The topic hash for the Event.\n */\n topic;\n /**\n * The arguments passed into the Event with ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(fragment, topic, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, signature, topic, args\n });\n }\n}\n/**\n * When using the [[Interface-parseTransaction]] to automatically match\n * a transaction data to its function for parsing,\n * a **TransactionDescription** is returned.\n */\nexport class TransactionDescription {\n /**\n * The matching fragment from the transaction ``data``.\n */\n fragment;\n /**\n * The name of the Function from the transaction ``data``.\n */\n name;\n /**\n * The arguments passed to the Function from the transaction ``data``.\n */\n args;\n /**\n * The full Function signature from the transaction ``data``.\n */\n signature;\n /**\n * The selector for the Function from the transaction ``data``.\n */\n selector;\n /**\n * The ``value`` (in wei) from the transaction.\n */\n value;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args, value) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector, value\n });\n }\n}\n/**\n * When using the [[Interface-parseError]] to automatically match an\n * error for a call result for parsing, an **ErrorDescription** is returned.\n */\nexport class ErrorDescription {\n /**\n * The matching fragment.\n */\n fragment;\n /**\n * The name of the Error.\n */\n name;\n /**\n * The arguments passed to the Error with ``revert``.\n */\n args;\n /**\n * The full Error signature.\n */\n signature;\n /**\n * The selector for the Error.\n */\n selector;\n /**\n * @_ignore:\n */\n constructor(fragment, selector, args) {\n const name = fragment.name, signature = fragment.format();\n defineProperties(this, {\n fragment, name, args, signature, selector\n });\n }\n}\n/**\n * An **Indexed** is used as a value when a value that does not\n * fit within a topic (i.e. not a fixed-length, 32-byte type). It\n * is the ``keccak256`` of the value, and used for types such as\n * arrays, tuples, bytes and strings.\n */\nexport class Indexed {\n /**\n * The ``keccak256`` of the value logged.\n */\n hash;\n /**\n * @_ignore:\n */\n _isIndexed;\n /**\n * Returns ``true`` if %%value%% is an **Indexed**.\n *\n * This provides a Type Guard for property access.\n */\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n /**\n * @_ignore:\n */\n constructor(hash) {\n defineProperties(this, { hash, _isIndexed: true });\n }\n}\n// https://docs.soliditylang.org/en/v0.8.13/control-structures.html?highlight=panic#panic-via-assert-and-error-via-require\nconst PanicReasons = {\n \"0\": \"generic panic\",\n \"1\": \"assert(false)\",\n \"17\": \"arithmetic overflow\",\n \"18\": \"division or modulo by zero\",\n \"33\": \"enum overflow\",\n \"34\": \"invalid encoded storage byte array accessed\",\n \"49\": \"out-of-bounds array access; popping on an empty array\",\n \"50\": \"out-of-bounds access of an array or bytesN\",\n \"65\": \"out of memory\",\n \"81\": \"uninitialized function\",\n};\nconst BuiltinErrors = {\n \"0x08c379a0\": {\n signature: \"Error(string)\",\n name: \"Error\",\n inputs: [\"string\"],\n reason: (message) => {\n return `reverted with reason string ${JSON.stringify(message)}`;\n }\n },\n \"0x4e487b71\": {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n inputs: [\"uint256\"],\n reason: (code) => {\n let reason = \"unknown panic code\";\n if (code >= 0 && code <= 0xff && PanicReasons[code.toString()]) {\n reason = PanicReasons[code.toString()];\n }\n return `reverted with panic code 0x${code.toString(16)} (${reason})`;\n }\n }\n};\n/**\n * An Interface abstracts many of the low-level details for\n * encoding and decoding the data on the blockchain.\n *\n * An ABI provides information on how to encode data to send to\n * a Contract, how to decode the results and events and how to\n * interpret revert errors.\n *\n * The ABI can be specified by [any supported format](InterfaceAbi).\n */\nexport class Interface {\n /**\n * All the Contract ABI members (i.e. methods, events, errors, etc).\n */\n fragments;\n /**\n * The Contract constructor.\n */\n deploy;\n /**\n * The Fallback method, if any.\n */\n fallback;\n /**\n * If receiving ether is supported.\n */\n receive;\n #errors;\n #events;\n #functions;\n // #structs: Map<string, StructFragment>;\n #abiCoder;\n /**\n * Create a new Interface for the %%fragments%%.\n */\n constructor(fragments) {\n let abi = [];\n if (typeof (fragments) === \"string\") {\n abi = JSON.parse(fragments);\n }\n else {\n abi = fragments;\n }\n this.#functions = new Map();\n this.#errors = new Map();\n this.#events = new Map();\n // this.#structs = new Map();\n const frags = [];\n for (const a of abi) {\n try {\n frags.push(Fragment.from(a));\n }\n catch (error) {\n console.log(`[Warning] Invalid Fragment ${JSON.stringify(a)}:`, error.message);\n }\n }\n defineProperties(this, {\n fragments: Object.freeze(frags)\n });\n let fallback = null;\n let receive = false;\n this.#abiCoder = this.getAbiCoder();\n // Add all fragments by their signature\n this.fragments.forEach((fragment, index) => {\n let bucket;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n console.log(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineProperties(this, { deploy: fragment });\n return;\n case \"fallback\":\n if (fragment.inputs.length === 0) {\n receive = true;\n }\n else {\n assertArgument(!fallback || fragment.payable !== fallback.payable, \"conflicting fallback fragments\", `fragments[${index}]`, fragment);\n fallback = fragment;\n receive = fallback.payable;\n }\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (<FunctionFragment>fragment).outputs);\n bucket = this.#functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.#events;\n break;\n case \"error\":\n bucket = this.#errors;\n break;\n default:\n return;\n }\n // Two identical entries; ignore it\n const signature = fragment.format();\n if (bucket.has(signature)) {\n return;\n }\n bucket.set(signature, fragment);\n });\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineProperties(this, {\n deploy: ConstructorFragment.from(\"constructor()\")\n });\n }\n defineProperties(this, { fallback, receive });\n }\n /**\n * Returns the entire Human-Readable ABI, as an array of\n * signatures, optionally as %%minimal%% strings, which\n * removes parameter names and unneceesary spaces.\n */\n format(minimal) {\n const format = (minimal ? \"minimal\" : \"full\");\n const abi = this.fragments.map((f) => f.format(format));\n return abi;\n }\n /**\n * Return the JSON-encoded ABI. This is the format Solidiy\n * returns.\n */\n formatJson() {\n const abi = this.fragments.map((f) => f.format(\"json\"));\n // We need to re-bundle the JSON fragments a bit\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n /**\n * The ABI coder that will be used to encode and decode binary\n * data.\n */\n getAbiCoder() {\n return AbiCoder.defaultAbiCoder();\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n #getFunction(key, values, forceUnique) {\n // Selector\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n for (const fragment of this.#functions.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#functions) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n const lastValue = (values.length > 0) ? values[values.length - 1] : null;\n let valueLength = values.length;\n let allowOptions = true;\n if (Typed.isTyped(lastValue) && lastValue.type === \"overrides\") {\n allowOptions = false;\n valueLength--;\n }\n // Remove all matches that don't have a compatible length. The args\n // may contain an overrides, so the match may have n or n - 1 parameters\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs.length;\n if (inputs !== valueLength && (!allowOptions || inputs !== valueLength - 1)) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // We are past the inputs\n if (j >= inputs.length) {\n if (values[j].type === \"overrides\") {\n continue;\n }\n matching.splice(i, 1);\n break;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n // We found a single matching signature with an overrides, but the\n // last value is something that cannot possibly be an options\n if (matching.length === 1 && values && values.length !== matching[0].inputs.length) {\n const lastArg = values[values.length - 1];\n if (lastArg == null || Array.isArray(lastArg) || typeof (lastArg) !== \"object\") {\n matching.splice(0, 1);\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous function description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#functions.get(FunctionFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the function name for %%key%%, which may be a function selector,\n * function name or function signature that belongs to the ABI.\n */\n getFunctionName(key) {\n const fragment = this.#getFunction(key, null, false);\n assertArgument(fragment, \"no matching function\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (a function selector, function name or\n * function signature) is present in the ABI.\n *\n * In the case of a function name, the name may be ambiguous, so\n * accessing the [[FunctionFragment]] may require refinement.\n */\n hasFunction(key) {\n return !!this.#getFunction(key, null, false);\n }\n /**\n * Get the [[FunctionFragment]] for %%key%%, which may be a function\n * selector, function name or function signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple functions match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single function in\n * the ABI, this will throw.\n */\n getFunction(key, values) {\n return this.#getFunction(key, values || null, true);\n }\n /**\n * Iterate over all functions, calling %%callback%%, sorted by their name.\n */\n forEachFunction(callback) {\n const names = Array.from(this.#functions.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#functions.get(name)), i);\n }\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n #getEvent(key, values, forceUnique) {\n // EventTopic\n if (isHexString(key)) {\n const eventTopic = key.toLowerCase();\n for (const fragment of this.#events.values()) {\n if (eventTopic === fragment.topicHash) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#events) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (values) {\n // Remove all matches that don't have a compatible length.\n for (let i = matching.length - 1; i >= 0; i--) {\n if (matching[i].inputs.length < values.length) {\n matching.splice(i, 1);\n }\n }\n // Remove all matches that don't match the Typed signature\n for (let i = matching.length - 1; i >= 0; i--) {\n const inputs = matching[i].inputs;\n for (let j = 0; j < values.length; j++) {\n // Not a typed value\n if (!Typed.isTyped(values[j])) {\n continue;\n }\n // Make sure the value type matches the input type\n if (values[j].type !== inputs[j].baseType) {\n matching.splice(i, 1);\n break;\n }\n }\n }\n }\n if (matching.length === 0) {\n return null;\n }\n if (matching.length > 1 && forceUnique) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous event description (i.e. matches ${matchStr})`, \"key\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n const result = this.#events.get(EventFragment.from(key).format());\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Get the event name for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n */\n getEventName(key) {\n const fragment = this.#getEvent(key, null, false);\n assertArgument(fragment, \"no matching event\", \"key\", key);\n return fragment.name;\n }\n /**\n * Returns true if %%key%% (an event topic hash, event name or\n * event signature) is present in the ABI.\n *\n * In the case of an event name, the name may be ambiguous, so\n * accessing the [[EventFragment]] may require refinement.\n */\n hasEvent(key) {\n return !!this.#getEvent(key, null, false);\n }\n /**\n * Get the [[EventFragment]] for %%key%%, which may be a topic hash,\n * event name or event signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple events match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single event in\n * the ABI, this will throw.\n */\n getEvent(key, values) {\n return this.#getEvent(key, values || null, true);\n }\n /**\n * Iterate over all events, calling %%callback%%, sorted by their name.\n */\n forEachEvent(callback) {\n const names = Array.from(this.#events.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#events.get(name)), i);\n }\n }\n /**\n * Get the [[ErrorFragment]] for %%key%%, which may be an error\n * selector, error name or error signature that belongs to the ABI.\n *\n * If %%values%% is provided, it will use the Typed API to handle\n * ambiguous cases where multiple errors match by name.\n *\n * If the %%key%% and %%values%% do not refine to a single error in\n * the ABI, this will throw.\n */\n getError(key, values) {\n if (isHexString(key)) {\n const selector = key.toLowerCase();\n if (BuiltinErrors[selector]) {\n return ErrorFragment.from(BuiltinErrors[selector].signature);\n }\n for (const fragment of this.#errors.values()) {\n if (selector === fragment.selector) {\n return fragment;\n }\n }\n return null;\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (key.indexOf(\"(\") === -1) {\n const matching = [];\n for (const [name, fragment] of this.#errors) {\n if (name.split(\"(\" /* fix:) */)[0] === key) {\n matching.push(fragment);\n }\n }\n if (matching.length === 0) {\n if (key === \"Error\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n return null;\n }\n else if (matching.length > 1) {\n const matchStr = matching.map((m) => JSON.stringify(m.format())).join(\", \");\n assertArgument(false, `ambiguous error description (i.e. ${matchStr})`, \"name\", key);\n }\n return matching[0];\n }\n // Normalize the signature and lookup the function\n key = ErrorFragment.from(key).format();\n if (key === \"Error(string)\") {\n return ErrorFragment.from(\"error Error(string)\");\n }\n if (key === \"Panic(uint256)\") {\n return ErrorFragment.from(\"error Panic(uint256)\");\n }\n const result = this.#errors.get(key);\n if (result) {\n return result;\n }\n return null;\n }\n /**\n * Iterate over all errors, calling %%callback%%, sorted by their name.\n */\n forEachError(callback) {\n const names = Array.from(this.#errors.keys());\n names.sort((a, b) => a.localeCompare(b));\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n callback((this.#errors.get(name)), i);\n }\n }\n // Get the 4-byte selector used by Solidity to identify a function\n /*\ngetSelector(fragment: ErrorFragment | FunctionFragment): string {\n if (typeof(fragment) === \"string\") {\n const matches: Array<Fragment> = [ ];\n\n try { matches.push(this.getFunction(fragment)); } catch (error) { }\n try { matches.push(this.getError(<string>fragment)); } catch (_) { }\n\n if (matches.length === 0) {\n logger.throwArgumentError(\"unknown fragment\", \"key\", fragment);\n } else if (matches.length > 1) {\n logger.throwArgumentError(\"ambiguous fragment matches function and error\", \"key\", fragment);\n }\n\n fragment = matches[0];\n }\n\n return dataSlice(id(fragment.format()), 0, 4);\n}\n */\n // Get the 32-byte topic hash used by Solidity to identify an event\n /*\n getEventTopic(fragment: EventFragment): string {\n //if (typeof(fragment) === \"string\") { fragment = this.getEvent(eventFragment); }\n return id(fragment.format());\n }\n */\n _decodeParams(params, data) {\n return this.#abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this.#abiCoder.encode(params, values);\n }\n /**\n * Encodes a ``tx.data`` object for deploying the Contract with\n * the %%values%% as the constructor arguments.\n */\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified error (see [[getError]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeErrorResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match error ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the transaction revert data for a call result that\n * reverted from the the Contract with the sepcified %%error%%\n * (see [[getError]] for valid values for %%fragment%%) with the %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeErrorResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getError(fragment);\n assertArgument(f, \"unknown error\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the %%data%% from a transaction ``tx.data`` for\n * the function specified (see [[getFunction]] for valid values\n * for %%fragment%%).\n *\n * Most developers should prefer the [[parseTransaction]] method\n * instead, which will automatically detect the fragment.\n */\n decodeFunctionData(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n assertArgument(dataSlice(data, 0, 4) === fragment.selector, `data signature does not match function ${fragment.name}.`, \"data\", data);\n return this._decodeParams(fragment.inputs, dataSlice(data, 4));\n }\n /**\n * Encodes the ``tx.data`` for a transaction that calls the function\n * specified (see [[getFunction]] for valid values for %%fragment%%) with\n * the %%values%%.\n */\n encodeFunctionData(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return concat([\n fragment.selector,\n this._encodeParams(fragment.inputs, values || [])\n ]);\n }\n /**\n * Decodes the result %%data%% (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values for\n * %%key%%).\n *\n * Most developers should prefer the [[parseCallResult]] method instead,\n * which will automatically detect a ``CALL_EXCEPTION`` and throw the\n * corresponding error.\n */\n decodeFunctionResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n let message = \"invalid length for result data\";\n const bytes = getBytesCopy(data);\n if ((bytes.length % 32) === 0) {\n try {\n return this.#abiCoder.decode(fragment.outputs, bytes);\n }\n catch (error) {\n message = \"could not decode result data\";\n }\n }\n // Call returned data with no error, but the data is junk\n assert(false, message, \"BAD_DATA\", {\n value: hexlify(bytes),\n info: { method: fragment.name, signature: fragment.format() }\n });\n }\n makeError(_data, tx) {\n const data = getBytes(_data, \"data\");\n const error = AbiCoder.getBuiltinCallException(\"call\", tx, data);\n // Not a built-in error; try finding a custom error\n const customPrefix = \"execution reverted (unknown custom error)\";\n if (error.message.startsWith(customPrefix)) {\n const selector = hexlify(data.slice(0, 4));\n const ef = this.getError(selector);\n if (ef) {\n try {\n const args = this.#abiCoder.decode(ef.inputs, data.slice(4));\n error.revert = {\n name: ef.name, signature: ef.format(), args\n };\n error.reason = error.revert.signature;\n error.message = `execution reverted: ${error.reason}`;\n }\n catch (e) {\n error.message = `execution reverted (coult not decode custom error)`;\n }\n }\n }\n // Add the invocation, if available\n const parsed = this.parseTransaction(tx);\n if (parsed) {\n error.invocation = {\n method: parsed.name,\n signature: parsed.signature,\n args: parsed.args\n };\n }\n return error;\n }\n /**\n * Encodes the result data (e.g. from an ``eth_call``) for the\n * specified function (see [[getFunction]] for valid values\n * for %%fragment%%) with %%values%%.\n *\n * This is generally not used by most developers, unless trying to mock\n * a result from a Contract.\n */\n encodeFunctionResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getFunction(fragment);\n assertArgument(f, \"unknown function\", \"fragment\", fragment);\n fragment = f;\n }\n return hexlify(this.#abiCoder.encode(fragment.outputs, values || []));\n }\n /*\n spelunk(inputs: Array<ParamType>, values: ReadonlyArray<any>, processfunc: (type: string, value: any) => Promise<any>): Promise<Array<any>> {\n const promises: Array<Promise<>> = [ ];\n const process = function(type: ParamType, value: any): any {\n if (type.baseType === \"array\") {\n return descend(type.child\n }\n if (type. === \"address\") {\n }\n };\n \n const descend = function (inputs: Array<ParamType>, values: ReadonlyArray<any>) {\n if (inputs.length !== values.length) { throw new Error(\"length mismatch\"); }\n \n };\n \n const result: Array<any> = [ ];\n values.forEach((value, index) => {\n if (value == null) {\n topics.push(null);\n } else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n } else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n } else {\n topics.push(encodeTopic(param, value));\n }\n });\n }\n */\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n assert(values.length <= fragment.inputs.length, `too many arguments for ${fragment.format()}`, \"UNEXPECTED_ARGUMENT\", { count: values.length, expectedCount: fragment.inputs.length });\n const topics = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n // @TODO: Use the coders for this; to properly support tuples, etc.\n const encodeTopic = (param, value) => {\n if (param.type === \"string\") {\n return id(value);\n }\n else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n if (param.type === \"bool\" && typeof (value) === \"boolean\") {\n value = (value ? \"0x01\" : \"0x00\");\n }\n else if (param.type.match(/^u?int/)) {\n value = toBeHex(value); // @TODO: Should this toTwos??\n }\n else if (param.type.match(/^bytes/)) {\n value = zeroPadBytes(value, 32);\n }\n else if (param.type === \"address\") {\n // Check addresses are valid\n this.#abiCoder.encode([\"address\"], [value]);\n }\n return zeroPadValue(hexlify(value), 32);\n };\n values.forEach((value, index) => {\n const param = fragment.inputs[index];\n if (!param.indexed) {\n assertArgument(value == null, \"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n return;\n }\n if (value == null) {\n topics.push(null);\n }\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n assertArgument(false, \"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n }\n else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n }\n else {\n topics.push(encodeTopic(param, value));\n }\n });\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n return topics;\n }\n encodeEventLog(fragment, values) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!fragment.anonymous) {\n topics.push(fragment.topicHash);\n }\n assertArgument(values.length === fragment.inputs.length, \"event arguments/values mismatch\", \"values\", values);\n fragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value));\n }\n else if (param.type === \"bytes\") {\n topics.push(keccak256(value));\n }\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n }\n else {\n topics.push(this.#abiCoder.encode([param.type], [value]));\n }\n }\n else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this.#abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(fragment, data, topics) {\n if (typeof (fragment) === \"string\") {\n const f = this.getEvent(fragment);\n assertArgument(f, \"unknown event\", \"eventFragment\", fragment);\n fragment = f;\n }\n if (topics != null && !fragment.anonymous) {\n const eventTopic = fragment.topicHash;\n assertArgument(isHexString(topics[0], 32) && topics[0].toLowerCase() === eventTopic, \"fragment/topic mismatch\", \"topics[0]\", topics[0]);\n topics = topics.slice(1);\n }\n const indexed = [];\n const nonIndexed = [];\n const dynamic = [];\n fragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.from({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n }\n else {\n indexed.push(param);\n dynamic.push(false);\n }\n }\n else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n const resultIndexed = (topics != null) ? this.#abiCoder.decode(indexed, concat(topics)) : null;\n const resultNonIndexed = this.#abiCoder.decode(nonIndexed, data, true);\n //const result: (Array<any> & { [ key: string ]: any }) = [ ];\n const values = [];\n const keys = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n fragment.inputs.forEach((param, index) => {\n let value = null;\n if (param.indexed) {\n if (resultIndexed == null) {\n value = new Indexed(null);\n }\n else if (dynamic[index]) {\n value = new Indexed(resultIndexed[indexedIndex++]);\n }\n else {\n try {\n value = resultIndexed[indexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n }\n else {\n try {\n value = resultNonIndexed[nonIndexedIndex++];\n }\n catch (error) {\n value = error;\n }\n }\n values.push(value);\n keys.push(param.name || null);\n });\n return Result.fromItems(values, keys);\n }\n /**\n * Parses a transaction, finding the matching function and extracts\n * the parameter values along with other useful function details.\n *\n * If the matching function cannot be found, return null.\n */\n parseTransaction(tx) {\n const data = getBytes(tx.data, \"tx.data\");\n const value = getBigInt((tx.value != null) ? tx.value : 0, \"tx.value\");\n const fragment = this.getFunction(hexlify(data.slice(0, 4)));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, data.slice(4));\n return new TransactionDescription(fragment, fragment.selector, args, value);\n }\n parseCallResult(data) {\n throw new Error(\"@TODO\");\n }\n /**\n * Parses a receipt log, finding the matching event and extracts\n * the parameter values along with other useful event details.\n *\n * If the matching event cannot be found, returns null.\n */\n parseLog(log) {\n const fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) {\n return null;\n }\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new LogDescription(fragment, fragment.topicHash, this.decodeEventLog(fragment, log.data, log.topics));\n }\n /**\n * Parses a revert data, finding the matching error and extracts\n * the parameter values along with other useful error details.\n *\n * If the matching error cannot be found, returns null.\n */\n parseError(data) {\n const hexData = hexlify(data);\n const fragment = this.getError(dataSlice(hexData, 0, 4));\n if (!fragment) {\n return null;\n }\n const args = this.#abiCoder.decode(fragment.inputs, dataSlice(hexData, 4));\n return new ErrorDescription(fragment, fragment.selector, args);\n }\n /**\n * Creates a new [[Interface]] from the ABI %%value%%.\n *\n * The %%value%% may be provided as an existing [[Interface]] object,\n * a JSON-encoded ABI or any Human-Readable ABI format.\n */\n static from(value) {\n // Already an Interface, which is immutable\n if (value instanceof Interface) {\n return value;\n }\n // JSON\n if (typeof (value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n // An Interface; possibly from another v6 instance\n if (typeof (value.formatJson) === \"function\") {\n return new Interface(value.formatJson());\n }\n // A legacy Interface; from an older version\n if (typeof (value.format) === \"function\") {\n return new Interface(value.format(\"json\"));\n }\n // Array of fragments\n return new Interface(value);\n }\n}\n//# sourceMappingURL=interface.js.map","//import { resolveAddress } from \"@ethersproject/address\";\nimport { defineProperties, getBigInt, getNumber, hexlify, isBytesLike, resolveProperties, assert, assertArgument, isError, makeError } from \"../utils/index.js\";\nimport { accessListify } from \"../transaction/index.js\";\nconst BN_0 = BigInt(0);\n// -----------------------\nfunction getValue(value) {\n if (value == null) {\n return null;\n }\n return value;\n}\nfunction toJson(value) {\n if (value == null) {\n return null;\n }\n return value.toString();\n}\n// @TODO? <T extends FeeData = { }> implements Required<T>\n/**\n * A **FeeData** wraps all the fee-related values associated with\n * the network.\n */\nexport class FeeData {\n /**\n * The gas price for legacy networks.\n */\n gasPrice;\n /**\n * The maximum fee to pay per gas.\n *\n * The base fee per gas is defined by the network and based on\n * congestion, increasing the cost during times of heavy load\n * and lowering when less busy.\n *\n * The actual fee per gas will be the base fee for the block\n * and the priority fee, up to the max fee per gas.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxFeePerGas;\n /**\n * The additional amout to pay per gas to encourage a validator\n * to include the transaction.\n *\n * The purpose of this is to compensate the validator for the\n * adjusted risk for including a given transaction.\n *\n * This will be ``null`` on legacy networks (i.e. [pre-EIP-1559](link-eip-1559))\n */\n maxPriorityFeePerGas;\n /**\n * Creates a new FeeData for %%gasPrice%%, %%maxFeePerGas%% and\n * %%maxPriorityFeePerGas%%.\n */\n constructor(gasPrice, maxFeePerGas, maxPriorityFeePerGas) {\n defineProperties(this, {\n gasPrice: getValue(gasPrice),\n maxFeePerGas: getValue(maxFeePerGas),\n maxPriorityFeePerGas: getValue(maxPriorityFeePerGas)\n });\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = this;\n return {\n _type: \"FeeData\",\n gasPrice: toJson(gasPrice),\n maxFeePerGas: toJson(maxFeePerGas),\n maxPriorityFeePerGas: toJson(maxPriorityFeePerGas),\n };\n }\n}\n;\n/**\n * Returns a copy of %%req%% with all properties coerced to their strict\n * types.\n */\nexport function copyRequest(req) {\n const result = {};\n // These could be addresses, ENS names or Addressables\n if (req.to) {\n result.to = req.to;\n }\n if (req.from) {\n result.from = req.from;\n }\n if (req.data) {\n result.data = hexlify(req.data);\n }\n const bigIntKeys = \"chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value\".split(/,/);\n for (const key of bigIntKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getBigInt(req[key], `request.${key}`);\n }\n const numberKeys = \"type,nonce\".split(/,/);\n for (const key of numberKeys) {\n if (!(key in req) || req[key] == null) {\n continue;\n }\n result[key] = getNumber(req[key], `request.${key}`);\n }\n if (req.accessList) {\n result.accessList = accessListify(req.accessList);\n }\n if (\"blockTag\" in req) {\n result.blockTag = req.blockTag;\n }\n if (\"enableCcipRead\" in req) {\n result.enableCcipRead = !!req.enableCcipRead;\n }\n if (\"customData\" in req) {\n result.customData = req.customData;\n }\n if (\"blobVersionedHashes\" in req && req.blobVersionedHashes) {\n result.blobVersionedHashes = req.blobVersionedHashes.slice();\n }\n if (\"kzg\" in req) {\n result.kzg = req.kzg;\n }\n if (\"blobs\" in req && req.blobs) {\n result.blobs = req.blobs.map((b) => {\n if (isBytesLike(b)) {\n return hexlify(b);\n }\n return Object.assign({}, b);\n });\n }\n return result;\n}\n/**\n * A **Block** represents the data associated with a full block on\n * Ethereum.\n */\nexport class Block {\n /**\n * The provider connected to the block used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The block number, sometimes called the block height. This is a\n * sequential number that is one higher than the parent block.\n */\n number;\n /**\n * The block hash.\n *\n * This hash includes all properties, so can be safely used to identify\n * an exact set of block properties.\n */\n hash;\n /**\n * The timestamp for this block, which is the number of seconds since\n * epoch that this block was included.\n */\n timestamp;\n /**\n * The block hash of the parent block.\n */\n parentHash;\n /**\n * The hash tree root of the parent beacon block for the given\n * execution block. See [[link-eip-4788]].\n */\n parentBeaconBlockRoot;\n /**\n * The nonce.\n *\n * On legacy networks, this is the random number inserted which\n * permitted the difficulty target to be reached.\n */\n nonce;\n /**\n * The difficulty target.\n *\n * On legacy networks, this is the proof-of-work target required\n * for a block to meet the protocol rules to be included.\n *\n * On modern networks, this is a random number arrived at using\n * randao. @TODO: Find links?\n */\n difficulty;\n /**\n * The total gas limit for this block.\n */\n gasLimit;\n /**\n * The total gas used in this block.\n */\n gasUsed;\n /**\n * The root hash for the global state after applying changes\n * in this block.\n */\n stateRoot;\n /**\n * The hash of the transaction receipts trie.\n */\n receiptsRoot;\n /**\n * The total amount of blob gas consumed by the transactions\n * within the block. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The running total of blob gas consumed in excess of the\n * target, prior to the block. See [[link-eip-4844]].\n */\n excessBlobGas;\n /**\n * The miner coinbase address, wihch receives any subsidies for\n * including this block.\n */\n miner;\n /**\n * The latest RANDAO mix of the post beacon state of\n * the previous block.\n */\n prevRandao;\n /**\n * Any extra data the validator wished to include.\n */\n extraData;\n /**\n * The base fee per gas that all transactions in this block were\n * charged.\n *\n * This adjusts after each block, depending on how congested the network\n * is.\n */\n baseFeePerGas;\n #transactions;\n /**\n * Create a new **Block** object.\n *\n * This should generally not be necessary as the unless implementing a\n * low-level library.\n */\n constructor(block, provider) {\n this.#transactions = block.transactions.map((tx) => {\n if (typeof (tx) !== \"string\") {\n return new TransactionResponse(tx, provider);\n }\n return tx;\n });\n defineProperties(this, {\n provider,\n hash: getValue(block.hash),\n number: block.number,\n timestamp: block.timestamp,\n parentHash: block.parentHash,\n parentBeaconBlockRoot: block.parentBeaconBlockRoot,\n nonce: block.nonce,\n difficulty: block.difficulty,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n blobGasUsed: block.blobGasUsed,\n excessBlobGas: block.excessBlobGas,\n miner: block.miner,\n prevRandao: getValue(block.prevRandao),\n extraData: block.extraData,\n baseFeePerGas: getValue(block.baseFeePerGas),\n stateRoot: block.stateRoot,\n receiptsRoot: block.receiptsRoot,\n });\n }\n /**\n * Returns the list of transaction hashes, in the order\n * they were executed within the block.\n */\n get transactions() {\n return this.#transactions.map((tx) => {\n if (typeof (tx) === \"string\") {\n return tx;\n }\n return tx.hash;\n });\n }\n /**\n * Returns the complete transactions, in the order they\n * were executed within the block.\n *\n * This is only available for blocks which prefetched\n * transactions, by passing ``true`` to %%prefetchTxs%%\n * into [[Provider-getBlock]].\n */\n get prefetchedTransactions() {\n const txs = this.#transactions.slice();\n // Doesn't matter...\n if (txs.length === 0) {\n return [];\n }\n // Make sure we prefetched the transactions\n assert(typeof (txs[0]) === \"object\", \"transactions were not prefetched with block request\", \"UNSUPPORTED_OPERATION\", {\n operation: \"transactionResponses()\"\n });\n return txs;\n }\n /**\n * Returns a JSON-friendly value.\n */\n toJSON() {\n const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, prevRandao, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this;\n return {\n _type: \"Block\",\n baseFeePerGas: toJson(baseFeePerGas),\n difficulty: toJson(difficulty),\n extraData,\n gasLimit: toJson(gasLimit),\n gasUsed: toJson(gasUsed),\n blobGasUsed: toJson(this.blobGasUsed),\n excessBlobGas: toJson(this.excessBlobGas),\n hash, miner, prevRandao, nonce, number, parentHash, timestamp,\n parentBeaconBlockRoot, stateRoot, receiptsRoot,\n transactions,\n };\n }\n [Symbol.iterator]() {\n let index = 0;\n const txs = this.transactions;\n return {\n next: () => {\n if (index < this.length) {\n return {\n value: txs[index++], done: false\n };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The number of transactions in this block.\n */\n get length() { return this.#transactions.length; }\n /**\n * The [[link-js-date]] this block was included at.\n */\n get date() {\n if (this.timestamp == null) {\n return null;\n }\n return new Date(this.timestamp * 1000);\n }\n /**\n * Get the transaction at %%indexe%% within this block.\n */\n async getTransaction(indexOrHash) {\n // Find the internal value by its index or hash\n let tx = undefined;\n if (typeof (indexOrHash) === \"number\") {\n tx = this.#transactions[indexOrHash];\n }\n else {\n const hash = indexOrHash.toLowerCase();\n for (const v of this.#transactions) {\n if (typeof (v) === \"string\") {\n if (v !== hash) {\n continue;\n }\n tx = v;\n break;\n }\n else {\n if (v.hash !== hash) {\n continue;\n }\n tx = v;\n break;\n }\n }\n }\n if (tx == null) {\n throw new Error(\"no such tx\");\n }\n if (typeof (tx) === \"string\") {\n return (await this.provider.getTransaction(tx));\n }\n else {\n return tx;\n }\n }\n /**\n * If a **Block** was fetched with a request to include the transactions\n * this will allow synchronous access to those transactions.\n *\n * If the transactions were not prefetched, this will throw.\n */\n getPrefetchedTransaction(indexOrHash) {\n const txs = this.prefetchedTransactions;\n if (typeof (indexOrHash) === \"number\") {\n return txs[indexOrHash];\n }\n indexOrHash = indexOrHash.toLowerCase();\n for (const tx of txs) {\n if (tx.hash === indexOrHash) {\n return tx;\n }\n }\n assertArgument(false, \"no matching transaction\", \"indexOrHash\", indexOrHash);\n }\n /**\n * Returns true if this block been mined. This provides a type guard\n * for all properties on a [[MinedBlock]].\n */\n isMined() { return !!this.hash; }\n /**\n * Returns true if this block is an [[link-eip-2930]] block.\n */\n isLondon() {\n return !!this.baseFeePerGas;\n }\n /**\n * @_ignore:\n */\n orphanedEvent() {\n if (!this.isMined()) {\n throw new Error(\"\");\n }\n return createOrphanedBlockFilter(this);\n }\n}\n//////////////////////\n// Log\n/**\n * A **Log** in Ethereum represents an event that has been included in a\n * transaction using the ``LOG*`` opcodes, which are most commonly used by\n * Solidity's emit for announcing events.\n */\nexport class Log {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The transaction hash of the transaction this log occurred in. Use the\n * [[Log-getTransaction]] to get the [[TransactionResponse]].\n */\n transactionHash;\n /**\n * The block hash of the block this log occurred in. Use the\n * [[Log-getBlock]] to get the [[Block]].\n */\n blockHash;\n /**\n * The block number of the block this log occurred in. It is preferred\n * to use the [[Block-hash]] when fetching the related [[Block]],\n * since in the case of an orphaned block, the block at that height may\n * have changed.\n */\n blockNumber;\n /**\n * If the **Log** represents a block that was removed due to an orphaned\n * block, this will be true.\n *\n * This can only happen within an orphan event listener.\n */\n removed;\n /**\n * The address of the contract that emitted this log.\n */\n address;\n /**\n * The data included in this log when it was emitted.\n */\n data;\n /**\n * The indexed topics included in this log when it was emitted.\n *\n * All topics are included in the bloom filters, so they can be\n * efficiently filtered using the [[Provider-getLogs]] method.\n */\n topics;\n /**\n * The index within the block this log occurred at. This is generally\n * not useful to developers, but can be used with the various roots\n * to proof inclusion within a block.\n */\n index;\n /**\n * The index within the transaction of this log.\n */\n transactionIndex;\n /**\n * @_ignore:\n */\n constructor(log, provider) {\n this.provider = provider;\n const topics = Object.freeze(log.topics.slice());\n defineProperties(this, {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n removed: log.removed,\n address: log.address,\n data: log.data,\n topics,\n index: log.index,\n transactionIndex: log.transactionIndex,\n });\n }\n /**\n * Returns a JSON-compatible object.\n */\n toJSON() {\n const { address, blockHash, blockNumber, data, index, removed, topics, transactionHash, transactionIndex } = this;\n return {\n _type: \"log\",\n address, blockHash, blockNumber, data, index,\n removed, topics, transactionHash, transactionIndex\n };\n }\n /**\n * Returns the block that this log occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n assert(!!block, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return block;\n }\n /**\n * Returns the transaction that this log occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.transactionHash);\n assert(!!tx, \"failed to find transaction\", \"UNKNOWN_ERROR\", {});\n return tx;\n }\n /**\n * Returns the transaction receipt fot the transaction that this\n * log occurred in.\n */\n async getTransactionReceipt() {\n const receipt = await this.provider.getTransactionReceipt(this.transactionHash);\n assert(!!receipt, \"failed to find transaction receipt\", \"UNKNOWN_ERROR\", {});\n return receipt;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedLogFilter(this);\n }\n}\n//////////////////////\n// Transaction Receipt\n/*\nexport interface LegacyTransactionReceipt {\n byzantium: false;\n status: null;\n root: string;\n}\n\nexport interface ByzantiumTransactionReceipt {\n byzantium: true;\n status: number;\n root: null;\n}\n*/\n/**\n * A **TransactionReceipt** includes additional information about a\n * transaction that is only available after it has been mined.\n */\nexport class TransactionReceipt {\n /**\n * The provider connected to the log used to fetch additional details\n * if necessary.\n */\n provider;\n /**\n * The address the transaction was sent to.\n */\n to;\n /**\n * The sender of the transaction.\n */\n from;\n /**\n * The address of the contract if the transaction was directly\n * responsible for deploying one.\n *\n * This is non-null **only** if the ``to`` is empty and the ``data``\n * was successfully executed as initcode.\n */\n contractAddress;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The index of this transaction within the block transactions.\n */\n index;\n /**\n * The block hash of the [[Block]] this transaction was included in.\n */\n blockHash;\n /**\n * The block number of the [[Block]] this transaction was included in.\n */\n blockNumber;\n /**\n * The bloom filter bytes that represent all logs that occurred within\n * this transaction. This is generally not useful for most developers,\n * but can be used to validate the included logs.\n */\n logsBloom;\n /**\n * The actual amount of gas used by this transaction.\n *\n * When creating a transaction, the amount of gas that will be used can\n * only be approximated, but the sender must pay the gas fee for the\n * entire gas limit. After the transaction, the difference is refunded.\n */\n gasUsed;\n /**\n * The gas used for BLObs. See [[link-eip-4844]].\n */\n blobGasUsed;\n /**\n * The amount of gas used by all transactions within the block for this\n * and all transactions with a lower ``index``.\n *\n * This is generally not useful for developers but can be used to\n * validate certain aspects of execution.\n */\n cumulativeGasUsed;\n /**\n * The actual gas price used during execution.\n *\n * Due to the complexity of [[link-eip-1559]] this value can only\n * be caluclated after the transaction has been mined, snce the base\n * fee is protocol-enforced.\n */\n gasPrice;\n /**\n * The price paid per BLOB in gas. See [[link-eip-4844]].\n */\n blobGasPrice;\n /**\n * The [[link-eip-2718]] transaction type.\n */\n type;\n //readonly byzantium!: boolean;\n /**\n * The status of this transaction, indicating success (i.e. ``1``) or\n * a revert (i.e. ``0``).\n *\n * This is available in post-byzantium blocks, but some backends may\n * backfill this value.\n */\n status;\n /**\n * The root hash of this transaction.\n *\n * This is no present and was only included in pre-byzantium blocks, but\n * could be used to validate certain parts of the receipt.\n */\n root;\n #logs;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.#logs = Object.freeze(tx.logs.map((log) => {\n return new Log(log, provider);\n }));\n let gasPrice = BN_0;\n if (tx.effectiveGasPrice != null) {\n gasPrice = tx.effectiveGasPrice;\n }\n else if (tx.gasPrice != null) {\n gasPrice = tx.gasPrice;\n }\n defineProperties(this, {\n provider,\n to: tx.to,\n from: tx.from,\n contractAddress: tx.contractAddress,\n hash: tx.hash,\n index: tx.index,\n blockHash: tx.blockHash,\n blockNumber: tx.blockNumber,\n logsBloom: tx.logsBloom,\n gasUsed: tx.gasUsed,\n cumulativeGasUsed: tx.cumulativeGasUsed,\n blobGasUsed: tx.blobGasUsed,\n gasPrice,\n blobGasPrice: tx.blobGasPrice,\n type: tx.type,\n //byzantium: tx.byzantium,\n status: tx.status,\n root: tx.root\n });\n }\n /**\n * The logs for this transaction.\n */\n get logs() { return this.#logs; }\n /**\n * Returns a JSON-compatible representation.\n */\n toJSON() {\n const { to, from, contractAddress, hash, index, blockHash, blockNumber, logsBloom, logs, //byzantium, \n status, root } = this;\n return {\n _type: \"TransactionReceipt\",\n blockHash, blockNumber,\n //byzantium, \n contractAddress,\n cumulativeGasUsed: toJson(this.cumulativeGasUsed),\n from,\n gasPrice: toJson(this.gasPrice),\n blobGasUsed: toJson(this.blobGasUsed),\n blobGasPrice: toJson(this.blobGasPrice),\n gasUsed: toJson(this.gasUsed),\n hash, index, logs, logsBloom, root, status, to\n };\n }\n /**\n * @_ignore:\n */\n get length() { return this.logs.length; }\n [Symbol.iterator]() {\n let index = 0;\n return {\n next: () => {\n if (index < this.length) {\n return { value: this.logs[index++], done: false };\n }\n return { value: undefined, done: true };\n }\n };\n }\n /**\n * The total fee for this transaction, in wei.\n */\n get fee() {\n return this.gasUsed * this.gasPrice;\n }\n /**\n * Resolves to the block this transaction occurred in.\n */\n async getBlock() {\n const block = await this.provider.getBlock(this.blockHash);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to the transaction this transaction occurred in.\n */\n async getTransaction() {\n const tx = await this.provider.getTransaction(this.hash);\n if (tx == null) {\n throw new Error(\"TODO\");\n }\n return tx;\n }\n /**\n * Resolves to the return value of the execution of this transaction.\n *\n * Support for this feature is limited, as it requires an archive node\n * with the ``debug_`` or ``trace_`` API enabled.\n */\n async getResult() {\n return (await this.provider.getTransactionResult(this.hash));\n }\n /**\n * Resolves to the number of confirmations this transaction has.\n */\n async confirmations() {\n return (await this.provider.getBlockNumber()) - this.blockNumber + 1;\n }\n /**\n * @_ignore:\n */\n removedEvent() {\n return createRemovedTransactionFilter(this);\n }\n /**\n * @_ignore:\n */\n reorderedEvent(other) {\n assert(!other || other.isMined(), \"unmined 'other' transction cannot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"reorderedEvent(other)\" });\n return createReorderedTransactionFilter(this, other);\n }\n}\n/**\n * A **TransactionResponse** includes all properties about a transaction\n * that was sent to the network, which may or may not be included in a\n * block.\n *\n * The [[TransactionResponse-isMined]] can be used to check if the\n * transaction has been mined as well as type guard that the otherwise\n * possibly ``null`` properties are defined.\n */\nexport class TransactionResponse {\n /**\n * The provider this is connected to, which will influence how its\n * methods will resolve its async inspection methods.\n */\n provider;\n /**\n * The block number of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockNumber;\n /**\n * The blockHash of the block that this transaction was included in.\n *\n * This is ``null`` for pending transactions.\n */\n blockHash;\n /**\n * The index within the block that this transaction resides at.\n */\n index;\n /**\n * The transaction hash.\n */\n hash;\n /**\n * The [[link-eip-2718]] transaction envelope type. This is\n * ``0`` for legacy transactions types.\n */\n type;\n /**\n * The receiver of this transaction.\n *\n * If ``null``, then the transaction is an initcode transaction.\n * This means the result of executing the [[data]] will be deployed\n * as a new contract on chain (assuming it does not revert) and the\n * address may be computed using [[getCreateAddress]].\n */\n to;\n /**\n * The sender of this transaction. It is implicitly computed\n * from the transaction pre-image hash (as the digest) and the\n * [[signature]] using ecrecover.\n */\n from;\n /**\n * The nonce, which is used to prevent replay attacks and offer\n * a method to ensure transactions from a given sender are explicitly\n * ordered.\n *\n * When sending a transaction, this must be equal to the number of\n * transactions ever sent by [[from]].\n */\n nonce;\n /**\n * The maximum units of gas this transaction can consume. If execution\n * exceeds this, the entries transaction is reverted and the sender\n * is charged for the full amount, despite not state changes being made.\n */\n gasLimit;\n /**\n * The gas price can have various values, depending on the network.\n *\n * In modern networks, for transactions that are included this is\n * the //effective gas price// (the fee per gas that was actually\n * charged), while for transactions that have not been included yet\n * is the [[maxFeePerGas]].\n *\n * For legacy transactions, or transactions on legacy networks, this\n * is the fee that will be charged per unit of gas the transaction\n * consumes.\n */\n gasPrice;\n /**\n * The maximum priority fee (per unit of gas) to allow a\n * validator to charge the sender. This is inclusive of the\n * [[maxFeeFeePerGas]].\n */\n maxPriorityFeePerGas;\n /**\n * The maximum fee (per unit of gas) to allow this transaction\n * to charge the sender.\n */\n maxFeePerGas;\n /**\n * The [[link-eip-4844]] max fee per BLOb gas.\n */\n maxFeePerBlobGas;\n /**\n * The data.\n */\n data;\n /**\n * The value, in wei. Use [[formatEther]] to format this value\n * as ether.\n */\n value;\n /**\n * The chain ID.\n */\n chainId;\n /**\n * The signature.\n */\n signature;\n /**\n * The [[link-eip-2930]] access list for transaction types that\n * support it, otherwise ``null``.\n */\n accessList;\n /**\n * The [[link-eip-4844]] BLOb versioned hashes.\n */\n blobVersionedHashes;\n #startBlock;\n /**\n * @_ignore:\n */\n constructor(tx, provider) {\n this.provider = provider;\n this.blockNumber = (tx.blockNumber != null) ? tx.blockNumber : null;\n this.blockHash = (tx.blockHash != null) ? tx.blockHash : null;\n this.hash = tx.hash;\n this.index = tx.index;\n this.type = tx.type;\n this.from = tx.from;\n this.to = tx.to || null;\n this.gasLimit = tx.gasLimit;\n this.nonce = tx.nonce;\n this.data = tx.data;\n this.value = tx.value;\n this.gasPrice = tx.gasPrice;\n this.maxPriorityFeePerGas = (tx.maxPriorityFeePerGas != null) ? tx.maxPriorityFeePerGas : null;\n this.maxFeePerGas = (tx.maxFeePerGas != null) ? tx.maxFeePerGas : null;\n this.maxFeePerBlobGas = (tx.maxFeePerBlobGas != null) ? tx.maxFeePerBlobGas : null;\n this.chainId = tx.chainId;\n this.signature = tx.signature;\n this.accessList = (tx.accessList != null) ? tx.accessList : null;\n this.blobVersionedHashes = (tx.blobVersionedHashes != null) ? tx.blobVersionedHashes : null;\n this.#startBlock = -1;\n }\n /**\n * Returns a JSON-compatible representation of this transaction.\n */\n toJSON() {\n const { blockNumber, blockHash, index, hash, type, to, from, nonce, data, signature, accessList, blobVersionedHashes } = this;\n return {\n _type: \"TransactionResponse\",\n accessList, blockNumber, blockHash,\n blobVersionedHashes,\n chainId: toJson(this.chainId),\n data, from,\n gasLimit: toJson(this.gasLimit),\n gasPrice: toJson(this.gasPrice),\n hash,\n maxFeePerGas: toJson(this.maxFeePerGas),\n maxPriorityFeePerGas: toJson(this.maxPriorityFeePerGas),\n maxFeePerBlobGas: toJson(this.maxFeePerBlobGas),\n nonce, signature, to, index, type,\n value: toJson(this.value),\n };\n }\n /**\n * Resolves to the Block that this transaction was included in.\n *\n * This will return null if the transaction has not been included yet.\n */\n async getBlock() {\n let blockNumber = this.blockNumber;\n if (blockNumber == null) {\n const tx = await this.getTransaction();\n if (tx) {\n blockNumber = tx.blockNumber;\n }\n }\n if (blockNumber == null) {\n return null;\n }\n const block = this.provider.getBlock(blockNumber);\n if (block == null) {\n throw new Error(\"TODO\");\n }\n return block;\n }\n /**\n * Resolves to this transaction being re-requested from the\n * provider. This can be used if you have an unmined transaction\n * and wish to get an up-to-date populated instance.\n */\n async getTransaction() {\n return this.provider.getTransaction(this.hash);\n }\n /**\n * Resolve to the number of confirmations this transaction has.\n */\n async confirmations() {\n if (this.blockNumber == null) {\n const { tx, blockNumber } = await resolveProperties({\n tx: this.getTransaction(),\n blockNumber: this.provider.getBlockNumber()\n });\n // Not mined yet...\n if (tx == null || tx.blockNumber == null) {\n return 0;\n }\n return blockNumber - tx.blockNumber + 1;\n }\n const blockNumber = await this.provider.getBlockNumber();\n return blockNumber - this.blockNumber + 1;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(_confirms, _timeout) {\n const confirms = (_confirms == null) ? 1 : _confirms;\n const timeout = (_timeout == null) ? 0 : _timeout;\n let startBlock = this.#startBlock;\n let nextScan = -1;\n let stopScanning = (startBlock === -1) ? true : false;\n const checkReplacement = async () => {\n // Get the current transaction count for this sender\n if (stopScanning) {\n return null;\n }\n const { blockNumber, nonce } = await resolveProperties({\n blockNumber: this.provider.getBlockNumber(),\n nonce: this.provider.getTransactionCount(this.from)\n });\n // No transaction or our nonce has not been mined yet; but we\n // can start scanning later when we do start\n if (nonce < this.nonce) {\n startBlock = blockNumber;\n return;\n }\n // We were mined; no replacement\n if (stopScanning) {\n return null;\n }\n const mined = await this.getTransaction();\n if (mined && mined.blockNumber != null) {\n return;\n }\n // We were replaced; start scanning for that transaction\n // Starting to scan; look back a few extra blocks for safety\n if (nextScan === -1) {\n nextScan = startBlock - 3;\n if (nextScan < this.#startBlock) {\n nextScan = this.#startBlock;\n }\n }\n while (nextScan <= blockNumber) {\n // Get the next block to scan\n if (stopScanning) {\n return null;\n }\n const block = await this.provider.getBlock(nextScan, true);\n // This should not happen; but we'll try again shortly\n if (block == null) {\n return;\n }\n // We were mined; no replacement\n for (const hash of block) {\n if (hash === this.hash) {\n return;\n }\n }\n // Search for the transaction that replaced us\n for (let i = 0; i < block.length; i++) {\n const tx = await block.getTransaction(i);\n if (tx.from === this.from && tx.nonce === this.nonce) {\n // Get the receipt\n if (stopScanning) {\n return null;\n }\n const receipt = await this.provider.getTransactionReceipt(tx.hash);\n // This should not happen; but we'll try again shortly\n if (receipt == null) {\n return;\n }\n // We will retry this on the next block (this case could be optimized)\n if ((blockNumber - receipt.blockNumber + 1) < confirms) {\n return;\n }\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === this.data && tx.to === this.to && tx.value === this.value) {\n reason = \"repriced\";\n }\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value === BN_0) {\n reason = \"cancelled\";\n }\n assert(false, \"transaction was replaced\", \"TRANSACTION_REPLACED\", {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: tx.replaceableTransaction(startBlock),\n hash: tx.hash,\n receipt\n });\n }\n }\n nextScan++;\n }\n return;\n };\n const checkReceipt = (receipt) => {\n if (receipt == null || receipt.status !== 0) {\n return receipt;\n }\n assert(false, \"transaction execution reverted\", \"CALL_EXCEPTION\", {\n action: \"sendTransaction\",\n data: null, reason: null, invocation: null, revert: null,\n transaction: {\n to: receipt.to,\n from: receipt.from,\n data: \"\" // @TODO: in v7, split out sendTransaction properties\n }, receipt\n });\n };\n const receipt = await this.provider.getTransactionReceipt(this.hash);\n if (confirms === 0) {\n return checkReceipt(receipt);\n }\n if (receipt) {\n if ((await receipt.confirmations()) >= confirms) {\n return checkReceipt(receipt);\n }\n }\n else {\n // Check for a replacement; throws if a replacement was found\n await checkReplacement();\n // Allow null only when the confirms is 0\n if (confirms === 0) {\n return null;\n }\n }\n const waiter = new Promise((resolve, reject) => {\n // List of things to cancel when we have a result (one way or the other)\n const cancellers = [];\n const cancel = () => { cancellers.forEach((c) => c()); };\n // On cancel, stop scanning for replacements\n cancellers.push(() => { stopScanning = true; });\n // Set up any timeout requested\n if (timeout > 0) {\n const timer = setTimeout(() => {\n cancel();\n reject(makeError(\"wait for transaction timeout\", \"TIMEOUT\"));\n }, timeout);\n cancellers.push(() => { clearTimeout(timer); });\n }\n const txListener = async (receipt) => {\n // Done; return it!\n if ((await receipt.confirmations()) >= confirms) {\n cancel();\n try {\n resolve(checkReceipt(receipt));\n }\n catch (error) {\n reject(error);\n }\n }\n };\n cancellers.push(() => { this.provider.off(this.hash, txListener); });\n this.provider.on(this.hash, txListener);\n // We support replacement detection; start checking\n if (startBlock >= 0) {\n const replaceListener = async () => {\n try {\n // Check for a replacement; this throws only if one is found\n await checkReplacement();\n }\n catch (error) {\n // We were replaced (with enough confirms); re-throw the error\n if (isError(error, \"TRANSACTION_REPLACED\")) {\n cancel();\n reject(error);\n return;\n }\n }\n // Rescheudle a check on the next block\n if (!stopScanning) {\n this.provider.once(\"block\", replaceListener);\n }\n };\n cancellers.push(() => { this.provider.off(\"block\", replaceListener); });\n this.provider.once(\"block\", replaceListener);\n }\n });\n return await waiter;\n }\n /**\n * Returns ``true`` if this transaction has been included.\n *\n * This is effective only as of the time the TransactionResponse\n * was instantiated. To get up-to-date information, use\n * [[getTransaction]].\n *\n * This provides a Type Guard that this transaction will have\n * non-null property values for properties that are null for\n * unmined transactions.\n */\n isMined() {\n return (this.blockHash != null);\n }\n /**\n * Returns true if the transaction is a legacy (i.e. ``type == 0``)\n * transaction.\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLegacy() {\n return (this.type === 0);\n }\n /**\n * Returns true if the transaction is a Berlin (i.e. ``type == 1``)\n * transaction. See [[link-eip-2070]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isBerlin() {\n return (this.type === 1);\n }\n /**\n * Returns true if the transaction is a London (i.e. ``type == 2``)\n * transaction. See [[link-eip-1559]].\n *\n * This provides a Type Guard that this transaction will have\n * the ``null``-ness for hardfork-specific properties set correctly.\n */\n isLondon() {\n return (this.type === 2);\n }\n /**\n * Returns true if hte transaction is a Cancun (i.e. ``type == 3``)\n * transaction. See [[link-eip-4844]].\n */\n isCancun() {\n return (this.type === 3);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that evict this transaction.\n */\n removedEvent() {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createRemovedTransactionFilter(this);\n }\n /**\n * Returns a filter which can be used to listen for orphan events\n * that re-order this event against %%other%%.\n */\n reorderedEvent(other) {\n assert(this.isMined(), \"unmined transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n assert(!other || other.isMined(), \"unmined 'other' transaction canot be orphaned\", \"UNSUPPORTED_OPERATION\", { operation: \"removeEvent()\" });\n return createReorderedTransactionFilter(this, other);\n }\n /**\n * Returns a new TransactionResponse instance which has the ability to\n * detect (and throw an error) if the transaction is replaced, which\n * will begin scanning at %%startBlock%%.\n *\n * This should generally not be used by developers and is intended\n * primarily for internal use. Setting an incorrect %%startBlock%% can\n * have devastating performance consequences if used incorrectly.\n */\n replaceableTransaction(startBlock) {\n assertArgument(Number.isInteger(startBlock) && startBlock >= 0, \"invalid startBlock\", \"startBlock\", startBlock);\n const tx = new TransactionResponse(this, this.provider);\n tx.#startBlock = startBlock;\n return tx;\n }\n}\nfunction createOrphanedBlockFilter(block) {\n return { orphan: \"drop-block\", hash: block.hash, number: block.number };\n}\nfunction createReorderedTransactionFilter(tx, other) {\n return { orphan: \"reorder-transaction\", tx, other };\n}\nfunction createRemovedTransactionFilter(tx) {\n return { orphan: \"drop-transaction\", tx };\n}\nfunction createRemovedLogFilter(log) {\n return { orphan: \"drop-log\", log: {\n transactionHash: log.transactionHash,\n blockHash: log.blockHash,\n blockNumber: log.blockNumber,\n address: log.address,\n data: log.data,\n topics: Object.freeze(log.topics.slice()),\n index: log.index\n } };\n}\n//# sourceMappingURL=provider.js.map","// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { Log, TransactionReceipt, TransactionResponse } from \"../providers/provider.js\";\nimport { defineProperties, EventPayload } from \"../utils/index.js\";\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class EventLog extends Log {\n /**\n * The Contract Interface.\n */\n interface;\n /**\n * The matching event.\n */\n fragment;\n /**\n * The parsed arguments passed to the event by ``emit``.\n */\n args;\n /**\n * @_ignore:\n */\n constructor(log, iface, fragment) {\n super(log, log.provider);\n const args = iface.decodeEventLog(fragment, log.data, log.topics);\n defineProperties(this, { args, fragment, interface: iface });\n }\n /**\n * The name of the event.\n */\n get eventName() { return this.fragment.name; }\n /**\n * The signature of the event.\n */\n get eventSignature() { return this.fragment.format(); }\n}\n/**\n * An **EventLog** contains additional properties parsed from the [[Log]].\n */\nexport class UndecodedEventLog extends Log {\n /**\n * The error encounted when trying to decode the log.\n */\n error;\n /**\n * @_ignore:\n */\n constructor(log, error) {\n super(log, log.provider);\n defineProperties(this, { error });\n }\n}\n/**\n * A **ContractTransactionReceipt** includes the parsed logs from a\n * [[TransactionReceipt]].\n */\nexport class ContractTransactionReceipt extends TransactionReceipt {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * The parsed logs for any [[Log]] which has a matching event in the\n * Contract ABI.\n */\n get logs() {\n return super.logs.map((log) => {\n const fragment = log.topics.length ? this.#iface.getEvent(log.topics[0]) : null;\n if (fragment) {\n try {\n return new EventLog(log, this.#iface, fragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return log;\n });\n }\n}\n/**\n * A **ContractTransactionResponse** will return a\n * [[ContractTransactionReceipt]] when waited on.\n */\nexport class ContractTransactionResponse extends TransactionResponse {\n #iface;\n /**\n * @_ignore:\n */\n constructor(iface, provider, tx) {\n super(tx, provider);\n this.#iface = iface;\n }\n /**\n * Resolves once this transaction has been mined and has\n * %%confirms%% blocks including it (default: ``1``) with an\n * optional %%timeout%%.\n *\n * This can resolve to ``null`` only if %%confirms%% is ``0``\n * and the transaction has not been mined, otherwise this will\n * wait until enough confirmations have completed.\n */\n async wait(confirms, timeout) {\n const receipt = await super.wait(confirms, timeout);\n if (receipt == null) {\n return null;\n }\n return new ContractTransactionReceipt(this.#iface, this.provider, receipt);\n }\n}\n/**\n * A **ContractUnknownEventPayload** is included as the last parameter to\n * Contract Events when the event does not match any events in the ABI.\n */\nexport class ContractUnknownEventPayload extends EventPayload {\n /**\n * The log with no matching events.\n */\n log;\n /**\n * @_event:\n */\n constructor(contract, listener, filter, log) {\n super(contract, listener, filter);\n defineProperties(this, { log });\n }\n /**\n * Resolves to the block the event occured in.\n */\n async getBlock() {\n return await this.log.getBlock();\n }\n /**\n * Resolves to the transaction the event occured in.\n */\n async getTransaction() {\n return await this.log.getTransaction();\n }\n /**\n * Resolves to the transaction receipt the event occured in.\n */\n async getTransactionReceipt() {\n return await this.log.getTransactionReceipt();\n }\n}\n/**\n * A **ContractEventPayload** is included as the last parameter to\n * Contract Events when the event is known.\n */\nexport class ContractEventPayload extends ContractUnknownEventPayload {\n /**\n * @_ignore:\n */\n constructor(contract, listener, filter, fragment, _log) {\n super(contract, listener, filter, new EventLog(_log, contract.interface, fragment));\n const args = contract.interface.decodeEventLog(fragment, this.log.data, this.log.topics);\n defineProperties(this, { args, fragment });\n }\n /**\n * The event name.\n */\n get eventName() {\n return this.fragment.name;\n }\n /**\n * The event signature.\n */\n get eventSignature() {\n return this.fragment.format();\n }\n}\n//# sourceMappingURL=wrappers.js.map","import { Interface, Typed } from \"../abi/index.js\";\nimport { isAddressable, resolveAddress } from \"../address/index.js\";\n// import from provider.ts instead of index.ts to prevent circular dep\n// from EtherscanProvider\nimport { copyRequest, Log } from \"../providers/provider.js\";\nimport { defineProperties, getBigInt, isCallException, isHexString, resolveProperties, isError, makeError, assert, assertArgument } from \"../utils/index.js\";\nimport { ContractEventPayload, ContractUnknownEventPayload, ContractTransactionResponse, EventLog, UndecodedEventLog } from \"./wrappers.js\";\nconst BN_0 = BigInt(0);\nfunction canCall(value) {\n return (value && typeof (value.call) === \"function\");\n}\nfunction canEstimate(value) {\n return (value && typeof (value.estimateGas) === \"function\");\n}\nfunction canResolve(value) {\n return (value && typeof (value.resolveName) === \"function\");\n}\nfunction canSend(value) {\n return (value && typeof (value.sendTransaction) === \"function\");\n}\nfunction getResolver(value) {\n if (value != null) {\n if (canResolve(value)) {\n return value;\n }\n if (value.provider) {\n return value.provider;\n }\n }\n return undefined;\n}\nclass PreparedTopicFilter {\n #filter;\n fragment;\n constructor(contract, fragment, args) {\n defineProperties(this, { fragment });\n if (fragment.inputs.length < args.length) {\n throw new Error(\"too many arguments\");\n }\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(contract.runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n this.#filter = (async function () {\n const resolvedArgs = await Promise.all(fragment.inputs.map((param, index) => {\n const arg = args[index];\n if (arg == null) {\n return null;\n }\n return param.walkAsync(args[index], (type, value) => {\n if (type === \"address\") {\n if (Array.isArray(value)) {\n return Promise.all(value.map((v) => resolveAddress(v, resolver)));\n }\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n return contract.interface.encodeFilterTopics(fragment, resolvedArgs);\n })();\n }\n getTopicFilter() {\n return this.#filter;\n }\n}\n// A = Arguments passed in as a tuple\n// R = The result type of the call (i.e. if only one return type,\n// the qualified type, otherwise Result)\n// D = The type the default call will return (i.e. R for view/pure,\n// TransactionResponse otherwise)\n//export interface ContractMethod<A extends Array<any> = Array<any>, R = any, D extends R | ContractTransactionResponse = ContractTransactionResponse> {\nfunction getRunner(value, feature) {\n if (value == null) {\n return null;\n }\n if (typeof (value[feature]) === \"function\") {\n return value;\n }\n if (value.provider && typeof (value.provider[feature]) === \"function\") {\n return value.provider;\n }\n return null;\n}\nfunction getProvider(value) {\n if (value == null) {\n return null;\n }\n return value.provider || null;\n}\n/**\n * @_ignore:\n */\nexport async function copyOverrides(arg, allowed) {\n // Make sure the overrides passed in are a valid overrides object\n const _overrides = Typed.dereference(arg, \"overrides\");\n assertArgument(typeof (_overrides) === \"object\", \"invalid overrides parameter\", \"overrides\", arg);\n // Create a shallow copy (we'll deep-ify anything needed during normalizing)\n const overrides = copyRequest(_overrides);\n assertArgument(overrides.to == null || (allowed || []).indexOf(\"to\") >= 0, \"cannot override to\", \"overrides.to\", overrides.to);\n assertArgument(overrides.data == null || (allowed || []).indexOf(\"data\") >= 0, \"cannot override data\", \"overrides.data\", overrides.data);\n // Resolve any from\n if (overrides.from) {\n overrides.from = overrides.from;\n }\n return overrides;\n}\n/**\n * @_ignore:\n */\nexport async function resolveArgs(_runner, inputs, args) {\n // Recursively descend into args and resolve any addresses\n const runner = getRunner(_runner, \"resolveName\");\n const resolver = canResolve(runner) ? runner : null;\n return await Promise.all(inputs.map((param, index) => {\n return param.walkAsync(args[index], (type, value) => {\n value = Typed.dereference(value, type);\n if (type === \"address\") {\n return resolveAddress(value, resolver);\n }\n return value;\n });\n }));\n}\nfunction buildWrappedFallback(contract) {\n const populateTransaction = async function (overrides) {\n // If an overrides was passed in, copy it and normalize the values\n const tx = (await copyOverrides(overrides, [\"data\"]));\n tx.to = await contract.getAddress();\n if (tx.from) {\n tx.from = await resolveAddress(tx.from, getResolver(contract.runner));\n }\n const iface = contract.interface;\n const noValue = (getBigInt((tx.value || BN_0), \"overrides.value\") === BN_0);\n const noData = ((tx.data || \"0x\") === \"0x\");\n if (iface.fallback && !iface.fallback.payable && iface.receive && !noData && !noValue) {\n assertArgument(false, \"cannot send data to receive or send value to non-payable fallback\", \"overrides\", overrides);\n }\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n // Only allow payable contracts to set non-zero value\n const payable = iface.receive || (iface.fallback && iface.fallback.payable);\n assertArgument(payable || noValue, \"cannot send value to non-payable fallback\", \"overrides.value\", tx.value);\n // Only allow fallback contracts to set non-empty data\n assertArgument(iface.fallback || noData, \"cannot send data to receive-only contract\", \"overrides.data\", tx.data);\n return tx;\n };\n const staticCall = async function (overrides) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(overrides);\n try {\n return await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n };\n const send = async function (overrides) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(overrides));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (overrides) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(overrides));\n };\n const method = async (overrides) => {\n return await send(overrides);\n };\n defineProperties(method, {\n _contract: contract,\n estimateGas,\n populateTransaction,\n send, staticCall\n });\n return method;\n}\nfunction buildWrappedMethod(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getFunction(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const populateTransaction = async function (...args) {\n const fragment = getFragment(...args);\n // If an overrides was passed in, copy it and normalize the values\n let overrides = {};\n if (fragment.inputs.length + 1 === args.length) {\n overrides = await copyOverrides(args.pop());\n if (overrides.from) {\n overrides.from = await resolveAddress(overrides.from, getResolver(contract.runner));\n }\n }\n if (fragment.inputs.length !== args.length) {\n throw new Error(\"internal error: fragment inputs doesn't match arguments; should not happen\");\n }\n const resolvedArgs = await resolveArgs(contract.runner, fragment.inputs, args);\n return Object.assign({}, overrides, await resolveProperties({\n to: contract.getAddress(),\n data: contract.interface.encodeFunctionData(fragment, resolvedArgs)\n }));\n };\n const staticCall = async function (...args) {\n const result = await staticCallResult(...args);\n if (result.length === 1) {\n return result[0];\n }\n return result;\n };\n const send = async function (...args) {\n const runner = contract.runner;\n assert(canSend(runner), \"contract runner does not support sending transactions\", \"UNSUPPORTED_OPERATION\", { operation: \"sendTransaction\" });\n const tx = await runner.sendTransaction(await populateTransaction(...args));\n const provider = getProvider(contract.runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n return new ContractTransactionResponse(contract.interface, provider, tx);\n };\n const estimateGas = async function (...args) {\n const runner = getRunner(contract.runner, \"estimateGas\");\n assert(canEstimate(runner), \"contract runner does not support gas estimation\", \"UNSUPPORTED_OPERATION\", { operation: \"estimateGas\" });\n return await runner.estimateGas(await populateTransaction(...args));\n };\n const staticCallResult = async function (...args) {\n const runner = getRunner(contract.runner, \"call\");\n assert(canCall(runner), \"contract runner does not support calling\", \"UNSUPPORTED_OPERATION\", { operation: \"call\" });\n const tx = await populateTransaction(...args);\n let result = \"0x\";\n try {\n result = await runner.call(tx);\n }\n catch (error) {\n if (isCallException(error) && error.data) {\n throw contract.interface.makeError(error.data, tx);\n }\n throw error;\n }\n const fragment = getFragment(...args);\n return contract.interface.decodeFunctionResult(fragment, result);\n };\n const method = async (...args) => {\n const fragment = getFragment(...args);\n if (fragment.constant) {\n return await staticCall(...args);\n }\n return await send(...args);\n };\n defineProperties(method, {\n name: contract.interface.getFunctionName(key),\n _contract: contract, _key: key,\n getFragment,\n estimateGas,\n populateTransaction,\n send, staticCall, staticCallResult,\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getFunction(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\nfunction buildWrappedEvent(contract, key) {\n const getFragment = function (...args) {\n const fragment = contract.interface.getEvent(key, args);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key, args }\n });\n return fragment;\n };\n const method = function (...args) {\n return new PreparedTopicFilter(contract, getFragment(...args), args);\n };\n defineProperties(method, {\n name: contract.interface.getEventName(key),\n _contract: contract, _key: key,\n getFragment\n });\n // Only works on non-ambiguous keys (refined fragment is always non-ambiguous)\n Object.defineProperty(method, \"fragment\", {\n configurable: false,\n enumerable: true,\n get: () => {\n const fragment = contract.interface.getEvent(key);\n assert(fragment, \"no matching fragment\", \"UNSUPPORTED_OPERATION\", {\n operation: \"fragment\",\n info: { key }\n });\n return fragment;\n }\n });\n return method;\n}\n// The combination of TypeScrype, Private Fields and Proxies makes\n// the world go boom; so we hide variables with some trickery keeping\n// a symbol attached to each BaseContract which its sub-class (even\n// via a Proxy) can reach and use to look up its internal values.\nconst internal = Symbol.for(\"_ethersInternal_contract\");\nconst internalValues = new WeakMap();\nfunction setInternal(contract, values) {\n internalValues.set(contract[internal], values);\n}\nfunction getInternal(contract) {\n return internalValues.get(contract[internal]);\n}\nfunction isDeferred(value) {\n return (value && typeof (value) === \"object\" && (\"getTopicFilter\" in value) &&\n (typeof (value.getTopicFilter) === \"function\") && value.fragment);\n}\nasync function getSubInfo(contract, event) {\n let topics;\n let fragment = null;\n // Convert named events to topicHash and get the fragment for\n // events which need deconstructing.\n if (Array.isArray(event)) {\n const topicHashify = function (name) {\n if (isHexString(name, 32)) {\n return name;\n }\n const fragment = contract.interface.getEvent(name);\n assertArgument(fragment, \"unknown fragment\", \"name\", name);\n return fragment.topicHash;\n };\n // Array of Topics and Names; e.g. `[ \"0x1234...89ab\", \"Transfer(address)\" ]`\n topics = event.map((e) => {\n if (e == null) {\n return null;\n }\n if (Array.isArray(e)) {\n return e.map(topicHashify);\n }\n return topicHashify(e);\n });\n }\n else if (event === \"*\") {\n topics = [null];\n }\n else if (typeof (event) === \"string\") {\n if (isHexString(event, 32)) {\n // Topic Hash\n topics = [event];\n }\n else {\n // Name or Signature; e.g. `\"Transfer\", `\"Transfer(address)\"`\n fragment = contract.interface.getEvent(event);\n assertArgument(fragment, \"unknown fragment\", \"event\", event);\n topics = [fragment.topicHash];\n }\n }\n else if (isDeferred(event)) {\n // Deferred Topic Filter; e.g. `contract.filter.Transfer(from)`\n topics = await event.getTopicFilter();\n }\n else if (\"fragment\" in event) {\n // ContractEvent; e.g. `contract.filter.Transfer`\n fragment = event.fragment;\n topics = [fragment.topicHash];\n }\n else {\n assertArgument(false, \"unknown event name\", \"event\", event);\n }\n // Normalize topics and sort TopicSets\n topics = topics.map((t) => {\n if (t == null) {\n return null;\n }\n if (Array.isArray(t)) {\n const items = Array.from(new Set(t.map((t) => t.toLowerCase())).values());\n if (items.length === 1) {\n return items[0];\n }\n items.sort();\n return items;\n }\n return t.toLowerCase();\n });\n const tag = topics.map((t) => {\n if (t == null) {\n return \"null\";\n }\n if (Array.isArray(t)) {\n return t.join(\"|\");\n }\n return t;\n }).join(\"&\");\n return { fragment, tag, topics };\n}\nasync function hasSub(contract, event) {\n const { subs } = getInternal(contract);\n return subs.get((await getSubInfo(contract, event)).tag) || null;\n}\nasync function getSub(contract, operation, event) {\n // Make sure our runner can actually subscribe to events\n const provider = getProvider(contract.runner);\n assert(provider, \"contract runner does not support subscribing\", \"UNSUPPORTED_OPERATION\", { operation });\n const { fragment, tag, topics } = await getSubInfo(contract, event);\n const { addr, subs } = getInternal(contract);\n let sub = subs.get(tag);\n if (!sub) {\n const address = (addr ? addr : contract);\n const filter = { address, topics };\n const listener = (log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = contract.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n // If fragment is null, we do not deconstruct the args to emit\n if (foundFragment) {\n const _foundFragment = foundFragment;\n const args = fragment ? contract.interface.decodeEventLog(fragment, log.data, log.topics) : [];\n emit(contract, event, args, (listener) => {\n return new ContractEventPayload(contract, listener, event, _foundFragment, log);\n });\n }\n else {\n emit(contract, event, [], (listener) => {\n return new ContractUnknownEventPayload(contract, listener, event, log);\n });\n }\n };\n let starting = [];\n const start = () => {\n if (starting.length) {\n return;\n }\n starting.push(provider.on(filter, listener));\n };\n const stop = async () => {\n if (starting.length == 0) {\n return;\n }\n let started = starting;\n starting = [];\n await Promise.all(started);\n provider.off(filter, listener);\n };\n sub = { tag, listeners: [], start, stop };\n subs.set(tag, sub);\n }\n return sub;\n}\n// We use this to ensure one emit resolves before firing the next to\n// ensure correct ordering (note this cannot throw and just adds the\n// notice to the event queu using setTimeout).\nlet lastEmit = Promise.resolve();\nasync function _emit(contract, event, args, payloadFunc) {\n await lastEmit;\n const sub = await hasSub(contract, event);\n if (!sub) {\n return false;\n }\n const count = sub.listeners.length;\n sub.listeners = sub.listeners.filter(({ listener, once }) => {\n const passArgs = Array.from(args);\n if (payloadFunc) {\n passArgs.push(payloadFunc(once ? null : listener));\n }\n try {\n listener.call(contract, ...passArgs);\n }\n catch (error) { }\n return !once;\n });\n if (sub.listeners.length === 0) {\n sub.stop();\n getInternal(contract).subs.delete(sub.tag);\n }\n return (count > 0);\n}\nasync function emit(contract, event, args, payloadFunc) {\n try {\n await lastEmit;\n }\n catch (error) { }\n const resultPromise = _emit(contract, event, args, payloadFunc);\n lastEmit = resultPromise;\n return await resultPromise;\n}\nconst passProperties = [\"then\"];\nexport class BaseContract {\n /**\n * The target to connect to.\n *\n * This can be an address, ENS name or any [[Addressable]], such as\n * another contract. To get the resovled address, use the ``getAddress``\n * method.\n */\n target;\n /**\n * The contract Interface.\n */\n interface;\n /**\n * The connected runner. This is generally a [[Provider]] or a\n * [[Signer]], which dictates what operations are supported.\n *\n * For example, a **Contract** connected to a [[Provider]] may\n * only execute read-only operations.\n */\n runner;\n /**\n * All the Events available on this contract.\n */\n filters;\n /**\n * @_ignore:\n */\n [internal];\n /**\n * The fallback or receive function if any.\n */\n fallback;\n /**\n * Creates a new contract connected to %%target%% with the %%abi%% and\n * optionally connected to a %%runner%% to perform operations on behalf\n * of.\n */\n constructor(target, abi, runner, _deployTx) {\n assertArgument(typeof (target) === \"string\" || isAddressable(target), \"invalid value for Contract target\", \"target\", target);\n if (runner == null) {\n runner = null;\n }\n const iface = Interface.from(abi);\n defineProperties(this, { target, runner, interface: iface });\n Object.defineProperty(this, internal, { value: {} });\n let addrPromise;\n let addr = null;\n let deployTx = null;\n if (_deployTx) {\n const provider = getProvider(runner);\n // @TODO: the provider can be null; make a custom dummy provider that will throw a\n // meaningful error\n deployTx = new ContractTransactionResponse(this.interface, provider, _deployTx);\n }\n let subs = new Map();\n // Resolve the target as the address\n if (typeof (target) === \"string\") {\n if (isHexString(target)) {\n addr = target;\n addrPromise = Promise.resolve(target);\n }\n else {\n const resolver = getRunner(runner, \"resolveName\");\n if (!canResolve(resolver)) {\n throw makeError(\"contract runner does not support name resolution\", \"UNSUPPORTED_OPERATION\", {\n operation: \"resolveName\"\n });\n }\n addrPromise = resolver.resolveName(target).then((addr) => {\n if (addr == null) {\n throw makeError(\"an ENS name used for a contract target must be correctly configured\", \"UNCONFIGURED_NAME\", {\n value: target\n });\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n }\n else {\n addrPromise = target.getAddress().then((addr) => {\n if (addr == null) {\n throw new Error(\"TODO\");\n }\n getInternal(this).addr = addr;\n return addr;\n });\n }\n // Set our private values\n setInternal(this, { addrPromise, addr, deployTx, subs });\n // Add the event filters\n const filters = new Proxy({}, {\n get: (target, prop, receiver) => {\n // Pass important checks (like `then` for Promise) through\n if (typeof (prop) === \"symbol\" || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n try {\n return this.getEvent(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return Reflect.has(target, prop) || this.interface.hasEvent(String(prop));\n }\n });\n defineProperties(this, { filters });\n defineProperties(this, {\n fallback: ((iface.receive || iface.fallback) ? (buildWrappedFallback(this)) : null)\n });\n // Return a Proxy that will respond to functions\n return new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n // Undefined properties should return undefined\n try {\n return target.getFunction(prop);\n }\n catch (error) {\n if (!isError(error, \"INVALID_ARGUMENT\") || error.argument !== \"key\") {\n throw error;\n }\n }\n return undefined;\n },\n has: (target, prop) => {\n if (typeof (prop) === \"symbol\" || prop in target || passProperties.indexOf(prop) >= 0) {\n return Reflect.has(target, prop);\n }\n return target.interface.hasFunction(prop);\n }\n });\n }\n /**\n * Return a new Contract instance with the same target and ABI, but\n * a different %%runner%%.\n */\n connect(runner) {\n return new BaseContract(this.target, this.interface, runner);\n }\n /**\n * Return a new Contract instance with the same ABI and runner, but\n * a different %%target%%.\n */\n attach(target) {\n return new BaseContract(target, this.interface, this.runner);\n }\n /**\n * Return the resolved address of this Contract.\n */\n async getAddress() { return await getInternal(this).addrPromise; }\n /**\n * Return the deployed bytecode or null if no bytecode is found.\n */\n async getDeployedCode() {\n const provider = getProvider(this.runner);\n assert(provider, \"runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"getDeployedCode\" });\n const code = await provider.getCode(await this.getAddress());\n if (code === \"0x\") {\n return null;\n }\n return code;\n }\n /**\n * Resolve to this Contract once the bytecode has been deployed, or\n * resolve immediately if already deployed.\n */\n async waitForDeployment() {\n // We have the deployement transaction; just use that (throws if deployement fails)\n const deployTx = this.deploymentTransaction();\n if (deployTx) {\n await deployTx.wait();\n return this;\n }\n // Check for code\n const code = await this.getDeployedCode();\n if (code != null) {\n return this;\n }\n // Make sure we can subscribe to a provider event\n const provider = getProvider(this.runner);\n assert(provider != null, \"contract runner does not support .provider\", \"UNSUPPORTED_OPERATION\", { operation: \"waitForDeployment\" });\n return new Promise((resolve, reject) => {\n const checkCode = async () => {\n try {\n const code = await this.getDeployedCode();\n if (code != null) {\n return resolve(this);\n }\n provider.once(\"block\", checkCode);\n }\n catch (error) {\n reject(error);\n }\n };\n checkCode();\n });\n }\n /**\n * Return the transaction used to deploy this contract.\n *\n * This is only available if this instance was returned from a\n * [[ContractFactory]].\n */\n deploymentTransaction() {\n return getInternal(this).deployTx;\n }\n /**\n * Return the function for a given name. This is useful when a contract\n * method name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getFunction(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n const func = buildWrappedMethod(this, key);\n return func;\n }\n /**\n * Return the event for a given name. This is useful when a contract\n * event name conflicts with a JavaScript name such as ``prototype`` or\n * when using a Contract programatically.\n */\n getEvent(key) {\n if (typeof (key) !== \"string\") {\n key = key.format();\n }\n return buildWrappedEvent(this, key);\n }\n /**\n * @_ignore:\n */\n async queryTransaction(hash) {\n throw new Error(\"@TODO\");\n }\n /*\n // @TODO: this is a non-backwards compatible change, but will be added\n // in v7 and in a potential SmartContract class in an upcoming\n // v6 release\n async getTransactionReceipt(hash: string): Promise<null | ContractTransactionReceipt> {\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\",\n \"UNSUPPORTED_OPERATION\", { operation: \"queryTransaction\" });\n\n const receipt = await provider.getTransactionReceipt(hash);\n if (receipt == null) { return null; }\n\n return new ContractTransactionReceipt(this.interface, provider, receipt);\n }\n */\n /**\n * Provide historic access to event data for %%event%% in the range\n * %%fromBlock%% (default: ``0``) to %%toBlock%% (default: ``\"latest\"``)\n * inclusive.\n */\n async queryFilter(event, fromBlock, toBlock) {\n if (fromBlock == null) {\n fromBlock = 0;\n }\n if (toBlock == null) {\n toBlock = \"latest\";\n }\n const { addr, addrPromise } = getInternal(this);\n const address = (addr ? addr : (await addrPromise));\n const { fragment, topics } = await getSubInfo(this, event);\n const filter = { address, topics, fromBlock, toBlock };\n const provider = getProvider(this.runner);\n assert(provider, \"contract runner does not have a provider\", \"UNSUPPORTED_OPERATION\", { operation: \"queryFilter\" });\n return (await provider.getLogs(filter)).map((log) => {\n let foundFragment = fragment;\n if (foundFragment == null) {\n try {\n foundFragment = this.interface.getEvent(log.topics[0]);\n }\n catch (error) { }\n }\n if (foundFragment) {\n try {\n return new EventLog(log, this.interface, foundFragment);\n }\n catch (error) {\n return new UndecodedEventLog(log, error);\n }\n }\n return new Log(log, provider);\n });\n }\n /**\n * Add an event %%listener%% for the %%event%%.\n */\n async on(event, listener) {\n const sub = await getSub(this, \"on\", event);\n sub.listeners.push({ listener, once: false });\n sub.start();\n return this;\n }\n /**\n * Add an event %%listener%% for the %%event%%, but remove the listener\n * after it is fired once.\n */\n async once(event, listener) {\n const sub = await getSub(this, \"once\", event);\n sub.listeners.push({ listener, once: true });\n sub.start();\n return this;\n }\n /**\n * Emit an %%event%% calling all listeners with %%args%%.\n *\n * Resolves to ``true`` if any listeners were called.\n */\n async emit(event, ...args) {\n return await emit(this, event, args, null);\n }\n /**\n * Resolves to the number of listeners of %%event%% or the total number\n * of listeners if unspecified.\n */\n async listenerCount(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return 0;\n }\n return sub.listeners.length;\n }\n const { subs } = getInternal(this);\n let total = 0;\n for (const { listeners } of subs.values()) {\n total += listeners.length;\n }\n return total;\n }\n /**\n * Resolves to the listeners subscribed to %%event%% or all listeners\n * if unspecified.\n */\n async listeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return [];\n }\n return sub.listeners.map(({ listener }) => listener);\n }\n const { subs } = getInternal(this);\n let result = [];\n for (const { listeners } of subs.values()) {\n result = result.concat(listeners.map(({ listener }) => listener));\n }\n return result;\n }\n /**\n * Remove the %%listener%% from the listeners for %%event%% or remove\n * all listeners if unspecified.\n */\n async off(event, listener) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n if (listener) {\n const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);\n if (index >= 0) {\n sub.listeners.splice(index, 1);\n }\n }\n if (listener == null || sub.listeners.length === 0) {\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n return this;\n }\n /**\n * Remove all the listeners for %%event%% or remove all listeners if\n * unspecified.\n */\n async removeAllListeners(event) {\n if (event) {\n const sub = await hasSub(this, event);\n if (!sub) {\n return this;\n }\n sub.stop();\n getInternal(this).subs.delete(sub.tag);\n }\n else {\n const { subs } = getInternal(this);\n for (const { tag, stop } of subs.values()) {\n stop();\n subs.delete(tag);\n }\n }\n return this;\n }\n /**\n * Alias for [on].\n */\n async addListener(event, listener) {\n return await this.on(event, listener);\n }\n /**\n * Alias for [off].\n */\n async removeListener(event, listener) {\n return await this.off(event, listener);\n }\n /**\n * Create a new Class for the %%abi%%.\n */\n static buildClass(abi) {\n class CustomContract extends BaseContract {\n constructor(address, runner = null) {\n super(address, abi, runner);\n }\n }\n return CustomContract;\n }\n ;\n /**\n * Create a new BaseContract with a specified Interface.\n */\n static from(target, abi, runner) {\n if (runner == null) {\n runner = null;\n }\n const contract = new this(target, abi, runner);\n return contract;\n }\n}\nfunction _ContractBase() {\n return BaseContract;\n}\n/**\n * A [[BaseContract]] with no type guards on its methods or events.\n */\nexport class Contract extends _ContractBase() {\n}\n//# sourceMappingURL=contract.js.map",null],"names":["interfaceAbis","products","nameToAbi","interfaceToAbi","ContractRegistry","FtsoV2Interface","IAddressValidity","IAddressValidityVerification","IBalanceDecreasingTransaction","IBalanceDecreasingTransactionVerification","ICChainStake","ICChainVotePower","IClaimSetupManager","IConfirmedBlockHeightExists","IConfirmedBlockHeightExistsVerification","IDelegationAccount","IEVMTransaction","IEVMTransactionVerification","IEntityManager","IFastUpdateIncentiveManager","IFastUpdater","IFastUpdatesConfiguration","IFdcHub","IFdcInflationConfigurations","IFdcRequestFeeConfigurations","IFdcVerification","IFeeCalculator","IFlareAssetRegistry","IFlareContractRegistry","IFlareDaemonize","IFlareSystemsCalculator","IFlareSystemsManager","IFtso","IFtsoFeedDecimals","IFtsoFeedIdConverter","IFtsoFeedPublisher","IFtsoGenesis","IFtsoInflationConfigurations","IFtsoManager","IFtsoManagerGenesis","IFtsoRegistry","IFtsoRegistryGenesis","IFtsoRewardManager","IFtsoRewardOffersManager","IGenericRewardManager","IGovernanceSettings","IGovernanceVotePower","IGovernor","IIClaimSetupManager","IICleanable","IICleanupBlockNumberManager","IIEntityManager","IIFastUpdaterView","IIFlareSystemsCalculator","IIFlareSystemsManager","IIFtso","IIFtsoFeedPublisher","IIFtsoManagerProxy","IIGovernanceVotePower","IIGovernorProposer","IINodePossessionVerifier","IIPollingFoundation","IIPollingManagementGroup","IIPublicKeyVerifier","IIRNat","IIRNatAccount","IIRelay","IIRewardEpochSwitchoverTrigger","IIRewardManager","IISubmission","IIVPContract","IIVPToken","IIVoterRegistrationTrigger","IIVoterRegistry","IIncreaseManager","IPayment","IPaymentVerification","IPollingManagementGroup","IPriceSubmitter","IRNat","IRNatAccount","IRandomProvider","IReferencedPaymentNonexistence","IReferencedPaymentNonexistenceVerification","IRelay","IRewardManager","ISubmission","ITypeTemplate","ITypeTemplateVerification","IVPContractEvents","IVPToken","IValidatorRewardOffersManager","IVoterPreRegistry","IVoterRegistry","IVoterWhitelister","IWNat","IWNatDelegationFee","ProtocolsV2Interface","RandomNumberV2Interface","RewardsV2Interface","TestFtsoV2Interface","IAddressBinder","IDistributionToDelegators","IPChainStakeMirror","IPChainStakeMirrorMultiSigVoting","IPChainStakeMirrorVerifier","IPChainVotePower","IValidatorRegistry","BN_0","BN_1","passProperties","_guard","internal","PanicReasons","ethers.Contract","nameToAbiFLR","nameToAbiSGB","nameToAbiCST","nameToAbiCST2","interfaceToAbiFLR","interfaceToAbiSGB","interfaceToAbiCST","interfaceToAbiCST2"],"mappings":"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E,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAA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E,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACzC;AACA;AACA;AACA,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA;AACA,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC;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AI,KAAK,CAAC,OAAO,EAAE,EAAE,+CAA+C,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;AAC3J,QAAQ,OAAO,gCAAgC,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC;AACA;AACA;AACA;AACA,IAAI,QAAQ;AACZ;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW;AACf;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS;AACb;AACA;AACA;AACA,IAAI,KAAK;AACT;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK;AACT;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ;AACZ;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB;AACxB;AACA;AACA;AACA;AACA,IAAI,YAAY;AAChB;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;AACA;AACA,IAAI,KAAK;AACT;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA,IAAI,SAAS;AACb;AACA;AACA;AACA;AACA,IAAI,UAAU;AACd;AACA;AACA;AACA,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf;AACA;AACA;AACA,IAAI,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC9B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,GAAG,IAAI;AAC3E,QAAQ,I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","x_google_ignoreList":[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]}