@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":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"defaultOperators","type":"address[]","internalType":"address[]"},{"name":"initialSupply","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"authorizeOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"tokenHolder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"defaultOperators","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"granularity","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isOperatorFor","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenHolder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"operatorBurn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operatorData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorSend","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operatorData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"send","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuthorizedOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenHolder","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Burned","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"operatorData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Minted","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"operatorData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RevokedOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenHolder","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Sent","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"operatorData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801562000010575f80fd5b5060405162002037380380620020378339810160408190526200003391620006d7565b84848460026200004484826200087d565b5060036200005383826200087d565b5080516200006990600490602084019062000561565b505f5b8151811015620000d657600160055f84848151811062000090576200009062000945565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580620000cd816200096d565b9150506200006c565b506040516329965a1d60e01b815230600482018190527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce217705460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d906064015f604051808303815f87803b1580156200014e575f80fd5b505af115801562000161573d5f803e3d5ffd5b50506040516329965a1d60e01b815230600482018190527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d91506064015f604051808303815f87803b158015620001dc575f80fd5b505af1158015620001ef573d5f803e3d5ffd5b5050505050505062000226818360405180602001604052805f81525060405180602001604052805f8152506200023160201b60201c565b505050505062000a89565b6200024184848484600162000247565b50505050565b6001600160a01b038516620002a35760405162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f206164647265737360448201526064015b60405180910390fd5b5f3390508460015f828254620002ba919062000988565b90915550506001600160a01b0386165f9081526020819052604081208054879290620002e890849062000988565b90915550620002ff9050815f888888888862000398565b856001600160a01b0316816001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8787876040516200034893929190620009d1565b60405180910390a36040518581526001600160a01b038716905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801562000417573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200043d919062000a09565b90506001600160a01b03811615620004ba576040516223de2960e01b81526001600160a01b038216906223de299062000485908b908b908b908b908b908b9060040162000a2c565b5f604051808303815f87803b1580156200049d575f80fd5b505af1158015620004b0573d5f803e3d5ffd5b5050505062000557565b811562000557576001600160a01b0386163b15620005575760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a4016200029a565b5050505050505050565b828054828255905f5260205f20908101928215620005b7579160200282015b82811115620005b757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000580565b50620005c5929150620005c9565b5090565b5b80821115620005c5575f8155600101620005ca565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156200061e576200061e620005df565b604052919050565b5f5b838110156200064257818101518382015260200162000628565b50505f910152565b5f82601f8301126200065a575f80fd5b81516001600160401b03811115620006765762000676620005df565b6200068b601f8201601f1916602001620005f3565b818152846020838601011115620006a0575f80fd5b620006b382602083016020870162000626565b949350505050565b80516001600160a01b0381168114620006d2575f80fd5b919050565b5f805f805f60a08688031215620006ec575f80fd5b85516001600160401b038082111562000703575f80fd5b6200071189838a016200064a565b965060209150818801518181111562000728575f80fd5b620007368a828b016200064a565b9650506040880151818111156200074b575f80fd5b8801601f81018a136200075c575f80fd5b805182811115620007715762000771620005df565b8060051b925062000784848401620005f3565b818152928201840192848101908c8511156200079e575f80fd5b928501925b84841015620007c757620007b784620006bb565b82529285019290850190620007a3565b80985050505050505060608601519150620007e560808701620006bb565b90509295509295909350565b600181811c908216806200080657607f821691505b6020821081036200082557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000878575f81815260208120601f850160051c81016020861015620008535750805b601f850160051c820191505b8181101562000874578281556001016200085f565b5050505b505050565b81516001600160401b03811115620008995762000899620005df565b620008b181620008aa8454620007f1565b846200082b565b602080601f831160018114620008e7575f8415620008cf5750858301515b5f19600386901b1c1916600185901b17855562000874565b5f85815260208120601f198616915b828110156200091757888601518255948401946001909101908401620008f6565b50858210156200093557878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820162000981576200098162000959565b5060010190565b808201808211156200099e576200099e62000959565b92915050565b5f8151808452620009bd81602086016020860162000626565b601f01601f19169290920160200192915050565b838152606060208201525f620009eb6060830185620009a4565b8281036040840152620009ff8185620009a4565b9695505050505050565b5f6020828403121562000a1a575f80fd5b62000a2582620006bb565b9392505050565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f9062000a6890830185620009a4565b82810360a084015262000a7c8185620009a4565b9998505050505050505050565b6115a08062000a975f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c8063959b8c3f1161009e578063d95b63711161006e578063d95b637114610224578063dd62ed3e14610237578063fad8b32a1461026f578063fc673c4f14610282578063fe9d930314610295575f80fd5b8063959b8c3f146101e357806395d89b41146101f65780639bd9bbc6146101fe578063a9059cbb14610211575f80fd5b806323b872dd116100e457806323b872dd1461017d578063313ce56714610190578063556f0dc71461019f57806362ad1b83146101a657806370a08231146101bb575f80fd5b806306e485381461011557806306fdde0314610133578063095ea7b31461014857806318160ddd1461016b575b5f80fd5b61011d6102a8565b60405161012a9190611054565b60405180910390f35b61013b610308565b60405161012a91906110e3565b61015b61015636600461110c565b61038f565b604051901515815260200161012a565b6001545b60405190815260200161012a565b61015b61018b366004611136565b6103a8565b6040516012815260200161012a565b600161016f565b6101b96101b4366004611211565b6103ea565b005b61016f6101c936600461129e565b6001600160a01b03165f9081526020819052604090205490565b6101b96101f136600461129e565b61042f565b61013b610548565b6101b961020c3660046112b9565b610557565b61015b61021f36600461110c565b610579565b61015b61023236600461130e565b6105ad565b61016f61024536600461130e565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6101b961027d36600461129e565b61064b565b6101b9610290366004611345565b610762565b6101b96102a33660046113c0565b61079a565b606060048054806020026020016040519081016040528092919081815260200182805480156102fe57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116102e0575b5050505050905090565b60606002805461031790611404565b80601f016020809104026020016040519081016040528092919081815260200182805461034390611404565b80156102fe5780601f10610365576101008083540402835291602001916102fe565b820191905f5260205f20905b81548152906001019060200180831161037157509395945050505050565b5f3361039c8185856107b8565b60019150505b92915050565b5f336103b58582856108de565b6103df85858560405180602001604052805f81525060405180602001604052805f8152505f610968565b506001949350505050565b6103f433866105ad565b6104195760405162461bcd60e51b81526004016104109061143c565b60405180910390fd5b61042885858585856001610968565b5050505050565b6001600160a01b03811633036104935760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b6064820152608401610410565b6001600160a01b0381165f9081526005602052604090205460ff16156104e257335f9081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610510565b335f9081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9905f90a350565b60606003805461031790611404565b6105743384848460405180602001604052805f8152506001610968565b505050565b5f6105a433848460405180602001604052805f81525060405180602001604052805f8152505f610968565b50600192915050565b5f816001600160a01b0316836001600160a01b0316148061061557506001600160a01b0383165f9081526005602052604090205460ff16801561061557506001600160a01b038083165f9081526007602090815260408083209387168352929052205460ff16155b8061064457506001600160a01b038083165f9081526006602090815260408083209387168352929052205460ff165b9392505050565b336001600160a01b038216036106ad5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b6064820152608401610410565b6001600160a01b0381165f9081526005602052604090205460ff16156106ff57335f9081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561072a565b335f9081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa1905f90a350565b61076c33856105ad565b6107885760405162461bcd60e51b81526004016104109061143c565b61079484848484610a64565b50505050565b6107b433838360405180602001604052805f815250610a64565b5050565b6001600160a01b03831661081c5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610410565b6001600160a01b03821661087e5760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610410565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600860209081526040808320938616835292905220545f198114610794578181101561095b5760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e636500006044820152606401610410565b61079484848484036107b8565b6001600160a01b0386166109cd5760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610410565b6001600160a01b038516610a2f5760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610410565b33610a3e818888888888610c14565b610a4c818888888888610d33565b610a5b81888888888888610e97565b50505050505050565b6001600160a01b038416610ac55760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b6064820152608401610410565b33610ad481865f878787610c14565b6001600160a01b0385165f9081526020819052604090205484811015610b485760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b6064820152608401610410565b6001600160a01b0386165f908152602081905260408120868303905560018054879290610b7690849061149c565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bc4939291906114af565b60405180910390a36040518581525f906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015610c92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb691906114e3565b90506001600160a01b03811615610a5b57604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610cfd908a908a908a908a908a908a906004016114fe565b5f604051808303815f87803b158015610d14575f80fd5b505af1158015610d26573d5f803e3d5ffd5b5050505050505050505050565b6001600160a01b0385165f9081526020819052604090205483811015610dab5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610410565b6001600160a01b038087165f90815260208190526040808220878503905591871681529081208054869290610de1908490611557565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e39939291906114af565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610e8691815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015610f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3991906114e3565b90506001600160a01b03811615610fb0576040516223de2960e01b81526001600160a01b038216906223de2990610f7e908b908b908b908b908b908b906004016114fe565b5f604051808303815f87803b158015610f95575f80fd5b505af1158015610fa7573d5f803e3d5ffd5b5050505061104a565b811561104a576001600160a01b0386163b1561104a5760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a401610410565b5050505050505050565b602080825282518282018190525f9190848201906040850190845b818110156110945783516001600160a01b03168352928401929184019160010161106f565b50909695505050505050565b5f81518084525f5b818110156110c4576020818501810151868301820152016110a8565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61064460208301846110a0565b6001600160a01b0381168114611109575f80fd5b50565b5f806040838503121561111d575f80fd5b8235611128816110f5565b946020939093013593505050565b5f805f60608486031215611148575f80fd5b8335611153816110f5565b92506020840135611163816110f5565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611197575f80fd5b813567ffffffffffffffff808211156111b2576111b2611174565b604051601f8301601f19908116603f011681019082821181831017156111da576111da611174565b816040528381528660208588010111156111f2575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f805f60a08688031215611225575f80fd5b8535611230816110f5565b94506020860135611240816110f5565b935060408601359250606086013567ffffffffffffffff80821115611263575f80fd5b61126f89838a01611188565b93506080880135915080821115611284575f80fd5b5061129188828901611188565b9150509295509295909350565b5f602082840312156112ae575f80fd5b8135610644816110f5565b5f805f606084860312156112cb575f80fd5b83356112d6816110f5565b925060208401359150604084013567ffffffffffffffff8111156112f8575f80fd5b61130486828701611188565b9150509250925092565b5f806040838503121561131f575f80fd5b823561132a816110f5565b9150602083013561133a816110f5565b809150509250929050565b5f805f8060808587031215611358575f80fd5b8435611363816110f5565b935060208501359250604085013567ffffffffffffffff80821115611386575f80fd5b61139288838901611188565b935060608701359150808211156113a7575f80fd5b506113b487828801611188565b91505092959194509250565b5f80604083850312156113d1575f80fd5b82359150602083013567ffffffffffffffff8111156113ee575f80fd5b6113fa85828601611188565b9150509250929050565b600181811c9082168061141857607f821691505b60208210810361143657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a2576103a2611488565b838152606060208201525f6114c760608301856110a0565b82810360408401526114d981856110a0565b9695505050505050565b5f602082840312156114f3575f80fd5b8151610644816110f5565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f90611538908301856110a0565b82810360a084015261154a81856110a0565b9998505050505050505050565b808201808211156103a2576103a261148856fea2646970667358221220216c1339a320bd6f844e5b78a76ce690df3f8a8efe6a8a58d6a640ac8a12fa4a64736f6c63430008140033","sourceMap":"353:452:218:-:0;;;539:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:4;725:6;733:16;2515:5:214;:13;719:4:218;2515:5:214;:13;:::i;:::-;-1:-1:-1;2538:7:214;:17;2548:7;2538;:17;:::i;:::-;-1:-1:-1;2566:42:214;;;;:22;;:42;;;;;:::i;:::-;;2623:9;2618:126;2642:17;:24;2638:1;:28;2618:126;;;2729:4;2687:17;:39;2705:17;2723:1;2705:20;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2687:39:214;;;;;;;;;;;-1:-1:-1;2687:39:214;:46;;-1:-1:-1;;2687:46:214;;;;;;;;;;2668:3;;;;:::i;:::-;;;;2618:126;;;-1:-1:-1;2785:97:214;;-1:-1:-1;;;2785:97:214;;2835:4;2785:97;;;6132:34:310;;;2842:24:214;6182:18:310;;;6175:34;6225:18;;;6218:43;1339:42:214;;2785:41;;6067:18:310;;2785:97:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2892:96:214;;-1:-1:-1;;;2892:96:214;;2942:4;2892:96;;;6132:34:310;;;2949:23:214;6182:18:310;;;6175:34;6225:18;;;6218:43;1339:42:214;;-1:-1:-1;2892:41:214;;-1:-1:-1;6067:18:310;;2892:96:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:582;;;761:35:218::1;767:5;774:13;761:35;;;;;;;;;;;::::0;::::1;;;;;;;;;;;::::0;:5:::1;;;:35;;:::i;:::-;539:264:::0;;;;;353:452;;9904:184:214;10029:52;10035:7;10044:6;10052:8;10062:12;10076:4;10029:5;:52::i;:::-;9904:184;;;;:::o;10710:726::-;-1:-1:-1;;;;;10915:21:214;;10907:66;;;;-1:-1:-1;;;10907:66:214;;6474:2:310;10907:66:214;;;6456:21:310;;;6493:18;;;6486:30;6552:34;6532:18;;;6525:62;6604:18;;10907:66:214;;;;;;;;;10984:16;734:10:224;10984:31:214;-1:-1:-1;11146:6:214;11130:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11162:18:214;;:9;:18;;;;;;;;;;:28;;11184:6;;11162:9;:28;;11184:6;;11162:28;:::i;:::-;;;;-1:-1:-1;11201:103:214;;-1:-1:-1;11221:8:214;11239:1;11243:7;11252:6;11260:8;11270:12;11284:19;11201;:103::i;:::-;11337:7;-1:-1:-1;;;;;11320:57:214;11327:8;-1:-1:-1;;;;;11320:57:214;;11346:6;11354:8;11364:12;11320:57;;;;;;;;:::i;:::-;;;;;;;;11392:37;;7637:25:310;;;-1:-1:-1;;;;;11392:37:214;;;11409:1;;11392:37;;7625:2:310;7610:18;11392:37:214;;;;;;;10897:539;10710:726;;;;;:::o;16380:676::-;16647:79;;-1:-1:-1;;;16647:79:214;;-1:-1:-1;;;;;7865:32:310;;16647:79:214;;;7847:51:310;1685:34:214;7914:18:310;;;7907:34;16625:19:214;;1339:42;;16647:41;;7820:18:310;;16647:79:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16625:101;-1:-1:-1;;;;;;16740:25:214;;;16736:314;;16781:96;;-1:-1:-1;;;16781:96:214;;-1:-1:-1;;;;;16781:44:214;;;;;:96;;16826:8;;16836:4;;16842:2;;16846:6;;16854:8;;16864:12;;16781:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16736:314;;;16898:19;16894:156;;;-1:-1:-1;;;;;16942:13:214;;1702:19:220;:23;16933:106:214;;;;-1:-1:-1;;;16933:106:214;;9102:2:310;16933:106:214;;;9084:21:310;9141:2;9121:18;;;9114:30;9180:34;9160:18;;;9153:62;9251:34;9231:18;;;9224:62;-1:-1:-1;;;9302:19:310;;;9295:44;9356:19;;16933:106:214;8900:481:310;16933:106:214;16615:441;16380:676;;;;;;;:::o;353:452:218:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;353:452:218;-1:-1:-1;;;;;353:452:218;;;;;;;;;;;-1:-1:-1;353:452:218;;;;;;;-1:-1:-1;353:452:218;;;-1:-1:-1;353:452:218;:::i;:::-;;;:::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:250::-;511:1;521:113;535:6;532:1;529:13;521:113;;;611:11;;;605:18;592:11;;;585:39;557:2;550:10;521:113;;;-1:-1:-1;;668:1:310;650:16;;643:27;426:250::o;681:510::-;735:5;788:3;781:4;773:6;769:17;765:27;755:55;;806:1;803;796:12;755:55;829:13;;-1:-1:-1;;;;;854:26:310;;851:52;;;883:18;;:::i;:::-;927:55;970:2;951:13;;-1:-1:-1;;947:27:310;976:4;943:38;927:55;:::i;:::-;1007:2;998:7;991:19;1053:3;1046:4;1041:2;1033:6;1029:15;1025:26;1022:35;1019:55;;;1070:1;1067;1060:12;1019:55;1083:77;1157:2;1150:4;1141:7;1137:18;1130:4;1122:6;1118:17;1083:77;:::i;:::-;1178:7;681:510;-1:-1:-1;;;;681:510:310:o;1196:177::-;1275:13;;-1:-1:-1;;;;;1317:31:310;;1307:42;;1297:70;;1363:1;1360;1353:12;1297:70;1196:177;;;:::o;1378:1516::-;1529:6;1537;1545;1553;1561;1614:3;1602:9;1593:7;1589:23;1585:33;1582:53;;;1631:1;1628;1621:12;1582:53;1658:16;;-1:-1:-1;;;;;1723:14:310;;;1720:34;;;1750:1;1747;1740:12;1720:34;1773:61;1826:7;1817:6;1806:9;1802:22;1773:61;:::i;:::-;1763:71;;1853:2;1843:12;;1901:2;1890:9;1886:18;1880:25;1930:2;1920:8;1917:16;1914:36;;;1946:1;1943;1936:12;1914:36;1969:63;2024:7;2013:8;2002:9;1998:24;1969:63;:::i;:::-;1959:73;;;2078:2;2067:9;2063:18;2057:25;2107:2;2097:8;2094:16;2091:36;;;2123:1;2120;2113:12;2091:36;2146:24;;2201:4;2193:13;;2189:27;-1:-1:-1;2179:55:310;;2230:1;2227;2220:12;2179:55;2259:2;2253:9;2281:2;2277;2274:10;2271:36;;;2287:18;;:::i;:::-;2333:2;2330:1;2326:10;2316:20;;2356:28;2380:2;2376;2372:11;2356:28;:::i;:::-;2418:15;;;2488:11;;;2484:20;;;2449:12;;;;2516:19;;;2513:39;;;2548:1;2545;2538:12;2513:39;2572:11;;;;2592:159;2608:6;2603:3;2600:15;2592:159;;;2674:34;2704:3;2674:34;:::i;:::-;2662:47;;2625:12;;;;2729;;;;2592:159;;;2770:5;2760:15;;;;;;;;2815:2;2804:9;2800:18;2794:25;2784:35;;2838:50;2883:3;2872:9;2868:19;2838:50;:::i;:::-;2828:60;;1378:1516;;;;;;;;:::o;2899:380::-;2978:1;2974:12;;;;3021;;;3042:61;;3096:4;3088:6;3084:17;3074:27;;3042:61;3149:2;3141:6;3138:14;3118:18;3115:38;3112:161;;3195:10;3190:3;3186:20;3183:1;3176:31;3230:4;3227:1;3220:15;3258:4;3255:1;3248:15;3112:161;;2899:380;;;:::o;3410:545::-;3512:2;3507:3;3504:11;3501:448;;;3548:1;3573:5;3569:2;3562:17;3618:4;3614:2;3604:19;3688:2;3676:10;3672:19;3669:1;3665:27;3659:4;3655:38;3724:4;3712:10;3709:20;3706:47;;;-1:-1:-1;3747:4:310;3706:47;3802:2;3797:3;3793:12;3790:1;3786:20;3780:4;3776:31;3766:41;;3857:82;3875:2;3868:5;3865:13;3857:82;;;3920:17;;;3901:1;3890:13;3857:82;;;3861:3;;;3501:448;3410:545;;;:::o;4131:1352::-;4251:10;;-1:-1:-1;;;;;4273:30:310;;4270:56;;;4306:18;;:::i;:::-;4335:97;4425:6;4385:38;4417:4;4411:11;4385:38;:::i;:::-;4379:4;4335:97;:::i;:::-;4487:4;;4551:2;4540:14;;4568:1;4563:663;;;;5270:1;5287:6;5284:89;;;-1:-1:-1;5339:19:310;;;5333:26;5284:89;-1:-1:-1;;4088:1:310;4084:11;;;4080:24;4076:29;4066:40;4112:1;4108:11;;;4063:57;5386:81;;4533:944;;4563:663;3357:1;3350:14;;;3394:4;3381:18;;-1:-1:-1;;4599:20:310;;;4717:236;4731:7;4728:1;4725:14;4717:236;;;4820:19;;;4814:26;4799:42;;4912:27;;;;4880:1;4868:14;;;;4747:19;;4717:236;;;4721:3;4981:6;4972:7;4969:19;4966:201;;;5042:19;;;5036:26;-1:-1:-1;;5125:1:310;5121:14;;;5137:3;5117:24;5113:37;5109:42;5094:58;5079:74;;4966:201;-1:-1:-1;;;;;5213:1:310;5197:14;;;5193:22;5180:36;;-1:-1:-1;4131:1352:310:o;5488:127::-;5549:10;5544:3;5540:20;5537:1;5530:31;5580:4;5577:1;5570:15;5604:4;5601:1;5594:15;5620:127;5681:10;5676:3;5672:20;5669:1;5662:31;5712:4;5709:1;5702:15;5736:4;5733:1;5726:15;5752:135;5791:3;5812:17;;;5809:43;;5832:18;;:::i;:::-;-1:-1:-1;5879:1:310;5868:13;;5752:135::o;6633:125::-;6698:9;;;6719:10;;;6716:36;;;6732:18;;:::i;:::-;6633:125;;;;:::o;6763:270::-;6804:3;6842:5;6836:12;6869:6;6864:3;6857:19;6885:76;6954:6;6947:4;6942:3;6938:14;6931:4;6924:5;6920:16;6885:76;:::i;:::-;7015:2;6994:15;-1:-1:-1;;6990:29:310;6981:39;;;;7022:4;6977:50;;6763:270;-1:-1:-1;;6763:270:310:o;7038:448::-;7259:6;7248:9;7241:25;7302:2;7297;7286:9;7282:18;7275:30;7222:4;7328:44;7368:2;7357:9;7353:18;7345:6;7328:44;:::i;:::-;7420:9;7412:6;7408:22;7403:2;7392:9;7388:18;7381:50;7448:32;7473:6;7465;7448:32;:::i;:::-;7440:40;7038:448;-1:-1:-1;;;;;;7038:448:310:o;7952:208::-;8022:6;8075:2;8063:9;8054:7;8050:23;8046:32;8043:52;;;8091:1;8088;8081:12;8043:52;8114:40;8144:9;8114:40;:::i;:::-;8104:50;7952:208;-1:-1:-1;;;7952:208:310:o;8165:730::-;-1:-1:-1;;;;;8508:15:310;;;8490:34;;8560:15;;;8555:2;8540:18;;8533:43;8612:15;;8607:2;8592:18;;8585:43;8659:2;8644:18;;8637:34;;;8708:3;8702;8687:19;;8680:32;;;8433:4;;8735:45;;8760:19;;8752:6;8735:45;:::i;:::-;8829:9;8821:6;8817:22;8811:3;8800:9;8796:19;8789:51;8857:32;8882:6;8874;8857:32;:::i;:::-;8849:40;8165:730;-1:-1:-1;;;;;;;;;8165:730:310:o;8900:481::-;353:452:218;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c8063959b8c3f1161009e578063d95b63711161006e578063d95b637114610224578063dd62ed3e14610237578063fad8b32a1461026f578063fc673c4f14610282578063fe9d930314610295575f80fd5b8063959b8c3f146101e357806395d89b41146101f65780639bd9bbc6146101fe578063a9059cbb14610211575f80fd5b806323b872dd116100e457806323b872dd1461017d578063313ce56714610190578063556f0dc71461019f57806362ad1b83146101a657806370a08231146101bb575f80fd5b806306e485381461011557806306fdde0314610133578063095ea7b31461014857806318160ddd1461016b575b5f80fd5b61011d6102a8565b60405161012a9190611054565b60405180910390f35b61013b610308565b60405161012a91906110e3565b61015b61015636600461110c565b61038f565b604051901515815260200161012a565b6001545b60405190815260200161012a565b61015b61018b366004611136565b6103a8565b6040516012815260200161012a565b600161016f565b6101b96101b4366004611211565b6103ea565b005b61016f6101c936600461129e565b6001600160a01b03165f9081526020819052604090205490565b6101b96101f136600461129e565b61042f565b61013b610548565b6101b961020c3660046112b9565b610557565b61015b61021f36600461110c565b610579565b61015b61023236600461130e565b6105ad565b61016f61024536600461130e565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6101b961027d36600461129e565b61064b565b6101b9610290366004611345565b610762565b6101b96102a33660046113c0565b61079a565b606060048054806020026020016040519081016040528092919081815260200182805480156102fe57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116102e0575b5050505050905090565b60606002805461031790611404565b80601f016020809104026020016040519081016040528092919081815260200182805461034390611404565b80156102fe5780601f10610365576101008083540402835291602001916102fe565b820191905f5260205f20905b81548152906001019060200180831161037157509395945050505050565b5f3361039c8185856107b8565b60019150505b92915050565b5f336103b58582856108de565b6103df85858560405180602001604052805f81525060405180602001604052805f8152505f610968565b506001949350505050565b6103f433866105ad565b6104195760405162461bcd60e51b81526004016104109061143c565b60405180910390fd5b61042885858585856001610968565b5050505050565b6001600160a01b03811633036104935760405162461bcd60e51b8152602060048201526024808201527f4552433737373a20617574686f72697a696e672073656c66206173206f70657260448201526330ba37b960e11b6064820152608401610410565b6001600160a01b0381165f9081526005602052604090205460ff16156104e257335f9081526007602090815260408083206001600160a01b03851684529091529020805460ff19169055610510565b335f9081526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9905f90a350565b60606003805461031790611404565b6105743384848460405180602001604052805f8152506001610968565b505050565b5f6105a433848460405180602001604052805f81525060405180602001604052805f8152505f610968565b50600192915050565b5f816001600160a01b0316836001600160a01b0316148061061557506001600160a01b0383165f9081526005602052604090205460ff16801561061557506001600160a01b038083165f9081526007602090815260408083209387168352929052205460ff16155b8061064457506001600160a01b038083165f9081526006602090815260408083209387168352929052205460ff165b9392505050565b336001600160a01b038216036106ad5760405162461bcd60e51b815260206004820152602160248201527f4552433737373a207265766f6b696e672073656c66206173206f70657261746f6044820152603960f91b6064820152608401610410565b6001600160a01b0381165f9081526005602052604090205460ff16156106ff57335f9081526007602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561072a565b335f9081526006602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa1905f90a350565b61076c33856105ad565b6107885760405162461bcd60e51b81526004016104109061143c565b61079484848484610a64565b50505050565b6107b433838360405180602001604052805f815250610a64565b5050565b6001600160a01b03831661081c5760405162461bcd60e51b815260206004820152602560248201527f4552433737373a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610410565b6001600160a01b03821661087e5760405162461bcd60e51b815260206004820152602360248201527f4552433737373a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610410565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600860209081526040808320938616835292905220545f198114610794578181101561095b5760405162461bcd60e51b815260206004820152601e60248201527f4552433737373a20696e73756666696369656e7420616c6c6f77616e636500006044820152606401610410565b61079484848484036107b8565b6001600160a01b0386166109cd5760405162461bcd60e51b815260206004820152602660248201527f4552433737373a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610410565b6001600160a01b038516610a2f5760405162461bcd60e51b8152602060048201526024808201527f4552433737373a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610410565b33610a3e818888888888610c14565b610a4c818888888888610d33565b610a5b81888888888888610e97565b50505050505050565b6001600160a01b038416610ac55760405162461bcd60e51b815260206004820152602260248201527f4552433737373a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b6064820152608401610410565b33610ad481865f878787610c14565b6001600160a01b0385165f9081526020819052604090205484811015610b485760405162461bcd60e51b815260206004820152602360248201527f4552433737373a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b6064820152608401610410565b6001600160a01b0386165f908152602081905260408120868303905560018054879290610b7690849061149c565b92505081905550856001600160a01b0316826001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098878787604051610bc4939291906114af565b60405180910390a36040518581525f906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015610c92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb691906114e3565b90506001600160a01b03811615610a5b57604051633ad5cbc160e11b81526001600160a01b038216906375ab978290610cfd908a908a908a908a908a908a906004016114fe565b5f604051808303815f87803b158015610d14575f80fd5b505af1158015610d26573d5f803e3d5ffd5b5050505050505050505050565b6001600160a01b0385165f9081526020819052604090205483811015610dab5760405162461bcd60e51b815260206004820152602760248201527f4552433737373a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610410565b6001600160a01b038087165f90815260208190526040808220878503905591871681529081208054869290610de1908490611557565b92505081905550846001600160a01b0316866001600160a01b0316886001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051610e39939291906114af565b60405180910390a4846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610e8691815260200190565b60405180910390a350505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201525f90731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015610f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3991906114e3565b90506001600160a01b03811615610fb0576040516223de2960e01b81526001600160a01b038216906223de2990610f7e908b908b908b908b908b908b906004016114fe565b5f604051808303815f87803b158015610f95575f80fd5b505af1158015610fa7573d5f803e3d5ffd5b5050505061104a565b811561104a576001600160a01b0386163b1561104a5760405162461bcd60e51b815260206004820152604d60248201527f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460448201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60648201526c1ad95b9cd49958da5c1a595b9d609a1b608482015260a401610410565b5050505050505050565b602080825282518282018190525f9190848201906040850190845b818110156110945783516001600160a01b03168352928401929184019160010161106f565b50909695505050505050565b5f81518084525f5b818110156110c4576020818501810151868301820152016110a8565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61064460208301846110a0565b6001600160a01b0381168114611109575f80fd5b50565b5f806040838503121561111d575f80fd5b8235611128816110f5565b946020939093013593505050565b5f805f60608486031215611148575f80fd5b8335611153816110f5565b92506020840135611163816110f5565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611197575f80fd5b813567ffffffffffffffff808211156111b2576111b2611174565b604051601f8301601f19908116603f011681019082821181831017156111da576111da611174565b816040528381528660208588010111156111f2575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f805f60a08688031215611225575f80fd5b8535611230816110f5565b94506020860135611240816110f5565b935060408601359250606086013567ffffffffffffffff80821115611263575f80fd5b61126f89838a01611188565b93506080880135915080821115611284575f80fd5b5061129188828901611188565b9150509295509295909350565b5f602082840312156112ae575f80fd5b8135610644816110f5565b5f805f606084860312156112cb575f80fd5b83356112d6816110f5565b925060208401359150604084013567ffffffffffffffff8111156112f8575f80fd5b61130486828701611188565b9150509250925092565b5f806040838503121561131f575f80fd5b823561132a816110f5565b9150602083013561133a816110f5565b809150509250929050565b5f805f8060808587031215611358575f80fd5b8435611363816110f5565b935060208501359250604085013567ffffffffffffffff80821115611386575f80fd5b61139288838901611188565b935060608701359150808211156113a7575f80fd5b506113b487828801611188565b91505092959194509250565b5f80604083850312156113d1575f80fd5b82359150602083013567ffffffffffffffff8111156113ee575f80fd5b6113fa85828601611188565b9150509250929050565b600181811c9082168061141857607f821691505b60208210810361143657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602c908201527f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60408201526b39103337b9103437b63232b960a11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a2576103a2611488565b838152606060208201525f6114c760608301856110a0565b82810360408401526114d981856110a0565b9695505050505050565b5f602082840312156114f3575f80fd5b8151610644816110f5565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c0608082018190525f90611538908301856110a0565b82810360a084015261154a81856110a0565b9998505050505050505050565b808201808211156103a2576103a261148856fea2646970667358221220216c1339a320bd6f844e5b78a76ce690df3f8a8efe6a8a58d6a640ac8a12fa4a64736f6c63430008140033","sourceMap":"353:452:218:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6565:130:214;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3049:98;;;:::i;:::-;;;;;;;:::i;8323:197::-;;;;;;:::i;:::-;;:::i;:::-;;;1951:14:310;;1944:22;1926:41;;1914:2;1899:18;8323:197:214;1786:187:310;3842:123:214;3946:12;;3842:123;;;2124:25:310;;;2112:2;2097:18;3842:123:214;1978:177:310;9002:287:214;;;;;;:::i;:::-;;:::i;3489:82::-;;;3562:2;2763:36:310;;2751:2;2736:18;3489:82:214;2621:184:310;3686:95:214;3773:1;3686:95;;6814:366;;;;;;:::i;:::-;;:::i;:::-;;4065:150;;;;;;:::i;:::-;-1:-1:-1;;;;;4186:22:214;4160:7;4186:22;;;;;;;;;;;;4065:150;5620:412;;;;;;:::i;:::-;;:::i;3203:102::-;;;:::i;4345:163::-;;;;;;:::i;:::-;;:::i;4739:183::-;;;;;;:::i;:::-;;:::i;5242:311::-;;;;;;:::i;:::-;;:::i;7865:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7981:19:214;;;7955:7;7981:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7865:151;6096:403;;;;;;:::i;:::-;;:::i;7301:325::-;;;;;;:::i;:::-;;:::i;5052:127::-;;;;;;:::i;:::-;;:::i;6565:130::-;6631:16;6666:22;6659:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6659:29:214;;;;;;;;;;;;;;;;;;;;;;;6565:130;:::o;3049:98::-;3103:13;3135:5;3128:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3128:12:214;;3049:98;-1:-1:-1;;;;;3049:98:214:o;8323:197::-;8405:4;734:10:224;8460:32:214;734:10:224;8477:7:214;8486:5;8460:8;:32::i;:::-;8509:4;8502:11;;;8323:197;;;;;:::o;9002:287::-;9108:4;734:10:224;9164:40:214;9180:6;734:10:224;9197:6:214;9164:15;:40::i;:::-;9214:47;9220:6;9228:9;9239:6;9214:47;;;;;;;;;;;;;;;;;;;;;;;;9255:5;9214;:47::i;:::-;-1:-1:-1;9278:4:214;;9002:287;-1:-1:-1;;;;9002:287:214:o;6814:366::-;7021:35;734:10:224;7049:6:214;7021:13;:35::i;:::-;7013:92;;;;-1:-1:-1;;;7013:92:214;;;;;;;:::i;:::-;;;;;;;;;7115:58;7121:6;7129:9;7140:6;7148:4;7154:12;7168:4;7115:5;:58::i;:::-;6814:366;;;;;:::o;5620:412::-;-1:-1:-1;;;;;5707:24:214;;734:10:224;5707:24:214;5699:73;;;;-1:-1:-1;;;5699:73:214;;7869:2:310;5699:73:214;;;7851:21:310;7908:2;7888:18;;;7881:30;7947:34;7927:18;;;7920:62;-1:-1:-1;;;7998:18:310;;;7991:34;8042:19;;5699:73:214;7667:400:310;5699:73:214;-1:-1:-1;;;;;5787:27:214;;;;;;:17;:27;;;;;;;;5783:185;;;734:10:224;5837:38:214;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;5837:48:214;;;;;;;;;5830:55;;-1:-1:-1;;5830:55:214;;;5783:185;;;734:10:224;5916:24:214;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;5916:34:214;;;;;;;;;:41;;-1:-1:-1;;5916:41:214;5953:4;5916:41;;;5783:185;5983:42;;734:10:224;;-1:-1:-1;;;;;5983:42:214;;;;;;;;5620:412;:::o;3203:102::-;3259:13;3291:7;3284:14;;;;;:::i;4345:163::-;4447:54;734:10:224;4467:9:214;4478:6;4486:4;4447:54;;;;;;;;;;;;4496:4;4447:5;:54::i;:::-;4345:163;;;:::o;4739:183::-;4825:4;4841:53;734:10:224;4861:9:214;4872:6;4841:53;;;;;;;;;;;;;;;;;;;;;;;;4888:5;4841;:53::i;:::-;-1:-1:-1;4911:4:214;4739:183;;;;:::o;5242:311::-;5342:4;5389:11;-1:-1:-1;;;;;5377:23:214;:8;-1:-1:-1;;;;;5377:23:214;;:120;;;-1:-1:-1;;;;;;5417:27:214;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;5449:37:214;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;5448:48;5417:79;5377:169;;;-1:-1:-1;;;;;;5513:23:214;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;5377:169;5358:188;5242:311;-1:-1:-1;;;5242:311:214:o;6096:403::-;734:10:224;-1:-1:-1;;;;;6180:24:214;;;6172:70;;;;-1:-1:-1;;;6172:70:214;;8274:2:310;6172:70:214;;;8256:21:310;8313:2;8293:18;;;8286:30;8352:34;8332:18;;;8325:62;-1:-1:-1;;;8403:18:310;;;8396:31;8444:19;;6172:70:214;8072:397:310;6172:70:214;-1:-1:-1;;;;;6257:27:214;;;;;;:17;:27;;;;;;;;6253:185;;;734:10:224;6300:38:214;;;;:24;:38;;;;;;;;-1:-1:-1;;;;;6300:48:214;;;;;;;;;:55;;-1:-1:-1;;6300:55:214;6351:4;6300:55;;;6253:185;;;734:10:224;6393:24:214;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;6393:34:214;;;;;;;;;6386:41;;-1:-1:-1;;6386:41:214;;;6253:185;6453:39;;734:10:224;;-1:-1:-1;;;;;6453:39:214;;;;;;;;6096:403;:::o;7301:325::-;7482:36;734:10:224;7510:7:214;7482:13;:36::i;:::-;7474:93;;;;-1:-1:-1;;;7474:93:214;;;;;;;:::i;:::-;7577:42;7583:7;7592:6;7600:4;7606:12;7577:5;:42::i;:::-;7301:325;;;;:::o;5052:127::-;5135:37;734:10:224;5155:6:214;5163:4;5135:37;;;;;;;;;;;;:5;:37::i;:::-;5052:127;;:::o;14403:343::-;-1:-1:-1;;;;;14504:20:214;;14496:70;;;;-1:-1:-1;;;14496:70:214;;8676:2:310;14496:70:214;;;8658:21:310;8715:2;8695:18;;;8688:30;8754:34;8734:18;;;8727:62;-1:-1:-1;;;8805:18:310;;;8798:35;8850:19;;14496:70:214;8474:401:310;14496:70:214;-1:-1:-1;;;;;14584:21:214;;14576:69;;;;-1:-1:-1;;;14576:69:214;;9082:2:310;14576:69:214;;;9064:21:310;9121:2;9101:18;;;9094:30;9160:34;9140:18;;;9133:62;-1:-1:-1;;;9211:18:310;;;9204:33;9254:19;;14576:69:214;8880:399:310;14576:69:214;-1:-1:-1;;;;;14656:19:214;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;14707:32;;2124:25:310;;;14707:32:214;;2097:18:310;14707:32:214;;;;;;;14403:343;;;:::o;17344:412::-;-1:-1:-1;;;;;7981:19:214;;;17444:24;7981:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;-1:-1:-1;;17510:37:214;;17506:244;;17591:6;17571:16;:26;;17563:69;;;;-1:-1:-1;;;17563:69:214;;9486:2:310;17563:69:214;;;9468:21:310;9525:2;9505:18;;;9498:30;9564:32;9544:18;;;9537:60;9614:18;;17563:69:214;9284:354:310;17563:69:214;17674:51;17683:5;17690:7;17718:6;17699:16;:25;17674:8;:51::i;11912:658::-;-1:-1:-1;;;;;12134:18:214;;12126:69;;;;-1:-1:-1;;;12126:69:214;;9845:2:310;12126:69:214;;;9827:21:310;9884:2;9864:18;;;9857:30;9923:34;9903:18;;;9896:62;-1:-1:-1;;;9974:18:310;;;9967:36;10020:19;;12126:69:214;9643:402:310;12126:69:214;-1:-1:-1;;;;;12213:16:214;;12205:65;;;;-1:-1:-1;;;12205:65:214;;10252:2:310;12205:65:214;;;10234:21:310;10291:2;10271:18;;;10264:30;10330:34;10310:18;;;10303:62;-1:-1:-1;;;10381:18:310;;;10374:34;10425:19;;12205:65:214;10050:400:310;12205:65:214;734:10:224;12323:69:214;734:10:224;12351:4:214;12357:2;12361:6;12369:8;12379:12;12323:17;:69::i;:::-;12403:57;12409:8;12419:4;12425:2;12429:6;12437:8;12447:12;12403:5;:57::i;:::-;12471:92;12491:8;12501:4;12507:2;12511:6;12519:8;12529:12;12543:19;12471;:92::i;:::-;12116:454;11912:658;;;;;;:::o;12875:773::-;-1:-1:-1;;;;;13001:18:214;;12993:65;;;;-1:-1:-1;;;12993:65:214;;10657:2:310;12993:65:214;;;10639:21:310;10696:2;10676:18;;;10669:30;10735:34;10715:18;;;10708:62;-1:-1:-1;;;10786:18:310;;;10779:32;10828:19;;12993:65:214;10455:398:310;12993:65:214;734:10:224;13111:73:214;734:10:224;13139:4:214;13069:16;13157:6;13165:4;13171:12;13111:17;:73::i;:::-;-1:-1:-1;;;;;13318:15:214;;13296:19;13318:15;;;;;;;;;;;13351:21;;;;13343:69;;;;-1:-1:-1;;;13343:69:214;;11060:2:310;13343:69:214;;;11042:21:310;11099:2;11079:18;;;11072:30;11138:34;11118:18;;;11111:62;-1:-1:-1;;;11189:18:310;;;11182:33;11232:19;;13343:69:214;10858:399:310;13343:69:214;-1:-1:-1;;;;;13446:15:214;;:9;:15;;;;;;;;;;13464:20;;;13446:38;;13504:12;:22;;13478:6;;13446:9;13504:22;;13478:6;;13504:22;:::i;:::-;;;;;;;;13559:4;-1:-1:-1;;;;;13542:50:214;13549:8;-1:-1:-1;;;;;13542:50:214;;13565:6;13573:4;13579:12;13542:50;;;;;;;;:::i;:::-;;;;;;;;13607:34;;2124:25:310;;;13630:1:214;;-1:-1:-1;;;;;13607:34:214;;;;;2112:2:310;2097:18;13607:34:214;;;;;;;12983:665;;12875:773;;;;:::o;15219:472::-;15450:78;;-1:-1:-1;;;15450:78:214;;-1:-1:-1;;;;;12174:32:310;;15450:78:214;;;12156:51:310;1588:31:214;12223:18:310;;;12216:34;15428:19:214;;1339:42;;15450:41;;12129:18:310;;15450:78:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15428:100;-1:-1:-1;;;;;;15542:25:214;;;15538:147;;15583:91;;-1:-1:-1;;;15583:91:214;;-1:-1:-1;;;;;15583:39:214;;;;;:91;;15623:8;;15633:4;;15639:2;;15643:6;;15651:8;;15661:12;;15583:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15418:273;15219:472;;;;;;:::o;13654:611::-;-1:-1:-1;;;;;13932:15:214;;13910:19;13932:15;;;;;;;;;;;13965:21;;;;13957:73;;;;-1:-1:-1;;;13957:73:214;;13456:2:310;13957:73:214;;;13438:21:310;13495:2;13475:18;;;13468:30;13534:34;13514:18;;;13507:62;-1:-1:-1;;;13585:18:310;;;13578:37;13632:19;;13957:73:214;13254:403:310;13957:73:214;-1:-1:-1;;;;;14064:15:214;;;:9;:15;;;;;;;;;;;14082:20;;;14064:38;;14122:13;;;;;;;;:23;;14096:6;;14064:9;14122:23;;14096:6;;14122:23;:::i;:::-;;;;;;;;14182:2;-1:-1:-1;;;;;14161:56:214;14176:4;-1:-1:-1;;;;;14161:56:214;14166:8;-1:-1:-1;;;;;14161:56:214;;14186:6;14194:8;14204:12;14161:56;;;;;;;;:::i;:::-;;;;;;;;14247:2;-1:-1:-1;;;;;14232:26:214;14241:4;-1:-1:-1;;;;;14232:26:214;;14251:6;14232:26;;;;2124:25:310;;2112:2;2097:18;;1978:177;14232:26:214;;;;;;;;13841:424;13654:611;;;;;;:::o;16380:676::-;16647:79;;-1:-1:-1;;;16647:79:214;;-1:-1:-1;;;;;12174:32:310;;16647:79:214;;;12156:51:310;1685:34:214;12223:18:310;;;12216:34;16625:19:214;;1339:42;;16647:41;;12129:18:310;;16647:79:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16625:101;-1:-1:-1;;;;;;16740:25:214;;;16736:314;;16781:96;;-1:-1:-1;;;16781:96:214;;-1:-1:-1;;;;;16781:44:214;;;;;:96;;16826:8;;16836:4;;16842:2;;16846:6;;16854:8;;16864:12;;16781:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16736:314;;;16898:19;16894:156;;;-1:-1:-1;;;;;16942:13:214;;1702:19:220;:23;16933:106:214;;;;-1:-1:-1;;;16933:106:214;;13994:2:310;16933:106:214;;;13976:21:310;14033:2;14013:18;;;14006:30;14072:34;14052:18;;;14045:62;14143:34;14123:18;;;14116:62;-1:-1:-1;;;14194:19:310;;;14187:44;14248:19;;16933:106:214;13792:481:310;16933:106:214;16615:441;16380:676;;;;;;;:::o;14:658:310:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:310;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:310;;14:658;-1:-1:-1;;;;;;14:658:310:o;677:423::-;719:3;757:5;751:12;784:6;779:3;772:19;809:1;819:162;833:6;830:1;827:13;819:162;;;895:4;951:13;;;947:22;;941:29;923:11;;;919:20;;912:59;848:12;819:162;;;823:3;1026:1;1019:4;1010:6;1005:3;1001:16;997:27;990:38;1089:4;1082:2;1078:7;1073:2;1065:6;1061:15;1057:29;1052:3;1048:39;1044:50;1037:57;;;677:423;;;;:::o;1105:220::-;1254:2;1243:9;1236:21;1217:4;1274:45;1315:2;1304:9;1300:18;1292:6;1274:45;:::i;1330:131::-;-1:-1:-1;;;;;1405:31:310;;1395:42;;1385:70;;1451:1;1448;1441:12;1385:70;1330:131;:::o;1466:315::-;1534:6;1542;1595:2;1583:9;1574:7;1570:23;1566:32;1563:52;;;1611:1;1608;1601:12;1563:52;1650:9;1637:23;1669:31;1694:5;1669:31;:::i;:::-;1719:5;1771:2;1756:18;;;;1743:32;;-1:-1:-1;;;1466:315:310:o;2160:456::-;2237:6;2245;2253;2306:2;2294:9;2285:7;2281:23;2277:32;2274:52;;;2322:1;2319;2312:12;2274:52;2361:9;2348:23;2380:31;2405:5;2380:31;:::i;:::-;2430:5;-1:-1:-1;2487:2:310;2472:18;;2459:32;2500:33;2459:32;2500:33;:::i;:::-;2160:456;;2552:7;;-1:-1:-1;;;2606:2:310;2591:18;;;;2578:32;;2160:456::o;2810:127::-;2871:10;2866:3;2862:20;2859:1;2852:31;2902:4;2899:1;2892:15;2926:4;2923:1;2916:15;2942:718;2984:5;3037:3;3030:4;3022:6;3018:17;3014:27;3004:55;;3055:1;3052;3045:12;3004:55;3091:6;3078:20;3117:18;3154:2;3150;3147:10;3144:36;;;3160:18;;:::i;:::-;3235:2;3229:9;3203:2;3289:13;;-1:-1:-1;;3285:22:310;;;3309:2;3281:31;3277:40;3265:53;;;3333:18;;;3353:22;;;3330:46;3327:72;;;3379:18;;:::i;:::-;3419:10;3415:2;3408:22;3454:2;3446:6;3439:18;3500:3;3493:4;3488:2;3480:6;3476:15;3472:26;3469:35;3466:55;;;3517:1;3514;3507:12;3466:55;3581:2;3574:4;3566:6;3562:17;3555:4;3547:6;3543:17;3530:54;3628:1;3621:4;3616:2;3608:6;3604:15;3600:26;3593:37;3648:6;3639:15;;;;;;2942:718;;;;:::o;3665:885::-;3778:6;3786;3794;3802;3810;3863:3;3851:9;3842:7;3838:23;3834:33;3831:53;;;3880:1;3877;3870:12;3831:53;3919:9;3906:23;3938:31;3963:5;3938:31;:::i;:::-;3988:5;-1:-1:-1;4045:2:310;4030:18;;4017:32;4058:33;4017:32;4058:33;:::i;:::-;4110:7;-1:-1:-1;4164:2:310;4149:18;;4136:32;;-1:-1:-1;4219:2:310;4204:18;;4191:32;4242:18;4272:14;;;4269:34;;;4299:1;4296;4289:12;4269:34;4322:49;4363:7;4354:6;4343:9;4339:22;4322:49;:::i;:::-;4312:59;;4424:3;4413:9;4409:19;4396:33;4380:49;;4454:2;4444:8;4441:16;4438:36;;;4470:1;4467;4460:12;4438:36;;4493:51;4536:7;4525:8;4514:9;4510:24;4493:51;:::i;:::-;4483:61;;;3665:885;;;;;;;;:::o;4555:247::-;4614:6;4667:2;4655:9;4646:7;4642:23;4638:32;4635:52;;;4683:1;4680;4673:12;4635:52;4722:9;4709:23;4741:31;4766:5;4741:31;:::i;4807:523::-;4893:6;4901;4909;4962:2;4950:9;4941:7;4937:23;4933:32;4930:52;;;4978:1;4975;4968:12;4930:52;5017:9;5004:23;5036:31;5061:5;5036:31;:::i;:::-;5086:5;-1:-1:-1;5138:2:310;5123:18;;5110:32;;-1:-1:-1;5193:2:310;5178:18;;5165:32;5220:18;5209:30;;5206:50;;;5252:1;5249;5242:12;5206:50;5275:49;5316:7;5307:6;5296:9;5292:22;5275:49;:::i;:::-;5265:59;;;4807:523;;;;;:::o;5335:388::-;5403:6;5411;5464:2;5452:9;5443:7;5439:23;5435:32;5432:52;;;5480:1;5477;5470:12;5432:52;5519:9;5506:23;5538:31;5563:5;5538:31;:::i;:::-;5588:5;-1:-1:-1;5645:2:310;5630:18;;5617:32;5658:33;5617:32;5658:33;:::i;:::-;5710:7;5700:17;;;5335:388;;;;;:::o;5728:743::-;5832:6;5840;5848;5856;5909:3;5897:9;5888:7;5884:23;5880:33;5877:53;;;5926:1;5923;5916:12;5877:53;5965:9;5952:23;5984:31;6009:5;5984:31;:::i;:::-;6034:5;-1:-1:-1;6086:2:310;6071:18;;6058:32;;-1:-1:-1;6141:2:310;6126:18;;6113:32;6164:18;6194:14;;;6191:34;;;6221:1;6218;6211:12;6191:34;6244:49;6285:7;6276:6;6265:9;6261:22;6244:49;:::i;:::-;6234:59;;6346:2;6335:9;6331:18;6318:32;6302:48;;6375:2;6365:8;6362:16;6359:36;;;6391:1;6388;6381:12;6359:36;;6414:51;6457:7;6446:8;6435:9;6431:24;6414:51;:::i;:::-;6404:61;;;5728:743;;;;;;;:::o;6476:388::-;6553:6;6561;6614:2;6602:9;6593:7;6589:23;6585:32;6582:52;;;6630:1;6627;6620:12;6582:52;6666:9;6653:23;6643:33;;6727:2;6716:9;6712:18;6699:32;6754:18;6746:6;6743:30;6740:50;;;6786:1;6783;6776:12;6740:50;6809:49;6850:7;6841:6;6830:9;6826:22;6809:49;:::i;:::-;6799:59;;;6476:388;;;;;:::o;6869:380::-;6948:1;6944:12;;;;6991;;;7012:61;;7066:4;7058:6;7054:17;7044:27;;7012:61;7119:2;7111:6;7108:14;7088:18;7085:38;7082:161;;7165:10;7160:3;7156:20;7153:1;7146:31;7200:4;7197:1;7190:15;7228:4;7225:1;7218:15;7082:161;;6869:380;;;:::o;7254:408::-;7456:2;7438:21;;;7495:2;7475:18;;;7468:30;7534:34;7529:2;7514:18;;7507:62;-1:-1:-1;;;7600:2:310;7585:18;;7578:42;7652:3;7637:19;;7254:408::o;11262:127::-;11323:10;11318:3;11314:20;11311:1;11304:31;11354:4;11351:1;11344:15;11378:4;11375:1;11368:15;11394:128;11461:9;;;11482:11;;;11479:37;;;11496:18;;:::i;11527:450::-;11748:6;11737:9;11730:25;11791:2;11786;11775:9;11771:18;11764:30;11711:4;11817:45;11858:2;11847:9;11843:18;11835:6;11817:45;:::i;:::-;11910:9;11902:6;11898:22;11893:2;11882:9;11878:18;11871:50;11938:33;11964:6;11956;11938:33;:::i;:::-;11930:41;11527:450;-1:-1:-1;;;;;;11527:450:310:o;12261:251::-;12331:6;12384:2;12372:9;12363:7;12359:23;12355:32;12352:52;;;12400:1;12397;12390:12;12352:52;12432:9;12426:16;12451:31;12476:5;12451:31;:::i;12517:732::-;-1:-1:-1;;;;;12860:15:310;;;12842:34;;12912:15;;;12907:2;12892:18;;12885:43;12964:15;;12959:2;12944:18;;12937:43;13011:2;12996:18;;12989:34;;;13060:3;13054;13039:19;;13032:32;;;12785:4;;13087:46;;13113:19;;13105:6;13087:46;:::i;:::-;13182:9;13174:6;13170:22;13164:3;13153:9;13149:19;13142:51;13210:33;13236:6;13228;13210:33;:::i;:::-;13202:41;12517:732;-1:-1:-1;;;;;;;;;12517:732:310:o;13662:125::-;13727:9;;;13748:10;;;13745:36;;;13761:18;;:::i","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","authorizeOperator(address)":"959b8c3f","balanceOf(address)":"70a08231","burn(uint256,bytes)":"fe9d9303","decimals()":"313ce567","defaultOperators()":"06e48538","granularity()":"556f0dc7","isOperatorFor(address,address)":"d95b6371","name()":"06fdde03","operatorBurn(address,uint256,bytes,bytes)":"fc673c4f","operatorSend(address,address,uint256,bytes,bytes)":"62ad1b83","revokeOperator(address)":"fad8b32a","send(address,uint256,bytes)":"9bd9bbc6","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultOperators\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"AuthorizedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Burned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"RevokedOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"Sent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"authorizeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultOperators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"granularity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenHolder\",\"type\":\"address\"}],\"name\":\"isOperatorFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"operatorSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"{ERC777} token, including: - Preminted initial supply - No access control mechanism (for minting/pausing) and hence no governance _Available since v3.4._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"AuthorizedOperator(address,address)\":{\"details\":\"Emitted when `operator` is made operator for `tokenHolder`.\"},\"Burned(address,address,uint256,bytes,bytes)\":{\"details\":\"Emitted when `operator` destroys `amount` tokens from `account`. Note that some additional user `data` and `operatorData` can be logged in the event.\"},\"Minted(address,address,uint256,bytes,bytes)\":{\"details\":\"Emitted when `amount` tokens are created by `operator` and assigned to `to`. Note that some additional user `data` and `operatorData` can be logged in the event.\"},\"RevokedOperator(address,address)\":{\"details\":\"Emitted when `operator` is revoked its operator status for `tokenHolder`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}. Note that operator and allowance concepts are orthogonal: operators may not have allowance, and accounts with allowance may not be operators themselves.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Note that accounts cannot have allowance issued by their operators.\"},\"authorizeOperator(address)\":{\"details\":\"See {IERC777-authorizeOperator}.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by an account (`tokenHolder`).\"},\"burn(uint256,bytes)\":{\"details\":\"See {IERC777-burn}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"constructor\":{\"details\":\"Mints `initialSupply` amount of token and transfers them to `owner`. See {ERC777-constructor}.\"},\"decimals()\":{\"details\":\"See {ERC20-decimals}. Always returns 18, as per the [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility).\"},\"defaultOperators()\":{\"details\":\"See {IERC777-defaultOperators}.\"},\"granularity()\":{\"details\":\"See {IERC777-granularity}. This implementation always returns `1`.\"},\"isOperatorFor(address,address)\":{\"details\":\"See {IERC777-isOperatorFor}.\"},\"name()\":{\"details\":\"See {IERC777-name}.\"},\"operatorBurn(address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorBurn}. Emits {Burned} and {IERC20-Transfer} events.\"},\"operatorSend(address,address,uint256,bytes,bytes)\":{\"details\":\"See {IERC777-operatorSend}. Emits {Sent} and {IERC20-Transfer} events.\"},\"revokeOperator(address)\":{\"details\":\"See {IERC777-revokeOperator}.\"},\"send(address,uint256,bytes)\":{\"details\":\"See {IERC777-send}. Also emits a {IERC20-Transfer} event for ERC20 compatibility.\"},\"symbol()\":{\"details\":\"See {IERC777-symbol}.\"},\"totalSupply()\":{\"details\":\"See {IERC777-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} interface if it is a contract. Also emits a {Sent} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Note that operator and allowance concepts are orthogonal: operators cannot call `transferFrom` (unless they have allowance), and accounts with allowance cannot call `operatorSend` (unless they are operators). Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol\":\"ERC777PresetFixedSupply\"},\"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/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol\":{\"keccak256\":\"0x9ba96ab5cfc78725ee53df89f4b01784624dbe59d1dda27c6110c6c4c5e970c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d892e634981f5a60e92876d24e2d59264b0495ce98f722a5b7fd8fa91f69f9\",\"dweb:/ipfs/QmT34R6qn5GLnMhQxTt5kr7WX4mGJ2E1xEJKvLQhXe8m4m\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0x79e6094047e40d49efa3c725b7a1519e16c28c46944884b5f6d0fbe89b450f03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2570d04d0b74df414fa33f9f7da6442419a07909ece7baeecd7147d9c7d6a432\",\"dweb:/ipfs/QmRDQM1kzddwCk8ateQgnogu495fWb4L9Xwr42DAQhHzi5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol\":{\"keccak256\":\"0xe214157d6fb4506165d7ede39cf8fe60e58beff6a8fc3b06911e464bf6166307\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb2f38009817584f2390950b2bf43249ad504a593e5788e6e716f571863c279\",\"dweb:/ipfs/QmRypcU6KH5iCeoyYErFTpodXtmAGTpXAJiwbVRKAEXpH5\"]},\"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/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0x42f11bff9d625194645e74f01a3cf8f69a3979f07becfa293f75757cabb92050\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc35b43a667c38d0868c20d648ccb2ec4107bcc1e77ce4fc79ce4938cb51a6d\",\"dweb:/ipfs/QmbwauNDkoLnWYB2owGeZBYWz2y7ZejdC6Q3c5MPZHLnNm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"defaultOperators","type":"address[]"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"tokenHolder","type":"address","indexed":true}],"type":"event","name":"AuthorizedOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes","name":"operatorData","type":"bytes","indexed":false}],"type":"event","name":"Burned","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes","name":"operatorData","type":"bytes","indexed":false}],"type":"event","name":"Minted","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"tokenHolder","type":"address","indexed":true}],"type":"event","name":"RevokedOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes","name":"operatorData","type":"bytes","indexed":false}],"type":"event","name":"Sent","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"authorizeOperator"},{"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"pure","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"operatorBurn"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"operatorSend"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeOperator"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"send"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}. Note that operator and allowance concepts are orthogonal: operators may not have allowance, and accounts with allowance may not be operators themselves."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Note that accounts cannot have allowance issued by their operators."},"authorizeOperator(address)":{"details":"See {IERC777-authorizeOperator}."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by an account (`tokenHolder`)."},"burn(uint256,bytes)":{"details":"See {IERC777-burn}. Also emits a {IERC20-Transfer} event for ERC20 compatibility."},"constructor":{"details":"Mints `initialSupply` amount of token and transfers them to `owner`. See {ERC777-constructor}."},"decimals()":{"details":"See {ERC20-decimals}. Always returns 18, as per the [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility)."},"defaultOperators()":{"details":"See {IERC777-defaultOperators}."},"granularity()":{"details":"See {IERC777-granularity}. This implementation always returns `1`."},"isOperatorFor(address,address)":{"details":"See {IERC777-isOperatorFor}."},"name()":{"details":"See {IERC777-name}."},"operatorBurn(address,uint256,bytes,bytes)":{"details":"See {IERC777-operatorBurn}. Emits {Burned} and {IERC20-Transfer} events."},"operatorSend(address,address,uint256,bytes,bytes)":{"details":"See {IERC777-operatorSend}. Emits {Sent} and {IERC20-Transfer} events."},"revokeOperator(address)":{"details":"See {IERC777-revokeOperator}."},"send(address,uint256,bytes)":{"details":"See {IERC777-send}. Also emits a {IERC20-Transfer} event for ERC20 compatibility."},"symbol()":{"details":"See {IERC777-symbol}."},"totalSupply()":{"details":"See {IERC777-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} interface if it is a contract. Also emits a {Sent} event."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Note that operator and allowance concepts are orthogonal: operators cannot call `transferFrom` (unless they have allowance), and accounts with allowance cannot call `operatorSend` (unless they are operators). Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events."}},"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/token/ERC777/presets/ERC777PresetFixedSupply.sol":"ERC777PresetFixedSupply"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol":{"keccak256":"0x9ba96ab5cfc78725ee53df89f4b01784624dbe59d1dda27c6110c6c4c5e970c0","urls":["bzz-raw://98d892e634981f5a60e92876d24e2d59264b0495ce98f722a5b7fd8fa91f69f9","dweb:/ipfs/QmT34R6qn5GLnMhQxTt5kr7WX4mGJ2E1xEJKvLQhXe8m4m"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol":{"keccak256":"0x79e6094047e40d49efa3c725b7a1519e16c28c46944884b5f6d0fbe89b450f03","urls":["bzz-raw://2570d04d0b74df414fa33f9f7da6442419a07909ece7baeecd7147d9c7d6a432","dweb:/ipfs/QmRDQM1kzddwCk8ateQgnogu495fWb4L9Xwr42DAQhHzi5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol":{"keccak256":"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc","urls":["bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3","dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol":{"keccak256":"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382","urls":["bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18","dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol":{"keccak256":"0xe214157d6fb4506165d7ede39cf8fe60e58beff6a8fc3b06911e464bf6166307","urls":["bzz-raw://8eb2f38009817584f2390950b2bf43249ad504a593e5788e6e716f571863c279","dweb:/ipfs/QmRypcU6KH5iCeoyYErFTpodXtmAGTpXAJiwbVRKAEXpH5"],"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/introspection/IERC1820Registry.sol":{"keccak256":"0x42f11bff9d625194645e74f01a3cf8f69a3979f07becfa293f75757cabb92050","urls":["bzz-raw://7dc35b43a667c38d0868c20d648ccb2ec4107bcc1e77ce4fc79ce4938cb51a6d","dweb:/ipfs/QmbwauNDkoLnWYB2owGeZBYWz2y7ZejdC6Q3c5MPZHLnNm"],"license":"MIT"}},"version":1},"id":218}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"burn","inputs":[{"name":"token","type":"address","internalType":"contract IERC777"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canImplementInterfaceForAddress","inputs":[{"name":"interfaceHash","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"recipientFor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSender","inputs":[{"name":"sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"send","inputs":[{"name":"token","type":"address","internalType":"contract IERC777"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"senderFor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setShouldRevertReceive","inputs":[{"name":"shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setShouldRevertSend","inputs":[{"name":"shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokensReceived","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"userData","type":"bytes","internalType":"bytes"},{"name":"operatorData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokensToSend","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"userData","type":"bytes","internalType":"bytes"},{"name":"operatorData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BeforeTokenTransfer","inputs":[],"anonymous":false},{"type":"event","name":"TokensReceivedCalled","inputs":[{"name":"operator","type":"address","indexed":false,"internalType":"address"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"operatorData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"fromBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"toBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TokensToSendCalled","inputs":[{"name":"operator","type":"address","indexed":false,"internalType":"address"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"operatorData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"fromBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"toBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040526001805462010000600160b01b031916751820a4b7618bde71dce8cdc73aab6c95905fad240000179055348015610039575f80fd5b50610b3a806100475f395ff3fe608060405234801561000f575f80fd5b50600436106100a5575f3560e01c806375ab97821161006e57806375ab97821461012a578063a8badaa51461013d578063c97e18fc14610150578063d2de647414610178578063e0eb21801461018b578063e1ecbd301461019e575f80fd5b806223de29146100a9578063249cb3fa146100be5780633836ef89146100e357806344d17187146100f65780634e4ae5a514610109575b5f80fd5b6100bc6100b7366004610751565b6101b1565b005b6100d16100cc3660046107fb565b6102fb565b60405190815260200160405180910390f35b6100bc6100f13660046108c6565b610351565b6100bc61010436600461092e565b6103b4565b6100bc610117366004610983565b6001805460ff1916911515919091179055565b6100bc610138366004610751565b610414565b6100bc61014b3660046109a2565b610544565b6100bc61015e366004610983565b600180549115156101000261ff0019909216919091179055565b6100bc6101863660046109a2565b6105d5565b6100bc6101993660046109a2565b61061e565b6100bc6101ac3660046109a2565b610663565b600154610100900460ff16156101c5575f80fd5b5f336040516370a0823160e01b81526001600160a01b038a811660048301529192505f918316906370a0823190602401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023491906109bd565b6040516370a0823160e01b81526001600160a01b038a811660048301529192505f918416906370a0823190602401602060405180830381865afa15801561027d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a191906109bd565b90507f47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e8b8b8b8b8b8b8b8b8b8b8b6040516102e69b9a999897969594939291906109fc565b60405180910390a15050505050505050505050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff16610328575f61034a565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b604051634decdde360e11b81526001600160a01b03851690639bd9bbc69061038190869086908690600401610ab5565b5f604051808303815f87803b158015610398575f80fd5b505af11580156103aa573d5f803e3d5ffd5b5050505050505050565b60405163fe9d930360e01b81526001600160a01b0384169063fe9d9303906103e29085908590600401610ae4565b5f604051808303815f87803b1580156103f9575f80fd5b505af115801561040b573d5f803e3d5ffd5b50505050505050565b60015460ff1615610423575f80fd5b5f336040516370a0823160e01b81526001600160a01b038a811660048301529192505f918316906370a0823190602401602060405180830381865afa15801561046e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049291906109bd565b6040516370a0823160e01b81526001600160a01b038a811660048301529192505f918416906370a0823190602401602060405180830381865afa1580156104db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ff91906109bd565b90507faa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da855298b8b8b8b8b8b8b8b8b8b8b6040516102e69b9a999897969594939291906109fc565b6001546040516329965a1d60e01b81523060048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064015b5f604051808303815f87803b1580156105bc575f80fd5b505af11580156105ce573d5f803e3d5ffd5b5050505050565b6105ff7f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895826106c8565b306001600160a01b03821681900361061a5761061a81610663565b5050565b6106487fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b826106c8565b306001600160a01b03821681900361061a5761061a81610544565b6001546040516329965a1d60e01b81523060048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064016105a5565b5f918252602082815260408084206001600160a01b0390931684529190529020805460ff19166001179055565b6001600160a01b0381168114610709575f80fd5b50565b5f8083601f84011261071c575f80fd5b50813567ffffffffffffffff811115610733575f80fd5b60208301915083602082850101111561074a575f80fd5b9250929050565b5f805f805f805f8060c0898b031215610768575f80fd5b8835610773816106f5565b97506020890135610783816106f5565b96506040890135610793816106f5565b955060608901359450608089013567ffffffffffffffff808211156107b6575f80fd5b6107c28c838d0161070c565b909650945060a08b01359150808211156107da575f80fd5b506107e78b828c0161070c565b999c989b5096995094979396929594505050565b5f806040838503121561080c575f80fd5b82359150602083013561081e816106f5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261084c575f80fd5b813567ffffffffffffffff8082111561086757610867610829565b604051601f8301601f19908116603f0116810190828211818310171561088f5761088f610829565b816040528381528660208588010111156108a7575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f80608085870312156108d9575f80fd5b84356108e4816106f5565b935060208501356108f4816106f5565b925060408501359150606085013567ffffffffffffffff811115610916575f80fd5b6109228782880161083d565b91505092959194509250565b5f805f60608486031215610940575f80fd5b833561094b816106f5565b925060208401359150604084013567ffffffffffffffff81111561096d575f80fd5b6109798682870161083d565b9150509250925092565b5f60208284031215610993575f80fd5b8135801515811461034a575f80fd5b5f602082840312156109b2575f80fd5b813561034a816106f5565b5f602082840312156109cd575f80fd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b038c811682528b811660208301528a81166040830152606082018a9052610120608083018190525f91610a398483018b8d6109d4565b915083820360a0850152610a4e82898b6109d4565b961660c0840152505060e08101929092526101009091015298975050505050505050565b5f81518084525f5b81811015610a9657602081850181015186830182015201610a7a565b505f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0384168152826020820152606060408201525f610adb6060830184610a72565b95945050505050565b828152604060208201525f610afc6040830184610a72565b94935050505056fea2646970667358221220598e0814f232e40503091d58d9d30dca0fd49b74fa32afc45b20d707d9f263e064736f6c63430008140033","sourceMap":"347:4059:148:-:0;;;1131:96;;;-1:-1:-1;;;;;;1131:96:148;;;;;347:4059;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100a5575f3560e01c806375ab97821161006e57806375ab97821461012a578063a8badaa51461013d578063c97e18fc14610150578063d2de647414610178578063e0eb21801461018b578063e1ecbd301461019e575f80fd5b806223de29146100a9578063249cb3fa146100be5780633836ef89146100e357806344d17187146100f65780634e4ae5a514610109575b5f80fd5b6100bc6100b7366004610751565b6101b1565b005b6100d16100cc3660046107fb565b6102fb565b60405190815260200160405180910390f35b6100bc6100f13660046108c6565b610351565b6100bc61010436600461092e565b6103b4565b6100bc610117366004610983565b6001805460ff1916911515919091179055565b6100bc610138366004610751565b610414565b6100bc61014b3660046109a2565b610544565b6100bc61015e366004610983565b600180549115156101000261ff0019909216919091179055565b6100bc6101863660046109a2565b6105d5565b6100bc6101993660046109a2565b61061e565b6100bc6101ac3660046109a2565b610663565b600154610100900460ff16156101c5575f80fd5b5f336040516370a0823160e01b81526001600160a01b038a811660048301529192505f918316906370a0823190602401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023491906109bd565b6040516370a0823160e01b81526001600160a01b038a811660048301529192505f918416906370a0823190602401602060405180830381865afa15801561027d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a191906109bd565b90507f47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e8b8b8b8b8b8b8b8b8b8b8b6040516102e69b9a999897969594939291906109fc565b60405180910390a15050505050505050505050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff16610328575f61034a565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b604051634decdde360e11b81526001600160a01b03851690639bd9bbc69061038190869086908690600401610ab5565b5f604051808303815f87803b158015610398575f80fd5b505af11580156103aa573d5f803e3d5ffd5b5050505050505050565b60405163fe9d930360e01b81526001600160a01b0384169063fe9d9303906103e29085908590600401610ae4565b5f604051808303815f87803b1580156103f9575f80fd5b505af115801561040b573d5f803e3d5ffd5b50505050505050565b60015460ff1615610423575f80fd5b5f336040516370a0823160e01b81526001600160a01b038a811660048301529192505f918316906370a0823190602401602060405180830381865afa15801561046e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049291906109bd565b6040516370a0823160e01b81526001600160a01b038a811660048301529192505f918416906370a0823190602401602060405180830381865afa1580156104db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ff91906109bd565b90507faa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da855298b8b8b8b8b8b8b8b8b8b8b6040516102e69b9a999897969594939291906109fc565b6001546040516329965a1d60e01b81523060048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064015b5f604051808303815f87803b1580156105bc575f80fd5b505af11580156105ce573d5f803e3d5ffd5b5050505050565b6105ff7f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895826106c8565b306001600160a01b03821681900361061a5761061a81610663565b5050565b6106487fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b826106c8565b306001600160a01b03821681900361061a5761061a81610544565b6001546040516329965a1d60e01b81523060048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064016105a5565b5f918252602082815260408084206001600160a01b0390931684529190529020805460ff19166001179055565b6001600160a01b0381168114610709575f80fd5b50565b5f8083601f84011261071c575f80fd5b50813567ffffffffffffffff811115610733575f80fd5b60208301915083602082850101111561074a575f80fd5b9250929050565b5f805f805f805f8060c0898b031215610768575f80fd5b8835610773816106f5565b97506020890135610783816106f5565b96506040890135610793816106f5565b955060608901359450608089013567ffffffffffffffff808211156107b6575f80fd5b6107c28c838d0161070c565b909650945060a08b01359150808211156107da575f80fd5b506107e78b828c0161070c565b999c989b5096995094979396929594505050565b5f806040838503121561080c575f80fd5b82359150602083013561081e816106f5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261084c575f80fd5b813567ffffffffffffffff8082111561086757610867610829565b604051601f8301601f19908116603f0116810190828211818310171561088f5761088f610829565b816040528381528660208588010111156108a7575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f80608085870312156108d9575f80fd5b84356108e4816106f5565b935060208501356108f4816106f5565b925060408501359150606085013567ffffffffffffffff811115610916575f80fd5b6109228782880161083d565b91505092959194509250565b5f805f60608486031215610940575f80fd5b833561094b816106f5565b925060208401359150604084013567ffffffffffffffff81111561096d575f80fd5b6109798682870161083d565b9150509250925092565b5f60208284031215610993575f80fd5b8135801515811461034a575f80fd5b5f602082840312156109b2575f80fd5b813561034a816106f5565b5f602082840312156109cd575f80fd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b038c811682528b811660208301528a81166040830152606082018a9052610120608083018190525f91610a398483018b8d6109d4565b915083820360a0850152610a4e82898b6109d4565b961660c0840152505060e08101929092526101009091015298975050505050505050565b5f81518084525f5b81811015610a9657602081850181015186830182015201610a7a565b505f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0384168152826020820152606060408201525f610adb6060830184610a72565b95945050505050565b828152604060208201525f610afc6040830184610a72565b94935050505056fea2646970667358221220598e0814f232e40503091d58d9d30dca0fd49b74fa32afc45b20d707d9f263e064736f6c63430008140033","sourceMap":"347:4059:148:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:778;;;;;;:::i;:::-;;:::i;:::-;;907:258:243;;;;;;:::i;:::-;;:::i;:::-;;;2178:25:310;;;2166:2;2151:18;907:258:243;;;;;;;4045:241:148;;;;;;:::i;:::-;;:::i;4292:112::-;;;;;;:::i;:::-;;:::i;3819:104::-;;;;;;:::i;:::-;3884:17;:32;;-1:-1:-1;;3884:32:148;;;;;;;;;;3819:104;1429:771;;;;;;:::i;:::-;;:::i;3651:162::-;;;;;;:::i;:::-;;:::i;3929:110::-;;;;;;:::i;:::-;3997:20;:35;;;;;;;-1:-1:-1;;3997:35:148;;;;;;;;;3929:110;2990:242;;;;;;:::i;:::-;;:::i;3394:251::-;;;;;;:::i;:::-;;:::i;3238:150::-;;;;;;:::i;:::-;;:::i;2206:778::-;2430:20;;;;;;;2426:59;;;2466:8;;;2426:59;2495:13;734:10:224;2565:21:148;;-1:-1:-1;;;2565:21:148;;-1:-1:-1;;;;;4995:32:310;;;2565:21:148;;;4977:51:310;2495:37:148;;-1:-1:-1;2543:19:148;;2565:15;;;;;4950:18:310;;2565:21:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2712:19;;-1:-1:-1;;;2712:19:148;;-1:-1:-1;;;;;4995:32:310;;;2712:19:148;;;4977:51:310;2543:43:148;;-1:-1:-1;2692:17:148;;2712:15;;;;;4950:18:310;;2712:19:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2692:39;;2747:230;2781:8;2803:4;2821:2;2837:6;2857:8;;2879:12;;2913:5;2933:11;2958:9;2747:230;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2416:568;;;2206:778;;;;;;;;:::o;907:258:243:-;1048:7;1074:35;;;;;;;;;;;-1:-1:-1;;;;;1074:44:243;;;;;;;;;;;;:84;;1153:4;1074:84;;;700:33;1074:84;1067:91;907:258;-1:-1:-1;;;907:258:243:o;4045:241:148:-;4209:28;;-1:-1:-1;;;4209:28:148;;-1:-1:-1;;;;;4209:10:148;;;;;:28;;4220:2;;4224:6;;4232:4;;4209:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4045:241;;;;:::o;4292:112::-;4373:24;;-1:-1:-1;;;4373:24:148;;-1:-1:-1;;;;;4373:10:148;;;;;:24;;4384:6;;4392:4;;4373:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4292:112;;;:::o;1429:771::-;1651:17;;;;1647:56;;;1684:8;;;1647:56;1713:13;734:10:224;1783:21:148;;-1:-1:-1;;;1783:21:148;;-1:-1:-1;;;;;4995:32:310;;;1783:21:148;;;4977:51:310;1713:37:148;;-1:-1:-1;1761:19:148;;1783:15;;;;;4950:18:310;;1783:21:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1930:19;;-1:-1:-1;;;1930:19:148;;-1:-1:-1;;;;;4995:32:310;;;1930:19:148;;;4977:51:310;1761:43:148;;-1:-1:-1;1910:17:148;;1930:15;;;;;4950:18:310;;1930:19:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1910:39;;1965:228;1997:8;2019:4;2037:2;2053:6;2073:8;;2095:12;;2129:5;2149:11;2174:9;1965:228;;;;;;;;;;;;;;;;:::i;3651:162::-;3714:8;;:92;;-1:-1:-1;;;3714:92:148;;3755:4;3714:92;;;7885:34:310;1388::148;7935:18:310;;;7928:34;-1:-1:-1;;;;;7998:15:310;;;7978:18;;;7971:43;3714:8:148;;;;;;;;:32;;7820:18:310;;3714:92:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3651:162;:::o;2990:242::-;3043:68;1291:31;3103:7;3043:28;:68::i;:::-;3145:4;-1:-1:-1;;;;;3164:15:148;;;;;3160:66;;3195:20;3210:4;3195:14;:20::i;:::-;3033:199;2990:242;:::o;3394:251::-;3450:71;1388:34;3513:7;3450:28;:71::i;:::-;3555:4;-1:-1:-1;;;;;3574:15:148;;;;;3570:69;;3605:23;3623:4;3605:17;:23::i;3238:150::-;3295:8;;:86;;-1:-1:-1;;;3295:86:148;;3336:4;3295:86;;;7885:34:310;1291:31:148;7935:18:310;;;7928:34;-1:-1:-1;;;;;7998:15:310;;;7978:18;;;7971:43;3295:8:148;;;;;;;;:32;;7820:18:310;;3295:86:148;7645:375:310;1400:163:243;1505:20;:35;;;;;;;;;;;-1:-1:-1;;;;;1505:44:243;;;;;;;;;;:51;;-1:-1:-1;;1505:51:243;1552:4;1505:51;;;1400:163::o;14:131:310:-;-1:-1:-1;;;;;89:31:310;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:347::-;201:8;211:6;265:3;258:4;250:6;246:17;242:27;232:55;;283:1;280;273:12;232:55;-1:-1:-1;306:20:310;;349:18;338:30;;335:50;;;381:1;378;371:12;335:50;418:4;410:6;406:17;394:29;;470:3;463:4;454:6;446;442:19;438:30;435:39;432:59;;;487:1;484;477:12;432:59;150:347;;;;;:::o;502:1205::-;628:6;636;644;652;660;668;676;684;737:3;725:9;716:7;712:23;708:33;705:53;;;754:1;751;744:12;705:53;793:9;780:23;812:31;837:5;812:31;:::i;:::-;862:5;-1:-1:-1;919:2:310;904:18;;891:32;932:33;891:32;932:33;:::i;:::-;984:7;-1:-1:-1;1043:2:310;1028:18;;1015:32;1056:33;1015:32;1056:33;:::i;:::-;1108:7;-1:-1:-1;1162:2:310;1147:18;;1134:32;;-1:-1:-1;1217:3:310;1202:19;;1189:33;1241:18;1271:14;;;1268:34;;;1298:1;1295;1288:12;1268:34;1337:58;1387:7;1378:6;1367:9;1363:22;1337:58;:::i;:::-;1414:8;;-1:-1:-1;1311:84:310;-1:-1:-1;1502:3:310;1487:19;;1474:33;;-1:-1:-1;1519:16:310;;;1516:36;;;1548:1;1545;1538:12;1516:36;;1587:60;1639:7;1628:8;1617:9;1613:24;1587:60;:::i;:::-;502:1205;;;;-1:-1:-1;502:1205:310;;-1:-1:-1;502:1205:310;;;;;;1666:8;-1:-1:-1;;;502:1205:310:o;1712:315::-;1780:6;1788;1841:2;1829:9;1820:7;1816:23;1812:32;1809:52;;;1857:1;1854;1847:12;1809:52;1893:9;1880:23;1870:33;;1953:2;1942:9;1938:18;1925:32;1966:31;1991:5;1966:31;:::i;:::-;2016:5;2006:15;;;1712:315;;;;;:::o;2214:127::-;2275:10;2270:3;2266:20;2263:1;2256:31;2306:4;2303:1;2296:15;2330:4;2327:1;2320:15;2346:718;2388:5;2441:3;2434:4;2426:6;2422:17;2418:27;2408:55;;2459:1;2456;2449:12;2408:55;2495:6;2482:20;2521:18;2558:2;2554;2551:10;2548:36;;;2564:18;;:::i;:::-;2639:2;2633:9;2607:2;2693:13;;-1:-1:-1;;2689:22:310;;;2713:2;2685:31;2681:40;2669:53;;;2737:18;;;2757:22;;;2734:46;2731:72;;;2783:18;;:::i;:::-;2823:10;2819:2;2812:22;2858:2;2850:6;2843:18;2904:3;2897:4;2892:2;2884:6;2880:15;2876:26;2873:35;2870:55;;;2921:1;2918;2911:12;2870:55;2985:2;2978:4;2970:6;2966:17;2959:4;2951:6;2947:17;2934:54;3032:1;3025:4;3020:2;3012:6;3008:15;3004:26;2997:37;3052:6;3043:15;;;;;;2346:718;;;;:::o;3069:682::-;3181:6;3189;3197;3205;3258:3;3246:9;3237:7;3233:23;3229:33;3226:53;;;3275:1;3272;3265:12;3226:53;3314:9;3301:23;3333:31;3358:5;3333:31;:::i;:::-;3383:5;-1:-1:-1;3440:2:310;3425:18;;3412:32;3453:33;3412:32;3453:33;:::i;:::-;3505:7;-1:-1:-1;3559:2:310;3544:18;;3531:32;;-1:-1:-1;3614:2:310;3599:18;;3586:32;3641:18;3630:30;;3627:50;;;3673:1;3670;3663:12;3627:50;3696:49;3737:7;3728:6;3717:9;3713:22;3696:49;:::i;:::-;3686:59;;;3069:682;;;;;;;:::o;3756:540::-;3859:6;3867;3875;3928:2;3916:9;3907:7;3903:23;3899:32;3896:52;;;3944:1;3941;3934:12;3896:52;3983:9;3970:23;4002:31;4027:5;4002:31;:::i;:::-;4052:5;-1:-1:-1;4104:2:310;4089:18;;4076:32;;-1:-1:-1;4159:2:310;4144:18;;4131:32;4186:18;4175:30;;4172:50;;;4218:1;4215;4208:12;4172:50;4241:49;4282:7;4273:6;4262:9;4258:22;4241:49;:::i;:::-;4231:59;;;3756:540;;;;;:::o;4301:273::-;4357:6;4410:2;4398:9;4389:7;4385:23;4381:32;4378:52;;;4426:1;4423;4416:12;4378:52;4465:9;4452:23;4518:5;4511:13;4504:21;4497:5;4494:32;4484:60;;4540:1;4537;4530:12;4579:247;4638:6;4691:2;4679:9;4670:7;4666:23;4662:32;4659:52;;;4707:1;4704;4697:12;4659:52;4746:9;4733:23;4765:31;4790:5;4765:31;:::i;5039:184::-;5109:6;5162:2;5150:9;5141:7;5137:23;5133:32;5130:52;;;5178:1;5175;5168:12;5130:52;-1:-1:-1;5201:16:310;;5039:184;-1:-1:-1;5039:184:310:o;5228:266::-;5316:6;5311:3;5304:19;5368:6;5361:5;5354:4;5349:3;5345:14;5332:43;-1:-1:-1;5420:1:310;5395:16;;;5413:4;5391:27;;;5384:38;;;;5476:2;5455:15;;;-1:-1:-1;;5451:29:310;5442:39;;;5438:50;;5228:266::o;5499:1031::-;-1:-1:-1;;;;;5969:15:310;;;5951:34;;6021:15;;;6016:2;6001:18;;5994:43;6073:15;;;6068:2;6053:18;;6046:43;6120:2;6105:18;;6098:34;;;5901:3;6163;6148:19;;6141:31;;;5872:4;;6195:61;6237:18;;;6229:6;6221;6195:61;:::i;:::-;6181:75;;6305:9;6297:6;6293:22;6287:3;6276:9;6272:19;6265:51;6333:49;6375:6;6367;6359;6333:49;:::i;:::-;6419:15;;6413:3;6398:19;;6391:44;-1:-1:-1;;6466:3:310;6451:19;;6444:35;;;;6510:3;6495:19;;;6488:36;6325:57;5499:1031;-1:-1:-1;;;;;;;;5499:1031:310:o;6535:422::-;6576:3;6614:5;6608:12;6641:6;6636:3;6629:19;6666:1;6676:162;6690:6;6687:1;6684:13;6676:162;;;6752:4;6808:13;;;6804:22;;6798:29;6780:11;;;6776:20;;6769:59;6705:12;6676:162;;;6680:3;6883:1;6876:4;6867:6;6862:3;6858:16;6854:27;6847:38;6946:4;6939:2;6935:7;6930:2;6922:6;6918:15;6914:29;6909:3;6905:39;6901:50;6894:57;;;6535:422;;;;:::o;6962:385::-;7194:1;7190;7185:3;7181:11;7177:19;7169:6;7165:32;7154:9;7147:51;7234:6;7229:2;7218:9;7214:18;7207:34;7277:2;7272;7261:9;7257:18;7250:30;7128:4;7297:44;7337:2;7326:9;7322:18;7314:6;7297:44;:::i;:::-;7289:52;6962:385;-1:-1:-1;;;;;6962:385:310:o;7352:288::-;7527:6;7516:9;7509:25;7570:2;7565;7554:9;7550:18;7543:30;7490:4;7590:44;7630:2;7619:9;7615:18;7607:6;7590:44;:::i;:::-;7582:52;7352:288;-1:-1:-1;;;;7352:288:310:o","linkReferences":{}},"methodIdentifiers":{"burn(address,uint256,bytes)":"44d17187","canImplementInterfaceForAddress(bytes32,address)":"249cb3fa","recipientFor(address)":"e0eb2180","registerRecipient(address)":"a8badaa5","registerSender(address)":"e1ecbd30","send(address,address,uint256,bytes)":"3836ef89","senderFor(address)":"d2de6474","setShouldRevertReceive(bool)":"c97e18fc","setShouldRevertSend(bool)":"4e4ae5a5","tokensReceived(address,address,address,uint256,bytes,bytes)":"0023de29","tokensToSend(address,address,address,uint256,bytes,bytes)":"75ab9782"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeTokenTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fromBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toBalance\",\"type\":\"uint256\"}],\"name\":\"TokensReceivedCalled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fromBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toBalance\",\"type\":\"uint256\"}],\"name\":\"TokensToSendCalled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract IERC777\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"canImplementInterfaceForAddress\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"recipientFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"registerSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC777\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"senderFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevertReceive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevertSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"tokensReceived\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"operatorData\",\"type\":\"bytes\"}],\"name\":\"tokensToSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"canImplementInterfaceForAddress(bytes32,address)\":{\"details\":\"See {IERC1820Implementer-canImplementInterfaceForAddress}.\"},\"tokensReceived(address,address,address,uint256,bytes,bytes)\":{\"details\":\"Called by an {IERC777} token contract whenever tokens are being moved or created into a registered account (`to`). The type of operation is conveyed by `from` being the zero address or not. This call occurs _after_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the post-operation state. This function may revert to prevent the operation from being executed.\"},\"tokensToSend(address,address,address,uint256,bytes,bytes)\":{\"details\":\"Called by an {IERC777} token contract whenever a registered holder's (`from`) tokens are about to be moved or destroyed. The type of operation is conveyed by `to` being the zero address or not. This call occurs _before_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the pre-operation state. This function may revert to prevent the operation from being executed.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol\":\"ERC777SenderRecipientMock\"},\"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/token/ERC777SenderRecipientMock.sol\":{\"keccak256\":\"0x6c664bd1928f0c4cff459cdc30b1accf31d8f17195199d9bcf29e025f4c1ba0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe6e57b3f4e2559eadf5f2062e0477c43aaec4e52f77717dcf27c026840086fa\",\"dweb:/ipfs/QmUo4HAHpTDN4VCidLFAHvmD9eyPoWzvnxoqSwtYKBQvTp\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0x79e6094047e40d49efa3c725b7a1519e16c28c46944884b5f6d0fbe89b450f03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2570d04d0b74df414fa33f9f7da6442419a07909ece7baeecd7147d9c7d6a432\",\"dweb:/ipfs/QmRDQM1kzddwCk8ateQgnogu495fWb4L9Xwr42DAQhHzi5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol\":{\"keccak256\":\"0xd8a40ba327a05da15fd8d03e512913db37685e060d37d85ca666d5743c14ed3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b58dd6c0482ea55eb04fb0e0e401f522391ae5d25d5afe8cba40c689e66757cf\",\"dweb:/ipfs/QmaH9bU8EYjqVqNQ2KKtW8ik5ruo5f5cEAHBWbBDXZbwqk\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol\":{\"keccak256\":\"0xc94f9b84096deaf9d2ba5681db62455e3f2d5f0a61341f68a6f576f32a6e60be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74465bbd80d2e8cfb900bf00c69940822d59bfee20d3a9725fbd74e26413319b\",\"dweb:/ipfs/QmYLEg43ZBYBsjx6qDiHK21P4YjVYLzQcUMhadrdqmA5ZL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0x42f11bff9d625194645e74f01a3cf8f69a3979f07becfa293f75757cabb92050\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc35b43a667c38d0868c20d648ccb2ec4107bcc1e77ce4fc79ce4938cb51a6d\",\"dweb:/ipfs/QmbwauNDkoLnWYB2owGeZBYWz2y7ZejdC6Q3c5MPZHLnNm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"event","name":"BeforeTokenTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes","name":"operatorData","type":"bytes","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"fromBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"toBalance","type":"uint256","indexed":false}],"type":"event","name":"TokensReceivedCalled","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes","name":"operatorData","type":"bytes","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"fromBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"toBalance","type":"uint256","indexed":false}],"type":"event","name":"TokensToSendCalled","anonymous":false},{"inputs":[{"internalType":"contract IERC777","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"bytes32","name":"interfaceHash","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"canImplementInterfaceForAddress","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recipientFor"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerRecipient"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSender"},{"inputs":[{"internalType":"contract IERC777","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"send"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"senderFor"},{"inputs":[{"internalType":"bool","name":"shouldRevert","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setShouldRevertReceive"},{"inputs":[{"internalType":"bool","name":"shouldRevert","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setShouldRevertSend"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"tokensReceived"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"tokensToSend"}],"devdoc":{"kind":"dev","methods":{"canImplementInterfaceForAddress(bytes32,address)":{"details":"See {IERC1820Implementer-canImplementInterfaceForAddress}."},"tokensReceived(address,address,address,uint256,bytes,bytes)":{"details":"Called by an {IERC777} token contract whenever tokens are being moved or created into a registered account (`to`). The type of operation is conveyed by `from` being the zero address or not. This call occurs _after_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the post-operation state. This function may revert to prevent the operation from being executed."},"tokensToSend(address,address,address,uint256,bytes,bytes)":{"details":"Called by an {IERC777} token contract whenever a registered holder's (`from`) tokens are about to be moved or destroyed. The type of operation is conveyed by `to` being the zero address or not. This call occurs _before_ the token contract's state is updated, so {IERC777-balanceOf}, etc., can be used to query the pre-operation state. This function may revert to prevent the operation from being executed."}},"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/token/ERC777SenderRecipientMock.sol":"ERC777SenderRecipientMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol":{"keccak256":"0x6c664bd1928f0c4cff459cdc30b1accf31d8f17195199d9bcf29e025f4c1ba0f","urls":["bzz-raw://fe6e57b3f4e2559eadf5f2062e0477c43aaec4e52f77717dcf27c026840086fa","dweb:/ipfs/QmUo4HAHpTDN4VCidLFAHvmD9eyPoWzvnxoqSwtYKBQvTp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol":{"keccak256":"0x79e6094047e40d49efa3c725b7a1519e16c28c46944884b5f6d0fbe89b450f03","urls":["bzz-raw://2570d04d0b74df414fa33f9f7da6442419a07909ece7baeecd7147d9c7d6a432","dweb:/ipfs/QmRDQM1kzddwCk8ateQgnogu495fWb4L9Xwr42DAQhHzi5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol":{"keccak256":"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc","urls":["bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3","dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol":{"keccak256":"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382","urls":["bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18","dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4"],"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/introspection/ERC1820Implementer.sol":{"keccak256":"0xd8a40ba327a05da15fd8d03e512913db37685e060d37d85ca666d5743c14ed3c","urls":["bzz-raw://b58dd6c0482ea55eb04fb0e0e401f522391ae5d25d5afe8cba40c689e66757cf","dweb:/ipfs/QmaH9bU8EYjqVqNQ2KKtW8ik5ruo5f5cEAHBWbBDXZbwqk"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol":{"keccak256":"0xc94f9b84096deaf9d2ba5681db62455e3f2d5f0a61341f68a6f576f32a6e60be","urls":["bzz-raw://74465bbd80d2e8cfb900bf00c69940822d59bfee20d3a9725fbd74e26413319b","dweb:/ipfs/QmYLEg43ZBYBsjx6qDiHK21P4YjVYLzQcUMhadrdqmA5ZL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol":{"keccak256":"0x42f11bff9d625194645e74f01a3cf8f69a3979f07becfa293f75757cabb92050","urls":["bzz-raw://7dc35b43a667c38d0868c20d648ccb2ec4107bcc1e77ce4fc79ce4938cb51a6d","dweb:/ipfs/QmbwauNDkoLnWYB2owGeZBYWz2y7ZejdC6Q3c5MPZHLnNm"],"license":"MIT"}},"version":1},"id":148}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122062e3d7d355b2525a9076cec7dfd913bb0b00f572a04bfd24f8bab0efbf4a1eb764736f6c63430008140033","sourceMap":"1629:19702:254:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1629:19702:254;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122062e3d7d355b2525a9076cec7dfd913bb0b00f572a04bfd24f8bab0efbf4a1eb764736f6c63430008140033","sourceMap":"1629:19702:254:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. Maps have the following properties: - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. ```solidity contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` The following map types are supported: - `uint256 -> address` (`UintToAddressMap`) since v3.0.0 - `address -> uint256` (`AddressToUintMap`) since v4.6.0 - `bytes32 -> bytes32` (`Bytes32ToBytes32Map`) since v4.6.0 - `uint256 -> uint256` (`UintToUintMap`) since v4.7.0 - `bytes32 -> uint256` (`Bytes32ToUintMap`) since v4.7.0 [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableMap, you can either remove all elements one by one or create a fresh instance using an array of EnumerableMap. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol\":\"EnumerableMap\"},\"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/utils/structs/EnumerableMap.sol\":{\"keccak256\":\"0x7ebfe2422bc571599c2ec20577d7848e1e7a0acf85fa7c2d9636618bbbdf6fca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77fb3f64d470c92c3142e3c07d2f18ad78723a1f1e680a251dcde37e865d0636\",\"dweb:/ipfs/QmXAeNPRRGfNSRxi1d17QjkNTBZFemhiMzJVvEJgMWwqUW\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20bf19b2b851f58a4c24543de80ae70b3e08621f9230eb335dc75e2d4f43f5df\",\"dweb:/ipfs/QmSYuH1AhvJkPK8hNvoPqtExBcgTB42pPRHgTHkS5c5zYW\"]}},\"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/utils/structs/EnumerableMap.sol":"EnumerableMap"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol":{"keccak256":"0x7ebfe2422bc571599c2ec20577d7848e1e7a0acf85fa7c2d9636618bbbdf6fca","urls":["bzz-raw://77fb3f64d470c92c3142e3c07d2f18ad78723a1f1e680a251dcde37e865d0636","dweb:/ipfs/QmXAeNPRRGfNSRxi1d17QjkNTBZFemhiMzJVvEJgMWwqUW"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514","urls":["bzz-raw://20bf19b2b851f58a4c24543de80ae70b3e08621f9230eb335dc75e2d4f43f5df","dweb:/ipfs/QmSYuH1AhvJkPK8hNvoPqtExBcgTB42pPRHgTHkS5c5zYW"],"license":"MIT"}},"version":1},"id":254}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122039c0e143acdd7c6f4ae705b65e7f50bad4f636c034c447d3aa2f29d0b54873f764736f6c63430008140033","sourceMap":"1329:11630:255:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1329:11630:255;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122039c0e143acdd7c6f4ae705b65e7f50bad4f636c034c447d3aa2f29d0b54873f764736f6c63430008140033","sourceMap":"1329:11630:255:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ```solidity contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported. [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an array of EnumerableSet. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":\"EnumerableSet\"},\"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/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20bf19b2b851f58a4c24543de80ae70b3e08621f9230eb335dc75e2d4f43f5df\",\"dweb:/ipfs/QmSYuH1AhvJkPK8hNvoPqtExBcgTB42pPRHgTHkS5c5zYW\"]}},\"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/utils/structs/EnumerableSet.sol":"EnumerableSet"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514","urls":["bzz-raw://20bf19b2b851f58a4c24543de80ae70b3e08621f9230eb335dc75e2d4f43f5df","dweb:/ipfs/QmSYuH1AhvJkPK8hNvoPqtExBcgTB42pPRHgTHkS5c5zYW"],"license":"MIT"}},"version":1},"id":255}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"deposit","inputs":[{"name":"payee","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":"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":"withdraw","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"Withdrawn","inputs":[{"name":"payee","type":"address","indexed":true,"internalType":"address"},{"name":"weiAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506100193361001e565b61006d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104f78061007a5f395ff3fe608060405260043610610054575f3560e01c806351cff8d914610058578063715018a6146100795780638da5cb5b1461008d578063e3a9db1a146100b8578063f2fde38b146100fa578063f340fa0114610119575b5f80fd5b348015610063575f80fd5b5061007761007236600461047a565b61012c565b005b348015610084575f80fd5b506100776101a2565b348015610098575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b3480156100c3575f80fd5b506100ec6100d236600461047a565b6001600160a01b03165f9081526001602052604090205490565b6040519081526020016100af565b348015610105575f80fd5b5061007761011436600461047a565b6101b5565b61007761012736600461047a565b610233565b6101346102a4565b6001600160a01b0381165f81815260016020526040812080549190559061015b90826102fd565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161019691815260200190565b60405180910390a25050565b6101aa6102a4565b6101b35f610417565b565b6101bd6102a4565b6001600160a01b0381166102275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023081610417565b50565b61023b6102a4565b6001600160a01b0381165f9081526001602052604081208054349283929161026490849061049c565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610196565b5f546001600160a01b031633146101b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161021e565b8047101561034d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161021e565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610396576040519150601f19603f3d011682016040523d82523d5f602084013e61039b565b606091505b50509050806104125760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161021e565b505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610230575f80fd5b5f6020828403121561048a575f80fd5b813561049581610466565b9392505050565b808201808211156104bb57634e487b7160e01b5f52601160045260245ffd5b9291505056fea264697066735822122058a1ce5270093d3cebc9f71209bd8bbcee97563818a542c53a98d8aaec54479a64736f6c63430008140033","sourceMap":"825:1428:238:-:0;;;;;;;;;;;;-1:-1:-1;936:32:9;734:10:224;936:18:9;:32::i;:::-;825:1428:238;;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;825:1428:238:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610054575f3560e01c806351cff8d914610058578063715018a6146100795780638da5cb5b1461008d578063e3a9db1a146100b8578063f2fde38b146100fa578063f340fa0114610119575b5f80fd5b348015610063575f80fd5b5061007761007236600461047a565b61012c565b005b348015610084575f80fd5b506100776101a2565b348015610098575f80fd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b3480156100c3575f80fd5b506100ec6100d236600461047a565b6001600160a01b03165f9081526001602052604090205490565b6040519081526020016100af565b348015610105575f80fd5b5061007761011436600461047a565b6101b5565b61007761012736600461047a565b610233565b6101346102a4565b6001600160a01b0381165f81815260016020526040812080549190559061015b90826102fd565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58260405161019691815260200190565b60405180910390a25050565b6101aa6102a4565b6101b35f610417565b565b6101bd6102a4565b6001600160a01b0381166102275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023081610417565b50565b61023b6102a4565b6001600160a01b0381165f9081526001602052604081208054349283929161026490849061049c565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602001610196565b5f546001600160a01b031633146101b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161021e565b8047101561034d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161021e565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610396576040519150601f19603f3d011682016040523d82523d5f602084013e61039b565b606091505b50509050806104125760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161021e565b505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610230575f80fd5b5f6020828403121561048a575f80fd5b813561049581610466565b9392505050565b808201808211156104bb57634e487b7160e01b5f52601160045260245ffd5b9291505056fea264697066735822122058a1ce5270093d3cebc9f71209bd8bbcee97563818a542c53a98d8aaec54479a64736f6c63430008140033","sourceMap":"825:1428:238:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2027:224;;;;;;;;;;-1:-1:-1;2027:224:238;;;;;:::i;:::-;;:::i;:::-;;1824:101:9;;;;;;;;;;;;;:::i;1201:85::-;;;;;;;;;;-1:-1:-1;1247:7:9;1273:6;1201:85;;-1:-1:-1;;;;;1273:6:9;;;572:51:310;;560:2;545:18;1201:85:9;;;;;;;;1077:105:238;;;;;;;;;;-1:-1:-1;1077:105:238;;;;;:::i;:::-;-1:-1:-1;;;;;1159:16:238;1133:7;1159:16;;;:9;:16;;;;;;;1077:105;;;;1040:25:310;;;1028:2;1013:18;1077:105:238;894:177:310;2074:198:9;;;;;;;;;;-1:-1:-1;2074:198:9;;;;;:::i;:::-;;:::i;1365:183:238:-;;;;;;:::i;:::-;;:::i;2027:224::-;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;;;;1040::310::0;;1028:2;1013:18;;894:177;2219:25:238::1;;;;;;;;2093:158;2027:224:::0;:::o;1824:101:9:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2074:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:9;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:9;;1278:2:310;2154:73:9::1;::::0;::::1;1260:21:310::0;1317:2;1297:18;;;1290:30;1356:34;1336:18;;;1329:62;-1:-1:-1;;;1407:18:310;;;1400:36;1453:19;;2154:73:9::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::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;1040:25:310;;;-1:-1:-1;;;;;1517:24:238;::::1;::::0;::::1;::::0;1028:2:310;1013:18;1517:24:238::1;894:177:310::0;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;;1912:2:310;1414:68:9;;;1894:21:310;;;1931:18;;;1924:30;1990:34;1970:18;;;1963:62;2042:18;;1414:68:9;1710:356:310;2647:312:220;2761:6;2736:21;:31;;2728:73;;;;-1:-1:-1;;;2728:73:220;;2273:2:310;2728:73:220;;;2255:21:310;2312:2;2292:18;;;2285:30;2351:31;2331:18;;;2324:59;2400:18;;2728:73:220;2071: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;;2841:2:310;2874:78:220;;;2823:21:310;2880:2;2860:18;;;2853:30;2919:34;2899:18;;;2892:62;2990:28;2970:18;;;2963:56;3036:19;;2874:78:220;2639:422:310;2874:78:220;2718:241;2647:312;;:::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;14:139:310:-;-1:-1:-1;;;;;97:31:310;;87:42;;77:70;;143:1;140;133:12;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;1483:222::-;1548:9;;;1569:10;;;1566:133;;;1621:10;1616:3;1612:20;1609:1;1602:31;1656:4;1653:1;1646:15;1684:4;1681:1;1674:15;1566:133;1483:222;;;;:::o","linkReferences":{}},"methodIdentifiers":{"deposit(address)":"f340fa01","depositsOf(address)":"e3a9db1a","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","withdraw(address)":"51cff8d9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"payee\",\"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\":\"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\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Base escrow contract, holds funds designated for a payee until they withdraw them. Intended usage: This contract (and derived escrow contracts) should be a standalone contract, that only interacts with the contract that instantiated it. That way, it is guaranteed that all Ether will be handled according to the `Escrow` rules, and there is no need to check for payable functions or transfers in the inheritance tree. The contract that uses the escrow as its payment method should be its owner, and provide public methods redirecting to the escrow's deposit and withdraw.\",\"kind\":\"dev\",\"methods\":{\"deposit(address)\":{\"details\":\"Stores the sent amount as credit to be withdrawn.\",\"params\":{\"payee\":\"The destination address of the funds. Emits a {Deposited} event.\"}},\"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.\"},\"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.\"}}},\"title\":\"Escrow\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":\"Escrow\"},\"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/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":"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":[{"internalType":"address","name":"payee","type":"address","indexed":true},{"internalType":"uint256","name":"weiAmount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"address","name":"payee","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":"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":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"kind":"dev","methods":{"deposit(address)":{"details":"Stores the sent amount as credit to be withdrawn.","params":{"payee":"The destination address of the funds. Emits a {Deposited} event."}},"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."},"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."}}},"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/Escrow.sol":"Escrow"},"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/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"}},"version":1},"id":238}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"setAcceptEther","inputs":[{"name":"acceptEther","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060b68061001c5f395ff3fe608060405260043610601e575f3560e01c80634fea120c146034575f80fd5b366030575f5460ff16602e575f80fd5b005b5f80fd5b348015603e575f80fd5b50602e604a366004605c565b5f805460ff1916911515919091179055565b5f60208284031215606b575f80fd5b813580151581146079575f80fd5b939250505056fea26469706673582212203510e3baba451d35bc4818ab3c3d51a9a6b2621aeb15588fd4c0a3e2a41bf51864736f6c63430008140033","sourceMap":"58:260:95:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610601e575f3560e01c80634fea120c146034575f80fd5b366030575f5460ff16602e575f80fd5b005b5f80fd5b348015603e575f80fd5b50602e604a366004605c565b5f805460ff1916911515919091179055565b5f60208284031215606b575f80fd5b813580151581146079575f80fd5b939250505056fea26469706673582212203510e3baba451d35bc4818ab3c3d51a9a6b2621aeb15588fd4c0a3e2a41bf51864736f6c63430008140033","sourceMap":"58:260:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;263:12;;;;258:52;;291:8;;;258:52;58:260;;;;;123:92;;;;;;;;;;-1:-1:-1;123:92:95;;;;;:::i;:::-;182:12;:26;;-1:-1:-1;;182:26:95;;;;;;;;;;123:92;14:273:310;70:6;123:2;111:9;102:7;98:23;94:32;91:52;;;139:1;136;129:12;91:52;178:9;165:23;231:5;224:13;217:21;210:5;207:32;197:60;;253:1;250;243:12;197:60;276:5;14:273;-1:-1:-1;;;14:273:310:o","linkReferences":{}},"methodIdentifiers":{"setAcceptEther(bool)":"4fea120c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"acceptEther\",\"type\":\"bool\"}],\"name\":\"setAcceptEther\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol\":\"EtherReceiverMock\"},\"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/EtherReceiverMock.sol\":{\"keccak256\":\"0x2b2eac73b765fa6205a9b1febca804b28c0eba82a2fd7f020058cbe08e93b550\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a00aadb085d43625d9dd5c001fc59693fab691c971d71f0a113f45f01427f447\",\"dweb:/ipfs/QmVkZxkBEZAiK3aYcLRjEmF2VFapJhZLKgWvMwF6AXb583\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bool","name":"acceptEther","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAcceptEther"},{"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/mocks/EtherReceiverMock.sol":"EtherReceiverMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol":{"keccak256":"0x2b2eac73b765fa6205a9b1febca804b28c0eba82a2fd7f020058cbe08e93b550","urls":["bzz-raw://a00aadb085d43625d9dd5c001fc59693fab691c971d71f0a113f45f01427f447","dweb:/ipfs/QmVkZxkBEZAiK3aYcLRjEmF2VFapJhZLKgWvMwF6AXb583"],"license":"MIT"}},"version":1},"id":95}