@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23

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 (1077) hide show
  1. package/package.json +14 -6
  2. package/test/agent-export.e2e.test.ts +376 -0
  3. package/test/agent-orchestration.e2e.test.ts +1568 -0
  4. package/test/agent-restart-recovery.e2e.test.ts +149 -0
  5. package/test/agent-runtime.e2e.test.ts +1515 -0
  6. package/test/anvil-contracts.e2e.test.ts +533 -0
  7. package/test/anvil-helper.ts +285 -0
  8. package/test/api-auth-live.e2e.test.ts +519 -0
  9. package/test/api-auth.e2e.test.ts +1039 -0
  10. package/test/api-server.e2e.test.ts +4582 -0
  11. package/test/apps-e2e.e2e.test.ts +1108 -0
  12. package/test/auth-modules.e2e.test.ts +71 -0
  13. package/test/cloud-auth-state.e2e.test.ts +145 -0
  14. package/test/cloud-persistence.e2e.test.ts +260 -0
  15. package/test/cloud-providers.e2e.test.ts +781 -0
  16. package/test/config-hot-reload.e2e.test.ts +131 -0
  17. package/test/contract-deployer.ts +151 -0
  18. package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
  19. package/test/contracts/MockMiladyCollection.sol +195 -0
  20. package/test/contracts/cache/solidity-files-cache.json +1 -0
  21. package/test/contracts/foundry.toml +14 -0
  22. package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  23. package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
  24. package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
  25. package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
  26. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  27. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  28. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  29. package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  30. package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
  31. package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
  32. package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
  33. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  34. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  35. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
  36. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  37. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
  38. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
  39. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
  40. package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
  41. package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
  42. package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
  43. package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
  44. package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
  45. package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
  46. package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  47. package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  48. package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
  49. package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
  50. package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
  51. package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
  52. package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
  53. package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  54. package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  55. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  56. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  57. package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  58. package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
  59. package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
  60. package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
  61. package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
  62. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
  63. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
  64. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
  65. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  66. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
  67. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
  68. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  69. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
  70. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  71. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  72. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  73. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  74. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
  75. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
  76. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
  77. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
  78. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  79. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  80. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  81. package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
  82. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
  83. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
  84. package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
  85. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
  86. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
  87. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  88. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
  89. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
  90. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
  91. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  92. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
  93. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  94. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  95. package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
  96. package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
  97. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
  98. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  99. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  100. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  101. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
  102. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  103. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
  104. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  105. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  106. package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
  107. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
  108. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
  109. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
  110. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
  111. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
  112. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
  113. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
  114. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
  115. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
  116. package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
  117. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
  118. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
  119. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
  120. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
  121. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
  122. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
  123. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
  124. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
  125. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
  126. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
  127. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
  128. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
  129. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
  130. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
  131. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
  132. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
  133. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
  134. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
  135. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
  136. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
  137. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
  138. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
  139. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
  140. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
  141. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
  142. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
  143. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
  144. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
  145. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
  146. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
  147. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
  148. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
  149. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
  150. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  151. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  152. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  153. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
  154. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
  155. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
  156. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
  157. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  158. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
  159. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
  160. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
  161. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  162. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  163. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
  164. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  165. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
  166. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  167. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
  168. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
  169. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
  170. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  171. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  172. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
  173. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  174. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  175. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  176. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  177. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  178. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  179. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
  180. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
  181. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
  182. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
  183. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  184. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
  185. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
  186. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
  187. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
  188. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
  189. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
  190. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  191. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
  192. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
  193. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  194. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
  195. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  196. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
  197. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  198. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  199. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  200. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  201. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
  202. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
  203. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
  204. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  205. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
  206. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  207. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  208. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
  209. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  210. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  211. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
  212. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  213. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
  214. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  215. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
  216. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  217. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
  218. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  219. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
  220. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
  221. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
  222. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  223. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
  224. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
  225. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
  226. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
  227. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
  228. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
  229. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
  230. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
  231. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
  232. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
  233. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
  234. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
  235. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
  236. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  237. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
  238. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  239. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
  240. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
  241. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
  242. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
  243. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  244. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  245. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  246. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  247. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  248. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  249. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
  250. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  251. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
  252. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  253. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  254. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
  255. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  256. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
  257. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  258. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
  259. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
  260. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
  261. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
  262. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
  263. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
  264. package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
  265. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
  266. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
  267. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
  268. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
  269. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  270. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
  271. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  272. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
  273. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
  274. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
  275. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
  276. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
  277. package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
  278. package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
  279. package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
  280. package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
  281. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
  282. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
  283. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
  284. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
  285. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
  286. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
  287. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
  288. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
  289. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
  290. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
  291. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
  292. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
  293. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
  294. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
  295. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
  296. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
  297. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  298. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
  299. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
  300. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
  301. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
  302. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
  303. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
  304. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
  305. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
  306. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
  307. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
  308. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  309. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
  310. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
  311. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
  312. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
  313. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
  314. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
  315. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
  316. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
  317. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
  318. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
  319. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
  320. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  321. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
  322. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
  323. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
  324. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
  325. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
  326. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
  327. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
  328. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  329. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  330. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
  331. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
  332. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
  333. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
  334. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
  335. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
  336. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
  337. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
  338. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
  339. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
  340. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
  341. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  342. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
  343. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
  344. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
  345. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
  346. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  347. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
  348. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
  349. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
  350. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
  351. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  352. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
  353. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
  354. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
  355. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
  356. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
  357. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
  358. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
  359. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
  360. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
  361. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
  362. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
  363. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
  364. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
  365. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
  366. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
  367. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  368. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
  369. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
  370. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
  371. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
  372. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
  373. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
  374. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
  375. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
  376. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
  377. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
  378. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
  379. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
  380. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
  381. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
  382. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
  383. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
  384. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
  385. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  386. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  387. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
  388. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
  389. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
  390. package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
  391. package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
  392. package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
  393. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  394. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  395. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  396. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  397. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  398. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  399. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  400. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  401. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  402. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  403. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  404. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
  405. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
  406. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
  407. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
  408. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
  409. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
  410. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
  411. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
  412. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  413. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
  414. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
  415. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
  416. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
  417. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
  418. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
  419. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
  420. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
  421. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
  422. package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
  423. package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  424. package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  425. package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
  426. package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
  427. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
  428. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
  429. package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  430. package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  431. package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  432. package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
  433. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  434. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
  435. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  436. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  437. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
  438. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
  439. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  440. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  441. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
  442. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
  443. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
  444. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
  445. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
  446. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
  447. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
  448. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
  449. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
  450. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
  451. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  452. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
  453. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
  454. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
  455. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
  456. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
  457. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  458. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
  459. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
  460. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  461. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
  462. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  463. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
  464. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
  465. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
  466. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
  467. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
  468. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  469. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  470. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  471. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  472. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  473. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  474. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
  475. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
  476. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
  477. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
  478. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
  479. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
  480. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  481. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
  482. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  483. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  484. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  485. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  486. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  487. package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
  488. package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
  489. package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
  490. package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
  491. package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
  492. package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
  493. package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
  494. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
  495. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
  496. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
  497. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  498. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
  499. package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
  500. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  501. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
  502. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
  503. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
  504. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
  505. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
  506. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
  507. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
  508. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
  509. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  510. package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
  511. package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
  512. package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
  513. package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
  514. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
  515. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  516. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
  517. package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  518. package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  519. package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  520. package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  521. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  522. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
  523. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  524. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  525. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  526. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  527. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  528. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  529. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  530. package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  531. package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
  532. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  533. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  534. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  535. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
  536. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
  537. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
  538. package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
  539. package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  540. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
  541. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
  542. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
  543. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
  544. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
  545. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
  546. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
  547. package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
  548. package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
  549. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
  550. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
  551. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
  552. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
  553. package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
  554. package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
  555. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
  556. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
  557. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
  558. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
  559. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
  560. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
  561. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
  562. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
  563. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
  564. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
  565. package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
  566. package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
  567. package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
  568. package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
  569. package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
  570. package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
  571. package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
  572. package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
  573. package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
  574. package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
  575. package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
  576. package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
  577. package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
  578. package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
  579. package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
  580. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
  581. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
  582. package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
  583. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
  584. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
  585. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
  586. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
  587. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
  588. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
  589. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
  590. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
  591. package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
  592. package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
  593. package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
  594. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
  595. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
  596. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
  597. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
  598. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
  599. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
  600. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
  601. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
  602. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
  603. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
  604. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
  605. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
  606. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
  607. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
  608. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
  609. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
  610. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
  611. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
  612. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
  613. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
  614. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
  615. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
  616. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
  617. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
  618. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
  619. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
  620. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
  621. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
  622. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
  623. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
  624. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
  625. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
  626. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
  627. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
  628. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
  629. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
  630. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
  631. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
  632. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
  633. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
  634. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
  635. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
  636. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
  637. package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
  638. package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
  639. package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
  640. package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
  641. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
  642. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
  643. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
  644. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
  645. package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
  646. package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
  647. package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
  648. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
  649. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
  650. package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
  651. package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
  652. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
  653. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
  654. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
  655. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
  656. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
  657. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
  658. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
  659. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
  660. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
  661. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
  662. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
  663. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
  664. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
  665. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
  666. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
  667. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
  668. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
  669. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
  670. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
  671. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
  672. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
  673. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
  674. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
  675. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
  676. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
  677. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
  678. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
  679. package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
  680. package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
  681. package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
  682. package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
  683. package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
  684. package/test/contracts/out/Address.sol/Address.json +1 -0
  685. package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
  686. package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
  687. package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
  688. package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
  689. package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
  690. package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
  691. package/test/contracts/out/Base.sol/CommonBase.json +1 -0
  692. package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
  693. package/test/contracts/out/Base.sol/TestBase.json +1 -0
  694. package/test/contracts/out/Base64.sol/Base64.json +1 -0
  695. package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
  696. package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
  697. package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
  698. package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
  699. package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
  700. package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
  701. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
  702. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
  703. package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
  704. package/test/contracts/out/Clones.sol/Clones.json +1 -0
  705. package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
  706. package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
  707. package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
  708. package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
  709. package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
  710. package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
  711. package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
  712. package/test/contracts/out/Context.sol/Context.json +1 -0
  713. package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
  714. package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
  715. package/test/contracts/out/Counters.sol/Counters.json +1 -0
  716. package/test/contracts/out/Create2.sol/Create2.json +1 -0
  717. package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
  718. package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
  719. package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
  720. package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
  721. package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
  722. package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
  723. package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
  724. package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
  725. package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
  726. package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
  727. package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
  728. package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
  729. package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
  730. package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
  731. package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
  732. package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
  733. package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
  734. package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
  735. package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
  736. package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
  737. package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
  738. package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
  739. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
  740. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
  741. package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
  742. package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
  743. package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
  744. package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
  745. package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
  746. package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
  747. package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
  748. package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
  749. package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
  750. package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
  751. package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
  752. package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
  753. package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
  754. package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
  755. package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
  756. package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
  757. package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
  758. package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
  759. package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
  760. package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
  761. package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
  762. package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
  763. package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
  764. package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
  765. package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
  766. package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
  767. package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
  768. package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
  769. package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
  770. package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
  771. package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
  772. package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
  773. package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
  774. package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
  775. package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
  776. package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
  777. package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
  778. package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
  779. package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
  780. package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
  781. package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
  782. package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
  783. package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
  784. package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
  785. package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
  786. package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
  787. package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
  788. package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
  789. package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
  790. package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
  791. package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
  792. package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
  793. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
  794. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
  795. package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
  796. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
  797. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
  798. package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
  799. package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
  800. package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
  801. package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
  802. package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
  803. package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
  804. package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
  805. package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
  806. package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
  807. package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
  808. package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
  809. package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
  810. package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
  811. package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
  812. package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
  813. package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
  814. package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
  815. package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
  816. package/test/contracts/out/Governor.sol/Governor.json +1 -0
  817. package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
  818. package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
  819. package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
  820. package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
  821. package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
  822. package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
  823. package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
  824. package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
  825. package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
  826. package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
  827. package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
  828. package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
  829. package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
  830. package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
  831. package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
  832. package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
  833. package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
  834. package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
  835. package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
  836. package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
  837. package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
  838. package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
  839. package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
  840. package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
  841. package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
  842. package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
  843. package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
  844. package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
  845. package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
  846. package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
  847. package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
  848. package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
  849. package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
  850. package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
  851. package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
  852. package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
  853. package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
  854. package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
  855. package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
  856. package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
  857. package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
  858. package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
  859. package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
  860. package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
  861. package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
  862. package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
  863. package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
  864. package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
  865. package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
  866. package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
  867. package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
  868. package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
  869. package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
  870. package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
  871. package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
  872. package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
  873. package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
  874. package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
  875. package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
  876. package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
  877. package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
  878. package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
  879. package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
  880. package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
  881. package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
  882. package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
  883. package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
  884. package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
  885. package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
  886. package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
  887. package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
  888. package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
  889. package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
  890. package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
  891. package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
  892. package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
  893. package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
  894. package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
  895. package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
  896. package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
  897. package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
  898. package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
  899. package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
  900. package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
  901. package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
  902. package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
  903. package/test/contracts/out/Math.sol/Math.json +1 -0
  904. package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
  905. package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
  906. package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
  907. package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
  908. package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
  909. package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
  910. package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
  911. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
  912. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
  913. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
  914. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
  915. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
  916. package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
  917. package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
  918. package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
  919. package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
  920. package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
  921. package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
  922. package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
  923. package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
  924. package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
  925. package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
  926. package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
  927. package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
  928. package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
  929. package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
  930. package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
  931. package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
  932. package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
  933. package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  934. package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
  935. package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
  936. package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
  937. package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
  938. package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
  939. package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
  940. package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
  941. package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
  942. package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
  943. package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
  944. package/test/contracts/out/Script.sol/Script.json +1 -0
  945. package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
  946. package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
  947. package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
  948. package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
  949. package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
  950. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
  951. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
  952. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
  953. package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
  954. package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
  955. package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
  956. package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
  957. package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
  958. package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
  959. package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
  960. package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
  961. package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
  962. package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
  963. package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
  964. package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
  965. package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
  966. package/test/contracts/out/StdError.sol/stdError.json +1 -0
  967. package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
  968. package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
  969. package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
  970. package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
  971. package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
  972. package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
  973. package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
  974. package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
  975. package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
  976. package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
  977. package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
  978. package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
  979. package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
  980. package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
  981. package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
  982. package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
  983. package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
  984. package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
  985. package/test/contracts/out/Strings.sol/Strings.json +1 -0
  986. package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
  987. package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
  988. package/test/contracts/out/Timers.sol/Timers.json +1 -0
  989. package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
  990. package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
  991. package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
  992. package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
  993. package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
  994. package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
  995. package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
  996. package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
  997. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
  998. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
  999. package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
  1000. package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
  1001. package/test/contracts/out/Vm.sol/Vm.json +1 -0
  1002. package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
  1003. package/test/contracts/out/Votes.sol/Votes.json +1 -0
  1004. package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
  1005. package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
  1006. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
  1007. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
  1008. package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
  1009. package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
  1010. package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
  1011. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
  1012. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
  1013. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
  1014. package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
  1015. package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
  1016. package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
  1017. package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
  1018. package/test/contracts/out/console.sol/console.json +1 -0
  1019. package/test/contracts/out/console2.sol/console2.json +1 -0
  1020. package/test/contracts/out/demo.sol/DemoTest.json +1 -0
  1021. package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
  1022. package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
  1023. package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
  1024. package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
  1025. package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
  1026. package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
  1027. package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
  1028. package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
  1029. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
  1030. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
  1031. package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
  1032. package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
  1033. package/test/contracts/out/receivers.sol/Receiver.json +1 -0
  1034. package/test/contracts/out/test.sol/DSTest.json +1 -0
  1035. package/test/contracts/out/test.sol/Test.json +1 -0
  1036. package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
  1037. package/test/database-api.e2e.test.ts +666 -0
  1038. package/test/debug-anvil.ts +44 -0
  1039. package/test/deferred-restart.e2e.test.ts +368 -0
  1040. package/test/discord-connector.e2e.test.ts +463 -0
  1041. package/test/e2e-global-setup.ts +29 -0
  1042. package/test/e2e-validation.e2e.test.ts +1588 -0
  1043. package/test/health-endpoint.e2e.test.ts +95 -0
  1044. package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
  1045. package/test/knowledge-live.e2e.test.ts +405 -0
  1046. package/test/mcp-config.e2e.test.ts +630 -0
  1047. package/test/native-modules.e2e.test.ts +470 -0
  1048. package/test/permissions-api.e2e.test.ts +637 -0
  1049. package/test/plugin-install.e2e.test.ts +645 -0
  1050. package/test/plugin-lifecycle.e2e.test.ts +617 -0
  1051. package/test/plugin-management.e2e.test.ts +308 -0
  1052. package/test/provider-switch.e2e.test.ts +322 -0
  1053. package/test/scripts/test-force.ts +139 -0
  1054. package/test/scripts/test-parallel.mjs +192 -0
  1055. package/test/scripts/validate-all-features.sh +557 -0
  1056. package/test/setup.ts +122 -0
  1057. package/test/signal-connector.e2e.test.ts +229 -0
  1058. package/test/skills-marketplace-api.e2e.test.ts +585 -0
  1059. package/test/skills-marketplace-services.e2e.test.ts +518 -0
  1060. package/test/skills-marketplace.e2e.test.ts +268 -0
  1061. package/test/stubs/coding-agent-module.ts +18 -0
  1062. package/test/stubs/electron-module.ts +17 -0
  1063. package/test/stubs/empty-module.mjs +4 -0
  1064. package/test/stubs/pi-ai-module.ts +12 -0
  1065. package/test/subscription-auth.e2e.test.ts +747 -0
  1066. package/test/terminal-execution.e2e.test.ts +134 -0
  1067. package/test/terminal-run-limits.e2e.test.ts +132 -0
  1068. package/test/test-env.ts +156 -0
  1069. package/test/trajectory-collection.e2e.test.ts +800 -0
  1070. package/test/trajectory-database.e2e.test.ts +209 -0
  1071. package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
  1072. package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
  1073. package/test/trigger-execution-flow.e2e.test.ts +132 -0
  1074. package/test/trigger-runtime.e2e.test.ts +247 -0
  1075. package/test/wallet-api.e2e.test.ts +1295 -0
  1076. package/test/wallet-live.e2e.test.ts +428 -0
  1077. package/vitest.e2e.config.ts +71 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"payees","type":"address[]","internalType":"address[]"},{"name":"shares_","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"payee","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"releasable","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"releasable","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"release","inputs":[{"name":"account","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"release","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"released","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"released","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"shares","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalReleased","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalReleased","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalShares","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"ERC20PaymentReleased","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PayeeAdded","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PaymentReceived","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PaymentReleased","inputs":[{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040526040516200113638038062001136833981016040819052620000269162000422565b8051825114620000985760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b5f825111620000ea5760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200008f565b5f5b82518110156200015557620001408382815181106200010f576200010f620004f9565b60200260200101518383815181106200012c576200012c620004f9565b60200260200101516200015e60201b60201c565b806200014c8162000521565b915050620000ec565b50505062000558565b6001600160a01b038216620001cb5760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200008f565b5f81116200021c5760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a2073686172657320617265203000000060448201526064016200008f565b6001600160a01b0382165f9081526002602052604090205415620002975760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200008f565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b0384169081179091555f90815260026020526040812082905554620002fe9082906200053c565b5f55604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171562000385576200038562000346565b604052919050565b5f6001600160401b03821115620003a857620003a862000346565b5060051b60200190565b5f82601f830112620003c2575f80fd5b81516020620003db620003d5836200038d565b6200035a565b82815260059290921b84018101918181019086841115620003fa575f80fd5b8286015b84811015620004175780518352918301918301620003fe565b509695505050505050565b5f806040838503121562000434575f80fd5b82516001600160401b03808211156200044b575f80fd5b818501915085601f8301126200045f575f80fd5b8151602062000472620003d5836200038d565b82815260059290921b8401810191818101908984111562000491575f80fd5b948201945b83861015620004c75785516001600160a01b0381168114620004b7575f8081fd5b8252948201949082019062000496565b91880151919650909350505080821115620004e0575f80fd5b50620004ef85828601620003b2565b9150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016200053557620005356200050d565b5060010190565b808201808211156200055257620005526200050d565b92915050565b610bd080620005665f395ff3fe60806040526004361061009d575f3560e01c80639852595c116100625780639852595c146101a2578063a3f8eace146101d6578063c45ac050146101f5578063ce7c2ac214610214578063d79779b214610248578063e33b7de31461027c575f80fd5b806319165587146100ea5780633a98ef391461010b578063406072a91461012d57806348b750441461014c5780638b83209b1461016b575f80fd5b366100e6577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b5f80fd5b3480156100f5575f80fd5b50610109610104366004610977565b610290565b005b348015610116575f80fd5b505f545b6040519081526020015b60405180910390f35b348015610138575f80fd5b5061011a610147366004610992565b61037b565b348015610157575f80fd5b50610109610166366004610992565b6103a7565b348015610176575f80fd5b5061018a6101853660046109c9565b6104b3565b6040516001600160a01b039091168152602001610124565b3480156101ad575f80fd5b5061011a6101bc366004610977565b6001600160a01b03165f9081526003602052604090205490565b3480156101e1575f80fd5b5061011a6101f0366004610977565b6104e1565b348015610200575f80fd5b5061011a61020f366004610992565b610527565b34801561021f575f80fd5b5061011a61022e366004610977565b6001600160a01b03165f9081526002602052604090205490565b348015610253575f80fd5b5061011a610262366004610977565b6001600160a01b03165f9081526005602052604090205490565b348015610287575f80fd5b5060015461011a565b6001600160a01b0381165f908152600260205260409020546102cd5760405162461bcd60e51b81526004016102c4906109e0565b60405180910390fd5b5f6102d7826104e1565b9050805f036102f85760405162461bcd60e51b81526004016102c490610a26565b8060015f8282546103099190610a85565b90915550506001600160a01b0382165f90815260036020526040902080548201905561033582826105ca565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b6001600160a01b038083165f908152600660209081526040808320938516835292905220545b92915050565b6001600160a01b0381165f908152600260205260409020546103db5760405162461bcd60e51b81526004016102c4906109e0565b5f6103e68383610527565b9050805f036104075760405162461bcd60e51b81526004016102c490610a26565b6001600160a01b0383165f908152600560205260408120805483929061042e908490610a85565b90915550506001600160a01b038084165f9081526006602090815260408083209386168352929052208054820190556104688383836106e4565b604080516001600160a01b038481168252602082018490528516917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a2505050565b5f600482815481106104c7576104c7610a98565b5f918252602090912001546001600160a01b031692915050565b5f806104ec60015490565b6104f69047610a85565b9050610520838261051b866001600160a01b03165f9081526003602052604090205490565b610736565b9392505050565b6001600160a01b0382165f9081526005602052604081205481906040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610aac565b6105b19190610a85565b90506105c2838261051b878761037b565b949350505050565b8047101561061a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102c4565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610663576040519150601f19603f3d011682016040523d82523d5f602084013e610668565b606091505b50509050806106df5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102c4565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106df908490610770565b5f80546001600160a01b03851682526002602052604082205483919061075c9086610ac3565b6107669190610ada565b6105c29190610af9565b5f6107c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108439092919063ffffffff16565b905080515f14806107e45750808060200190518101906107e49190610b0c565b6106df5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102c4565b60606105c284845f85855f80866001600160a01b031685876040516108689190610b4d565b5f6040518083038185875af1925050503d805f81146108a2576040519150601f19603f3d011682016040523d82523d5f602084013e6108a7565b606091505b50915091506108b8878383876108c3565b979650505050505050565b606083156109315782515f0361092a576001600160a01b0385163b61092a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c4565b50816105c2565b6105c283838151156109465781518083602001fd5b8060405162461bcd60e51b81526004016102c49190610b68565b6001600160a01b0381168114610974575f80fd5b50565b5f60208284031215610987575f80fd5b813561052081610960565b5f80604083850312156109a3575f80fd5b82356109ae81610960565b915060208301356109be81610960565b809150509250929050565b5f602082840312156109d9575f80fd5b5035919050565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103a1576103a1610a71565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610abc575f80fd5b5051919050565b80820281158282048414176103a1576103a1610a71565b5f82610af457634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103a1576103a1610a71565b5f60208284031215610b1c575f80fd5b81518015158114610520575f80fd5b5f5b83811015610b45578181015183820152602001610b2d565b50505f910152565b5f8251610b5e818460208701610b2b565b9190910192915050565b602081525f8251806020840152610b86816040850160208701610b2b565b601f01601f1916919091016040019291505056fea26469706673582212208b58c747d543ac66e2a72ff7f51cc4af98b9453ea3cecf9b5fb78f0c992131be64736f6c63430008140033","sourceMap":"1471:7100:22:-:0;;;2448:359;;;;;;;;;;;;;;;;;;:::i;:::-;2554:7;:14;2537:6;:13;:31;2529:94;;;;-1:-1:-1;;;2529:94:22;;2803:2:310;2529:94:22;;;2785:21:310;2842:2;2822:18;;;2815:30;2881:34;2861:18;;;2854:62;-1:-1:-1;;;2932:18:310;;;2925:48;2990:19;;2529:94:22;;;;;;;;;2657:1;2641:6;:13;:17;2633:56;;;;-1:-1:-1;;;2633:56:22;;3222:2:310;2633:56:22;;;3204:21:310;3261:2;3241:18;;;3234:30;3300:28;3280:18;;;3273:56;3346:18;;2633:56:22;3020:350:310;2633:56:22;2705:9;2700:101;2724:6;:13;2720:1;:17;2700:101;;;2758:32;2768:6;2775:1;2768:9;;;;;;;;:::i;:::-;;;;;;;2779:7;2787:1;2779:10;;;;;;;;:::i;:::-;;;;;;;2758:9;;;:32;;:::i;:::-;2739:3;;;;:::i;:::-;;;;2700:101;;;;2448:359;;1471:7100;;8105:464;-1:-1:-1;;;;;8184:21:22;;8176:78;;;;-1:-1:-1;;;8176:78:22;;3981:2:310;8176:78:22;;;3963:21:310;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:310;;;4103:42;4162:19;;8176:78:22;3779:408:310;8176:78:22;8282:1;8272:7;:11;8264:53;;;;-1:-1:-1;;;8264:53:22;;4394:2:310;8264:53:22;;;4376:21:310;4433:2;4413:18;;;4406:30;4472:31;4452:18;;;4445:59;4521:18;;8264:53:22;4192:353:310;8264:53:22;-1:-1:-1;;;;;8335:16:22;;;;;;:7;:16;;;;;;:21;8327:77;;;;-1:-1:-1;;;8327:77:22;;4752:2:310;8327:77:22;;;4734:21:310;4791:2;4771:18;;;4764:30;4830:34;4810:18;;;4803:62;-1:-1:-1;;;4881:18:310;;;4874:41;4932:19;;8327:77:22;4550:407:310;8327:77:22;8415:7;:21;;;;;;;;;;;;-1:-1:-1;;;;;;8415:21:22;-1:-1:-1;;;;;8415:21:22;;;;;;;;-1:-1:-1;8446:16:22;;;:7;8415:21;8446:16;;;;:26;;;8497:12;:22;;8446:26;;8497:22;:::i;:::-;8482:12;:37;8534:28;;;-1:-1:-1;;;;;5284:32:310;;5266:51;;5348:2;5333:18;;5326:34;;;8534:28:22;;5239:18:310;8534:28:22;;;;;;;8105:464;;:::o;14:127:310:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:310;247:40;;-1:-1:-1;;;;;302:34:310;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:310:o;426:183::-;486:4;-1:-1:-1;;;;;508:30:310;;505:56;;;541:18;;:::i;:::-;-1:-1:-1;586:1:310;582:14;598:4;578:25;;426:183::o;614:659::-;679:5;732:3;725:4;717:6;713:17;709:27;699:55;;750:1;747;740:12;699:55;779:6;773:13;805:4;829:60;845:43;885:2;845:43;:::i;:::-;829:60;:::i;:::-;923:15;;;1009:1;1005:10;;;;993:23;;989:32;;;954:12;;;;1033:15;;;1030:35;;;1061:1;1058;1051:12;1030:35;1097:2;1089:6;1085:15;1109:135;1125:6;1120:3;1117:15;1109:135;;;1191:10;;1179:23;;1222:12;;;;1142;;1109:135;;;-1:-1:-1;1262:5:310;614:659;-1:-1:-1;;;;;;614:659:310:o;1278:1318::-;1407:6;1415;1468:2;1456:9;1447:7;1443:23;1439:32;1436:52;;;1484:1;1481;1474:12;1436:52;1511:16;;-1:-1:-1;;;;;1576:14:310;;;1573:34;;;1603:1;1600;1593:12;1573:34;1641:6;1630:9;1626:22;1616:32;;1686:7;1679:4;1675:2;1671:13;1667:27;1657:55;;1708:1;1705;1698:12;1657:55;1737:2;1731:9;1759:4;1783:60;1799:43;1839:2;1799:43;:::i;1783:60::-;1877:15;;;1959:1;1955:10;;;;1947:19;;1943:28;;;1908:12;;;;1983:19;;;1980:39;;;2015:1;2012;2005:12;1980:39;2039:11;;;;2059:319;2075:6;2070:3;2067:15;2059:319;;;2142:10;;-1:-1:-1;;;;;2185:31:310;;2175:42;;2165:140;;2259:1;2288:2;2284;2277:14;2165:140;2318:18;;2092:12;;;;2356;;;;2059:319;;;2433:18;;;2427:25;2397:5;;-1:-1:-1;2427:25:310;;-1:-1:-1;;;2464:16:310;;;2461:36;;;2493:1;2490;2483:12;2461:36;;2516:74;2582:7;2571:8;2560:9;2556:24;2516:74;:::i;:::-;2506:84;;;1278:1318;;;;;:::o;3375:127::-;3436:10;3431:3;3427:20;3424:1;3417:31;3467:4;3464:1;3457:15;3491:4;3488:1;3481:15;3507:127;3568:10;3563:3;3559:20;3556:1;3549:31;3599:4;3596:1;3589:15;3623:4;3620:1;3613:15;3639:135;3678:3;3699:17;;;3696:43;;3719:18;;:::i;:::-;-1:-1:-1;3766:1:310;3755:13;;3639:135::o;4962:125::-;5027:9;;;5048:10;;;5045:36;;;5061:18;;:::i;:::-;4962:125;;;;:::o;5092:274::-;1471:7100:22;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061009d575f3560e01c80639852595c116100625780639852595c146101a2578063a3f8eace146101d6578063c45ac050146101f5578063ce7c2ac214610214578063d79779b214610248578063e33b7de31461027c575f80fd5b806319165587146100ea5780633a98ef391461010b578063406072a91461012d57806348b750441461014c5780638b83209b1461016b575f80fd5b366100e6577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b5f80fd5b3480156100f5575f80fd5b50610109610104366004610977565b610290565b005b348015610116575f80fd5b505f545b6040519081526020015b60405180910390f35b348015610138575f80fd5b5061011a610147366004610992565b61037b565b348015610157575f80fd5b50610109610166366004610992565b6103a7565b348015610176575f80fd5b5061018a6101853660046109c9565b6104b3565b6040516001600160a01b039091168152602001610124565b3480156101ad575f80fd5b5061011a6101bc366004610977565b6001600160a01b03165f9081526003602052604090205490565b3480156101e1575f80fd5b5061011a6101f0366004610977565b6104e1565b348015610200575f80fd5b5061011a61020f366004610992565b610527565b34801561021f575f80fd5b5061011a61022e366004610977565b6001600160a01b03165f9081526002602052604090205490565b348015610253575f80fd5b5061011a610262366004610977565b6001600160a01b03165f9081526005602052604090205490565b348015610287575f80fd5b5060015461011a565b6001600160a01b0381165f908152600260205260409020546102cd5760405162461bcd60e51b81526004016102c4906109e0565b60405180910390fd5b5f6102d7826104e1565b9050805f036102f85760405162461bcd60e51b81526004016102c490610a26565b8060015f8282546103099190610a85565b90915550506001600160a01b0382165f90815260036020526040902080548201905561033582826105ca565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b6001600160a01b038083165f908152600660209081526040808320938516835292905220545b92915050565b6001600160a01b0381165f908152600260205260409020546103db5760405162461bcd60e51b81526004016102c4906109e0565b5f6103e68383610527565b9050805f036104075760405162461bcd60e51b81526004016102c490610a26565b6001600160a01b0383165f908152600560205260408120805483929061042e908490610a85565b90915550506001600160a01b038084165f9081526006602090815260408083209386168352929052208054820190556104688383836106e4565b604080516001600160a01b038481168252602082018490528516917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a2505050565b5f600482815481106104c7576104c7610a98565b5f918252602090912001546001600160a01b031692915050565b5f806104ec60015490565b6104f69047610a85565b9050610520838261051b866001600160a01b03165f9081526003602052604090205490565b610736565b9392505050565b6001600160a01b0382165f9081526005602052604081205481906040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610aac565b6105b19190610a85565b90506105c2838261051b878761037b565b949350505050565b8047101561061a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102c4565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610663576040519150601f19603f3d011682016040523d82523d5f602084013e610668565b606091505b50509050806106df5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102c4565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106df908490610770565b5f80546001600160a01b03851682526002602052604082205483919061075c9086610ac3565b6107669190610ada565b6105c29190610af9565b5f6107c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108439092919063ffffffff16565b905080515f14806107e45750808060200190518101906107e49190610b0c565b6106df5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102c4565b60606105c284845f85855f80866001600160a01b031685876040516108689190610b4d565b5f6040518083038185875af1925050503d805f81146108a2576040519150601f19603f3d011682016040523d82523d5f602084013e6108a7565b606091505b50915091506108b8878383876108c3565b979650505050505050565b606083156109315782515f0361092a576001600160a01b0385163b61092a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c4565b50816105c2565b6105c283838151156109465781518083602001fd5b8060405162461bcd60e51b81526004016102c49190610b68565b6001600160a01b0381168114610974575f80fd5b50565b5f60208284031215610987575f80fd5b813561052081610960565b5f80604083850312156109a3575f80fd5b82356109ae81610960565b915060208301356109be81610960565b809150509250929050565b5f602082840312156109d9575f80fd5b5035919050565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103a1576103a1610a71565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610abc575f80fd5b5051919050565b80820281158282048414176103a1576103a1610a71565b5f82610af457634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103a1576103a1610a71565b5f60208284031215610b1c575f80fd5b81518015158114610520575f80fd5b5f5b83811015610b45578181015183820152602001610b2d565b50505f910152565b5f8251610b5e818460208701610b2b565b9190910192915050565b602081525f8251806020840152610b86816040850160208701610b2b565b601f01601f1916919091016040019291505056fea26469706673582212208b58c747d543ac66e2a72ff7f51cc4af98b9453ea3cecf9b5fb78f0c992131be64736f6c63430008140033","sourceMap":"1471:7100:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3369:40;734:10:224;3369:40:22;;;-1:-1:-1;;;;;206:32:310;;;188:51;;3399:9:22;270:2:310;255:18;;248:34;161:18;3369:40:22;;;;;;;1471:7100;;;;;5815:655;;;;;;;;;;-1:-1:-1;5815:655:22;;;;;:::i;:::-;;:::i;:::-;;3494:89;;;;;;;;;;-1:-1:-1;3538:7:22;3564:12;3494:89;;;851:25:310;;;839:2;824:18;3494:89:22;;;;;;;;4586:133;;;;;;;;;;-1:-1:-1;4586:133:22;;;;;:::i;:::-;;:::i;6731:775::-;;;;;;;;;;-1:-1:-1;6731:775:22;;;;;:::i;:::-;;:::i;4805:98::-;;;;;;;;;;-1:-1:-1;4805:98:22;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1661:32:310;;;1643:51;;1631:2;1616:18;4805:98:22;1497:203:310;4316:107:22;;;;;;;;;;-1:-1:-1;4316:107:22;;;;;:::i;:::-;-1:-1:-1;;;;;4398:18:22;4372:7;4398:18;;;:9;:18;;;;;;;4316:107;4988:222;;;;;;;;;;-1:-1:-1;4988:222:22;;;;;:::i;:::-;;:::i;5364:257::-;;;;;;;;;;-1:-1:-1;5364:257:22;;;;;:::i;:::-;;:::i;4119:103::-;;;;;;;;;;-1:-1:-1;4119:103:22;;;;;:::i;:::-;-1:-1:-1;;;;;4199:16:22;4173:7;4199:16;;;:7;:16;;;;;;;4119:103;3916:117;;;;;;;;;;-1:-1:-1;3916:117:22;;;;;:::i;:::-;-1:-1:-1;;;;;4000:26:22;3974:7;4000:26;;;:19;:26;;;;;;;3916:117;3672:93;;;;;;;;;;-1:-1:-1;3744:14:22;;3672:93;;5815:655;-1:-1:-1;;;;;5890:16:22;;5909:1;5890:16;;;:7;:16;;;;;;5882:71;;;;-1:-1:-1;;;5882:71:22;;;;;;;:::i;:::-;;;;;;;;;5964:15;5982:19;5993:7;5982:10;:19::i;:::-;5964:37;;6020:7;6031:1;6020:12;6012:68;;;;-1:-1:-1;;;6012:68:22;;;;;;;:::i;:::-;6289:7;6271:14;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6330:18:22;;;;;;:9;:18;;;;;:29;;;;;;6380:35;6340:7;6352;6380:17;:35::i;:::-;6430:33;;;-1:-1:-1;;;;;206:32:310;;188:51;;270:2;255:18;;248:34;;;6430:33:22;;161:18:310;6430:33:22;;;;;;;5872:598;5815:655;:::o;4586:133::-;-1:-1:-1;;;;;4682:21:22;;;4656:7;4682:21;;;:14;:21;;;;;;;;:30;;;;;;;;;;4586:133;;;;;:::o;6731:775::-;-1:-1:-1;;;;;6812:16:22;;6831:1;6812:16;;;:7;:16;;;;;;6804:71;;;;-1:-1:-1;;;6804:71:22;;;;;;;:::i;:::-;6886:15;6904:26;6915:5;6922:7;6904:10;:26::i;:::-;6886:44;;6949:7;6960:1;6949:12;6941:68;;;;-1:-1:-1;;;6941:68:22;;;;;;;:::i;:::-;-1:-1:-1;;;;;7259:26:22;;;;;;:19;:26;;;;;:37;;7289:7;;7259:26;:37;;7289:7;;7259:37;:::i;:::-;;;;-1:-1:-1;;;;;;;7330:21:22;;;;;;;:14;:21;;;;;;;;:30;;;;;;;;;:41;;;;;;7392:47;7345:5;7352:7;7364;7392:22;:47::i;:::-;7454:45;;;-1:-1:-1;;;;;206:32:310;;;188:51;;270:2;255:18;;248:34;;;7454:45:22;;;;;161:18:310;7454:45:22;;;;;;;6794:712;6731:775;;:::o;4805:98::-;4856:7;4882;4890:5;4882:14;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;4882:14:22;;4805:98;-1:-1:-1;;4805:98:22:o;4988:222::-;5046:7;5065:21;5113:15;3744:14;;;3672:93;5113:15;5089:39;;:21;:39;:::i;:::-;5065:63;;5145:58;5161:7;5170:13;5185:17;5194:7;-1:-1:-1;;;;;4398:18:22;4372:7;4398:18;;;:9;:18;;;;;;;4316:107;5185:17;5145:15;:58::i;:::-;5138:65;4988:222;-1:-1:-1;;;4988:222:22:o;5364:257::-;-1:-1:-1;;;;;4000:26:22;;5436:7;4000:26;;;:19;:26;;;;;;5436:7;;5479:30;;-1:-1:-1;;;5479:30:22;;5503:4;5479:30;;;1643:51:310;-1:-1:-1;;;;;5479:15:22;;;;;1616:18:310;;5479:30:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;;:::i;:::-;5455:77;;5549:65;5565:7;5574:13;5589:24;5598:5;5605:7;5589:8;:24::i;5549:65::-;5542:72;5364:257;-1:-1:-1;;;;5364:257:22:o;2647:312:220:-;2761:6;2736:21;:31;;2728:73;;;;-1:-1:-1;;;2728:73:220;;4132:2:310;2728:73:220;;;4114:21:310;4171:2;4151:18;;;4144:30;4210:31;4190:18;;;4183:59;4259:18;;2728:73:220;3930:353:310;2728:73:220;2813:12;2831:9;-1:-1:-1;;;;;2831:14:220;2853:6;2831:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:52;;;2882:7;2874:78;;;;-1:-1:-1;;;2874:78:220;;4700:2:310;2874:78:220;;;4682:21:310;4739:2;4719:18;;;4712:30;4778:34;4758:18;;;4751:62;4849:28;4829:18;;;4822:56;4895:19;;2874:78:220;4498:422:310;2874:78:220;2718:241;2647:312;;:::o;941:175:196:-;1050:58;;;-1:-1:-1;;;;;206:32:310;;1050:58:196;;;188:51:310;255:18;;;;248:34;;;1050:58:196;;;;;;;;;;161:18:310;;;;1050:58:196;;;;;;;;-1:-1:-1;;;;;1050:58:196;-1:-1:-1;;;1050:58:196;;;1023:86;;1043:5;;1023:19;:86::i;7678:242:22:-;7820:7;7883:12;;-1:-1:-1;;;;;7863:16:22;;;;:7;:16;;;;;;7898:15;;7883:12;7847:32;;:13;:32;:::i;:::-;7846:49;;;;:::i;:::-;:67;;;;:::i;5196:642:196:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:196;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:196;;5937:2:310;5720:111:196;;;5919:21:310;5976:2;5956:18;;;5949:30;6015:34;5995:18;;;5988:62;-1:-1:-1;;;6066:18:310;;;6059:40;6116:19;;5720:111:196;5735:406:310;4108:223:220;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:220;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:220:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:220;;;8113:60;;;;-1:-1:-1;;;8113:60:220;;7302:2:310;8113:60:220;;;7284:21:310;7341:2;7321:18;;;7314:30;7380:31;7360:18;;;7353:59;7429:18;;8113:60:220;7100:353:310;8113:60:220;-1:-1:-1;8208:10:220;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:220;;;;;;;;:::i;293:139:310:-;-1:-1:-1;;;;;376:31:310;;366:42;;356:70;;422:1;419;412:12;356:70;293:139;:::o;437:263::-;504:6;557:2;545:9;536:7;532:23;528:32;525:52;;;573:1;570;563:12;525:52;612:9;599:23;631:39;664:5;631:39;:::i;887:420::-;971:6;979;1032:2;1020:9;1011:7;1007:23;1003:32;1000:52;;;1048:1;1045;1038:12;1000:52;1087:9;1074:23;1106:39;1139:5;1106:39;:::i;:::-;1164:5;-1:-1:-1;1221:2:310;1206:18;;1193:32;1234:41;1193:32;1234:41;:::i;:::-;1294:7;1284:17;;;887:420;;;;;:::o;1312:180::-;1371:6;1424:2;1412:9;1403:7;1399:23;1395:32;1392:52;;;1440:1;1437;1430:12;1392:52;-1:-1:-1;1463:23:310;;1312:180;-1:-1:-1;1312:180:310:o;2241:402::-;2443:2;2425:21;;;2482:2;2462:18;;;2455:30;2521:34;2516:2;2501:18;;2494:62;-1:-1:-1;;;2587:2:310;2572:18;;2565:36;2633:3;2618:19;;2241:402::o;2648:407::-;2850:2;2832:21;;;2889:2;2869:18;;;2862:30;2928:34;2923:2;2908:18;;2901:62;-1:-1:-1;;;2994:2:310;2979:18;;2972:41;3045:3;3030:19;;2648:407::o;3060:127::-;3121:10;3116:3;3112:20;3109:1;3102:31;3152:4;3149:1;3142:15;3176:4;3173:1;3166:15;3192:125;3257:9;;;3278:10;;;3275:36;;;3291:18;;:::i;3609:127::-;3670:10;3665:3;3661:20;3658:1;3651:31;3701:4;3698:1;3691:15;3725:4;3722:1;3715:15;3741:184;3811:6;3864:2;3852:9;3843:7;3839:23;3835:32;3832:52;;;3880:1;3877;3870:12;3832:52;-1:-1:-1;3903:16:310;;3741:184;-1:-1:-1;3741:184:310:o;4925:168::-;4998:9;;;5029;;5046:15;;;5040:22;;5026:37;5016:71;;5067:18;;:::i;5098:217::-;5138:1;5164;5154:132;;5208:10;5203:3;5199:20;5196:1;5189:31;5243:4;5240:1;5233:15;5271:4;5268:1;5261:15;5154:132;-1:-1:-1;5300:9:310;;5098:217::o;5320:128::-;5387:9;;;5408:11;;;5405:37;;;5422:18;;:::i;5453:277::-;5520:6;5573:2;5561:9;5552:7;5548:23;5544:32;5541:52;;;5589:1;5586;5579:12;5541:52;5621:9;5615:16;5674:5;5667:13;5660:21;5653:5;5650:32;5640:60;;5696:1;5693;5686:12;6553:250;6638:1;6648:113;6662:6;6659:1;6656:13;6648:113;;;6738:11;;;6732:18;6719:11;;;6712:39;6684:2;6677:10;6648:113;;;-1:-1:-1;;6795:1:310;6777:16;;6770:27;6553:250::o;6808:287::-;6937:3;6975:6;6969:13;6991:66;7050:6;7045:3;7038:4;7030:6;7026:17;6991:66;:::i;:::-;7073:16;;;;;6808:287;-1:-1:-1;;6808:287:310:o;7458:396::-;7607:2;7596:9;7589:21;7570:4;7639:6;7633:13;7682:6;7677:2;7666:9;7662:18;7655:34;7698:79;7770:6;7765:2;7754:9;7750:18;7745:2;7737:6;7733:15;7698:79;:::i;:::-;7838:2;7817:15;-1:-1:-1;;7813:29:310;7798:45;;;;7845:2;7794:54;;7458:396;-1:-1:-1;;7458:396:310:o","linkReferences":{}},"methodIdentifiers":{"payee(uint256)":"8b83209b","releasable(address)":"a3f8eace","releasable(address,address)":"c45ac050","release(address)":"19165587","release(address,address)":"48b75044","released(address)":"9852595c","released(address,address)":"406072a9","shares(address)":"ce7c2ac2","totalReleased()":"e33b7de3","totalReleased(address)":"d79779b2","totalShares()":"3a98ef39"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"payees\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"shares_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20PaymentReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"PayeeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PaymentReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PaymentReleased\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"payee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"shares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"totalReleased\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalReleased\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware that the Ether will be split in this way, since it is handled transparently by the contract. The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim an amount proportional to the percentage of total shares they were assigned. The distribution of shares is set at the time of contract deployment and can't be updated thereafter. `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release} function. NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you to run tests before sending real value to this contract.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at the matching position in the `shares` array. All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no duplicates in `payees`.\"},\"payee(uint256)\":{\"details\":\"Getter for the address of the payee number `index`.\"},\"releasable(address)\":{\"details\":\"Getter for the amount of payee's releasable Ether.\"},\"releasable(address,address)\":{\"details\":\"Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an IERC20 contract.\"},\"release(address)\":{\"details\":\"Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the total shares and their previous withdrawals.\"},\"release(address,address)\":{\"details\":\"Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 contract.\"},\"released(address)\":{\"details\":\"Getter for the amount of Ether already released to a payee.\"},\"released(address,address)\":{\"details\":\"Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an IERC20 contract.\"},\"shares(address)\":{\"details\":\"Getter for the amount of shares held by an account.\"},\"totalReleased()\":{\"details\":\"Getter for the total amount of Ether already released.\"},\"totalReleased(address)\":{\"details\":\"Getter for the total amount of `token` already released. `token` should be the address of an IERC20 contract.\"},\"totalShares()\":{\"details\":\"Getter for the total shares held by payees.\"}},\"title\":\"PaymentSplitter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol\":\"PaymentSplitter\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol\":{\"keccak256\":\"0xba00a079c0def02f9e905ed091f01bcf9caa41ec215862a315e9f3838be61cdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c2cac21034117cbda842f32ae50ab87aa0e71ffbeb94d9b6051f8085abd8a7\",\"dweb:/ipfs/QmYUCe45jDezpnK9y7ecqZVy1iECqW63mUrgqnM6YZdrrF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"payees","type":"address[]"},{"internalType":"uint256[]","name":"shares_","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ERC20PaymentReleased","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"PayeeAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PaymentReceived","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PaymentReleased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"payee","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address payable","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"release"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"release"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at the matching position in the `shares` array. All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no duplicates in `payees`."},"payee(uint256)":{"details":"Getter for the address of the payee number `index`."},"releasable(address)":{"details":"Getter for the amount of payee's releasable Ether."},"releasable(address,address)":{"details":"Getter for the amount of payee's releasable `token` tokens. `token` should be the address of an IERC20 contract."},"release(address)":{"details":"Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the total shares and their previous withdrawals."},"release(address,address)":{"details":"Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 contract."},"released(address)":{"details":"Getter for the amount of Ether already released to a payee."},"released(address,address)":{"details":"Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an IERC20 contract."},"shares(address)":{"details":"Getter for the amount of shares held by an account."},"totalReleased()":{"details":"Getter for the total amount of Ether already released."},"totalReleased(address)":{"details":"Getter for the total amount of `token` already released. `token` should be the address of an IERC20 contract."},"totalShares()":{"details":"Getter for the total shares held by payees."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol":"PaymentSplitter"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol":{"keccak256":"0xba00a079c0def02f9e905ed091f01bcf9caa41ec215862a315e9f3838be61cdc","urls":["bzz-raw://64c2cac21034117cbda842f32ae50ab87aa0e71ffbeb94d9b6051f8085abd8a7","dweb:/ipfs/QmYUCe45jDezpnK9y7ecqZVy1iECqW63mUrgqnM6YZdrrF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"}},"version":1},"id":22}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":"Proxy"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"}},"version":1},"id":156}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"changeProxyAdmin","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"},{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getProxyAdmin","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProxyImplementation","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgrade","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"},{"name":"implementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeAndCall","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"},{"name":"implementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506100193361001e565b61006d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106618061007a5f395ff3fe608060405260043610610079575f3560e01c80639623609d1161004c5780639623609d1461010957806399a88ec41461011c578063f2fde38b1461013b578063f3b7dead1461015a575f80fd5b8063204e1c7a1461007d578063715018a6146100b85780637eff275e146100ce5780638da5cb5b146100ed575b5f80fd5b348015610088575f80fd5b5061009c610097366004610479565b610179565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c3575f80fd5b506100cc610204565b005b3480156100d9575f80fd5b506100cc6100e836600461049b565b610217565b3480156100f8575f80fd5b505f546001600160a01b031661009c565b6100cc6101173660046104e6565b61027a565b348015610127575f80fd5b506100cc61013636600461049b565b6102e5565b348015610146575f80fd5b506100cc610155366004610479565b61031b565b348015610165575f80fd5b5061009c610174366004610479565b610399565b5f805f836001600160a01b031660405161019d90635c60da1b60e01b815260040190565b5f60405180830381855afa9150503d805f81146101d5576040519150601f19603f3d011682016040523d82523d5f602084013e6101da565b606091505b5091509150816101e8575f80fd5b808060200190518101906101fc91906105b5565b949350505050565b61020c6103bd565b6102155f610416565b565b61021f6103bd565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b5f604051808303815f87803b158015610260575f80fd5b505af1158015610272573d5f803e3d5ffd5b505050505050565b6102826103bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b290869086906004016105d0565b5f604051808303818588803b1580156102c9575f80fd5b505af11580156102db573d5f803e3d5ffd5b5050505050505050565b6102ed6103bd565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe690602401610249565b6103236103bd565b6001600160a01b03811661038d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039681610416565b50565b5f805f836001600160a01b031660405161019d906303e1469160e61b815260040190565b5f546001600160a01b031633146102155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610384565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610396575f80fd5b5f60208284031215610489575f80fd5b813561049481610465565b9392505050565b5f80604083850312156104ac575f80fd5b82356104b781610465565b915060208301356104c781610465565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f606084860312156104f8575f80fd5b833561050381610465565b9250602084013561051381610465565b9150604084013567ffffffffffffffff8082111561052f575f80fd5b818601915086601f830112610542575f80fd5b813581811115610554576105546104d2565b604051601f8201601f19908116603f0116810190838211818310171561057c5761057c6104d2565b81604052828152896020848701011115610594575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f602082840312156105c5575f80fd5b815161049481610465565b60018060a01b03831681525f602060408184015283518060408501525f5b8181101561060a578581018301518582016060015282016105ee565b505f606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220330f9cbc02dcb7daae5c570c597916a792eda33b3698985f3c191e64fb01a7f664736f6c63430008140033","sourceMap":"450:2409:160:-:0;;;;;;;;;;;;-1:-1:-1;936:32:9;734:10:224;936:18:9;:32::i;:::-;450:2409:160;;2426:187:9;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;450:2409:160:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610079575f3560e01c80639623609d1161004c5780639623609d1461010957806399a88ec41461011c578063f2fde38b1461013b578063f3b7dead1461015a575f80fd5b8063204e1c7a1461007d578063715018a6146100b85780637eff275e146100ce5780638da5cb5b146100ed575b5f80fd5b348015610088575f80fd5b5061009c610097366004610479565b610179565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c3575f80fd5b506100cc610204565b005b3480156100d9575f80fd5b506100cc6100e836600461049b565b610217565b3480156100f8575f80fd5b505f546001600160a01b031661009c565b6100cc6101173660046104e6565b61027a565b348015610127575f80fd5b506100cc61013636600461049b565b6102e5565b348015610146575f80fd5b506100cc610155366004610479565b61031b565b348015610165575f80fd5b5061009c610174366004610479565b610399565b5f805f836001600160a01b031660405161019d90635c60da1b60e01b815260040190565b5f60405180830381855afa9150503d805f81146101d5576040519150601f19603f3d011682016040523d82523d5f602084013e6101da565b606091505b5091509150816101e8575f80fd5b808060200190518101906101fc91906105b5565b949350505050565b61020c6103bd565b6102155f610416565b565b61021f6103bd565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b5f604051808303815f87803b158015610260575f80fd5b505af1158015610272573d5f803e3d5ffd5b505050505050565b6102826103bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b290869086906004016105d0565b5f604051808303818588803b1580156102c9575f80fd5b505af11580156102db573d5f803e3d5ffd5b5050505050505050565b6102ed6103bd565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe690602401610249565b6103236103bd565b6001600160a01b03811661038d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039681610416565b50565b5f805f836001600160a01b031660405161019d906303e1469160e61b815260040190565b5f546001600160a01b031633146102155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610384565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610396575f80fd5b5f60208284031215610489575f80fd5b813561049481610465565b9392505050565b5f80604083850312156104ac575f80fd5b82356104b781610465565b915060208301356104c781610465565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f606084860312156104f8575f80fd5b833561050381610465565b9250602084013561051381610465565b9150604084013567ffffffffffffffff8082111561052f575f80fd5b818601915086601f830112610542575f80fd5b813581811115610554576105546104d2565b604051601f8201601f19908116603f0116810190838211818310171561057c5761057c6104d2565b81604052828152896020848701011115610594575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f602082840312156105c5575f80fd5b815161049481610465565b60018060a01b03831681525f602060408184015283518060408501525f5b8181101561060a578581018301518582016060015282016105ee565b505f606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220330f9cbc02dcb7daae5c570c597916a792eda33b3698985f3c191e64fb01a7f664736f6c63430008140033","sourceMap":"450:2409:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;650:438;;;;;;;;;;-1:-1:-1;650:438:160;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;664:32:310;;;646:51;;634:2;619:18;650:438:160;;;;;;;1824:101:9;;;;;;;;;;;;;:::i;:::-;;1842:149:160;;;;;;;;;;-1:-1:-1;1842:149:160;;;;;:::i;:::-;;:::i;1201:85:9:-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;-1:-1:-1;;;;;1273:6:9;1201:85;;2612:245:160;;;;;;:::i;:::-;;:::i;2196:150::-;;;;;;;;;;-1:-1:-1;2196:150:160;;;;;:::i;:::-;;:::i;2074:198:9:-;;;;;;;;;;-1:-1:-1;2074:198:9;;;;;:::i;:::-;;:::i;1248:420:160:-;;;;;;;;;;-1:-1:-1;1248:420:160;;;;;:::i;:::-;;:::i;650:438::-;747:7;924:12;938:23;973:5;-1:-1:-1;;;;;965:25:160;:40;;;;-1:-1:-1;;;3114:33:310;;3172:1;3163:11;;2913:267;965:40:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;923:82;;;;1023:7;1015:16;;;;;;1059:10;1048:33;;;;;;;;;;;;:::i;:::-;1041:40;650:438;-1:-1:-1;;;;650:438:160:o;1824:101:9:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1842:149:160:-;1094:13:9;:11;:13::i;:::-;1957:27:160::1;::::0;-1:-1:-1;;;1957:27:160;;-1:-1:-1;;;;;664:32:310;;;1957:27:160::1;::::0;::::1;646:51:310::0;1957:17:160;::::1;::::0;::::1;::::0;619:18:310;;1957:27:160::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1842:149:::0;;:::o;2612:245::-;1094:13:9;:11;:13::i;:::-;2788:62:160::1;::::0;-1:-1:-1;;;2788:62:160;;-1:-1:-1;;;;;2788:22:160;::::1;::::0;::::1;::::0;2818:9:::1;::::0;2788:62:::1;::::0;2829:14;;2845:4;;2788:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;2612:245:::0;;;:::o;2196:150::-;1094:13:9;:11;:13::i;:::-;2308:31:160::1;::::0;-1:-1:-1;;;2308:31:160;;-1:-1:-1;;;;;664:32:310;;;2308:31:160::1;::::0;::::1;646:51:310::0;2308:15:160;::::1;::::0;::::1;::::0;619:18:310;;2308:31:160::1;500:203:310::0;2074:198:9;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:9;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:9;;4329:2:310;2154:73:9::1;::::0;::::1;4311:21:310::0;4368:2;4348:18;;;4341:30;4407:34;4387:18;;;4380:62;-1:-1:-1;;;4458:18:310;;;4451:36;4504:19;;2154:73:9::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1248:420:160:-;1336:7;1504:12;1518:23;1553:5;-1:-1:-1;;;;;1545:25:160;:40;;;;-1:-1:-1;;;4735:33:310;;4793:1;4784:11;;4534:267;1359:130:9;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;734:10:224;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;5008:2:310;1414:68:9;;;4990:21:310;;;5027:18;;;5020:30;5086:34;5066:18;;;5059:62;5138:18;;1414:68:9;4806:356:310;2426:187:9;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:161:310:-;-1:-1:-1;;;;;119:31:310;;109:42;;99:70;;165:1;162;155:12;180:315;277:6;330:2;318:9;309:7;305:23;301:32;298:52;;;346:1;343;336:12;298:52;385:9;372:23;404:61;459:5;404:61;:::i;:::-;484:5;180:315;-1:-1:-1;;;180:315:310:o;708:486::-;814:6;822;875:2;863:9;854:7;850:23;846:32;843:52;;;891:1;888;881:12;843:52;930:9;917:23;949:61;1004:5;949:61;:::i;:::-;1029:5;-1:-1:-1;1086:2:310;1071:18;;1058:32;1099:63;1058:32;1099:63;:::i;:::-;1181:7;1171:17;;;708:486;;;;;:::o;1199:127::-;1260:10;1255:3;1251:20;1248:1;1241:31;1291:4;1288:1;1281:15;1315:4;1312:1;1305:15;1331:1295;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1579:9;1566:23;1598:61;1653:5;1598:61;:::i;:::-;1678:5;-1:-1:-1;1735:2:310;1720:18;;1707:32;1748:63;1707:32;1748:63;:::i;:::-;1830:7;-1:-1:-1;1888:2:310;1873:18;;1860:32;1911:18;1941:14;;;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2212:2;2206:9;2180:2;2266:13;;-1:-1:-1;;2262:22:310;;;2286:2;2258:31;2254:40;2242:53;;;2310:18;;;2330:22;;;2307:46;2304:72;;;2356:18;;:::i;:::-;2396:10;2392:2;2385:22;2431:2;2423:6;2416:18;2471:7;2466:2;2461;2457;2453:11;2449:20;2446:33;2443:53;;;2492:1;2489;2482:12;2443:53;2548:2;2543;2539;2535:11;2530:2;2522:6;2518:15;2505:46;2593:1;2588:2;2583;2575:6;2571:15;2567:24;2560:35;2614:6;2604:16;;;;;;;1331:1295;;;;;:::o;3185:289::-;3263:6;3316:2;3304:9;3295:7;3291:23;3287:32;3284:52;;;3332:1;3329;3322:12;3284:52;3364:9;3358:16;3383:61;3438:5;3383:61;:::i;3479:643::-;3683:1;3679;3674:3;3670:11;3666:19;3658:6;3654:32;3643:9;3636:51;3617:4;3706:2;3744;3739;3728:9;3724:18;3717:30;3776:6;3770:13;3819:6;3814:2;3803:9;3799:18;3792:34;3844:1;3854:140;3868:6;3865:1;3862:13;3854:140;;;3963:14;;;3959:23;;3953:30;3929:17;;;3948:2;3925:26;3918:66;3883:10;;3854:140;;;3858:3;4043:1;4038:2;4029:6;4018:9;4014:22;4010:31;4003:42;4113:2;4106;4102:7;4097:2;4089:6;4085:15;4081:29;4070:9;4066:45;4062:54;4054:62;;;;3479:643;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"changeProxyAdmin(address,address)":"7eff275e","getProxyAdmin(address)":"f3b7dead","getProxyImplementation(address)":"204e1c7a","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","upgrade(address,address)":"99a88ec4","upgradeAndCall(address,address,bytes)":"9623609d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeProxyAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyImplementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"kind\":\"dev\",\"methods\":{\"changeProxyAdmin(address,address)\":{\"details\":\"Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`.\"},\"getProxyAdmin(address)\":{\"details\":\"Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"getProxyImplementation(address)\":{\"details\":\"Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgrade(address,address)\":{\"details\":\"Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x8e99882a991853dc446278576c8cb9b3a5ded84642e9bcc917b1677807c2f18c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310153c1a4c739002ffbc1351ed1dd7488a0d20f5dd816353332fc2c1d81e0a3\",\"dweb:/ipfs/QmcvwXQVUBRTEAoNcvwSVFmhpHUXQ21s2Hfj79hq2uQNVM\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x168e36d7e616bd41f6abab4a83009da64513ae9e638aa6d5980066e2a92db689\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a45c64b97311fabbcbe8dad7e94fa89e06a7f96060d5565326ef706f5f239017\",\"dweb:/ipfs/QmeU2jiBGbHhz9DqRotjbpAx5s2xExDSRQtSD5ENjuHzDq\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract ITransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"newAdmin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeProxyAdmin"},{"inputs":[{"internalType":"contract ITransparentUpgradeableProxy","name":"proxy","type":"address"}],"stateMutability":"view","type":"function","name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract ITransparentUpgradeableProxy","name":"proxy","type":"address"}],"stateMutability":"view","type":"function","name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"contract ITransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgrade"},{"inputs":[{"internalType":"contract ITransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeAndCall"}],"devdoc":{"kind":"dev","methods":{"changeProxyAdmin(address,address)":{"details":"Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`."},"getProxyAdmin(address)":{"details":"Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`."},"getProxyImplementation(address)":{"details":"Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgrade(address,address)":{"details":"Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`."},"upgradeAndCall(address,address,bytes)":{"details":"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":"ProxyAdmin"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":{"keccak256":"0x8e99882a991853dc446278576c8cb9b3a5ded84642e9bcc917b1677807c2f18c","urls":["bzz-raw://310153c1a4c739002ffbc1351ed1dd7488a0d20f5dd816353332fc2c1d81e0a3","dweb:/ipfs/QmcvwXQVUBRTEAoNcvwSVFmhpHUXQ21s2Hfj79hq2uQNVM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"keccak256":"0x168e36d7e616bd41f6abab4a83009da64513ae9e638aa6d5980066e2a92db689","urls":["bzz-raw://a45c64b97311fabbcbe8dad7e94fa89e06a7f96060d5565326ef706f5f239017","dweb:/ipfs/QmeU2jiBGbHhz9DqRotjbpAx5s2xExDSRQtSD5ENjuHzDq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"}},"version":1},"id":160}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"payments","inputs":[{"name":"dest","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"payments(address)":"e2982c21","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Simple implementation of a https://consensys.github.io/smart-contract-best-practices/development-recommendations/general/external-calls/#favor-pull-over-push-for-external-calls[pull-payment] strategy, where the paying contract doesn't interact directly with the receiver account, which must withdraw its payments itself. Pull-payments are often considered the best practice when it comes to sending Ether, security-wise. It prevents recipients from blocking execution, and eliminates reentrancy concerns. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. To use, derive from the `PullPayment` contract, and use {_asyncTransfer} instead of Solidity's `transfer` function. Payees can query their due payments with {payments}, and retrieve them with {withdrawPayments}.\",\"kind\":\"dev\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the payments owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":\"PullPayment\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"payments(address)":{"details":"Returns the payments owed to an address.","params":{"dest":"The creditor's address."}},"withdrawPayments(address)":{"details":"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.","params":{"payee":"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":"PullPayment"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":{"keccak256":"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860","urls":["bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0","dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"}},"version":1},"id":165}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"payable"},{"type":"function","name":"callTransfer","inputs":[{"name":"dest","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payments","inputs":[{"name":"dest","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60a06040526040516100109061003b565b604051809103905ff080158015610029573d5f803e3d5ffd5b506001600160a01b0316608052610048565b6105718061034383390190565b6080516102d661006d5f395f818160af0152818161013801526101c801526102d65ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806331b3eb9414610043578063d444099114610058578063e2982c211461006b575b5f80fd5b61005661005136600461023d565b610090565b005b61005661006636600461025f565b610109565b61007e61007936600461023d565b610117565b60405190815260200160405180910390f35b6040516351cff8d960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906351cff8d9906024015f604051808303815f87803b1580156100f0575f80fd5b505af1158015610102573d5f803e3d5ffd5b5050505050565b61011382826101a9565b5050565b6040516371d4ed8d60e11b81526001600160a01b0382811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e3a9db1a90602401602060405180830381865afa15801561017f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a39190610289565b92915050565b60405163f340fa0160e01b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f340fa019083906024015f604051808303818588803b15801561020b575f80fd5b505af115801561021d573d5f803e3d5ffd5b50505050505050565b6001600160a01b038116811461023a575f80fd5b50565b5f6020828403121561024d575f80fd5b813561025881610226565b9392505050565b5f8060408385031215610270575f80fd5b823561027b81610226565b946020939093013593505050565b5f60208284031215610299575f80fd5b505191905056fea2646970667358221220edbf4830250af940398dd0b2aa166386ffe2bd5aee385238e6ad60755886d62a64736f6c63430008140033608060405234801561000f575f80fd5b506100193361001e565b61006d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104f78061007a5f395ff3fe608060405260043610610054575f3560e01c806351cff8d914610058578063715018a6146100795780638da5cb5b1461008d578063e3a9db1a146100b8578063f2fde38b146100fa578063f340fa0114610119575b5f80fd5b348015610063575f80fd5b5061007761007236600461047a565b61012c565b005b348015610084575f80fd5b506100776101a2565b348015610098575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b3480156100c3575f80fd5b506100ec6100d236600461047a565b6001600160a01b03165f9081526001602052604090205490565b6040519081526020016100af565b348015610105575f80fd5b5061007761011436600461047a565b6101b5565b61007761012736600461047a565b610233565b6101346102a4565b6001600160a01b0381165f81815260016020526040812080549190559061015b90826102fd565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161019691815260200190565b60405180910390a25050565b6101aa6102a4565b6101b35f610417565b565b6101bd6102a4565b6001600160a01b0381166102275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023081610417565b50565b61023b6102a4565b6001600160a01b0381165f9081526001602052604081208054349283929161026490849061049c565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610196565b5f546001600160a01b031633146101b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161021e565b8047101561034d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161021e565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610396576040519150601f19603f3d011682016040523d82523d5f602084013e61039b565b606091505b50509050806104125760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161021e565b505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610230575f80fd5b5f6020828403121561048a575f80fd5b813561049581610466565b9392505050565b808201808211156104bb57634e487b7160e01b5f52601160045260245ffd5b9291505056fea264697066735822122058a1ce5270093d3cebc9f71209bd8bbcee97563818a542c53a98d8aaec54479a64736f6c63430008140033","sourceMap":"129:232:100:-:0;;;1265:12:165;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1255:22:165;;;129:232:100;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c806331b3eb9414610043578063d444099114610058578063e2982c211461006b575b5f80fd5b61005661005136600461023d565b610090565b005b61005661006636600461025f565b610109565b61007e61007936600461023d565b610117565b60405190815260200160405180910390f35b6040516351cff8d960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906351cff8d9906024015f604051808303815f87803b1580156100f0575f80fd5b505af1158015610102573d5f803e3d5ffd5b5050505050565b61011382826101a9565b5050565b6040516371d4ed8d60e11b81526001600160a01b0382811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e3a9db1a90602401602060405180830381865afa15801561017f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a39190610289565b92915050565b60405163f340fa0160e01b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f340fa019083906024015f604051808303818588803b15801561020b575f80fd5b505af115801561021d573d5f803e3d5ffd5b50505050505050565b6001600160a01b038116811461023a575f80fd5b50565b5f6020828403121561024d575f80fd5b813561025881610226565b9392505050565b5f8060408385031215610270575f80fd5b823561027b81610226565b946020939093013593505050565b5f60208284031215610299575f80fd5b505191905056fea2646970667358221220edbf4830250af940398dd0b2aa166386ffe2bd5aee385238e6ad60755886d62a64736f6c63430008140033","sourceMap":"129:232:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1996:104:165;;;;;;:::i;:::-;;:::i;:::-;;255::100;;;;;;:::i;:::-;;:::i;2218:110:165:-;;;;;;:::i;:::-;;:::i;:::-;;;1160:25:310;;;1148:2;1133:18;2218:110:165;;;;;;;1996:104;2070:23;;-1:-1:-1;;;2070:23:165;;-1:-1:-1;;;;;1376:32:310;;;2070:23:165;;;1358:51:310;2070:7:165;:16;;;;1331:18:310;;2070:23:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1996:104;:::o;255::100:-;324:28;339:4;345:6;324:14;:28::i;:::-;255:104;;:::o;2218:110:165:-;2297:24;;-1:-1:-1;;;2297:24:165;;-1:-1:-1;;;;;1376:32:310;;;2297:24:165;;;1358:51:310;2271:7:165;;2297;:18;;;;;;1331::310;;2297:24:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2290:31;2218:110;-1:-1:-1;;2218:110:165:o;2750:124::-;2831:36;;-1:-1:-1;;;2831:36:165;;-1:-1:-1;;;;;1376:32:310;;;2831:36:165;;;1358:51:310;2831:7:165;:15;;;;2854:6;;1331:18:310;;2831:36:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2750:124;;:::o;14:139:310:-;-1:-1:-1;;;;;97:31:310;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:263::-;225:6;278:2;266:9;257:7;253:23;249:32;246:52;;;294:1;291;284:12;246:52;333:9;320:23;352:39;385:5;352:39;:::i;:::-;410:5;158:263;-1:-1:-1;;;158:263:310:o;426:323::-;494:6;502;555:2;543:9;534:7;530:23;526:32;523:52;;;571:1;568;561:12;523:52;610:9;597:23;629:39;662:5;629:39;:::i;:::-;687:5;739:2;724:18;;;;711:32;;-1:-1:-1;;;426:323:310:o;1628:184::-;1698:6;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;-1:-1:-1;1790:16:310;;1628:184;-1:-1:-1;1628:184:310:o","linkReferences":{},"immutableReferences":{"21328":[{"start":175,"length":32},{"start":312,"length":32},{"start":456,"length":32}]}},"methodIdentifiers":{"callTransfer(address,uint256)":"d4440991","payments(address)":"e2982c21","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"callTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the payments owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol\":\"PullPaymentMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol\":{\"keccak256\":\"0x5b3ed51e951acc2eab61271f59fde5d6f97adb75156c38bac895511279fc9d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95737c30079a4cbf691dcbcb1356b50c049065db4dac80b9f028391bb43dff5\",\"dweb:/ipfs/QmcbpKmqE489Pr52RkkijPZNff7chw5MNHh6jYqiUZcKzR\"]},\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"dest","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"callTransfer"},{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"payments(address)":{"details":"Returns the payments owed to an address.","params":{"dest":"The creditor's address."}},"withdrawPayments(address)":{"details":"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.","params":{"payee":"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol":"PullPaymentMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol":{"keccak256":"0x5b3ed51e951acc2eab61271f59fde5d6f97adb75156c38bac895511279fc9d8f","urls":["bzz-raw://d95737c30079a4cbf691dcbcb1356b50c049065db4dac80b9f028391bb43dff5","dweb:/ipfs/QmcbpKmqE489Pr52RkkijPZNff7chw5MNHh6jYqiUZcKzR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":{"keccak256":"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860","urls":["bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0","dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"}},"version":1},"id":100}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"callSender","inputs":[{"name":"data","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506101a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80630a2df1ed1461002d575b5f80fd5b61004061003b366004610114565b610042565b005b60408051600481526024810182526020810180516001600160e01b03166001600160e01b0319851617905290515f91339161007d9190610142565b5f604051808303815f865af19150503d805f81146100b6576040519150601f19603f3d011682016040523d82523d5f602084013e6100bb565b606091505b50509050806101105760405162461bcd60e51b815260206004820152601d60248201527f5265656e7472616e637941747461636b3a206661696c65642063616c6c000000604482015260640160405180910390fd5b5050565b5f60208284031215610124575f80fd5b81356001600160e01b03198116811461013b575f80fd5b9392505050565b5f82515f5b818110156101615760208186018101518583015201610147565b505f92019182525091905056fea2646970667358221220d86363f425e3f9e2a98a8c2a1a59af9250cc7743327cf6ee04ff709b5680142e64736f6c63430008140033","sourceMap":"90:227:101:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c80630a2df1ed1461002d575b5f80fd5b61004061003b366004610114565b610042565b005b60408051600481526024810182526020810180516001600160e01b03166001600160e01b0319851617905290515f91339161007d9190610142565b5f604051808303815f865af19150503d805f81146100b6576040519150601f19603f3d011682016040523d82523d5f602084013e6100bb565b606091505b50509050806101105760405162461bcd60e51b815260206004820152601d60248201527f5265656e7472616e637941747461636b3a206661696c65642063616c6c000000604482015260640160405180910390fd5b5050565b5f60208284031215610124575f80fd5b81356001600160e01b03198116811461013b575f80fd5b9392505050565b5f82515f5b818110156101615760208186018101518583015201610147565b505f92019182525091905056fea2646970667358221220d86363f425e3f9e2a98a8c2a1a59af9250cc7743327cf6ee04ff709b5680142e64736f6c63430008140033","sourceMap":"90:227:101:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;133:182;;;;;;:::i;:::-;;:::i;:::-;;;220:28;;;;;;;;;;;;;;;;-1:-1:-1;;;;;220:28:101;-1:-1:-1;;;;;;220:28:101;;;;;202:47;;-1:-1:-1;;734:10:224;;202:47:101;;220:28;202:47;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:66;;;267:7;259:49;;;;-1:-1:-1;;;259:49:101;;924:2:310;259:49:101;;;906:21:310;963:2;943:18;;;936:30;1002:31;982:18;;;975:59;1051:18;;259:49:101;;;;;;;;173:142;133:182;:::o;14:286:310:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:310;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:310:o;305:412::-;434:3;472:6;466:13;497:1;507:129;521:6;518:1;515:13;507:129;;;619:4;603:14;;;599:25;;593:32;580:11;;;573:53;536:12;507:129;;;-1:-1:-1;691:1:310;655:16;;680:13;;;-1:-1:-1;655:16:310;305:412;-1:-1:-1;305:412:310:o","linkReferences":{}},"methodIdentifiers":{"callSender(bytes4)":"0a2df1ed"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"}],\"name\":\"callSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol\":\"ReentrancyAttack\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol\":{\"keccak256\":\"0x090e199649c800340932ca95cd5a911c1132f795c2e362ea9a975ee4e230d4b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf317c831c69d854965a305a34500498c219aa1730f648e9c98950d93f67b332\",\"dweb:/ipfs/QmYgeo8tbprCYdzy768j45V2bTygD4ipreqtWib5E9X1JP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"data","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"callSender"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol":"ReentrancyAttack"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol":{"keccak256":"0x090e199649c800340932ca95cd5a911c1132f795c2e362ea9a975ee4e230d4b3","urls":["bzz-raw://bf317c831c69d854965a305a34500498c219aa1730f648e9c98950d93f67b332","dweb:/ipfs/QmYgeo8tbprCYdzy768j45V2bTygD4ipreqtWib5E9X1JP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"}},"version":1},"id":101}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":"ReentrancyGuard"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"}},"version":1},"id":166}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"callback","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"countAndCall","inputs":[{"name":"attacker","type":"address","internalType":"contract ReentrancyAttack"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"countLocalRecursive","inputs":[{"name":"n","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"countThisRecursive","inputs":[{"name":"n","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"counter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"guardedCheckEntered","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unguardedCheckNotEntered","inputs":[],"outputs":[],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060015f8181559055610445806100255f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806396ffa6901161005857806396ffa690146100b6578063a408f312146100c9578063b672ad8b146100d1578063cecc95a7146100e4575f80fd5b8063083b27321461007e57806361bc221a146100885780638c5344fa146100a3575b5f80fd5b6100866100ec565b005b61009160015481565b60405190815260200160405180910390f35b6100866100b136600461035f565b610107565b6100866100c436600461035f565b610213565b610086610237565b6100866100df366004610376565b61024c565b6100866102e3565b6100f46102f0565b6100fc610347565b61010560015f55565b565b61010f6102f0565b80156102075761011d610347565b5f3061012a6001846103b7565b60405160240161013c91815260200190565b60408051601f198184030181529181526020820180516001600160e01b0316634629a27d60e11b1790525161017191906103d0565b5f604051808303815f865af19150503d805f81146101aa576040519150601f19603f3d011682016040523d82523d5f602084013e6101af565b606091505b50509050806102055760405162461bcd60e51b815260206004820152601b60248201527f5265656e7472616e63794d6f636b3a206661696c65642063616c6c000000000060448201526064015b60405180910390fd5b505b61021060015f55565b50565b61021b6102f0565b801561020757610229610347565b6102076100c46001836103b7565b61023f6102f0565b5f546002146100fc575f80fd5b6102546102f0565b61025c610347565b604051630a2df1ed60e01b815263041d939960e11b60048201527f083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402906001600160a01b03831690630a2df1ed906024015f604051808303815f87803b1580156102c3575f80fd5b505af11580156102d5573d5f803e3d5ffd5b505050505061021060015f55565b5f54600203610105575f80fd5b60025f54036103415760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101fc565b60025f55565b6001805f82825461035891906103fc565b9091555050565b5f6020828403121561036f575f80fd5b5035919050565b5f60208284031215610386575f80fd5b81356001600160a01b038116811461039c575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103ca576103ca6103a3565b92915050565b5f82515f5b818110156103ef57602081860181015185830152016103d5565b505f920191825250919050565b808201808211156103ca576103ca6103a356fea2646970667358221220fddd6e4a7ce3c1d3dee389dcbd9f3c66a0852e712e05b05b49b56a45ab5885d764736f6c63430008140033","sourceMap":"134:1126:102:-:0;;;212:42;;;;;;;;;-1:-1:-1;1716:1:166;1821:7;:22;;;236:11:102;;134:1126;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061007a575f3560e01c806396ffa6901161005857806396ffa690146100b6578063a408f312146100c9578063b672ad8b146100d1578063cecc95a7146100e4575f80fd5b8063083b27321461007e57806361bc221a146100885780638c5344fa146100a3575b5f80fd5b6100866100ec565b005b61009160015481565b60405190815260200160405180910390f35b6100866100b136600461035f565b610107565b6100866100c436600461035f565b610213565b610086610237565b6100866100df366004610376565b61024c565b6100866102e3565b6100f46102f0565b6100fc610347565b61010560015f55565b565b61010f6102f0565b80156102075761011d610347565b5f3061012a6001846103b7565b60405160240161013c91815260200190565b60408051601f198184030181529181526020820180516001600160e01b0316634629a27d60e11b1790525161017191906103d0565b5f604051808303815f865af19150503d805f81146101aa576040519150601f19603f3d011682016040523d82523d5f602084013e6101af565b606091505b50509050806102055760405162461bcd60e51b815260206004820152601b60248201527f5265656e7472616e63794d6f636b3a206661696c65642063616c6c000000000060448201526064015b60405180910390fd5b505b61021060015f55565b50565b61021b6102f0565b801561020757610229610347565b6102076100c46001836103b7565b61023f6102f0565b5f546002146100fc575f80fd5b6102546102f0565b61025c610347565b604051630a2df1ed60e01b815263041d939960e11b60048201527f083b2732f78169bfaad6b407fa338cc97d697ed69d3915a18239cc111d51a402906001600160a01b03831690630a2df1ed906024015f604051808303815f87803b1580156102c3575f80fd5b505af11580156102d5573d5f803e3d5ffd5b505050505061021060015f55565b5f54600203610105575f80fd5b60025f54036103415760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101fc565b60025f55565b6001805f82825461035891906103fc565b9091555050565b5f6020828403121561036f575f80fd5b5035919050565b5f60208284031215610386575f80fd5b81356001600160a01b038116811461039c575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103ca576103ca6103a3565b92915050565b5f82515f5b818110156103ef57602081860181015185830152016103d5565b505f920191825250919050565b808201808211156103ca576103ca6103a356fea2646970667358221220fddd6e4a7ce3c1d3dee389dcbd9f3c66a0852e712e05b05b49b56a45ab5885d764736f6c63430008140033","sourceMap":"134:1126:102:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;260:67;;;:::i;:::-;;183:22;;;;;;;;;160:25:310;;;148:2;133:18;183:22:102;;;;;;;499:294;;;;;;:::i;:::-;;:::i;333:160::-;;;;;;:::i;:::-;;:::i;1050:102::-;;;:::i;799:184::-;;;;;;:::i;:::-;;:::i;1158:100::-;;;:::i;260:67::-;2261:21:166;:19;:21::i;:::-;312:8:102::1;:6;:8::i;:::-;2303:20:166::0;1716:1;2809:7;:22;2629:209;2303:20;260:67:102:o;499:294::-;2261:21:166;:19;:21::i;:::-;572:5:102;;568:219:::1;;593:8;:6;:8::i;:::-;616:12;642:4;708:5;712:1;708::::0;:5:::1;:::i;:::-;653:61;;;;;;160:25:310::0;;148:2;133:18;;14:177;653:61:102::1;;::::0;;-1:-1:-1;;653:61:102;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;653:61:102::1;-1:-1:-1::0;;;653:61:102::1;::::0;;634:81;::::1;::::0;653:61;634:81:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;615:100;;;737:7;729:47;;;::::0;-1:-1:-1;;;729:47:102;;1582:2:310;729:47:102::1;::::0;::::1;1564:21:310::0;1621:2;1601:18;;;1594:30;1660:29;1640:18;;;1633:57;1707:18;;729:47:102::1;;;;;;;;;579:208;568:219;2303:20:166::0;1716:1;2809:7;:22;2629:209;2303:20;499:294:102;:::o;333:160::-;2261:21:166;:19;:21::i;:::-;407:5:102;;403:84:::1;;428:8;:6;:8::i;:::-;450:26;470:5;474:1;470::::0;:5:::1;:::i;1050:102::-:0;2261:21:166;:19;:21::i;:::-;3075:4;3098:7;1759:1;3098:19;1111:34:102::1;;;::::0;::::1;799:184:::0;2261:21:166;:19;:21::i;:::-;878:8:102::1;:6;:8::i;:::-;951:25;::::0;-1:-1:-1;;;951:25:102;;-1:-1:-1;;;951:25:102::1;::::0;::::1;1880:52:310::0;917:23:102::1;::::0;-1:-1:-1;;;;;951:19:102;::::1;::::0;::::1;::::0;1853:18:310;;951:25:102::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;868:115;2303:20:166::0;1716:1;2809:7;:22;2629:209;1158:100:102;3075:4:166;3098:7;1759:1;3098:19;1216:35:102;;;;;2336:287:166;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:166;;2145:2:310;2460:63:166;;;2127:21:310;2184:2;2164:18;;;2157:30;2223:33;2203:18;;;2196:61;2274:18;;2460:63:166;1943:355:310;2460:63:166;1759:1;2598:7;:18;2336:287::o;989:55:102:-;1036:1;1025:7;;:12;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:55:102:o;196:180:310:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:310;;196:180;-1:-1:-1;196:180:310:o;381:312::-;466:6;519:2;507:9;498:7;494:23;490:32;487:52;;;535:1;532;525:12;487:52;561:23;;-1:-1:-1;;;;;613:31:310;;603:42;;593:70;;659:1;656;649:12;593:70;682:5;381:312;-1:-1:-1;;;381:312:310:o;698:127::-;759:10;754:3;750:20;747:1;740:31;790:4;787:1;780:15;814:4;811:1;804:15;830:128;897:9;;;918:11;;;915:37;;;932:18;;:::i;:::-;830:128;;;;:::o;963:412::-;1092:3;1130:6;1124:13;1155:1;1165:129;1179:6;1176:1;1173:13;1165:129;;;1277:4;1261:14;;;1257:25;;1251:32;1238:11;;;1231:53;1194:12;1165:129;;;-1:-1:-1;1349:1:310;1313:16;;1338:13;;;-1:-1:-1;1313:16:310;963:412;-1:-1:-1;963:412:310:o;2303:125::-;2368:9;;;2389:10;;;2386:36;;;2402:18;;:::i","linkReferences":{}},"methodIdentifiers":{"callback()":"083b2732","countAndCall(address)":"b672ad8b","countLocalRecursive(uint256)":"96ffa690","countThisRecursive(uint256)":"8c5344fa","counter()":"61bc221a","guardedCheckEntered()":"a408f312","unguardedCheckNotEntered()":"cecc95a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"callback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ReentrancyAttack\",\"name\":\"attacker\",\"type\":\"address\"}],\"name\":\"countAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"countLocalRecursive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"countThisRecursive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"counter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardedCheckEntered\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unguardedCheckNotEntered\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol\":\"ReentrancyMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol\":{\"keccak256\":\"0x090e199649c800340932ca95cd5a911c1132f795c2e362ea9a975ee4e230d4b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf317c831c69d854965a305a34500498c219aa1730f648e9c98950d93f67b332\",\"dweb:/ipfs/QmYgeo8tbprCYdzy768j45V2bTygD4ipreqtWib5E9X1JP\"]},\"lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol\":{\"keccak256\":\"0x6bb805efeac98c03d820dde2172694c8d8c41d1145464f60fa54af7736a881b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8dbd1ed64cfb0854fc237ca4714e4a234012ccb9a44554ecd803466cade3149d\",\"dweb:/ipfs/QmTLiKxqGZhbAzJeRjXwszQUtnDJ6ca91kRwQY8ytoWEcs\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"callback"},{"inputs":[{"internalType":"contract ReentrancyAttack","name":"attacker","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"countAndCall"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"countLocalRecursive"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"countThisRecursive"},{"inputs":[],"stateMutability":"view","type":"function","name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"guardedCheckEntered"},{"inputs":[],"stateMutability":"view","type":"function","name":"unguardedCheckNotEntered"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol":"ReentrancyMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol":{"keccak256":"0x090e199649c800340932ca95cd5a911c1132f795c2e362ea9a975ee4e230d4b3","urls":["bzz-raw://bf317c831c69d854965a305a34500498c219aa1730f648e9c98950d93f67b332","dweb:/ipfs/QmYgeo8tbprCYdzy768j45V2bTygD4ipreqtWib5E9X1JP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol":{"keccak256":"0x6bb805efeac98c03d820dde2172694c8d8c41d1145464f60fa54af7736a881b6","urls":["bzz-raw://8dbd1ed64cfb0854fc237ca4714e4a234012ccb9a44554ecd803466cade3149d","dweb:/ipfs/QmTLiKxqGZhbAzJeRjXwszQUtnDJ6ca91kRwQY8ytoWEcs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"}},"version":1},"id":102}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"beneficiary_","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"beneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"beneficiaryWithdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"close","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"refundee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositsOf","inputs":[{"name":"payee","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"enableRefunds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"state","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum RefundEscrow.State"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalAllowed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Deposited","inputs":[{"name":"payee","type":"address","indexed":true,"internalType":"address"},{"name":"weiAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RefundsClosed","inputs":[],"anonymous":false},{"type":"event","name":"RefundsEnabled","inputs":[],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"payee","type":"address","indexed":true,"internalType":"address"},{"name":"weiAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b50604051610af3380380610af383398101604081905261002e91610111565b610037336100c2565b6001600160a01b0381166100a75760405162461bcd60e51b815260206004820152602d60248201527f526566756e64457363726f773a2062656e65666963696172792069732074686560448201526c207a65726f206164647265737360981b606482015260840160405180910390fd5b6001600160a01b03166080526002805460ff1916905561013e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610121575f80fd5b81516001600160a01b0381168114610137575f80fd5b9392505050565b60805161099761015c5f395f818160b7015261050501526109975ff3fe6080604052600436106100a5575f3560e01c80638da5cb5b116100625780638da5cb5b146101805780639af6549a1461019c578063c19d93fb146101b0578063e3a9db1a146101cf578063f2fde38b14610211578063f340fa0114610230575f80fd5b806338af3eed146100a957806343d726d6146100f457806351cff8d91461010a578063685ca19414610129578063715018a6146101585780638c52dc411461016c575b5f80fd5b3480156100b4575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff575f80fd5b50610108610243565b005b348015610115575f80fd5b506101086101243660046108e0565b6102fd565b348015610134575f80fd5b506101486101433660046108e0565b61037a565b60405190151581526020016100eb565b348015610163575f80fd5b5061010861039b565b348015610177575f80fd5b506101086103ae565b34801561018b575f80fd5b505f546001600160a01b03166100d7565b3480156101a7575f80fd5b5061010861046d565b3480156101bb575f80fd5b5060025460ff166040516100eb9190610916565b3480156101da575f80fd5b506102036101e93660046108e0565b6001600160a01b03165f9081526001602052604090205490565b6040519081526020016100eb565b34801561021c575f80fd5b5061010861022b3660046108e0565b61052b565b61010861023e3660046108e0565b6105a1565b61024b610623565b5f60025460ff16600281111561026357610263610902565b146102c75760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b6002805460ff1916811790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f905f90a1565b6103068161037a565b61036e5760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102be565b6103778161067c565b50565b5f600160025460ff16600281111561039457610394610902565b1492915050565b6103a3610623565b6103ac5f6106f2565b565b6103b6610623565b5f60025460ff1660028111156103ce576103ce610902565b146104365760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102be565b6002805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89905f90a1565b6002805460ff16600281111561048557610485610902565b146104f85760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102be565b6103ac6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001647610741565b610533610623565b6001600160a01b0381166105985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102be565b610377816106f2565b5f60025460ff1660028111156105b9576105b9610902565b1461061a5760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102be565b6103778161085b565b5f546001600160a01b031633146103ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102be565b610684610623565b6001600160a01b0381165f8181526001602052604081208054919055906106ab9082610741565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516106e691815260200190565b60405180910390a25050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b804710156107915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102be565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146107da576040519150601f19603f3d011682016040523d82523d5f602084013e6107df565b606091505b50509050806108565760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102be565b505050565b610863610623565b6001600160a01b0381165f9081526001602052604081208054349283929161088c90849061093c565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016106e6565b6001600160a01b0381168114610377575f80fd5b5f602082840312156108f0575f80fd5b81356108fb816108cc565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016003831061093657634e487b7160e01b5f52602160045260245ffd5b91905290565b8082018082111561095b57634e487b7160e01b5f52601160045260245ffd5b9291505056fea2646970667358221220592b18fa254df69bec528691aa85a4374859af1c3386f8ab6c1595dd5c4f2e6064736f6c63430008140033","sourceMap":"638:2551:239:-:0;;;1037:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:9;734:10:224;936:18:9;:32::i;:::-;-1:-1:-1;;;;;1097:26:239;;1089:84;;;;-1:-1:-1;;;1089:84:239;;519:2:310;1089:84:239;;;501:21:310;558:2;538:18;;;531:30;597:34;577:18;;;570:62;-1:-1:-1;;;648:18:310;;;641:43;701:19;;1089:84:239;;;;;;;;-1:-1:-1;;;;;1183:27:239;;;1220:6;:21;;-1:-1:-1;;1220:21:239;;;638:2551;;2426:187:9;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:298:310:-;92:6;145:2;133:9;124:7;120:23;116:32;113:52;;;161:1;158;151:12;113:52;187:16;;-1:-1:-1;;;;;232:31:310;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:310:o;731:127::-;638:2551:239;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100a5575f3560e01c80638da5cb5b116100625780638da5cb5b146101805780639af6549a1461019c578063c19d93fb146101b0578063e3a9db1a146101cf578063f2fde38b14610211578063f340fa0114610230575f80fd5b806338af3eed146100a957806343d726d6146100f457806351cff8d91461010a578063685ca19414610129578063715018a6146101585780638c52dc411461016c575b5f80fd5b3480156100b4575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff575f80fd5b50610108610243565b005b348015610115575f80fd5b506101086101243660046108e0565b6102fd565b348015610134575f80fd5b506101486101433660046108e0565b61037a565b60405190151581526020016100eb565b348015610163575f80fd5b5061010861039b565b348015610177575f80fd5b506101086103ae565b34801561018b575f80fd5b505f546001600160a01b03166100d7565b3480156101a7575f80fd5b5061010861046d565b3480156101bb575f80fd5b5060025460ff166040516100eb9190610916565b3480156101da575f80fd5b506102036101e93660046108e0565b6001600160a01b03165f9081526001602052604090205490565b6040519081526020016100eb565b34801561021c575f80fd5b5061010861022b3660046108e0565b61052b565b61010861023e3660046108e0565b6105a1565b61024b610623565b5f60025460ff16600281111561026357610263610902565b146102c75760405162461bcd60e51b815260206004820152602960248201527f526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696044820152686c652061637469766560b81b60648201526084015b60405180910390fd5b6002805460ff1916811790556040517f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f905f90a1565b6103068161037a565b61036e5760405162461bcd60e51b815260206004820152603360248201527f436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420604482015272616c6c6f77656420746f20776974686472617760681b60648201526084016102be565b6103778161067c565b50565b5f600160025460ff16600281111561039457610394610902565b1492915050565b6103a3610623565b6103ac5f6106f2565b565b6103b6610623565b5f60025460ff1660028111156103ce576103ce610902565b146104365760405162461bcd60e51b815260206004820152603260248201527f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560448201527166756e6473207768696c652061637469766560701b60648201526084016102be565b6002805460ff191660011790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89905f90a1565b6002805460ff16600281111561048557610485610902565b146104f85760405162461bcd60e51b815260206004820152603860248201527f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60448201527f6c79207769746864726177207768696c6520636c6f736564000000000000000060648201526084016102be565b6103ac6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001647610741565b610533610623565b6001600160a01b0381166105985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102be565b610377816106f2565b5f60025460ff1660028111156105b9576105b9610902565b1461061a5760405162461bcd60e51b815260206004820152602b60248201527f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760448201526a68696c652061637469766560a81b60648201526084016102be565b6103778161085b565b5f546001600160a01b031633146103ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102be565b610684610623565b6001600160a01b0381165f8181526001602052604081208054919055906106ab9082610741565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516106e691815260200190565b60405180910390a25050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b804710156107915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102be565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146107da576040519150601f19603f3d011682016040523d82523d5f602084013e6107df565b606091505b50509050806108565760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102be565b505050565b610863610623565b6001600160a01b0381165f9081526001602052604081208054349283929161088c90849061093c565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016106e6565b6001600160a01b0381168114610377575f80fd5b5f602082840312156108f0575f80fd5b81356108fb816108cc565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016003831061093657634e487b7160e01b5f52602160045260245ffd5b91905290565b8082018082111561095b57634e487b7160e01b5f52601160045260245ffd5b9291505056fea2646970667358221220592b18fa254df69bec528691aa85a4374859af1c3386f8ab6c1595dd5c4f2e6064736f6c63430008140033","sourceMap":"638:2551:239:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1469:105;;;;;;;;;;-1:-1:-1;1555:12:239;1469:105;;;-1:-1:-1;;;;;194:32:310;;;176:51;;164:2;149:18;1469:105:239;;;;;;;;2043:197;;;;;;;;;;;;;:::i;:::-;;668:201:237;;;;;;;;;;-1:-1:-1;668:201:237;;;;;:::i;:::-;;:::i;3065:122:239:-;;;;;;;;;;-1:-1:-1;3065:122:239;;;;;:::i;:::-;;:::i;:::-;;;1075:14:310;;1068:22;1050:41;;1038:2;1023:18;3065:122:239;910:187:310;1824:101:9;;;;;;;;;;;;;:::i;2336:218:239:-;;;;;;;;;;;;;:::i;1201:85:9:-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;-1:-1:-1;;;;;1273:6:9;1201:85;;2623:211:239;;;;;;;;;;;;;:::i;1318:83::-;;;;;;;;;;-1:-1:-1;1388:6:239;;;;1318:83;;;;;;:::i;1077:105:238:-;;;;;;;;;;-1:-1:-1;1077:105:238;;;;;:::i;:::-;-1:-1:-1;;;;;1159:16:238;1133:7;1159:16;;;:9;:16;;;;;;;1077:105;;;;1932:25:310;;;1920:2;1905:18;1077:105:238;1786:177:310;2074:198:9;;;;;;;;;;-1:-1:-1;2074:198:9;;;;;:::i;:::-;;:::i;1726:196:239:-;;;;;;:::i;:::-;;:::i;2043:197::-;1094:13:9;:11;:13::i;:::-;2114:12:239::1;1388:6:::0;;;;2103:23:::1;;;;;;;;:::i;:::-;;2095:77;;;::::0;-1:-1:-1;;;2095:77:239;;2170:2:310;2095:77:239::1;::::0;::::1;2152:21:310::0;2209:2;2189:18;;;2182:30;2248:34;2228:18;;;2221:62;-1:-1:-1;;;2299:18:310;;;2292:39;2348:19;;2095:77:239::1;;;;;;;;;2191:12;2182:21:::0;;-1:-1:-1;;2182:21:239::1;::::0;::::1;::::0;;2218:15:::1;::::0;::::1;::::0;-1:-1:-1;;2218:15:239::1;2043:197::o:0;668:201:237:-;751:24;769:5;751:17;:24::i;:::-;743:88;;;;-1:-1:-1;;;743:88:237;;2580:2:310;743:88:237;;;2562:21:310;2619:2;2599:18;;;2592:30;2658:34;2638:18;;;2631:62;-1:-1:-1;;;2709:18:310;;;2702:49;2768:19;;743:88:237;2378:415:310;743:88:237;841:21;856:5;841:14;:21::i;:::-;668:201;:::o;3065:122:239:-;3131:4;3165:15;1388:6;;;;3154:26;;;;;;;;:::i;:::-;;;3065:122;-1:-1:-1;;3065:122:239:o;1824:101:9:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2336:218:239:-;1094:13:9;:11;:13::i;:::-;2415:12:239::1;1388:6:::0;;;;2404:23:::1;;;;;;;;:::i;:::-;;2396:86;;;::::0;-1:-1:-1;;;2396:86:239;;3000:2:310;2396:86:239::1;::::0;::::1;2982:21:310::0;3039:2;3019:18;;;3012:30;3078:34;3058:18;;;3051:62;-1:-1:-1;;;3129:18:310;;;3122:48;3187:19;;2396:86:239::1;2798:414:310::0;2396:86:239::1;2492:6;:24:::0;;-1:-1:-1;;2492:24:239::1;2501:15;2492:24;::::0;;2531:16:::1;::::0;::::1;::::0;-1:-1:-1;;2531:16:239::1;2336:218::o:0;2623:211::-;2698:12;1388:6;;;;2687:23;;;;;;;;:::i;:::-;;2679:92;;;;-1:-1:-1;;;2679:92:239;;3419:2:310;2679:92:239;;;3401:21:310;3458:2;3438:18;;;3431:30;3497:34;3477:18;;;3470:62;3568:26;3548:18;;;3541:54;3612:19;;2679:92:239;3217:420:310;2679:92:239;2781:46;-1:-1:-1;;;;;1555:12:239;2781:23;2805:21;2781:23;:46::i;2074:198:9:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:9;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:9;;3844:2:310;2154:73:9::1;::::0;::::1;3826:21:310::0;3883:2;3863:18;;;3856:30;3922:34;3902:18;;;3895:62;-1:-1:-1;;;3973:18:310;;;3966:36;4019:19;;2154:73:9::1;3642:402:310::0;2154:73:9::1;2237:28;2256:8;2237:18;:28::i;1726:196:239:-:0;1822:12;1388:6;;;;1811:23;;;;;;;;:::i;:::-;;1803:79;;;;-1:-1:-1;;;1803:79:239;;4251:2:310;1803:79:239;;;4233:21:310;4290:2;4270:18;;;4263:30;4329:34;4309:18;;;4302:62;-1:-1:-1;;;4380:18:310;;;4373:41;4431:19;;1803:79:239;4049:407:310;1803:79:239;1892:23;1906:8;1892:13;:23::i;1359:130:9:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:9;734:10:224;1422:23:9;1414:68;;;;-1:-1:-1;;;1414:68:9;;4663:2:310;1414:68:9;;;4645:21:310;;;4682:18;;;4675:30;4741:34;4721:18;;;4714:62;4793:18;;1414:68:9;4461:356:310;2027:224:238;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;2121:16:238;::::1;2103:15;2121:16:::0;;;:9:::1;:16;::::0;;;;;;2148:20;;;2121:16;2179:24:::1;::::0;2121:16;2179:15:::1;:24::i;:::-;2229:5;-1:-1:-1::0;;;;;2219:25:238::1;;2236:7;2219:25;;;;1932::310::0;;1920:2;1905:18;;1786:177;2219:25:238::1;;;;;;;;2093:158;2027:224:::0;:::o;2426:187:9:-;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:9;;;-1:-1:-1;;;;;;2534:17:9;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;2647:312:220:-;2761:6;2736:21;:31;;2728:73;;;;-1:-1:-1;;;2728:73:220;;5024:2:310;2728:73:220;;;5006:21:310;5063:2;5043:18;;;5036:30;5102:31;5082:18;;;5075:59;5151:18;;2728:73:220;4822:353:310;2728:73:220;2813:12;2831:9;-1:-1:-1;;;;;2831:14:220;2853:6;2831:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:52;;;2882:7;2874:78;;;;-1:-1:-1;;;2874:78:220;;5592:2:310;2874:78:220;;;5574:21:310;5631:2;5611:18;;;5604:30;5670:34;5650:18;;;5643:62;5741:28;5721:18;;;5714:56;5787:19;;2874:78:220;5390:422:310;2874:78:220;2718:241;2647:312;;:::o;1365:183:238:-;1094:13:9;:11;:13::i;:::-;-1:-1:-1;;;;;1476:16:238;::::1;1440:14;1476:16:::0;;;:9:::1;:16;::::0;;;;:26;;1457:9:::1;::::0;;;1476:16;:26:::1;::::0;1457:9;;1476:26:::1;:::i;:::-;::::0;;;-1:-1:-1;;1517:24:238::1;::::0;1932:25:310;;;-1:-1:-1;;;;;1517:24:238;::::1;::::0;::::1;::::0;1920:2:310;1905:18;1517:24:238::1;1786:177:310::0;238:139;-1:-1:-1;;;;;321:31:310;;311:42;;301:70;;367:1;364;357:12;382:263;449:6;502:2;490:9;481:7;477:23;473:32;470:52;;;518:1;515;508:12;470:52;557:9;544:23;576:39;609:5;576:39;:::i;:::-;634:5;382:263;-1:-1:-1;;;382:263:310:o;1310:127::-;1371:10;1366:3;1362:20;1359:1;1352:31;1402:4;1399:1;1392:15;1426:4;1423:1;1416:15;1442:339;1585:2;1570:18;;1618:1;1607:13;;1597:144;;1663:10;1658:3;1654:20;1651:1;1644:31;1698:4;1695:1;1688:15;1726:4;1723:1;1716:15;1597:144;1750:25;;;1442:339;:::o;5817:222::-;5882:9;;;5903:10;;;5900:133;;;5955:10;5950:3;5946:20;5943:1;5936:31;5990:4;5987:1;5980:15;6018:4;6015:1;6008:15;5900:133;5817:222;;;;:::o","linkReferences":{},"immutableReferences":{"35863":[{"start":183,"length":32},{"start":1285,"length":32}]}},"methodIdentifiers":{"beneficiary()":"38af3eed","beneficiaryWithdraw()":"9af6549a","close()":"43d726d6","deposit(address)":"f340fa01","depositsOf(address)":"e3a9db1a","enableRefunds()":"8c52dc41","owner()":"8da5cb5b","renounceOwnership()":"715018a6","state()":"c19d93fb","transferOwnership(address)":"f2fde38b","withdraw(address)":"51cff8d9","withdrawalAllowed(address)":"685ca194"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"beneficiary_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"RefundsClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"RefundsEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"beneficiary\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"beneficiaryWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"close\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"refundee\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"depositsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableRefunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum RefundEscrow.State\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawalAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Escrow that holds funds for a beneficiary, deposited from multiple parties.Intended usage: See {Escrow}. Same usage guidelines apply here.The owner account (that is, the contract that instantiates this contract) may deposit, close the deposit period, and allow for either withdrawal by the beneficiary, or refunds to the depositors. All interactions with `RefundEscrow` will be made through the owner contract.\",\"kind\":\"dev\",\"methods\":{\"beneficiary()\":{\"returns\":{\"_0\":\"The beneficiary of the escrow.\"}},\"beneficiaryWithdraw()\":{\"details\":\"Withdraws the beneficiary's funds.\"},\"close()\":{\"details\":\"Allows for the beneficiary to withdraw their funds, rejecting further deposits.\"},\"constructor\":{\"details\":\"Constructor.\",\"params\":{\"beneficiary_\":\"The beneficiary of the deposits.\"}},\"deposit(address)\":{\"details\":\"Stores funds that may later be refunded.\",\"params\":{\"refundee\":\"The address funds will be sent to if a refund occurs.\"}},\"enableRefunds()\":{\"details\":\"Allows for refunds to take place, rejecting further deposits.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"state()\":{\"returns\":{\"_0\":\"The current state of the escrow.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(address)\":{\"details\":\"Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"The address whose funds will be withdrawn and transferred to. Emits a {Withdrawn} event.\"}},\"withdrawalAllowed(address)\":{\"details\":\"Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a 'payee' argument, but we ignore it here since the condition is global, not per-payee.\"}},\"title\":\"RefundEscrow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol\":\"RefundEscrow\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol\":{\"keccak256\":\"0xf71d228abc2df1a5020ba208b237718e22cad6b3532f5e8f1021f4f15068e290\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e42465b2c37a5d9286678ad167ed75691cb7bd2f6abcb677e7820ac58263a723\",\"dweb:/ipfs/QmdxVmnFC6ELiJLcQauqJxR353hjT2eNQ5ELHv1j46KeHi\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol\":{\"keccak256\":\"0xcfcaa88a5cbc8d21c14550a6051708a03e902ded254fc0b0bbd44500386d3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d7707cbf9bbbf30893035c3c18d74edb42ab87b2ac95c61c62d71beff18a532\",\"dweb:/ipfs/QmYQrGDB3PoTMFU54FNC5EPToQo7uzwmXhEYgVnjciYnV5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"beneficiary_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"payee","type":"address","indexed":true},{"internalType":"uint256","name":"weiAmount","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"type":"event","name":"RefundsClosed","anonymous":false},{"inputs":[],"type":"event","name":"RefundsEnabled","anonymous":false},{"inputs":[{"internalType":"address","name":"payee","type":"address","indexed":true},{"internalType":"uint256","name":"weiAmount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"beneficiary","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"beneficiaryWithdraw"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"close"},{"inputs":[{"internalType":"address","name":"refundee","type":"address"}],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[{"internalType":"address","name":"payee","type":"address"}],"stateMutability":"view","type":"function","name":"depositsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"enableRefunds"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"state","outputs":[{"internalType":"enum RefundEscrow.State","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"beneficiary()":{"returns":{"_0":"The beneficiary of the escrow."}},"beneficiaryWithdraw()":{"details":"Withdraws the beneficiary's funds."},"close()":{"details":"Allows for the beneficiary to withdraw their funds, rejecting further deposits."},"constructor":{"details":"Constructor.","params":{"beneficiary_":"The beneficiary of the deposits."}},"deposit(address)":{"details":"Stores funds that may later be refunded.","params":{"refundee":"The address funds will be sent to if a refund occurs."}},"enableRefunds()":{"details":"Allows for refunds to take place, rejecting further deposits."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"state()":{"returns":{"_0":"The current state of the escrow."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"withdraw(address)":{"details":"Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.","params":{"payee":"The address whose funds will be withdrawn and transferred to. Emits a {Withdrawn} event."}},"withdrawalAllowed(address)":{"details":"Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a 'payee' argument, but we ignore it here since the condition is global, not per-payee."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol":"RefundEscrow"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol":{"keccak256":"0xf71d228abc2df1a5020ba208b237718e22cad6b3532f5e8f1021f4f15068e290","urls":["bzz-raw://e42465b2c37a5d9286678ad167ed75691cb7bd2f6abcb677e7820ac58263a723","dweb:/ipfs/QmdxVmnFC6ELiJLcQauqJxR353hjT2eNQ5ELHv1j46KeHi"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol":{"keccak256":"0xcfcaa88a5cbc8d21c14550a6051708a03e902ded254fc0b0bbd44500386d3860","urls":["bzz-raw://6d7707cbf9bbbf30893035c3c18d74edb42ab87b2ac95c61c62d71beff18a532","dweb:/ipfs/QmYQrGDB3PoTMFU54FNC5EPToQo7uzwmXhEYgVnjciYnV5"],"license":"MIT"}},"version":1},"id":239}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setValue","inputs":[{"name":"_number","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506101a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806355241077146100385780638129fc1c1461004d575b5f80fd5b61004b610046366004610157565b600155565b005b61004b5f54610100900460ff161580801561006e57505f54600160ff909116105b806100875750303b15801561008757505f5460ff166001145b6100ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b5f805460ff19166001179055801561010f575f805461ff0019166101001790555b8015610154575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f60208284031215610167575f80fd5b503591905056fea2646970667358221220a28311d875fc75002965b864c5acb485b8f6bb8cde03a5ad0f160acdd7d4c5c764736f6c63430008140033","sourceMap":"102:204:103:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610034575f3560e01c806355241077146100385780638129fc1c1461004d575b5f80fd5b61004b610046366004610157565b600155565b005b61004b5f54610100900460ff161580801561006e57505f54600160ff909116105b806100875750303b15801561008757505f5460ff166001145b6100ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b5f805460ff19166001179055801561010f575f805461ff0019166101001790555b8015610154575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f60208284031215610167575f80fd5b503591905056fea2646970667358221220a28311d875fc75002965b864c5acb485b8f6bb8cde03a5ad0f160acdd7d4c5c764736f6c63430008140033","sourceMap":"102:204:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;229:75;;;;;;:::i;:::-;281:6;:16;229:75;;;180:43;;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;401:2:310;3314:190:162;;;383:21:310;440:2;420:18;;;413:30;479:34;459:18;;;452:62;-1:-1:-1;;;530:18:310;;;523:44;584:19;;3314:190:162;;;;;;;;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;3629:14;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;766:36:310;;3699:14:162;;754:2:310;739:18;3699:14:162;;;;;;;3625:99;3258:472;180:43:103:o;14:180:310:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:310;;14:180;-1:-1:-1;14:180:310:o","linkReferences":{}},"methodIdentifiers":{"initialize()":"8129fc1c","setValue(uint256)":"55241077"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_number\",\"type\":\"uint256\"}],\"name\":\"setValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol\":\"Implementation1\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol\":{\"keccak256\":\"0xa15a8db6dc563b8f299e7580239a91695f3635998b890d6c346d38cfd7f3760b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e52c25b81f91a4b5df6c3e1596e54a3375a9a944b297b5f90879fbb7841eb689\",\"dweb:/ipfs/QmX5tgbzfUnPU7o6VwgjeutQ4xtC8zdFg59J6aDUqPZ5qV\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_number","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setValue"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol":"Implementation1"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol":{"keccak256":"0xa15a8db6dc563b8f299e7580239a91695f3635998b890d6c346d38cfd7f3760b","urls":["bzz-raw://e52c25b81f91a4b5df6c3e1596e54a3375a9a944b297b5f90879fbb7841eb689","dweb:/ipfs/QmX5tgbzfUnPU7o6VwgjeutQ4xtC8zdFg59J6aDUqPZ5qV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":103}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"getValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setValue","inputs":[{"name":"_number","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506101c48061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806355241077146100585780638129fc1c1461006d575b5f80fd5b60015460405190815260200160405180910390f35b61006b610066366004610177565b600155565b005b61006b5f54610100900460ff161580801561008e57505f54600160ff909116105b806100a75750303b1580156100a757505f5460ff166001145b61010e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b5f805460ff19166001179055801561012f575f805461ff0019166101001790555b8015610174575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f60208284031215610187575f80fd5b503591905056fea26469706673582212203f0e6e9068c3b288b2d9d83a37795387acf13b8b2f5b106da1f0b338f063dc1964736f6c63430008140033","sourceMap":"308:290:103:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806355241077146100585780638129fc1c1461006d575b5f80fd5b60015460405190815260200160405180910390f35b61006b610066366004610177565b600155565b005b61006b5f54610100900460ff161580801561008e57505f54600160ff909116105b806100a75750303b1580156100a757505f5460ff166001145b61010e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b5f805460ff19166001179055801561012f575f805461ff0019166101001790555b8015610174575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b5f60208284031215610187575f80fd5b503591905056fea26469706673582212203f0e6e9068c3b288b2d9d83a37795387acf13b8b2f5b106da1f0b338f063dc1964736f6c63430008140033","sourceMap":"308:290:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;516:80;583:6;;516:80;;160:25:310;;;148:2;133:18;516:80:103;;;;;;;435:75;;;;;;:::i;:::-;487:6;:16;435:75;;;386:43;;3268:19:162;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:162;;3369:1;3354:12;;;;:16;3336:34;3335:97;;;-1:-1:-1;3404:4:162;1702:19:220;:23;;;3376:55:162;;-1:-1:-1;3414:12:162;;;;;:17;3376:55;3314:190;;;;-1:-1:-1;;;3314:190:162;;583:2:310;3314:190:162;;;565:21:310;622:2;602:18;;;595:30;661:34;641:18;;;634:62;-1:-1:-1;;;712:18:310;;;705:44;766:19;;3314:190:162;;;;;;;;3514:12;:16;;-1:-1:-1;;3514:16:162;3529:1;3514:16;;;3540:65;;;;3574:13;:20;;-1:-1:-1;;3574:20:162;;;;;3540:65;3629:14;3625:99;;;3675:5;3659:21;;-1:-1:-1;;3659:21:162;;;3699:14;;-1:-1:-1;948:36:310;;3699:14:162;;936:2:310;921:18;3699:14:162;;;;;;;3625:99;3258:472;386:43:103:o;196:180:310:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:310;;196:180;-1:-1:-1;196:180:310:o","linkReferences":{}},"methodIdentifiers":{"getValue()":"20965255","initialize()":"8129fc1c","setValue(uint256)":"55241077"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_number\",\"type\":\"uint256\"}],\"name\":\"setValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol\":\"Implementation2\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol\":{\"keccak256\":\"0xa15a8db6dc563b8f299e7580239a91695f3635998b890d6c346d38cfd7f3760b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e52c25b81f91a4b5df6c3e1596e54a3375a9a944b297b5f90879fbb7841eb689\",\"dweb:/ipfs/QmX5tgbzfUnPU7o6VwgjeutQ4xtC8zdFg59J6aDUqPZ5qV\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_number","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setValue"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol":"Implementation2"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol":{"keccak256":"0xa15a8db6dc563b8f299e7580239a91695f3635998b890d6c346d38cfd7f3760b","urls":["bzz-raw://e52c25b81f91a4b5df6c3e1596e54a3375a9a944b297b5f90879fbb7841eb689","dweb:/ipfs/QmX5tgbzfUnPU7o6VwgjeutQ4xtC8zdFg59J6aDUqPZ5qV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":103}