@opensea/seaport-js 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/abi/DomainRegistry.js +1 -1
- package/lib/abi/DomainRegistry.js.map +1 -1
- package/lib/abi/ERC1155.js +1 -1
- package/lib/abi/ERC1155.js.map +1 -1
- package/lib/abi/ERC20.js +1 -1
- package/lib/abi/ERC20.js.map +1 -1
- package/lib/abi/ERC721.js +1 -1
- package/lib/abi/ERC721.js.map +1 -1
- package/lib/abi/Seaport_v1_4.js +1 -1
- package/lib/abi/Seaport_v1_4.js.map +1 -1
- package/lib/constants.js +4 -5
- package/lib/constants.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/seaport.d.ts +1 -1
- package/lib/seaport.js +405 -676
- package/lib/seaport.js.map +1 -1
- package/lib/typechain-types/@rari-capital/index.d.ts +2 -0
- package/lib/typechain-types/@rari-capital/index.js +3 -0
- package/lib/typechain-types/@rari-capital/index.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/index.d.ts +2 -0
- package/lib/typechain-types/@rari-capital/solmate/index.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/index.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/index.d.ts +2 -0
- package/lib/typechain-types/@rari-capital/solmate/src/index.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/index.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.d.ts +189 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.d.ts +66 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/index.d.ts +2 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/index.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/index.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC20.d.ts +202 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC20.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC20.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.d.ts +227 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.d.ts +50 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/index.d.ts +2 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/index.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/index.js.map +1 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/index.d.ts +5 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/index.js +3 -0
- package/lib/typechain-types/@rari-capital/solmate/src/tokens/index.js.map +1 -0
- package/lib/typechain-types/common.d.ts +21 -0
- package/lib/typechain-types/common.js +3 -0
- package/lib/typechain-types/common.js.map +1 -0
- package/lib/typechain-types/domain-registry/contracts/DomainRegistry.d.ts +97 -0
- package/lib/typechain-types/domain-registry/contracts/DomainRegistry.js +3 -0
- package/lib/typechain-types/domain-registry/contracts/DomainRegistry.js.map +1 -0
- package/lib/typechain-types/domain-registry/contracts/index.d.ts +3 -0
- package/lib/typechain-types/domain-registry/contracts/index.js +3 -0
- package/lib/typechain-types/domain-registry/contracts/index.js.map +1 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/DomainRegistryInterface.d.ts +97 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/DomainRegistryInterface.js +3 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/DomainRegistryInterface.js.map +1 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/index.d.ts +1 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/index.js +3 -0
- package/lib/typechain-types/domain-registry/contracts/interfaces/index.js.map +1 -0
- package/lib/typechain-types/domain-registry/index.d.ts +2 -0
- package/lib/typechain-types/domain-registry/index.js +3 -0
- package/lib/typechain-types/domain-registry/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/index.d.ts +1 -0
- package/lib/typechain-types/factories/@rari-capital/index.js +8 -0
- package/lib/typechain-types/factories/@rari-capital/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/index.d.ts +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/index.js +8 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/index.d.ts +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/index.js +8 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.d.ts +68 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.js +98 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.d.ts +251 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.js +332 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/index.d.ts +2 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/index.js +11 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.d.ts +236 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.js +317 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.d.ts +34 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.js +54 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.d.ts +262 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.js +350 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/index.d.ts +2 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/index.js +11 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/index.d.ts +3 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/index.js +11 -0
- package/lib/typechain-types/factories/@rari-capital/solmate/src/tokens/index.js.map +1 -0
- package/lib/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.d.ts +124 -0
- package/lib/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.js +181 -0
- package/lib/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.js.map +1 -0
- package/lib/typechain-types/factories/domain-registry/contracts/index.d.ts +2 -0
- package/lib/typechain-types/factories/domain-registry/contracts/index.js +10 -0
- package/lib/typechain-types/factories/domain-registry/contracts/index.js.map +1 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.d.ts +112 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.js +158 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/index.d.ts +1 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/index.js +9 -0
- package/lib/typechain-types/factories/domain-registry/contracts/interfaces/index.js.map +1 -0
- package/lib/typechain-types/factories/domain-registry/index.d.ts +1 -0
- package/lib/typechain-types/factories/domain-registry/index.js +8 -0
- package/lib/typechain-types/factories/domain-registry/index.js.map +1 -0
- package/lib/typechain-types/factories/index.d.ts +7 -0
- package/lib/typechain-types/factories/index.js +14 -0
- package/lib/typechain-types/factories/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport-core/index.js +8 -0
- package/lib/typechain-types/factories/seaport-core/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.d.ts +349 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.js +478 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.d.ts +315 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.js +427 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/index.d.ts +2 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/index.js +11 -0
- package/lib/typechain-types/factories/seaport-core/src/conduit/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/index.d.ts +2 -0
- package/lib/typechain-types/factories/seaport-core/src/index.js +9 -0
- package/lib/typechain-types/factories/seaport-core/src/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.d.ts +24 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.js +48 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Assertions__factory.d.ts +480 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Assertions__factory.js +637 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Assertions__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.d.ts +516 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.js +685 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.d.ts +380 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.js +507 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Consideration__factory.d.ts +2292 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Consideration__factory.js +2977 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Consideration__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.d.ts +376 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.js +501 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.d.ts +68 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.js +106 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Executor__factory.d.ts +500 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Executor__factory.js +663 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Executor__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.d.ts +44 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.js +75 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.d.ts +380 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.js +507 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.d.ts +592 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.js +785 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.d.ts +568 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.js +753 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.d.ts +516 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.js +685 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.d.ts +28 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.js +53 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.d.ts +40 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.js +69 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.d.ts +116 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.js +168 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.d.ts +500 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.js +663 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.d.ts +36 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.js +65 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/index.d.ts +18 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/index.js +43 -0
- package/lib/typechain-types/factories/seaport-core/src/lib/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport-types/index.js +8 -0
- package/lib/typechain-types/factories/seaport-types/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport-types/src/index.js +8 -0
- package/lib/typechain-types/factories/seaport-types/src/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.d.ts +12 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.js +25 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.d.ts +333 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.js +450 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.d.ts +203 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.js +274 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.d.ts +360 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.js +473 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.d.ts +1705 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.js +2208 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.d.ts +56 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.js +83 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.d.ts +32 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.js +52 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.d.ts +12 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.js +25 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.d.ts +28 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.js +46 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.d.ts +104 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.js +145 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.d.ts +24 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.js +42 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/index.d.ts +11 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/index.js +29 -0
- package/lib/typechain-types/factories/seaport-types/src/interfaces/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.d.ts +2292 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.js +2977 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.d.ts +311 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.js +422 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/index.js +9 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.d.ts +345 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js +473 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/index.js +9 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/index.d.ts +2 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/index.js +9 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/conduit/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/index.d.ts +2 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/index.js +10 -0
- package/lib/typechain-types/factories/seaport_v1_4/contracts/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport_v1_4/index.js +8 -0
- package/lib/typechain-types/factories/seaport_v1_4/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.d.ts +2292 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.js +2977 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/index.d.ts +2 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/index.js +10 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.d.ts +12 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.js +27 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.d.ts +333 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.js +452 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.d.ts +203 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.js +276 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.d.ts +360 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.js +475 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.d.ts +1705 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.js +2210 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.d.ts +56 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.js +85 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.d.ts +32 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.js +54 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.d.ts +12 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.js +27 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.d.ts +28 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.js +48 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.d.ts +104 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.js +147 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.d.ts +24 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.js +42 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.js +9 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.d.ts +24 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.js +95 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.d.ts +480 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.js +684 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.d.ts +516 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.js +732 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.d.ts +380 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.js +554 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.d.ts +2292 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.js +3024 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.d.ts +376 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.js +548 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.d.ts +68 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.js +153 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.d.ts +500 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.js +710 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.d.ts +44 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.js +122 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.d.ts +380 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.js +554 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.d.ts +592 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.js +832 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.d.ts +568 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.js +800 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.d.ts +516 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.js +732 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.d.ts +28 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.js +100 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.d.ts +40 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.js +116 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.d.ts +116 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.js +215 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.d.ts +500 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.js +710 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.d.ts +36 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.js +112 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.d.ts +18 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.js +43 -0
- package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.js.map +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/index.d.ts +1 -0
- package/lib/typechain-types/factories/seaport_v1_5/index.js +8 -0
- package/lib/typechain-types/factories/seaport_v1_5/index.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/index.d.ts +1 -0
- package/lib/typechain-types/factories/src/contracts/index.js +8 -0
- package/lib/typechain-types/factories/src/contracts/index.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1155__factory.d.ts +285 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1155__factory.js +384 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC1155__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.d.ts +290 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.js +395 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20__factory.d.ts +290 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20__factory.js +395 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC20__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.d.ts +292 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.js +444 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.d.ts +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.js +9 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721__factory.d.ts +292 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721__factory.js +397 -0
- package/lib/typechain-types/factories/src/contracts/test/TestERC721__factory.js.map +1 -0
- package/lib/typechain-types/factories/src/contracts/test/index.d.ts +4 -0
- package/lib/typechain-types/factories/src/contracts/test/index.js +15 -0
- package/lib/typechain-types/factories/src/contracts/test/index.js.map +1 -0
- package/lib/typechain-types/factories/src/index.d.ts +1 -0
- package/lib/typechain-types/factories/src/index.js +8 -0
- package/lib/typechain-types/factories/src/index.js.map +1 -0
- package/lib/typechain-types/index.d.ts +105 -0
- package/lib/typechain-types/index.js +95 -0
- package/lib/typechain-types/index.js.map +1 -0
- package/lib/typechain-types/seaport-core/index.d.ts +2 -0
- package/lib/typechain-types/seaport-core/index.js +3 -0
- package/lib/typechain-types/seaport-core/index.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/conduit/Conduit.d.ts +156 -0
- package/lib/typechain-types/seaport-core/src/conduit/Conduit.js +3 -0
- package/lib/typechain-types/seaport-core/src/conduit/Conduit.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/conduit/ConduitController.d.ts +268 -0
- package/lib/typechain-types/seaport-core/src/conduit/ConduitController.js +3 -0
- package/lib/typechain-types/seaport-core/src/conduit/ConduitController.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/conduit/index.d.ts +2 -0
- package/lib/typechain-types/seaport-core/src/conduit/index.js +3 -0
- package/lib/typechain-types/seaport-core/src/conduit/index.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/index.d.ts +4 -0
- package/lib/typechain-types/seaport-core/src/index.js +3 -0
- package/lib/typechain-types/seaport-core/src/index.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/AmountDeriver.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/AmountDeriver.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/AmountDeriver.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/Assertions.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/Assertions.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/Assertions.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/BasicOrderFulfiller.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/BasicOrderFulfiller.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/BasicOrderFulfiller.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/Consideration.d.ts +711 -0
- package/lib/typechain-types/seaport-core/src/lib/Consideration.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/Consideration.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/ConsiderationBase.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/ConsiderationBase.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/ConsiderationBase.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/CounterManager.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/CounterManager.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/CounterManager.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/CriteriaResolution.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/CriteriaResolution.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/CriteriaResolution.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/Executor.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/Executor.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/Executor.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/FulfillmentApplier.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/FulfillmentApplier.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/FulfillmentApplier.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/GettersAndDerivers.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/GettersAndDerivers.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/GettersAndDerivers.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderCombiner.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderCombiner.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderCombiner.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderFulfiller.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderFulfiller.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderFulfiller.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderValidator.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderValidator.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/OrderValidator.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/ReentrancyGuard.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/ReentrancyGuard.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/ReentrancyGuard.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/SignatureVerification.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/SignatureVerification.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/SignatureVerification.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/TokenTransferrer.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/TokenTransferrer.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/TokenTransferrer.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/Verifiers.d.ts +216 -0
- package/lib/typechain-types/seaport-core/src/lib/Verifiers.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/Verifiers.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/ZoneInteraction.d.ts +27 -0
- package/lib/typechain-types/seaport-core/src/lib/ZoneInteraction.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/ZoneInteraction.js.map +1 -0
- package/lib/typechain-types/seaport-core/src/lib/index.d.ts +18 -0
- package/lib/typechain-types/seaport-core/src/lib/index.js +3 -0
- package/lib/typechain-types/seaport-core/src/lib/index.js.map +1 -0
- package/lib/typechain-types/seaport-types/index.d.ts +2 -0
- package/lib/typechain-types/seaport-types/index.js +3 -0
- package/lib/typechain-types/seaport-types/index.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/index.d.ts +2 -0
- package/lib/typechain-types/seaport-types/src/index.js +3 -0
- package/lib/typechain-types/seaport-types/src/index.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/AmountDerivationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/AmountDerivationErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/AmountDerivationErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitControllerInterface.d.ts +268 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitControllerInterface.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitControllerInterface.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitInterface.d.ts +156 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitInterface.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConduitInterface.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationEventsAndErrors.d.ts +216 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationEventsAndErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationEventsAndErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationInterface.d.ts +638 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationInterface.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ConsiderationInterface.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/CriteriaResolutionErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/CriteriaResolutionErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/CriteriaResolutionErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/FulfillmentApplicationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/FulfillmentApplicationErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/FulfillmentApplicationErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ReentrancyErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ReentrancyErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ReentrancyErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/SignatureVerificationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/SignatureVerificationErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/SignatureVerificationErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/TokenTransferrerErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/TokenTransferrerErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/TokenTransferrerErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ZoneInteractionErrors.d.ts +27 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ZoneInteractionErrors.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/ZoneInteractionErrors.js.map +1 -0
- package/lib/typechain-types/seaport-types/src/interfaces/index.d.ts +11 -0
- package/lib/typechain-types/seaport-types/src/interfaces/index.js +3 -0
- package/lib/typechain-types/seaport-types/src/interfaces/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/Seaport.d.ts +711 -0
- package/lib/typechain-types/seaport_v1_4/contracts/Seaport.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/Seaport.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.d.ts +156 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/index.d.ts +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/index.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.d.ts +268 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/index.d.ts +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/index.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/index.d.ts +4 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/index.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/conduit/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/contracts/index.d.ts +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/index.js +3 -0
- package/lib/typechain-types/seaport_v1_4/contracts/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_4/index.d.ts +2 -0
- package/lib/typechain-types/seaport_v1_4/index.js +3 -0
- package/lib/typechain-types/seaport_v1_4/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/Seaport.d.ts +711 -0
- package/lib/typechain-types/seaport_v1_5/contracts/Seaport.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/Seaport.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/index.d.ts +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/index.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.d.ts +268 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.d.ts +156 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.d.ts +638 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.d.ts +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.d.ts +711 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.d.ts +216 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.d.ts +27 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/index.d.ts +18 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/index.js +3 -0
- package/lib/typechain-types/seaport_v1_5/contracts/lib/index.js.map +1 -0
- package/lib/typechain-types/seaport_v1_5/index.d.ts +2 -0
- package/lib/typechain-types/seaport_v1_5/index.js +3 -0
- package/lib/typechain-types/seaport_v1_5/index.js.map +1 -0
- package/lib/typechain-types/src/contracts/index.d.ts +2 -0
- package/lib/typechain-types/src/contracts/index.js +3 -0
- package/lib/typechain-types/src/contracts/index.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC1155.d.ts +205 -0
- package/lib/typechain-types/src/contracts/test/TestERC1155.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC1155.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC20.d.ts +242 -0
- package/lib/typechain-types/src/contracts/test/TestERC20.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC20.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC20USDC.d.ts +242 -0
- package/lib/typechain-types/src/contracts/test/TestERC20USDC.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC20USDC.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.d.ts +243 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.d.ts +243 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.d.ts +1 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.js +3 -0
- package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.js.map +1 -0
- package/lib/typechain-types/src/contracts/test/index.d.ts +4 -0
- package/lib/typechain-types/src/contracts/test/index.js +3 -0
- package/lib/typechain-types/src/contracts/test/index.js.map +1 -0
- package/lib/typechain-types/src/index.d.ts +2 -0
- package/lib/typechain-types/src/index.js +3 -0
- package/lib/typechain-types/src/index.js.map +1 -0
- package/lib/types.d.ts +7 -9
- package/lib/utils/approval.d.ts +1 -1
- package/lib/utils/approval.js +53 -92
- package/lib/utils/approval.js.map +1 -1
- package/lib/utils/balance.js +37 -69
- package/lib/utils/balance.js.map +1 -1
- package/lib/utils/balanceAndApprovalCheck.js +91 -193
- package/lib/utils/balanceAndApprovalCheck.js.map +1 -1
- package/lib/utils/criteria.js +36 -76
- package/lib/utils/criteria.js.map +1 -1
- package/lib/utils/eip712/Eip712MerkleTree.js +64 -101
- package/lib/utils/eip712/Eip712MerkleTree.js.map +1 -1
- package/lib/utils/eip712/bulk-orders.js +21 -56
- package/lib/utils/eip712/bulk-orders.js.map +1 -1
- package/lib/utils/eip712/defaults.js +28 -61
- package/lib/utils/eip712/defaults.js.map +1 -1
- package/lib/utils/eip712/utils.js +17 -49
- package/lib/utils/eip712/utils.js.map +1 -1
- package/lib/utils/fulfill.d.ts +4 -4
- package/lib/utils/fulfill.js +305 -463
- package/lib/utils/fulfill.js.map +1 -1
- package/lib/utils/gcd.js +7 -7
- package/lib/utils/gcd.js.map +1 -1
- package/lib/utils/item.js +37 -92
- package/lib/utils/item.js.map +1 -1
- package/lib/utils/merkletree.js +11 -17
- package/lib/utils/merkletree.js.map +1 -1
- package/lib/utils/order.d.ts +1 -2
- package/lib/utils/order.js +50 -103
- package/lib/utils/order.js.map +1 -1
- package/lib/utils/usecase.d.ts +2 -2
- package/lib/utils/usecase.js +46 -146
- package/lib/utils/usecase.js.map +1 -1
- package/package.json +42 -63
- package/src/abi/DomainRegistry.ts +142 -0
- package/src/abi/ERC1155.ts +316 -0
- package/src/abi/ERC20.ts +314 -0
- package/src/abi/ERC721.ts +334 -0
- package/src/abi/Seaport_v1_4.ts +2815 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.dbg.json +4 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.json +323 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.dbg.json +4 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.json +89 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC20.sol/ERC20.dbg.json +4 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC20.sol/ERC20.json +308 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.dbg.json +4 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.json +341 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.dbg.json +4 -0
- package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.json +45 -0
- package/src/artifacts/build-info/8ec2a72c7ffed75938dc5db96ad993ab.json +1 -0
- package/src/artifacts/build-info/adb0dc5cdbe2af0ab1658ae96afea5af.json +1 -0
- package/src/artifacts/build-info/c314db703fc0cbcdaeb2d52354fe2c12.json +1 -0
- package/src/artifacts/domain-registry/contracts/DomainRegistry.sol/DomainRegistry.dbg.json +4 -0
- package/src/artifacts/domain-registry/contracts/DomainRegistry.sol/DomainRegistry.json +149 -0
- package/src/artifacts/domain-registry/contracts/interfaces/DomainRegistryInterface.sol/DomainRegistryInterface.dbg.json +4 -0
- package/src/artifacts/domain-registry/contracts/interfaces/DomainRegistryInterface.sol/DomainRegistryInterface.json +149 -0
- package/src/artifacts/seaport-core/src/conduit/Conduit.sol/Conduit.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/conduit/Conduit.sol/Conduit.json +395 -0
- package/src/artifacts/seaport-core/src/conduit/ConduitController.sol/ConduitController.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/conduit/ConduitController.sol/ConduitController.json +446 -0
- package/src/artifacts/seaport-core/src/lib/AmountDeriver.sol/AmountDeriver.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/AmountDeriver.sol/AmountDeriver.json +16 -0
- package/src/artifacts/seaport-core/src/lib/Assertions.sol/Assertions.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/Assertions.sol/Assertions.json +605 -0
- package/src/artifacts/seaport-core/src/lib/BasicOrderFulfiller.sol/BasicOrderFulfiller.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/BasicOrderFulfiller.sol/BasicOrderFulfiller.json +653 -0
- package/src/artifacts/seaport-core/src/lib/Consideration.sol/Consideration.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/Consideration.sol/Consideration.json +2945 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationBase.sol/ConsiderationBase.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationBase.sol/ConsiderationBase.json +475 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationDecoder.sol/ConsiderationDecoder.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationDecoder.sol/ConsiderationDecoder.json +10 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationEncoder.sol/ConsiderationEncoder.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/ConsiderationEncoder.sol/ConsiderationEncoder.json +10 -0
- package/src/artifacts/seaport-core/src/lib/CounterManager.sol/CounterManager.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/CounterManager.sol/CounterManager.json +469 -0
- package/src/artifacts/seaport-core/src/lib/CriteriaResolution.sol/CriteriaResolution.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/CriteriaResolution.sol/CriteriaResolution.json +74 -0
- package/src/artifacts/seaport-core/src/lib/Executor.sol/Executor.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/Executor.sol/Executor.json +631 -0
- package/src/artifacts/seaport-core/src/lib/FulfillmentApplier.sol/FulfillmentApplier.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/FulfillmentApplier.sol/FulfillmentApplier.json +43 -0
- package/src/artifacts/seaport-core/src/lib/GettersAndDerivers.sol/GettersAndDerivers.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/GettersAndDerivers.sol/GettersAndDerivers.json +475 -0
- package/src/artifacts/seaport-core/src/lib/LowLevelHelpers.sol/LowLevelHelpers.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/LowLevelHelpers.sol/LowLevelHelpers.json +10 -0
- package/src/artifacts/seaport-core/src/lib/OrderCombiner.sol/OrderCombiner.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/OrderCombiner.sol/OrderCombiner.json +753 -0
- package/src/artifacts/seaport-core/src/lib/OrderFulfiller.sol/OrderFulfiller.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/OrderFulfiller.sol/OrderFulfiller.json +721 -0
- package/src/artifacts/seaport-core/src/lib/OrderValidator.sol/OrderValidator.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/OrderValidator.sol/OrderValidator.json +653 -0
- package/src/artifacts/seaport-core/src/lib/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/ReentrancyGuard.sol/ReentrancyGuard.json +21 -0
- package/src/artifacts/seaport-core/src/lib/SignatureVerification.sol/SignatureVerification.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/SignatureVerification.sol/SignatureVerification.json +37 -0
- package/src/artifacts/seaport-core/src/lib/TokenTransferrer.sol/TokenTransferrer.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/TokenTransferrer.sol/TokenTransferrer.json +136 -0
- package/src/artifacts/seaport-core/src/lib/Verifiers.sol/Verifiers.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/Verifiers.sol/Verifiers.json +631 -0
- package/src/artifacts/seaport-core/src/lib/ZoneInteraction.sol/ZoneInteraction.dbg.json +4 -0
- package/src/artifacts/seaport-core/src/lib/ZoneInteraction.sol/ZoneInteraction.json +33 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataPointerLib.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataPointerLib.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataReaders.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataReaders.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryPointerLib.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryPointerLib.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryReaders.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryReaders.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryWriters.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryWriters.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataPointerLib.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataPointerLib.json +10 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataReaders.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataReaders.json +10 -0
- package/src/artifacts/seaport-types/src/interfaces/AmountDerivationErrors.sol/AmountDerivationErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/AmountDerivationErrors.sol/AmountDerivationErrors.json +16 -0
- package/src/artifacts/seaport-types/src/interfaces/ConduitControllerInterface.sol/ConduitControllerInterface.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ConduitControllerInterface.sol/ConduitControllerInterface.json +441 -0
- package/src/artifacts/seaport-types/src/interfaces/ConduitInterface.sol/ConduitInterface.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ConduitInterface.sol/ConduitInterface.json +265 -0
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationEventsAndErrors.sol/ConsiderationEventsAndErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationEventsAndErrors.sol/ConsiderationEventsAndErrors.json +464 -0
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationInterface.sol/ConsiderationInterface.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ConsiderationInterface.sol/ConsiderationInterface.json +2199 -0
- package/src/artifacts/seaport-types/src/interfaces/CriteriaResolutionErrors.sol/CriteriaResolutionErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/CriteriaResolutionErrors.sol/CriteriaResolutionErrors.json +74 -0
- package/src/artifacts/seaport-types/src/interfaces/FulfillmentApplicationErrors.sol/FulfillmentApplicationErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/FulfillmentApplicationErrors.sol/FulfillmentApplicationErrors.json +43 -0
- package/src/artifacts/seaport-types/src/interfaces/ReentrancyErrors.sol/ReentrancyErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ReentrancyErrors.sol/ReentrancyErrors.json +16 -0
- package/src/artifacts/seaport-types/src/interfaces/SignatureVerificationErrors.sol/SignatureVerificationErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/SignatureVerificationErrors.sol/SignatureVerificationErrors.json +37 -0
- package/src/artifacts/seaport-types/src/interfaces/TokenTransferrerErrors.sol/TokenTransferrerErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/TokenTransferrerErrors.sol/TokenTransferrerErrors.json +136 -0
- package/src/artifacts/seaport-types/src/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.json +33 -0
- package/src/artifacts/seaport-types/src/lib/ConsiderationStructs.sol/StructPointers.dbg.json +4 -0
- package/src/artifacts/seaport-types/src/lib/ConsiderationStructs.sol/StructPointers.json +10 -0
- package/src/artifacts/seaport_v1_4/contracts/Seaport.sol/Seaport.dbg.json +4 -0
- package/src/artifacts/seaport_v1_4/contracts/Seaport.sol/Seaport.json +2945 -0
- package/src/artifacts/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.dbg.json +4 -0
- package/src/artifacts/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.json +390 -0
- package/src/artifacts/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.dbg.json +4 -0
- package/src/artifacts/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.json +441 -0
- package/src/artifacts/seaport_v1_5/contracts/Seaport.sol/Seaport.dbg.json +4 -0
- package/src/artifacts/seaport_v1_5/contracts/Seaport.sol/Seaport.json +2945 -0
- package/src/artifacts/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.dbg.json +4 -0
- package/src/artifacts/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.json +33 -0
- package/src/artifacts/src/contracts/test/TestERC1155.sol/TestERC1155.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC1155.sol/TestERC1155.json +352 -0
- package/src/artifacts/src/contracts/test/TestERC20.sol/TestERC20.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC20.sol/TestERC20.json +363 -0
- package/src/artifacts/src/contracts/test/TestERC20USDC.sol/TestERC20USDC.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC20USDC.sol/TestERC20USDC.json +363 -0
- package/src/artifacts/src/contracts/test/TestERC721.sol/TestERC721.dbg.json +4 -0
- package/src/artifacts/src/contracts/test/TestERC721.sol/TestERC721.json +365 -0
- package/src/constants.ts +127 -0
- package/src/contracts/Conduit.sol +4 -0
- package/src/contracts/ConduitController.sol +4 -0
- package/src/contracts/DomainRegistry.sol +4 -0
- package/src/contracts/Seaport_v1_4.sol +4 -0
- package/src/contracts/Seaport_v1_5.sol +4 -0
- package/src/contracts/test/TestERC1155.sol +20 -0
- package/src/contracts/test/TestERC20.sol +36 -0
- package/src/contracts/test/TestERC20USDC.sol +36 -0
- package/src/contracts/test/TestERC721.sol +16 -0
- package/src/index.ts +3 -0
- package/src/seaport.ts +1139 -0
- package/src/typechain-types/@rari-capital/index.ts +5 -0
- package/src/typechain-types/@rari-capital/solmate/index.ts +5 -0
- package/src/typechain-types/@rari-capital/solmate/src/index.ts +5 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.ts +501 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.ts +181 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC1155.sol/index.ts +5 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC20.ts +471 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.ts +563 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.ts +120 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/ERC721.sol/index.ts +5 -0
- package/src/typechain-types/@rari-capital/solmate/src/tokens/index.ts +8 -0
- package/src/typechain-types/common.ts +44 -0
- package/src/typechain-types/domain-registry/contracts/DomainRegistry.ts +226 -0
- package/src/typechain-types/domain-registry/contracts/index.ts +6 -0
- package/src/typechain-types/domain-registry/contracts/interfaces/DomainRegistryInterface.ts +226 -0
- package/src/typechain-types/domain-registry/contracts/interfaces/index.ts +4 -0
- package/src/typechain-types/domain-registry/index.ts +5 -0
- package/src/typechain-types/factories/@rari-capital/index.ts +4 -0
- package/src/typechain-types/factories/@rari-capital/solmate/index.ts +4 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/index.ts +4 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver__factory.ts +108 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155__factory.ts +338 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC1155.sol/index.ts +5 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC20__factory.ts +320 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver__factory.ts +60 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721__factory.ts +353 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/ERC721.sol/index.ts +5 -0
- package/src/typechain-types/factories/@rari-capital/solmate/src/tokens/index.ts +6 -0
- package/src/typechain-types/factories/domain-registry/contracts/DomainRegistry__factory.ts +200 -0
- package/src/typechain-types/factories/domain-registry/contracts/index.ts +5 -0
- package/src/typechain-types/factories/domain-registry/contracts/interfaces/DomainRegistryInterface__factory.ts +168 -0
- package/src/typechain-types/factories/domain-registry/contracts/interfaces/index.ts +4 -0
- package/src/typechain-types/factories/domain-registry/index.ts +4 -0
- package/src/typechain-types/factories/index.ts +10 -0
- package/src/typechain-types/factories/seaport-core/index.ts +4 -0
- package/src/typechain-types/factories/seaport-core/src/conduit/ConduitController__factory.ts +497 -0
- package/src/typechain-types/factories/seaport-core/src/conduit/Conduit__factory.ts +444 -0
- package/src/typechain-types/factories/seaport-core/src/conduit/index.ts +5 -0
- package/src/typechain-types/factories/seaport-core/src/index.ts +5 -0
- package/src/typechain-types/factories/seaport-core/src/lib/AmountDeriver__factory.ts +67 -0
- package/src/typechain-types/factories/seaport-core/src/lib/Assertions__factory.ts +661 -0
- package/src/typechain-types/factories/seaport-core/src/lib/BasicOrderFulfiller__factory.ts +709 -0
- package/src/typechain-types/factories/seaport-core/src/lib/ConsiderationBase__factory.ts +531 -0
- package/src/typechain-types/factories/seaport-core/src/lib/Consideration__factory.ts +3001 -0
- package/src/typechain-types/factories/seaport-core/src/lib/CounterManager__factory.ts +520 -0
- package/src/typechain-types/factories/seaport-core/src/lib/CriteriaResolution__factory.ts +125 -0
- package/src/typechain-types/factories/seaport-core/src/lib/Executor__factory.ts +687 -0
- package/src/typechain-types/factories/seaport-core/src/lib/FulfillmentApplier__factory.ts +94 -0
- package/src/typechain-types/factories/seaport-core/src/lib/GettersAndDerivers__factory.ts +531 -0
- package/src/typechain-types/factories/seaport-core/src/lib/OrderCombiner__factory.ts +809 -0
- package/src/typechain-types/factories/seaport-core/src/lib/OrderFulfiller__factory.ts +777 -0
- package/src/typechain-types/factories/seaport-core/src/lib/OrderValidator__factory.ts +709 -0
- package/src/typechain-types/factories/seaport-core/src/lib/ReentrancyGuard__factory.ts +72 -0
- package/src/typechain-types/factories/seaport-core/src/lib/SignatureVerification__factory.ts +92 -0
- package/src/typechain-types/factories/seaport-core/src/lib/TokenTransferrer__factory.ts +187 -0
- package/src/typechain-types/factories/seaport-core/src/lib/Verifiers__factory.ts +687 -0
- package/src/typechain-types/factories/seaport-core/src/lib/ZoneInteraction__factory.ts +84 -0
- package/src/typechain-types/factories/seaport-core/src/lib/index.ts +21 -0
- package/src/typechain-types/factories/seaport-types/index.ts +4 -0
- package/src/typechain-types/factories/seaport-types/src/index.ts +4 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/AmountDerivationErrors__factory.ts +35 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ConduitControllerInterface__factory.ts +460 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ConduitInterface__factory.ts +280 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ConsiderationEventsAndErrors__factory.ts +483 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ConsiderationInterface__factory.ts +2218 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/CriteriaResolutionErrors__factory.ts +93 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/FulfillmentApplicationErrors__factory.ts +62 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ReentrancyErrors__factory.ts +31 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/SignatureVerificationErrors__factory.ts +56 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/TokenTransferrerErrors__factory.ts +155 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/ZoneInteractionErrors__factory.ts +52 -0
- package/src/typechain-types/factories/seaport-types/src/interfaces/index.ts +14 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/Seaport__factory.ts +2998 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit__factory.ts +441 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/conduit/Conduit.sol/index.ts +4 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController__factory.ts +496 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/conduit/ConduitController.sol/index.ts +4 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/conduit/index.ts +5 -0
- package/src/typechain-types/factories/seaport_v1_4/contracts/index.ts +5 -0
- package/src/typechain-types/factories/seaport_v1_4/index.ts +4 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/Seaport__factory.ts +2998 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/index.ts +5 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.ts +35 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.ts +460 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.ts +280 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.ts +483 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.ts +2218 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.ts +93 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.ts +62 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.ts +31 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.ts +56 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.ts +155 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.ts +52 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.ts +4 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.ts +67 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.ts +661 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.ts +709 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.ts +531 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.ts +3001 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.ts +520 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.ts +125 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.ts +687 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.ts +94 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.ts +531 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.ts +809 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.ts +777 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.ts +709 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.ts +72 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.ts +92 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.ts +187 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.ts +687 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.ts +84 -0
- package/src/typechain-types/factories/seaport_v1_5/contracts/lib/index.ts +21 -0
- package/src/typechain-types/factories/seaport_v1_5/index.ts +4 -0
- package/src/typechain-types/factories/src/contracts/index.ts +4 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC1155__factory.ts +403 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC20USDC__factory.ts +414 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC20__factory.ts +414 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.ts +416 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.ts +4 -0
- package/src/typechain-types/factories/src/contracts/test/TestERC721__factory.ts +416 -0
- package/src/typechain-types/factories/src/contracts/test/index.ts +7 -0
- package/src/typechain-types/factories/src/index.ts +4 -0
- package/src/typechain-types/hardhat.d.ts +456 -0
- package/src/typechain-types/index.ts +108 -0
- package/src/typechain-types/seaport-core/index.ts +5 -0
- package/src/typechain-types/seaport-core/src/conduit/Conduit.ts +295 -0
- package/src/typechain-types/seaport-core/src/conduit/ConduitController.ts +612 -0
- package/src/typechain-types/seaport-core/src/conduit/index.ts +5 -0
- package/src/typechain-types/seaport-core/src/index.ts +7 -0
- package/src/typechain-types/seaport-core/src/lib/AmountDeriver.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/Assertions.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/BasicOrderFulfiller.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/Consideration.ts +1211 -0
- package/src/typechain-types/seaport-core/src/lib/ConsiderationBase.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/CounterManager.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/CriteriaResolution.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/Executor.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/FulfillmentApplier.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/GettersAndDerivers.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/OrderCombiner.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/OrderFulfiller.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/OrderValidator.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/ReentrancyGuard.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/SignatureVerification.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/TokenTransferrer.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/Verifiers.ts +313 -0
- package/src/typechain-types/seaport-core/src/lib/ZoneInteraction.ts +55 -0
- package/src/typechain-types/seaport-core/src/lib/index.ts +21 -0
- package/src/typechain-types/seaport-types/index.ts +5 -0
- package/src/typechain-types/seaport-types/src/index.ts +5 -0
- package/src/typechain-types/seaport-types/src/interfaces/AmountDerivationErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/ConduitControllerInterface.ts +612 -0
- package/src/typechain-types/seaport-types/src/interfaces/ConduitInterface.ts +295 -0
- package/src/typechain-types/seaport-types/src/interfaces/ConsiderationEventsAndErrors.ts +313 -0
- package/src/typechain-types/seaport-types/src/interfaces/ConsiderationInterface.ts +1074 -0
- package/src/typechain-types/seaport-types/src/interfaces/CriteriaResolutionErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/FulfillmentApplicationErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/ReentrancyErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/SignatureVerificationErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/TokenTransferrerErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/ZoneInteractionErrors.ts +55 -0
- package/src/typechain-types/seaport-types/src/interfaces/index.ts +14 -0
- package/src/typechain-types/seaport_v1_4/contracts/Seaport.ts +1205 -0
- package/src/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.ts +295 -0
- package/src/typechain-types/seaport_v1_4/contracts/conduit/Conduit.sol/index.ts +4 -0
- package/src/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.ts +612 -0
- package/src/typechain-types/seaport_v1_4/contracts/conduit/ConduitController.sol/index.ts +4 -0
- package/src/typechain-types/seaport_v1_4/contracts/conduit/index.ts +7 -0
- package/src/typechain-types/seaport_v1_4/contracts/index.ts +6 -0
- package/src/typechain-types/seaport_v1_4/index.ts +5 -0
- package/src/typechain-types/seaport_v1_5/contracts/Seaport.ts +1211 -0
- package/src/typechain-types/seaport_v1_5/contracts/index.ts +6 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.ts +612 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.ts +295 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.ts +1074 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/interfaces/index.ts +4 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/Assertions.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/Consideration.ts +1211 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/CounterManager.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/Executor.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/Verifiers.ts +313 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.ts +55 -0
- package/src/typechain-types/seaport_v1_5/contracts/lib/index.ts +21 -0
- package/src/typechain-types/seaport_v1_5/index.ts +5 -0
- package/src/typechain-types/src/contracts/index.ts +5 -0
- package/src/typechain-types/src/contracts/test/TestERC1155.ts +543 -0
- package/src/typechain-types/src/contracts/test/TestERC20.ts +554 -0
- package/src/typechain-types/src/contracts/test/TestERC20USDC.ts +554 -0
- package/src/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.ts +600 -0
- package/src/typechain-types/src/contracts/test/TestERC721.sol.sol/index.ts +4 -0
- package/src/typechain-types/src/contracts/test/TestERC721.ts +600 -0
- package/src/typechain-types/src/contracts/test/index.ts +7 -0
- package/src/typechain-types/src/index.ts +5 -0
- package/src/types.ts +335 -0
- package/src/utils/approval.ts +103 -0
- package/src/utils/balance.ts +73 -0
- package/src/utils/balanceAndApprovalCheck.ts +436 -0
- package/src/utils/criteria.ts +83 -0
- package/src/utils/eip712/Eip712MerkleTree.ts +128 -0
- package/src/utils/eip712/bulk-orders.ts +62 -0
- package/src/utils/eip712/defaults.ts +113 -0
- package/src/utils/eip712/utils.ts +50 -0
- package/src/utils/fulfill.ts +848 -0
- package/src/utils/gcd.ts +26 -0
- package/src/utils/item.ts +142 -0
- package/src/utils/match.ts +55 -0
- package/src/utils/merkletree.ts +33 -0
- package/src/utils/order.ts +288 -0
- package/src/utils/usecase.ts +124 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"8ec2a72c7ffed75938dc5db96ad993ab","_format":"hh-sol-build-info-1","solcVersion":"0.8.17","solcLongVersion":"0.8.17+commit.8df45f5f","input":{"language":"Solidity","sources":{"@rari-capital/solmate/src/tokens/ERC721.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.\n/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)\nabstract contract ERC721 {\n /*//////////////////////////////////////////////////////////////\n EVENTS\n //////////////////////////////////////////////////////////////*/\n\n event Transfer(address indexed from, address indexed to, uint256 indexed id);\n\n event Approval(address indexed owner, address indexed spender, uint256 indexed id);\n\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /*//////////////////////////////////////////////////////////////\n METADATA STORAGE/LOGIC\n //////////////////////////////////////////////////////////////*/\n\n string public name;\n\n string public symbol;\n\n function tokenURI(uint256 id) public view virtual returns (string memory);\n\n /*//////////////////////////////////////////////////////////////\n ERC721 BALANCE/OWNER STORAGE\n //////////////////////////////////////////////////////////////*/\n\n mapping(uint256 => address) internal _ownerOf;\n\n mapping(address => uint256) internal _balanceOf;\n\n function ownerOf(uint256 id) public view virtual returns (address owner) {\n require((owner = _ownerOf[id]) != address(0), \"NOT_MINTED\");\n }\n\n function balanceOf(address owner) public view virtual returns (uint256) {\n require(owner != address(0), \"ZERO_ADDRESS\");\n\n return _balanceOf[owner];\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC721 APPROVAL STORAGE\n //////////////////////////////////////////////////////////////*/\n\n mapping(uint256 => address) public getApproved;\n\n mapping(address => mapping(address => bool)) public isApprovedForAll;\n\n /*//////////////////////////////////////////////////////////////\n CONSTRUCTOR\n //////////////////////////////////////////////////////////////*/\n\n constructor(string memory _name, string memory _symbol) {\n name = _name;\n symbol = _symbol;\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC721 LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function approve(address spender, uint256 id) public virtual {\n address owner = _ownerOf[id];\n\n require(msg.sender == owner || isApprovedForAll[owner][msg.sender], \"NOT_AUTHORIZED\");\n\n getApproved[id] = spender;\n\n emit Approval(owner, spender, id);\n }\n\n function setApprovalForAll(address operator, bool approved) public virtual {\n isApprovedForAll[msg.sender][operator] = approved;\n\n emit ApprovalForAll(msg.sender, operator, approved);\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 id\n ) public virtual {\n require(from == _ownerOf[id], \"WRONG_FROM\");\n\n require(to != address(0), \"INVALID_RECIPIENT\");\n\n require(\n msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id],\n \"NOT_AUTHORIZED\"\n );\n\n // Underflow of the sender's balance is impossible because we check for\n // ownership above and the recipient's balance can't realistically overflow.\n unchecked {\n _balanceOf[from]--;\n\n _balanceOf[to]++;\n }\n\n _ownerOf[id] = to;\n\n delete getApproved[id];\n\n emit Transfer(from, to, id);\n }\n\n function safeTransferFrom(\n address from,\n address to,\n uint256 id\n ) public virtual {\n transferFrom(from, to, id);\n\n require(\n to.code.length == 0 ||\n ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, \"\") ==\n ERC721TokenReceiver.onERC721Received.selector,\n \"UNSAFE_RECIPIENT\"\n );\n }\n\n function safeTransferFrom(\n address from,\n address to,\n uint256 id,\n bytes calldata data\n ) public virtual {\n transferFrom(from, to, id);\n\n require(\n to.code.length == 0 ||\n ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==\n ERC721TokenReceiver.onERC721Received.selector,\n \"UNSAFE_RECIPIENT\"\n );\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC165 LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return\n interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165\n interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721\n interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata\n }\n\n /*//////////////////////////////////////////////////////////////\n INTERNAL MINT/BURN LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function _mint(address to, uint256 id) internal virtual {\n require(to != address(0), \"INVALID_RECIPIENT\");\n\n require(_ownerOf[id] == address(0), \"ALREADY_MINTED\");\n\n // Counter overflow is incredibly unrealistic.\n unchecked {\n _balanceOf[to]++;\n }\n\n _ownerOf[id] = to;\n\n emit Transfer(address(0), to, id);\n }\n\n function _burn(uint256 id) internal virtual {\n address owner = _ownerOf[id];\n\n require(owner != address(0), \"NOT_MINTED\");\n\n // Ownership check above ensures no underflow.\n unchecked {\n _balanceOf[owner]--;\n }\n\n delete _ownerOf[id];\n\n delete getApproved[id];\n\n emit Transfer(owner, address(0), id);\n }\n\n /*//////////////////////////////////////////////////////////////\n INTERNAL SAFE MINT LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function _safeMint(address to, uint256 id) internal virtual {\n _mint(to, id);\n\n require(\n to.code.length == 0 ||\n ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, \"\") ==\n ERC721TokenReceiver.onERC721Received.selector,\n \"UNSAFE_RECIPIENT\"\n );\n }\n\n function _safeMint(\n address to,\n uint256 id,\n bytes memory data\n ) internal virtual {\n _mint(to, id);\n\n require(\n to.code.length == 0 ||\n ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) ==\n ERC721TokenReceiver.onERC721Received.selector,\n \"UNSAFE_RECIPIENT\"\n );\n }\n}\n\n/// @notice A generic interface for a contract which properly accepts ERC721 tokens.\n/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)\nabstract contract ERC721TokenReceiver {\n function onERC721Received(\n address,\n address,\n uint256,\n bytes calldata\n ) external virtual returns (bytes4) {\n return ERC721TokenReceiver.onERC721Received.selector;\n }\n}\n"},"src/contracts/test/TestERC721.sol":{"content":"//SPDX-License-Identifier: Unlicense\npragma solidity >=0.8.7;\n\nimport \"@rari-capital/solmate/src/tokens/ERC721.sol\";\n\n// Used for minting test ERC721s in our tests\ncontract TestERC721 is ERC721(\"Test721\", \"TST721\") {\n function mint(address to, uint256 tokenId) public returns (bool) {\n _mint(to, tokenId);\n return true;\n }\n\n function tokenURI(uint256) public pure override returns (string memory) {\n return \"tokenURI\";\n }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@rari-capital/solmate/src/tokens/ERC721.sol":{"ast":{"absolutePath":"@rari-capital/solmate/src/tokens/ERC721.sol","exportedSymbols":{"ERC721":[543],"ERC721TokenReceiver":[563]},"id":564,"license":"AGPL-3.0-only","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.8",".0"],"nodeType":"PragmaDirective","src":"42:24:0"},{"abstract":true,"baseContracts":[],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"68:168:0","text":"@notice Modern, minimalist, and gas efficient ERC-721 implementation.\n @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)"},"fullyImplemented":false,"id":543,"linearizedBaseContracts":[543],"name":"ERC721","nameLocation":"254:6:0","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":10,"name":"Transfer","nameLocation":"452:8:0","nodeType":"EventDefinition","parameters":{"id":9,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"477:4:0","nodeType":"VariableDeclaration","scope":10,"src":"461:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3,"name":"address","nodeType":"ElementaryTypeName","src":"461:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"499:2:0","nodeType":"VariableDeclaration","scope":10,"src":"483:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5,"name":"address","nodeType":"ElementaryTypeName","src":"483:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"519:2:0","nodeType":"VariableDeclaration","scope":10,"src":"503:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7,"name":"uint256","nodeType":"ElementaryTypeName","src":"503:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"460:62:0"},"src":"446:77:0"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":18,"name":"Approval","nameLocation":"535:8:0","nodeType":"EventDefinition","parameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"560:5:0","nodeType":"VariableDeclaration","scope":18,"src":"544:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11,"name":"address","nodeType":"ElementaryTypeName","src":"544:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"583:7:0","nodeType":"VariableDeclaration","scope":18,"src":"567:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13,"name":"address","nodeType":"ElementaryTypeName","src":"567:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"608:2:0","nodeType":"VariableDeclaration","scope":18,"src":"592:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"543:68:0"},"src":"529:83:0"},{"anonymous":false,"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":26,"name":"ApprovalForAll","nameLocation":"624:14:0","nodeType":"EventDefinition","parameters":{"id":25,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"655:5:0","nodeType":"VariableDeclaration","scope":26,"src":"639:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19,"name":"address","nodeType":"ElementaryTypeName","src":"639:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"678:8:0","nodeType":"VariableDeclaration","scope":26,"src":"662:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"662:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"693:8:0","nodeType":"VariableDeclaration","scope":26,"src":"688:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23,"name":"bool","nodeType":"ElementaryTypeName","src":"688:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"638:64:0"},"src":"618:85:0"},{"constant":false,"functionSelector":"06fdde03","id":28,"mutability":"mutable","name":"name","nameLocation":"910:4:0","nodeType":"VariableDeclaration","scope":543,"src":"896:18:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":27,"name":"string","nodeType":"ElementaryTypeName","src":"896:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"95d89b41","id":30,"mutability":"mutable","name":"symbol","nameLocation":"935:6:0","nodeType":"VariableDeclaration","scope":543,"src":"921:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":29,"name":"string","nodeType":"ElementaryTypeName","src":"921:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"functionSelector":"c87b56dd","id":37,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"957:8:0","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32,"mutability":"mutable","name":"id","nameLocation":"974:2:0","nodeType":"VariableDeclaration","scope":37,"src":"966:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31,"name":"uint256","nodeType":"ElementaryTypeName","src":"966:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"965:12:0"},"returnParameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37,"src":"1007:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34,"name":"string","nodeType":"ElementaryTypeName","src":"1007:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1006:15:0"},"scope":543,"src":"948:74:0","stateMutability":"view","virtual":true,"visibility":"public"},{"constant":false,"id":41,"mutability":"mutable","name":"_ownerOf","nameLocation":"1255:8:0","nodeType":"VariableDeclaration","scope":543,"src":"1218:45:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":40,"keyType":{"id":38,"name":"uint256","nodeType":"ElementaryTypeName","src":"1226:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1218:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":39,"name":"address","nodeType":"ElementaryTypeName","src":"1237:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":45,"mutability":"mutable","name":"_balanceOf","nameLocation":"1307:10:0","nodeType":"VariableDeclaration","scope":543,"src":"1270:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":44,"keyType":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"1278:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1270:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":43,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"body":{"id":67,"nodeType":"Block","src":"1397:76:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":63,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":57,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":53,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50,"src":"1416:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":54,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"1424:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":56,"indexExpression":{"id":55,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"1433:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1424:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1416:20:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":58,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1415:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":61,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1449:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1441:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59,"name":"address","nodeType":"ElementaryTypeName","src":"1441:7:0","typeDescriptions":{}}},"id":62,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1441:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1415:36:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":64,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1453:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":52,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1407:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":65,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:59:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66,"nodeType":"ExpressionStatement","src":"1407:59:0"}]},"functionSelector":"6352211e","id":68,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1333:7:0","nodeType":"FunctionDefinition","parameters":{"id":48,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"mutability":"mutable","name":"id","nameLocation":"1349:2:0","nodeType":"VariableDeclaration","scope":68,"src":"1341:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46,"name":"uint256","nodeType":"ElementaryTypeName","src":"1341:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1340:12:0"},"returnParameters":{"id":51,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50,"mutability":"mutable","name":"owner","nameLocation":"1390:5:0","nodeType":"VariableDeclaration","scope":68,"src":"1382:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"1382:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1381:15:0"},"scope":543,"src":"1324:149:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":89,"nodeType":"Block","src":"1551:96:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":81,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"1569:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1586:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1578:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77,"name":"address","nodeType":"ElementaryTypeName","src":"1578:7:0","typeDescriptions":{}}},"id":80,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1578:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1569:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f41444452455353","id":82,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1590:14:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""},"value":"ZERO_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""}],"id":75,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1561:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":83,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1561:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84,"nodeType":"ExpressionStatement","src":"1561:44:0"},{"expression":{"baseExpression":{"id":85,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"1623:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":87,"indexExpression":{"id":86,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"1634:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1623:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74,"id":88,"nodeType":"Return","src":"1616:24:0"}]},"functionSelector":"70a08231","id":90,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1488:9:0","nodeType":"FunctionDefinition","parameters":{"id":71,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70,"mutability":"mutable","name":"owner","nameLocation":"1506:5:0","nodeType":"VariableDeclaration","scope":90,"src":"1498:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"1498:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1497:15:0"},"returnParameters":{"id":74,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90,"src":"1542:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:9:0"},"scope":543,"src":"1479:168:0","stateMutability":"view","virtual":true,"visibility":"public"},{"constant":false,"functionSelector":"081812fc","id":94,"mutability":"mutable","name":"getApproved","nameLocation":"1876:11:0","nodeType":"VariableDeclaration","scope":543,"src":"1841:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":93,"keyType":{"id":91,"name":"uint256","nodeType":"ElementaryTypeName","src":"1849:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1841:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"1860:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"constant":false,"functionSelector":"e985e9c5","id":100,"mutability":"mutable","name":"isApprovedForAll","nameLocation":"1946:16:0","nodeType":"VariableDeclaration","scope":543,"src":"1894:68:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":99,"keyType":{"id":95,"name":"address","nodeType":"ElementaryTypeName","src":"1902:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1894:44:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":98,"keyType":{"id":96,"name":"address","nodeType":"ElementaryTypeName","src":"1921:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1913:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":97,"name":"bool","nodeType":"ElementaryTypeName","src":"1932:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"body":{"id":115,"nodeType":"Block","src":"2207:55:0","statements":[{"expression":{"id":109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":107,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"2217:4:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":108,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102,"src":"2224:5:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2217:12:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":110,"nodeType":"ExpressionStatement","src":"2217:12:0"},{"expression":{"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":111,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2239:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":112,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"2248:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2239:16:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":114,"nodeType":"ExpressionStatement","src":"2239:16:0"}]},"id":116,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102,"mutability":"mutable","name":"_name","nameLocation":"2177:5:0","nodeType":"VariableDeclaration","scope":116,"src":"2163:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":101,"name":"string","nodeType":"ElementaryTypeName","src":"2163:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":104,"mutability":"mutable","name":"_symbol","nameLocation":"2198:7:0","nodeType":"VariableDeclaration","scope":116,"src":"2184:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":103,"name":"string","nodeType":"ElementaryTypeName","src":"2184:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2162:44:0"},"returnParameters":{"id":106,"nodeType":"ParameterList","parameters":[],"src":"2207:0:0"},"scope":543,"src":"2151:111:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":156,"nodeType":"Block","src":"2511:221:0","statements":[{"assignments":[124],"declarations":[{"constant":false,"id":124,"mutability":"mutable","name":"owner","nameLocation":"2529:5:0","nodeType":"VariableDeclaration","scope":156,"src":"2521:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":123,"name":"address","nodeType":"ElementaryTypeName","src":"2521:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":128,"initialValue":{"baseExpression":{"id":125,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"2537:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":127,"indexExpression":{"id":126,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"2546:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2537:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2521:28:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":130,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2568:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2572:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2568:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":132,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":124,"src":"2582:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2568:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":134,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"2591:16:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":136,"indexExpression":{"id":135,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":124,"src":"2608:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2591:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":139,"indexExpression":{"expression":{"id":137,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2615:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2619:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2615:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2591:35:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2568:58:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2628:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":129,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2560:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:85:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":143,"nodeType":"ExpressionStatement","src":"2560:85:0"},{"expression":{"id":148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":144,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"2656:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":146,"indexExpression":{"id":145,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"2668:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2656:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":147,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"2674:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2656:25:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":149,"nodeType":"ExpressionStatement","src":"2656:25:0"},{"eventCall":{"arguments":[{"id":151,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":124,"src":"2706:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":152,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"2713:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":153,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"2722:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":150,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"2697:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2697:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":155,"nodeType":"EmitStatement","src":"2692:33:0"}]},"functionSelector":"095ea7b3","id":157,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2459:7:0","nodeType":"FunctionDefinition","parameters":{"id":121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118,"mutability":"mutable","name":"spender","nameLocation":"2475:7:0","nodeType":"VariableDeclaration","scope":157,"src":"2467:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":117,"name":"address","nodeType":"ElementaryTypeName","src":"2467:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":120,"mutability":"mutable","name":"id","nameLocation":"2492:2:0","nodeType":"VariableDeclaration","scope":157,"src":"2484:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119,"name":"uint256","nodeType":"ElementaryTypeName","src":"2484:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2466:29:0"},"returnParameters":{"id":122,"nodeType":"ParameterList","parameters":[],"src":"2511:0:0"},"scope":543,"src":"2450:282:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":180,"nodeType":"Block","src":"2813:128:0","statements":[{"expression":{"id":171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":164,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"2823:16:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":168,"indexExpression":{"expression":{"id":165,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2840:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2844:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2840:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2823:28:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":169,"indexExpression":{"id":167,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"2852:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2823:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":170,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"2864:8:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2823:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":172,"nodeType":"ExpressionStatement","src":"2823:49:0"},{"eventCall":{"arguments":[{"expression":{"id":174,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2903:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2907:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2903:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":176,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"2915:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":177,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"2925:8:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":173,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"2888:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2888:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":179,"nodeType":"EmitStatement","src":"2883:51:0"}]},"functionSelector":"a22cb465","id":181,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"2747:17:0","nodeType":"FunctionDefinition","parameters":{"id":162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":159,"mutability":"mutable","name":"operator","nameLocation":"2773:8:0","nodeType":"VariableDeclaration","scope":181,"src":"2765:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":158,"name":"address","nodeType":"ElementaryTypeName","src":"2765:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":161,"mutability":"mutable","name":"approved","nameLocation":"2788:8:0","nodeType":"VariableDeclaration","scope":181,"src":"2783:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":160,"name":"bool","nodeType":"ElementaryTypeName","src":"2783:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2764:33:0"},"returnParameters":{"id":163,"nodeType":"ParameterList","parameters":[],"src":"2813:0:0"},"scope":543,"src":"2738:203:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":259,"nodeType":"Block","src":"3052:636:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":191,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"3070:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":192,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"3078:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":194,"indexExpression":{"id":193,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3087:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3078:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3070:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"57524f4e475f46524f4d","id":196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3092:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""},"value":"WRONG_FROM"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""}],"id":190,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3062:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3062:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":198,"nodeType":"ExpressionStatement","src":"3062:43:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":200,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3124:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3138:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3130:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":201,"name":"address","nodeType":"ElementaryTypeName","src":"3130:7:0","typeDescriptions":{}}},"id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3130:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3124:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3142:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":199,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3116:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3116:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":208,"nodeType":"ExpressionStatement","src":"3116:46:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":210,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3194:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3198:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3194:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":212,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"3208:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3194:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":214,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"3216:16:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":216,"indexExpression":{"id":215,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"3233:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3216:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":219,"indexExpression":{"expression":{"id":217,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3239:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3243:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3239:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3216:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3194:56:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3254:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3258:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3254:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":223,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"3268:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":225,"indexExpression":{"id":224,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3280:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3268:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3254:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3194:89:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3297:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":209,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3173:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3173:150:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":230,"nodeType":"ExpressionStatement","src":"3173:150:0"},{"id":241,"nodeType":"UncheckedBlock","src":"3499:84:0","statements":[{"expression":{"id":234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"3523:18:0","subExpression":{"baseExpression":{"id":231,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"3523:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":233,"indexExpression":{"id":232,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"3534:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3523:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":235,"nodeType":"ExpressionStatement","src":"3523:18:0"},{"expression":{"id":239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3556:16:0","subExpression":{"baseExpression":{"id":236,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"3556:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":238,"indexExpression":{"id":237,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3567:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3556:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":240,"nodeType":"ExpressionStatement","src":"3556:16:0"}]},{"expression":{"id":246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":242,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"3593:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":244,"indexExpression":{"id":243,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3602:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3593:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":245,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3608:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3593:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":247,"nodeType":"ExpressionStatement","src":"3593:17:0"},{"expression":{"id":251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3621:22:0","subExpression":{"baseExpression":{"id":248,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"3628:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":250,"indexExpression":{"id":249,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3640:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3628:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"3621:22:0"},{"eventCall":{"arguments":[{"id":254,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"3668:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":255,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":185,"src":"3674:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":256,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3678:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":253,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"3659:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3659:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"3654:27:0"}]},"functionSelector":"23b872dd","id":260,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2956:12:0","nodeType":"FunctionDefinition","parameters":{"id":188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":183,"mutability":"mutable","name":"from","nameLocation":"2986:4:0","nodeType":"VariableDeclaration","scope":260,"src":"2978:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":182,"name":"address","nodeType":"ElementaryTypeName","src":"2978:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":185,"mutability":"mutable","name":"to","nameLocation":"3008:2:0","nodeType":"VariableDeclaration","scope":260,"src":"3000:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":184,"name":"address","nodeType":"ElementaryTypeName","src":"3000:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":187,"mutability":"mutable","name":"id","nameLocation":"3028:2:0","nodeType":"VariableDeclaration","scope":260,"src":"3020:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":186,"name":"uint256","nodeType":"ElementaryTypeName","src":"3020:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2968:68:0"},"returnParameters":{"id":189,"nodeType":"ParameterList","parameters":[],"src":"3052:0:0"},"scope":543,"src":"2947:741:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":299,"nodeType":"Block","src":"3803:287:0","statements":[{"expression":{"arguments":[{"id":270,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":262,"src":"3826:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":271,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"3832:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":272,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"3836:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":269,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":260,"src":"3813:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3813:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":274,"nodeType":"ExpressionStatement","src":"3813:26:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":276,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"3871:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3874:4:0","memberName":"code","nodeType":"MemberAccess","src":"3871:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3879:6:0","memberName":"length","nodeType":"MemberAccess","src":"3871:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3889:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3871:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":285,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3951:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3955:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3951:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":287,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":262,"src":"3963:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":288,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"3969:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3973:2:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":282,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"3930:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":281,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"3910:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3910:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721TokenReceiver_$563","typeString":"contract ERC721TokenReceiver"}},"id":284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3934:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"3910:40:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3910:66:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":291,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"3996:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4016:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"3996:36:0","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function ERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4033:8:0","memberName":"selector","nodeType":"MemberAccess","src":"3996:45:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3910:131:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3871:170:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4055:18:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3850:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3850:233:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"ExpressionStatement","src":"3850:233:0"}]},"functionSelector":"42842e0e","id":300,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3703:16:0","nodeType":"FunctionDefinition","parameters":{"id":267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":262,"mutability":"mutable","name":"from","nameLocation":"3737:4:0","nodeType":"VariableDeclaration","scope":300,"src":"3729:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":261,"name":"address","nodeType":"ElementaryTypeName","src":"3729:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":264,"mutability":"mutable","name":"to","nameLocation":"3759:2:0","nodeType":"VariableDeclaration","scope":300,"src":"3751:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":263,"name":"address","nodeType":"ElementaryTypeName","src":"3751:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"id","nameLocation":"3779:2:0","nodeType":"VariableDeclaration","scope":300,"src":"3771:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":265,"name":"uint256","nodeType":"ElementaryTypeName","src":"3771:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3719:68:0"},"returnParameters":{"id":268,"nodeType":"ParameterList","parameters":[],"src":"3803:0:0"},"scope":543,"src":"3694:396:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":341,"nodeType":"Block","src":"4234:289:0","statements":[{"expression":{"arguments":[{"id":312,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"4257:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":313,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"4263:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":314,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"4267:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":311,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":260,"src":"4244:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4244:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":316,"nodeType":"ExpressionStatement","src":"4244:26:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":318,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"4302:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:4:0","memberName":"code","nodeType":"MemberAccess","src":"4302:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4310:6:0","memberName":"length","nodeType":"MemberAccess","src":"4302:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4320:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4302:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":327,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4382:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4386:6:0","memberName":"sender","nodeType":"MemberAccess","src":"4382:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":329,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"4394:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":330,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"4400:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":331,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"4404:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"id":324,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"4361:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":323,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"4341:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4341:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721TokenReceiver_$563","typeString":"contract ERC721TokenReceiver"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4365:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"4341:40:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4341:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":333,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"4429:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4449:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"4429:36:0","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function ERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4466:8:0","memberName":"selector","nodeType":"MemberAccess","src":"4429:45:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4341:133:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4302:172:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4488:18:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4281:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4281:235:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":340,"nodeType":"ExpressionStatement","src":"4281:235:0"}]},"functionSelector":"b88d4fde","id":342,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4105:16:0","nodeType":"FunctionDefinition","parameters":{"id":309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"from","nameLocation":"4139:4:0","nodeType":"VariableDeclaration","scope":342,"src":"4131:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":301,"name":"address","nodeType":"ElementaryTypeName","src":"4131:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":304,"mutability":"mutable","name":"to","nameLocation":"4161:2:0","nodeType":"VariableDeclaration","scope":342,"src":"4153:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":303,"name":"address","nodeType":"ElementaryTypeName","src":"4153:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":306,"mutability":"mutable","name":"id","nameLocation":"4181:2:0","nodeType":"VariableDeclaration","scope":342,"src":"4173:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"4173:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":308,"mutability":"mutable","name":"data","nameLocation":"4208:4:0","nodeType":"VariableDeclaration","scope":342,"src":"4193:19:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":307,"name":"bytes","nodeType":"ElementaryTypeName","src":"4193:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4121:97:0"},"returnParameters":{"id":310,"nodeType":"ParameterList","parameters":[],"src":"4234:0:0"},"scope":543,"src":"4096:427:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":361,"nodeType":"Block","src":"4793:253:0","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":349,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"4822:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783031666663396137","id":350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4837:10:0","typeDescriptions":{"typeIdentifier":"t_rational_33540519_by_1","typeString":"int_const 33540519"},"value":"0x01ffc9a7"},"src":"4822:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"4897:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783830616335386364","id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4912:10:0","typeDescriptions":{"typeIdentifier":"t_rational_2158778573_by_1","typeString":"int_const 2158778573"},"value":"0x80ac58cd"},"src":"4897:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4822:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":356,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"4972:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783562356531333966","id":357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4987:10:0","typeDescriptions":{"typeIdentifier":"t_rational_1532892063_by_1","typeString":"int_const 1532892063"},"value":"0x5b5e139f"},"src":"4972:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4822:175:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":348,"id":360,"nodeType":"Return","src":"4803:194:0"}]},"functionSelector":"01ffc9a7","id":362,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"4720:17:0","nodeType":"FunctionDefinition","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"interfaceId","nameLocation":"4745:11:0","nodeType":"VariableDeclaration","scope":362,"src":"4738:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":343,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4738:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4737:20:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":362,"src":"4787:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":346,"name":"bool","nodeType":"ElementaryTypeName","src":"4787:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4786:6:0"},"scope":543,"src":"4711:335:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":412,"nodeType":"Block","src":"5296:315:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":370,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"5314:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5328:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5320:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":371,"name":"address","nodeType":"ElementaryTypeName","src":"5320:7:0","typeDescriptions":{}}},"id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5314:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5332:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":369,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5306:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5306:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":378,"nodeType":"ExpressionStatement","src":"5306:46:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":380,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5371:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":382,"indexExpression":{"id":381,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"5380:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5371:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5395:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5387:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":383,"name":"address","nodeType":"ElementaryTypeName","src":"5387:7:0","typeDescriptions":{}}},"id":386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5387:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5371:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f4d494e544544","id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""},"value":"ALREADY_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""}],"id":379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5363:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5363:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":390,"nodeType":"ExpressionStatement","src":"5363:53:0"},{"id":396,"nodeType":"UncheckedBlock","src":"5482:51:0","statements":[{"expression":{"id":394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5506:16:0","subExpression":{"baseExpression":{"id":391,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"5506:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":393,"indexExpression":{"id":392,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"5517:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5506:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":395,"nodeType":"ExpressionStatement","src":"5506:16:0"}]},{"expression":{"id":401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":397,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5543:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":399,"indexExpression":{"id":398,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"5552:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5543:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":400,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"5558:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5543:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":402,"nodeType":"ExpressionStatement","src":"5543:17:0"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5593:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5585:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"5585:7:0","typeDescriptions":{}}},"id":407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":408,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"5597:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":409,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"5601:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":403,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"5576:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5576:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":411,"nodeType":"EmitStatement","src":"5571:33:0"}]},"id":413,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"5249:5:0","nodeType":"FunctionDefinition","parameters":{"id":367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":364,"mutability":"mutable","name":"to","nameLocation":"5263:2:0","nodeType":"VariableDeclaration","scope":413,"src":"5255:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":363,"name":"address","nodeType":"ElementaryTypeName","src":"5255:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"id","nameLocation":"5275:2:0","nodeType":"VariableDeclaration","scope":413,"src":"5267:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":365,"name":"uint256","nodeType":"ElementaryTypeName","src":"5267:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5254:24:0"},"returnParameters":{"id":368,"nodeType":"ParameterList","parameters":[],"src":"5296:0:0"},"scope":543,"src":"5240:371:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":459,"nodeType":"Block","src":"5661:327:0","statements":[{"assignments":[419],"declarations":[{"constant":false,"id":419,"mutability":"mutable","name":"owner","nameLocation":"5679:5:0","nodeType":"VariableDeclaration","scope":459,"src":"5671:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":418,"name":"address","nodeType":"ElementaryTypeName","src":"5671:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":423,"initialValue":{"baseExpression":{"id":420,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5687:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":422,"indexExpression":{"id":421,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"5696:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5687:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5671:28:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":425,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"5718:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5735:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5727:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":426,"name":"address","nodeType":"ElementaryTypeName","src":"5727:7:0","typeDescriptions":{}}},"id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5727:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5718:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5739:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":424,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5710:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5710:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":433,"nodeType":"ExpressionStatement","src":"5710:42:0"},{"id":439,"nodeType":"UncheckedBlock","src":"5818:54:0","statements":[{"expression":{"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"5842:19:0","subExpression":{"baseExpression":{"id":434,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"5842:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":436,"indexExpression":{"id":435,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"5853:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5842:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":438,"nodeType":"ExpressionStatement","src":"5842:19:0"}]},{"expression":{"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5882:19:0","subExpression":{"baseExpression":{"id":440,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5889:8:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":442,"indexExpression":{"id":441,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"5898:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5889:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":444,"nodeType":"ExpressionStatement","src":"5882:19:0"},{"expression":{"id":448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5912:22:0","subExpression":{"baseExpression":{"id":445,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"5919:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":447,"indexExpression":{"id":446,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"5931:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5919:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":449,"nodeType":"ExpressionStatement","src":"5912:22:0"},{"eventCall":{"arguments":[{"id":451,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"5959:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5974:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5966:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"5966:7:0","typeDescriptions":{}}},"id":455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5966:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":456,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"5978:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":450,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"5950:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5950:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":458,"nodeType":"EmitStatement","src":"5945:36:0"}]},"id":460,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"5626:5:0","nodeType":"FunctionDefinition","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":415,"mutability":"mutable","name":"id","nameLocation":"5640:2:0","nodeType":"VariableDeclaration","scope":460,"src":"5632:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":414,"name":"uint256","nodeType":"ElementaryTypeName","src":"5632:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5631:12:0"},"returnParameters":{"id":417,"nodeType":"ParameterList","parameters":[],"src":"5661:0:0"},"scope":543,"src":"5617:371:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":499,"nodeType":"Block","src":"6242:280:0","statements":[{"expression":{"arguments":[{"id":468,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"6258:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":469,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"6262:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":467,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"6252:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6252:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":471,"nodeType":"ExpressionStatement","src":"6252:13:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":473,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"6297:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6300:4:0","memberName":"code","nodeType":"MemberAccess","src":"6297:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:6:0","memberName":"length","nodeType":"MemberAccess","src":"6297:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6315:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6297:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":482,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6377:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6381:6:0","memberName":"sender","nodeType":"MemberAccess","src":"6377:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6397:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6389:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":484,"name":"address","nodeType":"ElementaryTypeName","src":"6389:7:0","typeDescriptions":{}}},"id":487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6389:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":488,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"6401:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6405:2:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":479,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"6356:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":478,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"6336:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721TokenReceiver_$563","typeString":"contract ERC721TokenReceiver"}},"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6360:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"6336:40:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6336:72:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":491,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"6428:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6448:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"6428:36:0","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function ERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6465:8:0","memberName":"selector","nodeType":"MemberAccess","src":"6428:45:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6336:137:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6297:176:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6487:18:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":472,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6276:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6276:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":498,"nodeType":"ExpressionStatement","src":"6276:239:0"}]},"id":500,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"6191:9:0","nodeType":"FunctionDefinition","parameters":{"id":465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":462,"mutability":"mutable","name":"to","nameLocation":"6209:2:0","nodeType":"VariableDeclaration","scope":500,"src":"6201:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":461,"name":"address","nodeType":"ElementaryTypeName","src":"6201:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":464,"mutability":"mutable","name":"id","nameLocation":"6221:2:0","nodeType":"VariableDeclaration","scope":500,"src":"6213:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":463,"name":"uint256","nodeType":"ElementaryTypeName","src":"6213:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6200:24:0"},"returnParameters":{"id":466,"nodeType":"ParameterList","parameters":[],"src":"6242:0:0"},"scope":543,"src":"6182:340:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":541,"nodeType":"Block","src":"6637:282:0","statements":[{"expression":{"arguments":[{"id":510,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"6653:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":511,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"6657:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":509,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"6647:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6647:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":513,"nodeType":"ExpressionStatement","src":"6647:13:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":515,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"6692:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6695:4:0","memberName":"code","nodeType":"MemberAccess","src":"6692:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6700:6:0","memberName":"length","nodeType":"MemberAccess","src":"6692:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6710:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6692:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":524,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6772:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6776:6:0","memberName":"sender","nodeType":"MemberAccess","src":"6772:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6792:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6784:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":526,"name":"address","nodeType":"ElementaryTypeName","src":"6784:7:0","typeDescriptions":{}}},"id":529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":530,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":504,"src":"6796:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":531,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":506,"src":"6800:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":521,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"6751:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":520,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"6731:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6731:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721TokenReceiver_$563","typeString":"contract ERC721TokenReceiver"}},"id":523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6755:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"6731:40:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6731:74:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":533,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"6825:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6845:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"6825:36:0","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function ERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6862:8:0","memberName":"selector","nodeType":"MemberAccess","src":"6825:45:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6731:139:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6692:178:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6884:18:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":514,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6671:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6671:241:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":540,"nodeType":"ExpressionStatement","src":"6671:241:0"}]},"id":542,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"6537:9:0","nodeType":"FunctionDefinition","parameters":{"id":507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":502,"mutability":"mutable","name":"to","nameLocation":"6564:2:0","nodeType":"VariableDeclaration","scope":542,"src":"6556:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":501,"name":"address","nodeType":"ElementaryTypeName","src":"6556:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":504,"mutability":"mutable","name":"id","nameLocation":"6584:2:0","nodeType":"VariableDeclaration","scope":542,"src":"6576:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":503,"name":"uint256","nodeType":"ElementaryTypeName","src":"6576:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":506,"mutability":"mutable","name":"data","nameLocation":"6609:4:0","nodeType":"VariableDeclaration","scope":542,"src":"6596:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":505,"name":"bytes","nodeType":"ElementaryTypeName","src":"6596:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6546:73:0"},"returnParameters":{"id":508,"nodeType":"ParameterList","parameters":[],"src":"6637:0:0"},"scope":543,"src":"6528:391:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":564,"src":"236:6685:0","usedErrors":[]},{"abstract":true,"baseContracts":[],"canonicalName":"ERC721TokenReceiver","contractDependencies":[],"contractKind":"contract","documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"6923:179:0","text":"@notice A generic interface for a contract which properly accepts ERC721 tokens.\n @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)"},"fullyImplemented":true,"id":563,"linearizedBaseContracts":[563],"name":"ERC721TokenReceiver","nameLocation":"7120:19:0","nodeType":"ContractDefinition","nodes":[{"body":{"id":561,"nodeType":"Block","src":"7287:69:0","statements":[{"expression":{"expression":{"expression":{"id":557,"name":"ERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":563,"src":"7304:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721TokenReceiver_$563_$","typeString":"type(contract ERC721TokenReceiver)"}},"id":558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7324:16:0","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":562,"src":"7304:36:0","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function ERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7341:8:0","memberName":"selector","nodeType":"MemberAccess","src":"7304:45:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":556,"id":560,"nodeType":"Return","src":"7297:52:0"}]},"functionSelector":"150b7a02","id":562,"implemented":true,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"7155:16:0","nodeType":"FunctionDefinition","parameters":{"id":553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":562,"src":"7181:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":545,"name":"address","nodeType":"ElementaryTypeName","src":"7181:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":562,"src":"7198:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":547,"name":"address","nodeType":"ElementaryTypeName","src":"7198:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":562,"src":"7215:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":549,"name":"uint256","nodeType":"ElementaryTypeName","src":"7215:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":562,"src":"7232:14:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":551,"name":"bytes","nodeType":"ElementaryTypeName","src":"7232:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7171:81:0"},"returnParameters":{"id":556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":562,"src":"7279:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":554,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7279:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7278:8:0"},"scope":563,"src":"7146:210:0","stateMutability":"nonpayable","virtual":true,"visibility":"external"}],"scope":564,"src":"7102:256:0","usedErrors":[]}],"src":"42:7317:0"},"id":0},"src/contracts/test/TestERC721.sol":{"ast":{"absolutePath":"src/contracts/test/TestERC721.sol","exportedSymbols":{"ERC721":[543],"ERC721TokenReceiver":[563],"TestERC721":[599]},"id":600,"license":"Unlicense","nodeType":"SourceUnit","nodes":[{"id":565,"literals":["solidity",">=","0.8",".7"],"nodeType":"PragmaDirective","src":"37:24:1"},{"absolutePath":"@rari-capital/solmate/src/tokens/ERC721.sol","file":"@rari-capital/solmate/src/tokens/ERC721.sol","id":566,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":600,"sourceUnit":564,"src":"63:53:1","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"arguments":[{"hexValue":"54657374373231","id":568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"194:9:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e4fc3266b38a1d54c3392ffa0ebb8fdec2443209c72422b9f11bcda73479707","typeString":"literal_string \"Test721\""},"value":"Test721"},{"hexValue":"545354373231","id":569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"205:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2ac7c04fe9bd2b2e32aeb0d2c31125f85fcd4949c0562b8e6a989488ce5ef91","typeString":"literal_string \"TST721\""},"value":"TST721"}],"baseName":{"id":567,"name":"ERC721","nameLocations":["187:6:1"],"nodeType":"IdentifierPath","referencedDeclaration":543,"src":"187:6:1"},"id":570,"nodeType":"InheritanceSpecifier","src":"187:27:1"}],"canonicalName":"TestERC721","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":599,"linearizedBaseContracts":[599,543],"name":"TestERC721","nameLocation":"173:10:1","nodeType":"ContractDefinition","nodes":[{"body":{"id":586,"nodeType":"Block","src":"286:56:1","statements":[{"expression":{"arguments":[{"id":580,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"302:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":581,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"306:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":579,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"296:5:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"296:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":583,"nodeType":"ExpressionStatement","src":"296:18:1"},{"expression":{"hexValue":"74727565","id":584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"331:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":578,"id":585,"nodeType":"Return","src":"324:11:1"}]},"functionSelector":"40c10f19","id":587,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"230:4:1","nodeType":"FunctionDefinition","parameters":{"id":575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":572,"mutability":"mutable","name":"to","nameLocation":"243:2:1","nodeType":"VariableDeclaration","scope":587,"src":"235:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":571,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":574,"mutability":"mutable","name":"tokenId","nameLocation":"255:7:1","nodeType":"VariableDeclaration","scope":587,"src":"247:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":573,"name":"uint256","nodeType":"ElementaryTypeName","src":"247:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"234:29:1"},"returnParameters":{"id":578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":587,"src":"280:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":576,"name":"bool","nodeType":"ElementaryTypeName","src":"280:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"279:6:1"},"scope":599,"src":"221:121:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[37],"body":{"id":597,"nodeType":"Block","src":"420:34:1","statements":[{"expression":{"hexValue":"746f6b656e555249","id":595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"437:10:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d2a7823b0c6bee58f8c694888f32f862c6584caa8afa0242de046d298ba684d","typeString":"literal_string \"tokenURI\""},"value":"tokenURI"},"functionReturnParameters":594,"id":596,"nodeType":"Return","src":"430:17:1"}]},"functionSelector":"c87b56dd","id":598,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"357:8:1","nodeType":"FunctionDefinition","overrides":{"id":591,"nodeType":"OverrideSpecifier","overrides":[],"src":"387:8:1"},"parameters":{"id":590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":598,"src":"366:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":588,"name":"uint256","nodeType":"ElementaryTypeName","src":"366:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"365:9:1"},"returnParameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":598,"src":"405:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":592,"name":"string","nodeType":"ElementaryTypeName","src":"405:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"404:15:1"},"scope":599,"src":"348:106:1","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":600,"src":"164:292:1","usedErrors":[]}],"src":"37:420:1"},"id":1}},"contracts":{"@rari-capital/solmate/src/tokens/ERC721.sol":{"ERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","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":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Modern, minimalist, and gas efficient ERC-721 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@rari-capital/solmate/src/tokens/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@rari-capital/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0xb59c7c25eca386f39da4819a9f70f89b73b7583d5f5127a83ffe5339800b1183\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://021348d61659d6f47fb650536c22665e15e17b1bc8f70ecfb6853a2564a21377\",\"dweb:/ipfs/QmcyMXAY26Xr4VibkJhXFJP2oviZC5JNJbUL9yueJYYXxM\"]}},\"version\":1}"},"ERC721TokenReceiver":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A generic interface for a contract which properly accepts ERC721 tokens.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@rari-capital/solmate/src/tokens/ERC721.sol\":\"ERC721TokenReceiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@rari-capital/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0xb59c7c25eca386f39da4819a9f70f89b73b7583d5f5127a83ffe5339800b1183\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://021348d61659d6f47fb650536c22665e15e17b1bc8f70ecfb6853a2564a21377\",\"dweb:/ipfs/QmcyMXAY26Xr4VibkJhXFJP2oviZC5JNJbUL9yueJYYXxM\"]}},\"version\":1}"}},"src/contracts/test/TestERC721.sol":{"TestERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_116":{"entryPoint":null,"id":116,"parameterSlots":2,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":204,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":287,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":144,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":122,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:2","statements":[{"nodeType":"YulBlock","src":"6:3:2","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:2"},"nodeType":"YulFunctionCall","src":"66:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:2"},"nodeType":"YulFunctionCall","src":"56:31:2"},"nodeType":"YulExpressionStatement","src":"56:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:2","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:2"},"nodeType":"YulFunctionCall","src":"96:15:2"},"nodeType":"YulExpressionStatement","src":"96:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:2"},"nodeType":"YulFunctionCall","src":"120:15:2"},"nodeType":"YulExpressionStatement","src":"120:15:2"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:2"},{"body":{"nodeType":"YulBlock","src":"201:325:2","statements":[{"nodeType":"YulAssignment","src":"211:22:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:2","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:2"},"nodeType":"YulFunctionCall","src":"221:12:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:2"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:2","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:2"},"nodeType":"YulFunctionCall","src":"268:12:2"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:2","statements":[{"nodeType":"YulAssignment","src":"321:27:2","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:2","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:2"},"nodeType":"YulFunctionCall","src":"331:17:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:2"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:2"},"nodeType":"YulFunctionCall","src":"292:26:2"},"nodeType":"YulIf","src":"289:61:2"},{"body":{"nodeType":"YulBlock","src":"409:111:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:2"},"nodeType":"YulFunctionCall","src":"433:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:2"},"nodeType":"YulFunctionCall","src":"423:31:2"},"nodeType":"YulExpressionStatement","src":"423:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:2","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:2"},"nodeType":"YulFunctionCall","src":"467:15:2"},"nodeType":"YulExpressionStatement","src":"467:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:2"},"nodeType":"YulFunctionCall","src":"495:15:2"},"nodeType":"YulExpressionStatement","src":"495:15:2"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:2","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:2"},"nodeType":"YulFunctionCall","src":"385:14:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:2"},"nodeType":"YulFunctionCall","src":"362:38:2"},"nodeType":"YulIf","src":"359:161:2"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:2","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:2","type":""}],"src":"146:380:2"},{"body":{"nodeType":"YulBlock","src":"587:65:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:2","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:2"},"nodeType":"YulFunctionCall","src":"597:14:2"},"nodeType":"YulExpressionStatement","src":"597:14:2"},{"nodeType":"YulAssignment","src":"620:26:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:2","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:2"},"nodeType":"YulFunctionCall","src":"628:18:2"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:2"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:2","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:2","type":""}],"src":"531:121:2"},{"body":{"nodeType":"YulBlock","src":"738:464:2","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:2","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:2","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:2","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:2","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:2"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:2"},"nodeType":"YulFunctionCall","src":"809:17:2"},"nodeType":"YulExpressionStatement","src":"809:17:2"},{"nodeType":"YulVariableDeclaration","src":"839:31:2","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:2"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:2","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:2"},"nodeType":"YulFunctionCall","src":"851:19:2"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:2","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:2"},"nodeType":"YulFunctionCall","src":"919:19:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:2"},"nodeType":"YulFunctionCall","src":"912:27:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:2"},"nodeType":"YulFunctionCall","src":"902:38:2"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:2","statements":[{"nodeType":"YulAssignment","src":"979:19:2","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:2"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:2"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:2","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:2"},"nodeType":"YulFunctionCall","src":"956:20:2"},"nodeType":"YulIf","src":"953:47:2"},{"nodeType":"YulVariableDeclaration","src":"1013:41:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:2","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:2"},"nodeType":"YulFunctionCall","src":"1040:12:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:2"},"nodeType":"YulFunctionCall","src":"1033:20:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:2"},"nodeType":"YulFunctionCall","src":"1023:31:2"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:2","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:2"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:2","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:2"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:2"},"nodeType":"YulFunctionCall","src":"1167:17:2"},"nodeType":"YulExpressionStatement","src":"1167:17:2"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:2"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:2"},"nodeType":"YulFunctionCall","src":"1112:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:2","statements":[{"nodeType":"YulAssignment","src":"1128:22:2","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:2"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:2"},"nodeType":"YulFunctionCall","src":"1137:13:2"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:2"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:2","statements":[]},"src":"1104:82:2"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:2","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:2"},"nodeType":"YulFunctionCall","src":"751:11:2"},"nodeType":"YulIf","src":"748:448:2"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:2","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:2","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:2","type":""}],"src":"657:545:2"},{"body":{"nodeType":"YulBlock","src":"1292:81:2","statements":[{"nodeType":"YulAssignment","src":"1302:65:2","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:2"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:2","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:2"},"nodeType":"YulFunctionCall","src":"1331:11:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:2","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:2"},"nodeType":"YulFunctionCall","src":"1344:6:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:2"},"nodeType":"YulFunctionCall","src":"1327:24:2"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:2"},"nodeType":"YulFunctionCall","src":"1323:29:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:2"},"nodeType":"YulFunctionCall","src":"1313:40:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:2","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:2"},"nodeType":"YulFunctionCall","src":"1355:11:2"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:2"},"nodeType":"YulFunctionCall","src":"1310:57:2"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:2"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:2","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:2","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:2","type":""}],"src":"1207:166:2"},{"body":{"nodeType":"YulBlock","src":"1474:1256:2","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:2","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:2"},"nodeType":"YulFunctionCall","src":"1498:10:2"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:2"},"nodeType":"YulFunctionCall","src":"1553:18:2"},"nodeType":"YulExpressionStatement","src":"1553:18:2"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:2","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:2"},"nodeType":"YulFunctionCall","src":"1535:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:2"},"nodeType":"YulFunctionCall","src":"1531:18:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:2"},"nodeType":"YulFunctionCall","src":"1520:30:2"},"nodeType":"YulIf","src":"1517:56:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:2"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:2"},"nodeType":"YulFunctionCall","src":"1658:11:2"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:2"},"nodeType":"YulFunctionCall","src":"1632:38:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:2"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:2"},"nodeType":"YulFunctionCall","src":"1582:97:2"},"nodeType":"YulExpressionStatement","src":"1582:97:2"},{"nodeType":"YulVariableDeclaration","src":"1688:18:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:2","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:2","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:2","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:2","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:2"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:2"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:2","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:2","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:2","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:2"},"nodeType":"YulFunctionCall","src":"1858:7:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:2"},"nodeType":"YulFunctionCall","src":"1846:20:2"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:2","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:2"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:2"},"nodeType":"YulFunctionCall","src":"1893:35:2"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:2","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:2"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:2"},"nodeType":"YulFunctionCall","src":"2067:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:2"},"nodeType":"YulFunctionCall","src":"2061:26:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:2"},"nodeType":"YulFunctionCall","src":"2046:42:2"},"nodeType":"YulExpressionStatement","src":"2046:42:2"},{"nodeType":"YulAssignment","src":"2105:24:2","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:2"},"nodeType":"YulFunctionCall","src":"2115:14:2"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:2"}]},{"nodeType":"YulAssignment","src":"2146:40:2","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:2"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:2"},"nodeType":"YulFunctionCall","src":"2159:27:2"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:2"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:2"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:2"},"nodeType":"YulFunctionCall","src":"1972:14:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:2","statements":[{"nodeType":"YulAssignment","src":"1989:24:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:2"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:2"},"nodeType":"YulFunctionCall","src":"1994:19:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:2","statements":[]},"src":"1964:236:2"},{"body":{"nodeType":"YulBlock","src":"2248:166:2","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:2","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:2"},"nodeType":"YulFunctionCall","src":"2289:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:2"},"nodeType":"YulFunctionCall","src":"2283:26:2"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:2","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:2"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:2"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:2","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:2"},"nodeType":"YulFunctionCall","src":"2368:14:2"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:2","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:2"},"nodeType":"YulFunctionCall","src":"2364:24:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:2","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:2"},"nodeType":"YulFunctionCall","src":"2390:6:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:2"},"nodeType":"YulFunctionCall","src":"2360:37:2"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:2"},"nodeType":"YulFunctionCall","src":"2356:42:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:2"},"nodeType":"YulFunctionCall","src":"2341:58:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:2"},"nodeType":"YulFunctionCall","src":"2326:74:2"},"nodeType":"YulExpressionStatement","src":"2326:74:2"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:2"},"nodeType":"YulFunctionCall","src":"2216:19:2"},"nodeType":"YulIf","src":"2213:201:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:2","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:2"},"nodeType":"YulFunctionCall","src":"2444:14:2"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:2"},"nodeType":"YulFunctionCall","src":"2440:22:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:2"},"nodeType":"YulFunctionCall","src":"2427:36:2"},"nodeType":"YulExpressionStatement","src":"2427:36:2"}]},"nodeType":"YulCase","src":"1810:663:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:2","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:2","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:2","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:2","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:2","statements":[{"nodeType":"YulAssignment","src":"2571:35:2","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:2"},"nodeType":"YulFunctionCall","src":"2586:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:2"},"nodeType":"YulFunctionCall","src":"2580:26:2"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:2"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:2"},"nodeType":"YulIf","src":"2531:89:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:2"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:2"},"nodeType":"YulFunctionCall","src":"2646:67:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:2"},"nodeType":"YulFunctionCall","src":"2633:81:2"},"nodeType":"YulExpressionStatement","src":"2633:81:2"}]},"nodeType":"YulCase","src":"2482:242:2","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:2","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:2"},"nodeType":"YulFunctionCall","src":"1787:14:2"},"nodeType":"YulSwitch","src":"1780:944:2"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:2","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:2","type":""}],"src":"1378:1352:2"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":2,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b50604051806040016040528060078152602001665465737437323160c81b8152506040518060400160405280600681526020016554535437323160d01b81525081600090816200006291906200011f565b5060016200007182826200011f565b505050620001eb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a557607f821691505b602082108103620000c657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011a57600081815260208120601f850160051c81016020861015620000f55750805b601f850160051c820191505b81811015620001165782815560010162000101565b5050505b505050565b81516001600160401b038111156200013b576200013b6200007a565b62000153816200014c845462000090565b84620000cc565b602080601f8311600181146200018b5760008415620001725750858301515b600019600386901b1c1916600185901b17855562000116565b600085815260208120601f198616915b82811015620001bc578886015182559484019460019091019084016200019b565b5085821015620001db5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610d6480620001fb6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101f7578063b88d4fde1461020a578063c87b56dd1461021d578063e985e9c51461024e57600080fd5b80636352211e146101bb57806370a08231146101ce57806395d89b41146101ef57600080fd5b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018257806340c10f191461019557806342842e0e146101a857600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610a56565b61027c565b60405190151581526020015b60405180910390f35b61011f6102ce565b60405161010e9190610a7a565b61015561013a366004610ac8565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61018061017b366004610af8565b61035c565b005b610180610190366004610b22565b610443565b6101026101a3366004610af8565b61060a565b6101806101b6366004610b22565b61061f565b6101556101c9366004610ac8565b610717565b6101e16101dc366004610b5e565b61076e565b60405190815260200161010e565b61011f6107d1565b610180610205366004610b79565b6107de565b610180610218366004610bb5565b61084a565b61011f61022b366004610ac8565b50604080518082019091526008815267746f6b656e55524960c01b602082015290565b61010261025c366004610c50565b600560209081526000928352604080842090915290825290205460ff1681565b60006301ffc9a760e01b6001600160e01b0319831614806102ad57506380ac58cd60e01b6001600160e01b03198316145b806102c85750635b5e139f60e01b6001600160e01b03198316145b92915050565b600080546102db90610c83565b80601f016020809104026020016040519081016040528092919081815260200182805461030790610c83565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b505050505081565b6000818152600260205260409020546001600160a01b0316338114806103a557506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6103e75760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b038481169116146104995760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016103de565b6001600160a01b0382166104e35760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016103de565b336001600160a01b038416148061051d57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b8061053e57506000818152600460205260409020546001600160a01b031633145b61057b5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016103de565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006106168383610932565b50600192915050565b61062a838383610443565b6001600160a01b0382163b15806106d35750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af11580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c79190610cbd565b6001600160e01b031916145b6107125760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016103de565b505050565b6000818152600260205260409020546001600160a01b0316806107695760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016103de565b919050565b60006001600160a01b0382166107b55760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016103de565b506001600160a01b031660009081526003602052604090205490565b600180546102db90610c83565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610855858585610443565b6001600160a01b0384163b15806108ec5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a029061089d9033908a90899089908990600401610cda565b6020604051808303816000875af11580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190610cbd565b6001600160e01b031916145b61092b5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016103de565b5050505050565b6001600160a01b03821661097c5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016103de565b6000818152600260205260409020546001600160a01b0316156109d25760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016103de565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610a5357600080fd5b50565b600060208284031215610a6857600080fd5b8135610a7381610a3d565b9392505050565b600060208083528351808285015260005b81811015610aa757858101830151858201604001528201610a8b565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610ada57600080fd5b5035919050565b80356001600160a01b038116811461076957600080fd5b60008060408385031215610b0b57600080fd5b610b1483610ae1565b946020939093013593505050565b600080600060608486031215610b3757600080fd5b610b4084610ae1565b9250610b4e60208501610ae1565b9150604084013590509250925092565b600060208284031215610b7057600080fd5b610a7382610ae1565b60008060408385031215610b8c57600080fd5b610b9583610ae1565b915060208301358015158114610baa57600080fd5b809150509250929050565b600080600080600060808688031215610bcd57600080fd5b610bd686610ae1565b9450610be460208701610ae1565b935060408601359250606086013567ffffffffffffffff80821115610c0857600080fd5b818801915088601f830112610c1c57600080fd5b813581811115610c2b57600080fd5b896020828501011115610c3d57600080fd5b9699959850939650602001949392505050565b60008060408385031215610c6357600080fd5b610c6c83610ae1565b9150610c7a60208401610ae1565b90509250929050565b600181811c90821680610c9757607f821691505b602082108103610cb757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610ccf57600080fd5b8151610a7381610a3d565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea2646970667358221220bd70f413becbe429ed91e22d655a0368bde19f3b938e121d8bd4ac9b7cac22dd64736f6c63430008110033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH7 0x54657374373231 PUSH1 0xC8 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x545354373231 PUSH1 0xD0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x62 SWAP2 SWAP1 PUSH3 0x11F JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x71 DUP3 DUP3 PUSH3 0x11F JUMP JUMPDEST POP POP POP PUSH3 0x1EB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0xC6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x11A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0xF5 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x116 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x101 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x13B JUMPI PUSH3 0x13B PUSH3 0x7A JUMP JUMPDEST PUSH3 0x153 DUP2 PUSH3 0x14C DUP5 SLOAD PUSH3 0x90 JUMP JUMPDEST DUP5 PUSH3 0xCC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x18B JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x172 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x116 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x1BC JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x19B JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x1DB JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0xD64 DUP1 PUSH3 0x1FB PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x20A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x24E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xA56 JUMP JUMPDEST PUSH2 0x27C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x2CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xA7A JUMP JUMPDEST PUSH2 0x155 PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x180 PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xAF8 JUMP JUMPDEST PUSH2 0x35C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0xB22 JUMP JUMPDEST PUSH2 0x443 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x1A3 CALLDATASIZE PUSH1 0x4 PUSH2 0xAF8 JUMP JUMPDEST PUSH2 0x60A JUMP JUMPDEST PUSH2 0x180 PUSH2 0x1B6 CALLDATASIZE PUSH1 0x4 PUSH2 0xB22 JUMP JUMPDEST PUSH2 0x61F JUMP JUMPDEST PUSH2 0x155 PUSH2 0x1C9 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST PUSH2 0x717 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0xB5E JUMP JUMPDEST PUSH2 0x76E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x180 PUSH2 0x205 CALLDATASIZE PUSH1 0x4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0x7DE JUMP JUMPDEST PUSH2 0x180 PUSH2 0x218 CALLDATASIZE PUSH1 0x4 PUSH2 0xBB5 JUMP JUMPDEST PUSH2 0x84A JUMP JUMPDEST PUSH2 0x11F PUSH2 0x22B CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x8 DUP2 MSTORE PUSH8 0x746F6B656E555249 PUSH1 0xC0 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC50 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ DUP1 PUSH2 0x2AD JUMPI POP PUSH4 0x80AC58CD PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST DUP1 PUSH2 0x2C8 JUMPI POP PUSH4 0x5B5E139F PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x2DB SWAP1 PUSH2 0xC83 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0xC83 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ DUP1 PUSH2 0x3A5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST PUSH2 0x3E7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1393D517D055551213D492569151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 AND EQ PUSH2 0x499 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x57524F4E475F46524F4D PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1253959053125117D49150D25412515395 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EQ DUP1 PUSH2 0x51D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x53E JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ JUMPDEST PUSH2 0x57B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1393D517D055551213D492569151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP4 DUP7 AND DUP1 DUP4 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP6 DUP4 MSTORE PUSH1 0x2 DUP3 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP4 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 SWAP2 SSTORE SWAP3 MLOAD DUP5 SWAP4 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x616 DUP4 DUP4 PUSH2 0x932 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x62A DUP4 DUP4 DUP4 PUSH2 0x443 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE ISZERO DUP1 PUSH2 0x6D3 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP1 DUP3 MSTORE CALLER PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x64 DUP5 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP5 ADD MSTORE SWAP1 SWAP2 SWAP1 DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH1 0xA4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0xCBD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ JUMPDEST PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x155394D0519157D49150D25412515395 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x769 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x1393D517D35253951151 PUSH1 0xB2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x5A45524F5F41444452455353 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x2DB SWAP1 PUSH2 0xC83 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x855 DUP6 DUP6 DUP6 PUSH2 0x443 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO DUP1 PUSH2 0x8EC JUMPI POP PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP1 DUP3 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x89D SWAP1 CALLER SWAP1 DUP11 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0xCDA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x8BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8E0 SWAP2 SWAP1 PUSH2 0xCBD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ JUMPDEST PUSH2 0x92B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x155394D0519157D49150D25412515395 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x97C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1253959053125117D49150D25412515395 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x9D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1053149150511657D35253951151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xA53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xA73 DUP2 PUSH2 0xA3D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xAA7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xA8B JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xADA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB14 DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xB37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB40 DUP5 PUSH2 0xAE1 JUMP JUMPDEST SWAP3 POP PUSH2 0xB4E PUSH1 0x20 DUP6 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA73 DUP3 PUSH2 0xAE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB95 DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xBCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBD6 DUP7 PUSH2 0xAE1 JUMP JUMPDEST SWAP5 POP PUSH2 0xBE4 PUSH1 0x20 DUP8 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xC1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xC2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6C DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH2 0xC7A PUSH1 0x20 DUP5 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xC97 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xCB7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xA73 DUP2 PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 DUP3 DUP5 PUSH1 0xA0 DUP5 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0xA0 DUP5 DUP5 ADD ADD MSTORE PUSH1 0xA0 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP4 ADD ADD SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH17 0xF413BECBE429ED91E22D655A0368BDE19F EXTCODESIZE SWAP4 DUP15 SLT SAR DUP12 0xD4 0xAC SWAP12 PUSH29 0xAC22DD64736F6C63430008110033000000000000000000000000000000 ","sourceMap":"164:292:1:-:0;;;;;;;;;;;;;2151:111:0;;;;;;;;;;;;;-1:-1:-1;;;2151:111:0;;;;;;;;;;;;;;;;-1:-1:-1;;;2151:111:0;;;2224:5;2217:4;:12;;;;;;:::i;:::-;-1:-1:-1;2239:6:0;:16;2248:7;2239:6;:16;:::i;:::-;;2151:111;;164:292:1;;14:127:2;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:2;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:2;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:2;;;2580:26;2531:89;-1:-1:-1;;1335:1:2;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:2;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:2;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:2;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:2:o;:::-;164:292:1;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_mint_413":{"entryPoint":2354,"id":413,"parameterSlots":2,"returnSlots":0},"@approve_157":{"entryPoint":860,"id":157,"parameterSlots":2,"returnSlots":0},"@balanceOf_90":{"entryPoint":1902,"id":90,"parameterSlots":1,"returnSlots":1},"@getApproved_94":{"entryPoint":null,"id":94,"parameterSlots":0,"returnSlots":0},"@isApprovedForAll_100":{"entryPoint":null,"id":100,"parameterSlots":0,"returnSlots":0},"@mint_587":{"entryPoint":1546,"id":587,"parameterSlots":2,"returnSlots":1},"@name_28":{"entryPoint":718,"id":28,"parameterSlots":0,"returnSlots":0},"@ownerOf_68":{"entryPoint":1815,"id":68,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_300":{"entryPoint":1567,"id":300,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_342":{"entryPoint":2122,"id":342,"parameterSlots":5,"returnSlots":0},"@setApprovalForAll_181":{"entryPoint":2014,"id":181,"parameterSlots":2,"returnSlots":0},"@supportsInterface_362":{"entryPoint":636,"id":362,"parameterSlots":1,"returnSlots":1},"@symbol_30":{"entryPoint":2001,"id":30,"parameterSlots":0,"returnSlots":0},"@tokenURI_598":{"entryPoint":null,"id":598,"parameterSlots":1,"returnSlots":1},"@transferFrom_260":{"entryPoint":1091,"id":260,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":2785,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2910,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3152,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":2850,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_calldata_ptr":{"entryPoint":2997,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_bool":{"entryPoint":2937,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":2808,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":2646,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":3261,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":2760,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":3290,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2682,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":3203,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_bytes4":{"entryPoint":2621,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8370:2","statements":[{"nodeType":"YulBlock","src":"6:3:2","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:2","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:2"},"nodeType":"YulFunctionCall","src":"125:12:2"},"nodeType":"YulExpressionStatement","src":"125:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:2","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:2"},"nodeType":"YulFunctionCall","src":"99:20:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:2"},"nodeType":"YulFunctionCall","src":"88:32:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:2"},"nodeType":"YulFunctionCall","src":"78:43:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:2"},"nodeType":"YulFunctionCall","src":"71:51:2"},"nodeType":"YulIf","src":"68:71:2"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:2","type":""}],"src":"14:131:2"},{"body":{"nodeType":"YulBlock","src":"219:176:2","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:2"},"nodeType":"YulFunctionCall","src":"267:12:2"},"nodeType":"YulExpressionStatement","src":"267:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:2"},"nodeType":"YulFunctionCall","src":"236:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:2"},"nodeType":"YulFunctionCall","src":"232:32:2"},"nodeType":"YulIf","src":"229:52:2"},{"nodeType":"YulVariableDeclaration","src":"290:36:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:2"},"nodeType":"YulFunctionCall","src":"303:23:2"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:2","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:2"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:2"},"nodeType":"YulFunctionCall","src":"335:30:2"},"nodeType":"YulExpressionStatement","src":"335:30:2"},{"nodeType":"YulAssignment","src":"374:15:2","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:2"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:2","type":""}],"src":"150:245:2"},{"body":{"nodeType":"YulBlock","src":"495:92:2","statements":[{"nodeType":"YulAssignment","src":"505:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:2"},"nodeType":"YulFunctionCall","src":"513:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:2"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:2"},"nodeType":"YulFunctionCall","src":"565:14:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:2"},"nodeType":"YulFunctionCall","src":"558:22:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:2"},"nodeType":"YulFunctionCall","src":"540:41:2"},"nodeType":"YulExpressionStatement","src":"540:41:2"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:2","type":""}],"src":"400:187:2"},{"body":{"nodeType":"YulBlock","src":"713:427:2","statements":[{"nodeType":"YulVariableDeclaration","src":"723:12:2","value":{"kind":"number","nodeType":"YulLiteral","src":"733:2:2","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"727:2:2","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"751:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"762:2:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"744:6:2"},"nodeType":"YulFunctionCall","src":"744:21:2"},"nodeType":"YulExpressionStatement","src":"744:21:2"},{"nodeType":"YulVariableDeclaration","src":"774:27:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"794:6:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"788:5:2"},"nodeType":"YulFunctionCall","src":"788:13:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"778:6:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"821:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"832:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"817:3:2"},"nodeType":"YulFunctionCall","src":"817:18:2"},{"name":"length","nodeType":"YulIdentifier","src":"837:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"810:6:2"},"nodeType":"YulFunctionCall","src":"810:34:2"},"nodeType":"YulExpressionStatement","src":"810:34:2"},{"nodeType":"YulVariableDeclaration","src":"853:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"862:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"857:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"922:90:2","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"951:9:2"},{"name":"i","nodeType":"YulIdentifier","src":"962:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"947:3:2"},"nodeType":"YulFunctionCall","src":"947:17:2"},{"kind":"number","nodeType":"YulLiteral","src":"966:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"943:3:2"},"nodeType":"YulFunctionCall","src":"943:26:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"985:6:2"},{"name":"i","nodeType":"YulIdentifier","src":"993:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"981:3:2"},"nodeType":"YulFunctionCall","src":"981:14:2"},{"name":"_1","nodeType":"YulIdentifier","src":"997:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"977:3:2"},"nodeType":"YulFunctionCall","src":"977:23:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"971:5:2"},"nodeType":"YulFunctionCall","src":"971:30:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"936:6:2"},"nodeType":"YulFunctionCall","src":"936:66:2"},"nodeType":"YulExpressionStatement","src":"936:66:2"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"883:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"886:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"880:2:2"},"nodeType":"YulFunctionCall","src":"880:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"894:19:2","statements":[{"nodeType":"YulAssignment","src":"896:15:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"905:1:2"},{"name":"_1","nodeType":"YulIdentifier","src":"908:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"901:3:2"},"nodeType":"YulFunctionCall","src":"901:10:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"896:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"876:3:2","statements":[]},"src":"872:140:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1036:9:2"},{"name":"length","nodeType":"YulIdentifier","src":"1047:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1032:3:2"},"nodeType":"YulFunctionCall","src":"1032:22:2"},{"kind":"number","nodeType":"YulLiteral","src":"1056:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1028:3:2"},"nodeType":"YulFunctionCall","src":"1028:31:2"},{"kind":"number","nodeType":"YulLiteral","src":"1061:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1021:6:2"},"nodeType":"YulFunctionCall","src":"1021:42:2"},"nodeType":"YulExpressionStatement","src":"1021:42:2"},{"nodeType":"YulAssignment","src":"1072:62:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1088:9:2"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1107:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"1115:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1103:3:2"},"nodeType":"YulFunctionCall","src":"1103:15:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1124:2:2","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1120:3:2"},"nodeType":"YulFunctionCall","src":"1120:7:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1099:3:2"},"nodeType":"YulFunctionCall","src":"1099:29:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1084:3:2"},"nodeType":"YulFunctionCall","src":"1084:45:2"},{"kind":"number","nodeType":"YulLiteral","src":"1131:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1080:3:2"},"nodeType":"YulFunctionCall","src":"1080:54:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1072:4:2"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"682:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"693:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"704:4:2","type":""}],"src":"592:548:2"},{"body":{"nodeType":"YulBlock","src":"1215:110:2","statements":[{"body":{"nodeType":"YulBlock","src":"1261:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1270:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1273:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1263:6:2"},"nodeType":"YulFunctionCall","src":"1263:12:2"},"nodeType":"YulExpressionStatement","src":"1263:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1236:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"1245:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1232:3:2"},"nodeType":"YulFunctionCall","src":"1232:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"1257:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1228:3:2"},"nodeType":"YulFunctionCall","src":"1228:32:2"},"nodeType":"YulIf","src":"1225:52:2"},{"nodeType":"YulAssignment","src":"1286:33:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1309:9:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1296:12:2"},"nodeType":"YulFunctionCall","src":"1296:23:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1286:6:2"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1181:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1192:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1204:6:2","type":""}],"src":"1145:180:2"},{"body":{"nodeType":"YulBlock","src":"1431:102:2","statements":[{"nodeType":"YulAssignment","src":"1441:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1453:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1464:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1449:3:2"},"nodeType":"YulFunctionCall","src":"1449:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1441:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1483:9:2"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1498:6:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1514:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1519:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1510:3:2"},"nodeType":"YulFunctionCall","src":"1510:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"1523:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1506:3:2"},"nodeType":"YulFunctionCall","src":"1506:19:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1494:3:2"},"nodeType":"YulFunctionCall","src":"1494:32:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1476:6:2"},"nodeType":"YulFunctionCall","src":"1476:51:2"},"nodeType":"YulExpressionStatement","src":"1476:51:2"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1400:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1411:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1422:4:2","type":""}],"src":"1330:203:2"},{"body":{"nodeType":"YulBlock","src":"1587:124:2","statements":[{"nodeType":"YulAssignment","src":"1597:29:2","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1619:6:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1606:12:2"},"nodeType":"YulFunctionCall","src":"1606:20:2"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1597:5:2"}]},{"body":{"nodeType":"YulBlock","src":"1689:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1698:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1701:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1691:6:2"},"nodeType":"YulFunctionCall","src":"1691:12:2"},"nodeType":"YulExpressionStatement","src":"1691:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1648:5:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1659:5:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1674:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1679:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1670:3:2"},"nodeType":"YulFunctionCall","src":"1670:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"1683:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1666:3:2"},"nodeType":"YulFunctionCall","src":"1666:19:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1655:3:2"},"nodeType":"YulFunctionCall","src":"1655:31:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1645:2:2"},"nodeType":"YulFunctionCall","src":"1645:42:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1638:6:2"},"nodeType":"YulFunctionCall","src":"1638:50:2"},"nodeType":"YulIf","src":"1635:70:2"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1566:6:2","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1577:5:2","type":""}],"src":"1538:173:2"},{"body":{"nodeType":"YulBlock","src":"1803:167:2","statements":[{"body":{"nodeType":"YulBlock","src":"1849:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1858:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1861:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1851:6:2"},"nodeType":"YulFunctionCall","src":"1851:12:2"},"nodeType":"YulExpressionStatement","src":"1851:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1824:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"1833:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1820:3:2"},"nodeType":"YulFunctionCall","src":"1820:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"1845:2:2","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1816:3:2"},"nodeType":"YulFunctionCall","src":"1816:32:2"},"nodeType":"YulIf","src":"1813:52:2"},{"nodeType":"YulAssignment","src":"1874:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1903:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1884:18:2"},"nodeType":"YulFunctionCall","src":"1884:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1874:6:2"}]},{"nodeType":"YulAssignment","src":"1922:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1949:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1960:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1945:3:2"},"nodeType":"YulFunctionCall","src":"1945:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1932:12:2"},"nodeType":"YulFunctionCall","src":"1932:32:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1922:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1761:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1772:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1784:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1792:6:2","type":""}],"src":"1716:254:2"},{"body":{"nodeType":"YulBlock","src":"2079:224:2","statements":[{"body":{"nodeType":"YulBlock","src":"2125:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2134:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2137:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2127:6:2"},"nodeType":"YulFunctionCall","src":"2127:12:2"},"nodeType":"YulExpressionStatement","src":"2127:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2100:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"2109:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2096:3:2"},"nodeType":"YulFunctionCall","src":"2096:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"2121:2:2","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2092:3:2"},"nodeType":"YulFunctionCall","src":"2092:32:2"},"nodeType":"YulIf","src":"2089:52:2"},{"nodeType":"YulAssignment","src":"2150:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2179:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2160:18:2"},"nodeType":"YulFunctionCall","src":"2160:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2150:6:2"}]},{"nodeType":"YulAssignment","src":"2198:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2231:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2242:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2227:3:2"},"nodeType":"YulFunctionCall","src":"2227:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2208:18:2"},"nodeType":"YulFunctionCall","src":"2208:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2198:6:2"}]},{"nodeType":"YulAssignment","src":"2255:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2282:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2293:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2278:3:2"},"nodeType":"YulFunctionCall","src":"2278:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2265:12:2"},"nodeType":"YulFunctionCall","src":"2265:32:2"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2255:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2029:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2040:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2052:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2060:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2068:6:2","type":""}],"src":"1975:328:2"},{"body":{"nodeType":"YulBlock","src":"2378:116:2","statements":[{"body":{"nodeType":"YulBlock","src":"2424:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2433:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2436:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2426:6:2"},"nodeType":"YulFunctionCall","src":"2426:12:2"},"nodeType":"YulExpressionStatement","src":"2426:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2399:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"2408:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2395:3:2"},"nodeType":"YulFunctionCall","src":"2395:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"2420:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2391:3:2"},"nodeType":"YulFunctionCall","src":"2391:32:2"},"nodeType":"YulIf","src":"2388:52:2"},{"nodeType":"YulAssignment","src":"2449:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2478:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2459:18:2"},"nodeType":"YulFunctionCall","src":"2459:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2449:6:2"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2344:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2355:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2367:6:2","type":""}],"src":"2308:186:2"},{"body":{"nodeType":"YulBlock","src":"2600:76:2","statements":[{"nodeType":"YulAssignment","src":"2610:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2622:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2633:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2618:3:2"},"nodeType":"YulFunctionCall","src":"2618:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2610:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2652:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"2663:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2645:6:2"},"nodeType":"YulFunctionCall","src":"2645:25:2"},"nodeType":"YulExpressionStatement","src":"2645:25:2"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2569:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2580:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2591:4:2","type":""}],"src":"2499:177:2"},{"body":{"nodeType":"YulBlock","src":"2765:263:2","statements":[{"body":{"nodeType":"YulBlock","src":"2811:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2820:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2823:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2813:6:2"},"nodeType":"YulFunctionCall","src":"2813:12:2"},"nodeType":"YulExpressionStatement","src":"2813:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2786:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"2795:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2782:3:2"},"nodeType":"YulFunctionCall","src":"2782:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"2807:2:2","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2778:3:2"},"nodeType":"YulFunctionCall","src":"2778:32:2"},"nodeType":"YulIf","src":"2775:52:2"},{"nodeType":"YulAssignment","src":"2836:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2865:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2846:18:2"},"nodeType":"YulFunctionCall","src":"2846:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2836:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"2884:45:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2914:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2925:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:2"},"nodeType":"YulFunctionCall","src":"2910:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2897:12:2"},"nodeType":"YulFunctionCall","src":"2897:32:2"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2888:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2982:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2991:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2994:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2984:6:2"},"nodeType":"YulFunctionCall","src":"2984:12:2"},"nodeType":"YulExpressionStatement","src":"2984:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2951:5:2"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2972:5:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2965:6:2"},"nodeType":"YulFunctionCall","src":"2965:13:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2958:6:2"},"nodeType":"YulFunctionCall","src":"2958:21:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2948:2:2"},"nodeType":"YulFunctionCall","src":"2948:32:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2941:6:2"},"nodeType":"YulFunctionCall","src":"2941:40:2"},"nodeType":"YulIf","src":"2938:60:2"},{"nodeType":"YulAssignment","src":"3007:15:2","value":{"name":"value","nodeType":"YulIdentifier","src":"3017:5:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3007:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2723:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2734:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2746:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2754:6:2","type":""}],"src":"2681:347:2"},{"body":{"nodeType":"YulBlock","src":"3173:668:2","statements":[{"body":{"nodeType":"YulBlock","src":"3220:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3229:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3232:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3222:6:2"},"nodeType":"YulFunctionCall","src":"3222:12:2"},"nodeType":"YulExpressionStatement","src":"3222:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3194:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"3203:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3190:3:2"},"nodeType":"YulFunctionCall","src":"3190:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"3215:3:2","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3186:3:2"},"nodeType":"YulFunctionCall","src":"3186:33:2"},"nodeType":"YulIf","src":"3183:53:2"},{"nodeType":"YulAssignment","src":"3245:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3274:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3255:18:2"},"nodeType":"YulFunctionCall","src":"3255:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3245:6:2"}]},{"nodeType":"YulAssignment","src":"3293:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3326:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3337:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3322:3:2"},"nodeType":"YulFunctionCall","src":"3322:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3303:18:2"},"nodeType":"YulFunctionCall","src":"3303:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3293:6:2"}]},{"nodeType":"YulAssignment","src":"3350:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3377:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3388:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3373:3:2"},"nodeType":"YulFunctionCall","src":"3373:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3360:12:2"},"nodeType":"YulFunctionCall","src":"3360:32:2"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3350:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"3401:46:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3432:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3443:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3428:3:2"},"nodeType":"YulFunctionCall","src":"3428:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3415:12:2"},"nodeType":"YulFunctionCall","src":"3415:32:2"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3405:6:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3456:28:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3466:18:2","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3460:2:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3511:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3520:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3523:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3513:6:2"},"nodeType":"YulFunctionCall","src":"3513:12:2"},"nodeType":"YulExpressionStatement","src":"3513:12:2"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3499:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"3507:2:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3496:2:2"},"nodeType":"YulFunctionCall","src":"3496:14:2"},"nodeType":"YulIf","src":"3493:34:2"},{"nodeType":"YulVariableDeclaration","src":"3536:32:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3550:9:2"},{"name":"offset","nodeType":"YulIdentifier","src":"3561:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3546:3:2"},"nodeType":"YulFunctionCall","src":"3546:22:2"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3540:2:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3616:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3625:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3628:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3618:6:2"},"nodeType":"YulFunctionCall","src":"3618:12:2"},"nodeType":"YulExpressionStatement","src":"3618:12:2"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3595:2:2"},{"kind":"number","nodeType":"YulLiteral","src":"3599:4:2","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3591:3:2"},"nodeType":"YulFunctionCall","src":"3591:13:2"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3606:7:2"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3587:3:2"},"nodeType":"YulFunctionCall","src":"3587:27:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3580:6:2"},"nodeType":"YulFunctionCall","src":"3580:35:2"},"nodeType":"YulIf","src":"3577:55:2"},{"nodeType":"YulVariableDeclaration","src":"3641:30:2","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3668:2:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3655:12:2"},"nodeType":"YulFunctionCall","src":"3655:16:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3645:6:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3698:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3707:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3710:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3700:6:2"},"nodeType":"YulFunctionCall","src":"3700:12:2"},"nodeType":"YulExpressionStatement","src":"3700:12:2"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3686:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"3694:2:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3683:2:2"},"nodeType":"YulFunctionCall","src":"3683:14:2"},"nodeType":"YulIf","src":"3680:34:2"},{"body":{"nodeType":"YulBlock","src":"3764:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3773:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3776:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3766:6:2"},"nodeType":"YulFunctionCall","src":"3766:12:2"},"nodeType":"YulExpressionStatement","src":"3766:12:2"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3737:2:2"},{"name":"length","nodeType":"YulIdentifier","src":"3741:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3733:3:2"},"nodeType":"YulFunctionCall","src":"3733:15:2"},{"kind":"number","nodeType":"YulLiteral","src":"3750:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3729:3:2"},"nodeType":"YulFunctionCall","src":"3729:24:2"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3755:7:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3726:2:2"},"nodeType":"YulFunctionCall","src":"3726:37:2"},"nodeType":"YulIf","src":"3723:57:2"},{"nodeType":"YulAssignment","src":"3789:21:2","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3803:2:2"},{"kind":"number","nodeType":"YulLiteral","src":"3807:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3799:3:2"},"nodeType":"YulFunctionCall","src":"3799:11:2"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3789:6:2"}]},{"nodeType":"YulAssignment","src":"3819:16:2","value":{"name":"length","nodeType":"YulIdentifier","src":"3829:6:2"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"3819:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3107:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3118:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3130:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3138:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3146:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3154:6:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3162:6:2","type":""}],"src":"3033:808:2"},{"body":{"nodeType":"YulBlock","src":"3933:173:2","statements":[{"body":{"nodeType":"YulBlock","src":"3979:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3988:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3991:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3981:6:2"},"nodeType":"YulFunctionCall","src":"3981:12:2"},"nodeType":"YulExpressionStatement","src":"3981:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3954:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"3963:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3950:3:2"},"nodeType":"YulFunctionCall","src":"3950:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"3975:2:2","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3946:3:2"},"nodeType":"YulFunctionCall","src":"3946:32:2"},"nodeType":"YulIf","src":"3943:52:2"},{"nodeType":"YulAssignment","src":"4004:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4033:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4014:18:2"},"nodeType":"YulFunctionCall","src":"4014:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4004:6:2"}]},{"nodeType":"YulAssignment","src":"4052:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4085:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4096:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4081:3:2"},"nodeType":"YulFunctionCall","src":"4081:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4062:18:2"},"nodeType":"YulFunctionCall","src":"4062:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4052:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3891:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3902:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3914:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3922:6:2","type":""}],"src":"3846:260:2"},{"body":{"nodeType":"YulBlock","src":"4166:325:2","statements":[{"nodeType":"YulAssignment","src":"4176:22:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4190:1:2","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4193:4:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4186:3:2"},"nodeType":"YulFunctionCall","src":"4186:12:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4176:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"4207:38:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4237:4:2"},{"kind":"number","nodeType":"YulLiteral","src":"4243:1:2","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4233:3:2"},"nodeType":"YulFunctionCall","src":"4233:12:2"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4211:18:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"4284:31:2","statements":[{"nodeType":"YulAssignment","src":"4286:27:2","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4300:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"4308:4:2","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4296:3:2"},"nodeType":"YulFunctionCall","src":"4296:17:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4286:6:2"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4264:18:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4257:6:2"},"nodeType":"YulFunctionCall","src":"4257:26:2"},"nodeType":"YulIf","src":"4254:61:2"},{"body":{"nodeType":"YulBlock","src":"4374:111:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4395:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4402:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4407:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4398:3:2"},"nodeType":"YulFunctionCall","src":"4398:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4388:6:2"},"nodeType":"YulFunctionCall","src":"4388:31:2"},"nodeType":"YulExpressionStatement","src":"4388:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4439:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4442:4:2","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4432:6:2"},"nodeType":"YulFunctionCall","src":"4432:15:2"},"nodeType":"YulExpressionStatement","src":"4432:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4467:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4470:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4460:6:2"},"nodeType":"YulFunctionCall","src":"4460:15:2"},"nodeType":"YulExpressionStatement","src":"4460:15:2"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4330:18:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4353:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"4361:2:2","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4350:2:2"},"nodeType":"YulFunctionCall","src":"4350:14:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4327:2:2"},"nodeType":"YulFunctionCall","src":"4327:38:2"},"nodeType":"YulIf","src":"4324:161:2"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4146:4:2","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4155:6:2","type":""}],"src":"4111:380:2"},{"body":{"nodeType":"YulBlock","src":"4670:164:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4687:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4698:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4680:6:2"},"nodeType":"YulFunctionCall","src":"4680:21:2"},"nodeType":"YulExpressionStatement","src":"4680:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4721:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4732:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4717:3:2"},"nodeType":"YulFunctionCall","src":"4717:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"4737:2:2","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4710:6:2"},"nodeType":"YulFunctionCall","src":"4710:30:2"},"nodeType":"YulExpressionStatement","src":"4710:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4760:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4771:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4756:3:2"},"nodeType":"YulFunctionCall","src":"4756:18:2"},{"hexValue":"4e4f545f415554484f52495a4544","kind":"string","nodeType":"YulLiteral","src":"4776:16:2","type":"","value":"NOT_AUTHORIZED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4749:6:2"},"nodeType":"YulFunctionCall","src":"4749:44:2"},"nodeType":"YulExpressionStatement","src":"4749:44:2"},{"nodeType":"YulAssignment","src":"4802:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4814:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4825:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4810:3:2"},"nodeType":"YulFunctionCall","src":"4810:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4802:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4647:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4661:4:2","type":""}],"src":"4496:338:2"},{"body":{"nodeType":"YulBlock","src":"5013:160:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5030:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5041:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5023:6:2"},"nodeType":"YulFunctionCall","src":"5023:21:2"},"nodeType":"YulExpressionStatement","src":"5023:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5064:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5075:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5060:3:2"},"nodeType":"YulFunctionCall","src":"5060:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"5080:2:2","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5053:6:2"},"nodeType":"YulFunctionCall","src":"5053:30:2"},"nodeType":"YulExpressionStatement","src":"5053:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5103:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5114:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5099:3:2"},"nodeType":"YulFunctionCall","src":"5099:18:2"},{"hexValue":"57524f4e475f46524f4d","kind":"string","nodeType":"YulLiteral","src":"5119:12:2","type":"","value":"WRONG_FROM"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5092:6:2"},"nodeType":"YulFunctionCall","src":"5092:40:2"},"nodeType":"YulExpressionStatement","src":"5092:40:2"},{"nodeType":"YulAssignment","src":"5141:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5153:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5164:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5149:3:2"},"nodeType":"YulFunctionCall","src":"5149:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5141:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4990:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5004:4:2","type":""}],"src":"4839:334:2"},{"body":{"nodeType":"YulBlock","src":"5352:167:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5369:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5380:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5362:6:2"},"nodeType":"YulFunctionCall","src":"5362:21:2"},"nodeType":"YulExpressionStatement","src":"5362:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5403:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5414:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5399:3:2"},"nodeType":"YulFunctionCall","src":"5399:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"5419:2:2","type":"","value":"17"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5392:6:2"},"nodeType":"YulFunctionCall","src":"5392:30:2"},"nodeType":"YulExpressionStatement","src":"5392:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5442:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5453:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5438:3:2"},"nodeType":"YulFunctionCall","src":"5438:18:2"},{"hexValue":"494e56414c49445f524543495049454e54","kind":"string","nodeType":"YulLiteral","src":"5458:19:2","type":"","value":"INVALID_RECIPIENT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5431:6:2"},"nodeType":"YulFunctionCall","src":"5431:47:2"},"nodeType":"YulExpressionStatement","src":"5431:47:2"},{"nodeType":"YulAssignment","src":"5487:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5499:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5510:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5495:3:2"},"nodeType":"YulFunctionCall","src":"5495:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5487:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5329:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5343:4:2","type":""}],"src":"5178:341:2"},{"body":{"nodeType":"YulBlock","src":"5781:298:2","statements":[{"nodeType":"YulVariableDeclaration","src":"5791:29:2","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5809:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5814:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5805:3:2"},"nodeType":"YulFunctionCall","src":"5805:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"5818:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5801:3:2"},"nodeType":"YulFunctionCall","src":"5801:19:2"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5795:2:2","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5836:9:2"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5851:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"5859:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5847:3:2"},"nodeType":"YulFunctionCall","src":"5847:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5829:6:2"},"nodeType":"YulFunctionCall","src":"5829:34:2"},"nodeType":"YulExpressionStatement","src":"5829:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5883:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5894:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5879:3:2"},"nodeType":"YulFunctionCall","src":"5879:18:2"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5903:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"5911:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5899:3:2"},"nodeType":"YulFunctionCall","src":"5899:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5872:6:2"},"nodeType":"YulFunctionCall","src":"5872:43:2"},"nodeType":"YulExpressionStatement","src":"5872:43:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5935:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5946:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5931:3:2"},"nodeType":"YulFunctionCall","src":"5931:18:2"},{"name":"value2","nodeType":"YulIdentifier","src":"5951:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5924:6:2"},"nodeType":"YulFunctionCall","src":"5924:34:2"},"nodeType":"YulExpressionStatement","src":"5924:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5978:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5989:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5974:3:2"},"nodeType":"YulFunctionCall","src":"5974:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"5994:3:2","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5967:6:2"},"nodeType":"YulFunctionCall","src":"5967:31:2"},"nodeType":"YulExpressionStatement","src":"5967:31:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6018:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6029:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6014:3:2"},"nodeType":"YulFunctionCall","src":"6014:19:2"},{"kind":"number","nodeType":"YulLiteral","src":"6035:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6007:6:2"},"nodeType":"YulFunctionCall","src":"6007:30:2"},"nodeType":"YulExpressionStatement","src":"6007:30:2"},{"nodeType":"YulAssignment","src":"6046:27:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6058:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6069:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6054:3:2"},"nodeType":"YulFunctionCall","src":"6054:19:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6046:4:2"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5734:9:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5745:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5753:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5761:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5772:4:2","type":""}],"src":"5524:555:2"},{"body":{"nodeType":"YulBlock","src":"6164:169:2","statements":[{"body":{"nodeType":"YulBlock","src":"6210:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6219:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6222:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6212:6:2"},"nodeType":"YulFunctionCall","src":"6212:12:2"},"nodeType":"YulExpressionStatement","src":"6212:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6185:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"6194:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6181:3:2"},"nodeType":"YulFunctionCall","src":"6181:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"6206:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6177:3:2"},"nodeType":"YulFunctionCall","src":"6177:32:2"},"nodeType":"YulIf","src":"6174:52:2"},{"nodeType":"YulVariableDeclaration","src":"6235:29:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6254:9:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6248:5:2"},"nodeType":"YulFunctionCall","src":"6248:16:2"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6239:5:2","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6297:5:2"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"6273:23:2"},"nodeType":"YulFunctionCall","src":"6273:30:2"},"nodeType":"YulExpressionStatement","src":"6273:30:2"},{"nodeType":"YulAssignment","src":"6312:15:2","value":{"name":"value","nodeType":"YulIdentifier","src":"6322:5:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6312:6:2"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6130:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6141:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6153:6:2","type":""}],"src":"6084:249:2"},{"body":{"nodeType":"YulBlock","src":"6512:166:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6529:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6540:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6522:6:2"},"nodeType":"YulFunctionCall","src":"6522:21:2"},"nodeType":"YulExpressionStatement","src":"6522:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6563:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6574:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6559:3:2"},"nodeType":"YulFunctionCall","src":"6559:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"6579:2:2","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6552:6:2"},"nodeType":"YulFunctionCall","src":"6552:30:2"},"nodeType":"YulExpressionStatement","src":"6552:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6602:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6613:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6598:3:2"},"nodeType":"YulFunctionCall","src":"6598:18:2"},{"hexValue":"554e534146455f524543495049454e54","kind":"string","nodeType":"YulLiteral","src":"6618:18:2","type":"","value":"UNSAFE_RECIPIENT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6591:6:2"},"nodeType":"YulFunctionCall","src":"6591:46:2"},"nodeType":"YulExpressionStatement","src":"6591:46:2"},{"nodeType":"YulAssignment","src":"6646:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6658:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6669:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6654:3:2"},"nodeType":"YulFunctionCall","src":"6654:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6646:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6489:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6503:4:2","type":""}],"src":"6338:340:2"},{"body":{"nodeType":"YulBlock","src":"6857:160:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6874:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6885:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6867:6:2"},"nodeType":"YulFunctionCall","src":"6867:21:2"},"nodeType":"YulExpressionStatement","src":"6867:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6908:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6919:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6904:3:2"},"nodeType":"YulFunctionCall","src":"6904:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"6924:2:2","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6897:6:2"},"nodeType":"YulFunctionCall","src":"6897:30:2"},"nodeType":"YulExpressionStatement","src":"6897:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6947:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6958:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6943:3:2"},"nodeType":"YulFunctionCall","src":"6943:18:2"},{"hexValue":"4e4f545f4d494e544544","kind":"string","nodeType":"YulLiteral","src":"6963:12:2","type":"","value":"NOT_MINTED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6936:6:2"},"nodeType":"YulFunctionCall","src":"6936:40:2"},"nodeType":"YulExpressionStatement","src":"6936:40:2"},{"nodeType":"YulAssignment","src":"6985:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6997:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7008:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6993:3:2"},"nodeType":"YulFunctionCall","src":"6993:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6985:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6834:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6848:4:2","type":""}],"src":"6683:334:2"},{"body":{"nodeType":"YulBlock","src":"7196:162:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7213:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7224:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7206:6:2"},"nodeType":"YulFunctionCall","src":"7206:21:2"},"nodeType":"YulExpressionStatement","src":"7206:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7247:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7258:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7243:3:2"},"nodeType":"YulFunctionCall","src":"7243:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"7263:2:2","type":"","value":"12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7236:6:2"},"nodeType":"YulFunctionCall","src":"7236:30:2"},"nodeType":"YulExpressionStatement","src":"7236:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7286:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7297:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7282:3:2"},"nodeType":"YulFunctionCall","src":"7282:18:2"},{"hexValue":"5a45524f5f41444452455353","kind":"string","nodeType":"YulLiteral","src":"7302:14:2","type":"","value":"ZERO_ADDRESS"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7275:6:2"},"nodeType":"YulFunctionCall","src":"7275:42:2"},"nodeType":"YulExpressionStatement","src":"7275:42:2"},{"nodeType":"YulAssignment","src":"7326:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7338:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7349:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7334:3:2"},"nodeType":"YulFunctionCall","src":"7334:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7326:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7173:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7187:4:2","type":""}],"src":"7022:336:2"},{"body":{"nodeType":"YulBlock","src":"7576:449:2","statements":[{"nodeType":"YulVariableDeclaration","src":"7586:29:2","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7604:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7609:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7600:3:2"},"nodeType":"YulFunctionCall","src":"7600:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"7613:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7596:3:2"},"nodeType":"YulFunctionCall","src":"7596:19:2"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7590:2:2","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7631:9:2"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7646:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"7654:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7642:3:2"},"nodeType":"YulFunctionCall","src":"7642:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7624:6:2"},"nodeType":"YulFunctionCall","src":"7624:34:2"},"nodeType":"YulExpressionStatement","src":"7624:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7678:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7689:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7674:3:2"},"nodeType":"YulFunctionCall","src":"7674:18:2"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7698:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"7706:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7694:3:2"},"nodeType":"YulFunctionCall","src":"7694:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7667:6:2"},"nodeType":"YulFunctionCall","src":"7667:43:2"},"nodeType":"YulExpressionStatement","src":"7667:43:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7730:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7741:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7726:3:2"},"nodeType":"YulFunctionCall","src":"7726:18:2"},{"name":"value2","nodeType":"YulIdentifier","src":"7746:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7719:6:2"},"nodeType":"YulFunctionCall","src":"7719:34:2"},"nodeType":"YulExpressionStatement","src":"7719:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7773:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7784:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7769:3:2"},"nodeType":"YulFunctionCall","src":"7769:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"7789:3:2","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7762:6:2"},"nodeType":"YulFunctionCall","src":"7762:31:2"},"nodeType":"YulExpressionStatement","src":"7762:31:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7813:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7824:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7809:3:2"},"nodeType":"YulFunctionCall","src":"7809:19:2"},{"name":"value4","nodeType":"YulIdentifier","src":"7830:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7802:6:2"},"nodeType":"YulFunctionCall","src":"7802:35:2"},"nodeType":"YulExpressionStatement","src":"7802:35:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7863:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7874:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7859:3:2"},"nodeType":"YulFunctionCall","src":"7859:19:2"},{"name":"value3","nodeType":"YulIdentifier","src":"7880:6:2"},{"name":"value4","nodeType":"YulIdentifier","src":"7888:6:2"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"7846:12:2"},"nodeType":"YulFunctionCall","src":"7846:49:2"},"nodeType":"YulExpressionStatement","src":"7846:49:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7919:9:2"},{"name":"value4","nodeType":"YulIdentifier","src":"7930:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7915:3:2"},"nodeType":"YulFunctionCall","src":"7915:22:2"},{"kind":"number","nodeType":"YulLiteral","src":"7939:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7911:3:2"},"nodeType":"YulFunctionCall","src":"7911:32:2"},{"kind":"number","nodeType":"YulLiteral","src":"7945:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7904:6:2"},"nodeType":"YulFunctionCall","src":"7904:43:2"},"nodeType":"YulExpressionStatement","src":"7904:43:2"},{"nodeType":"YulAssignment","src":"7956:63:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7972:9:2"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"7991:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"7999:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7987:3:2"},"nodeType":"YulFunctionCall","src":"7987:15:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8008:2:2","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8004:3:2"},"nodeType":"YulFunctionCall","src":"8004:7:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7983:3:2"},"nodeType":"YulFunctionCall","src":"7983:29:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7968:3:2"},"nodeType":"YulFunctionCall","src":"7968:45:2"},{"kind":"number","nodeType":"YulLiteral","src":"8015:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7964:3:2"},"nodeType":"YulFunctionCall","src":"7964:55:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7956:4:2"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7513:9:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7524:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7532:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7540:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7548:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7556:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7567:4:2","type":""}],"src":"7363:662:2"},{"body":{"nodeType":"YulBlock","src":"8204:164:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8221:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"8232:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8214:6:2"},"nodeType":"YulFunctionCall","src":"8214:21:2"},"nodeType":"YulExpressionStatement","src":"8214:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8255:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"8266:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8251:3:2"},"nodeType":"YulFunctionCall","src":"8251:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"8271:2:2","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8244:6:2"},"nodeType":"YulFunctionCall","src":"8244:30:2"},"nodeType":"YulExpressionStatement","src":"8244:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8294:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"8305:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8290:3:2"},"nodeType":"YulFunctionCall","src":"8290:18:2"},{"hexValue":"414c52454144595f4d494e544544","kind":"string","nodeType":"YulLiteral","src":"8310:16:2","type":"","value":"ALREADY_MINTED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8283:6:2"},"nodeType":"YulFunctionCall","src":"8283:44:2"},"nodeType":"YulExpressionStatement","src":"8283:44:2"},{"nodeType":"YulAssignment","src":"8336:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8348:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"8359:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8344:3:2"},"nodeType":"YulFunctionCall","src":"8344:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8336:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8181:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8195:4:2","type":""}],"src":"8030:338:2"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value3 := add(_2, 32)\n value4 := length\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"NOT_AUTHORIZED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"WRONG_FROM\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"INVALID_RECIPIENT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n mstore(add(headStart, 128), 0)\n tail := add(headStart, 160)\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"UNSAFE_RECIPIENT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"NOT_MINTED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 12)\n mstore(add(headStart, 64), \"ZERO_ADDRESS\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n mstore(add(headStart, 128), value4)\n calldatacopy(add(headStart, 160), value3, value4)\n mstore(add(add(headStart, value4), 160), 0)\n tail := add(add(headStart, and(add(value4, 31), not(31))), 160)\n }\n function abi_encode_tuple_t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"ALREADY_MINTED\")\n tail := add(headStart, 96)\n }\n}","id":2,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101f7578063b88d4fde1461020a578063c87b56dd1461021d578063e985e9c51461024e57600080fd5b80636352211e146101bb57806370a08231146101ce57806395d89b41146101ef57600080fd5b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018257806340c10f191461019557806342842e0e146101a857600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610a56565b61027c565b60405190151581526020015b60405180910390f35b61011f6102ce565b60405161010e9190610a7a565b61015561013a366004610ac8565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b61018061017b366004610af8565b61035c565b005b610180610190366004610b22565b610443565b6101026101a3366004610af8565b61060a565b6101806101b6366004610b22565b61061f565b6101556101c9366004610ac8565b610717565b6101e16101dc366004610b5e565b61076e565b60405190815260200161010e565b61011f6107d1565b610180610205366004610b79565b6107de565b610180610218366004610bb5565b61084a565b61011f61022b366004610ac8565b50604080518082019091526008815267746f6b656e55524960c01b602082015290565b61010261025c366004610c50565b600560209081526000928352604080842090915290825290205460ff1681565b60006301ffc9a760e01b6001600160e01b0319831614806102ad57506380ac58cd60e01b6001600160e01b03198316145b806102c85750635b5e139f60e01b6001600160e01b03198316145b92915050565b600080546102db90610c83565b80601f016020809104026020016040519081016040528092919081815260200182805461030790610c83565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b505050505081565b6000818152600260205260409020546001600160a01b0316338114806103a557506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6103e75760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b038481169116146104995760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016103de565b6001600160a01b0382166104e35760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016103de565b336001600160a01b038416148061051d57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b8061053e57506000818152600460205260409020546001600160a01b031633145b61057b5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016103de565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006106168383610932565b50600192915050565b61062a838383610443565b6001600160a01b0382163b15806106d35750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af11580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c79190610cbd565b6001600160e01b031916145b6107125760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016103de565b505050565b6000818152600260205260409020546001600160a01b0316806107695760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016103de565b919050565b60006001600160a01b0382166107b55760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016103de565b506001600160a01b031660009081526003602052604090205490565b600180546102db90610c83565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610855858585610443565b6001600160a01b0384163b15806108ec5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a029061089d9033908a90899089908990600401610cda565b6020604051808303816000875af11580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e09190610cbd565b6001600160e01b031916145b61092b5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b60448201526064016103de565b5050505050565b6001600160a01b03821661097c5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016103de565b6000818152600260205260409020546001600160a01b0316156109d25760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016103de565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610a5357600080fd5b50565b600060208284031215610a6857600080fd5b8135610a7381610a3d565b9392505050565b600060208083528351808285015260005b81811015610aa757858101830151858201604001528201610a8b565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610ada57600080fd5b5035919050565b80356001600160a01b038116811461076957600080fd5b60008060408385031215610b0b57600080fd5b610b1483610ae1565b946020939093013593505050565b600080600060608486031215610b3757600080fd5b610b4084610ae1565b9250610b4e60208501610ae1565b9150604084013590509250925092565b600060208284031215610b7057600080fd5b610a7382610ae1565b60008060408385031215610b8c57600080fd5b610b9583610ae1565b915060208301358015158114610baa57600080fd5b809150509250929050565b600080600080600060808688031215610bcd57600080fd5b610bd686610ae1565b9450610be460208701610ae1565b935060408601359250606086013567ffffffffffffffff80821115610c0857600080fd5b818801915088601f830112610c1c57600080fd5b813581811115610c2b57600080fd5b896020828501011115610c3d57600080fd5b9699959850939650602001949392505050565b60008060408385031215610c6357600080fd5b610c6c83610ae1565b9150610c7a60208401610ae1565b90509250929050565b600181811c90821680610c9757607f821691505b602082108103610cb757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610ccf57600080fd5b8151610a7381610a3d565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea2646970667358221220bd70f413becbe429ed91e22d655a0368bde19f3b938e121d8bd4ac9b7cac22dd64736f6c63430008110033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x20A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x24E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xA56 JUMP JUMPDEST PUSH2 0x27C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x2CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xA7A JUMP JUMPDEST PUSH2 0x155 PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x180 PUSH2 0x17B CALLDATASIZE PUSH1 0x4 PUSH2 0xAF8 JUMP JUMPDEST PUSH2 0x35C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0xB22 JUMP JUMPDEST PUSH2 0x443 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x1A3 CALLDATASIZE PUSH1 0x4 PUSH2 0xAF8 JUMP JUMPDEST PUSH2 0x60A JUMP JUMPDEST PUSH2 0x180 PUSH2 0x1B6 CALLDATASIZE PUSH1 0x4 PUSH2 0xB22 JUMP JUMPDEST PUSH2 0x61F JUMP JUMPDEST PUSH2 0x155 PUSH2 0x1C9 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST PUSH2 0x717 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0xB5E JUMP JUMPDEST PUSH2 0x76E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x180 PUSH2 0x205 CALLDATASIZE PUSH1 0x4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0x7DE JUMP JUMPDEST PUSH2 0x180 PUSH2 0x218 CALLDATASIZE PUSH1 0x4 PUSH2 0xBB5 JUMP JUMPDEST PUSH2 0x84A JUMP JUMPDEST PUSH2 0x11F PUSH2 0x22B CALLDATASIZE PUSH1 0x4 PUSH2 0xAC8 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x8 DUP2 MSTORE PUSH8 0x746F6B656E555249 PUSH1 0xC0 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0xC50 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ DUP1 PUSH2 0x2AD JUMPI POP PUSH4 0x80AC58CD PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST DUP1 PUSH2 0x2C8 JUMPI POP PUSH4 0x5B5E139F PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x2DB SWAP1 PUSH2 0xC83 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0xC83 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP2 EQ DUP1 PUSH2 0x3A5 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST PUSH2 0x3E7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1393D517D055551213D492569151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 AND EQ PUSH2 0x499 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x57524F4E475F46524F4D PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1253959053125117D49150D25412515395 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EQ DUP1 PUSH2 0x51D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x53E JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ JUMPDEST PUSH2 0x57B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1393D517D055551213D492569151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP4 DUP7 AND DUP1 DUP4 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP6 DUP4 MSTORE PUSH1 0x2 DUP3 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP4 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP1 SWAP2 SSTORE SWAP3 MLOAD DUP5 SWAP4 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x616 DUP4 DUP4 PUSH2 0x932 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x62A DUP4 DUP4 DUP4 PUSH2 0x443 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE ISZERO DUP1 PUSH2 0x6D3 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP1 DUP3 MSTORE CALLER PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x64 DUP5 ADD MSTORE PUSH1 0x0 PUSH1 0x84 DUP5 ADD MSTORE SWAP1 SWAP2 SWAP1 DUP5 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH1 0xA4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0xCBD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ JUMPDEST PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x155394D0519157D49150D25412515395 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x769 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x1393D517D35253951151 PUSH1 0xB2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x5A45524F5F41444452455353 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x2DB SWAP1 PUSH2 0xC83 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x855 DUP6 DUP6 DUP6 PUSH2 0x443 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO DUP1 PUSH2 0x8EC JUMPI POP PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP1 DUP3 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x89D SWAP1 CALLER SWAP1 DUP11 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0xCDA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x8BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8E0 SWAP2 SWAP1 PUSH2 0xCBD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND EQ JUMPDEST PUSH2 0x92B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x155394D0519157D49150D25412515395 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x97C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1253959053125117D49150D25412515395 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x9D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1053149150511657D35253951151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xA53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xA73 DUP2 PUSH2 0xA3D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xAA7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xA8B JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xADA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB14 DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xB37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB40 DUP5 PUSH2 0xAE1 JUMP JUMPDEST SWAP3 POP PUSH2 0xB4E PUSH1 0x20 DUP6 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA73 DUP3 PUSH2 0xAE1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB95 DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xBAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xBCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBD6 DUP7 PUSH2 0xAE1 JUMP JUMPDEST SWAP5 POP PUSH2 0xBE4 PUSH1 0x20 DUP8 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xC1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xC2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC63 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6C DUP4 PUSH2 0xAE1 JUMP JUMPDEST SWAP2 POP PUSH2 0xC7A PUSH1 0x20 DUP5 ADD PUSH2 0xAE1 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xC97 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xCB7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xA73 DUP2 PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE DUP6 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 DUP3 DUP5 PUSH1 0xA0 DUP5 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0xA0 DUP5 DUP5 ADD ADD MSTORE PUSH1 0xA0 PUSH1 0x1F NOT PUSH1 0x1F DUP6 ADD AND DUP4 ADD ADD SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD PUSH17 0xF413BECBE429ED91E22D655A0368BDE19F EXTCODESIZE SWAP4 DUP15 SLT SAR DUP12 0xD4 0xAC SWAP12 PUSH29 0xAC22DD64736F6C63430008110033000000000000000000000000000000 ","sourceMap":"164:292:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4711:335:0;;;;;;:::i;:::-;;:::i;:::-;;;565:14:2;;558:22;540:41;;528:2;513:18;4711:335:0;;;;;;;;896:18;;;:::i;:::-;;;;;;;:::i;1841:46::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1841:46:0;;;;;;-1:-1:-1;;;;;1494:32:2;;;1476:51;;1464:2;1449:18;1841:46:0;1330:203:2;2450:282:0;;;;;;:::i;:::-;;:::i;:::-;;2947:741;;;;;;:::i;:::-;;:::i;221:121:1:-;;;;;;:::i;:::-;;:::i;3694:396:0:-;;;;;;:::i;:::-;;:::i;1324:149::-;;;;;;:::i;:::-;;:::i;1479:168::-;;;;;;:::i;:::-;;:::i;:::-;;;2645:25:2;;;2633:2;2618:18;1479:168:0;2499:177:2;921:20:0;;;:::i;2738:203::-;;;;;;:::i;:::-;;:::i;4096:427::-;;;;;;:::i;:::-;;:::i;348:106:1:-;;;;;;:::i;:::-;-1:-1:-1;430:17:1;;;;;;;;;;;;-1:-1:-1;;;430:17:1;;;;;348:106;1894:68:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4711:335;4787:4;-1:-1:-1;;;;;;;;;4822:25:0;;;;:100;;-1:-1:-1;;;;;;;;;;4897:25:0;;;4822:100;:175;;;-1:-1:-1;;;;;;;;;;4972:25:0;;;4822:175;4803:194;4711:335;-1:-1:-1;;4711:335:0:o;896:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2450:282::-;2521:13;2537:12;;;:8;:12;;;;;;-1:-1:-1;;;;;2537:12:0;2568:10;:19;;;:58;;-1:-1:-1;;;;;;2591:23:0;;;;;;:16;:23;;;;;;;;2615:10;2591:35;;;;;;;;;;2568:58;2560:85;;;;-1:-1:-1;;;2560:85:0;;4698:2:2;2560:85:0;;;4680:21:2;4737:2;4717:18;;;4710:30;-1:-1:-1;;;4756:18:2;;;4749:44;4810:18;;2560:85:0;;;;;;;;;2656:15;;;;:11;:15;;;;;;:25;;-1:-1:-1;;;;;;2656:25:0;-1:-1:-1;;;;;2656:25:0;;;;;;;;;2697:28;;2656:15;;2697:28;;;;;;;2511:221;2450:282;;:::o;2947:741::-;3078:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;3070:20:0;;;3078:12;;3070:20;3062:43;;;;-1:-1:-1;;;3062:43:0;;5041:2:2;3062:43:0;;;5023:21:2;5080:2;5060:18;;;5053:30;-1:-1:-1;;;5099:18:2;;;5092:40;5149:18;;3062:43:0;4839:334:2;3062:43:0;-1:-1:-1;;;;;3124:16:0;;3116:46;;;;-1:-1:-1;;;3116:46:0;;5380:2:2;3116:46:0;;;5362:21:2;5419:2;5399:18;;;5392:30;-1:-1:-1;;;5438:18:2;;;5431:47;5495:18;;3116:46:0;5178:341:2;3116:46:0;3194:10;-1:-1:-1;;;;;3194:18:0;;;;:56;;-1:-1:-1;;;;;;3216:22:0;;;;;;:16;:22;;;;;;;;3239:10;3216:34;;;;;;;;;;3194:56;:89;;;-1:-1:-1;3268:15:0;;;;:11;:15;;;;;;-1:-1:-1;;;;;3268:15:0;3254:10;:29;3194:89;3173:150;;;;-1:-1:-1;;;3173:150:0;;4698:2:2;3173:150:0;;;4680:21:2;4737:2;4717:18;;;4710:30;-1:-1:-1;;;4756:18:2;;;4749:44;4810:18;;3173:150:0;4496:338:2;3173:150:0;-1:-1:-1;;;;;3523:16:0;;;;;;;:10;:16;;;;;;;;:18;;-1:-1:-1;;3523:18:0;;;3556:14;;;;;;;;;:16;;3523:18;3556:16;;;3593:12;;;:8;:12;;;;;:17;;-1:-1:-1;;;;;;3593:17:0;;;;;;;;3628:11;:15;;;;;;3621:22;;;;;;;;3659;;3602:2;;3556:14;3523:16;3659:22;;;2947:741;;;:::o;221:121:1:-;280:4;296:18;302:2;306:7;296:5;:18::i;:::-;-1:-1:-1;331:4:1;221:121;;;;:::o;3694:396:0:-;3813:26;3826:4;3832:2;3836;3813:12;:26::i;:::-;-1:-1:-1;;;;;3871:14:0;;;:19;;:170;;-1:-1:-1;3910:66:0;;-1:-1:-1;;;3910:66:0;;;3951:10;3910:66;;;5829:34:2;-1:-1:-1;;;;;5899:15:2;;;5879:18;;;5872:43;5931:18;;;5924:34;;;5994:3;5974:18;;;5967:31;-1:-1:-1;6014:19:2;;;6007:30;3996:45:0;;3910:40;;;;3996:45;;6054:19:2;;3910:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3910:131:0;;3871:170;3850:233;;;;-1:-1:-1;;;3850:233:0;;6540:2:2;3850:233:0;;;6522:21:2;6579:2;6559:18;;;6552:30;-1:-1:-1;;;6598:18:2;;;6591:46;6654:18;;3850:233:0;6338:340:2;3850:233:0;3694:396;;;:::o;1324:149::-;1382:13;1424:12;;;:8;:12;;;;;;-1:-1:-1;;;;;1424:12:0;;1407:59;;;;-1:-1:-1;;;1407:59:0;;6885:2:2;1407:59:0;;;6867:21:2;6924:2;6904:18;;;6897:30;-1:-1:-1;;;6943:18:2;;;6936:40;6993:18;;1407:59:0;6683:334:2;1407:59:0;1324:149;;;:::o;1479:168::-;1542:7;-1:-1:-1;;;;;1569:19:0;;1561:44;;;;-1:-1:-1;;;1561:44:0;;7224:2:2;1561:44:0;;;7206:21:2;7263:2;7243:18;;;7236:30;-1:-1:-1;;;7282:18:2;;;7275:42;7334:18;;1561:44:0;7022:336:2;1561:44:0;-1:-1:-1;;;;;;1623:17:0;;;;;:10;:17;;;;;;;1479:168::o;921:20::-;;;;;;;:::i;2738:203::-;2840:10;2823:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;2823:38:0;;;;;;;;;;;;:49;;-1:-1:-1;;2823:49:0;;;;;;;;;;2888:46;;540:41:2;;;2823:38:0;;2840:10;2888:46;;513:18:2;2888:46:0;;;;;;;2738:203;;:::o;4096:427::-;4244:26;4257:4;4263:2;4267;4244:12;:26::i;:::-;-1:-1:-1;;;;;4302:14:0;;;:19;;:172;;-1:-1:-1;4341:68:0;;-1:-1:-1;;;4341:68:0;;;4429:45;-1:-1:-1;;;;;4341:40:0;;;4429:45;;4341:68;;4382:10;;4394:4;;4400:2;;4404:4;;;;4341:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4341:133:0;;4302:172;4281:235;;;;-1:-1:-1;;;4281:235:0;;6540:2:2;4281:235:0;;;6522:21:2;6579:2;6559:18;;;6552:30;-1:-1:-1;;;6598:18:2;;;6591:46;6654:18;;4281:235:0;6338:340:2;4281:235:0;4096:427;;;;;:::o;5240:371::-;-1:-1:-1;;;;;5314:16:0;;5306:46;;;;-1:-1:-1;;;5306:46:0;;5380:2:2;5306:46:0;;;5362:21:2;5419:2;5399:18;;;5392:30;-1:-1:-1;;;5438:18:2;;;5431:47;5495:18;;5306:46:0;5178:341:2;5306:46:0;5395:1;5371:12;;;:8;:12;;;;;;-1:-1:-1;;;;;5371:12:0;:26;5363:53;;;;-1:-1:-1;;;5363:53:0;;8232:2:2;5363:53:0;;;8214:21:2;8271:2;8251:18;;;8244:30;-1:-1:-1;;;8290:18:2;;;8283:44;8344:18;;5363:53:0;8030:338:2;5363:53:0;-1:-1:-1;;;;;5506:14:0;;;;;;:10;:14;;;;;;;;:16;;;;;;5543:12;;;:8;:12;;;;;;:17;;-1:-1:-1;;;;;;5543:17:0;;;;;5576:28;5552:2;;5506:14;;5576:28;;5506:14;;5576:28;5240:371;;:::o;14:131:2:-;-1:-1:-1;;;;;;88:32:2;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:2:o;592:548::-;704:4;733:2;762;751:9;744:21;794:6;788:13;837:6;832:2;821:9;817:18;810:34;862:1;872:140;886:6;883:1;880:13;872:140;;;981:14;;;977:23;;971:30;947:17;;;966:2;943:26;936:66;901:10;;872:140;;;876:3;1061:1;1056:2;1047:6;1036:9;1032:22;1028:31;1021:42;1131:2;1124;1120:7;1115:2;1107:6;1103:15;1099:29;1088:9;1084:45;1080:54;1072:62;;;;592:548;;;;:::o;1145:180::-;1204:6;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;-1:-1:-1;1296:23:2;;1145:180;-1:-1:-1;1145:180:2:o;1538:173::-;1606:20;;-1:-1:-1;;;;;1655:31:2;;1645:42;;1635:70;;1701:1;1698;1691:12;1716:254;1784:6;1792;1845:2;1833:9;1824:7;1820:23;1816:32;1813:52;;;1861:1;1858;1851:12;1813:52;1884:29;1903:9;1884:29;:::i;:::-;1874:39;1960:2;1945:18;;;;1932:32;;-1:-1:-1;;;1716:254:2:o;1975:328::-;2052:6;2060;2068;2121:2;2109:9;2100:7;2096:23;2092:32;2089:52;;;2137:1;2134;2127:12;2089:52;2160:29;2179:9;2160:29;:::i;:::-;2150:39;;2208:38;2242:2;2231:9;2227:18;2208:38;:::i;:::-;2198:48;;2293:2;2282:9;2278:18;2265:32;2255:42;;1975:328;;;;;:::o;2308:186::-;2367:6;2420:2;2408:9;2399:7;2395:23;2391:32;2388:52;;;2436:1;2433;2426:12;2388:52;2459:29;2478:9;2459:29;:::i;2681:347::-;2746:6;2754;2807:2;2795:9;2786:7;2782:23;2778:32;2775:52;;;2823:1;2820;2813:12;2775:52;2846:29;2865:9;2846:29;:::i;:::-;2836:39;;2925:2;2914:9;2910:18;2897:32;2972:5;2965:13;2958:21;2951:5;2948:32;2938:60;;2994:1;2991;2984:12;2938:60;3017:5;3007:15;;;2681:347;;;;;:::o;3033:808::-;3130:6;3138;3146;3154;3162;3215:3;3203:9;3194:7;3190:23;3186:33;3183:53;;;3232:1;3229;3222:12;3183:53;3255:29;3274:9;3255:29;:::i;:::-;3245:39;;3303:38;3337:2;3326:9;3322:18;3303:38;:::i;:::-;3293:48;;3388:2;3377:9;3373:18;3360:32;3350:42;;3443:2;3432:9;3428:18;3415:32;3466:18;3507:2;3499:6;3496:14;3493:34;;;3523:1;3520;3513:12;3493:34;3561:6;3550:9;3546:22;3536:32;;3606:7;3599:4;3595:2;3591:13;3587:27;3577:55;;3628:1;3625;3618:12;3577:55;3668:2;3655:16;3694:2;3686:6;3683:14;3680:34;;;3710:1;3707;3700:12;3680:34;3755:7;3750:2;3741:6;3737:2;3733:15;3729:24;3726:37;3723:57;;;3776:1;3773;3766:12;3723:57;3033:808;;;;-1:-1:-1;3033:808:2;;-1:-1:-1;3807:2:2;3799:11;;3829:6;3033:808;-1:-1:-1;;;3033:808:2:o;3846:260::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4014:29;4033:9;4014:29;:::i;:::-;4004:39;;4062:38;4096:2;4085:9;4081:18;4062:38;:::i;:::-;4052:48;;3846:260;;;;;:::o;4111:380::-;4190:1;4186:12;;;;4233;;;4254:61;;4308:4;4300:6;4296:17;4286:27;;4254:61;4361:2;4353:6;4350:14;4330:18;4327:38;4324:161;;4407:10;4402:3;4398:20;4395:1;4388:31;4442:4;4439:1;4432:15;4470:4;4467:1;4460:15;4324:161;;4111:380;;;:::o;6084:249::-;6153:6;6206:2;6194:9;6185:7;6181:23;6177:32;6174:52;;;6222:1;6219;6212:12;6174:52;6254:9;6248:16;6273:30;6297:5;6273:30;:::i;7363:662::-;-1:-1:-1;;;;;7642:15:2;;;7624:34;;7694:15;;7689:2;7674:18;;7667:43;7741:2;7726:18;;7719:34;;;7789:3;7784:2;7769:18;;7762:31;;;7809:19;;7802:35;;;7567:4;7830:6;7880;7604:3;7859:19;;7846:49;7945:1;7939:3;7930:6;7919:9;7915:22;7911:32;7904:43;8015:3;8008:2;8004:7;7999:2;7991:6;7987:15;7983:29;7972:9;7968:45;7964:55;7956:63;;7363:662;;;;;;;;:::o"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","mint(address,uint256)":"40c10f19","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/test/TestERC721.sol\":\"TestERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@rari-capital/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0xb59c7c25eca386f39da4819a9f70f89b73b7583d5f5127a83ffe5339800b1183\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://021348d61659d6f47fb650536c22665e15e17b1bc8f70ecfb6853a2564a21377\",\"dweb:/ipfs/QmcyMXAY26Xr4VibkJhXFJP2oviZC5JNJbUL9yueJYYXxM\"]},\"src/contracts/test/TestERC721.sol\":{\"keccak256\":\"0x19f61568a46260009b21aa10c99ae70104b417e1200b65bdafddd46218887e31\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://6b3a8b29e45b02d9a91f4f4a6e6e01cbaa2bcb768f5a8b48d0c23cf7a41820a5\",\"dweb:/ipfs/QmcZn5wY4AAWzqkzrqgpRUDDNB76DiyWMuQua547uVoTbo\"]}},\"version\":1}"}}}}}
|